*{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/sarabun-thai-400.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/sarabun-thai-700.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/hanken-grotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0302,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600 700;font-display:swap;src:url(../fonts/cormorant-garamond-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0302,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg1: #1f0b0a;--bg2: #2a0e0c;--card: #2e100e;--card-solid: #33120f;--gold: #d9b45a;--gold-deep: #b8913a;--on-gold: #2a1606;--pink: #ef6fa6;--teal: #7fd1c1;--on-teal: #10202a;--good: #4cbf7a;--bad: #ff6b5e;--text: #f6ead2;--muted: #d0b894;--faint: #8a6e58;--line: #4a2a1e;--line-strong: #6b4a2a;--warm: #ef6fa6;--fg: 255 240 215;--drive-bg: #102a2b;--drive-ink: #7fd1c1;--drive-sub: #b9d3cd;--raise: rgb(255 240 215 / .07);--raise-line: rgb(255 240 215 / .16);--font-display: "Cormorant Garamond", "Sarabun", Georgia, serif;font-size:17px}@media(prefers-color-scheme:light){:root{color-scheme:light;--bg1: #f7f2e8;--bg2: #f6dcc6;--card: #ffffff;--card-solid: #ffffff;--gold: #1e4f8f;--gold-deep: #153a6b;--on-gold: #ffffff;--pink: #c2386f;--teal: #0f6e63;--on-teal: #ffffff;--good: #1e8a4c;--bad: #c8372d;--text: #1d2433;--muted: #5a6275;--faint: #9a927f;--line: #e3dccd;--line-strong: #cfc6b4;--warm: #b5532e;--fg: 29 36 51;--drive-bg: #173f73;--drive-ink: #f6dcc6;--drive-sub: #d5e0f0;--raise: #ffffff;--raise-line: #ddd4c2}}body{font-family:Sarabun,Hanken Grotesk,-apple-system,Helvetica Neue,Thonburi,Noto Sans Thai,sans-serif;background:var(--bg1);min-height:100vh;color:var(--text);font-variant-numeric:lining-nums}main{max-width:480px;margin:0 auto;padding:12px 16px 48px}.hidden{display:none!important}.banner{background:#5c2b2b;color:#ffd9d9;padding:10px 16px;font-size:.85rem;text-align:center}#topbar{max-width:480px;margin:0 auto;padding:14px 16px 4px;display:flex;align-items:center;gap:14px}.stat{font-family:var(--font-display);font-weight:700;font-size:1.3rem;white-space:nowrap}.levelwrap{flex:1}.leveltitle{font-size:.75rem;color:var(--muted);text-align:center;margin-bottom:3px}.xpbar{height:8px;border-radius:4px;background:rgb(var(--fg) / .12);overflow:hidden}#xpFill{height:100%;width:0%;border-radius:4px;background:var(--gold);transition:width .6s ease}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;margin:12px 0}.cardtitle{font-family:var(--font-display);font-size:1.3rem;font-weight:700;line-height:1.2;margin-bottom:10px;color:var(--gold)}.card a{color:var(--teal)}.hero{text-align:center}.hero-hello{font-family:var(--font-display);font-size:2.3rem;font-weight:700;line-height:1.1;color:var(--gold);cursor:pointer;margin-bottom:6px}.countdown{color:var(--text);font-size:1.05rem;margin-bottom:10px}.countdown.muted{color:var(--muted);margin-bottom:0}.tripbar{height:6px;border-radius:3px;background:rgb(var(--fg) / .12);overflow:hidden}#tripFill{height:100%;background:var(--teal);border-radius:3px}.statsrow{display:flex;justify-content:space-between;padding:12px 8px}.ministat{text-align:center;flex:1}.ministat b{display:block;font-size:1.3rem;color:var(--gold)}.ministat span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.bigbtn{display:block;width:100%;padding:16px;margin:10px 0;border:none;border-radius:16px;cursor:pointer;font-size:1.15rem;font-weight:700;color:var(--text);background:var(--raise);box-shadow:inset 0 0 0 1px var(--raise-line);font-family:inherit;transition:transform .1s}.bigbtn:active{transform:scale(.97)}.bigbtn small{display:block;font-weight:400;font-size:.75rem;opacity:.8;margin-top:2px}.bigbtn.primary{background:var(--gold);color:var(--on-gold);box-shadow:none}.bigbtn.tone{box-shadow:none;background:linear-gradient(135deg,#4834d4,#686de0);color:#fff}.bigbtn.alpha{box-shadow:none;background:linear-gradient(135deg,#0e7c6b,#16a085);color:#fff}.bigbtn.drive{box-shadow:none;background:linear-gradient(135deg,#1f5fbf,#2bb3b0);color:#fff}.btnrow{display:flex;gap:10px}.bigbtn.half{flex:1;font-size:1rem}.linkbtn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.95rem;font-family:inherit;padding:8px}.linkbtn.danger{color:var(--bad);font-weight:700}.linkbtn.inline{padding:0;text-decoration:underline}.linkbtn.underline{text-decoration:underline}.actionbtn{display:block;width:100%;background:var(--raise);border:1px solid var(--raise-line);border-radius:14px;color:var(--text);cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;padding:13px 16px;text-align:center;text-decoration:none;transition:transform .1s}.actionbtn:active{transform:scale(.97)}.actionbtn small{display:block;font-weight:400;font-size:.75rem;opacity:.8;margin-top:3px}.actionbtn:disabled{opacity:.55;cursor:default;transform:none}.actionbtn.danger{color:var(--bad);border-color:#ff5e5773;background:#ff5e571a}.actionbtn.quiet{background:none;font-weight:500;color:var(--muted)}.actionrow{display:flex;flex-direction:column;gap:8px;margin-top:12px}.navbtn{background:var(--raise);border:1px solid var(--raise-line);border-radius:999px;color:var(--text);cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;padding:10px 18px;white-space:nowrap;transition:transform .1s}.navbtn:active{transform:scale(.95)}.quizhead{display:flex;align-items:center;gap:10px;margin:8px 0 16px}.progressbar{flex:1;height:10px;border-radius:5px;background:rgb(var(--fg) / .12);overflow:hidden}#quizFill{height:100%;width:0%;border-radius:5px;background:linear-gradient(90deg,var(--teal),var(--good));transition:width .4s ease}.combo{min-width:52px;text-align:right;font-weight:700;color:var(--gold);font-size:.9rem}.prompt-card{text-align:center;padding:26px 18px;margin-bottom:16px;background:var(--card);border:1px solid var(--line);border-radius:18px}.prompt-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.prompt-thai{font-size:2.4rem;font-weight:700;line-height:1.3}.prompt-roman{font-size:1.15rem;color:var(--gold);margin-top:6px}.prompt-en{font-size:1.5rem;font-weight:700}.speakbtn{background:rgb(var(--fg) / .12);border:none;border-radius:50%;width:64px;height:64px;font-size:1.7rem;cursor:pointer;margin-top:10px}.speakbtn:active{transform:scale(.92)}.answers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answers.single{grid-template-columns:1fr}.ansbtn{padding:14px 10px;border:2px solid var(--raise-line);border-radius:14px;background:var(--raise);color:var(--text);cursor:pointer;font-size:1rem;font-family:inherit;line-height:1.35;transition:transform .08s}.ansbtn:active{transform:scale(.97)}.ansbtn .sub{display:block;font-size:.8rem;color:var(--muted)}.ansbtn.correct{background:#2ecc7140;border-color:var(--good)}.ansbtn.wrong{background:#ff5e5740;border-color:var(--bad)}.ansbtn.dim{opacity:.4}.ansbtn:disabled{cursor:default}.feedback{text-align:center;margin-top:14px;min-height:60px}.feedback .fb-word{font-size:1.1rem}.feedback .fb-word b{color:var(--gold)}.nextbtn{margin-top:10px;padding:12px 40px;border:none;border-radius:14px;background:var(--teal);color:var(--on-teal);font-weight:700;font-size:1.05rem;cursor:pointer;font-family:inherit}.gotitbtn{margin-top:16px;padding:14px 44px;border:none;border-radius:14px;background:var(--gold);color:var(--on-gold);font-weight:700;font-size:1.05rem;cursor:pointer;font-family:inherit}.newtag{display:inline-block;background:var(--pink);color:#fff;font-size:.7rem;font-weight:700;padding:2px 10px;border-radius:10px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}.tracebox{display:block;margin:14px auto 0;width:min(288px,100%);aspect-ratio:1;background:rgb(var(--fg) / .05);border:2px dashed rgb(var(--fg) / .18);border-radius:18px;touch-action:none;cursor:crosshair}.tracebtns{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:12px}.tracebtns .linkbtn:disabled{opacity:.4;cursor:default}.checkbtn{padding:12px 36px;border:none;border-radius:14px;background:var(--teal);color:var(--on-teal);font-weight:700;font-size:1.05rem;cursor:pointer;font-family:inherit}.checkbtn:disabled{opacity:.4;cursor:default}.gotitbtn:disabled{opacity:.4;cursor:default}.lessonlist{display:flex;flex-direction:column;gap:8px}.lessonrowwrap{display:flex;align-items:stretch;gap:6px}.lessonrowwrap .lessonrow{flex:1;min-width:0}.lessondrive{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0 10px;border:2px solid var(--raise-line);border-radius:14px;background:var(--raise);font-family:inherit;font-size:1rem;cursor:pointer;opacity:.55}.lessondrive:hover{opacity:1}.lessondrive.driven{opacity:1;border-color:#2ecc7180;background:#2ecc711f}.lessondrivecount{font-size:.62rem;font-weight:700;color:var(--muted)}.lessonrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;border:2px solid var(--raise-line);border-radius:14px;background:var(--raise);color:var(--text);cursor:pointer;font-family:inherit}.lessonrow.upnext{border-color:var(--gold);background:#ffb54714}.lessonrow.complete{opacity:.72}.lessonnum{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;background:rgb(var(--fg) / .1)}.lessonrow.upnext .lessonnum{background:var(--gold);color:var(--on-gold)}.lessonrow.complete .lessonnum{background:#2ecc714d}.lessoninfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.lessontitle{font-weight:600;font-size:.92rem}.lessonglyphs{font-size:1.05rem;color:var(--muted);letter-spacing:.08em}.lessonprog{flex:none;font-weight:700;font-size:.85rem;color:var(--muted)}.lessonrow.complete .lessonprog{color:var(--good)}.clsline{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;font-size:.85rem;color:var(--muted);text-transform:capitalize}.boxline{margin-top:10px;font-size:.85rem;color:var(--muted);letter-spacing:.12em}.tonebtns{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.tonebtn{padding:12px 4px;border:2px solid var(--raise-line);border-radius:14px;background:var(--raise);color:var(--text);cursor:pointer;font-family:inherit;text-align:center}.tonebtn .arrow{display:block;font-size:1.5rem}.tonebtn .tname{font-size:.7rem;color:var(--muted)}.tonebtn .tsay{display:block;margin-top:4px;font-size:.65rem;font-weight:700;color:var(--gold);line-height:1.2;overflow-wrap:anywhere}.tonebtn.correct{background:#2ecc7140;border-color:var(--good)}.tonebtn.wrong{background:#ff5e5740;border-color:var(--bad)}.tbar-row{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:.85rem}.tbar-row .tlab{width:70px;color:var(--muted)}.tbar{flex:1;height:10px;border-radius:5px;background:rgb(var(--fg) / .1);overflow:hidden}.tbar>div{height:100%;border-radius:5px;background:linear-gradient(90deg,#686de0,var(--teal))}.tbar-row .tpct{width:44px;text-align:right;font-weight:700}.resultcard{text-align:center;padding:30px 20px}.result-emoji{font-size:3.5rem}.resultcard h2{font-family:var(--font-display);font-size:2rem;margin:8px 0 18px}.resultstats{display:flex;justify-content:space-around;margin-bottom:16px}.resultstats b{display:block;font-family:var(--font-display);font-size:1.9rem;color:var(--gold)}.resultstats span{font-size:.75rem;color:var(--muted);text-transform:uppercase}.resultmsg{color:var(--muted);margin-bottom:10px;min-height:24px}#pbSearch{flex:1;padding:9px 14px;border-radius:12px;border:1px solid var(--raise-line);background:var(--raise);color:var(--text);font-family:inherit;font-size:.95rem}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chip{padding:6px 12px;border-radius:20px;border:1px solid var(--raise-line);background:var(--raise);color:var(--muted);cursor:pointer;font-size:.8rem;font-family:inherit}.chip.active{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}.pbrow{display:flex;align-items:center;gap:12px;padding:10px 14px;margin:6px 0;background:var(--card);border-radius:14px;cursor:pointer;border:1px solid rgb(var(--fg) / .06)}.pbrow:active{background:rgb(var(--fg) / .12)}.pbrow .pth{font-size:1.25rem;font-weight:700}.pbrow .pro{color:var(--gold);font-size:.85rem}.pbrow .pen{margin-left:auto;text-align:right;color:var(--muted);font-size:.85rem;max-width:45%}.pbrow .mastered-dot{color:var(--good)}.setrow{display:flex;justify-content:space-between;align-items:center;padding:10px 0;gap:12px;font-size:.95rem}.setlabel{flex:1;display:flex;flex-direction:column;gap:2px}.setlabel small{font-size:.75rem;color:var(--muted);line-height:1.35}.setrow select,.setrow input[type=range],.setrow input[type=date]{flex:none;max-width:46%;font-family:inherit;font-size:.9rem;padding:6px 8px;border-radius:10px;border:1px solid rgb(var(--fg) / .2);background:var(--card-solid);color:var(--text)}.setrow.speedrow{flex-direction:column;align-items:stretch}.speedctl{display:flex;flex-direction:column;gap:6px}.speedhead{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.speedval{font-weight:700;font-variant-numeric:tabular-nums}.speedcaption{font-size:.75rem;color:var(--muted)}.speedreset{margin-left:auto;padding:0;border:0;background:none;font:inherit;font-size:.75rem;color:var(--muted);text-decoration:underline;cursor:pointer}.speedtrack{display:flex;align-items:center;gap:8px}.speedtrack input[type=range]{flex:1;max-width:none}.speedend{font-size:.75rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.legend{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted);margin-left:auto}.clsdot{width:10px;height:10px;border-radius:50%;display:inline-block}.clsdot.mid{background:var(--gold)}.clsdot.high{background:var(--pink)}.clsdot.low{background:var(--teal)}.lettergrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.lcell{text-align:center;padding:10px 4px;border-radius:12px;cursor:pointer;background:var(--raise);border-top:3px solid transparent}.lcell:active{background:rgb(var(--fg) / .14)}.lcell.mid{border-top-color:var(--gold)}.lcell.high{border-top-color:var(--pink)}.lcell.low{border-top-color:var(--teal)}.lcell.vowel{border-top-color:#a29bfe}.lcell.obs{opacity:.35}.lcell.done{box-shadow:inset 0 0 0 1px var(--good)}.lch{font-size:1.9rem;font-weight:700;line-height:1.2}.lemoji{font-size:.95rem}.lro{font-size:.68rem;color:var(--gold);margin-top:2px}.len{font-size:.62rem;color:var(--muted)}.answers.glyphs .ansbtn.glyph{font-size:2.2rem;font-weight:700;padding:10px}.speakbtn.slow{width:48px;height:48px;font-size:1.2rem;margin-left:8px}.hint{font-size:.8rem;color:var(--muted);margin-top:10px;line-height:1.5}.authform{display:flex;flex-direction:column;gap:10px}.authform input{padding:12px 14px;border-radius:12px;border:1px solid rgb(var(--fg) / .2);background:var(--raise);color:var(--text);font-family:inherit;font-size:1rem}.authform input:focus{outline:2px solid var(--gold-deep)}.autherror{color:var(--bad);font-size:.85rem;text-align:center}.footer{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:18px;color:var(--muted);font-size:.85rem}.footer .linkbtn{font-size:.85rem;text-decoration:none}.footer a.linkbtn:hover,.footer button.linkbtn:hover{color:var(--text)}.confetti{position:fixed;top:-40px;font-size:1.6rem;pointer-events:none;z-index:99;animation:fall linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(360deg);opacity:.6}}@media(max-width:400px){.prompt-thai{font-size:2rem}.answers{grid-template-columns:1fr}}.todaybtn:disabled{opacity:.55;cursor:default}.todaybtn small{white-space:normal}.resumerow{display:flex;justify-content:center;margin:-4px 0 4px}.resumerow .linkbtn{font-size:.85rem}.topicrow .topicemoji,.missionrow .topicemoji{flex:none;width:34px;font-size:1.5rem;text-align:center}.topicdots{font-size:.85rem;color:var(--muted);letter-spacing:.05em}.lessonrow.complete .topicdots{color:var(--good)}.upnexttag{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:10px;background:var(--gold);color:var(--on-gold);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;vertical-align:middle}.lessonwords{font-size:.78rem;color:var(--muted);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.topicstats{display:flex;justify-content:center;gap:18px;margin-top:10px;font-size:.85rem;color:var(--muted)}.topicstats b{color:var(--gold)}.readybar{display:block;width:100%;background:none;border:none;color:var(--text);font-family:inherit;font-size:.9rem;cursor:pointer;padding:4px 0 0}.readylabel{display:block;margin-bottom:6px}.readylabel b{color:var(--gold)}.readybar .tripbar,.readybar #tripFill{display:block}.readylist{list-style:none;margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;text-align:left;font-size:.8rem;color:var(--muted)}.readylist li.ok{color:var(--good)}.trickytag{display:inline-block;background:#686de059;color:var(--text);font-size:.7rem;font-weight:700;padding:2px 10px;border-radius:10px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}.linkbtn.peek{font-size:.8rem;padding:4px 8px}.feedback .why{margin-top:6px;font-size:.9rem;color:var(--muted)}.feedback .glosses{margin-top:6px;font-size:.8rem;color:var(--muted);line-height:1.6}.feedback .glosses span{white-space:nowrap}.resultsub{color:var(--muted);font-size:.9rem;margin:-10px 0 16px}.bigbtn.sayyes{box-shadow:none;background:linear-gradient(135deg,#1e9c5a,#2ecc71);color:#fff}.bigbtn.sayno{box-shadow:none;background:#ff5e5759}.answerline{min-height:66px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px;margin-bottom:12px;border-bottom:2px dashed rgb(var(--fg) / .2)}.answerline .placeholder{color:var(--muted);font-size:.85rem;padding-left:4px}.answerline.good{border-bottom-color:var(--good)}.answerline.bad{border-bottom-color:var(--bad)}.tiles,.chunkrow{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chunkrow{margin:12px 0 4px}.tile{display:inline-flex;flex-direction:column;align-items:center;padding:8px 12px;border:2px solid var(--raise-line);border-radius:12px;background:var(--raise);color:var(--text);cursor:pointer;font-family:inherit;font-size:1rem;line-height:1.25;transition:transform .08s}.tile:active{transform:scale(.96)}.tile.used{visibility:hidden}.tile.correct{background:#2ecc7140;border-color:var(--good)}.tile.wrong{background:#ff5e5740;border-color:var(--bad)}.tile.info{background:rgb(var(--fg) / .05)}.tile .tro{font-weight:600}.tile .tth{font-size:.85rem;color:var(--muted)}.tile .ten{font-size:.7rem;color:var(--gold)}.tile:disabled{cursor:default}.prompt-thai.cloze{font-size:1.9rem}.cloze .blank{color:var(--gold);border-bottom:2px solid var(--gold)}.missionhead{text-align:center;font-weight:700;margin-bottom:12px}.missionhead small{display:block;font-weight:400;font-size:.75rem;color:var(--muted)}.entoggle{margin-top:8px;padding:4px 12px;border-radius:999px;border:1px solid var(--raise-line);background:var(--raise);color:var(--text);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.entoggle.on{background:#f0932b38;border-color:#f0932b80}.chat{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.bubble{max-width:88%;padding:10px 14px;border-radius:16px;background:var(--raise);border:1px solid var(--raise-line);cursor:pointer}.bubble.them{align-self:flex-start;border-bottom-left-radius:4px}.bubble.you{align-self:flex-end;background:#f0932b38;border-color:#f0932b66;border-bottom-right-radius:4px}.bubble.live{border-color:var(--teal)}.bubble .bth{font-size:1.25rem;font-weight:700}.bubble .bro{color:var(--gold);font-size:.85rem}.bubble .ben{color:var(--muted);font-size:.8rem}.replies{display:flex;flex-direction:column;gap:10px}.ansbtn.reply{text-align:left}.ansbtn.reply .rth{font-size:1.1rem;font-weight:700}.ansbtn.reply .sub.en{color:var(--text);opacity:.8}.drivenav{display:flex;align-items:center;justify-content:space-between;gap:8px}.drivecard .drivetitle{font-family:var(--font-display);font-size:1.9rem;font-weight:700;line-height:1.1;margin-bottom:0;text-align:center}.drivedone{color:var(--good)}.drivenavbtn{flex:none;padding:6px 10px;border:1px solid var(--raise-line);border-radius:10px;background:var(--raise);color:var(--muted);font-family:inherit;font-size:.76rem;font-weight:600;cursor:pointer;white-space:nowrap}.drivenavbtn:disabled{opacity:.3;cursor:default}.drivelesson{text-align:center;font-size:.95rem;font-weight:600;margin:4px 0 2px}.drivelabel{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 6px}.driveplan{list-style:none;padding:0;margin:8px 0 0;font-size:.9rem}.driveplan li{padding:6px 0;border-top:1px solid rgb(var(--fg) / .08)}.hint.small{font-size:.78rem}.nowplaying{min-height:220px;display:flex;flex-direction:column;justify-content:center;text-align:center;border-left:4px solid #2bb3b0}.nowplaying.recap,.nowplaying.lines,.nowplaying.drill{border-left-color:var(--gold-deep)}.nowplaying.together{border-left-color:var(--pink)}.nowplaying.closer{border-left-color:#a29bfe}.drivepart{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;display:flex;justify-content:center;gap:6px;margin-bottom:14px}.drivewho{text-transform:none;letter-spacing:0}.driveidx{margin-left:auto}.drivecue{font-size:1.5rem;font-weight:700;line-height:1.25}.driveanswer{margin-top:16px}.driveanswer.pending{color:var(--muted);font-style:italic;font-size:.9rem}.driveth{font-size:1.7rem;font-weight:600}.drivero{color:var(--muted);font-size:1rem;margin-top:2px}.drivescrub{display:flex;align-items:center;gap:10px;margin:14px 0 4px}.drivescrub input[type=range]{flex:1;min-width:0;height:32px;accent-color:var(--teal);cursor:pointer}.drivescrubto{text-align:center;color:var(--muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drivecontrols{display:flex;justify-content:center;align-items:center;gap:18px;margin:14px 0}.drivebtn{width:64px;height:64px;border-radius:50%;border:1px solid var(--raise-line);background:var(--raise);color:var(--text);font-size:1.5rem;cursor:pointer;font-family:inherit}.drivebtn.main{width:92px;height:92px;font-size:2.2rem;background:linear-gradient(135deg,#1f5fbf,#2bb3b0);border:none}.drivebtn:active{transform:scale(.95)}.misschips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.misschip{display:flex;flex-direction:column;align-items:flex-start;padding:8px 12px;border-radius:14px;border:1px solid var(--raise-line);background:var(--raise);color:var(--text);cursor:pointer;font-family:inherit;text-align:left}.misschip.on{background:#ff5e5740;border-color:var(--bad)}.misschip .mcth{font-size:1.05rem;font-weight:600}.misschip .mcen{font-size:.75rem;color:var(--muted)}.driveresume{margin-top:10px;padding:10px 12px;border-radius:12px;background:#2bb3b01f;border:1px solid rgba(43,179,176,.35)}.driveresumehead{font-weight:700;font-size:.95rem}.driveresumecue{margin-top:2px;font-size:.85rem;color:var(--muted)}.driveresume .hint{margin:6px 0 0}.tonelede{color:var(--muted);font-size:.9rem;line-height:1.5}.tonecard{text-align:center}.tonecard-head{display:flex;align-items:baseline;justify-content:center;gap:8px;color:var(--muted)}.tonecard-arrow{font-size:1.6rem;color:var(--teal)}.tonecard-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.tonecard-say{margin:14px 0 8px;font-size:2.2rem;font-weight:800;color:var(--gold)}.tonecard-cue{color:var(--text);font-size:.95rem;line-height:1.5}.tonecard-contour{margin-top:10px;color:var(--muted);font-size:.8rem}.tonecard-ex{margin-top:18px;padding-top:16px;border-top:1px solid rgb(var(--fg) / .1)}.tonecard-exlabel{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.tonecard-word{font-family:inherit;font-size:1.8rem;font-weight:700;color:var(--text);background:var(--raise);border:1px solid var(--raise-line);border-radius:14px;padding:10px 18px;cursor:pointer}.tonecard-ro{font-size:1.1rem;color:var(--gold)}.tonecard-en{margin-top:8px;color:var(--muted);font-size:.9rem}.saycard .saycue{margin:4px 0 16px;padding:14px;border-radius:14px;background:#ffb5471a;border:1px solid rgba(255,181,71,.3)}.saycard .saysay{font-size:1.9rem;font-weight:800;color:var(--gold)}.saycard .saycue-text{margin-top:6px;font-size:.85rem;color:var(--muted);line-height:1.45}.saycard .saythen{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.learncue{margin-top:12px;font-size:.85rem;font-weight:700;color:var(--gold)}.day-yellow{--day: #f2c94c;--day-on: #2a1606}.day-pink{--day: #ef6fa6;--day-on: #2a1606}.day-green{--day: #3aa35b;--day-on: #10220f}.day-orange{--day: #f08a24;--day-on: #2a1606}.day-blue{--day: #5aa9e6;--day-on: #0d2236}.day-purple{--day: #8e5bd0;--day-on: #ffffff}.day-red{--day: #d7263d;--day-on: #ffffff}.day-yellow-ink{color:#f2c94c}.day-pink-ink{color:#ef6fa6}.day-green-ink{color:#4cbf7a}.day-orange-ink{color:#f08a24}.day-blue-ink{color:#5aa9e6}.day-purple-ink{color:#b48cf0}.day-red-ink{color:#ff6b6b}@media(prefers-color-scheme:light){.day-yellow-ink{color:#8a6500}.day-pink-ink{color:#b3245f}.day-green-ink{color:#1e7a3c}.day-orange-ink{color:#a8520a}.day-blue-ink{color:#1f5f99}.day-purple-ink{color:#6b3fb0}.day-red-ink{color:#b51f33}}.home{--hero-bg: var(--bg2)}.home h1,.home h2{font-family:var(--font-display);font-weight:700}.h-kicker{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.h-hero{margin:-12px -16px 0;padding:20px 16px 0;background:var(--hero-bg);display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.h-greet{display:flex;align-items:center;gap:10px;min-height:44px;border:0;background:none;color:var(--text);cursor:pointer;font-family:inherit}.h-greet .th{font-size:2.2rem;font-weight:700;line-height:1.3}.h-speaker{color:var(--gold);flex-shrink:0}.h-note{font-size:.85rem;color:var(--muted);max-width:310px}.h-sky{display:block;width:100%;max-width:358px;height:auto;margin-top:6px}.h-prang{fill:var(--gold);stroke:var(--gold);stroke-width:0}.h-prang .h-line{fill:none}.h-prang .h-band{fill:var(--hero-bg);stroke:var(--gold)}.h-wave{stroke:var(--line-strong);fill:none}.h-sun{fill:#f2b27a;display:none}.h-moon,.h-star{fill:#f3e3b5}.h-star{opacity:.7}@media(prefers-color-scheme:light){.h-sun{display:inline}.h-night{display:none}.h-wave{stroke:#c98f6d}}.h-body{display:flex;flex-direction:column;gap:24px;padding-top:22px}.h-week{display:flex;flex-direction:column;gap:14px}.h-week-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.h-day-name{display:flex;flex-direction:column;align-items:flex-start;border:0;background:none;color:var(--text);font-family:inherit;cursor:pointer;text-align:left;padding:0}.h-day-name .th{font-size:1.4rem;font-weight:700;line-height:1.35}.h-day-sub{font-size:.82rem;color:var(--muted)}.h-streak{display:flex;flex-direction:column;align-items:flex-end;font-size:.9rem;white-space:nowrap}.h-streak small{font-size:.75rem;color:var(--muted)}.h-days{list-style:none;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.h-dayitem{display:flex;flex-direction:column;align-items:center;gap:6px}.h-dot{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700;border:1.5px dashed var(--line-strong);color:var(--faint)}.h-dayitem.played .h-dot{background:var(--day);border:0;color:var(--day-on)}.h-dayitem.is-today .h-dot{box-shadow:0 0 0 3px var(--bg1),0 0 0 5px var(--day)}.h-dayitem.today .h-dot{border:2px solid var(--day);color:var(--text)}.h-dayabbr{font-size:.68rem;color:var(--muted)}.h-dayitem.is-today .h-dayabbr{color:var(--text);font-weight:700}.h-today{border-radius:20px;background:var(--card);border:2px solid var(--gold);padding:5px}.h-today-in{border-radius:15px;border:1px dashed var(--line-strong);padding:20px 18px 18px;display:flex;flex-direction:column;gap:16px}.h-today-head{display:flex;align-items:center;gap:14px}.h-today-head>div{display:flex;flex-direction:column;gap:2px}.h-title{font-size:1.85rem;line-height:1.05}.h-medal{flex-shrink:0}.h-medal-bg{fill:rgb(var(--fg) / .07)}.h-medal-petals{fill:var(--gold)}.h-medal-dots{fill:#f2b27a}.h-medal-core{fill:var(--card)}.h-rows{list-style:none}.h-rows li{display:flex;justify-content:space-between;align-items:center;min-height:40px;border-bottom:1px solid var(--line);font-size:.9rem}.h-rows li:last-child{border-bottom:0}.h-today-note{font-size:.85rem;color:var(--muted);margin-top:-6px}.h-cta{height:56px;border:0;border-radius:12px;background:var(--gold);color:var(--on-gold);font-family:inherit;font-size:1.05rem;font-weight:700;cursor:pointer;transition:transform .1s}.h-cta:active{transform:scale(.98)}.h-cta:disabled{opacity:.45;cursor:default}.h-over{align-self:center;font-size:.85rem}.h-drive+.h-over{margin-top:-14px}.h-trip{display:flex;flex-direction:column;gap:8px}.h-trip-head,.h-trip-foot{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem}.h-days-left{color:var(--muted)}.h-days-left b{font-family:var(--font-display);font-size:1.6rem;color:var(--text)}.h-river{width:100%;height:auto}.h-river-track{stroke:rgb(var(--fg) / .12)}.h-river-done,.h-river-end{stroke:var(--gold)}.h-river-start,.h-river-end{fill:var(--gold)}.h-boat{fill:#f08a24;stroke:#f08a24;stroke-width:0}.h-boat .h-boat-cabin{fill:var(--bg1);stroke:#f08a24}.h-boat .h-boat-pole{fill:none}@media(prefers-color-scheme:light){.h-boat{fill:var(--warm);stroke:var(--warm)}.h-boat .h-boat-cabin{stroke:var(--warm)}}.h-drive{display:flex;align-items:center;gap:14px;padding:16px;border:0;border-radius:18px;background:var(--drive-bg);color:#fbf4e4;font-family:inherit;text-align:left;cursor:pointer}.h-drive-icon{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:var(--drive-ink);color:var(--drive-bg);display:flex;align-items:center;justify-content:center}.h-drive-text{display:flex;flex-direction:column;gap:2px}.h-drive-kicker{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--drive-ink)}.h-drive-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;line-height:1.1}.h-drive-sub{font-size:.78rem;color:var(--drive-sub)}.h-section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.h-section-head h2,.h-practice h2{font-size:1.65rem}.h-section-head .linkbtn{color:var(--gold);font-weight:600;text-decoration:none}.h-plates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.h-plate{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px 14px;border-radius:18px;border:1px solid var(--line);background:var(--card);color:var(--text);font-family:inherit;cursor:pointer;text-align:center}.h-plate svg{width:92px;height:92px}.h-plate-face{fill:rgb(var(--fg) / .05);stroke:rgb(var(--fg) / .1)}.h-plate-ring{fill:none;stroke:var(--gold)}.h-plate-inner{fill:none;stroke:var(--line-strong)}.h-plate-word{font-family:Sarabun,sans-serif;font-size:20px;font-weight:700;fill:var(--text)}.h-plate.mastered .h-plate-face{fill:var(--gold);stroke:var(--gold)}.h-plate.mastered .h-plate-word{fill:var(--on-gold)}.h-plate.mastered .h-plate-inner{stroke:var(--on-gold);opacity:.4}.h-plate-title{font-size:.9rem;font-weight:700}.h-plate-status{font-size:.72rem;color:var(--muted)}.h-plate.upnext .h-plate-status{color:var(--warm);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.h-plate.mastered .h-plate-status{color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.h-practice{display:flex;flex-direction:column}.h-practice h2{margin-bottom:6px}.h-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);font-family:inherit;font-size:.95rem;text-align:left;cursor:pointer}.h-row:last-of-type{border-bottom:0}.h-row-label{font-weight:600}.h-row-sub{font-size:.82rem;color:var(--muted);text-align:right}.h-row-sub.warm{color:var(--warm);font-weight:600}.h-practice>.h-over{margin:4px 0 8px}.h-footer{flex-wrap:wrap;gap:2px 14px;padding-top:14px;border-top:1px solid var(--line);margin-top:0}
