:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#f7fbf4;--wash:#f7fbf4;--ink:#3c3c3c;--ink-strong:#2f2f2f;--muted:#777;--faint:#9b9b9b;--teal:#58cc02;--teal-dark:#46a302;--teal-soft:#d7ffb8;--teal-ink:#58a700;--coral:#ff4b4b;--coral-dark:#ea2b2b;--coral-soft:#ffdfe0;--gold:#ffc800;--gold-dark:#e0ac00;--gold-soft:#fff5d0;--sky:#ddf4ff;--sky-ink:#1899d6;--purple:#ce82ff;--purple-soft:#f3e4ff;--purple-ink:#7b3fb8;--line:#e5e5e5;--line-strong:#d6d6d6;--track:#e5e5e5;--disabled-face:#e5e5e5;--disabled-lip:#bdbdbd;--disabled-ink:#afafaf;--aurora:radial-gradient(52vw 52vw at 82% -8%, #58cc0221, transparent 62%), radial-gradient(46vw 46vw at 4% 18%, #ddf4ffd9, transparent 64%), radial-gradient(44vw 40vw at 94% 60%, #ffc8001a, transparent 62%), radial-gradient(60vw 44vw at 30% 104%, #ce82ff17, transparent 64%);--shadow-card:0 6px 0 var(--line);--shadow-float:0 18px 40px #3c3c3c24;--shadow-pop:0 22px 48px #3c3c3c2e;--radius-sm:12px;--radius:16px;--radius-md:18px;--radius-lg:26px;--radius-xl:34px;--lip:4px;--t-xs:12px;--t-sm:14px;--t-md:16px;--t-lg:18px;--t-xl:21px;--t-2xl:24px;--t-3xl:28px;--t-fluid-sm:clamp(16px, 1.3vw, 18px);--t-fluid-md:clamp(21px, 2.9vw, 26px);--t-fluid-lg:clamp(24px, 3.2vw, 32px);--t-fluid-xl:clamp(28px, 3.8vw, 37px);--t-fluid-2xl:clamp(32px, 4.5vw, 44px);--t-fluid-3xl:clamp(37px, 5.2vw, 60px);--w-quiet:400;--w-body:700;--w-strong:800;--w-display:900;--measure:62ch;--font:Nunito, "Noto Sans Khmer", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--rail:248px;--rail-narrow:88px;--aside:348px;--center:640px;--gutter:24px;--header-h:68px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#131f24;--surface:#202f36;--surface-2:#1a272d;--wash:#17242a;--ink:#f1f7fb;--ink-strong:#fff;--muted:#afafaf;--faint:#8b9ba3;--teal-soft:#27460a;--teal-ink:#79e024;--coral-soft:#4a1d1d;--gold-soft:#443b20;--gold-dark:#c79c00;--sky:#1c3543;--sky-ink:#74c8f0;--purple-soft:#33254a;--purple-ink:#dcb0ff;--line:#37464f;--line-strong:#47585f;--track:#37464f;--disabled-face:#37464f;--disabled-lip:#29343a;--disabled-ink:#afafaf;--aurora:radial-gradient(52vw 52vw at 82% -8%, #58cc021f, transparent 62%), radial-gradient(46vw 46vw at 4% 18%, #1c3543e6, transparent 64%), radial-gradient(44vw 40vw at 94% 60%, #ffc8000f, transparent 62%), radial-gradient(60vw 44vw at 30% 104%, #ce82ff14, transparent 64%);--shadow-card:0 6px 0 #00000047;--shadow-float:0 18px 40px #00000073;--shadow-pop:0 22px 48px #0000008c}*{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:var(--w-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}body:before{content:"";z-index:-1;pointer-events:none;background:var(--aurora), var(--bg);position:fixed;inset:0}img,svg{max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{color:var(--ink-strong);font-weight:var(--w-display);letter-spacing:-.8px;margin:0;line-height:1.12}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:3px solid var(--sky-ink);outline-offset:3px;border-radius:6px}::selection{background:var(--teal-soft);color:var(--ink-strong)}:root[data-lang=km] h1,:root[data-lang=km] h2,:root[data-lang=km] h3,:root[data-lang=km] h4{letter-spacing:0;line-height:1.45}:root[data-lang=km]{--khmer-line:1.9}:root[data-lang=km] p,:root[data-lang=km] li,:root[data-lang=km] label{line-height:var(--khmer-line,1.9)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}.spacer{flex:1}.muted{color:var(--muted)}.center-text{text-align:center}.press{border-radius:var(--radius);background:var(--teal);color:#fff;min-height:52px;font-weight:var(--w-display);font-size:var(--t-lg);cursor:pointer;box-shadow:0 var(--lip) 0 var(--teal-dark);-webkit-user-select:none;user-select:none;border:0;justify-content:center;align-items:center;gap:10px;padding:14px 24px;transition:transform 70ms,box-shadow 70ms,filter .18s,background .18s;display:inline-flex;position:relative}.press:hover:not(:disabled){filter:brightness(1.06)}.press:active:not(:disabled){transform:translateY(var(--lip));box-shadow:0 0 0 var(--teal-dark)}.press:disabled{background:var(--disabled-face);color:var(--disabled-ink);box-shadow:0 var(--lip) 0 var(--disabled-lip);cursor:not-allowed}.press-danger{background:var(--coral);box-shadow:0 var(--lip) 0 var(--coral-dark)}.press-danger:active:not(:disabled){box-shadow:0 0 0 var(--coral-dark)}.press-gold{background:var(--gold);color:#3c2f00;box-shadow:0 var(--lip) 0 var(--gold-dark)}.press-gold:active:not(:disabled){box-shadow:0 0 0 var(--gold-dark)}.press-muted{background:var(--surface);color:var(--ink);border:2px solid var(--line);box-shadow:0 var(--lip) 0 var(--line)}.press-muted:active:not(:disabled){box-shadow:0 0 0 var(--line)}.press-ghost{color:var(--muted);box-shadow:none;background:0 0}.press-ghost:hover:not(:disabled){color:var(--ink);filter:none}.press-ghost:active:not(:disabled){box-shadow:none;transform:none}.press-sm{min-height:40px;font-size:var(--t-sm);border-radius:13px;padding:9px 16px}.press-lg{min-height:60px;font-size:var(--t-lg);border-radius:20px;padding:18px 32px}.press-block{width:100%}.press[aria-busy=true]{color:#0000}.press[aria-busy=true]:after{content:"";border:3px solid #fff6;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}.card{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);padding:22px}.card-flat{box-shadow:none}.card-tight{border-radius:var(--radius-md);padding:16px}.card-title{font-size:var(--t-md);font-weight:var(--w-strong);color:var(--muted)}.pill{border:2px solid var(--line);font-size:var(--t-sm);font-weight:var(--w-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;display:inline-flex}.pill-button{cursor:pointer;background:0 0}.pill-teal{border-color:var(--teal-soft);background:color-mix(in srgb, var(--teal) 10%, transparent);color:var(--teal-ink)}.pill-gold{border-color:var(--gold-soft);background:color-mix(in srgb, var(--gold) 14%, transparent);color:var(--gold-dark)}.pill-purple{border-color:var(--purple-soft);background:color-mix(in srgb, var(--purple) 12%, transparent);color:var(--purple-ink)}.pill-coral{border-color:var(--coral-soft);background:color-mix(in srgb, var(--coral) 10%, transparent);color:var(--coral)}.bar{background:var(--track);border-radius:999px;height:16px;position:relative;overflow:hidden}.bar-fill{background:var(--teal);border-radius:999px;height:100%;transition:width .45s cubic-bezier(.22,1,.36,1);position:relative}.bar-fill:after{content:"";background:#fff6;border-radius:999px;height:4px;position:absolute;inset:3px 6px auto}.bar-sm{height:10px}.bar-sm .bar-fill:after{display:none}.bar-gold .bar-fill{background:var(--gold)}.bar-coral .bar-fill{background:var(--coral)}.field{flex-direction:column;gap:7px;display:flex}.field>label{font-size:var(--t-sm);font-weight:var(--w-display);color:var(--muted);letter-spacing:.3px}.input{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:100%;font-weight:var(--w-body);font-size:var(--t-md);padding:16px 18px;transition:border-color .16s,background .16s}.input::placeholder{color:var(--faint);font-weight:var(--w-body)}.input:focus{border-color:var(--teal);outline:none}.input:disabled{background:var(--wash);color:var(--muted)}textarea.input{resize:vertical;min-height:120px;line-height:1.6}.alert{border:2px solid var(--coral-soft);border-radius:var(--radius-md);background:color-mix(in srgb, var(--coral) 8%, transparent);color:var(--coral);font-size:var(--t-sm);font-weight:var(--w-strong);gap:11px;padding:14px 16px;line-height:1.55;display:flex}.alert-info{border-color:var(--sky);background:color-mix(in srgb, var(--sky-ink) 8%, transparent);color:var(--sky-ink)}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--track) 25%, var(--wash) 50%, var(--track) 75%);background-size:300% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{to{background-position:-150% 0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}60%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.rise{animation:.34s cubic-bezier(.22,1,.36,1) both rise}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.field-shell{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:4px;padding-right:8px;transition:border-color .16s,box-shadow .16s;display:flex}.field-shell:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px color-mix(in srgb, var(--teal) 16%, transparent)}.field-shell.is-invalid{border-color:var(--coral)}.field-shell.is-invalid:focus-within{box-shadow:0 0 0 4px color-mix(in srgb, var(--coral) 16%, transparent)}.field-input{border-radius:var(--radius-md);min-width:0;font-weight:var(--w-body);font-size:var(--t-md);background:0 0;border:0;flex:1;padding:15px 16px}.field-input:focus{outline:none}.field-input::placeholder{color:var(--faint);font-weight:var(--w-body)}.field-reveal{width:38px;height:38px;color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:11px;flex:none;place-items:center;transition:color .16s,background .16s;display:grid}.field-reveal:hover{color:var(--ink);background:var(--wash)}.field-hint{color:var(--muted);font-size:var(--t-xs);font-weight:var(--w-body)}.select{position:relative}.select-trigger{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--ink);font-weight:var(--w-body);font-size:var(--t-md);text-align:left;cursor:pointer;align-items:center;gap:10px;padding:15px 14px 15px 16px;transition:border-color .16s,box-shadow .16s;display:flex}.select-trigger:hover:not(:disabled){border-color:var(--line-strong)}.select-trigger.is-open,.select-trigger:focus-visible{border-color:var(--teal);box-shadow:0 0 0 4px color-mix(in srgb, var(--teal) 16%, transparent);outline:none}.select-trigger:disabled{background:var(--wash);color:var(--muted);cursor:not-allowed}.select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select-caret{color:var(--muted);flex:none;transition:transform .2s}.select-trigger.is-open .select-caret{transform:rotate(180deg)}.select-list{z-index:50;border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);max-height:260px;box-shadow:var(--shadow-pop);padding:6px;animation:.14s ease-out both pop-in;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.select-option{border-radius:var(--radius-sm);color:var(--ink);font-weight:var(--w-strong);font-size:var(--t-md);cursor:pointer;align-items:center;gap:10px;padding:11px 12px;display:flex}.select-option.is-active{background:var(--wash)}.select-option.is-selected{color:var(--teal-ink)}.select-option.is-selected.is-active{background:color-mix(in srgb, var(--teal) 12%, transparent)}.select-option-copy{flex-direction:column;flex:1;min-width:0;display:flex}.select-option-copy small{color:var(--muted);font-size:var(--t-xs);font-weight:var(--w-body)}.stepper{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);align-items:center;transition:border-color .16s,box-shadow .16s;display:flex;overflow:hidden}.stepper:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px color-mix(in srgb, var(--teal) 16%, transparent)}.stepper-btn{background:var(--wash);width:46px;color:var(--muted);font-size:var(--t-xl);font-weight:var(--w-display);cursor:pointer;border:0;flex:none;align-self:stretch;line-height:1;transition:background .16s,color .16s}.stepper-btn:hover:not(:disabled){background:var(--teal-soft);color:var(--teal-ink)}.stepper-btn:disabled{color:var(--faint);cursor:not-allowed}.stepper-input{width:100%;min-width:0;color:var(--ink);font-weight:var(--w-strong);font-size:var(--t-md);text-align:center;background:0 0;border:0;flex:1;padding:15px 4px}.stepper-input:focus{outline:none}.switch-label{cursor:pointer;align-items:flex-start;gap:13px;display:flex}.switch-track{border:2px solid var(--line);background:var(--wash);border-radius:999px;flex:none;width:54px;height:32px;margin-top:1px;transition:background .22s,border-color .22s;position:relative}.switch-thumb{background:var(--surface);width:24px;height:24px;box-shadow:0 2px 0 var(--line-strong);border-radius:50%;transition:transform .26s cubic-bezier(.34,1.56,.64,1);position:absolute;top:2px;left:2px}.switch-native:checked+.switch-label .switch-track{border-color:var(--teal-dark);background:var(--teal)}.switch-native:checked+.switch-label .switch-thumb{transform:translate(22px);box-shadow:0 2px #0000002e}.switch-native:focus-visible+.switch-label .switch-track{outline:3px solid var(--sky-ink);outline-offset:3px}.switch-copy{font-size:var(--t-md);font-weight:var(--w-strong);flex-direction:column;gap:2px;display:flex}.switch-copy small{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-body);line-height:1.6}.segmented{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--wash);padding:4px;display:flex;position:relative}.segmented-thumb{background:var(--teal);box-shadow:0 2px 0 var(--teal-dark);border-radius:12px;transition:transform .28s cubic-bezier(.34,1.56,.64,1);position:absolute;top:4px;bottom:4px;left:4px}.segmented-opt{z-index:1;color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-display);cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1;padding:10px 8px;transition:color .22s;position:relative}.segmented-opt.is-on{color:#fff}.mic{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:14px;padding:18px;display:flex}.mic-main{align-items:center;gap:16px;display:flex}.mic-btn{background:var(--coral);color:#fff;cursor:pointer;width:68px;height:68px;box-shadow:0 5px 0 var(--coral-dark);border:0;border-radius:50%;flex:none;place-items:center;transition:transform 80ms,box-shadow 80ms,background .2s;display:grid;position:relative}.mic-btn:active:not(:disabled){box-shadow:none;transform:translateY(5px)}.mic-btn:disabled{background:var(--disabled-face);color:var(--disabled-ink);box-shadow:0 5px 0 var(--disabled-lip);cursor:wait}.mic-btn.is-recording{background:var(--ink-strong);box-shadow:0 5px #00000059}.mic-level{background:var(--coral);pointer-events:none;border-radius:50%;transition:transform 80ms linear,opacity 80ms linear;position:absolute;inset:-10px}.mic-btn.is-recording .mic-level{background:var(--coral)}.mic-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.mic-copy b{font-size:var(--t-md);font-weight:var(--w-display)}.mic-copy span{font-size:var(--t-sm);font-weight:var(--w-body);line-height:1.6}.mic-timer{color:var(--coral);font-weight:var(--w-display);font-variant-numeric:tabular-nums}.mic-playback{border-top:2px solid var(--line);flex-wrap:wrap;gap:10px;padding-top:14px;display:flex}.mic-play,.mic-again{border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--t-sm);font-weight:var(--w-display);cursor:pointer;border-bottom-width:4px;align-items:center;gap:8px;padding:11px 16px;display:inline-flex}.mic-play{border-color:var(--sky);color:var(--sky-ink)}.mic-play:active,.mic-again:active{border-bottom-width:2px;transform:translateY(2px)}.mic-play.is-playing{background:var(--sky)}.mic-note,.mic-privacy{font-size:var(--t-sm);font-weight:var(--w-body);line-height:1.6}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:40;height:var(--header-h);padding:0 var(--gutter);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);align-items:center;gap:16px;display:flex;position:fixed;top:0;left:0;right:0}.brand{font-size:var(--t-xl);font-weight:var(--w-display);letter-spacing:-1px;color:var(--ink-strong);align-items:center;gap:10px;display:inline-flex}.brand img{object-fit:contain;width:38px;height:38px}.brand-compact span{display:none}:root[data-lang=km] .brand{letter-spacing:0}.topbar-stats{align-items:center;gap:14px;display:flex}.topbar-controls{align-items:center;gap:8px;display:flex}.stat{font-size:var(--t-lg);font-weight:var(--w-display);align-items:center;gap:6px;display:inline-flex}.stat-streak{color:var(--coral)}.stat-xp{color:var(--gold-dark)}.theme-toggle{border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);width:44px;height:44px;color:var(--muted);cursor:pointer;place-items:center;transition:color .16s,border-color .16s;display:grid}.theme-toggle:hover{color:var(--ink);border-color:var(--line-strong)}.tg-btn{border-radius:var(--radius);color:#fff;height:44px;font-size:var(--t-sm);font-weight:var(--w-display);white-space:nowrap;box-shadow:0 var(--lip) 0 #1a7fae;background:linear-gradient(#37b0e8,#229ed9);align-items:center;gap:8px;padding:0 14px;transition:transform 70ms,box-shadow 70ms,filter .18s;display:inline-flex}.tg-btn:hover{filter:brightness(1.06)}.tg-btn:active{transform:translateY(var(--lip));box-shadow:0 0 #1a7fae}.lang-switch{border:2px solid var(--line);border-radius:var(--radius);background:var(--wash);flex:none;width:108px;height:44px;padding:3px;display:flex;position:relative}.lang-thumb{background:var(--teal);width:50px;height:34px;box-shadow:0 2px 0 var(--teal-dark);border-radius:12px;transition:transform .32s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;left:3px}.lang-switch[data-lang=km] .lang-thumb{transform:translate(48px)}.lang-opt{z-index:1;min-width:0;color:var(--muted);font-weight:var(--w-display);font-size:var(--t-xs);cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1;padding:0;line-height:1;transition:color .22s;position:relative}.lang-opt[data-lang=km]{font-size:var(--t-sm)}.lang-opt.is-on{color:#fff}.shell-body{grid-template-columns:var(--rail) minmax(0, 1fr) var(--aside);width:100%;max-width:1400px;padding:var(--header-h) var(--gutter) 64px;align-items:start;gap:32px;margin:0 auto;display:grid}.rail{top:calc(var(--header-h) + 20px);padding-top:24px;position:sticky}.rail ul{flex-direction:column;gap:6px;display:flex}.rail-link{border-radius:var(--radius);color:var(--muted);font-size:var(--t-md);font-weight:var(--w-display);border:2px solid #0000;align-items:center;gap:14px;padding:12px 16px;transition:background .16s,color .16s,border-color .16s;display:flex}:root[data-lang=km] .rail-link{font-size:var(--t-md)}.rail-link:hover{background:var(--wash);color:var(--ink)}.rail-link.is-active{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 12%, transparent);color:var(--teal-ink)}.rail-icon{place-items:center;width:26px;height:26px;display:grid}.rail-plus{width:100%;font:inherit;font-size:var(--t-md);font-weight:var(--w-display);cursor:pointer;background:0 0}:root[data-lang=km] .rail-plus{font-size:var(--t-md)}.main{min-width:0;max-width:var(--center);width:100%;margin:0 auto;padding-top:24px}.aside{top:calc(var(--header-h) + 20px);flex-direction:column;gap:16px;padding-top:24px;display:flex;position:sticky}.aside-empty{display:none}.tabbar{z-index:30;background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:2px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));display:none;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--muted);font-size:var(--t-xs);font-weight:var(--w-strong);flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 2px;display:flex}.tab.is-active{color:var(--teal)}.tab-icon{place-items:center;height:26px;display:grid}.page-head{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.page-head h1{font-size:var(--t-fluid-xl)}.page-head p{color:var(--muted);font-size:var(--t-md)}.spinner-wrap{place-items:center;padding:64px 0;display:grid}.spinner{border:4px solid var(--track);border-top-color:var(--teal);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.alert-retry{color:inherit;font-size:var(--t-sm);font-weight:var(--w-display);cursor:pointer;background:0 0;border:2px solid;border-radius:10px;flex:none;margin-left:auto;padding:4px 10px}.empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:56px 24px;display:flex}.empty-icon{background:var(--wash);width:78px;height:78px;color:var(--teal);border-radius:24px;place-items:center;display:grid}.empty h3{font-size:var(--t-xl)}.empty p{max-width:42ch;font-size:var(--t-md);line-height:1.7}@media (max-width:1240px){.shell-body{grid-template-columns:var(--rail-narrow) minmax(0, 1fr) var(--aside);gap:24px}.rail-label,.tg-btn-label{display:none}.tg-btn{padding:0 12px}.rail-link{justify-content:center;padding:13px 0}}@media (max-width:1040px){.shell-body{grid-template-columns:var(--rail-narrow) minmax(0, 1fr)}.aside{grid-column:1/-1;padding-top:0;position:static}.aside-empty{display:none}.main{max-width:none}}@media (max-width:760px){.shell-body{grid-template-columns:minmax(0,1fr);gap:20px;padding-bottom:96px}.rail{display:none}.tabbar{display:flex}.topbar{gap:10px;padding:0 16px}.brand span{display:none}.topbar-stats{gap:10px}.stat{font-size:var(--t-md)}.lang-switch{width:92px;height:40px}.lang-thumb{width:42px;height:30px}.lang-switch[data-lang=km] .lang-thumb{transform:translate(40px)}.theme-toggle{width:40px;height:40px}.tg-btn{height:40px;padding:0 11px}.tab-label{font-size:var(--t-xs);letter-spacing:-.1px}}@media (max-width:420px){.topbar-stats .pill{display:none}}.unit-card{scroll-margin-top:calc(var(--header-h) + 24px)}.learn-head{flex-direction:column;gap:14px;margin-bottom:22px;display:flex}.learn-eyebrow{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-strong)}.learn-head h1{font-size:var(--t-fluid-xl)}.learn-head-progress{align-items:center;gap:14px;display:flex}.learn-head-progress .bar{flex:1}.learn-progress-label{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-strong);flex:none}.learn-progress-pct{min-width:3ch;color:var(--teal-ink);font-size:var(--t-sm);font-weight:var(--w-display);text-align:right;flex:none}.next-up{border:2px solid color-mix(in srgb, var(--teal) 55%, var(--line));border-radius:var(--radius-lg);background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--teal) 14%, transparent), transparent 60%), var(--surface);box-shadow:0 6px 0 color-mix(in srgb, var(--teal) 30%, var(--line));align-items:center;gap:20px;margin-bottom:28px;padding:22px 24px;display:flex}.next-up-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.next-up-tag{background:color-mix(in srgb, var(--purple) 16%, transparent);color:var(--purple-ink);font-size:var(--t-xs);font-weight:var(--w-strong);border-radius:999px;align-self:flex-start;margin-bottom:6px;padding:4px 11px}.next-up-place{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-strong)}.next-up h2{font-size:var(--t-2xl);letter-spacing:-.4px;line-height:1.2}.next-up-num{color:var(--faint)}.next-up-sub{color:var(--muted);font-size:var(--t-md);font-weight:var(--w-body)}.next-up-meta{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-strong);gap:14px;margin-top:6px;display:flex}.next-up-xp{color:var(--gold-dark)}.next-up-cta{flex:none}.units{flex-direction:column;gap:12px;display:flex}.unit-card{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.unit-active{border-color:color-mix(in srgb, var(--teal) 45%, var(--line))}.unit-head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:16px;padding:16px 18px;transition:background .15s;display:flex}.unit-head:hover{background:var(--wash)}.unit-head:focus-visible{outline:3px solid color-mix(in srgb, var(--teal) 60%, transparent);outline-offset:-3px}.unit-badge{background:var(--wash);width:44px;height:44px;color:var(--muted);font-size:var(--t-lg);font-weight:var(--w-display);border-radius:14px;flex:none;place-items:center;display:grid}.unit-done .unit-badge{background:var(--teal);color:#fff}.unit-active .unit-badge{background:color-mix(in srgb, var(--teal) 16%, transparent);color:var(--teal-ink)}.unit-locked .unit-badge{color:var(--faint)}.unit-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.unit-eyebrow{color:var(--muted);font-size:var(--t-xs);font-weight:var(--w-strong)}.unit-title{color:var(--ink-strong);font-size:var(--t-lg);font-weight:var(--w-display);letter-spacing:-.3px;line-height:1.25}.unit-locked .unit-title{color:var(--muted)}.unit-sub{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-body)}.unit-card:not(.is-expanded) .unit-sub{display:none}.unit-meter{flex-direction:column;flex:none;align-items:flex-end;gap:6px;width:76px;display:flex}.unit-count{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-display)}.unit-done .unit-count{color:var(--teal-ink)}.unit-bar{background:var(--track);border-radius:999px;width:100%;height:6px;overflow:hidden}.unit-bar span{background:var(--teal);border-radius:999px;height:100%;transition:width .45s cubic-bezier(.22,1,.36,1);display:block}.unit-chevron{color:var(--faint);flex:none;transition:transform .2s}.unit-card.is-expanded .unit-chevron{transform:rotate(180deg)}.lessons{border-top:2px solid var(--line);flex-direction:column;padding:4px 8px 10px;display:flex}.lesson{position:relative}.lesson:not(:last-child):after{content:"";background:var(--line);border-radius:2px;width:3px;height:100%;margin-left:-1.5px;position:absolute;top:50%;left:26px}.lesson.is-finished:not(:last-child):after{background:var(--teal)}.lesson-row{border-radius:var(--radius);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:10px 12px 10px 10px;transition:background .15s;display:flex}.lesson-row:hover{background:var(--wash)}.lesson-row:focus-visible{outline:3px solid color-mix(in srgb, var(--teal) 60%, transparent);outline-offset:-3px}.lesson-current .lesson-row{background:color-mix(in srgb, var(--purple) 10%, transparent)}.lesson-current .lesson-row:hover{background:color-mix(in srgb, var(--purple) 15%, transparent)}.lesson-dot{z-index:1;border:2px solid var(--line-strong);background:var(--surface);width:32px;height:32px;color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-display);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.lesson-done .lesson-dot{border-color:var(--teal);background:var(--teal);color:#fff}.lesson-passed .lesson-dot{color:#fff;background:#1cb0f6;border-color:#1cb0f6}.lesson-current .lesson-dot{border-color:var(--purple);background:var(--purple);color:#fff;box-shadow:0 0 0 5px color-mix(in srgb, var(--purple) 22%, transparent)}.lesson-open .lesson-dot{border-color:var(--teal);color:var(--teal-ink)}.lesson-promotion .lesson-dot{border-color:var(--gold);background:var(--gold);color:#3c2f00}.lesson-locked .lesson-dot{border-color:var(--line);background:var(--wash);color:var(--faint)}.lesson-copy{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.lesson-title{color:var(--ink-strong);font-size:var(--t-md);font-weight:var(--w-strong);flex-wrap:wrap;align-items:center;gap:4px 8px;line-height:1.3;display:flex}.lesson-locked .lesson-title{color:var(--muted)}.lesson-sub{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-locked .lesson-sub{color:var(--faint)}.lesson-tag{font-size:var(--t-xs);font-weight:var(--w-strong);white-space:nowrap;border-radius:999px;padding:2px 9px}.lesson-tag-purple{background:color-mix(in srgb, var(--purple) 18%, transparent);color:var(--purple-ink)}.lesson-tag-gold{background:color-mix(in srgb, var(--gold) 20%, transparent);color:var(--gold-dark)}.lesson-tag-teal{background:color-mix(in srgb, var(--teal) 14%, transparent);color:var(--teal-ink)}.lesson-tag-sky{background:var(--sky);color:var(--sky-ink)}.lesson-meta{color:var(--faint);font-size:var(--t-xs);font-weight:var(--w-strong);flex:none;gap:12px;display:flex}.lesson-action{border:2px solid var(--line);min-width:76px;color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-display);border-radius:12px;flex:none;justify-content:center;align-items:center;padding:7px 14px;display:inline-flex}.lesson-row:hover .lesson-action{border-color:var(--line-strong);color:var(--ink)}.lesson-open .lesson-action,.lesson-promotion .lesson-action{border-color:color-mix(in srgb, var(--teal) 50%, var(--line));color:var(--teal-ink)}.lesson-current .lesson-action{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:0 3px 0 var(--teal-dark)}.lesson-current .lesson-row:hover .lesson-action{border-color:var(--teal);color:#fff;filter:brightness(1.06)}.lesson-locked .lesson-action{color:var(--faint);border-color:#0000}.path-end{text-align:center;font-size:var(--t-sm);font-weight:var(--w-display);margin:22px 0 0}@media (max-width:760px){.next-up{flex-direction:column;align-items:stretch;padding:20px}.next-up h2{font-size:var(--t-xl)}.next-up-cta{width:100%}.lesson-meta{display:none}}@media (max-width:560px){.unit-head{gap:12px;padding:14px}.unit-badge{width:38px;height:38px;font-size:var(--t-md);border-radius:12px}.unit-meter{width:52px}.unit-chevron{display:none}.lessons{padding:4px 4px 8px}.lesson-action{min-width:0;padding:6px 10px}}.rail-card{flex-direction:column;gap:10px;display:flex}.rail-card-head{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-strong);align-items:center;gap:8px;display:flex}:root[data-lang=km] .rail-card-head{font-size:var(--t-sm)}.rail-card-note{color:var(--faint);font-size:var(--t-xs);font-weight:var(--w-strong);margin-left:auto}.rail-card-body{font-size:var(--t-sm);line-height:1.6}.rail-card-accent{border-color:var(--purple-soft);background:radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--purple) 12%, transparent), transparent 70%), var(--surface)}.rail-card-accent .rail-card-head{color:var(--purple-ink)}.rail-lesson-title{font-size:var(--t-lg);letter-spacing:-.5px}.rail-reason{border-radius:var(--radius-sm);background:var(--wash);color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-body);padding:10px 12px;line-height:1.55}.rail-cta{margin-top:2px;display:block}.rail-link-plain{color:var(--teal-ink);font-size:var(--t-sm);font-weight:var(--w-display);letter-spacing:.3px;align-self:flex-start;align-items:center;gap:4px;display:inline-flex}.rail-link-plain:hover{text-decoration:underline}.rail-goal{font-size:var(--t-xl);font-weight:var(--w-display);justify-content:space-between;align-items:center;gap:10px;display:flex}.rail-week{border-top:2px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;padding-top:10px;display:flex}.rail-week-head{color:var(--muted);font-size:var(--t-xs);font-weight:var(--w-display);align-items:center;gap:5px;display:inline-flex}.rail-week-dots{gap:5px;display:flex}.rail-week-dots span{background:var(--track);border-radius:50%;width:13px;height:13px}.rail-week-dots span.is-on{background:var(--teal);box-shadow:0 2px 0 var(--teal-dark)}.rail-week-count{font-size:var(--t-xs);font-weight:var(--w-strong)}.rail-streak{flex-direction:row;align-items:center;gap:14px}.rail-flame{border-radius:var(--radius);background:color-mix(in srgb, var(--coral) 12%, transparent);width:50px;height:50px;color:var(--coral);place-items:center;display:grid}.rail-streak-value{font-size:var(--t-2xl);font-weight:var(--w-display);line-height:1.1;display:block}.rail-streak-label{font-size:var(--t-sm);font-weight:var(--w-strong)}.rail-board{flex-direction:column;gap:2px;display:flex}.rail-board li{border-radius:var(--radius-sm);font-size:var(--t-sm);font-weight:var(--w-strong);align-items:center;gap:10px;padding:7px 9px;display:flex}.rail-board li.is-me{background:color-mix(in srgb, var(--teal) 12%, transparent);color:var(--teal-ink)}.rail-board-rank{width:22px;color:var(--faint);font-size:var(--t-sm);font-weight:var(--w-display);text-align:center}.rail-board li.is-me .rail-board-rank{color:inherit}.rail-board-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rail-board-score{font-weight:var(--w-display)}.rail-chest{border-color:var(--gold-soft);flex-direction:row;align-items:center;gap:12px}.rail-chest-icon{border-radius:var(--radius);background:color-mix(in srgb, var(--gold) 16%, transparent);width:46px;height:46px;color:var(--gold-dark);place-items:center;display:grid}.rail-chest-copy{flex-direction:column;flex:1;min-width:0;display:flex}.rail-chest-copy b{font-size:var(--t-md)}.rail-chest-copy .rail-card-body{font-size:var(--t-sm)}@media (max-width:1040px){.aside{flex-flow:wrap}.aside>.card{flex:260px}}.player{min-height:100vh;flex-direction:column;min-height:100dvh;display:flex}.player-message{justify-content:center;align-items:center;gap:20px}.player-top{width:100%;max-width:760px;padding:20px var(--gutter) 8px;align-items:center;gap:16px;margin:0 auto;display:flex}.player-close{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--faint);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;transition:color .16s;display:grid}.player-close:hover{color:var(--coral)}.player-bar{flex:1;min-width:0}.player-kind{color:var(--faint);font-size:var(--t-xs);font-weight:var(--w-display);letter-spacing:1.2px;flex:none}:root[data-lang=km] .player-kind{letter-spacing:0;font-size:var(--t-sm)}.player-replay{width:100%;max-width:760px;padding:0 var(--gutter);color:var(--faint);font-size:var(--t-xs);font-weight:var(--w-strong);margin:4px auto 0}.player-body{padding:26px var(--gutter) 40px;flex:1;justify-content:center;align-items:flex-start;display:flex}.player-inner{width:100%;max-width:660px}.ex{flex-direction:column;gap:20px;animation:.28s cubic-bezier(.22,1,.36,1) both rise;display:flex}.ex-instruction{color:var(--muted);font-size:var(--t-md);font-weight:var(--w-strong);line-height:1.6}.ex-prompt p{font-size:var(--t-fluid-lg);font-weight:var(--w-display);letter-spacing:-.8px;color:var(--ink-strong);line-height:1.25}:root[data-lang=km] .ex-prompt p{letter-spacing:0;line-height:1.6}.ex-prompt-lg p{font-size:var(--t-fluid-xl)}.ex-roman{color:var(--muted);font-size:var(--t-md);font-weight:var(--w-body);margin-top:5px;font-style:italic;display:block}.ex-prompt-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.ex-prompt-row .ex-prompt{flex:1;min-width:200px}.ex-support{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-body);line-height:1.6}.ex-passage{border:2px solid var(--line);border-left:6px solid var(--sky-ink);border-radius:var(--radius-md);background:var(--surface);font-size:var(--t-md);font-weight:var(--w-body);margin:0;padding:20px 22px;line-height:1.8}.ex-situation{color:var(--muted);font-size:var(--t-md);font-weight:var(--w-strong);line-height:1.6}.ex-roleplay{flex-direction:column;gap:12px;display:flex}.ex-bubble{border:2px solid var(--line);background:var(--surface);max-width:88%;box-shadow:var(--shadow-card);font-size:var(--t-lg);font-weight:var(--w-strong);border-radius:20px 20px 20px 6px;align-self:flex-start;padding:16px 20px;line-height:1.5;position:relative}.ex-visuals{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.ex-visual{border-radius:var(--radius-md);object-fit:contain}.audio{align-items:center;gap:10px;display:inline-flex}.ex-audio-stage{justify-content:center;padding:10px 0 4px;display:flex}.audio-main,.audio-slow{border-radius:var(--radius);color:#fff;cursor:pointer;border:0;place-items:center;transition:transform 80ms,box-shadow 80ms,filter .18s;display:grid}.audio-main{background:var(--sky-ink);width:58px;height:58px;box-shadow:0 4px 0 color-mix(in srgb, var(--sky-ink) 72%, #000)}.audio-lg{border-radius:28px;width:96px;height:96px}.audio-slow{background:var(--surface);border:2px solid var(--line);width:46px;height:46px;color:var(--sky-ink);box-shadow:0 4px 0 var(--line)}.audio-main:hover,.audio-slow:hover{filter:brightness(1.06)}.audio-main:active,.audio-slow:active{box-shadow:none;transform:translateY(4px)}.audio-main.is-playing,.audio-slow.is-playing{animation:.9s ease-in-out infinite audio-pulse}@keyframes audio-pulse{50%{transform:scale(1.05)}}.audio-failed{color:var(--coral);font-size:var(--t-sm);font-weight:var(--w-strong)}.speakable{border:0;border-bottom:2px dotted var(--sky-ink);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:1px 4px}.speakable:hover,.speakable.is-playing{background:var(--sky)}.choices{flex-direction:column;gap:12px;display:flex}.choice{border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer;border-bottom-width:4px;align-items:center;gap:14px;width:100%;padding:15px 18px;transition:border-color .14s,background .14s,transform 80ms;display:flex}.choice:hover:not(:disabled){background:var(--wash)}.choice:active:not(:disabled){border-bottom-width:2px;transform:translateY(2px)}.choice.is-selected{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 12%, transparent)}.choice.is-correct{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 16%, transparent)}.choice.is-wrong{border-color:var(--coral);background:color-mix(in srgb, var(--coral) 12%, transparent)}.choice:disabled{cursor:default}.choice-key{border:2px solid var(--line);width:26px;height:26px;color:var(--faint);font-size:var(--t-xs);font-weight:var(--w-display);border-radius:8px;flex:none;place-items:center;display:grid}.choice.is-selected .choice-key,.choice.is-correct .choice-key{border-color:var(--teal);color:var(--teal-ink)}.choice.is-wrong .choice-key{border-color:var(--coral);color:var(--coral)}.choice-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.choice-label{font-size:var(--t-lg);font-weight:var(--w-strong);line-height:1.3}.choice-detail{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-body)}.choice-pre{font-family:var(--font-mono);font-size:var(--t-sm);white-space:pre-wrap;margin:0}.image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.image-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.image-grid .choice{flex-direction:column;align-items:stretch;padding:14px}.image-grid .choice-key{background:var(--surface);position:absolute;top:10px;left:10px}.image-grid .choice{position:relative}.image-choice-art{aspect-ratio:1;object-fit:contain;width:100%}.image-choice-fallback{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--wash);color:var(--muted);font-size:var(--t-md);font-weight:var(--w-display);text-align:center;place-items:center;display:grid}.image-grid .choice-label{text-align:center;font-size:var(--t-md)}.tiles{flex-direction:column;gap:18px;display:flex}.tiles-answer{border:2px dashed var(--line);border-radius:var(--radius-md);background:var(--surface);flex-wrap:wrap;align-content:flex-start;gap:9px;min-height:92px;padding:14px;transition:border-color .16s;display:flex}.tiles-answer.is-correct{border-style:solid;border-color:var(--teal);background:color-mix(in srgb, var(--teal) 8%, transparent)}.tiles-answer.is-wrong{border-style:solid;border-color:var(--coral);background:color-mix(in srgb, var(--coral) 8%, transparent)}.tiles-hint{color:var(--faint);font-size:var(--t-sm);font-weight:var(--w-strong)}.tiles-bank{flex-wrap:wrap;gap:9px;display:flex}.tile{border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--t-md);font-weight:var(--w-strong);cursor:pointer;border-bottom-width:4px;padding:11px 16px;transition:transform 70ms,border-color .14s,opacity .16s;animation:.16s ease-out both pop-in;position:relative}.tile:hover:not(:disabled){border-color:var(--line-strong)}.tile:active:not(:disabled){border-bottom-width:2px;transform:translateY(2px)}.tile.is-used{opacity:.28;cursor:default}.tile-chosen{border-color:var(--teal-soft)}.tile-key{background:var(--wash);width:18px;height:18px;color:var(--faint);font-size:var(--t-xs);font-weight:var(--w-display);border-radius:6px;place-items:center;display:grid;position:absolute;top:-7px;left:-7px}.ex-textarea.is-correct{border-color:var(--teal)}.ex-textarea.is-wrong{border-color:var(--coral)}.ex-blank-line{font-size:var(--t-fluid-lg);font-weight:var(--w-display);letter-spacing:-.6px;color:var(--ink-strong);flex-wrap:wrap;align-items:baseline;gap:6px;line-height:1.5;display:flex}:root[data-lang=km] .ex-blank-line{letter-spacing:0}.ex-blank-input{border:0;border-bottom:3px solid var(--teal);min-width:96px;font:inherit;color:var(--teal-ink);text-align:center;background:0 0;padding:2px 8px 4px}.ex-blank-input:focus{border-bottom-color:var(--teal-dark);background:color-mix(in srgb, var(--teal) 8%, transparent);outline:none}.ex-clue{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-body)}.ex-clue p{border-radius:var(--radius-sm);background:var(--gold-soft);color:var(--ink);align-items:center;gap:8px;padding:12px 14px;display:flex}.ex-clue-toggle{border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-display);cursor:pointer;align-items:center;gap:7px;padding:9px 14px;display:inline-flex}.ex-clue-toggle:hover{color:var(--gold-dark);border-color:var(--gold-soft)}.match{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.match-col{flex-direction:column;gap:10px;display:flex}.match-item{border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;width:100%;font-size:var(--t-md);font-weight:var(--w-strong);cursor:pointer;border-bottom-width:4px;align-items:center;gap:10px;padding:14px 15px;transition:border-color .14s,background .14s;display:flex}.match-item:hover:not(:disabled){background:var(--wash)}.match-item.is-active{border-color:var(--sky-ink);background:color-mix(in srgb, var(--sky-ink) 10%, transparent)}.match-item.is-linked{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 12%, transparent);color:var(--teal-ink)}.match-dot{border:2px solid var(--line-strong);border-radius:50%;flex:none;width:11px;height:11px}.match-item.is-linked .match-dot{border-color:var(--teal);background:var(--teal)}.match-item.is-active .match-dot{border-color:var(--sky-ink);background:var(--sky-ink)}.intro-card{border:2px solid var(--line);border-radius:var(--radius-xl);background:radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--teal) 10%, transparent), transparent 70%), var(--surface);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;align-items:center;gap:16px;padding:32px 24px;display:flex}.intro-english{font-size:var(--t-fluid-2xl);font-weight:var(--w-display);letter-spacing:-1.4px;color:var(--ink-strong);line-height:1.15}.intro-audio{justify-content:center;display:flex}.intro-meaning{align-items:center;gap:12px;display:flex}.intro-meaning p{font-size:var(--t-fluid-md);font-weight:var(--w-strong);color:var(--teal-ink);line-height:1.6}.intro-example{color:var(--muted);font-size:var(--t-md);font-weight:var(--w-body);font-style:italic;line-height:1.7}.note{border:2px solid var(--gold-soft);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--gold) 7%, var(--surface));flex-direction:column;gap:8px;padding:18px 20px;display:flex}.note-kind{color:var(--gold-dark);font-size:var(--t-xs);font-weight:var(--w-strong);align-items:center;gap:7px;display:inline-flex}:root[data-lang=km] .note-kind{font-size:var(--t-sm)}.note h3{font-size:var(--t-lg)}.note p{color:var(--ink);font-size:var(--t-md);font-weight:var(--w-body);line-height:1.75}.note-reason{color:var(--muted)!important;font-size:var(--t-sm)!important}.alphabet h3{font-size:var(--t-lg);margin-bottom:14px}.alphabet-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;display:grid}.alphabet-cue{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;display:flex}.alphabet-cue img{object-fit:contain;width:56px;height:56px}.alphabet-letter{font-size:var(--t-2xl);font-weight:var(--w-display);color:var(--teal-ink)}.alphabet-word{color:var(--muted);font-size:var(--t-xs);font-weight:var(--w-strong);line-height:1.4}.alphabet-cue .audio-main{border-radius:12px;width:40px;height:40px}.speak{flex-direction:column;gap:14px;display:flex}.speak-model{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);align-items:center;gap:18px;padding:24px;display:flex}.speak-model p{font-size:var(--t-fluid-md);font-weight:var(--w-display);letter-spacing:-.6px;color:var(--ink-strong);flex:1;line-height:1.35}:root[data-lang=km] .speak-model p{letter-spacing:0}.speak-label{font-size:var(--t-sm);font-weight:var(--w-strong)}.summary{border:2px solid var(--teal-soft);border-radius:var(--radius-xl);background:radial-gradient(120% 100% at 50% 0%, color-mix(in srgb, var(--teal) 14%, transparent), transparent 72%), var(--surface);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:44px 28px;display:flex;position:relative}.summary-badge{background:var(--teal);color:#fff;width:74px;height:74px;box-shadow:0 5px 0 var(--teal-dark);border-radius:26px;place-items:center;display:grid}.summary h2{font-size:var(--t-fluid-lg)}.summary p{max-width:44ch;color:var(--muted);font-size:var(--t-md);line-height:1.8}.summary-sparkle{color:var(--gold);animation:2.6s ease-in-out infinite twinkle;position:absolute;top:18px;right:22px}@keyframes twinkle{50%{opacity:.4;transform:scale(.85)rotate(18deg)}}.code{flex-direction:column;gap:16px;display:flex}.code-lang{background:var(--wash);color:var(--muted);font-family:var(--font-mono);font-size:var(--t-xs);font-weight:var(--w-body);text-transform:uppercase;border-radius:8px;align-self:flex-start;padding:4px 11px}.code-editor{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);width:100%;color:var(--ink);font-family:var(--font-mono);font-size:var(--t-sm);tab-size:2;resize:vertical;padding:18px;line-height:1.7}.code-editor:focus{border-color:var(--sky-ink);outline:none}.code-editor.is-correct{border-color:var(--teal)}.code-editor.is-wrong{border-color:var(--coral)}.code-output{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);padding:14px 16px}.code-output-head{color:var(--muted);font-size:var(--t-xs);font-weight:var(--w-strong);align-items:center;gap:6px;display:inline-flex}.code-output pre{font-family:var(--font-mono);font-size:var(--t-sm);white-space:pre-wrap;margin:8px 0 0;line-height:1.7}.code-output-error{border-color:var(--coral-soft)}.code-output-error .code-output-head{color:var(--coral)}.code-line{border:2px dashed var(--line);border-radius:var(--radius-md);background:var(--surface-2);flex-wrap:wrap;gap:8px;min-height:64px;padding:14px;display:flex}.code-line.is-correct{border-style:solid;border-color:var(--teal)}.code-line.is-wrong{border-style:solid;border-color:var(--coral)}.code-bank{flex-wrap:wrap;gap:8px;display:flex}.code-token{border:2px solid var(--line);background:var(--surface);font-family:var(--font-mono);font-size:var(--t-sm);font-weight:var(--w-body);cursor:pointer;border-bottom-width:4px;border-radius:10px;padding:9px 13px}.code-token:active:not(:disabled){border-bottom-width:2px;transform:translateY(2px)}.code-token.is-used{opacity:.28;cursor:default}.code-token.is-chosen{border-color:var(--sky)}.code-lines{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);overflow:hidden}.code-line-row{width:100%;color:var(--ink);font-family:var(--font-mono);font-size:var(--t-sm);text-align:left;cursor:pointer;background:0 0;border:0;gap:14px;padding:7px 14px;line-height:1.7;display:flex}.code-lines li:not(:last-child) .code-line-row{border-bottom:1px solid color-mix(in srgb, var(--line) 50%, transparent)}button.code-line-row:hover:not(:disabled){background:var(--wash)}.code-line-row.is-picked{background:color-mix(in srgb, var(--sky-ink) 14%, transparent)}.code-line-row.is-active{background:color-mix(in srgb, var(--gold) 18%, transparent)}.code-line-row.is-answer{background:color-mix(in srgb, var(--teal) 16%, transparent)}.code-line-no{width:22px;color:var(--faint);text-align:right;-webkit-user-select:none;user-select:none;flex:none}.code-line-row code{white-space:pre-wrap}.trace{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:10px;padding:16px;display:flex}.trace-nav{align-items:center;gap:12px;display:flex}.trace-btn{border:2px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink);font-size:var(--t-md);font-weight:var(--w-display);cursor:pointer;border-radius:10px;place-items:center;display:grid}.trace-btn:disabled{color:var(--faint);cursor:default}.trace-count{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-display)}.trace-explanation{font-size:var(--t-md);font-weight:var(--w-body);line-height:1.7}.trace-vars{flex-wrap:wrap;gap:7px;display:flex}.trace-vars code{background:var(--wash);font-family:var(--font-mono);font-size:var(--t-xs);border-radius:8px;padding:4px 9px}.code-preview-title{font-size:var(--t-lg);font-weight:var(--w-display)}.preview-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.preview-card{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;text-align:left;border-bottom-width:4px;flex-direction:column;gap:10px;padding:14px;display:flex;position:relative}.preview-card.is-selected{border-color:var(--teal)}.preview-card.is-correct{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 10%, transparent)}.preview-card.is-wrong{border-color:var(--coral);background:color-mix(in srgb, var(--coral) 10%, transparent)}.preview-key{background:var(--wash);width:20px;height:20px;color:var(--faint);font-size:var(--t-xs);font-weight:var(--w-display);border-radius:6px;place-items:center;display:grid;position:absolute;top:8px;right:10px}.preview-render{color:#222;flex-direction:column;gap:5px;padding:18px 14px;display:flex}.preview-render b{font-size:var(--t-md);font-weight:var(--w-display)}.preview-render span{font-size:var(--t-sm);font-weight:var(--w-body)}.preview-code{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--muted);white-space:pre-wrap;margin:0;line-height:1.6}.player-foot{border-top:2px solid var(--line);background:var(--surface);transition:background .2s;position:sticky;bottom:0}.player-foot.is-correct{border-top-color:var(--teal);background:color-mix(in srgb, var(--teal) 10%, var(--surface))}.player-foot.is-wrong{border-top-color:var(--coral);background:color-mix(in srgb, var(--coral) 9%, var(--surface))}.player-foot-inner{max-width:760px;padding:18px var(--gutter) calc(18px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.verdict{align-items:flex-start;gap:14px;display:flex}.verdict-mark{color:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.verdict-correct{background:var(--teal)}.verdict-wrong{background:var(--coral)}.verdict-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.verdict-copy>b{font-size:var(--t-lg);font-weight:var(--w-display)}.player-foot.is-correct .verdict-copy>b{color:var(--teal-ink)}.player-foot.is-wrong .verdict-copy>b{color:var(--coral)}.verdict-copy span{font-size:var(--t-md);font-weight:var(--w-body);line-height:1.6}.verdict-note{color:var(--muted);font-size:var(--t-sm)!important}.player-actions{align-items:center;gap:12px;display:flex}.player-primary{flex:1;max-width:260px;margin-left:auto}.player-keys{color:var(--faint);font-size:var(--t-xs);font-weight:var(--w-body)}.player-keys kbd{border:1px solid var(--line);background:var(--surface);font-family:var(--font);font-size:var(--t-xs);font-weight:var(--w-display);border-bottom-width:2px;border-radius:5px;padding:1px 6px;display:inline-block}.modal{z-index:60;background:color-mix(in srgb, var(--ink-strong) 45%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{border:2px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow-pop);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:30px 26px;animation:.18s ease-out both pop-in;display:flex}.modal-icon-locked{background:var(--track);color:var(--muted)}.modal-icon{background:var(--gold-soft);width:56px;height:56px;color:var(--gold-dark);border-radius:18px;place-items:center;display:grid}.modal-card h2{font-size:var(--t-xl)}.modal-card p{font-size:var(--t-md);line-height:1.7}.modal-actions{flex-direction:column;gap:8px;width:100%;margin-top:8px;display:flex}.finish{min-height:100vh;min-height:100dvh;padding:72px var(--gutter);text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex;position:relative;overflow:hidden}.finish-badge{background:var(--gold);color:#fff;width:100px;height:100px;box-shadow:0 7px 0 var(--gold-dark);border-radius:34px;place-items:center;animation:.4s cubic-bezier(.34,1.56,.64,1) both pop-in;display:grid}.finish h1{font-size:var(--t-fluid-2xl)}.finish-lede{max-width:46ch;color:var(--muted);font-size:var(--t-md);line-height:1.8}.finish-stats{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:8px;display:flex}.finish-stat{border-radius:var(--radius-md);background:var(--line);min-width:128px;padding:3px}.finish-stat-label{color:#fff;font-size:var(--t-xs);font-weight:var(--w-strong);padding:7px 14px 4px;display:block}:root[data-lang=km] .finish-stat-label{font-size:var(--t-sm)}.finish-stat b{background:var(--surface);color:var(--ink-strong);font-size:var(--t-2xl);font-weight:var(--w-display);border-radius:14px;padding:12px 14px;display:block}.finish-stat-xp{background:var(--gold)}.finish-stat-xp b{color:var(--gold-dark)}.finish-stat:not(.finish-stat-xp) .finish-stat-label{color:var(--muted)}.finish-points{color:var(--purple-ink);font-size:var(--t-md);font-weight:var(--w-display);align-items:center;gap:7px;display:inline-flex}.finish-goal{margin-top:4px}.finish-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti span{border-radius:3px;width:10px;height:16px;animation:2.4s ease-in forwards fall;position:absolute;top:-20px}@keyframes fall{to{opacity:0;transform:translateY(105vh)rotate(540deg)}}@media (max-width:620px){.match{gap:10px}.match-item{font-size:var(--t-md);padding:12px}.player-body{padding:20px 16px 32px}.player-top,.player-foot-inner{padding-left:16px;padding-right:16px}.player-primary{max-width:none}.player-keys{display:none}.ex-bubble{max-width:100%;font-size:var(--t-md)}.finish{padding:48px 16px}}.boot{min-height:100vh;place-items:center;min-height:100dvh;display:grid}.welcome{max-width:1200px;padding:0 var(--gutter) 72px;margin:0 auto}.welcome-top{align-items:center;gap:10px;padding:18px 0;display:flex}.welcome-signin{border:2px solid var(--line);border-radius:var(--radius);color:var(--ink);font-size:var(--t-sm);font-weight:var(--w-display);letter-spacing:.3px;padding:10px 18px;transition:border-color .16s,color .16s}.welcome-signin:hover{border-color:var(--teal);color:var(--teal-ink)}.welcome-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:48px;padding:56px 0 72px;display:grid}.welcome-copy{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.welcome-copy h1{font-size:var(--t-fluid-3xl);letter-spacing:-2.2px;line-height:1.04}:root[data-lang=km] .welcome-copy h1{font-size:var(--t-fluid-xl);letter-spacing:0;line-height:1.6}.hl{color:var(--teal-ink);z-index:0;display:inline-block;position:relative}.hl:after{content:"";background:var(--teal-soft);z-index:-1;border-radius:6px;height:.2em;position:absolute;bottom:.05em;left:-3px;right:-3px}.welcome-lede{max-width:52ch;color:var(--muted);font-size:var(--t-fluid-sm);line-height:1.75}.welcome-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-badges{flex-wrap:wrap;gap:10px;display:flex}.hero-badge{border:2px solid var(--teal-soft);background:var(--wash);color:var(--teal-ink);font-size:var(--t-xs);font-weight:var(--w-display);letter-spacing:.6px;border-radius:999px;align-items:center;gap:9px;padding:9px 17px 9px 13px;display:inline-flex}.hero-badge-ai{border-color:var(--purple-soft);background:var(--purple-soft);color:var(--purple-ink)}.hero-badge-dot{background:var(--teal);border-radius:50%;width:9px;height:9px;animation:2.4s infinite hero-pulse;box-shadow:0 0 #58cc0299}@keyframes hero-pulse{70%{box-shadow:0 0 0 10px #58cc0200}to{box-shadow:0 0 #58cc0200}}.hero-line{display:inline-block}.hero-stage{place-items:center;min-height:640px;display:grid;position:relative}.hero-stage-glow{aspect-ratio:1;filter:blur(26px);background:radial-gradient(circle,#d7ffb8b3,#ddf4ff80 45%,#0000 68%);border-radius:50%;width:82%;animation:7s ease-in-out infinite hero-breathe;position:absolute}:root[data-theme=dark] .hero-stage-glow{background:radial-gradient(circle,#58cc0238,#1c35438c 45%,#0000 68%)}@keyframes hero-breathe{50%{opacity:.8;transform:scale(1.1)}}.hero-scene{cursor:grab;touch-action:pan-y;width:100%;height:640px;display:block;position:relative}.hero-scene:active{cursor:grabbing}.hero-phone-flat{width:min(300px,74%);box-shadow:var(--shadow-float);background:linear-gradient(160deg,#f0f4f7,#cfd8de);border-radius:44px;padding:9px;position:relative}@media (prefers-reduced-motion:reduce){.hero-badge-dot,.hero-stage-glow{animation:none}}.welcome-features{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.welcome-feature{flex-direction:column;gap:12px;display:flex}.welcome-feature h3{font-size:var(--t-lg)}.welcome-feature p{font-size:var(--t-md);line-height:1.75}.welcome-feature-icon{border-radius:17px;place-items:center;width:52px;height:52px;display:grid}.welcome-feature-teal{background:var(--teal-soft);color:var(--teal-ink)}.welcome-feature-gold{background:var(--gold-soft);color:var(--gold-dark)}.welcome-feature-purple{background:var(--purple-soft);color:var(--purple-ink)}.welcome-courses{padding:72px 0 0}.welcome-courses h2{font-size:var(--t-fluid-lg);margin-bottom:20px}.welcome-courses ul{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.welcome-courses li{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:14px;padding:14px 16px;display:flex}.welcome-courses li div{flex-direction:column;min-width:0;display:flex}.welcome-courses li b{font-size:var(--t-md)}.welcome-courses li span{font-size:var(--t-sm);line-height:1.5}.welcome-course-badge{background:var(--wash);width:44px;height:36px;color:var(--muted);font-size:var(--t-xs);font-weight:var(--w-display);border-radius:11px;flex:none;place-items:center;display:grid}.welcome-foot{border-top:2px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;margin-top:72px;padding-top:32px;display:flex}.welcome-foot p{font-size:var(--t-sm);flex:1}.welcome-foot-link{color:var(--teal-ink);font-size:var(--t-sm);font-weight:var(--w-display)}.welcome-foot-legal{flex-wrap:wrap;flex-basis:100%;gap:8px 20px;display:flex}.welcome-foot-legal a{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-display)}.welcome-foot-legal a:hover{color:var(--teal-ink)}.welcome-foot-link:hover{text-decoration:underline}@media (max-width:940px){.welcome-hero{grid-template-columns:1fr;gap:16px;padding:32px 0 56px}.hero-stage{min-height:440px}.hero-scene{height:440px}}@media (max-width:560px){.welcome-signin{display:none}.welcome-actions{flex-direction:column;width:100%}.welcome-actions>a,.welcome-actions .press{width:100%}}.auth{min-height:100vh;flex-direction:column;min-height:100dvh;display:flex}.auth-top{width:100%;max-width:1200px;padding:18px var(--gutter);align-items:center;gap:10px;margin:0 auto;display:flex}.auth-body{padding:24px var(--gutter) 72px;flex:1;place-items:center;display:grid}.auth-card{border:2px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);width:min(440px,100%);box-shadow:var(--shadow-card);flex-direction:column;gap:16px;padding:34px 30px;display:flex;position:relative}.auth-spark{color:var(--purple);position:absolute;top:18px;right:22px}.auth-card h1{font-size:var(--t-3xl)}.auth-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;display:grid}@media (max-width:460px){.auth-row{grid-template-columns:minmax(0,1fr)}}.auth-switch{font-size:var(--t-sm);text-align:center}.auth-link{color:var(--teal-ink);font-weight:var(--w-display)}.auth-link:hover{text-decoration:underline}.review-list{flex-direction:column;gap:10px;display:flex}.review-item{align-items:center;gap:18px;display:flex}.review-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.review-copy b{font-size:var(--t-lg)}.review-copy span{font-size:var(--t-sm);line-height:1.6}.review-mastery{flex:none;width:120px}.review-mastery-label{font-size:var(--t-xs);font-weight:var(--w-strong);margin-bottom:5px;display:block}@media (max-width:520px){.review-item{flex-direction:column;align-items:stretch;gap:12px}.review-mastery{width:100%}}.practice-card{border-color:var(--teal-soft);background:radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--teal) 10%, transparent), transparent 70%), var(--surface);flex-direction:column;align-items:flex-start;gap:16px;display:flex}.practice-icon{background:var(--teal);color:#fff;width:60px;height:60px;box-shadow:0 4px 0 var(--teal-dark);border-radius:19px;place-items:center;display:grid}.practice-card h2{font-size:var(--t-2xl)}.practice-meta{flex-wrap:wrap;gap:8px;display:flex}.practice-why,.practice-weak{flex-direction:column;gap:10px;margin-top:16px;display:flex}.practice-why-list{font-size:var(--t-sm);font-weight:var(--w-body);color:var(--muted);flex-wrap:wrap;gap:22px;display:flex}.practice-why-list b{color:var(--ink-strong);font-size:var(--t-lg)}.practice-weak-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.practice-weak-list li{border-radius:var(--radius-sm);background:var(--wash);flex-direction:column;gap:2px;padding:11px 13px;display:flex}.practice-weak-list b{font-size:var(--t-md)}.practice-weak-list span{font-size:var(--t-sm);line-height:1.5}.board-optin{border-color:var(--gold-soft);flex-direction:column;align-items:flex-start;gap:14px;display:flex}.board-optin-icon{background:var(--gold);color:#fff;width:60px;height:60px;box-shadow:0 4px 0 var(--gold-dark);border-radius:19px;place-items:center;display:grid}.board-optin h2{font-size:var(--t-2xl)}.board-optin p{max-width:48ch;font-size:var(--t-md);line-height:1.75}.board-alias{width:min(320px,100%)}.board{flex-direction:column;gap:8px;display:flex}.board-row{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:14px;padding:12px 16px;display:flex}.board-row.is-me{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 10%, transparent)}.board-row.is-podium .board-rank{color:#fff;border-radius:10px}.board-row.rank-1 .board-rank{background:var(--gold)}.board-row.rank-2 .board-rank{background:#b8c4cc}.board-row.rank-3 .board-rank{background:#cd7f32}.board-rank{width:30px;height:30px;color:var(--faint);font-size:var(--t-sm);font-weight:var(--w-display);flex:none;place-items:center;display:grid}.board-avatar{background:var(--wash);width:42px;height:42px;color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-display);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.board-avatar img{object-fit:cover;width:100%;height:100%}.board-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--t-md);font-weight:var(--w-strong);flex:1;overflow:hidden}.board-level{background:var(--wash);color:var(--muted);font-size:var(--t-xs);font-weight:var(--w-display);border-radius:8px;flex:none;padding:3px 9px}.board-score{font-size:var(--t-lg);font-weight:var(--w-display);color:var(--gold-dark);flex:none}.board-divider{text-align:center;letter-spacing:4px;padding:6px 0}.board-personal{margin-top:18px}.board-personal-grid{flex-wrap:wrap;gap:28px;margin-top:8px;display:flex}.board-personal-grid div{flex-direction:column;display:flex}.board-personal-grid b{font-size:var(--t-xl);font-weight:var(--w-display)}.board-personal-grid span{font-size:var(--t-xs);font-weight:var(--w-strong)}.profile-head{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.profile-avatar{background:var(--teal);color:#fff;width:68px;height:68px;font-size:var(--t-2xl);font-weight:var(--w-display);box-shadow:0 4px 0 var(--teal-dark);border-radius:22px;flex:none;place-items:center;display:grid}.profile-id{flex:220px;min-width:0}.profile-id h1{font-size:var(--t-3xl)}.profile-id p{font-size:var(--t-sm);margin-top:3px}.profile-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0;display:grid}.profile-stat{flex-direction:column;gap:4px;display:flex}.profile-stat b{font-size:var(--t-2xl);font-weight:var(--w-display)}.profile-stat span{font-size:var(--t-xs);font-weight:var(--w-strong)}.profile-stat-icon{border-radius:13px;place-items:center;width:42px;height:42px;margin-bottom:4px;display:grid}.profile-stat-coral{background:color-mix(in srgb, var(--coral) 13%, transparent);color:var(--coral)}.profile-stat-gold{background:color-mix(in srgb, var(--gold) 16%, transparent);color:var(--gold-dark)}.profile-stat-teal{background:color-mix(in srgb, var(--teal) 13%, transparent);color:var(--teal-ink)}.profile-stat-purple{background:color-mix(in srgb, var(--purple) 14%, transparent);color:var(--purple-ink)}.profile-course{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--muted);margin-top:8px}.objectives{flex-direction:column;gap:14px;margin-top:12px;display:flex}.objective-copy{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:6px;display:flex}.objective-copy b{font-size:var(--t-md);font-weight:var(--w-strong);line-height:1.5}.objective-copy span{font-size:var(--t-xs);font-weight:var(--w-display);flex:none}.profile-actions{flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px;display:flex}.main>.card+.card{margin-top:16px}.course-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.course-card{flex-direction:column;gap:12px;display:flex}.course-card.is-current{border-color:var(--teal)}.course-card h2{font-size:var(--t-xl)}.course-card p{font-size:var(--t-sm);flex:1;line-height:1.65}.course-badge{color:#fff;width:56px;height:44px;font-size:var(--t-sm);font-weight:var(--w-display);border-radius:13px;place-items:center;display:grid}.pricing-modal{align-items:start;padding:20px;overflow-y:auto}.pricing-card{border:2px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);width:min(560px,100%);box-shadow:var(--shadow-pop);flex-direction:column;gap:14px;margin:auto;padding:30px 26px 24px;animation:.18s ease-out both pop-in;display:flex;position:relative}.pricing-close{background:var(--wash);width:34px;height:34px;color:var(--muted);cursor:pointer;border:0;border-radius:12px;place-items:center;transition:color .16s,background .16s;display:grid;position:absolute;top:14px;right:14px}.pricing-close:hover{background:var(--track);color:var(--ink)}.pricing-head{flex-direction:column;gap:8px;padding-right:34px;display:flex}.pricing-eyebrow{background:var(--gold-soft);color:var(--gold-dark);font-size:var(--t-sm);font-weight:var(--w-strong);border-radius:999px;align-self:flex-start;align-items:center;gap:7px;padding:6px 13px;display:inline-flex}.pricing-head h2{font-size:var(--t-2xl);line-height:1.35}.pricing-head p{font-size:var(--t-md);line-height:1.6}.pricing-plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.pricing-plan{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2);flex-direction:column;gap:8px;padding:18px 14px 16px;display:flex;position:relative}.pricing-plan.is-best{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 10%, var(--surface));box-shadow:0 var(--lip) 0 var(--gold-dark)}.pricing-badge{background:var(--gold);color:#3c2f00;font-size:var(--t-xs);font-weight:var(--w-strong);white-space:nowrap;border-radius:999px;padding:3px 10px;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.pricing-plan-label{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-strong)}.pricing-price{flex-direction:column;gap:1px;display:flex}.pricing-price b{font-size:var(--t-3xl);letter-spacing:-.5px;color:var(--ink-strong)}.pricing-period{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-strong)}.pricing-features{flex-direction:column;gap:6px;margin-top:2px;display:flex}.pricing-features li{color:var(--muted);font-size:var(--t-xs);font-weight:var(--w-body);align-items:flex-start;gap:6px;line-height:1.45;display:flex}.pricing-features svg{color:var(--teal);flex:none;margin-top:2px}.pricing-actions{flex-direction:column;gap:10px;margin-top:4px;display:flex}.pricing-cta{box-shadow:0 var(--lip) 0 #1a7fae;background:linear-gradient(#37b0e8,#229ed9);text-decoration:none}.pricing-cta:active{box-shadow:0 0 #1a7fae}.pricing-note{font-size:var(--t-sm);text-align:center;line-height:1.6}@media (max-width:560px){.pricing-plans{grid-template-columns:minmax(0,1fr);gap:14px}.pricing-plan{flex-flow:wrap;align-items:baseline;column-gap:10px}.pricing-price{flex-direction:row;align-items:baseline;gap:6px}.pricing-features{flex-basis:100%}.pricing-badge{left:auto;right:14px;transform:none}}.profile-settings-link{border:2px solid var(--line);color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-display);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;transition:color .16s,border-color .16s;display:inline-flex}.profile-settings-link:hover{color:var(--ink);border-color:var(--line-strong)}.profile-level{align-items:center;gap:14px;margin:12px 0 10px;display:flex}.profile-level-badge{background:var(--gold);color:#3c2f00;width:48px;height:48px;font-size:var(--t-xl);font-weight:var(--w-display);box-shadow:0 var(--lip) 0 var(--gold-dark);border-radius:16px;flex:none;place-items:center;display:grid}.profile-level-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.profile-level-copy b{font-size:var(--t-lg)}.profile-level-copy span{font-size:var(--t-sm);font-weight:var(--w-body)}.profile-badges{font-size:var(--t-sm);font-weight:var(--w-strong);margin-top:10px}.profile-goals{flex-direction:column;gap:16px;margin-top:12px;display:flex}.profile-goal-head{font-size:var(--t-sm);align-items:center;gap:8px;margin-bottom:8px;display:flex}.profile-goal-head b{font-size:var(--t-lg)}.profile-goal-head span{font-size:var(--t-sm);font-weight:var(--w-strong)}.profile-chests{align-items:center;gap:14px;display:flex}.profile-chests-copy{flex-direction:column;flex:1;min-width:0;display:flex}.profile-chests-copy b{font-size:var(--t-lg)}.profile-plan{flex-wrap:wrap;gap:10px 28px;margin-top:12px;display:flex}.profile-plan li{flex-direction:column;gap:2px;display:flex}.profile-plan span{font-size:var(--t-xs);font-weight:var(--w-strong)}.profile-plan b{font-size:var(--t-md)}.set-card+.set-card{margin-top:16px}.set-rows{flex-direction:column;margin-top:6px;display:flex}.set-row{border-top:1px solid var(--line);align-items:center;gap:14px;padding:14px 0;display:flex}.set-rows>:first-child .set-row,.set-rows>.set-row:first-child{border-top:0}.set-icon{background:var(--wash);width:38px;height:38px;color:var(--muted);border-radius:12px;flex:none;place-items:center;display:grid}.set-row.is-danger .set-icon{background:color-mix(in srgb, var(--coral) 12%, transparent);color:var(--coral)}.set-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.set-copy b{font-size:var(--t-md);font-weight:var(--w-strong)}.set-copy small{color:var(--muted);font-size:var(--t-sm);font-weight:var(--w-body);overflow-wrap:anywhere;line-height:1.5}.set-action{flex:none;align-items:center;gap:8px;display:flex}.set-link{font-size:var(--t-sm);font-weight:var(--w-display);color:var(--teal-ink);white-space:nowrap}.set-hint{font-size:var(--t-sm);font-weight:var(--w-strong)}.set-switch{border-top:1px solid var(--line);padding:14px 0}.set-rows>.set-switch:first-child{border-top:0}.set-editor{border-radius:var(--radius-md);background:var(--surface-2);flex-direction:column;gap:12px;margin:0 0 16px;padding:16px;animation:.16s ease-out both pop-in;display:flex}.set-editor-actions{align-items:center;gap:8px;display:flex}.set-danger-note{font-size:var(--t-sm);font-weight:var(--w-strong);color:var(--coral);line-height:1.5}.set-notice{border:2px solid var(--teal-soft);border-radius:var(--radius);background:color-mix(in srgb, var(--teal) 10%, transparent);color:var(--teal-ink);font-size:var(--t-sm);font-weight:var(--w-strong);margin-bottom:14px;padding:12px 16px}.board-optout{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.shell-wide{background:var(--bg)}.shell-wide .shell-body{grid-template-columns:var(--rail) minmax(0, 1fr)}.shell-wide .main{max-width:900px}.ielts-workspace{padding:8px 16px 40px}.ielts-heading{margin:8px 0 28px}.ielts-heading h1{font-size:var(--t-fluid-xl);margin-bottom:12px;line-height:1.2}.ielts-heading p,.ielts-section>p{color:var(--muted);margin:8px 0 20px}.ielts-track{border:2px solid var(--line);border-radius:var(--radius-sm);gap:4px;max-width:480px;padding:4px;display:flex}.ielts-track button{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:12px 16px}.ielts-track button[aria-pressed=true]{background:var(--teal);color:#173600;font-weight:var(--w-display);box-shadow:0 3px 0 var(--teal-dark)}.ielts-tabs{border-bottom:2px solid var(--line);gap:28px;margin:22px 0 28px;display:flex}.ielts-tabs a{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;flex-shrink:0;margin-bottom:-2px;padding:14px 0}.ielts-tabs a[aria-current]{color:var(--teal-ink);border-color:var(--teal)}.ielts-section{margin:32px 0}.ielts-section h2,.ielts-lesson h2,.ielts-submit-confirm h2{font-size:var(--t-xl);margin-bottom:10px}.ielts-section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ielts-section-title h2,.ielts-section-title h3{margin:0}.ielts-section-title>span{font-size:var(--t-sm);color:var(--muted)}.ielts-section-title a,.ielts-text-link{color:var(--teal-ink);font-weight:var(--w-strong)}.ielts-text-link{padding:8px 0;display:block}.ielts-skill-list{grid-template-columns:1fr;gap:14px;display:grid}.ielts-skill-row{text-align:left;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;align-items:center;gap:16px;padding:22px 18px;display:flex}.ielts-skill-row>svg{flex-shrink:0}.ielts-skill-row>span{flex:1}.ielts-skill-row strong,.ielts-skill-row span span,.ielts-skill-row small{display:block}.ielts-skill-row span span{font-size:var(--t-sm);color:var(--muted);margin:6px 0 10px;line-height:1.5}.ielts-skill-row small{font-size:var(--t-xs);color:var(--muted)}.ielts-skill-row.selected{border-color:var(--teal);background:var(--wash)}.ielts-skill-row:hover,.ielts-test-row:hover,.ielts-lesson-row:hover{background:var(--wash)}.ielts-lesson-list{border-top:1px solid var(--line)}.ielts-lesson-row{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:18px 6px;display:flex}.ielts-lesson-row>span:nth-child(2){flex:1}.ielts-lesson-row small,.ielts-test-row small{color:var(--muted);font-size:var(--t-sm);margin-top:4px;display:block}.ielts-lesson-number{border:2px solid var(--line);width:38px;height:38px;font-size:var(--t-sm);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.ielts-lesson-number.done{background:var(--teal-soft);border-color:var(--teal);color:var(--teal-ink)}.ielts-test-list{flex-direction:column;gap:12px;display:flex}.ielts-test-row{border:2px solid var(--line);border-radius:var(--radius);align-items:center;gap:18px;margin-bottom:10px;padding:20px;display:flex}.ielts-test-list .ielts-test-row{margin:0}.ielts-test-row>span:first-of-type{flex:1}.ielts-test-row>svg{flex-shrink:0}.ielts-filter{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.ielts-filter a{border:1px solid var(--line);font-size:var(--t-sm);border-radius:10px;padding:8px 14px}.ielts-filter a[aria-current]{background:var(--teal-soft);border-color:var(--teal);color:var(--teal-ink)}.ielts-disclaimer{border-top:1px solid var(--line);color:var(--muted);font-size:var(--t-sm);margin-top:48px;padding-top:24px;line-height:1.6}.ielts-disclaimer details{margin-top:12px}.ielts-disclaimer ul,.ielts-objectives ul{padding-left:22px;list-style:outside}.ielts-disclaimer a{text-decoration:underline}.ielts-loading{justify-items:center;gap:18px;padding:70px 20px;display:grid}.ielts-back{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;margin-bottom:20px;padding:8px 0;display:inline-flex}.ielts-lesson{max-width:760px;margin:auto}.ielts-objectives{background:var(--wash);border-left:4px solid var(--teal);margin-bottom:36px;padding:24px}.ielts-objectives li{margin:8px 0}.ielts-lesson-section{border-bottom:1px solid var(--line);margin:36px 0;padding-bottom:30px}.ielts-prose{white-space:pre-wrap;line-height:1.8;font-weight:var(--w-quiet);overflow-wrap:anywhere}.ielts-example{white-space:pre-wrap;border-left:3px solid var(--sky-ink);background:var(--sky);line-height:1.8;font-weight:var(--w-quiet);margin:24px 0;padding:20px 24px}.ielts-reflection{margin:24px 0}.ielts-reflection label>span{margin:10px 0;display:block}.ielts-reflection small,.ielts-recorder small{color:var(--muted);font-size:var(--t-xs);margin-top:8px;display:block}.ielts-reflection textarea,.ielts-question textarea,.ielts-short-answer{border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);font-family:var(--font);font-size:var(--t-md);resize:vertical;padding:14px;line-height:1.65}.ielts-explanation summary,.ielts-answer-review summary,.ielts-transcript summary{cursor:pointer;font-weight:var(--w-strong);color:var(--teal-ink);padding:12px 0}.ielts-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;display:flex}.ielts-outline{border-top:1px solid var(--line);margin:24px 0}.ielts-outline>div{border-bottom:1px solid var(--line);padding:20px 0}.ielts-outline strong{font-size:var(--t-xl)}.ielts-outline span{float:right;color:var(--muted)}.ielts-outline p{margin-top:14px}.ielts-mode{border:0;margin:30px 0;padding:0}.ielts-mode legend{font-size:var(--t-xl);margin-bottom:14px}.ielts-mode label{border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:14px;margin-bottom:12px;padding:18px;display:flex}.ielts-mode label:has(input:checked){border-color:var(--teal);background:var(--wash)}.ielts-mode input,.ielts-answer-options input,.ielts-self-review input{accent-color:var(--teal-dark);flex-shrink:0;width:20px;height:20px;margin-top:3px}.ielts-mode label span span{font-size:var(--t-sm);color:var(--muted);margin-top:6px;display:block}.ielts-notice{background:var(--gold-soft);border-radius:var(--radius-sm);color:var(--ink);margin:18px 0;padding:18px}.ielts-progress-skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px;display:grid}.ielts-progress-skills p{font-size:var(--t-sm);color:var(--muted);margin-top:10px}.ielts-profile-link{border:2px solid var(--line);border-radius:var(--radius);align-items:center;gap:16px;margin:20px 0;padding:20px;display:flex}.ielts-profile-link>span:nth-child(2){flex:1}.ielts-profile-link strong,.ielts-profile-link .muted{display:block}.ielts-profile-link .muted{font-size:var(--t-sm);margin-top:3px}.ielts-runner{background:var(--bg);min-height:100vh;padding-bottom:30px}.ielts-runner-header{border-bottom:1px solid var(--line);align-items:center;height:72px;padding:12px 32px;display:flex}.ielts-runner-toolbar{z-index:15;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 32px;display:flex;position:sticky;top:0}.ielts-runner-toolbar .ielts-back{margin:0}.ielts-runner-status{font-size:var(--t-sm);color:var(--muted);align-items:center;gap:24px;display:flex}.ielts-runner-status time{font-size:var(--t-xl);font-variant-numeric:tabular-nums;font-weight:var(--w-display);color:var(--ink)}.ielts-runner-status .ielts-time-low{color:var(--coral)}.ielts-runner-error{max-width:1200px;margin:20px auto;padding:0 24px}.ielts-part-tabs{border-bottom:1px solid var(--line);gap:8px;max-width:1440px;margin:auto;padding:20px 32px;display:flex;overflow-x:auto}.ielts-part-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--ink);white-space:nowrap;font:inherit;font-size:var(--t-sm);cursor:pointer;border-radius:10px;padding:10px 16px}.ielts-part-tabs button[aria-current]{border-color:var(--teal);color:var(--teal-ink);background:var(--teal-soft)}.ielts-part-tabs button:disabled{opacity:.5;cursor:not-allowed}.ielts-timing-note{max-width:1440px;color:var(--muted);font-size:var(--t-sm);margin:auto;padding:12px 32px}.ielts-test-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1440px;margin:auto;display:grid}.ielts-test-source{border-right:1px solid var(--line);align-self:start;min-width:0;max-height:calc(100vh - 90px);padding:32px;position:sticky;top:76px;overflow-y:auto}.ielts-test-source h1{font-size:var(--t-2xl);margin-bottom:18px}.ielts-passage{font-weight:var(--w-quiet);margin-top:28px;line-height:1.85}.ielts-passage p{white-space:pre-wrap;margin-bottom:22px}.ielts-questions{min-width:0;padding:32px}.ielts-questions h2{font-size:var(--t-xl)}.ielts-test-layout-single{max-width:1000px;display:block}.ielts-test-layout-single .ielts-test-source{border:0;max-height:none;padding-bottom:0;position:static;overflow:visible}.ielts-question{border-bottom:1px solid var(--line);padding:26px 0;scroll-margin-top:115px}.ielts-question-heading{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.ielts-question h3{font-size:var(--t-md);font-weight:var(--w-body);white-space:pre-wrap;flex:1;line-height:1.65}.ielts-question h3>span{font-weight:var(--w-display)}.ielts-flag{color:var(--muted);border:1px solid var(--line);font:inherit;font-size:var(--t-xs);cursor:pointer;background:0 0;border-radius:6px;padding:4px 7px}.ielts-flag[aria-pressed=true]{color:var(--ink);background:var(--gold-soft);border-color:var(--gold)}.ielts-word-rule{font-size:var(--t-sm);color:var(--muted);margin-bottom:12px}.ielts-answer-options{border:0;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.ielts-answer-options label{border:1px solid var(--line);cursor:pointer;font-weight:var(--w-quiet);border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.ielts-answer-options label.selected{background:var(--wash);border-color:var(--teal)}.ielts-question input:disabled,.ielts-question textarea:disabled{opacity:1;color:var(--ink);cursor:default}.ielts-response-label{font-size:var(--t-sm);color:var(--muted);margin:20px 0 8px;display:block}.ielts-word-count{color:var(--muted);font-size:var(--t-sm);justify-content:space-between;gap:12px;margin:8px 0;display:flex}.ielts-word-warning{color:var(--coral);font-size:var(--t-sm);margin-top:8px}.ielts-runner-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:1440px;margin:auto;padding:24px 32px;display:flex}.ielts-runner-footer .ielts-actions{margin:0}.ielts-question-nav{flex-wrap:wrap;gap:7px;display:flex}.ielts-question-nav a{border:1px solid var(--line);width:36px;height:36px;font-size:var(--t-sm);border-radius:8px;place-items:center;display:grid}.ielts-question-nav a.answered{background:var(--teal-soft);border-color:var(--teal)}.ielts-question-nav a.flagged{border-bottom:4px solid var(--gold)}.ielts-submit-confirm{border:2px solid var(--teal);border-radius:var(--radius);background:var(--wash);max-width:700px;margin:20px auto;padding:24px}.ielts-result-summary{max-width:1200px;margin:32px auto;padding:0 32px}.ielts-result-summary h1{font-size:var(--t-3xl)}.ielts-result-summary>p{color:var(--muted);margin-top:20px}.ielts-result-scores{flex-wrap:wrap;gap:36px;margin-top:24px;display:flex}.ielts-result-scores>div{flex-direction:column;gap:5px;display:flex}.ielts-result-scores span{font-size:var(--t-2xl)}.ielts-result-scores small{color:var(--muted)}.ielts-answer-review{background:var(--wash);border-left:4px solid var(--teal);font-size:var(--t-sm);margin-top:20px;padding:18px}.ielts-question.incorrect .ielts-answer-review{border-color:var(--coral)}.ielts-answer-review>p{margin:10px 0}.ielts-self-review{border:0;margin:18px 0 0;padding:0}.ielts-self-review legend{font-weight:var(--w-strong);margin-bottom:12px}.ielts-self-review label{align-items:flex-start;gap:10px;margin:12px 0;display:flex}.ielts-self-review small{color:var(--muted);display:block}.ielts-recorder{border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px}.ielts-recorder .ielts-actions{margin-top:0}.ielts-recorder audio,.ielts-listening audio{width:100%;margin:16px 0}.ielts-recorder a{color:var(--teal-ink);font-size:var(--t-sm);display:block}.ielts-recorder p,.ielts-listening p{font-size:var(--t-sm);margin-top:12px}.ielts-recorder>label{font-size:var(--t-sm);margin:14px 0;display:block}.ielts-recorder input[type=file]{width:100%;max-width:100%;margin-top:6px;display:block}.ielts-recorder textarea{width:100%;min-height:100px;margin-top:8px}.ielts-listening{margin:20px 0}.ielts-timed-listening{background:var(--wash);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;max-width:1376px;margin:16px auto;padding:20px 32px;display:flex}.ielts-timed-listening>div{flex:1;min-width:220px}.ielts-timed-listening p{font-size:var(--t-sm);color:var(--muted);margin-top:8px}.ielts-timed-listening audio,.ielts-timed-listening[hidden],.ielts-listening audio:not([controls]){display:none}.ielts-stimulus{margin:24px 0}.ielts-stimulus figcaption{font-weight:var(--w-display);margin-bottom:14px}.ielts-stimulus p{font-size:var(--t-sm);font-weight:var(--w-quiet);margin-top:14px}.ielts-table-scroll{overflow-x:auto}.ielts-stimulus table{border-collapse:collapse;width:100%;font-size:var(--t-sm)}.ielts-stimulus td,.ielts-stimulus th{border:1px solid var(--line);text-align:left;padding:12px}.ielts-stimulus th{background:var(--wash)}.ielts-diagram-scroll{border:2px solid var(--line);border-radius:8px;overflow-x:auto}.ielts-diagram{background:var(--wash);min-width:560px;height:380px;position:relative}.ielts-diagram>span{z-index:1;font-size:var(--t-sm);background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:6px;padding:7px;line-height:1.4;position:absolute;transform:translate(-50%,-50%)}.ielts-diagram-lines{width:100%;height:100%;color:var(--ink);position:absolute;inset:0}.ielts-diagram-lines line{stroke:var(--muted);stroke-width:.45px}.ielts-diagram-lines text{fill:var(--ink);text-anchor:middle;font-size:3px}.ielts-diagram-lines polyline{fill:none;stroke:var(--line-strong);stroke-width:2.5px}.ielts-diagram-lines .ielts-map-river{stroke:var(--sky-ink);stroke-width:5px;opacity:.6}.ielts-diagram-hint{color:var(--muted);font-size:var(--t-xs);margin-top:8px;display:none}.ielts-map-panel{margin:24px 0}.ielts-map-panel h3{font-size:var(--t-lg);margin-bottom:12px}.ielts-chart-scroll{overflow-x:auto}.ielts-cartesian{width:100%;min-width:560px;height:auto;display:block}.ielts-chart-grid{stroke:var(--line);stroke-width:1px}.ielts-chart-axis{stroke:var(--muted);stroke-width:1.5px}.ielts-chart-tick,.ielts-chart-category,.ielts-chart-unit{fill:var(--ink);font-family:var(--font);font-size:14px}.ielts-chart-unit{font-weight:var(--w-strong)}.ielts-chart-legend{font-size:var(--t-sm);flex-wrap:wrap;gap:12px 20px;padding:12px 0;display:flex}.ielts-chart-legend span{align-items:center;gap:8px;display:flex}.ielts-chart-legend i{border-radius:3px;width:14px;height:14px;display:inline-block}.ielts-pie-comparison{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.ielts-pie h3{font-size:var(--t-lg);text-align:center}.ielts-pie svg{width:100%;display:block}.ielts-pie-value{fill:#fff;font-family:var(--font);font-size:15px;font-weight:var(--w-strong);paint-order:stroke;stroke:#222;stroke-width:.7px}.ielts-transcript{margin-top:24px}.ielts-study-entry{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ielts-study-entry a{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;gap:10px;padding:22px;display:flex}.ielts-study-entry a:hover{border-color:var(--green)}.ielts-study-entry span{color:var(--muted)}.ielts-preferences,.ielts-jev{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:24px 0;padding:24px}.ielts-preferences summary{font-weight:var(--w-strong);cursor:pointer}.ielts-preference-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin:20px 0;display:grid}.ielts-preference-grid label,.ielts-select-label{font-weight:var(--w-strong);flex-direction:column;gap:8px;display:flex}.ielts-preference-grid input,.ielts-preference-grid select,.ielts-select-label select{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:12px}.ielts-select-label{max-width:300px;margin:20px 0}.ielts-focus{border:0;flex-wrap:wrap;gap:18px;margin:20px 0;padding:0;display:flex}.ielts-focus legend{margin-bottom:12px}.ielts-focus label{align-items:center;gap:8px;display:flex}.ielts-recommendations{gap:20px;padding-left:24px;display:grid}.ielts-recommendations h3{margin:0}.ielts-recommendations p{margin:8px 0}.ielts-recommendations small{color:var(--muted)}.ielts-resource-list{gap:16px;display:grid}.ielts-resource-list article{border:1px solid var(--line);border-radius:14px;padding:22px}.ielts-resource-list h3{margin:8px 0}.ielts-resource-list small{color:var(--muted)}.ielts-history-table{border-collapse:collapse;text-align:left;width:100%}.ielts-history-table th,.ielts-history-table td{border-bottom:1px solid var(--line);padding:14px}.ielts-jev-assessment,.ielts-result-next{max-width:1120px;margin:28px auto}.ielts-jev-item{border-top:1px solid var(--line);padding:18px 0}.ielts-jev-item summary{cursor:pointer;font-weight:var(--w-strong)}.ielts-jev-criterion{background:var(--bg);border-radius:12px;margin:12px 0;padding:16px}.ielts-jev-criterion h3{margin-top:0}.ielts-jev-band strong{font-size:var(--t-3xl);margin-right:10px}.ielts-jev-band small{color:var(--muted);display:block}.ielts-jev-objective dl{flex-wrap:wrap;gap:24px;display:flex}.ielts-jev-objective dt{text-transform:capitalize;color:var(--muted)}.ielts-jev-objective dd{font-size:var(--t-xl);font-weight:var(--w-strong);margin:4px 0}@media (max-width:760px){.ielts-study-entry{grid-template-columns:1fr}.ielts-preferences,.ielts-jev{padding:18px}.ielts-jev-assessment,.ielts-result-next{margin:20px 16px}.ielts-tabs{overflow-x:auto}}.ielts-workspace :focus-visible,.ielts-runner :focus-visible{outline:3px solid var(--sky-ink);outline-offset:3px}@media (max-width:1150px){.shell-wide .shell-body{grid-template-columns:var(--rail-narrow) minmax(0, 1fr)}.ielts-skill-list{grid-template-columns:1fr}}@media (max-width:760px){.tabbar{overflow-x:auto}.tabbar .tab{flex:1 0 62px;min-width:62px}.shell-wide .shell-body{display:block}.ielts-workspace{padding:8px 0 30px}.ielts-heading h1{font-size:var(--t-3xl)}.ielts-track button{font-size:var(--t-sm);padding:10px 8px}.ielts-tabs{font-size:var(--t-sm);gap:22px;overflow-y:hidden}.ielts-test-row{gap:12px;padding:16px 12px}.ielts-test-row>span:last-child:not(:first-of-type){font-size:var(--t-xs)}.ielts-progress-skills{grid-template-columns:1fr}.ielts-outline span{float:none;margin-top:6px;display:block}.ielts-runner-header{height:60px;padding:10px 16px}.ielts-runner-toolbar{flex-wrap:wrap;gap:10px;padding:10px 16px}.ielts-runner-toolbar>strong{font-size:var(--t-sm)}.ielts-runner-status{justify-content:space-between;width:100%}.ielts-runner-status time{font-size:var(--t-lg)}.ielts-part-tabs{padding:14px 16px}.ielts-timing-note{padding:10px 16px}.ielts-test-layout{display:block}.ielts-test-source{border-right:0;border-bottom:1px solid var(--line);max-height:none;padding:24px 18px;position:static;overflow:visible}.ielts-questions{padding:24px 18px}.ielts-passage{max-height:55vh;padding-right:8px;overflow-y:auto}.ielts-runner-footer{padding:20px 16px}.ielts-submit-confirm{margin:16px}.ielts-result-summary{padding:0 18px}.ielts-result-scores{gap:24px}.ielts-diagram-hint{display:block}}.ielts-eyebrow{color:var(--teal-ink);font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.1em;margin-bottom:10px;display:block}.ielts-heading h1{letter-spacing:-.025em;max-width:680px;font-size:clamp(28px,3vw,42px)}.ielts-start{margin-top:0}.ielts-start h2{margin-bottom:18px}.ielts-study-entry{grid-template-columns:repeat(3,minmax(0,1fr))}.ielts-study-entry a{gap:12px;padding:24px;transition:border-color .15s,background .15s}.ielts-study-entry a:first-child{background:var(--wash);border-color:var(--teal)}.ielts-study-entry a:hover{background:var(--wash);border-color:var(--teal-ink)}.ielts-study-entry small{color:var(--teal-ink);font-variant-numeric:tabular-nums}.ielts-study-entry strong{font-size:var(--t-xl)}.ielts-study-entry span{font-size:var(--t-sm);line-height:1.65}.ielts-study-entry .ielts-entry-link{color:var(--teal-ink);font-weight:var(--w-strong);margin-top:auto;padding-top:12px}.ielts-writing-shortcut{font-size:var(--t-sm);color:var(--teal-ink);margin-top:16px;display:block}.ielts-resume{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.ielts-resume small,.ielts-resume strong{display:block}.ielts-resume small{color:var(--muted);font-size:var(--t-xs);margin-bottom:4px}.ielts-resume>span:last-child{color:var(--teal-ink);white-space:nowrap}.ielts-skill-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ielts-skill-row{border-width:1px;padding:20px}.ielts-skill-row>svg:last-child{width:16px}.ielts-search{font-size:var(--t-sm);flex-direction:column;gap:8px;margin:18px 0;display:flex}.ielts-search input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:12px;padding:14px 16px}.ielts-exam-brief{background:var(--wash);border-radius:16px;margin:24px 0;padding:24px}.ielts-exam-brief h2{font-size:var(--t-xl)}.ielts-exam-brief p,.ielts-exam-brief li{font-size:var(--t-sm);margin-top:10px;line-height:1.7}.ielts-exam-brief ul{margin:12px 0;padding-left:22px;list-style:outside}.ielts-audio-player{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin:24px 0;padding:22px;box-shadow:0 4px 18px #00000005}.ielts-audio-player audio{display:none}.ielts-audio-heading{align-items:center;gap:12px;display:flex}.ielts-audio-heading>svg{color:var(--teal-ink);flex-shrink:0}.ielts-audio-heading>div{flex:1;min-width:0}.ielts-audio-heading small,.ielts-audio-heading strong{display:block}.ielts-audio-heading small{letter-spacing:.07em;color:var(--muted);margin-bottom:4px;font-size:10px}.ielts-audio-heading strong{font-size:var(--t-md)}.ielts-audio-state{font-size:var(--t-xs);color:var(--teal-ink);background:var(--wash);white-space:nowrap;border-radius:20px;padding:5px 9px}.ielts-audio-controls{align-items:center;gap:18px;margin-top:24px;display:flex}.ielts-audio-play{background:var(--teal);color:#173600;min-width:76px;height:48px;font:inherit;font-weight:var(--w-strong);cursor:pointer;border:0;border-radius:24px;padding:0 16px}.ielts-audio-player input[type=range]{accent-color:var(--teal-ink);cursor:pointer;min-width:0;height:24px}.ielts-audio-timeline{flex:1;min-width:0}.ielts-audio-timeline input{width:100%;margin:0}.ielts-audio-timeline>div{font-size:var(--t-xs);color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.ielts-audio-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.ielts-audio-footer>button:not(.pressable){font:inherit;font-size:var(--t-sm);background:var(--wash);color:var(--teal-ink);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:10px 12px}.ielts-audio-footer label{font-size:var(--t-xs);color:var(--muted);align-items:center;gap:8px;display:flex}.ielts-audio-footer label input{width:90px}.ielts-audio-hint{font-size:var(--t-xs);color:var(--muted);margin-top:16px;line-height:1.6}.ielts-timed-listening.ielts-audio-player{background:var(--surface);max-width:1312px;margin:18px auto;display:block}.ielts-timed-listening.ielts-audio-player[hidden]{display:none}.ielts-timed-listening>div{min-width:0}.ielts-exam-audio-progress{align-items:center;gap:16px;margin-top:20px;display:flex}.ielts-exam-audio-progress progress{width:100%;height:8px;accent-color:var(--teal-ink);flex:1}.ielts-exam-audio-progress span{font-size:var(--t-xs);font-variant-numeric:tabular-nums;color:var(--muted)}@media (max-width:760px){.ielts-study-entry{grid-template-columns:1fr;gap:10px}.ielts-study-entry a{grid-template-columns:28px 1fr;gap:5px 10px;padding:18px;display:grid}.ielts-study-entry a>small{grid-row:1/4;padding-top:5px}.ielts-study-entry .ielts-entry-link{padding-top:5px}.ielts-study-entry strong{font-size:var(--t-lg)}.ielts-skill-list{grid-template-columns:1fr}.ielts-audio-player{padding:16px}.ielts-audio-state{display:none}.ielts-timed-listening.ielts-audio-player{margin:12px 16px}.ielts-resume{padding:16px}}.ielts-audio-player input[type=range]{appearance:none;background:0 0}.ielts-audio-player input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:5px;height:5px}.ielts-audio-player input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--teal-ink);border-radius:50%;width:16px;height:16px;margin-top:-5.5px}.ielts-audio-player input[type=range]::-moz-range-track{background:var(--line);border-radius:5px;height:5px}.ielts-audio-player input[type=range]::-moz-range-thumb{background:var(--teal-ink);border:0;border-radius:50%;width:16px;height:16px}#ielts-library{scroll-margin-top:24px}.ielts-lesson-steps{gap:8px;padding:4px 0 12px;display:flex;overflow-x:auto}.ielts-lesson-steps button{font:inherit;font-size:var(--t-sm);background:var(--surface);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:10px;flex:none;align-items:center;gap:8px;padding:10px 14px;display:flex}.ielts-lesson-steps button[aria-current]{background:var(--wash);color:var(--teal-ink);border-color:var(--teal)}.ielts-lesson-steps button span{font-variant-numeric:tabular-nums;font-weight:var(--w-strong)}.ielts-lesson-position{color:var(--muted);font-size:var(--t-sm);margin-top:18px}.ielts-lesson-section{margin-top:18px;scroll-margin-top:24px}.ielts-lesson-section[hidden],.ielts-actions[hidden]{display:none}.ielts-lesson-navigation{justify-content:space-between;gap:16px;margin:24px 0;display:flex}.ielts-extension{background:var(--bg);min-height:100vh}.ielts-lesson-help{border:1px solid var(--line);background:var(--wash);border-radius:14px;margin:24px 0;padding:22px}.ielts-lesson-help h2{font-size:18px}.ielts-lesson-help p{margin:14px 0;font-size:16px;line-height:1.9}.ielts-lesson-help button{font:inherit;color:var(--teal-ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:8px 10px;font-size:12px}.ielts-lesson-help small{color:var(--muted);font-size:12px;line-height:1.8}.ielts-khmer-explanation{border-top:1px solid var(--line);margin:16px 0;padding-top:4px}.ielts-extension[lang=km] .ielts-tabs a,.ielts-extension[lang=km] .ielts-unit-title strong{line-height:1.8}@media (max-width:640px){.ielts-lesson-help{padding:16px}.ielts-lesson-help .ielts-section-title{flex-direction:column;align-items:flex-start;gap:12px}.ielts-extension[lang=km] .ielts-wayfinding .ielts-tabs a{padding:12px 2px;font-size:12px}.ielts-extension[lang=km] .ielts-progress-overview .ielts-overview-feedback{flex-direction:column;align-items:flex-start;gap:2px}}.ielts-wayfinding{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:8px 0;display:flex;position:sticky;top:0}.ielts-wayfinding .ielts-tabs{border:0;flex:1;margin:0}.ielts-module-picker select{border:1px solid var(--line);max-width:180px;font:inherit;color:var(--muted);background:var(--surface);border-radius:8px;padding:9px;font-size:12px}.ielts-simple-heading{justify-content:space-between;align-items:center;gap:16px;margin:24px 0 20px;display:flex}.ielts-simple-heading h1{margin:0;font-size:28px;line-height:1.25}.ielts-secondary-links{color:var(--muted);gap:18px;font-size:12px;display:flex}.ielts-secondary-links a:hover{text-decoration:underline}.ielts-progress-overview{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:20px;padding:20px;display:grid}.ielts-progress-overview>a{border-left:1px solid var(--line);color:var(--ink-strong);padding-left:20px}.ielts-progress-overview strong{font-size:24px;line-height:1.3;display:block}.ielts-progress-overview strong small{color:var(--muted);font-size:13px;font-weight:400}.ielts-progress-overview span{color:var(--muted);margin-top:6px;font-size:12px;display:block}.ielts-progress-overview a:hover span{color:var(--teal-ink);text-decoration:underline}.ielts-progress-overview .ielts-overview-feedback strong{margin-top:5px;font-size:14px}.ielts-overview-course>div:first-child{margin-bottom:12px}.ielts-continue-card{background:var(--wash);border:1px solid var(--line);border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;padding:24px;display:flex}.ielts-continue-card small{letter-spacing:.08em;color:var(--teal-ink);font-size:10px;font-weight:700}.ielts-continue-card h2{margin:8px 0;font-size:21px;line-height:1.4}.ielts-continue-card p{color:var(--muted);margin:0;font-size:13px}.ielts-continue-card .press{flex-shrink:0}.ielts-course-tools{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:20px 0;font-size:14px;display:flex}.ielts-feedback-history{border:1px solid var(--line);border-radius:12px;margin:24px 0;padding:18px}.ielts-feedback-history summary{cursor:pointer;font-weight:650}.ielts-feedback-history>p{color:var(--muted);margin-top:18px}.ielts-practice-choice{background:var(--wash);border-radius:12px;gap:8px;margin:20px 0;padding:6px;display:flex}.ielts-practice-choice a{color:var(--muted);border-radius:8px;padding:12px 18px;font-size:14px}.ielts-practice-choice a[aria-current]{background:var(--surface);color:var(--ink-strong);font-weight:700;box-shadow:0 1px 4px #0001}#saved,#results{scroll-margin-top:90px}@media (max-width:640px){.ielts-wayfinding{flex-wrap:wrap;gap:0;padding:4px 0}.ielts-wayfinding .ielts-tabs{flex-basis:100%}.ielts-module-picker{text-align:right;width:100%;padding:4px 0}.ielts-module-picker select{padding:5px;font-size:11px}.ielts-simple-heading{flex-direction:column;align-items:flex-start;gap:12px;margin:18px 0}.ielts-simple-heading h1{font-size:24px}.ielts-progress-overview{grid-template-columns:1fr 1fr;gap:16px;padding:16px}.ielts-progress-overview>a{border-left:0;padding-left:0}.ielts-overview-course{grid-column:1/-1}.ielts-overview-course>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.ielts-overview-feedback{border-top:1px solid var(--line);grid-column:1/-1;padding-top:12px}.ielts-progress-overview strong{font-size:21px}.ielts-continue-card{flex-direction:column;align-items:stretch;gap:18px;padding:20px}.ielts-continue-card h2{font-size:18px}.ielts-course-tools{font-size:12px}#saved,#results{scroll-margin-top:130px}}.ielts-course{margin:24px 0 32px}.ielts-course-overview{border:1px solid var(--line);background:var(--wash);border-radius:20px;grid-template-columns:1.2fr 1fr;gap:36px;margin-bottom:36px;padding:30px;display:grid}.ielts-course-overview h2{margin:12px 0;font-size:clamp(22px,3vw,30px);line-height:1.2}.ielts-course-overview p{color:var(--muted)}.ielts-course-progress{max-width:380px;margin-top:24px}.ielts-course-progress>span{color:var(--muted);margin-top:10px;font-size:12px;display:block}.ielts-course-next{border-left:1px solid var(--line);flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding-left:30px;display:flex}.ielts-course-next small{letter-spacing:.1em;color:var(--teal-ink);font-size:10px;font-weight:700}.ielts-course-next strong{font-size:18px;line-height:1.5}.ielts-course-units{gap:14px;margin:24px 0;padding:0;list-style:none;display:grid}.ielts-course-units>li{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.ielts-course-units summary{cursor:pointer;align-items:center;gap:18px;padding:24px;list-style:none;display:flex}.ielts-course-units summary::-webkit-details-marker{display:none}.ielts-unit-number{background:var(--wash);width:46px;height:46px;color:var(--teal-ink);border-radius:14px;flex-shrink:0;place-items:center;font-size:17px;font-weight:700;display:grid}.ielts-unit-number.complete{background:var(--teal-ink);color:#fff}.ielts-unit-title{flex:1}.ielts-unit-title strong{font-size:18px;display:block}.ielts-unit-title>span{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.5;display:block}.ielts-course-units summary>small{color:var(--muted);white-space:nowrap}.ielts-course-units details[open] .ielts-unit-chevron{transform:rotate(180deg)}.ielts-unit-content{padding:0 24px 24px 88px}.ielts-course-method{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:16px;font-size:12px;line-height:1.7}.ielts-course-lesson{color:var(--ink-strong);border-radius:10px;align-items:center;gap:14px;padding:16px 12px;display:flex}.ielts-course-lesson:hover,.ielts-course-lesson.next{background:var(--wash)}.ielts-course-lesson>span:nth-child(2){flex:1}.ielts-course-lesson strong{font-size:14px;line-height:1.5;display:block}.ielts-course-lesson small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.ielts-course-lesson.is-practice{border:1px solid var(--line);background:var(--surface);margin:8px 0}.ielts-course-lesson.is-practice.next{border-color:var(--teal-ink);background:var(--wash)}.ielts-step-kind{color:var(--teal-ink);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.ielts-lesson-practice-preview{border:1px solid var(--line);background:var(--wash);border-radius:12px;margin:18px 0;padding:16px 20px}.ielts-lesson-practice-preview p{margin:6px 0}.ielts-reading-heading{margin:24px 0 32px}.ielts-reading-eyebrow{color:var(--muted);font-size:13px}.ielts-reading-heading h1{max-width:850px;margin-top:10px;font-size:clamp(26px,3vw,38px);line-height:1.25}.ielts-reading-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:40px;display:grid}.ielts-reading-sidebar{min-width:0}.ielts-reading-outline h2{color:var(--muted);margin-bottom:16px;font-size:13px}.ielts-reading-outline ol{gap:6px;padding:0;list-style:none;display:grid}.ielts-reading-outline button{width:100%;color:var(--muted);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:flex-start;gap:12px;padding:12px;font-size:14px;line-height:1.6;display:flex}.ielts-reading-outline button>span{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.ielts-reading-outline button[aria-current]{background:var(--wash);color:var(--ink-strong);font-weight:600}.ielts-reading-outline button[aria-current]>span{background:var(--teal-ink);color:var(--surface);border-color:var(--teal-ink)}.ielts-reading-goals{border-top:1px solid var(--line);margin:24px 0;padding-top:20px;font-size:13px;line-height:1.8}.ielts-reading-goals summary{cursor:pointer;font-weight:600}.ielts-reading-goals ul{margin-top:12px;padding-left:20px}.ielts-reading-practice{border:1px solid var(--line);border-radius:14px;padding:18px}.ielts-reading-practice small{color:var(--teal-ink);font-weight:600}.ielts-reading-practice h3{margin:10px 0;font-size:14px;line-height:1.6}.ielts-reading-practice p{color:var(--muted);margin-bottom:14px;font-size:12px}.ielts-reading-practice a{color:var(--teal-ink);font-size:13px;font-weight:600}.ielts-reading-workspace{min-width:0}.ielts-reading-position{color:var(--muted);justify-content:space-between;gap:16px;margin-bottom:12px;font-size:12px;display:flex}.ielts-reading-progress{background:var(--line);width:100%;height:4px;accent-color:var(--teal-ink);border:0;border-radius:8px;margin-bottom:24px;display:block;overflow:hidden}.ielts-reading-progress::-webkit-progress-bar{background:var(--line)}.ielts-reading-progress::-webkit-progress-value{background:var(--teal-ink)}.ielts-reading-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:32px;scroll-margin-top:24px}.ielts-reading-card h2{margin:0 0 20px;font-size:24px;line-height:1.4}.ielts-reading-instruction{max-width:68ch;font-size:17px;line-height:1.9}.ielts-reading-instruction p+p{margin-top:16px}.ielts-reading-help{margin:20px 0;font-size:13px}.ielts-reading-help>summary{color:var(--teal-ink);cursor:pointer;padding:10px 0}.ielts-reading-help .ielts-lesson-help{margin:8px 0}.ielts-reading-example{border-left:3px solid var(--teal-ink);background:var(--wash);border-radius:0 12px 12px 0;margin:28px 0;padding:22px}.ielts-reading-example h3,.ielts-reading-exercise h3{color:var(--teal-ink);margin:0 0 14px;font-size:13px}.ielts-reading-example .ielts-prose,.ielts-reading-prompt{font-size:17px;line-height:1.9}.ielts-reading-exercise{margin-top:28px}.ielts-reading-prompt{border:1px solid var(--line);border-radius:12px;margin-bottom:24px;padding:22px}.ielts-reading-exercise label{margin-bottom:10px;font-size:14px;font-weight:600;display:block}.ielts-reading-exercise textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);width:100%;min-height:110px;color:var(--ink);font:inherit;border-radius:12px;padding:16px;line-height:1.7}.ielts-reading-exercise small{color:var(--muted);margin-top:8px;font-size:12px;display:block}.ielts-reading-answer{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.ielts-reading-answer summary{color:var(--teal-ink);cursor:pointer;font-size:14px;font-weight:600}.ielts-reading-answer p{margin-top:16px}.ielts-reading-controls{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding-top:24px;display:flex}.ielts-reading-finished{color:var(--teal-ink);margin-top:24px}.ielts-reading-mobile-outline{display:none}@media (max-width:800px){.is-reading-lesson>.ielts-wayfinding{display:none}.ielts-reading-layout{flex-direction:column;gap:24px;display:flex}.ielts-reading-workspace{order:0;width:100%}.ielts-reading-sidebar{order:1;width:100%}.ielts-reading-outline{display:none}.ielts-reading-mobile-outline{color:var(--muted);margin:0 0 18px;font-size:12px;display:block}.ielts-reading-mobile-outline select{width:100%;max-width:100%;font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:10px;margin-top:8px;padding:12px;font-size:14px;display:block}.ielts-reading-heading{margin:20px 0 24px}.ielts-reading-card{border-radius:14px;padding:20px}.ielts-reading-card h2{font-size:21px}.ielts-reading-instruction,.ielts-reading-example .ielts-prose,.ielts-reading-prompt{font-size:16px}.ielts-reading-example,.ielts-reading-prompt{padding:16px}.ielts-reading-controls{gap:8px}.ielts-reading-controls .press{padding-left:12px;padding-right:12px}}.ielts-course-lesson-number{min-width:26px;color:var(--teal-ink);font-size:12px}.ielts-course-note{color:var(--muted);font-size:12px}@media (max-width:640px){.ielts-course-overview{grid-template-columns:1fr;gap:24px;padding:22px}.ielts-course-next{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.ielts-course-units summary{gap:12px;padding:18px 14px}.ielts-unit-number{border-radius:10px;width:36px;height:36px;font-size:14px}.ielts-unit-title strong{font-size:16px}.ielts-unit-title>span{font-size:12px}.ielts-unit-content{padding:0 12px 16px}}.ielts-extension-header{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:18px;padding:16px max(24px,50vw - 580px);display:flex}.ielts-extension-header .brand{font-size:20px}.ielts-extension-badge{border-left:1px solid var(--line);color:var(--teal-ink);font-size:var(--t-sm);white-space:nowrap;padding-left:18px}.ielts-extension-header a{font-size:var(--t-sm)}.ielts-return{color:var(--muted)}.ielts-extension-main{max-width:1120px;margin:auto;padding:34px 24px}.ielts-extension-footer{max-width:1120px;color:var(--muted);border-top:1px solid var(--line);font-size:var(--t-xs);margin:auto;padding:24px 40px}.ielts-extension .ielts-workspace{padding:8px 16px 24px}.ielts-onboarding{max-width:720px;margin:20px auto 60px}.ielts-onboarding h1{margin-bottom:16px;font-size:clamp(28px,4vw,40px);line-height:1.2}.ielts-onboarding>p{color:var(--muted);line-height:1.7}.ielts-level-options{border:0;gap:12px;margin:24px 0;padding:0;display:grid}.ielts-level-options label{border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:14px;align-items:flex-start;gap:14px;padding:20px;display:flex}.ielts-level-options label:has(input:checked){border-color:var(--teal);background:var(--wash)}.ielts-level-options input{width:20px;height:20px;accent-color:var(--teal-ink);flex-shrink:0;margin-top:4px}.ielts-level-options label>span>span{color:var(--muted);font-size:var(--t-sm);margin-top:6px;line-height:1.5;display:block}.ielts-onboarding-note{color:var(--muted);font-size:var(--t-sm);margin:20px 0;line-height:1.65}.ielts-onboarding :focus-visible,.ielts-extension-header :focus-visible{outline:3px solid var(--sky-ink);outline-offset:3px}.ielts-milestones{border:1px solid var(--line);border-radius:16px;margin:24px 0;padding:24px}.ielts-milestones h2{font-size:var(--t-lg)}.ielts-milestones ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px;padding:0;list-style:none;display:grid}.ielts-milestones li{align-items:center;gap:12px;display:flex}.ielts-milestones li>span{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.ielts-milestones li.complete>span{background:var(--teal-soft);border-color:var(--teal);color:var(--teal-ink)}.ielts-milestones strong,.ielts-milestones small{font-size:var(--t-sm);display:block}.ielts-milestones small{color:var(--muted);font-size:var(--t-xs);margin-top:4px}.ielts-milestones>p{color:var(--muted);font-size:var(--t-xs);margin-top:18px;line-height:1.6}@media (max-width:760px){.ielts-extension-header{flex-wrap:wrap;gap:10px;padding:14px 16px}.ielts-extension-header .brand-name{display:none}.ielts-extension-badge{padding-left:10px}.ielts-account{display:none}.ielts-extension-main{padding:22px 16px}.ielts-extension .ielts-workspace{padding:8px 0 24px}.ielts-extension-footer{padding:20px 16px}.ielts-milestones ol{grid-template-columns:1fr}.ielts-level-options label{padding:16px}}.ielts-exam-room .press{box-shadow:none;border-radius:5px}.ielts-exam-room .ielts-part-tabs button{border-radius:5px}.ielts-runner-header{gap:16px}.ielts-scratchpad{border:1px solid var(--line);border-radius:8px;margin:20px 0;padding:14px 16px}.ielts-scratchpad summary{cursor:pointer;font-size:var(--t-sm);font-weight:var(--w-strong)}.ielts-scratchpad label,.ielts-scratchpad small{font-size:var(--t-xs);color:var(--muted);margin-top:12px;display:block}.ielts-scratchpad textarea{background:var(--surface);width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;resize:vertical;border-radius:6px;margin-top:8px;padding:12px;display:block}@media (max-width:760px){.ielts-runner-header .ielts-extension-badge{padding-left:8px;font-size:11px}}.ielts-format-link{margin:20px 0;line-height:1.6}.ielts-format-link a{color:var(--teal-ink);text-decoration:underline}.ielts-format-link small{color:var(--muted);margin-top:5px;display:block}@media (max-width:760px){.ielts-extension .ielts-tabs{gap:16px}}@media (max-width:640px){.ielts-extension .ielts-extension-main{padding-top:10px}.ielts-simple-heading{gap:8px;margin:12px 0}.ielts-progress-overview{gap:12px;padding:14px}.ielts-progress-overview .ielts-overview-feedback{justify-content:space-between;align-items:center;gap:10px;display:flex}.ielts-overview-feedback span{font-size:11px}.ielts-continue-card{gap:12px;padding:16px}}.ielts-home-progress{flex-wrap:wrap;align-items:center;gap:16px;margin:18px 0 28px;font-size:.875rem;display:flex}.ielts-home-progress progress{min-width:80px;height:8px;accent-color:var(--accent,#267e67);flex:1}.ielts-course-map{border-top:1px solid #dce5e0;margin-top:28px;padding-top:20px}.ielts-course-map>summary{cursor:pointer;padding:8px 0 20px;font-weight:700}.ielts-recommendations .press{margin-top:16px;display:table}.ielts-official-intro{max-width:780px;padding:24px 0}.ielts-official-intro h2{margin:8px 0 12px}.ielts-official-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.ielts-official-filters label{gap:8px;font-weight:650;display:grid}.ielts-official-filters select{background:var(--surface,white);width:100%;min-height:44px;color:inherit;border:1px solid #ccd5cf;border-radius:8px;padding:8px}.ielts-official-label{flex-wrap:wrap;gap:8px 16px;font-size:.85rem;display:flex}.ielts-official-label span{color:#386f52}.ielts-official-facts{grid-template-columns:80px minmax(0,1fr);gap:8px 12px;font-size:.9rem;line-height:1.6;display:grid}.ielts-official-facts dt{font-weight:650}.ielts-official-facts dd{margin:0}.ielts-official-tests .ielts-resource-list .press{margin-top:18px;display:table}@media (max-width:600px){.ielts-official-filters{grid-template-columns:1fr}.ielts-official-facts{grid-template-columns:1fr;gap:4px}.ielts-official-facts dd{margin-bottom:10px}}.ielts-practice-choice button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:12px 16px}.ielts-practice-choice button[aria-pressed=true]{background:var(--surface,white);font-weight:700;box-shadow:0 1px 5px #0001}.ielts-week-heading{justify-content:space-between;align-items:center;gap:20px;margin:24px 0 16px;display:flex}.ielts-week-heading h3{margin:6px 0;font-size:1.4rem}.ielts-week-heading label{gap:6px;display:grid}.ielts-week-heading select{color:inherit;background:var(--surface,white);border-radius:8px;padding:10px}.ielts-plan-access{align-items:center;gap:10px;font-size:.9rem;display:flex}.ielts-week-focus{background:#6caa1710;border-radius:12px;margin:24px 0 12px;padding:18px 20px}.ielts-week-focus p{margin:6px 0 0}.ielts-week-sessions{margin:0;padding:0;list-style:none}.ielts-week-sessions li{border-bottom:1px solid #a0aa9c30;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:16px;padding:22px 0;display:grid}.ielts-session-number{border:1px solid #a0aa9c60;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.ielts-week-sessions h4{margin:0;font-size:1rem}.ielts-week-sessions p{margin:8px 0;line-height:1.6}.ielts-week-sessions .press{white-space:nowrap}.ielts-week-controls{justify-content:space-between;align-items:center;gap:12px;margin:24px 0;display:flex}.ielts-week-controls button{cursor:pointer;color:inherit;background:0 0;border:1px solid #a0aa9c60;border-radius:8px;padding:12px}.ielts-week-controls button:disabled{opacity:.4;cursor:default}@media (max-width:600px){.ielts-week-heading{align-items:start}.ielts-week-sessions li{grid-template-columns:28px minmax(0,1fr);gap:12px}.ielts-week-sessions .press{grid-column:2;justify-self:start}}.ielts-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:20px;display:grid}.ielts-evidence-grid article{border:1px solid var(--border,#dce3df);border-radius:16px;min-width:0;padding:20px}.ielts-evidence-grid h3{text-transform:capitalize;margin-top:0}.ielts-evidence-grid p{line-height:1.6}@media (max-width:640px){.ielts-evidence-grid{grid-template-columns:1fr}}.learning-mode{flex-shrink:0;position:relative}.learning-mode-trigger{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink-strong);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:8px 12px;font-size:14px;font-weight:650;display:flex}.learning-mode-trigger[aria-expanded=true]{border-color:var(--teal)}.learning-mode-options{z-index:60;border:1px solid var(--line);background:var(--surface);border-radius:16px;width:330px;max-width:calc(100vw - 32px);padding:10px;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 14px 45px #0002}.learning-mode-options>p{letter-spacing:.12em;color:var(--muted);margin:8px 10px 12px;font-size:10px;font-weight:700}.learning-mode-options button{text-align:left;width:100%;color:var(--ink-strong);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:14px 10px;display:flex}.learning-mode-options button[aria-pressed=true],.learning-mode-options button:hover{background:var(--wash)}.learning-mode-options button>span:nth-child(2){flex:1}.learning-mode-options strong,.learning-mode-options small{display:block}.learning-mode-options small{color:var(--muted);margin-top:4px;font-size:12px}.learning-mode-mark{background:var(--teal-ink);color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.learning-mode-options footer{color:var(--muted);border-top:1px solid var(--line);margin-top:8px;padding:14px 10px 5px;font-size:11px}@media (max-width:760px){.topbar{flex-wrap:wrap;gap:8px;height:112px;padding-top:8px;padding-bottom:8px}.shell-body{padding-top:112px}.topbar .learning-mode{order:5;width:100%}.topbar .learning-mode-trigger{justify-content:space-between;width:100%;min-height:36px;padding:5px 12px}.topbar .learning-mode-options{width:100%;max-width:none}.topbar .tg-btn{display:none}.tabbar .tab{flex:1 1 0;min-width:0}.tabbar .tab-label{overflow-wrap:anywhere;max-width:100%}.ielts-extension-header{flex-wrap:wrap;gap:10px}.ielts-extension-header .learning-mode{order:5;width:100%}.ielts-extension-header .learning-mode-trigger{justify-content:space-between;width:100%}.ielts-extension-header .learning-mode-options{width:100%;max-width:none}.ielts-extension-header .ielts-account{display:inline}.ielts-extension .ielts-tabs{justify-content:space-between;gap:4px}.ielts-extension .ielts-tabs a{padding:12px 4px;font-size:12px}}
