.loading-page{width:100%;min-width:0;padding:4px 0 24px}.loading-heading{margin-bottom:28px}.loading-heading h1{margin:0 0 10px;font-size:28px;letter-spacing:-.035em;color:var(--text)}.loading-heading p{display:flex;align-items:center;gap:10px;margin:0;min-height:22px;color:var(--muted);font-size:13px}.loading-preview{display:grid;gap:22px}.loading-block{display:block;background:var(--line);border-radius:5px;animation:loading-breathe 1.8s ease-in-out infinite alternate}.loading-line{height:10px;max-width:100%}.loading-short{width:28%;min-width:48px}.loading-medium{width:48%}.loading-long{width:76%}.loading-panel{padding:24px;border:1px solid var(--line);border-radius:var(--radius, 10px);background:var(--card);min-width:0}.loading-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius, 10px);background:var(--card)}.loading-summary>div{display:grid;gap:18px;padding:24px}.loading-summary>div+div{border-left:1px solid var(--line)}.loading-number{width:64px;height:30px}.loading-chart{display:flex;align-items:flex-end;gap:5%;height:140px;margin-top:30px;border-bottom:1px solid var(--line)}.loading-chart>span{flex:1;max-width:62px;border-radius:4px 4px 0 0}.loading-rows{padding:0 24px}.loading-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,.25fr);align-items:center;gap:24px;min-height:85px}.loading-table .loading-row{grid-template-columns:minmax(0,1fr) repeat(2,minmax(60px,.35fr))}.loading-row+.loading-row{border-top:1px solid var(--line)}.loading-row>div{display:grid;gap:12px}.loading-fields{display:grid;gap:28px;max-width:640px}.loading-fields>div{display:grid;gap:12px}.loading-input{height:46px;width:100%}.loading-action{width:160px;max-width:100%;margin-top:4px}.loading-lesson{max-width:660px;margin:0 auto}.loading-track{height:6px;width:100%}.loading-lesson-card{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.loading-word{height:38px;width:44%}.loading-play{width:48px;height:48px;border-radius:50%}.loading-fullscreen{max-width:500px;min-height:85dvh;margin:0 auto;padding:10dvh 24px 48px}.loading-fullscreen .loading-fields{width:100%}.loading-wordmark{margin-bottom:42px;font-size:23px;font-weight:650;letter-spacing:-.05em}.loading-wordmark span{color:var(--muted);font-weight:400}.loading-inline{display:inline-flex;align-items:center;justify-content:center;gap:9px;color:inherit;font-size:inherit}.loading-indicator{display:inline-block;flex:0 0 auto;width:15px;height:15px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:loading-turn .8s linear infinite}@keyframes loading-breathe{0%{opacity:.4}to{opacity:.8}}@keyframes loading-turn{to{transform:rotate(360deg)}}@media (max-width: 560px){.loading-heading{margin-bottom:22px}.loading-heading h1{font-size:24px}.loading-summary>div{padding:18px 12px;gap:14px}.loading-summary .loading-short{min-width:30px;width:65%}.loading-number{width:44px;height:26px}.loading-panel{padding:20px}.loading-rows{padding:0 20px}.loading-row{gap:16px}.loading-table .loading-row{grid-template-columns:minmax(0,1fr) 56px}.loading-table .loading-row>:last-child{display:none}.loading-lesson-card{min-height:300px}}@media (prefers-reduced-motion: reduce){.loading-block,.loading-indicator{animation:none}.loading-block{opacity:.6}}.loading-task{display:grid;gap:12px;color:var(--muted);font-size:14px}.loading-task .loading-inline{justify-content:flex-start}.loading-task progress{display:block;width:min(100%,420px);height:6px;accent-color:var(--brand)}.loading-embedded{padding-top:0}.loading-embedded .loading-heading{margin-bottom:16px}.loading-lesson>.loading-preview>.loading-action{margin-inline:auto}.public-page{--public-bg: oklch(99% .002 160);--public-card: oklch(99.7% .001 160);--public-field: oklch(98.2% .002 160);--public-ink: oklch(21% .005 160);--public-muted: oklch(49% .007 160);--public-line: oklch(90.5% .004 160);--public-accent: oklch(48% .14 151);--public-accent-hover: oklch(42% .12 151);--public-on-accent: oklch(99% .003 151);--public-soft: oklch(95.8% .018 151);background:var(--public-bg);color:var(--public-ink);min-height:100svh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark] .public-page{--public-bg: oklch(14.5% .004 160);--public-card: oklch(18% .005 160);--public-field: oklch(21% .005 160);--public-ink: oklch(95.5% .004 160);--public-muted: oklch(70% .006 160);--public-line: oklch(29% .006 160);--public-accent: oklch(76% .16 151);--public-accent-hover: oklch(82% .13 151);--public-on-accent: oklch(17% .025 151);--public-soft: oklch(23% .027 151)}.public-container{width:min(1120px,calc(100% - 64px));margin-inline:auto}.public-page a{text-decoration:none}.public-page .public-header{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.public-page .public-wordmark{display:inline-flex;align-items:baseline;color:var(--public-ink);font-size:24px;font-weight:750;letter-spacing:-.9px;white-space:nowrap}.public-wordmark .wordmark-nine{color:var(--public-accent)}.public-wordmark .wordmark-domain{font-weight:400;color:var(--public-muted)}.public-nav{display:flex;gap:28px}.public-page .public-nav a{color:var(--public-muted);font-size:13px}.public-page .public-nav a:hover{color:var(--public-ink)}.public-header-actions{display:flex;align-items:center;gap:24px}.public-page .public-login{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;color:var(--public-ink)}.public-page .public-btn{min-height:48px;padding:13px 23px;border:1px solid var(--public-line);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:14px;line-height:1.4;font-weight:600;color:var(--public-ink);background:var(--public-card);cursor:pointer;box-shadow:none}.public-page .public-primary{background:var(--public-accent);border-color:var(--public-accent);color:var(--public-on-accent)}.public-page .public-primary:hover{background:var(--public-accent-hover);border-color:var(--public-accent-hover)}.public-page button:disabled{cursor:wait;opacity:.6}.public-page :is(a,button,input,summary):focus-visible{outline:2px solid var(--public-accent);outline-offset:4px}.public-page .public-text-link{display:inline-flex;align-items:center;gap:16px;color:var(--public-ink);font-size:14px;font-weight:500}.public-page .public-text-link:hover{color:var(--public-accent)}.public-kicker{font-size:12px;font-weight:500;color:var(--public-muted)}.public-skip{position:fixed;top:-100px;left:20px;z-index:100;padding:12px 18px;color:var(--public-ink);background:var(--public-card);border:1px solid var(--public-line)}.public-skip:focus{top:12px}.landing-hero{display:grid;grid-template-columns:1.18fr 1fr;align-items:center;gap:76px;padding-block:64px 80px}.landing-label{display:inline-flex;align-items:center;gap:9px;padding:6px 10px;border:1px solid var(--public-line);border-radius:6px;font-size:11px;color:var(--public-muted)}.landing-label>span,.demo-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--public-accent);flex-shrink:0}.public-page .landing-hero h1{font-family:inherit;font-size:clamp(44px,5.4vw,68px);line-height:1.075;letter-spacing:-.055em;font-weight:650;margin:24px 0}.landing-hero h1>span{color:var(--public-accent)}.landing-hero-copy>p{max-width:40ch;font-size:16px;color:var(--public-muted);line-height:1.8;margin:0}.landing-hero-actions{display:flex;align-items:center;gap:26px;margin-top:30px;flex-wrap:wrap}.landing-hero-note{margin-top:18px;font-size:11px;color:var(--public-muted)}.landing-demo{align-self:center;border:1px solid var(--public-line);border-radius:14px;background:var(--public-card);overflow:hidden;box-shadow:0 20px 60px -32px #0e19132e}.demo-toolbar{display:flex;gap:8px;align-items:center;padding:16px 22px;border-bottom:1px solid var(--public-line);font-size:11px;color:var(--public-muted)}.demo-sample{margin-left:auto;font-size:10px;padding:2px 6px;border:1px solid var(--public-line);border-radius:4px}.demo-word{padding:28px}.demo-word-meta{display:flex;align-items:center;justify-content:space-between;color:var(--public-muted);font-size:11px}.demo-accents{display:flex;gap:3px}.public-page .demo-accents button{min-height:28px;padding:4px 8px;font-size:10px;border:1px solid transparent;border-radius:5px;color:var(--public-muted);background:transparent;box-shadow:none}.public-page .demo-accents button[aria-pressed=true]{color:var(--public-ink);background:var(--public-field);border-color:var(--public-line)}.demo-headword{display:flex;align-items:center;gap:16px;margin-top:20px}.public-page .demo-headword h2{margin:0;font-family:inherit;font-size:36px;font-weight:600;line-height:1.2;letter-spacing:-.04em}.demo-headword .speak{background:var(--public-soft);color:var(--public-accent);border:0;border-radius:50%;width:34px;min-height:34px;height:34px;padding:8px}.demo-headword .audio-control{flex-direction:row}.demo-ipa{display:block;font-size:12px;margin-top:9px;color:var(--public-muted)}.demo-definition{color:var(--public-ink);font-size:14px;line-height:1.6;margin:24px 0 12px}.demo-example{color:var(--public-muted);font-size:13px;line-height:1.7;border-left:2px solid var(--public-line);padding-left:13px;margin:0 0 24px}.demo-answer{min-height:68px;color:var(--public-muted);font-size:12px}.demo-answer p{margin:8px 0;line-height:1.6}.demo-answer strong{display:block;color:var(--public-ink);font-weight:600;font-size:13px}.public-page .demo-reveal{width:100%;min-height:42px;justify-content:space-between;background:var(--public-field);font-size:12px;padding:10px 14px}.demo-caption{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-top:1px solid var(--public-line);color:var(--public-muted);font-size:10px}.demo-caption .demo-dot{width:4px;height:4px}.landing-capabilities{display:grid;grid-template-columns:repeat(3,1fr);padding-block:28px;border-top:1px solid var(--public-line);border-bottom:1px solid var(--public-line)}.landing-capabilities>div{display:flex;flex-direction:column;gap:7px;padding-left:32px;border-left:1px solid var(--public-line)}.landing-capabilities>div:first-child{border:0;padding-left:0}.landing-capabilities b{font-size:16px;font-weight:600;letter-spacing:-.02em}.landing-capabilities span{color:var(--public-muted);font-size:12px}.landing-process,.landing-faq{display:grid;grid-template-columns:.95fr 1.4fr;gap:110px;padding-block:104px;scroll-margin-top:20px}.landing-process{border-bottom:1px solid var(--public-line)}.public-page .landing-section-intro h2{font-size:36px;font-weight:600;line-height:1.2;letter-spacing:-.04em;margin:18px 0}.landing-section-intro p{color:var(--public-muted);font-size:14px;line-height:1.8;max-width:32ch;margin:0 0 24px}.landing-steps article{display:flex;gap:25px;padding-block:24px;border-bottom:1px solid var(--public-line)}.landing-steps article:first-child{padding-top:0}.landing-steps article:last-child{padding-bottom:0;border:0}.landing-step-number{color:var(--public-accent);font-size:12px;padding-top:4px;font-variant-numeric:tabular-nums}.public-page .landing-steps h3{margin:0 0 10px;font-size:18px;font-weight:600;letter-spacing:-.02em}.landing-steps p{color:var(--public-muted);font-size:14px;line-height:1.8;margin:0;max-width:54ch}.landing-questions details{border-bottom:1px solid var(--public-line)}.landing-questions summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding-block:22px;font-size:14px;font-weight:500;cursor:pointer}.landing-questions summary::-webkit-details-marker{display:none}.landing-questions summary>span{font-size:20px;font-weight:400;color:var(--public-muted);transition:transform .16s ease}.landing-questions details[open] summary>span{transform:rotate(45deg)}.landing-questions details>p{margin:0 0 24px;font-size:13px;line-height:1.8;color:var(--public-muted);max-width:58ch}.landing-cta{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:56px;background:var(--public-card);border:1px solid var(--public-line);padding:52px;border-radius:14px;margin-bottom:64px}.landing-cta-eyebrow{display:block;font-size:11px;color:var(--public-muted);margin-bottom:18px}.public-page .landing-cta h2{max-width:21ch;margin:0 0 18px;font-size:38px;line-height:1.15;font-weight:600;letter-spacing:-.045em}.landing-cta h2>span{display:block;color:var(--public-accent)}.landing-cta-copy>p{max-width:46ch;margin:0;font-size:14px;color:var(--public-muted);line-height:1.8}.landing-cta-steps{display:flex;flex-wrap:wrap;gap:10px 16px;padding:0;margin:24px 0 0;list-style:none}.landing-cta-steps li{display:inline-flex;align-items:center;gap:16px;color:var(--public-muted);font-size:11px}.landing-cta-steps li:not(:last-child):after{content:"→";color:var(--public-muted);opacity:.6}.landing-cta-actions{display:flex;flex-direction:column;gap:16px;align-items:stretch;padding-left:32px;border-left:1px solid var(--public-line)}.public-page .landing-cta-actions>.public-btn{justify-content:space-between;padding:15px 18px;min-height:50px;font-size:13px;gap:16px}.landing-cta-actions>p{margin:0;text-align:center;font-size:11px;color:var(--public-muted);line-height:1.6}.public-page .landing-cta-actions>p a{color:var(--public-ink);font-weight:500;margin-left:3px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--public-line)}.public-page .landing-cta-actions>p a:hover{color:var(--public-accent);text-decoration-color:currentColor}.public-footer{display:flex;align-items:center;gap:28px;min-height:100px;border-top:1px solid var(--public-line)}.public-footer .public-wordmark{font-size:20px}.public-footer>p,.public-footer>span{color:var(--public-muted);font-size:11px}.public-footer>span{margin-left:auto}.auth-screen{display:flex;flex-direction:column}.auth-screen .public-header{border-bottom:1px solid var(--public-line)}.auth-main{flex:1;width:min(440px,calc(100% - 40px));margin:0 auto;padding:56px 0 36px}.auth-intro{text-align:center;margin-bottom:28px}.public-page .auth-intro h1{font-size:30px;font-weight:600;line-height:1.2;letter-spacing:-.04em;margin:15px 0 12px}.auth-intro>p{font-size:13px;line-height:1.75;color:var(--public-muted);max-width:43ch;margin:0 auto}.auth-login-card{background:var(--public-card);border:1px solid var(--public-line);border-radius:12px;padding:32px}.auth-login-card fieldset{display:flex;flex-direction:column;gap:24px;min-width:0;margin:0;padding:0;border:0}.auth-field>label{display:block;margin:0 0 9px;font-size:12px;font-weight:500;color:var(--public-ink)}.public-page .auth-field input{width:100%;height:46px;min-height:46px;padding:12px 14px;font-family:inherit;font-size:14px;border:1px solid var(--public-line);border-radius:7px;background:var(--public-field);color:var(--public-ink);caret-color:var(--public-accent);box-shadow:none}.public-page .auth-field input::placeholder{color:var(--public-muted);opacity:.8}.public-page .auth-field input:focus{border-color:var(--public-accent);box-shadow:0 0 0 3px var(--public-soft);outline:none}.public-page .auth-field input:-webkit-autofill{-webkit-text-fill-color:var(--public-ink);-webkit-box-shadow:0 0 0 1000px var(--public-field) inset;caret-color:var(--public-ink)}.auth-password{position:relative}.public-page .auth-password input{padding-right:48px}.public-page .auth-password button{position:absolute;right:3px;top:3px;width:40px;min-height:40px;height:40px;padding:10px;border:0;background:transparent;color:var(--public-muted);border-radius:5px;box-shadow:none}.public-page .auth-password button:hover{color:var(--public-ink)}.auth-hint{display:block;margin-top:8px;font-size:11px;color:var(--public-muted)}.public-page .auth-submit{width:100%;margin-top:2px}.auth-error{padding:12px 14px;color:#9e2225;background:#feedec;border:1px solid oklch(86% .04 25);border-radius:7px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}:root[data-theme=dark] .auth-error{color:#f9bdb7;background:#2a1716;border-color:#553330}.auth-switch{text-align:center;color:var(--public-muted);font-size:12px;line-height:1.8;margin:26px 0 0;padding-top:24px;border-top:1px solid var(--public-line)}.public-page .auth-switch a{color:var(--public-accent);font-weight:600;margin-left:3px}.public-page .auth-back{display:block;text-align:center;margin-top:24px;font-size:11px;color:var(--public-muted)}.auth-footer{padding:20px;text-align:center;color:var(--public-muted);font-size:11px}html.theme-changing .public-page,html.theme-changing .auth-login-card,html.theme-changing .auth-field input,html.theme-changing .landing-demo{transition:background-color .18s ease,color .18s ease,border-color .18s ease}@media (min-width: 1600px){.landing-hero{padding-block:96px 112px}}@media (max-width: 1000px){.public-nav{display:none}.landing-hero{gap:36px}.landing-process,.landing-faq{gap:50px}.demo-word{padding:24px}.public-footer{gap:20px;flex-wrap:wrap;padding-block:24px}}@media (max-width: 760px){.public-container{width:calc(100% - 40px)}.public-page .public-header{min-height:80px;flex-wrap:wrap;padding-block:20px;row-gap:18px}.public-page .public-wordmark{font-size:22px}.public-header-actions{gap:16px}.landing-hero{grid-template-columns:1fr;gap:42px;padding-block:36px 52px}.public-page .landing-hero h1{font-size:clamp(42px,8vw,60px)}.landing-hero-copy>p{max-width:42ch}.landing-demo{width:min(100%,480px);justify-self:center}.landing-capabilities{gap:20px;padding-block:24px}.landing-capabilities>div{padding-left:16px}.landing-capabilities b{font-size:14px}.landing-capabilities span{font-size:10px;line-height:1.6}.landing-process,.landing-faq{grid-template-columns:1fr;gap:32px;padding-block:64px}.public-page .landing-section-intro h2{font-size:32px}.landing-section-intro p{max-width:46ch}.landing-cta{grid-template-columns:1fr;gap:28px;padding:28px;margin-bottom:40px}.landing-cta-actions{padding:24px 0 0;border-left:0;border-top:1px solid var(--public-line)}.public-page .landing-cta h2{font-size:30px;line-height:1.15}.public-footer>p{flex-basis:100%;margin:0}.public-footer>span{margin-left:0}.auth-screen .public-header{justify-content:space-between;flex-direction:row;gap:20px}.auth-main{padding-top:36px}}@media (max-width: 400px){.public-header-actions{gap:10px}.public-page .public-login{font-size:12px;gap:6px}.public-page .public-wordmark{font-size:20px}.auth-login-card{padding:24px}.public-page .auth-intro h1{font-size:27px}.landing-capabilities{gap:10px}.landing-capabilities>div{padding-left:10px}}@media (prefers-reduced-motion: reduce){.public-page *,.public-page *:before,.public-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.public-page .theme-picker{--picker-bg: var(--public-card);--picker-line: var(--public-line);--picker-ink: var(--public-ink);color:var(--public-muted)}.public-page .theme-picker select:focus-visible{outline-color:var(--public-accent)}:root{--bg: #f7f7f4;--card: #fdfdfb;--surface: #f0f0ec;--text: #292d36;--muted: #666b75;--line: #dfe1df;--line-shade: #d2d5d4;--brand: #555cb3;--brand-hover: #474e9d;--brand-soft: #ededf8;--on-brand: #fafaff;--sky: #327784;--sky-shade: #28636e;--sky-soft: #eaf3f4;--green: #3d7a60;--green-shade: #31654e;--green-soft: #eaf3ec;--sun: #b1873a;--sun-shade: #816023;--sun-soft: #f8f1e3;--coral: #b35c59;--coral-shade: #984b48;--coral-soft: #f8ecea;--grape: #765981;--grape-shade: #6d527a;--grape-soft: #f1ebf5;--orange: #a97048;--orange-shade: #8a5936;--orange-soft: #f6eee7;--ok: var(--green-shade);--ok-soft: var(--green-soft);--warn: var(--sun-shade);--warn-soft: var(--sun-soft);--bad: var(--coral-shade);--bad-soft: var(--coral-soft);--new: #93999e;--learning: #b1873a;--young: #87b098;--mastered: #31654e;--radius: 10px;--font: "Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display: var(--font);color-scheme:light}:root[data-theme=dark]{--bg: #1c1e23;--card: #23262c;--surface: #292c33;--text: #e8e9e7;--muted: #afb2ba;--line: #383c44;--line-shade: #454a54;--brand: #b0b4ef;--brand-hover: #c1c4f6;--brand-soft: #30324b;--on-brand: #21243d;--sky: #92c3cc;--sky-shade: #a5d0d7;--sky-soft: #26383e;--green: #92bea1;--green-shade: #a5ccb2;--green-soft: #293b31;--sun: #cfaf70;--sun-shade: #ddc18c;--sun-soft: #3b3428;--coral: #d9a09b;--coral-shade: #e5b0ab;--coral-soft: #402f30;--grape: #baa3c8;--grape-shade: #ceb9d9;--grape-soft: #362e40;--orange: #d0a17f;--orange-shade: #dfb697;--orange-soft: #3d322a;--new: #8c939d;--learning: #cfaf70;--young: #87b098;--mastered: #a5ccb2;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0}body{background:var(--bg);color:var(--text);font:400 16px/1.55 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none;font-weight:700}h1,h2,h3{font-family:var(--display);line-height:1.15;margin:0 0 12px;font-weight:800}h2{font-size:22px}h3{font-size:17px}p{margin:0 0 12px}.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:12px}.center{text-align:center}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:14px}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.grow{flex:1}.card{background:var(--card);border:2px solid var(--line);border-bottom-width:4px;border-radius:var(--radius);padding:18px}.card.tight{padding:12px 14px}button,.btn{--face: var(--card);--edge: var(--line-shade);--ink: var(--text);font:800 16px/1.1 var(--display);letter-spacing:.03em;color:var(--ink);background:var(--face);border:2px solid var(--edge);border-radius:16px;box-shadow:0 4px 0 var(--edge);padding:12px 18px;min-height:48px;margin-bottom:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .08s,box-shadow .08s,filter .15s;-webkit-user-select:none;user-select:none}button:hover:not(:disabled),.btn:hover{filter:brightness(1.04)}button:active:not(:disabled),.btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--edge)}button:disabled{cursor:default;--face: var(--line);--edge: var(--line-shade);--ink: var(--muted);box-shadow:0 4px 0 var(--edge);filter:none}button.primary,.btn.primary{--face: var(--brand);--edge: var(--brand);--ink: var(--on-brand);text-transform:uppercase}button.secondary,.btn.secondary{--face: var(--surface);--edge: var(--line);--ink: var(--text);text-transform:uppercase}button.danger-fill{--face: var(--bad);--edge: var(--bad);--ink: var(--card);text-transform:uppercase}button.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--brand);margin-bottom:0}button.ghost:active{transform:none}button.danger{color:var(--coral-shade)}button.big,.btn.big{width:100%;padding:15px;font-size:16px}button.chip{min-height:38px;padding:6px 14px;border-radius:14px;font-size:14px;box-shadow:0 3px 0 var(--edge);text-transform:none}button.chip:active{transform:translateY(3px)}button.chip.on{--face: var(--brand-soft);--edge: var(--brand);--ink: var(--brand)}input,select,textarea{font:500 16px var(--font);color:var(--text);background:var(--card);border:2px solid var(--line);border-radius:14px;padding:11px 14px;width:100%;min-height:48px;transition:border-color .15s,box-shadow .15s}textarea{min-height:90px;resize:vertical;font-weight:400}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 4px var(--sky-soft)}label{display:block;font-size:14px;font-weight:600;color:var(--muted);margin-bottom:6px}.field{margin-bottom:16px}.error,.notice,.success{padding:12px 14px;border-radius:14px;font-size:14px;font-weight:700;border:2px solid transparent;animation:pop-in .3s ease-out}.error{background:var(--coral-soft);color:var(--bad);border-color:var(--coral)}.notice{background:var(--sun-soft);color:var(--warn);border-color:var(--sun)}.success{background:var(--green-soft);color:var(--ok);border-color:var(--green)}.badge{display:inline-block;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;background:var(--sky-soft);color:var(--sky-shade)}.badge.gray{background:var(--line);color:var(--muted)}.badge.ok{background:var(--green-soft);color:var(--ok)}.badge.warn{background:var(--sun-soft);color:var(--warn)}.badge.bad{background:var(--coral-soft);color:var(--bad)}:root[data-theme=dark] .badge{color:var(--sky)}.bar{height:16px;border-radius:99px;background:var(--line);overflow:hidden;display:flex}.bar>span{display:block;height:100%;background:var(--brand);border-radius:99px;position:relative;transition:width .5s cubic-bezier(.3,1.4,.5,1)}.bar>span:after{content:"";position:absolute;left:8px;right:8px;top:3px;height:4px;border-radius:99px;background:#ffffff59}.bar.thin{height:10px}.bar.thin>span:after{display:none}.app{max-width:720px;margin:0 auto;padding:16px 16px 110px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.brand{font-family:var(--display);font-weight:800;font-size:22px;color:var(--green);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:8px}.top-stats{display:flex;gap:14px;align-items:center}.top-stat{display:inline-flex;align-items:center;gap:4px;font-weight:800;color:var(--muted)}.top-stat.lit{color:var(--orange)}.tabs{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;justify-content:center;background:var(--card);border-top:2px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.tabs a{flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;color:var(--muted);font-size:11px;font-weight:800;border-radius:14px;border:2px solid transparent}.tabs a svg{width:28px;height:28px;transition:transform .2s}.tabs a.active{color:var(--sky-shade);background:var(--sky-soft);border-color:var(--sky)}.tabs a.active svg{transform:scale(1.08)}:root[data-theme=dark] .tabs a.active{color:var(--brand)}.hero{text-align:center;padding:26px 18px}.hero .big-number{font-family:var(--display);font-size:48px;font-weight:800;line-height:1.1}.stat{text-align:center}.stat b{font-family:var(--display);display:block;font-size:26px;font-weight:800}.stat span{font-size:13px;color:var(--muted)}.stat-tile{border-radius:var(--radius);border:2px solid var(--c, var(--line));overflow:hidden;text-align:center;animation:pop-in .4s both}.stat-tile .label{background:var(--c, var(--line));color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;padding:4px 6px}.stat-tile .value{font-family:var(--display);padding:10px 6px 8px;font-size:24px;font-weight:800;color:var(--c);display:flex;align-items:center;justify-content:center;gap:6px;background:var(--card)}.ring{position:relative;width:132px;height:132px;margin:0 auto}.ring svg{transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:12;stroke-linecap:round}.ring .track{stroke:var(--line)}.ring .fill{stroke:var(--sun);transition:stroke-dashoffset 1s cubic-bezier(.3,1.2,.5,1)}.ring .inner{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.session{max-width:640px;margin:0 auto;padding:16px 16px 200px;min-height:100vh;display:flex;flex-direction:column}.session-top{display:flex;align-items:center;gap:14px;margin-bottom:22px}.session-top .bar{flex:1}.flash{flex:1;display:flex;flex-direction:column;gap:16px;animation:slide-in .35s cubic-bezier(.2,.9,.3,1.2)}.task-title{font-size:22px;font-weight:800;margin:0}.word{font-family:var(--display);font-size:38px;font-weight:800;text-align:center;margin:8px 0 0;letter-spacing:-.01em}.ipa{text-align:center;color:var(--muted)}.prompt{font-size:20px;font-weight:500;text-align:center;line-height:1.5}.ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ratings button{flex-direction:column;gap:0;font-size:14px;padding:10px 4px;text-transform:none}.options{display:grid;gap:10px}.options button{justify-content:flex-start;text-align:left;font:500 17px var(--font);letter-spacing:0;text-transform:none;padding:14px 16px}.options button .key{display:inline-grid;place-items:center;width:28px;height:28px;border:2px solid var(--line);border-radius:8px;font-size:13px;color:var(--muted);flex:none}.options button.picked{--face: var(--brand-soft);--edge: var(--brand);--ink: var(--brand)}.options button.right{--face: var(--green-soft);--edge: var(--green);--ink: var(--ok);animation:bounce .5s}.options button.wrong{--face: var(--coral-soft);--edge: var(--coral);--ink: var(--bad);animation:shake .45s}.answer-input{font-size:20px;padding:16px;border-radius:16px;background:var(--bg)}.example{border-left:4px solid var(--sky);padding-left:12px;border-radius:2px}.pitfall s{color:var(--coral)}.speak{--face: var(--sky);--edge: var(--sky-shade);--ink: #fff;border-radius:16px;width:52px;height:52px;padding:0;flex:none}.speak.small{width:40px;height:40px;min-height:40px;border-radius:12px}.speak svg{width:24px;height:24px}.shake{animation:shake .45s}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:18px 16px calc(18px + env(safe-area-inset-bottom));background:var(--sheet-bg);border-top:2px solid var(--sheet-edge);animation:sheet-up .3s cubic-bezier(.2,.9,.3,1.1)}.sheet .inner{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.sheet h3{color:var(--sheet-ink);font-size:22px;margin:0;display:flex;align-items:center;gap:10px}.sheet h3 .ico{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sheet-ink);color:var(--sheet-bg);animation:pop .4s}.sheet .detail{color:var(--sheet-ink);font-size:15px}.sheet.correct{--sheet-bg: var(--green-soft);--sheet-edge: var(--green);--sheet-ink: var(--ok)}.sheet.almost{--sheet-bg: var(--sun-soft);--sheet-edge: var(--sun);--sheet-ink: var(--warn)}.sheet.wrong{--sheet-bg: var(--coral-soft);--sheet-edge: var(--coral);--sheet-ink: var(--bad)}.sheet.correct button.primary{--face: var(--green);--edge: var(--green-shade)}.sheet.almost button.primary{--face: var(--sun);--edge: var(--sun-shade)}.sheet.wrong button.primary{--face: var(--coral);--edge: var(--coral-shade)}.bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:15;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:var(--bg);border-top:2px solid var(--line)}.bottom-bar .inner{max-width:640px;margin:0 auto;display:flex;gap:10px}.bottom-bar .inner>*{flex:1}.combo{position:fixed;top:70px;left:50%;z-index:30;transform:translate(-50%);background:var(--sun);color:#5a3d00;font-weight:800;padding:8px 18px;border-radius:999px;box-shadow:0 4px 0 var(--sun-shade);animation:combo 1.6s ease-out forwards;white-space:nowrap}.mascot{display:block;margin:0 auto;animation:float 3s ease-in-out infinite}.mascot.jump{animation:jump .7s cubic-bezier(.3,1.6,.5,1) 2,float 3s ease-in-out 1.4s infinite}.mascot .blink{animation:blink 4s infinite;transform-origin:center 46%;transform-box:fill-box}.bubble{position:relative;background:var(--card);border:2px solid var(--line);border-radius:16px;padding:12px 16px;font-weight:800;animation:pop-in .4s .15s both}.bubble:before{content:"";position:absolute;left:-10px;top:22px;border:8px solid transparent;border-right-color:var(--line);border-left:0}.mascot-row{display:flex;align-items:center;gap:12px}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:40}.confetti i{position:absolute;top:-20px;width:10px;height:14px;border-radius:3px;animation:fall linear forwards}.unit{border-radius:var(--radius);padding:16px 18px;color:#fff;background:var(--u);box-shadow:0 4px 0 var(--u-shade);margin-bottom:18px}.unit h2{margin:0;color:#fff}.unit .bar{background:#ffffff4d;margin-top:10px;height:12px}.unit .bar>span{background:#fff}.path{display:flex;flex-direction:column;align-items:center;gap:26px;padding:8px 0 34px}.node-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;left:var(--x, 0);animation:pop-in .4s both}.node{--face: var(--u);--edge: var(--u-shade);position:relative;width:72px;height:72px;min-height:72px;overflow:visible;border-radius:50%;padding:0;box-shadow:0 7px 0 var(--edge);border:0;color:#fff;margin-bottom:7px}.node:active:not(:disabled){transform:translateY(7px);box-shadow:0 0 0 var(--edge)}.node>svg:not(.node-ring){width:34px;height:34px}.node.locked{--face: var(--line);--edge: var(--line-shade);color:var(--muted)}.node.done{--face: var(--sun);--edge: var(--sun-shade)}.node-ring{position:absolute;left:-10px;top:-10px;width:92px;height:92px;transform:rotate(-90deg);pointer-events:none}.node-ring circle{fill:none;stroke-width:7;stroke-linecap:round}.node-label{font-weight:800;font-size:14px;text-align:center;max-width:180px}.node-label .tiny{display:block;font-weight:700;color:var(--muted)}.start-tip{background:var(--card);color:var(--u-shade);border:2px solid var(--line);font-weight:800;font-size:13px;padding:6px 12px;border-radius:12px;text-transform:uppercase;animation:hover-y 1.2s ease-in-out infinite}.u-sky{--u: var(--sky);--u-shade: var(--sky-shade)}.u-green{--u: var(--green);--u-shade: var(--green-shade)}.u-orange{--u: var(--orange);--u-shade: var(--orange-shade)}.u-grape{--u: var(--grape);--u-shade: var(--grape-shade)}.u-locked{--u: #a9b6c3;--u-shade: #8b98a5}.test-word{font-family:var(--display);font-size:42px;font-weight:800;text-align:center;padding:40px 16px;animation:flip-in .35s cubic-bezier(.2,.9,.3,1.2)}.goodbye-left{animation:out-left .25s ease-in forwards}.goodbye-right{animation:out-right .25s ease-in forwards}.st-new{color:var(--new)}.st-learning{color:var(--learning)}.st-young{color:var(--young)}.st-mastered,.st-known{color:var(--mastered)}.st-forgotten{color:var(--coral)}.st-skipped{color:var(--muted)}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:currentColor;margin-right:6px}.heat{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,13px);gap:4px;overflow-x:auto}.heat i{width:13px;height:13px;border-radius:4px;background:var(--line)}.heat i.l1{background:color-mix(in srgb,var(--green) 20%,var(--card))}.heat i.l2{background:color-mix(in srgb,var(--green) 45%,var(--card))}.heat i.l3{background:var(--green)}.heat i.l4{background:var(--green-shade)}.bars{display:flex;align-items:flex-end;gap:3px;height:110px}.bars>div{flex:1;background:var(--sky);border-radius:4px 4px 0 0;min-height:3px;transform-origin:bottom;animation:grow-up .6s cubic-bezier(.3,1.3,.5,1) both}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 10px;border-bottom:2px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:800;font-size:13px}tr.click{cursor:pointer}tr.click:hover td{background:var(--surface)}.table-wrap{overflow-x:auto}.admin{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.admin nav{background:var(--card);border-right:2px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.admin nav a{padding:10px 14px;border-radius:14px;color:var(--muted);font-size:15px;font-weight:800;border:2px solid transparent}.admin nav a.active{background:var(--brand-soft);color:var(--sky-shade);border-color:var(--sky)}.admin main{padding:26px;min-width:0;animation:fade-in .25s}.admin .brand{padding:0 12px 14px}@media (max-width: 760px){.admin{grid-template-columns:1fr}.admin nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:2px solid var(--line);padding:8px}.admin nav a{white-space:nowrap}.admin .brand{display:none}.admin main{padding:16px}}.sense-box{border-style:dashed}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 560px){.two,.three{grid-template-columns:1fr}.three.keep{grid-template-columns:repeat(3,1fr)}}.auth{max-width:440px;margin:6vh auto;padding:16px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes out-left{to{opacity:0;transform:translate(-12px)}}@keyframes out-right{to{opacity:0;transform:translate(12px)}}body{font-size:15px;line-height:1.65}h1,h2,h3{font-weight:600;line-height:1.3;letter-spacing:-.025em}h1{font-size:28px}h2{font-size:21px}h3{font-size:16px}a{font-weight:500}.stack{gap:24px}.card{border:1px solid var(--line);padding:24px;box-shadow:none}.card .card{border:0;border-top:1px solid var(--line);border-radius:0;padding:20px 0 0}button,.btn,button:disabled,button.chip{border-width:1px;border-radius:8px;box-shadow:none;margin-bottom:0;min-height:44px;font:500 14px/1.4 var(--font);letter-spacing:0;transition:background-color .16s,border-color .16s,opacity .16s}button:active:not(:disabled),.btn:active,button.chip:active{transform:none;box-shadow:none}button:hover:not(:disabled),.btn:hover{filter:none;opacity:.85}button.primary,.btn.primary,button.secondary,.btn.secondary,button.danger-fill{text-transform:none}button.chip{min-height:36px;border-radius:6px}button:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:4px}button:disabled{opacity:.55}input,select,textarea{border-width:1px;border-radius:8px;min-height:44px;font-size:15px}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.error,.notice,.success{border-width:1px;border-color:var(--line);border-radius:8px;font-weight:400;animation:none}.badge{font-weight:500;padding:3px 8px;border-radius:5px}.bar,.bar.thin{height:5px}.bar>span{transition:width .2s ease-out}.bar>span:after{display:none}.app{max-width:800px;padding:30px 24px 110px}.top{margin-bottom:40px}.brand{font-size:21px;font-weight:600;color:var(--text)}.top-stats{gap:16px}.top-stat,.top-stat.lit{color:var(--muted);font-weight:500;font-size:13px}.top-stat svg{width:18px;height:18px}.tabs{border-top-width:1px;padding-top:8px}.tabs a{border:0;border-radius:6px;font-weight:500;gap:5px}.tabs a svg{width:21px;height:21px}.tabs a.active{border:0;color:var(--brand);background:var(--brand-soft)}.tabs a.active svg{transform:none}.hero{text-align:left;align-items:stretch!important;padding:32px}.hero .btn{max-width:none!important}.eyebrow{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.daily-progress{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--muted)}.daily-progress .bar{flex:1}.stat-tile{border:0;border-radius:0;padding:12px 8px;animation:none}.stat-tile .label{background:transparent;color:var(--muted);text-transform:none;font-weight:400;font-size:12px}.stat-tile .value{color:var(--text);background:transparent;font-size:24px;font-weight:500}.stat-tile .value svg{display:none}.session{padding-top:28px}.session-top{margin-bottom:36px}.flash{animation:fade-in .18s ease-out;gap:24px}.task-title{font-size:22px;font-weight:600}.word{font-size:36px;font-weight:600}.prompt{font-size:20px;font-weight:400}.ratings .r3,.options button{font-size:15px}.options button .key{border-width:1px;font-weight:400}.options button.right,.options button.wrong,.shake{animation:none}.answer-input{border-radius:8px;font-size:18px}.example{border:0;padding:12px 0}.speak,.speak.small{--face: var(--brand-soft);--edge: var(--line);--ink: var(--brand);border-radius:8px}.sheet{border-top-width:1px;animation:sheet-up .18s ease-out;max-height:60dvh;overflow-y:auto}.sheet h3{font-size:18px}.sheet h3 .ico{width:26px;height:26px;animation:none}.bottom-bar{border-top-width:1px;background:var(--card)}.combo,.confetti,.mascot{display:none}.mascot-row{display:block}.bubble{border:0;padding:0;border-radius:0;font-weight:400;color:var(--muted);background:transparent;animation:none}.bubble:before{display:none}.unit{padding:16px 0;border-bottom:1px solid var(--line);border-radius:0;color:var(--text);background:transparent;box-shadow:none;margin-bottom:0}.unit h2{color:var(--text)}.unit .bar{background:var(--line);height:4px}.unit .bar>span{background:var(--brand)}.path{display:flex;align-items:stretch;padding:0 0 20px;gap:0}.node-wrap{position:static;display:grid;grid-template-columns:36px 1fr;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);animation:none}.node,.node.locked,.node.done{--face: var(--brand-soft);--edge: var(--line);width:34px;height:34px;min-height:34px;border-radius:8px;margin:0;box-shadow:none;border:1px solid var(--line);color:var(--brand)}.node.locked{--face: var(--bg);color:var(--muted)}.node:active:not(:disabled){transform:none;box-shadow:none}.node>svg:not(.node-ring){width:17px;height:17px}.node-ring,.start-tip{display:none}.node-label{text-align:left;max-width:none;font-weight:500;font-size:14px}.node-label .tiny{font-weight:400;margin-top:3px}.test-word{font-size:40px;font-weight:500;animation:fade-in .16s ease-out}.goodbye-left{animation:out-left .16s ease-out forwards}.goodbye-right{animation:out-right .16s ease-out forwards}th,td{border-bottom-width:1px;padding:12px}th{font-weight:500}.admin nav{border-right-width:1px;padding:24px 12px}.admin nav a{border:0;border-radius:6px;font-weight:500;font-size:14px}.admin nav a.active{border:0;color:var(--brand)}.admin main{padding:36px;animation:none}.sense-box{border-style:solid}.bars>div,.flame{animation:none}.auth{margin-top:10vh}@media (max-width: 760px){.admin nav{padding:8px;border-bottom-width:1px}.admin main{padding:20px 16px}}@media (max-width: 560px){.app{padding:20px 16px 100px}.top{margin-bottom:28px}.top-stats{gap:10px}.top-stat{display:none}.hero{padding:24px 20px}.card{padding:20px}.session{padding-bottom:180px}.ratings{gap:6px}.ratings button{font-size:12px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.goal-setup{max-width:560px;padding-top:8vh}.goal-guided{gap:28px}.goal-guided h1:focus{outline:none}.goal-guided .goal-questions>.field>label{display:none}.goal-guided .goal-questions>.field>.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.goal-guided .goal-questions>.field .chip{min-height:54px;font-size:15px}.goal-guided .field{margin-bottom:0}.goal-optional{margin-top:12px}.goal-optional summary{cursor:pointer;padding:12px 0;font-size:14px;color:var(--text)}.goal-optional[open] summary{margin-bottom:12px}.goal-optional .field{margin-bottom:20px}@media (max-width: 560px){.goal-setup{padding-top:32px}}button.primary:hover:not(:disabled),.btn.primary:hover{--face: var(--brand-hover);opacity:1}.stat-tile .value{color:var(--c, var(--text))}.sheet.correct button.primary{--face: var(--green-shade);--edge: var(--green-shade);--ink: var(--card)}.sheet.almost button.primary{--face: var(--sun-shade);--edge: var(--sun-shade);--ink: var(--card)}.sheet.wrong button.primary{--face: var(--coral-shade);--edge: var(--coral-shade);--ink: var(--card)}.unit h2{display:inline-block;color:var(--u-shade);background:var(--unit-soft, var(--surface));padding:5px 10px;border-radius:6px;font-size:18px}.unit .bar>span{background:var(--u)}.u-sky{--unit-soft: var(--sky-soft)}.u-green{--unit-soft: var(--green-soft)}.u-orange{--unit-soft: var(--orange-soft)}.u-grape{--unit-soft: var(--grape-soft)}.u-locked{--u: var(--muted);--u-shade: var(--muted)}.node:not(.locked){--face: var(--unit-soft, var(--brand-soft));color:var(--u-shade)}.node.done{--face: var(--green-soft);color:var(--ok)}.tabs a.active,.admin nav a.active{color:var(--brand);background:var(--brand-soft)}.goal-guided .bar>span{background:var(--brand)}.ratings button.r1{--face: var(--coral-soft);--edge: var(--coral);--ink: var(--bad)}.ratings button.r2{--face: var(--sun-soft);--edge: var(--sun);--ink: var(--warn)}.ratings button.r3{--face: var(--green-soft);--edge: var(--green);--ink: var(--ok)}.ratings button.r4{--face: var(--sky-soft);--edge: var(--sky);--ink: var(--sky-shade)}.ratings button{background:var(--face);color:var(--ink);border-color:var(--edge);font-weight:600}button:disabled,.ratings button:disabled{--face: var(--surface);--edge: var(--line);--ink: var(--muted);background:var(--face);color:var(--ink);opacity:1}.st-new{color:var(--muted)}.st-learning{color:var(--warn)}.st-young{color:var(--ok)}:root{--motion-press: .12s;--motion-control: .22s;--motion-sheet: .28s;--ease-settle: cubic-bezier(.22, 1, .36, 1);--ease-sheet: cubic-bezier(.32, .72, 0, 1)}button,.btn,button.chip{transition:transform var(--motion-press) var(--ease-settle),background-color var(--motion-control) ease,color var(--motion-control) ease,border-color var(--motion-control) ease,opacity var(--motion-press) ease;touch-action:manipulation}button:active:not(:disabled),button.chip:active:not(:disabled),.btn:active,.node:active:not(:disabled){transform:scale(.975);box-shadow:none}.tabs a,.admin nav a{transition:background-color var(--motion-control) ease,color var(--motion-control) ease,transform var(--motion-press) var(--ease-settle)}.tabs a:active{transform:scale(.96)}input,select,textarea{transition:border-color var(--motion-control) ease,box-shadow var(--motion-control) ease}.sheet{animation:ios-sheet var(--motion-sheet) var(--ease-sheet);border-radius:18px 18px 0 0}.sheet h3 .ico{animation:ios-feedback .2s var(--ease-settle)}.flash,.test-word{animation:ios-content .16s var(--ease-settle)}.motion-step{animation:ios-content .22s var(--ease-settle)}.success,.error,.notice{animation:ios-feedback .18s var(--ease-settle)}.segmented{position:relative;display:flex;padding:4px;isolation:isolate;border-radius:10px;background:var(--surface);border:1px solid var(--line)}.segmented-marker{position:absolute;top:4px;bottom:4px;left:4px;background:var(--card);border-radius:7px;box-shadow:0 1px 3px #00000017;transition:transform var(--motion-sheet) var(--ease-sheet);pointer-events:none}.segmented button{position:relative;z-index:1;flex:1;min-width:0;padding:9px 4px;min-height:40px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:13px}.segmented button[aria-pressed=true]{color:var(--text);font-weight:600}.segmented button:hover:not(:disabled){opacity:1}.segmented button:disabled{background:transparent;color:var(--muted)}@keyframes ios-sheet{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes ios-content{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes ios-feedback{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}html[data-motion-input=keyboard] *,html[data-motion-input=keyboard] *:before,html[data-motion-input=keyboard] *:after{animation:none!important;transition:none!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:active:not(:disabled),.btn:active,.tabs a:active{transform:none!important}}:root{--bg: #fafafa;--card: #fdfdfd;--surface: #f1f1f2;--text: #18191b;--muted: #666970;--line: #e3e4e7;--line-shade: #d6d8dc;--brand: #24262b;--brand-hover: #41444c;--brand-soft: #ededf0;--on-brand: #fafafa;--radius: 9px}:root[data-theme=dark]{--bg: #0b0c0e;--card: #121316;--surface: #1b1d22;--text: #eeeef0;--muted: #a1a4ad;--line: #292c33;--line-shade: #393d46;--brand: #eeeef0;--brand-hover: #d3d5da;--brand-soft: #24272e;--on-brand: #16171a}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Lexend,sans-serif}:root{--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Lexend", sans-serif;--display: var(--font)}.top{min-height:54px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:32px}.brand{letter-spacing:-.05em;font-size:23px}h1{letter-spacing:-.04em;font-size:28px}.card{background:var(--card);border-radius:var(--radius)}.profile-menu{position:relative;z-index:35}.profile-menu summary{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 5px;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:13px;list-style:none;transition:background-color .18s ease,border-color .18s ease}.profile-menu summary::-webkit-details-marker{display:none}.profile-menu summary:hover,.profile-menu[open] summary{background:var(--surface);border-color:var(--line-shade)}.profile-menu summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--brand-soft);color:var(--text);font-weight:600;font-size:12px}.profile-chevron{color:var(--muted);transition:transform .18s var(--ease-settle)}.profile-menu[open] .profile-chevron{transform:rotate(180deg)}.profile-popover{position:absolute;right:0;top:calc(100% + 10px);width:min(310px,calc(100vw - 32px));padding:6px;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #0000001f;transform-origin:top right;animation:profile-enter .18s var(--ease-settle)}.profile-identity{padding:12px;display:grid;gap:3px;border-bottom:1px solid var(--line);margin-bottom:5px}.profile-identity strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.profile-identity>span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.profile-popover .profile-item{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:42px;border:0;background:transparent;color:var(--text);padding:10px 12px;border-radius:6px;font-weight:400;font-size:13px;text-decoration:none}.profile-popover .profile-item:hover{background:var(--surface);opacity:1}.profile-popover .profile-logout{color:var(--bad)}.profile-appearance{display:grid;gap:8px;padding:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:5px 0}.theme-control{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.theme-control button{min-height:32px;padding:6px 9px;gap:6px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-size:12px;flex:1;white-space:nowrap}.theme-control button[aria-pressed=true]{background:var(--card);border-color:var(--line);color:var(--text)}.profile-theme-section{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.profile-theme-section p{margin-bottom:0}.page-heading h1{margin:5px 0 8px}.admin-profile,.auth-appearance{display:flex;justify-content:flex-end;margin-bottom:24px}html.theme-changing body,html.theme-changing .card,html.theme-changing .tabs,html.theme-changing .bottom-bar,html.theme-changing .profile-popover{transition:background-color .18s ease,color .18s ease,border-color .18s ease}@keyframes profile-enter{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.audio-control{display:flex;flex-direction:column;align-items:center;gap:10px}.audio-control .audio-caption{font-size:13px;color:var(--muted)}.audio-control .audio-error{color:var(--bad);max-width:42ch;font-size:13px;text-align:center}.audio-control button[aria-busy=true]{border-color:var(--sky)}@media (max-width: 560px){.theme-control button{padding:6px 7px}.profile-theme-section .theme-control{width:100%}}.listen-play{min-width:80px;min-height:80px;width:80px;height:80px;border-radius:16px}.listen-play svg{width:32px;height:32px}:root{--sticker-ink: #454750;--sticker-paper: #f8f6ee;--sticker-peach: #e5ba9f;--sticker-lilac: #c5b8df;--sticker-teal: #a3c7bd;--sticker-gold: #e8cd88}:root[data-theme=dark]{--sticker-ink: #393b46;--sticker-paper: #deddd9;--sticker-peach: #cda58f;--sticker-lilac: #b3a5cc;--sticker-teal: #96b8af;--sticker-gold: #d3bc87}.learner-shell{min-height:100dvh}.desktop-sidebar{position:fixed;inset:0 auto 0 0;width:248px;padding:32px 16px 20px;border-right:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;z-index:20;overflow-y:auto}.side-brand{display:flex;align-items:flex-start;flex-direction:column;gap:5px;margin:0 16px 34px;font-size:27px}.side-product-label{color:var(--muted);font:400 10px/1.5 var(--font);letter-spacing:.12em}.side-links{display:flex;flex-direction:column;gap:5px}.side-links>a{display:flex;align-items:center;gap:12px;min-height:65px;padding:9px 12px;color:var(--text);border-radius:9px;border:1px solid transparent;transition:background-color .18s ease,border-color .18s ease}.side-links>a:hover{background:var(--surface)}.side-links>a.active{background:var(--brand-soft);border-color:var(--line)}.side-link-copy{display:flex;flex-direction:column;gap:4px;flex:1;font-size:13px;font-weight:500}.side-link-copy small{color:var(--muted);font-size:11px;font-weight:400}.side-active-dot{width:5px;height:5px;background:var(--text);border-radius:50%;opacity:0}.side-links>a.active .side-active-dot{opacity:1}.side-nav-divider{height:1px;margin:18px 12px;background:var(--line)}.side-footer{margin:auto 12px 0;padding-top:40px;color:var(--muted);font-size:11px}.side-footer small{display:block;margin-top:8px;font-size:11px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:8px}.learner-main{margin-left:248px}.learner-main>.app{max-width:1000px;padding:24px 48px 48px}.header-page-name{color:var(--muted);font-size:13px;font-weight:500}.header-streak{color:var(--muted);font-size:12px}.drawer-trigger{display:none}.mobile-drawer{position:fixed;inset:0 auto 0 0;margin:0;height:100dvh;max-height:100dvh;width:min(320px,86vw);max-width:86vw;padding:24px 16px max(24px,env(safe-area-inset-bottom));background:var(--card);color:var(--text);border:0;border-right:1px solid var(--line);overflow-y:auto}.mobile-drawer[open]{animation:drawer-enter .28s var(--ease-sheet)}.mobile-drawer::backdrop{background:#0000005c;animation:fade-in .18s ease-out}.mobile-drawer.drawer-closing{animation:drawer-exit .18s var(--ease-settle) forwards}.mobile-drawer.drawer-closing::backdrop{animation:backdrop-exit .18s ease forwards}.drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.drawer-dismiss,.drawer-trigger{min-width:40px;min-height:40px;padding:8px;border-color:var(--line);background:var(--card);color:var(--text)}.drawer-description{color:var(--muted);font-size:12px;margin:0 0 28px}.nav-sticker{width:40px;height:40px;flex:none;overflow:visible}.sticker-body{transform-origin:28px 44px}.sticker-face{transform-origin:28px 28px}.sticker-bar{transform-box:fill-box;transform-origin:center bottom}.side-links>a:is(:hover,:focus-visible,.active) .sticker-body{animation:sticker-greet .65s var(--ease-settle) both}.side-links>a:is(:hover,:focus-visible,.active) .sticker-spark{animation:sticker-twinkle .75s var(--ease-settle) both;transform-origin:center;transform-box:fill-box}.side-links>a:is(:hover,:focus-visible,.active) .sticker-bar{animation:sticker-grow .6s var(--ease-settle) both}.side-links>a:is(:hover,:focus-visible,.active) .bar-b{animation-delay:60ms}.side-links>a:is(:hover,:focus-visible,.active) .bar-c{animation-delay:.12s}.side-links>a:is(:hover,:focus-visible,.active) .sticker-check{stroke-dasharray:20;animation:sticker-check .5s var(--ease-settle)}@keyframes drawer-enter{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-exit{to{transform:translate(-100%)}}@keyframes backdrop-exit{to{opacity:0}}@keyframes sticker-greet{0%{transform:rotate(0)}25%{transform:translateY(-2px) rotate(-6deg)}60%{transform:rotate(3deg)}to{transform:none}}@keyframes sticker-twinkle{0%{opacity:.5;transform:scale(.8)}45%{opacity:1;transform:scale(1.12) rotate(12deg)}to{opacity:1;transform:none}}@keyframes sticker-grow{0%{transform:scaleY(.65)}to{transform:scaleY(1)}}@keyframes sticker-check{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}@media (max-width: 959px){.desktop-sidebar{display:none}.learner-main{margin-left:0}.learner-main>.app{padding:16px 24px 32px;max-width:800px}.drawer-trigger{display:inline-flex}.top{margin-bottom:24px;padding-bottom:16px}}@media (max-width: 560px){.learner-main>.app{padding:12px 16px 28px}.header-streak{display:none}}@media (prefers-reduced-motion: reduce){.nav-sticker *,.mobile-drawer[open],.mobile-drawer::backdrop{animation:none!important}}.theme-picker{--picker-bg: var(--card);--picker-line: var(--line);--picker-ink: var(--text);position:relative;display:inline-flex;align-items:center;flex-shrink:0;color:var(--muted)}.theme-picker select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:138px;min-height:38px;height:38px;padding:8px 28px 8px 36px;margin:0;border:1px solid var(--picker-line);border-radius:8px;background:var(--picker-bg);color:var(--picker-ink);font-size:12px;font-weight:400;cursor:pointer;box-shadow:none}.theme-picker select:hover{border-color:var(--line-shade)}.theme-picker select:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.theme-picker select option{color:var(--picker-ink);background:var(--picker-bg);font-size:13px}.theme-picker-icon{position:absolute;left:11px;pointer-events:none}.theme-picker-chevron{position:absolute;right:9px;pointer-events:none}.theme-picker--compact select{width:52px;padding:0;color:transparent}.audio-control-compact{flex:0 0 auto;max-width:80px;gap:5px}.audio-control .audio-hint{color:var(--muted);font-size:12px;line-height:1.3;text-align:center}.audio-control-compact .audio-error{max-width:80px;font-size:11px;line-height:1.3}.audio-detail{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.notification-toast{position:fixed;right:24px;bottom:24px;z-index:100;display:flex;gap:18px;width:min(390px,calc(100vw - 32px));padding:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 32px #191b2020;font-size:14px;overflow-wrap:anywhere}.notification-toast p{margin:8px 0 12px;color:var(--muted)}.notification-toast button{flex:0 0 auto;align-self:flex-start;min-height:28px;padding:4px 8px}@media (max-width:560px){.notification-toast{right:16px;bottom:16px}}
