@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/cc6c75d91fb27f62-s.3j-lqo2q-puhp.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ed5f1f9bced69653-s.p.2li_3lqay9qjq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/574e5b2a8fe8e45b-s.061jvc6_x84nn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/89ea96820aa96980-s.p.0hs6q6udzld4a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Fallback;src:local(Arial);ascent-override:95.6%;descent-override:29.18%;line-gap-override:0.0%;size-adjust:99.37%}.atkinson_hyperlegible_dfcdd788-module__fJGmlq__className{font-family:Atkinson Hyperlegible,Atkinson Hyperlegible Fallback;font-style:normal}.atkinson_hyperlegible_dfcdd788-module__fJGmlq__variable{--font-body:"Atkinson Hyperlegible", "Atkinson Hyperlegible Fallback"}
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_c5ddcdb2-module__nAUN1q__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_c5ddcdb2-module__nAUN1q__variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
:root{--ink:#10243e;--ink-soft:#405269;--paper:#f4f8fb;--surface:#fff;--surface-raised:#fff;--surface-soft:#e9f0f4;--surface-tint:#edf8f8;--voice:#ff6b5f;--voice-dark:#d9483d;--listen:#2d9da6;--listen-light:#5cc0c8;--listen-soft:#e4f4f4;--listen-ink:#176f76;--review:#e8ad32;--review-ink:#8a5d00;--line:#dbe5eb;--muted:#718092;--success:#2b7c5c;--strong:#10243e;--strong-hover:#17304f;--on-strong:#fff;--shadow:0 18px 50px #10243e14;--radius:22px}html[data-theme=dark]{--ink:#f2f6fb;--ink-soft:#c4cfdd;--paper:#0d1725;--surface:#142132;--surface-raised:#19283a;--surface-soft:#1d2d3f;--surface-tint:#123037;--voice:#ff7a70;--voice-dark:#ff9b94;--listen:#63c7ce;--listen-light:#83dce2;--listen-soft:#17363d;--listen-ink:#8cdee3;--review:#f0bb4e;--review-ink:#f3c86f;--line:#2b3c4f;--muted:#91a1b4;--success:#78cba4;--strong:#203b59;--strong-hover:#294b6d;--on-strong:#fff;--shadow:0 18px 50px #0000003d}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-body), "Avenir Next", sans-serif;-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #2d9da65c}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display), "Avenir Next", sans-serif;letter-spacing:-.035em}.eyebrow,.section-label{color:var(--listen);letter-spacing:.13em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:700}.button{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;min-height:46px;padding:12px 18px;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex}.button:active{transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.45}.button-primary{background:var(--strong);color:var(--on-strong);box-shadow:0 10px 28px #10243e33}.button-primary:hover{background:var(--strong-hover)}.button-secondary{background:var(--surface-soft);color:var(--ink)}.button-large{border-radius:17px;width:100%;min-height:58px}.text-button{color:var(--listen);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:6px;font-weight:700;text-decoration:underline}.brand-mark{background:var(--strong);border-radius:11px;flex-direction:column;justify-content:center;gap:4px;width:34px;height:34px;padding:7px 5px;display:inline-flex}.brand-mark i{background:var(--voice);border-radius:4px;height:4px;display:block;transform:scaleX(.82)}.brand-mark i:last-child{background:var(--listen-light);transform:scaleX(.58)}.locale-toggle{border:1px solid var(--line);cursor:pointer;background:#ffffffb3;border-radius:12px;min-width:48px;min-height:38px;padding:7px 10px;font-weight:700}.loading-screen,.error-screen,.offline-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:30px;display:flex}.loading-screen .brand-mark{margin-bottom:16px;animation:1.2s ease-in-out infinite alternate pulse}.loading-screen p{color:var(--muted)}.error-screen h1,.offline-page h1{font-size:clamp(36px,10vw,64px)}.error-screen p,.offline-page p{max-width:540px;color:var(--ink-soft)}.auth-shell{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) 20px max(38px, env(safe-area-inset-bottom));overflow:hidden}.auth-header{justify-content:space-between;align-items:center;max-width:1060px;margin:auto;display:flex}.auth-layout{align-items:center;gap:38px;max-width:1060px;margin:54px auto 0;display:grid}.auth-layout.single{max-width:760px}.auth-intro{position:relative}.auth-intro h1{max-width:650px;margin-bottom:18px;font-size:clamp(44px,11vw,76px);line-height:.96}.auth-intro>p:last-of-type{max-width:570px;color:var(--ink-soft);font-size:18px;line-height:1.5}.auth-wave{align-items:center;gap:5px;height:54px;margin-top:30px;display:flex}.auth-wave i{background:var(--voice);width:5px;height:18%;box-shadow:0 9px 0 var(--listen);transform-origin:50%;border-radius:5px}.auth-wave i:nth-child(3n+1){height:68%}.auth-wave i:nth-child(3n+2){height:35%}.auth-wave i:nth-child(4n){height:92%}.auth-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);gap:18px;padding:24px 20px;display:grid}.auth-tabs{background:var(--paper);border-radius:13px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.auth-tabs button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;font-weight:700}.auth-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 5px 16px #10243e14}.auth-card .field-label small{color:var(--muted);margin-top:6px;font-size:11px;display:block}.auth-card .privacy-note{margin-top:-4px}.auth-card>.text-button{justify-self:center}.turnstile-slot{min-height:65px}.onboarding-shell{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) 20px max(38px, env(safe-area-inset-bottom));overflow:hidden}.onboarding-header{justify-content:space-between;align-items:center;max-width:1060px;margin:auto;display:flex}.onboarding-intro{max-width:1060px;margin:58px auto 34px;position:relative}.onboarding-intro:after{z-index:-1;content:"";border:48px solid #5cc0c821;border-radius:50%;width:330px;height:330px;position:absolute;top:-170px;right:-160px}.onboarding-intro h1{max-width:720px;margin-bottom:18px;font-size:clamp(44px,11vw,76px);line-height:.96}.onboarding-intro>p:last-child{max-width:610px;color:var(--ink-soft);margin-bottom:0;font-size:19px;line-height:1.45}.onboarding-form{gap:24px;max-width:760px;margin:0 auto;display:grid}.onboarding-form fieldset{border:0;margin:0;padding:0}.onboarding-form legend,.field-label>span{color:var(--ink);margin-bottom:10px;font-weight:700;display:block}.field-label input,.field-label select,.return-card textarea,.prompt-preview{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:14px}.field-label input,.field-label select{min-height:50px;padding:12px 14px}.choice-grid{flex-wrap:wrap;gap:8px;display:flex}.choice{border:1px solid var(--line);min-height:42px;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;padding:9px 13px}.choice.selected{border-color:var(--listen);background:var(--listen-soft);color:var(--listen-ink);box-shadow:inset 0 0 0 1px var(--listen)}.form-split{gap:24px;display:grid}.segmented{gap:7px;display:flex}.segmented .choice{border-radius:12px;flex:1}.baseline-note{border-left:4px solid var(--review);background:#e8ad321a;grid-template-columns:62px 1fr;gap:14px;padding:18px;display:grid}.baseline-note span{font-family:var(--font-display);font-weight:800}.baseline-note p{color:var(--ink-soft);margin:0;line-height:1.45}.privacy-note{color:var(--muted);text-align:center;margin:-10px 0 0;font-size:13px}.app-shell{min-height:100dvh;padding-bottom:calc(88px + env(safe-area-inset-bottom))}.app-header{z-index:20;height:calc(66px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 18px 0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f4f8fbe0;border-bottom:1px solid #dbe5ebcc;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand-button{font-family:var(--font-display);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0;font-size:17px;font-weight:750;display:flex}.brand-identity{flex-direction:column;align-items:flex-start;line-height:1.05;display:flex}.build-version{color:var(--muted);letter-spacing:.01em;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,monospace;font-size:9px;font-weight:600;line-height:1.3;display:block}.brand-identity .build-version{margin-top:3px}.onboarding-brand{align-items:center;gap:10px;display:flex}.offline-page>.build-version{margin:-8px 0 18px}.app-header>div{align-items:center;gap:8px;display:flex}.level-pill{color:var(--ink-soft);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:700;display:flex}.level-pill i{background:linear-gradient(90deg, var(--voice), var(--listen));width:18px;height:2px}.account-menu{position:relative}.account-menu summary{border:1px solid var(--line);background:var(--ink);color:#fff;cursor:pointer;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;list-style:none;display:grid}.account-menu summary::-webkit-details-marker{display:none}.account-menu>div{border:1px solid var(--line);width:min(290px,100vw - 32px);box-shadow:var(--shadow);background:#fff;border-radius:15px;gap:5px;padding:16px;display:grid;position:absolute;top:46px;right:0}.account-menu span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.account-menu strong{text-overflow:ellipsis;font-size:13px;overflow:hidden}.account-menu button{background:var(--paper);color:var(--voice-dark);cursor:pointer;border:0;border-radius:10px;margin-top:8px;padding:10px;font-size:12px;font-weight:700}.main-content{width:min(100%,780px);margin:0 auto;padding:24px 16px 12px}.view-stack{gap:18px;display:grid}.view-heading{padding:18px 3px 8px}.view-heading h1{margin-bottom:12px;font-size:clamp(38px,9vw,60px);line-height:.98}.view-heading>p:last-child{max-width:590px;color:var(--ink-soft);margin-bottom:0;font-size:17px;line-height:1.45}.wave-card{border-radius:var(--radius);background:#ecf5f7;border:1px solid #d7e4e9;padding:22px 20px 18px;position:relative;overflow:hidden}.wave-card:after{content:"";border:25px solid #ffffff73;border-radius:50%;width:130px;height:130px;position:absolute;top:-40px;right:-20px}.wave-heading{z-index:1;justify-content:space-between;align-items:flex-end;display:flex;position:relative}.wave-count{align-items:baseline;gap:7px;margin:0 0 14px;display:flex}.wave-count strong{font-family:var(--font-display);letter-spacing:-.06em;font-size:54px;line-height:1}.wave-count span{color:var(--muted);font-weight:700}.wave-legend{color:var(--muted);text-transform:uppercase;margin:0 0 17px;font-size:10px;font-weight:700}.dot{border-radius:50%;width:7px;height:7px;margin:0 3px 0 7px;display:inline-block}.dot.speaking{background:var(--voice)}.dot.listening{background:var(--listen)}.wave-tracks{gap:4px;display:grid}.wave-row{align-items:center;gap:2px;height:27px;display:flex}.wave-row i{background:#10243e1a;border-radius:2px;flex:1;min-width:1px;transition:background .3s,transform .3s}.speaking-row i.done{background:var(--voice)}.listening-row i.done{background:var(--listen)}.wave-card-compact{padding:15px 16px}.wave-card-compact .wave-row{height:18px}.notice{border-left:4px solid var(--listen);background:#fff;grid-template-columns:1fr auto;gap:3px 12px;padding:15px 17px;display:grid;box-shadow:0 8px 30px #10243e0d}.notice.warning{border-left-color:var(--review)}.notice strong{font-size:14px}.notice span{color:var(--ink-soft);font-size:13px}.notice button{color:var(--listen);cursor:pointer;background:0 0;border:0;grid-area:1/2/3;align-self:center;font-weight:700}.cloud-error{margin-bottom:16px}.cloud-error>div{gap:3px;display:grid}.lesson-card,.return-card,.storage-card,.backup-preview,.journal-entry{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:22px 20px}.completion-card{border-radius:var(--radius);background:var(--strong);color:var(--on-strong);box-shadow:var(--shadow);padding:34px 24px;overflow:hidden}.completion-card h1{max-width:620px;margin-bottom:16px;font-size:clamp(42px,11vw,68px);line-height:.96}.completion-card>p:not(.eyebrow){color:#ffffffb8;max-width:550px;font-size:17px;line-height:1.5}.completion-card .button{background:var(--voice);margin-top:8px}.lesson-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.lesson-header h1{margin:0;font-size:clamp(34px,9vw,52px);line-height:.98}.duration{background:var(--paper);color:var(--ink-soft);border-radius:999px;flex:none;padding:8px 10px;font-size:12px;font-weight:700}.lesson-goal{color:var(--ink-soft);margin:18px 0 20px;font-size:18px;line-height:1.48}.lesson-meta{border:1px solid var(--line);background:var(--line);border-radius:16px;gap:1px;margin-bottom:21px;display:grid;overflow:hidden}.lesson-meta>div{background:#fbfdfe;padding:15px}.lesson-meta span{color:var(--listen);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.lesson-meta p{margin:5px 0 0;line-height:1.4}.vocab-block,.review-due{margin:18px 0}.phrase-list{flex-wrap:wrap;gap:7px;display:flex}.phrase-list span{background:#eef5f8;border-radius:8px;padding:8px 10px;font-size:14px}.review-due ul{margin:0;padding-left:20px}.adjustment{background:#f5f8fa;border-radius:12px;grid-template-columns:auto 1fr;gap:9px;margin:20px 0;padding:13px;display:grid}.adjustment span{background:var(--listen);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:5px;align-self:start;padding:3px 6px;font-size:9px;font-weight:800}.adjustment.reinforce span{background:var(--review)}.adjustment.challenge span{background:var(--voice)}.adjustment p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.35}.voice-button{text-align:left;justify-content:flex-start;gap:14px;min-height:70px}.voice-button>span:last-child{flex-direction:column;gap:2px;display:flex}.voice-button small{color:#ffffff9e;font-size:11px;font-weight:400}.voice-glyph{color:var(--voice);letter-spacing:-5px;font-size:20px;transform:rotate(90deg)}.secondary-actions{justify-content:center;gap:5px;margin-top:8px;display:flex}.secondary-actions button,.secondary-actions a{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px;font-size:12px;text-decoration:underline}.prompt-preview{min-height:280px;color:var(--ink-soft);margin-top:12px;padding:13px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;line-height:1.45}.return-card{background:var(--strong);color:var(--on-strong)}.return-card>header{justify-content:space-between;align-items:flex-start;display:flex}.return-card .eyebrow{color:var(--listen-light)}.return-card h2{margin-bottom:5px;font-size:30px}.return-card>header>span{color:var(--listen-light);border:1px solid #ffffff2e;border-radius:7px;padding:6px 8px;font-family:ui-monospace,monospace;font-size:10px}.return-steps{counter-reset:steps;gap:10px;margin:18px 0;padding:0;list-style:none;display:grid}.return-steps li{color:#ffffffc2;counter-increment:steps;grid-template-columns:24px 1fr;gap:8px;font-size:14px;line-height:1.35;display:grid}.return-steps li:before{width:20px;height:20px;color:var(--listen-light);content:counter(steps);background:#ffffff1a;border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.report-import-tools{flex-wrap:wrap;gap:7px;margin-bottom:9px;display:flex}.report-import-tools button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;min-height:38px;padding:8px 11px;font-size:12px;font-weight:700}.report-import-tools button:first-child{color:var(--listen-light);border-color:#5cc0c88c}.return-card textarea{color:#fff;resize:vertical;background:#1a304b;border-color:#ffffff26;min-height:142px;padding:13px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px}.return-card .button{margin-top:12px}.return-card .button-primary{background:var(--voice)}.return-card .button-secondary{background:var(--surface);color:var(--ink)}.inline-message{border-left:3px solid var(--review);color:inherit;background:#e8ad321c;margin-top:12px;padding:11px 13px;font-size:13px}.inline-message.success{border-color:var(--success)}.inline-message p{margin:0}.inline-message ul{margin-bottom:0;padding-left:18px}.report-preview{background:#ffffff14;border-radius:14px;margin-top:14px;padding:15px}.report-preview h3{margin-bottom:5px}.report-preview p{color:#ffffffbf;font-size:13px}.score-strip{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.score-strip span{background:#ffffff12;border-radius:8px;flex-direction:column;align-items:center;padding:7px 3px;display:flex}.score-strip small{color:#ffffff8c;text-align:center;text-overflow:ellipsis;width:100%;font-size:8px;overflow:hidden}.score-strip strong{font-size:20px}.bottom-nav{z-index:30;height:calc(70px + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-top:1px solid #dbe5ebe6;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;display:flex;position:relative}.bottom-nav button.active{color:var(--ink)}.bottom-nav button.active:before{background:var(--voice);content:"";border-radius:2px;width:24px;height:3px;position:absolute;top:-8px}.bottom-nav button>span{font-size:18px;line-height:1;position:relative}.bottom-nav small{font-size:10px;font-weight:700}.bottom-nav em{background:var(--review);min-width:17px;height:17px;color:var(--ink);border-radius:9px;place-items:center;padding:0 4px;font-size:9px;font-style:normal;font-weight:800;display:grid;position:absolute;top:-7px;right:-12px}.phase-list{gap:10px;display:grid}.phase-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden}.phase-card summary{cursor:pointer;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;min-height:84px;padding:14px;list-style:none;display:grid}.phase-card summary::-webkit-details-marker{display:none}.phase-number{background:var(--paper);width:38px;height:38px;color:var(--muted);font-family:var(--font-display);border-radius:50%;place-items:center;font-weight:800;display:grid}.phase-card.current{border-color:var(--listen);box-shadow:inset 4px 0 0 var(--listen)}.phase-card.complete .phase-number{background:var(--strong);color:var(--on-strong)}.phase-card summary>span:nth-child(2){min-width:0}.phase-card summary strong{font-family:var(--font-display);font-size:18px;display:block}.phase-card summary small{color:var(--muted);text-overflow:ellipsis;margin-top:3px;font-size:11px;line-height:1.3;display:block;overflow:hidden}.phase-card summary em{color:var(--muted);font-size:11px;font-style:normal}.phase-card ol{margin:0;padding:0 14px 14px 56px;list-style:none}.phase-card li{color:var(--muted);border-top:1px solid #edf2f5;grid-template-columns:30px 1fr;padding:9px 0;display:grid}.phase-card li.active{color:var(--ink)}.phase-card li.active>span{color:var(--voice);font-weight:800}.phase-card li.done>span{color:var(--success)}.phase-card li p{margin:0;font-size:14px}.phase-card li small{color:var(--muted);text-transform:uppercase;margin-top:2px;font-size:9px;display:block}.review-stats{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.review-stats div{border-right:1px solid var(--line);flex-direction:column;align-items:center;padding:16px 10px;display:flex}.review-stats div:last-child{border:0}.review-stats strong{font-family:var(--font-display);font-size:30px}.review-stats span{color:var(--muted);text-transform:uppercase;font-size:10px}.review-list{gap:12px;display:grid}.review-card{border:1px solid var(--line);background:#fff;border-radius:17px;padding:17px}.review-card--leaving{pointer-events:none;animation:.28s cubic-bezier(.4,0,.7,.2) forwards review-complete-right}.review-card.due{box-shadow:inset 4px 0 0 var(--review);border-color:#e8ad32a6}.review-card.language-gap{background:linear-gradient(135deg,#fff 0%,#e8ad3214 100%)}.review-card header,.review-card footer{justify-content:space-between;align-items:center;display:flex}.review-card header span{color:var(--listen);text-transform:uppercase;font-size:10px;font-weight:800}.review-card time{color:var(--muted);font-size:11px}.review-card h2{margin:14px 0;font-size:24px;line-height:1.15}.review-card details{margin:10px 0}.review-card details summary{color:var(--listen);cursor:pointer;font-size:13px;font-weight:700}.review-card details p{background:var(--paper);border-radius:9px;margin:9px 0 0;padding:11px}.review-card footer small{color:var(--muted)}.review-card footer button{background:var(--strong);color:var(--on-strong);cursor:pointer;border:0;border-radius:9px;padding:8px 11px;font-weight:700}.review-card footer button:disabled{background:var(--surface-soft);color:var(--muted)}.review-heading>p:not(.eyebrow){max-width:590px;color:var(--ink-soft);margin-bottom:0;font-size:17px;line-height:1.45}.memory-wave{align-items:center;gap:4px;height:38px;margin-top:18px;display:flex}.memory-wave i{background:var(--voice);width:4px;height:30%;box-shadow:0 7px 0 var(--listen);border-radius:4px}.memory-wave i:nth-child(3n+1){height:82%}.memory-wave i:nth-child(4n+2){height:55%}.memory-wave i:nth-child(5n){height:100%}.review-toolbar{z-index:10;top:calc(66px + env(safe-area-inset-top));background:linear-gradient(var(--paper) 75%, #f4f8fb00);gap:10px;padding:10px 0 8px;display:grid;position:sticky}.segmented-control{border:1px solid var(--line);background:#e9f0f4;border-radius:14px;grid-template-columns:repeat(2,1fr);padding:4px;display:grid}.segmented-control button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;font-weight:750}.segmented-control button.active{color:var(--ink);background:#fff;box-shadow:0 5px 18px #10243e17}.filter-chips{scrollbar-width:none;gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.filter-chips::-webkit-scrollbar{display:none}.filter-chips button{border:1px solid var(--line);min-height:34px;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;flex:none;padding:7px 11px;font-size:12px;font-weight:700}.filter-chips button.active{border-color:var(--listen);background:var(--listen-soft);color:var(--listen-ink);box-shadow:inset 0 0 0 1px var(--listen)}.review-card .kind-tag{background:var(--listen-soft);color:var(--listen-ink);letter-spacing:.05em;border-radius:999px;padding:5px 8px;display:inline-flex}.review-card.error .kind-tag{color:var(--voice-dark);background:#ff6b5f1c}.review-card.language-gap .kind-tag{color:var(--review-ink);background:#e8ad3229}.review-card footer{gap:10px;margin-top:15px}.review-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.review-card footer .ai-button{border:1px solid color-mix(in srgb, var(--listen) 38%, var(--line));background:var(--listen-soft);color:var(--listen-ink)}.review-card footer .ai-button:disabled{border-color:#0000}.review-card footer .question-button{color:var(--listen);background:0 0;border:1px solid #0000}.review-card footer .question-button:hover{background:#eef7f7}.button-spinner{vertical-align:-2px;border:2px solid #fff6;border-top-color:currentColor;border-radius:50%;width:13px;height:13px;margin-right:6px;animation:.7s linear infinite spin;display:inline-block}.button-spinner.dark{color:var(--listen);border-color:currentColor #2d9da638 #2d9da638}.card-error{border-left:3px solid var(--voice);color:var(--voice-dark);background:#ff6b5f14;margin-top:12px;padding:10px 12px;font-size:12px}.card-error p{margin:0}.card-error .text-button{margin-top:4px;padding-left:0}.ai-explanation{background:linear-gradient(145deg,#edf8f8,#fff 65%);border:1px solid #cfe3e5;border-radius:14px;margin-top:16px;padding:16px}.ai-explanation>header{justify-content:flex-start;gap:9px;display:flex}.ai-spark{background:var(--strong);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid;color:var(--listen-light)!important;font-size:15px!important}.ai-explanation header div{gap:2px;display:grid}.ai-explanation header strong{font-family:var(--font-display)}.ai-explanation header small{color:var(--muted);font-size:10px}.ai-explanation dl{gap:12px;margin:15px 0 0;display:grid}.ai-explanation dl div{gap:4px;display:grid}.ai-explanation dt,.ai-examples>strong,.ai-practice>strong{color:var(--listen);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:800}.ai-explanation dd{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.ai-explanation .ai-target{color:var(--ink);font-family:var(--font-display);font-size:18px;font-weight:750}.ai-examples,.ai-practice{margin-top:13px}.ai-examples p,.ai-practice p{color:var(--ink-soft);margin:5px 0 0;font-size:13px;line-height:1.45}.ai-practice{background:#e8ad321a;border-radius:10px;padding:11px 12px}.ai-explanation>.text-button{margin-top:8px;padding-left:0;font-size:12px}.ai-question-form{background:#f7fbfb;border:1px solid #cfe3e5;border-radius:14px;gap:8px;margin-top:16px;padding:14px;display:grid}.ai-question-form label{color:var(--ink);font-family:var(--font-display);font-size:16px;font-weight:750}.ai-question-form textarea{resize:vertical;width:100%;min-height:82px;color:var(--ink);font:inherit;background:#fff;border:1px solid #bcd8db;border-radius:10px;padding:11px 12px;line-height:1.45}.ai-question-form textarea:focus{border-color:var(--listen);outline:3px solid #2d9da624}.ai-question-form>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-question-form small{color:var(--muted);font-size:10px}.ai-question-form button{background:var(--strong);min-height:38px;color:var(--on-strong);cursor:pointer;border:0;border-radius:9px;padding:8px 12px;font-weight:750}.ai-question-form button:disabled{background:var(--surface-soft);color:var(--muted)}.ai-custom-answer{border-left:3px solid var(--listen);background:#edf8f8;border-radius:4px 14px 14px 4px;margin-top:12px;padding:15px}.ai-custom-answer header{align-items:center;gap:9px;display:flex}.ai-custom-answer header div{gap:2px;display:grid}.ai-custom-answer header small{color:var(--muted);font-size:10px}.ai-custom-answer blockquote{color:var(--listen);margin:12px 0 8px;font-size:12px;font-weight:750}.ai-custom-answer>p{color:var(--ink-soft);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.55}.review-sentinel{min-height:34px;color:var(--muted);text-align:center;padding:5px;font-size:12px}.review-skeleton{gap:12px;display:grid}.review-skeleton i{border:1px solid var(--line);background:linear-gradient(100deg,#edf3f6 30%,#f9fbfc 48%,#edf3f6 66%) 0 0/260% 100%;border-radius:17px;height:160px;animation:1.3s infinite shimmer;display:block}.learning-tabs{z-index:10;top:calc(76px + env(safe-area-inset-top));margin-bottom:16px;position:sticky}.settings-warning{grid-template-columns:1fr}.settings-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.preference-card{overflow:hidden}.preference-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}.preference-card h2,.account-card h2,.settings-subheading h2{margin:0;font-size:24px}.settings-wave{flex-direction:column;gap:5px;width:46px;display:inline-flex}.settings-wave i{background:var(--voice);transform-origin:100%;border-radius:999px;height:5px;display:block;transform:scaleX(.95)}.settings-wave i:last-child{background:var(--listen);transform:scaleX(.62)}.setting-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 20px;display:grid}.setting-row:last-child{border-bottom:0}.setting-row>div:first-child{gap:4px;display:grid}.setting-row small{color:var(--muted);line-height:1.4}.settings-segmented{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;grid-template-columns:repeat(2,1fr);padding:4px;display:grid}.settings-segmented.theme-options{grid-template-columns:repeat(3,1fr)}.settings-segmented button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 9px;font-size:12px;font-weight:750}.settings-segmented button.active{background:var(--surface-raised);color:var(--ink);box-shadow:0 5px 16px #10243e1a}.account-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;padding:20px;display:grid}.account-avatar{background:var(--strong);width:48px;height:48px;color:var(--on-strong);font-family:var(--font-display);border-radius:16px;place-items:center;font-size:20px;font-weight:800;display:grid}.account-copy{min-width:0}.account-copy>p:last-child{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:13px;overflow:hidden}.account-card .button{grid-column:1/-1}.settings-subheading{padding:18px 3px 0}.settings-subheading>p:last-child{max-width:590px;color:var(--ink-soft);margin:8px 0 0;line-height:1.45}.provider-list{gap:14px;display:grid}.provider-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:20px}.provider-card.active{border-color:var(--listen);box-shadow:inset 4px 0 0 var(--listen), var(--shadow)}.provider-card>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.provider-card>header>div{align-items:center;gap:11px;display:flex}.provider-card h2{margin:0;font-size:24px}.provider-card header a{color:var(--muted);font-size:11px;text-decoration:none}.provider-glyph{background:var(--strong);width:42px;height:42px;color:var(--on-strong);font-family:var(--font-display);border-radius:13px;place-items:center;font-size:20px;font-weight:800;display:grid}.active-provider{color:var(--success);text-transform:uppercase;background:#e1f2eb;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:800}.provider-card .field-label{margin-top:15px;display:block}.provider-card .field-label small{color:var(--muted);margin-top:6px;font-size:11px;display:block}.provider-actions{grid-template-columns:1fr 1.25fr;gap:8px;margin-top:18px;display:grid}.settings-privacy{max-width:580px;margin:4px auto 0;line-height:1.5}.empty-state{border-radius:var(--radius);text-align:center;border:1px dashed #c5d4dc;padding:44px 25px}.empty-state>span{width:48px;height:48px;color:var(--listen);background:#e4f4f4;border-radius:50%;place-items:center;margin:0 auto 15px;font-size:24px;display:grid}.empty-state h2{margin-bottom:7px}.empty-state p{color:var(--muted);margin:0}.storage-card{flex-direction:column;align-items:stretch;gap:9px;display:flex}.storage-card>div{align-items:center;gap:10px;margin-bottom:5px;display:flex}.storage-card p{margin:0}.storage-card strong,.storage-card small{display:block}.storage-card small{color:var(--muted);margin-top:2px}.storage-dot{background:var(--review);border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 5px #e8ad3221}.storage-dot.safe{background:var(--success);box-shadow:0 0 0 5px #2b7c5c21}.cloud-storage-card{border-top:3px solid var(--listen)}.backup-preview dl{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.backup-preview dl div{background:var(--paper);border-radius:9px;padding:10px}.backup-preview dt{color:var(--muted);text-transform:uppercase;font-size:10px}.backup-preview dd{margin:4px 0 0;font-weight:700}.backup-preview>div{align-items:center;gap:8px;display:flex}.journal-list{gap:13px;display:grid}.journal-entry header{justify-content:space-between;gap:12px;display:flex}.journal-entry header span{color:var(--listen);font-size:10px;font-weight:800}.journal-entry h2{font-family:var(--font-body);letter-spacing:0;margin:5px 0 16px;font-size:16px;font-weight:400;line-height:1.45}.journal-entry time{color:var(--muted);flex:none;font-size:11px}.score-bars{gap:7px;display:grid}.score-bars>div{grid-template-columns:74px 1fr 18px;align-items:center;gap:7px;display:grid}.score-bars span{color:var(--muted);text-transform:capitalize;font-size:10px}.score-bars i{background:#edf1f4;border-radius:4px;height:6px;overflow:hidden}.score-bars b{border-radius:inherit;background:linear-gradient(90deg, var(--voice), var(--listen));height:100%;display:block}.score-bars strong{font-size:11px}.journal-entry blockquote{border-left:3px solid var(--review);color:var(--ink-soft);background:#e8ad3214;margin:17px 0 0;padding:12px 14px;font-size:13px}.language-gap-summary{background:#e8ad321a;border-radius:12px;margin-top:16px;padding:12px 14px}.language-gap-summary>strong{color:var(--review-ink);font-size:12px}html[data-theme=dark] .app-header{background:#0d1725e0;border-bottom-color:#2b3c4fd9}html[data-theme=dark] .bottom-nav{background:#142132f0;border-top-color:#2b3c4fe6}html[data-theme=dark] .locale-toggle,html[data-theme=dark] .auth-tabs button.active,html[data-theme=dark] .field-label input,html[data-theme=dark] .field-label select,html[data-theme=dark] .return-card textarea,html[data-theme=dark] .prompt-preview,html[data-theme=dark] .choice,html[data-theme=dark] .level-pill,html[data-theme=dark] .notice,html[data-theme=dark] .phase-card,html[data-theme=dark] .review-stats,html[data-theme=dark] .review-card,html[data-theme=dark] .segmented-control button.active,html[data-theme=dark] .filter-chips button,html[data-theme=dark] .ai-question-form textarea,html[data-theme=dark] .provider-card{background:var(--surface)}html[data-theme=dark] .wave-card,html[data-theme=dark] .lesson-meta>div,html[data-theme=dark] .phrase-list span,html[data-theme=dark] .adjustment,html[data-theme=dark] .segmented-control,html[data-theme=dark] .review-skeleton i{background:var(--surface-soft)}html[data-theme=dark] .wave-card{border-color:var(--line)}html[data-theme=dark] .wave-card:after{border-color:#63c7ce14}html[data-theme=dark] .wave-row i{background:#c4cfdd21}html[data-theme=dark] .phase-card li{border-top-color:var(--line)}html[data-theme=dark] .review-card footer .question-button:hover{background:var(--surface-soft)}html[data-theme=dark] .ai-explanation{border-color:var(--line);background:linear-gradient(145deg, var(--surface-tint), var(--surface) 68%)}html[data-theme=dark] .ai-question-form{border-color:var(--line);background:var(--surface-raised)}html[data-theme=dark] .ai-question-form textarea{border-color:var(--line)}html[data-theme=dark] .ai-custom-answer{background:var(--surface-tint)}html[data-theme=dark] .active-provider{background:#78cba424}html[data-theme=dark] .empty-state{border-color:var(--line)}html[data-theme=dark] .empty-state>span{background:var(--listen-soft)}html[data-theme=dark] .score-bars i{background:var(--surface-soft)}.language-gap-summary ul{gap:6px;margin:9px 0 0;padding:0;list-style:none;display:grid}.language-gap-summary li{grid-template-columns:minmax(0,.8fr) auto minmax(0,1.2fr);align-items:baseline;gap:7px;font-size:13px;display:grid}.language-gap-summary li:after{color:var(--review);content:"→";grid-area:1/2}.language-gap-summary li span{text-overflow:ellipsis;white-space:nowrap;grid-column:1;overflow:hidden}.language-gap-summary li b{grid-column:3;font-weight:700}@media (min-width:600px){.auth-card{padding:30px}.form-split,.lesson-meta{grid-template-columns:1fr 1fr}.main-content{padding:32px 24px 20px}.lesson-card,.return-card,.storage-card,.backup-preview,.journal-entry{padding:28px}.review-card{padding:21px}.provider-card{padding:24px}.setting-row{grid-template-columns:minmax(160px,.9fr) minmax(260px,1.1fr);align-items:center}.account-card{grid-template-columns:auto minmax(0,1fr) auto}.account-card .button{grid-column:auto}}@media (min-width:900px){.auth-layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);margin-top:90px}.auth-layout.single{grid-template-columns:1fr}.app-shell{padding-bottom:0;padding-left:92px}.app-header{padding-left:30px;padding-right:30px}.bottom-nav{border-top:0;border-right:1px solid var(--line);grid-template-rows:repeat(4,74px);grid-template-columns:1fr;width:92px;height:100dvh;padding:90px 10px 20px;top:0;right:auto}.bottom-nav button.active:before{width:3px;height:25px;top:auto;left:-10px}.main-content{padding-top:42px}.onboarding-intro{margin-top:90px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@keyframes pulse{0%{opacity:.65;transform:scale(.95)}to{opacity:1;transform:scale(1.04)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes review-complete-right{to{opacity:0;transform:translate(calc(100% + 28px))}}@media (max-width:430px){.review-card footer{flex-direction:column;align-items:stretch}.review-actions{grid-template-columns:1fr 1fr;display:grid}.review-actions .question-button{grid-column:1/-1}.review-actions button{min-height:42px}.provider-actions{grid-template-columns:1fr}}
