@layer tokens{:root{--bg:var(--base);--bg-soft:var(--mantle);--surface:var(--surface0);--surface-strong:var(--surface1);--ink:var(--text);--muted:var(--subtext0);--line:var(--surface1);--primary:var(--blue);--primary-dark:var(--sapphire);--accent:var(--peach);--accent-soft:color-mix(in srgb, var(--peach) 18%, var(--surface0));--success:var(--green);--warning:var(--yellow);--danger:var(--red);--on-primary:#fff;--shadow:0 4px 8px #4c4f691f;--glow:color-mix(in srgb, var(--mauve) 14%, transparent);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--tap-target:44px;--z-local:1;--z-raised:5;--z-notice:8;--z-sticky:20;--z-popover:40;--z-action:45;--z-alert:50;--z-skip-link:50;--z-dialog:70;--font-ui:"Lexend", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Lexend", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading:"Lexend", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--reading-size:1.05rem;--reading-leading:1.78;--reading-tracking:.01em;--ui-tracking:0;--chip-size:.78rem}html[data-theme=light],:root:not([data-theme=dark]){color-scheme:light;--crust:#dce0e8;--mantle:#e6e9ef;--base:#eff1f5;--surface0:#fff;--surface1:#e6e9ef;--surface2:#ccd0da;--overlay0:#9ca0b0;--subtext0:#62657b;--subtext1:#5c5f77;--text:#4c4f69;--blue:#1e66f5;--sapphire:#209fb5;--teal:#179299;--green:#40a02b;--yellow:#df8e1d;--peach:#fe640b;--maroon:#e64553;--red:#d20f39;--mauve:#8839ef;--lavender:#7287fd;--primary-dark:#1757d7;--success:#2a6e1f;--warning:#7a4200;--danger:#b40d31;--on-primary:#fff;--shadow:0 4px 8px #4c4f691f;--theme-color:#eff1f5}html[data-theme=dark]{color-scheme:dark;--crust:#11111b;--mantle:#181825;--base:#1e1e2e;--surface0:#313244;--surface1:#45475a;--surface2:#585b70;--overlay0:#6c7086;--subtext0:#a6adc8;--subtext1:#bac2de;--text:#cdd6f4;--blue:#89b4fa;--sapphire:#74c7ec;--teal:#94e2d5;--green:#a6e3a1;--yellow:#f9e2af;--peach:#fab387;--maroon:#eba0ac;--red:#f38ba8;--mauve:#cba6f7;--lavender:#b4befe;--primary-dark:var(--sapphire);--success:var(--green);--warning:var(--yellow);--danger:var(--red);--on-primary:#11111b;--shadow:0 4px 8px #11111b52;--theme-color:#1e1e2e}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--crust:#11111b;--mantle:#181825;--base:#1e1e2e;--surface0:#313244;--surface1:#45475a;--surface2:#585b70;--overlay0:#6c7086;--subtext0:#a6adc8;--subtext1:#bac2de;--text:#cdd6f4;--blue:#89b4fa;--sapphire:#74c7ec;--teal:#94e2d5;--green:#a6e3a1;--yellow:#f9e2af;--peach:#fab387;--maroon:#eba0ac;--red:#f38ba8;--mauve:#cba6f7;--lavender:#b4befe;--primary-dark:var(--sapphire);--success:var(--green);--warning:var(--yellow);--danger:var(--red);--on-primary:#11111b;--shadow:0 4px 8px #11111b52;--theme-color:#1e1e2e}}html[data-font=lexend],:root:not([data-font]){--font-ui:"Lexend", "Atkinson Hyperlegible", system-ui, sans-serif;--font-body:"Lexend", "Atkinson Hyperlegible", system-ui, sans-serif;--font-heading:"Lexend", "Atkinson Hyperlegible", system-ui, sans-serif;--reading-size:1.05rem;--reading-tracking:.01em;--chip-size:.76rem}html[data-font=atkinson]{--font-ui:"Atkinson Hyperlegible", "Lexend", system-ui, sans-serif;--font-body:"Atkinson Hyperlegible", "Lexend", system-ui, sans-serif;--font-heading:"Atkinson Hyperlegible", "Lexend", system-ui, sans-serif;--reading-size:1.06rem;--reading-tracking:.015em;--chip-size:.78rem}html[data-font=system]{--font-ui:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:Georgia, "Times New Roman", ui-serif, serif;--reading-size:1.03rem;--reading-tracking:0;--chip-size:.78rem}}@layer reset,base,primitives,layout,components,utilities;*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at top left, var(--glow,color-mix(in srgb, var(--mauve) 14%, transparent)), transparent 34rem), linear-gradient(180deg, var(--bg), var(--bg-soft));font-family:var(--font-body);letter-spacing:var(--ui-tracking);margin:0;font-size:1rem;line-height:1.5;transition:background-color .16s,color .16s}:focus-visible{outline-offset:3px;outline:3px solid var(--primary)!important}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0}h1{max-width:760px;font-family:var(--font-heading);letter-spacing:0;text-wrap:balance;overflow-wrap:break-word;margin-bottom:14px;font-size:clamp(1.85rem,4.2vw,3.4rem);font-weight:700;line-height:1.18}h2{letter-spacing:0;text-wrap:balance;overflow-wrap:break-word;margin-bottom:8px;font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.22}h3{letter-spacing:0;overflow-wrap:break-word;margin-bottom:8px;font-size:1.06rem;line-height:1.3}.app{width:min(1180px,100% - 36px);margin:0 auto;padding:22px 0 56px}.topbar{justify-content:space-between;align-items:center;gap:18px;min-height:70px;margin-bottom:34px;display:flex}.brand{align-items:center;gap:13px;text-decoration:none;display:inline-flex}.topbar-back{border:1px solid var(--line);width:44px;min-height:44px;color:var(--ink);background:var(--surface0);border-radius:14px;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;text-decoration:none;display:none}.brand-mark{flex:0 0 46px;width:46px;height:46px;display:block}.brand strong,.brand small,.account-state strong,.account-state small,.user-line strong,.user-line small,.course-mini-card small{display:block}.brand small,.course-mini-card small,.helper-text,.account-state small{color:var(--muted);font-size:.88rem}.top-actions,.hero-actions,.topic-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.study-prefs{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.topic-menu-heading{margin:0 0 6px;display:block}.topic-menu-section{min-width:0;display:block}.topic-menu-prefs-row,.topic-menu-nav-links{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topic-page-menu .topic-menu-guide,.topic-page-menu .topic-menu-mobile-only{display:none}.theme-toggle,.font-select{font-family:var(--font-ui)}.theme-toggle{gap:8px;min-width:7.2rem}.theme-toggle-icons{place-items:center;width:1.1em;height:1.1em;display:inline-grid}.theme-icon{opacity:0;grid-area:1/1;font-size:1rem;line-height:1;transition:opacity .14s,transform .14s;transform:scale(.85)}html[data-theme=light] .theme-icon-sun,html:not([data-theme]) .theme-icon-sun,html[data-theme=dark] .theme-icon-moon{opacity:1;transform:scale(1)}@media (prefers-color-scheme:dark){html:not([data-theme]) .theme-icon-sun{opacity:0;transform:scale(.85)}html:not([data-theme]) .theme-icon-moon{opacity:1;transform:scale(1)}}.font-select{appearance:none;border:1px solid var(--line);min-height:42px;color:var(--ink);background:linear-gradient(45deg, transparent 50%, var(--muted) 50%) calc(100% - 16px) calc(50% - 3px) / 6px 6px no-repeat, linear-gradient(135deg, var(--muted) 50%, transparent 50%) calc(100% - 11px) calc(50% - 3px) / 6px 6px no-repeat, color-mix(in srgb, var(--surface0) 88%, transparent);font:inherit;cursor:pointer;border-radius:999px;padding:0 34px 0 14px;font-size:.86rem;font-weight:800}.font-select:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 28%, transparent);outline-offset:2px}.button{border:1px solid var(--primary);min-height:42px;color:var(--on-primary);background:var(--primary);box-shadow:none;font:inherit;font-family:var(--font-ui);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-weight:800;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.button:hover{border-color:color-mix(in srgb, var(--primary) 82%, var(--ink));background:color-mix(in srgb, var(--primary) 88%, var(--ink))}.button.quiet:hover{border-color:var(--surface2);background:var(--surface1)}.button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed}.button.large{min-height:50px;padding:0 22px}.button.quiet{border-color:var(--line);color:var(--ink);background:color-mix(in srgb, var(--surface0) 78%, transparent);box-shadow:none}.hero{grid-template-columns:minmax(0,1fr) 390px;align-items:end;gap:28px;margin-bottom:22px;display:grid}.hero-copy{padding:42px 0 22px}.hero-text{max-width:660px;color:var(--muted);font-size:var(--reading-size);line-height:var(--reading-leading);letter-spacing:var(--reading-tracking);margin-bottom:26px}.eyebrow,.label{color:var(--primary-dark);letter-spacing:0;text-transform:none;margin:0 0 10px;font-size:.78rem;font-weight:800}.study-card,.panel,.metrics article,.topic-card,.course-mini-card{border:1px solid var(--line);background:color-mix(in srgb, var(--surface0) 88%, transparent);box-shadow:var(--shadow)}.study-card{border-radius:16px;padding:24px}.course-picker{align-self:stretch}.course-picker h2{margin-bottom:16px}.course-picker-list{gap:10px;display:grid}.linked-card{color:inherit;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s}.linked-card:hover,.linked-card:focus-visible{border-color:color-mix(in srgb, var(--blue) 40%, transparent);box-shadow:0 4px 8px color-mix(in srgb, var(--blue) 14%, transparent);transform:translateY(-2px)}.topic-number{color:var(--primary-dark);background:var(--surface1);margin-bottom:18px;padding:7px 11px}.study-card p,.topic-card p,.reading-panel p{color:var(--muted);line-height:1.65}.lesson-flow{gap:8px;margin-top:20px;display:grid}.lesson-flow span{color:var(--primary-dark);background:var(--surface1);border-radius:14px;padding:10px 12px;font-weight:800}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.metrics article{border-radius:14px;align-content:center;gap:6px;min-width:0;min-height:108px;padding:18px;display:grid}.metrics strong{color:var(--primary-dark);font-variant-numeric:tabular-nums;letter-spacing:0;overflow-wrap:anywhere;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.05;display:block}.metrics span{color:var(--muted);letter-spacing:0;font-size:.92rem;line-height:1.35}.dashboard-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:22px;display:grid}.main-column,.side-column{gap:22px;min-width:0;display:grid}.panel{border-radius:16px;padding:22px}.panel.calm{background:color-mix(in srgb, var(--surface0) 86%, transparent)}.section-heading{gap:6px;min-width:0;margin-bottom:14px;display:grid}.section-heading-meta{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}.section-heading .eyebrow{margin:0}.section-heading h2{max-width:100%;margin:0}.section-heading.split{flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:6px 12px;display:flex}.section-heading.split>div{flex:auto;gap:4px;min-width:0;display:grid}.section-heading.split>.soft-pill{flex:none;align-self:center}.soft-pill,.priority,.material-set,.topic-lang,.topic-number,.lock-label{width:fit-content;max-width:100%;min-height:28px;color:var(--warning);background:var(--accent-soft);font-family:var(--font-ui);font-size:var(--chip-size);font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 10px;font-weight:800;line-height:1.2;display:inline-flex}.level-list,.topic-list,.course-stack{gap:12px;display:grid}.level-row{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;display:grid}.course-row{color:inherit;border-radius:14px;padding:12px;text-decoration:none}.level-badge{width:58px;height:58px;color:var(--on-primary);background:var(--primary);letter-spacing:.02em;text-align:center;white-space:nowrap;border-radius:14px;flex:0 0 58px;place-items:center;font-size:.95rem;font-weight:900;line-height:1;display:grid;overflow:hidden}.level-body{min-width:0}.level-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 14px;margin-bottom:9px;display:flex}.level-title span{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap;font-size:.88rem}.progress-track{background:var(--surface2);border-radius:999px;height:10px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--peach));height:100%;display:block}.topic-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-card{border-radius:16px;flex-direction:column;min-height:0;padding:18px;display:flex}.topic-card h3{letter-spacing:0;margin-bottom:8px;line-height:1.28}.topic-card .topic-actions{margin-top:auto;padding-top:12px}.topic-card.locked-topic{background:color-mix(in srgb, var(--surface0) 58%, transparent);border-style:dashed}.topic-card.locked-topic h3,.topic-card.locked-topic p{opacity:.78}.topic-card.topic-card--continue-target{border-color:color-mix(in srgb, var(--blue) 58%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 16%, transparent), var(--shadow)}.topic-state-pill--completed{color:color-mix(in srgb, var(--green) 52%, var(--ink));background:color-mix(in srgb, var(--green) 12%, var(--surface))}.topic-state-pill--credited{color:var(--primary-dark);background:color-mix(in srgb, var(--surface1) 80%, var(--accent-soft));border-style:dashed}.lock-label{color:var(--primary-dark);background:var(--surface1)}.topic-topline{color:var(--primary-dark);text-transform:uppercase;flex-wrap:wrap;gap:8px;margin-bottom:14px;font-size:.78rem;font-weight:900;display:flex}.topic-lang{color:var(--on-primary);background:var(--primary);text-transform:uppercase}.topic-course-pill{max-width:100%;color:var(--primary-dark);background:color-mix(in srgb, var(--blue) 14%, var(--surface0));text-transform:none;white-space:normal;text-align:left;line-height:1.25}.topic-actions{flex-wrap:wrap;margin-top:18px}.priority.high{color:var(--on-primary);background:var(--primary)}.material-set{color:var(--muted);background:var(--surface1)}.account-panel{background:var(--surface-strong)}.auth-gate{max-width:720px;margin:34px auto}.access-checking{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;max-width:720px;margin:34px auto;display:grid}.access-checking h1{margin:0;font-size:clamp(1.25rem,4vw,1.7rem)}.access-checking .helper-text{color:var(--muted)}.access-checking-indicator{border:3px solid color-mix(in srgb, var(--blue) 24%, var(--line));border-top-color:var(--blue);border-radius:50%;width:22px;height:22px;margin-top:4px;animation:.72s linear infinite access-checking-spin}.access-checking [data-access-checking-retry]{margin-top:18px}.app:not(.checking-auth):not(.frontier-checking) .access-checking{display:none}@keyframes access-checking-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.access-checking-indicator{animation:none}}.auth-gate p:not(.eyebrow){color:var(--muted);line-height:1.65}.frontier-gate{max-width:720px;margin:34px auto}.frontier-gate p:not(.eyebrow){color:var(--muted);line-height:1.65}.frontier-checking .topic-shell,.frontier-locked .topic-shell,.auth-gated.checking-auth .auth-gate,.auth-gated.checking-auth .topic-shell,.auth-gated:not(.checking-auth) .topic-shell{display:none}.account-state{color:var(--muted);line-height:1.45}.account-state strong{color:var(--ink)}.helper-text{margin:14px 0 0;line-height:1.45}.course-mini-card{box-shadow:none;color:inherit;border-radius:14px;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;padding:14px;text-decoration:none;display:grid}.dot{background:var(--surface2);border-radius:50%;width:10px;height:10px;margin-top:5px}.dot.live{background:var(--success)}.user-line{align-items:center;gap:12px;display:flex}.user-line img{object-fit:cover;border-radius:16px;width:44px;height:44px}.user-line small{color:var(--muted);overflow-wrap:anywhere;font-size:.84rem}.account-bar{flex-wrap:wrap;align-items:center;gap:10px;max-width:min(100%,360px);display:inline-flex}.account-chip{border:1px solid var(--line);background:color-mix(in srgb, var(--surface0) 88%, var(--accent) 12%);min-width:0;max-width:240px;box-shadow:0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent);border-radius:999px;align-items:center;gap:10px;padding:4px 10px 4px 4px;display:inline-flex}.account-chip-avatar{object-fit:cover;background:var(--surface1);border-radius:50%;flex:none;width:36px;height:36px}.account-chip-meta{gap:1px;min-width:0;padding-right:4px;line-height:1.2;display:grid}.account-chip-meta strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.account-chip-meta small{color:var(--success,#40a02b);font-size:.72rem;font-weight:500}.account-connected-pill{margin-top:6px;display:inline-flex}@media (width<=720px){.account-chip{max-width:180px}.account-chip-meta strong{font-size:.82rem}.account-chip-meta small{display:none}}.ok{color:var(--success)!important}.warn{color:var(--warning)!important}.error{color:var(--danger)!important}.hidden,[hidden]{display:none!important}.topic-app{width:min(1240px,100% - 36px)}.topic-shell{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:32px;min-width:0;display:grid}.topic-mobile-heading,.step-route-swipe{display:none}.topic-skip-link{z-index:var(--z-skip-link);min-height:44px;color:var(--on-primary);background:var(--primary);border-radius:8px;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.topic-skip-link:focus{transform:translateY(0)}.step-panel[hidden],.step-panel:not(.is-active){display:none!important}.step-panel.is-active{display:grid}.step-flow-nav{border:1px solid var(--line);background:color-mix(in srgb, var(--surface0) 92%, transparent);box-shadow:var(--shadow);border-radius:16px;grid-template-columns:minmax(5.5rem,1fr) minmax(0,auto) minmax(5.5rem,1fr);align-items:center;gap:10px;margin-top:8px;padding:12px 14px;display:grid;position:static}.step-flow-nav [data-step-prev]{white-space:nowrap;justify-self:start}.step-flow-nav [data-step-next]{white-space:nowrap;justify-self:end}.step-flow-label{text-align:center;min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:900;overflow:hidden}.step-resume-note{color:var(--primary-dark);margin:10px 0 0;font-size:.9rem;font-weight:800;line-height:1.4}.step-session-goal{color:var(--muted);margin:0 0 10px;font-size:.9rem;font-weight:800;line-height:1.4}.step-restart{width:100%;margin-top:8px}.step-continue{width:100%}.home-continue-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 18px;margin-top:18px;padding:16px 18px;display:flex}.today-home{gap:18px;width:min(100%,760px);margin:0 auto;padding:clamp(20px,5vw,48px) 0 56px;display:grid}.today-heading h1,.today-heading p{margin-bottom:6px}.today-heading>p:last-child{color:var(--muted)}.today-next{gap:18px;display:grid}.today-next h2,.today-next .hero-text{margin:0 0 6px}.today-next>.button,.today-options .button{width:100%}.today-options{gap:10px;display:grid}.today-options .button{justify-content:flex-start}.today-options [data-home-review]{flex-wrap:wrap;gap:4px 8px;display:flex}.today-options small{color:var(--muted)}.lang-onboarding{place-items:center;min-height:calc(100vh - 120px);padding:24px 0 48px;display:grid}.course-first-visit>:not(.course-hero){display:none!important}.auth-gate-progress{border:1px solid color-mix(in srgb, var(--accent) 38%, var(--line));background:var(--surface);color:var(--text);border-radius:10px;margin-top:10px;padding:10px 14px}.lang-onboarding-card{width:min(100%,720px);padding:28px 24px 24px}.lang-onboarding-card h1{margin-bottom:10px;font-size:clamp(1.6rem,4vw,2.2rem)}.onboarding-step-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.lang-choice-grid{gap:12px;margin:22px 0 14px;display:grid}@media (width>=560px){.lang-choice-grid{grid-template-columns:1fr 1fr}}.lang-choice-card{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:16px;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex}.lang-choice-card:hover,.lang-choice-card:focus-visible{border-color:color-mix(in srgb, var(--blue) 40%, var(--line));box-shadow:0 4px 8px color-mix(in srgb, var(--crust) 14%, transparent);transform:translateY(-1px)}.lang-choice-flag{background:color-mix(in srgb, var(--blue) 14%, var(--surface1));width:2.6rem;height:2.6rem;color:var(--primary-dark);border-radius:14px;flex:none;place-items:center;font-weight:900;display:grid}.lang-choice-body{gap:2px;min-width:0;display:grid}.lang-choice-body strong{font-size:1.05rem}.lang-choice-body small{color:var(--muted);font-weight:700}.placement-loading{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--line));background:color-mix(in srgb, var(--primary) 7%, var(--surface));border-radius:14px;align-items:center;gap:14px;width:min(100%,30rem);margin:20px 0 8px;padding:15px 17px;display:flex}.placement-loading[hidden]{display:none}.placement-loading-orbit{flex:0 0 44px;width:44px;height:44px;animation:1.6s linear infinite placement-orbit;position:relative}.placement-loading-orbit span{background:var(--primary);width:11px;height:11px;box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 14%, transparent);border-radius:999px;animation:1.2s ease-in-out infinite placement-pulse;position:absolute}.placement-loading-orbit span:first-child{top:1px;left:50%;translate:-50%}.placement-loading-orbit span:nth-child(2){animation-delay:-.4s;bottom:4px;right:2px}.placement-loading-orbit span:nth-child(3){animation-delay:-.8s;bottom:4px;left:2px}.placement-loading-copy{gap:2px;display:grid}.placement-loading-copy strong{color:var(--text)}.placement-loading-copy small{color:var(--muted);font-weight:700}@keyframes placement-orbit{to{rotate:360deg}}@keyframes placement-pulse{0%,to{opacity:.55;scale:.72}50%{opacity:1;scale:1}}@media (prefers-reduced-motion:reduce){.placement-loading-orbit,.placement-loading-orbit span{animation:none}}.placement-progress{color:var(--muted);justify-content:space-between;gap:12px;margin:18px 0 10px;font-size:.9rem;font-weight:800;display:flex}.placement-question-fieldset{border:0;min-width:0;margin:0;padding:0}.placement-question-fieldset legend{margin-bottom:12px;font-weight:850}.placement-options{gap:9px;display:grid}.placement-option,.placement-free-text-field{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:8px;padding:12px 14px;display:grid}.placement-option{cursor:pointer;grid-template-columns:auto 1fr;align-items:center}.placement-option:has(input:checked){border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.placement-option-dont-know{color:var(--muted);border-style:dashed}.placement-option-dont-know:has(input:checked){color:inherit}.placement-free-text-field{margin-top:10px;font-weight:800}.placement-free-text-field textarea{resize:vertical;width:100%;min-height:64px}.home-continue-banner h2{margin:0 0 6px;font-size:clamp(1.1rem,2vw,1.35rem)}.home-continue-banner .hero-text{margin:0;font-size:.95rem}.topic-resume-pill{max-width:100%}.topic-resume-pill.ok{color:color-mix(in srgb, var(--green) 45%, var(--ink));border-color:color-mix(in srgb, var(--green) 28%, transparent);background:color-mix(in srgb, var(--green) 12%, var(--surface))}.course-hero .hero-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.course-hero [data-course-continue-meta]{white-space:normal;overflow-wrap:anywhere;flex:100%;justify-content:flex-start;width:auto;min-width:0;padding-block:6px}.course-review-point{border:1px solid color-mix(in srgb, var(--blue) 28%, transparent);background:color-mix(in srgb, var(--blue) 7%, var(--surface));border-radius:16px;gap:10px;margin-top:18px;padding:16px;display:grid}.course-review-point[hidden]{display:none}.course-review-point p,.course-review-point .hero-actions{margin-bottom:0}.study-nav a.is-active-step{border-color:color-mix(in srgb, var(--blue) 42%, transparent);background:color-mix(in srgb, var(--blue) 12%, var(--surface0));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 12%, transparent)}.topic-sidebar{overscroll-behavior:contain;scrollbar-gutter:stable;gap:16px;min-width:0;max-height:calc(100vh - 36px);padding-right:4px;display:grid;position:sticky;top:18px;overflow-y:auto}.back-link{width:fit-content;color:var(--primary-dark);font-weight:900;text-decoration:none}.topic-summary-card h1{overflow-wrap:break-word;letter-spacing:0;max-width:100%;margin-bottom:10px;font-size:clamp(1.35rem,3.2vw,1.85rem);line-height:1.2}.topic-summary-card p{color:var(--muted);font-size:.96rem;line-height:1.5}.step-continue{width:100%;margin-top:16px}.step-route{min-width:0}.step-route>summary{border:1px solid var(--line);min-height:44px;color:var(--primary-dark);background:color-mix(in srgb, var(--surface0) 82%, transparent);cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;list-style:none;display:flex}.step-route>summary::-webkit-details-marker{display:none}.step-route>summary:after{content:"⌄";flex:none;font-size:1.1rem;transition:transform .16s ease-out}.step-route[open]>summary:after{transform:rotate(180deg)}.step-route-current{min-width:0;display:grid}.step-route-current small{color:var(--muted);font-size:.75rem;font-weight:800}.step-route-current strong{overflow-wrap:anywhere}.step-route-action{color:var(--primary-dark);text-align:right;font-size:.84rem;font-weight:900}.step-route .study-nav{margin-top:8px}.study-nav{gap:8px;display:grid}.study-nav a{border:1px solid var(--line);min-width:0;color:var(--primary-dark);background:color-mix(in srgb, var(--surface0) 78%, transparent);border-radius:16px;padding:12px 14px;font-weight:900;text-decoration:none}.step-tracker a{border-width:1px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;display:grid;position:relative}.step-tracker a[data-step-status=next]{border-color:color-mix(in srgb, var(--blue) 45%, transparent);background:var(--surface1)}.step-tracker a[data-step-status=done]{border-color:color-mix(in srgb, var(--green) 38%, transparent);background:color-mix(in srgb, var(--green) 12%, var(--surface0))}.step-marker{width:34px;height:34px;color:var(--primary-dark);background:var(--surface-strong);border:1px solid var(--line);border-radius:999px;place-items:center;font-size:.86rem;font-weight:900;display:grid}.step-tracker a[data-step-status=next] .step-marker{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.step-tracker a[data-step-status=done] .step-marker{color:var(--on-primary);background:var(--success);border-color:var(--success)}.step-tracker strong,.step-tracker small{display:block}.step-tracker small{color:var(--muted);margin-top:2px;font-size:.78rem;font-weight:800;line-height:1.25}.step-status-text{width:fit-content;max-width:100%;color:var(--muted);background:var(--surface-strong);border:1px solid var(--line);border-radius:999px;margin-top:7px;padding:3px 8px;font-size:.72rem;font-weight:900;line-height:1.2;display:inline-flex}.step-tracker a[data-step-status=next] .step-status-text{color:var(--primary-dark);background:color-mix(in srgb, var(--blue) 14%, var(--surface0));border-color:color-mix(in srgb, var(--blue) 24%, transparent)}.step-tracker a[data-step-status=done] .step-status-text{color:var(--green);background:color-mix(in srgb, var(--green) 14%, var(--surface0));border-color:color-mix(in srgb, var(--green) 22%, transparent)}.topic-main{gap:20px;min-width:0;display:grid}.reader-card{border:1px solid var(--line);background:color-mix(in srgb, var(--surface0) 94%, transparent);min-width:0;max-width:100%;box-shadow:var(--shadow);border-radius:16px;padding:clamp(22px,3.2vw,42px)}.step-complete-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;padding-top:18px;display:flex}.step-complete-row span{color:var(--muted);font-size:.9rem;font-weight:800}.step-complete-panel{border:1px solid color-mix(in srgb, var(--blue) 28%, var(--line));background:color-mix(in srgb, var(--blue) 10%, var(--surface0));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 8%, transparent);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 18px;margin-top:22px;padding:16px 18px;display:flex}.step-complete-copy{flex:12rem;gap:4px;min-width:min(100%,14rem);display:grid}.step-complete-copy .eyebrow{margin:0}.step-complete-copy strong{color:var(--ink);font-size:1.05rem;line-height:1.3}.step-complete-copy span{color:var(--muted);font-size:.9rem;font-weight:800}.step-complete-panel .button{flex:none}.step-complete-panel.is-done{border-color:color-mix(in srgb, var(--green) 32%, var(--line));background:color-mix(in srgb, var(--green) 12%, var(--surface0))}.markdown-body{min-width:0;max-width:900px;font-family:var(--font-body);font-size:var(--reading-size);line-height:var(--reading-leading);letter-spacing:var(--reading-tracking);overflow-wrap:anywhere}.markdown-body h1{letter-spacing:0;margin-bottom:12px;font-size:clamp(1.55rem,3.2vw,2.35rem);line-height:1.2}.markdown-body h2{border-top:1px solid var(--line);letter-spacing:0;margin-top:1.6em;margin-bottom:.45em;padding-top:.85em;line-height:1.25}.markdown-body h3{letter-spacing:0;margin-top:1.25em;margin-bottom:.4em;line-height:1.3}.markdown-body h1+*,.markdown-body h2+*,.markdown-body h3+*{margin-top:0}.markdown-body p,.markdown-body li{color:var(--subtext1)}.markdown-body strong{color:var(--primary-dark)}.markdown-body ul,.markdown-body ol{padding-left:1.2rem}.markdown-body ul.vocab-notes{gap:6px;margin:10px 0 0;padding-left:1.2rem;display:grid}.markdown-body .vocab-note-item{color:var(--subtext1);line-height:1.45}.markdown-body .vocab-note-target{color:var(--ink);font-weight:900}.markdown-body .vocab-note-meaning{color:var(--muted);font-weight:600}.table-wrap{border:1px solid var(--line);background:var(--surface);max-width:100%;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--surface0) 70%, transparent);border-radius:12px;margin:18px 0;overflow-x:auto}.table-wrap:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 38%, transparent);outline-offset:2px}.markdown-body table{border-collapse:collapse;background:0 0;width:100%;min-width:0}.markdown-body th,.markdown-body td{overflow-wrap:normal;word-break:normal;border-bottom:1px solid color-mix(in srgb, var(--text) 10%, var(--line));border-right:1px solid color-mix(in srgb, var(--text) 8%, var(--line));text-align:left;vertical-align:top;min-width:8ch;padding:13px 14px}.markdown-body th:last-child,.markdown-body td:last-child{border-right:none}.markdown-body tbody tr:last-child th,.markdown-body tbody tr:last-child td{border-bottom:none}.markdown-body tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface1) 55%, transparent)}.markdown-body th{color:var(--primary-dark);background:var(--surface1);letter-spacing:.01em;font-size:.92rem;font-weight:900}.markdown-body td:first-child{color:var(--ink);border-right-color:color-mix(in srgb, var(--blue) 22%, var(--line));font-weight:800}.markdown-body th:first-child{border-right-color:color-mix(in srgb, var(--blue) 22%, var(--line))}.markdown-body td:not(:first-child){color:var(--muted);font-weight:600}.vocabulary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.vocab-study-status{border:1px solid var(--line);color:var(--muted);background:var(--surface1);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;font-weight:800;display:flex}.vocab-progress{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 10px;display:flex}.vocab-progress small{font-weight:800}.vocab-progress .soft-pill{gap:.25em}.vocab-audio-status{color:var(--muted);background:var(--surface1);border-radius:12px;margin:0 0 10px;padding:10px 12px;font-size:.86rem;font-weight:700;line-height:1.4}.vocab-bank-link{align-items:center;display:inline-flex}.vocab-view-tabs{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.vocab-view-tab{border:1px solid var(--line);min-height:36px;color:var(--ink);background:var(--surface);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.88rem;font-weight:800;display:inline-flex}.vocab-view-tab.selected{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.vocab-view-count{background:color-mix(in srgb, var(--crust) 12%, transparent);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;min-width:1.25rem;padding:0 5px;font-size:.78rem;display:inline-flex}.vocab-view-tab.selected .vocab-view-count{background:#ffffff38}.vocab-empty-hint{color:var(--primary-dark);background:color-mix(in srgb, var(--blue) 10%, var(--surface1));border-radius:14px;margin:0 0 14px;padding:12px 14px;font-weight:800;line-height:1.4}.content-report{gap:10px;margin-top:4px;display:grid}.content-report-toggle{width:fit-content;font-size:.86rem}.content-report-form{border:1px solid var(--line);background:var(--surface1);border-radius:16px;gap:10px;padding:12px;display:grid}.content-report-lead{color:var(--muted);margin:0;font-size:.9rem;font-weight:700;line-height:1.4}.content-report-field{color:var(--primary-dark);gap:6px;font-size:.88rem;font-weight:800;display:grid}.content-report-field select,.content-report-field textarea{border:1px solid var(--surface2);width:100%;color:var(--ink);background:var(--surface);font:inherit;border-radius:12px;padding:10px 12px;font-weight:600}.content-report-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.content-report-status{margin:0;font-size:.88rem;font-weight:800}.vocab-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:12px;min-width:0;padding:16px;display:grid}.study-card-vocab{min-height:250px;transition:border-color .16s,background .16s,box-shadow .16s}.study-card-vocab[data-study-state=known]{border-color:color-mix(in srgb, var(--green) 32%, transparent);background:color-mix(in srgb, var(--green) 12%, var(--surface0))}.study-card-vocab[data-study-state=review]{border-color:color-mix(in srgb, var(--peach) 32%, transparent);background:color-mix(in srgb, var(--peach) 14%, var(--surface0))}.vocab-card-topline{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.76rem;font-weight:900;display:flex}.vocab-card-index{color:var(--subtext0);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-transform:none;display:inline-flex}.vocab-card-kind{min-height:22px;color:var(--primary-dark);background:color-mix(in srgb, var(--blue) 10%, var(--surface1));text-transform:lowercase;border-radius:999px;align-items:center;padding:0 8px;font-size:.72rem;font-weight:800;display:inline-flex}.vocab-card-target{color:var(--primary-dark);margin:2px 0 4px;font-size:1.15rem;font-weight:900;line-height:1.3;display:block}.vocab-card .vocab-card-prompt{color:var(--muted);margin:0;font-size:.88rem;font-weight:800;line-height:1.4}.vocab-card strong,.vocab-card span,.vocab-card small{display:block}.vocab-card .vocab-card-topline span{display:inline-flex}.vocab-card strong{color:var(--primary-dark);margin-bottom:4px;font-size:1.1rem}.vocab-card .vocab-card-target{color:var(--primary);overflow-wrap:anywhere;margin:4px 0 8px;font-size:1.5rem;line-height:1.25}.german-article{font-weight:950;display:inline!important}.german-article-der{color:var(--primary-dark)!important}.german-article-die{color:var(--danger)!important}.german-article-das{color:var(--success)!important}.vocab-card span,.vocab-card small{color:var(--muted)}.vocab-reveal,.vocab-mark{border:1px solid var(--line);width:fit-content;color:var(--primary-dark);background:var(--surface-strong);font:inherit;cursor:pointer;border-radius:999px;font-size:.86rem;font-weight:900}.vocab-reveal{min-height:34px;padding:0 12px}.vocab-translation{background:var(--surface1);border-radius:16px;padding:12px 14px;font-size:1.05rem;font-weight:900;color:var(--ink)!important}.vocab-card p{color:var(--ink);margin:10px 0 3px;line-height:1.5}.vocab-example{color:var(--muted)}.vocab-example summary{width:fit-content;color:var(--primary-dark);cursor:pointer;font-weight:900}.vocab-actions,.vocab-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vocab-actions{margin-top:auto}.vocab-mark{min-height:32px;padding:0 11px}.vocab-mark.selected[data-vocab-state=known]{border-color:var(--success);color:var(--on-primary);background:var(--success)}.vocab-mark.selected[data-vocab-state=review]{border-color:var(--warning);color:var(--on-primary);background:var(--warning)}.vocab-controls{justify-content:flex-end;margin-top:16px}.vocab-round-complete{border-top:1px solid var(--line);justify-items:start;gap:8px;margin-top:18px;padding-top:18px;display:grid}.vocab-round-complete .eyebrow{margin:0}.vocab-round-complete strong{color:var(--ink);line-height:1.4}.interactive-practice,.interactive-test{gap:18px;display:grid}.practice-status{border:1px solid var(--line);background:var(--surface1);color:var(--muted);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-weight:800;display:flex}.practice-save-state{color:var(--muted);margin:-6px 0 0;font-size:.92rem;font-weight:800}.test-summary{border:1px solid var(--line);color:var(--muted);background:var(--surface1);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-weight:800;display:flex}.test-footer{border:1px solid var(--line);background:var(--surface1);border-radius:16px;gap:14px;padding:14px;display:grid}.test-footer.has-result{border-color:color-mix(in srgb, var(--blue) 28%, var(--line));background:color-mix(in srgb, var(--blue) 8%, var(--surface0));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 10%, transparent)}.test-footer[data-test-score-tone=ok].has-result{border-color:color-mix(in srgb, var(--green) 36%, var(--line));background:color-mix(in srgb, var(--green) 12%, var(--surface0));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green) 12%, transparent)}.test-footer[data-test-score-tone=warn].has-result{border-color:color-mix(in srgb, var(--peach) 36%, var(--line));background:color-mix(in srgb, var(--peach) 12%, var(--surface0));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--peach) 12%, transparent)}.test-footer-grade{flex-wrap:wrap;align-items:flex-start;gap:12px 16px;display:flex}.test-footer-score{flex:none;justify-content:center;min-width:3.5rem;font-size:1.05rem}.test-footer-score.ok{color:color-mix(in srgb, var(--green) 45%, var(--ink));border-color:color-mix(in srgb, var(--green) 30%, transparent);background:color-mix(in srgb, var(--green) 14%, var(--surface))}.test-footer-score.warn{color:color-mix(in srgb, var(--peach) 40%, var(--ink));border-color:color-mix(in srgb, var(--peach) 30%, transparent);background:color-mix(in srgb, var(--peach) 14%, var(--surface))}.test-footer-copy{flex:12rem;gap:4px;min-width:min(100%,16rem);display:grid}.test-footer-copy strong{color:var(--ink);font-size:.98rem;line-height:1.35}.test-footer-copy span{color:var(--muted);font-size:.9rem;font-weight:800}.test-footer-controls{justify-content:flex-end}@media (width<=640px){.test-footer-controls{justify-content:stretch}.test-footer-controls .button,.test-footer-controls a.button{text-align:center;flex:auto}}.practice-card{border:1px solid var(--line);background:var(--surface-strong);border-radius:16px;gap:16px;min-width:0;padding:18px;transition:background .16s,border-color .16s,box-shadow .16s;display:grid;position:relative}.practice-result-mark{z-index:var(--z-local);letter-spacing:.01em;max-width:min(100% - 28px,12rem);box-shadow:none;border-radius:999px;align-items:center;gap:8px;padding:6px 10px 6px 6px;font-size:.82rem;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:14px;right:14px}.practice-result-mark[hidden]{display:none!important}.practice-result-icon{color:#fff;border-radius:50%;flex:none;place-items:center;width:1.7rem;height:1.7rem;font-size:1rem;font-weight:900;line-height:1;display:inline-grid}.practice-result-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.practice-card[data-practice-result=correct]{border-color:color-mix(in srgb, var(--green) 40%, transparent);background:color-mix(in srgb, var(--green) 12%, var(--surface0));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green) 12%, transparent)}.practice-card[data-practice-result=correct] .practice-result-mark{color:color-mix(in srgb, var(--green) 55%, var(--ink));background:color-mix(in srgb, var(--green) 16%, var(--surface));border:1px solid color-mix(in srgb, var(--green) 35%, transparent)}.practice-card[data-practice-result=correct] .practice-result-icon{background:var(--green);color:#fff}.practice-card[data-practice-result=close]{border-color:color-mix(in srgb, var(--peach) 40%, transparent);background:color-mix(in srgb, var(--peach) 14%, var(--surface0));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--peach) 12%, transparent)}.practice-card[data-practice-result=close] .practice-result-mark{color:color-mix(in srgb, var(--peach) 50%, var(--ink));background:color-mix(in srgb, var(--peach) 16%, var(--surface));border:1px solid color-mix(in srgb, var(--peach) 35%, transparent)}.practice-card[data-practice-result=close] .practice-result-icon{background:var(--peach);color:#fff}.practice-card[data-practice-result=incorrect]{border-color:color-mix(in srgb, var(--red) 36%, transparent);background:color-mix(in srgb, var(--red) 12%, var(--surface0));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--red) 12%, transparent)}.practice-card[data-practice-result=incorrect] .practice-result-mark{color:color-mix(in srgb, var(--red) 45%, var(--ink));background:color-mix(in srgb, var(--red) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--red) 32%, transparent)}.practice-card[data-practice-result=incorrect] .practice-result-icon{background:var(--red);color:#fff}.practice-card[data-practice-result]:not([data-practice-result=""]) .practice-instruction,.practice-card[data-practice-result]:not([data-practice-result=""]) #practice-question,.practice-card[data-practice-result]:not([data-practice-result=""]) [data-mastery-practice-question]{padding-right:7.5rem}.practice-card h3{margin-bottom:0;font-size:clamp(1.25rem,2.2vw,1.8rem);line-height:1.3}.practice-instruction{color:var(--muted);margin-bottom:0;line-height:1.55}.practice-options{gap:10px;display:grid}.practice-option{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--surface);font:inherit;text-align:left;cursor:pointer;border-radius:16px;padding:14px 16px;font-weight:800}.practice-option:hover,.practice-option:focus-visible,.practice-option.selected{border-color:var(--primary);outline:none}.practice-option.selected{color:var(--on-primary);background:var(--primary)}.test-list{gap:14px;display:grid}.test-card{border:1px solid var(--line);background:var(--surface-strong);border-radius:16px;gap:14px;min-width:0;padding:18px;display:grid}.test-card[data-test-result=correct]{border-color:color-mix(in srgb, var(--green) 38%, transparent);background:color-mix(in srgb, var(--green) 12%, var(--surface0))}.test-card[data-test-result=incorrect]{border-color:color-mix(in srgb, var(--peach) 38%, transparent);background:color-mix(in srgb, var(--peach) 14%, var(--surface0))}.test-card h3{margin-bottom:0;font-size:1.12rem;line-height:1.45}.test-options{gap:8px;display:grid}.test-options label{border:1px solid var(--surface2);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:16px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:12px 14px;transition:border-color .14s,background .14s,box-shadow .14s,color .14s;display:grid}.test-options label:hover{border-color:color-mix(in srgb, var(--blue) 35%, var(--line))}.test-options label:has(input:checked),.test-options label.is-selected{border-color:var(--primary);background:color-mix(in srgb, var(--blue) 14%, var(--surface0));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 18%, transparent);color:var(--ink);font-weight:800}.test-options label:has(input:checked) span,.test-options label.is-selected span{color:var(--primary-dark);font-weight:900}.test-options input{width:1.05rem;height:1.05rem;accent-color:var(--primary);flex-shrink:0;margin-top:3px}.test-feedback{color:var(--muted);margin:0;font-weight:900}.practice-input-wrap{color:var(--primary-dark);gap:8px;font-weight:900;display:grid}.practice-input-wrap input{border:1px solid var(--surface2);width:100%;min-width:0;min-height:48px;color:var(--ink);background:var(--surface);font:inherit;box-shadow:inset 0 1px 2px color-mix(in srgb, var(--crust) 40%, transparent);border-radius:16px;padding:0 14px}.practice-input-wrap input:focus{border-color:var(--primary);outline:3px solid color-mix(in srgb, var(--blue) 18%, transparent);box-shadow:none}.practice-input-wrap input::placeholder{color:var(--muted);opacity:1}.practice-answer{color:var(--muted)}.practice-answer summary{width:fit-content;color:var(--primary-dark);cursor:pointer;font-weight:900}.practice-answer p{background:var(--surface1);color:var(--ink);border-radius:14px;margin:10px 0 0;padding:12px 14px}.practice-controls{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.practice-restart-row{justify-content:flex-end;margin-top:4px;display:flex}.practice-restart-row .practice-restart{color:var(--muted);font-size:.85rem}.story-answers{border:1px solid var(--line);background:var(--surface1);border-radius:16px;gap:14px;margin-top:22px;padding:16px;transition:background .16s,border-color .16s,box-shadow .16s;display:grid}.study-guide{margin-top:.75rem;padding:.85rem 1rem}.study-guide summary{cursor:pointer;gap:.15rem;list-style:none;display:grid}.study-guide summary::-webkit-details-marker{display:none}.study-guide summary strong{color:var(--ink);display:block}.study-guide summary small{color:var(--muted)}.study-guide-list{color:var(--ink);gap:.45rem;margin:.75rem 0 .5rem;padding-left:1.15rem;font-size:.92rem;line-height:1.4;display:grid}.study-guide-tip{color:var(--muted);margin:.5rem 0 0;font-size:.88rem}.soft-save-hint{color:var(--muted);margin:.65rem 0 0;font-size:.82rem;line-height:1.35}.section-lead{color:var(--muted);margin:.35rem 0 0;font-size:.95rem;line-height:1.45}.aligned-block{margin:0 0 1.25rem}.aligned-hint{color:var(--muted);margin:.35rem 0 0;font-size:.9rem}.lesson-preparation{margin-top:1rem}.lesson-preparation .soft-pill{gap:.25rem}.lesson-preparation-list{margin-top:1rem}.lesson-preparation-card{gap:1.1rem;padding:clamp(1rem,3vw,1.5rem);display:grid}.lesson-preparation-card[hidden]{display:none}.lesson-preparation-copy{gap:.5rem;display:grid}.lesson-preparation-target{font-size:clamp(1.25rem,4vw,1.65rem);line-height:1.35}.lesson-preparation-hint{color:var(--subtext0)}.lesson-preparation-hint summary{width:fit-content;min-height:44px;color:var(--blue);cursor:pointer;align-items:center;font-weight:700;display:flex}.lesson-preparation-hint .aligned-note{margin-top:.25rem;display:block}.lesson-preparation-audio,.lesson-preparation-navigation{flex-wrap:wrap;gap:.6rem;display:flex}.lesson-audio-control{justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.lesson-audio-indicator{flex:none;justify-content:center;inline-size:1.15rem;display:inline-flex}.lesson-audio-speaker{block-size:1.1rem;inline-size:1.1rem}.lesson-audio-control.is-playing{border-color:color-mix(in srgb, var(--blue) 45%, var(--line));background:color-mix(in srgb, var(--blue) 18%, var(--surface1));color:var(--blue)}.lesson-audio-control.is-playing .lesson-audio-wave path{animation:.7s ease-in-out infinite alternate lesson-audio-wave}.lesson-audio-control.is-playing .lesson-audio-wave path:last-child{animation-delay:-350ms}@keyframes lesson-audio-wave{0%{opacity:.2}to{opacity:1}}@media (prefers-reduced-motion:reduce){.lesson-audio-wave path{opacity:1;animation:none}}.lesson-preparation-record{gap:.45rem}.lesson-preparation-record.is-recording{border-color:var(--red);color:var(--red)}.lesson-preparation-actions{justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.lesson-review-phrases{margin-bottom:1rem}.lesson-explanation{min-width:0}.lesson-explanation:focus{outline:none}@media (width<=560px){.lesson-preparation-audio{display:grid}.lesson-preparation-actions{flex-direction:column;align-items:stretch}.lesson-preparation-navigation{grid-template-columns:1fr 1fr;display:grid}.lesson-preparation-audio .button,.lesson-preparation-actions>.button,.lesson-preparation-navigation .button{width:100%}}.aligned-sentence-list{gap:.55rem;margin-top:.85rem;display:grid}.aligned-sentence{border:1px solid var(--line);background:var(--surface0);color:var(--text);color-scheme:inherit;border-radius:12px;padding:.55rem .75rem;display:block}.aligned-sentence.is-revealed{border-color:color-mix(in srgb, var(--blue) 40%, var(--line));background:color-mix(in srgb, var(--blue) 12%, var(--surface0))}.aligned-sentence.is-karaoke-active{border-color:var(--blue);background:color-mix(in srgb, var(--blue) 18%, var(--surface0))}.aligned-sentence.is-listen-first .aligned-target{filter:blur(5px);user-select:none}.aligned-sentence.is-listen-first.is-revealed .aligned-target,.aligned-sentence.is-listen-first:focus-within .aligned-target,.aligned-sentence.is-listen-first.is-karaoke-active .aligned-target{filter:none;user-select:text}.aligned-section-label{letter-spacing:.02em;text-transform:uppercase;color:var(--subtext0);margin:.15rem 0 .35rem;font-size:.78rem;font-weight:700}.aligned-sentence-main{gap:.2rem;min-width:0;display:grid}.aligned-line{align-items:center;gap:.45rem;min-width:0;display:flex}.aligned-target{appearance:none;text-align:left;min-width:0;min-height:44px;font:inherit;-webkit-text-fill-color:var(--text);cursor:pointer;box-shadow:none;border:0;border-radius:8px;flex:auto;align-items:center;margin:0;padding:6px 4px;font-family:inherit;font-size:1.02rem;font-weight:700;line-height:1.4;display:flex;color:var(--text)!important;background:0 0!important}.aligned-target:hover{-webkit-text-fill-color:var(--blue);color:var(--blue)!important}.aligned-target:focus-visible{-webkit-text-fill-color:var(--blue);outline:3px solid color-mix(in srgb, var(--blue) 65%, transparent);outline-offset:2px;color:var(--blue)!important}.lesson-examples .aligned-sentence-list{border-block:1px solid var(--line);gap:0}.lesson-examples .aligned-sentence{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:.65rem 0}.lesson-examples .aligned-sentence:last-child{border-bottom:0}.lesson-examples .aligned-sentence.is-revealed{background:color-mix(in srgb, var(--blue) 8%, transparent)}.aligned-translation{color:var(--subtext1);-webkit-text-fill-color:var(--subtext1);margin:0;font-size:.92rem;line-height:1.35}.aligned-note{color:var(--subtext0);-webkit-text-fill-color:var(--subtext0)}.aligned-controls{flex:none;align-items:center;gap:.3rem;display:inline-flex}.aligned-icon-btn{appearance:none;border:1px solid var(--line);background:var(--surface1);width:2rem;min-width:0;height:2rem;min-height:0;color:var(--text);cursor:pointer;box-shadow:none;touch-action:manipulation;border-radius:999px;flex-shrink:0;place-items:center;margin:0;padding:0;line-height:1;display:inline-grid}.aligned-icon-btn:hover,.aligned-icon-btn:focus-visible{border-color:color-mix(in srgb, var(--blue) 45%, var(--line));color:var(--blue);background:color-mix(in srgb, var(--blue) 14%, var(--surface1));outline:none}.aligned-icon-btn[hidden]{display:none!important}.aligned-icon-btn.is-playing{border-color:color-mix(in srgb, var(--blue) 45%, var(--line));background:color-mix(in srgb, var(--blue) 18%, var(--surface1));color:var(--blue)}.aligned-mic-btn{border-color:color-mix(in srgb, var(--peach) 40%, var(--line));background:color-mix(in srgb, var(--peach) 16%, var(--surface1));color:var(--peach)}.aligned-mic-btn:hover,.aligned-mic-btn:focus-visible{border-color:var(--peach);background:color-mix(in srgb, var(--peach) 24%, var(--surface1));color:var(--peach)}.aligned-mic-btn.is-recording{border-color:var(--red);background:color-mix(in srgb, var(--red) 24%, var(--surface1));color:var(--red);animation:1s ease-in-out infinite aligned-mic-pulse}.aligned-mic-meter{--mic-level:.12;color:inherit;justify-content:center;align-items:center;gap:1.5px;display:inline-flex}.aligned-mic-meter[hidden]{display:none}.aligned-mic-meter>span{width:2.5px;height:.75rem;transform:scaleY(var(--mic-level));background:currentColor;border-radius:999px;transition:transform 80ms linear}.aligned-mic-meter>span:nth-child(2),.aligned-mic-meter>span:nth-child(3){height:1rem}.aligned-mic-btn.is-recording>svg{display:none}audio[data-speak-playback]:not([hidden]){width:min(100%,24rem);margin-top:.65rem;display:block}@keyframes aligned-mic-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--red) 40%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--red) 12%, transparent)}}.aligned-icon-btn svg{display:block}html[data-theme=dark] .aligned-target,html[data-theme=dark] .flash-main{-webkit-text-fill-color:#cdd6f4;color:#cdd6f4!important}html[data-theme=dark] .aligned-target:hover,html[data-theme=dark] .aligned-target:focus-visible{-webkit-text-fill-color:#89b4fa;color:#89b4fa!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .aligned-target,:root:not([data-theme=light]) .flash-main{-webkit-text-fill-color:#cdd6f4;color:#cdd6f4!important}:root:not([data-theme=light]) .aligned-target:hover,:root:not([data-theme=light]) .aligned-target:focus-visible{-webkit-text-fill-color:#89b4fa;color:#89b4fa!important}}.story-mode-toolbar{flex-wrap:wrap;gap:.4rem;margin-top:.65rem;display:flex}.story-mode-toolbar .button.selected{background:var(--primary);color:var(--on-primary);border-color:#0000}.story-speaking-goal{color:var(--subtext1);justify-content:space-between;align-items:center;gap:.65rem;margin:.75rem 0 0;font-size:.9rem;line-height:1.4;display:flex}.story-speaking-goal[hidden]{display:none}.story-speaking-goal .soft-pill{flex:none}.aligned-sentence.is-spoken .aligned-mic-btn{border-color:color-mix(in srgb, var(--green) 55%, var(--line));background:color-mix(in srgb, var(--green) 16%, var(--surface1));color:var(--green)}.speaking-independent-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.speaking-independent-actions[hidden],.speaking-self-check[hidden]{display:none!important}.speaking-independent-evidence{color:var(--subtext0);font-size:.82rem}.speaking-self-check{border:1px solid color-mix(in srgb, var(--blue) 35%, var(--line));background:color-mix(in srgb, var(--blue) 8%, var(--surface));border-radius:12px;margin-top:.65rem;padding:.7rem}.speaking-self-check>div{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.aligned-sentence.is-independent-success{border-color:color-mix(in srgb, var(--green) 45%, var(--line))}.guided-reading{align-items:center;gap:.4rem;margin-inline-start:auto;display:inline-flex}.guided-reading[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=520px){.story-speaking-goal{flex-direction:column;align-items:flex-start}.speaking-self-check>div .button{width:100%}}.story-extra-notes{border:1px dashed var(--line);background:color-mix(in srgb, var(--surface) 70%, transparent);color:var(--ink);border-radius:12px;margin-top:1rem;padding:.75rem .9rem}.story-extra-notes summary{cursor:pointer;min-height:44px;color:var(--ink);align-items:center;font-weight:600;display:flex}.mastery-panel .mastery-story{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;margin:.65rem 0;padding:.65rem .8rem}.mastery-panel .mastery-story summary{cursor:pointer;color:var(--ink);font-weight:600}.mastery-practice,.mastery-test{border-top:1px solid var(--line);gap:18px;margin-top:1.25rem;padding-top:.5rem;display:grid}.step-next-topic{margin-top:.4rem;display:inline-flex}.essentials-done{color:var(--ink);gap:.35rem;margin-bottom:1rem;display:grid}.essentials-done[hidden]{display:none!important}.essentials-done .hero-actions{margin-top:.5rem}.flashcards-panel .flash-card{gap:.85rem;min-width:0;margin-top:.75rem;display:grid}.flash-scene{cursor:pointer;touch-action:manipulation;user-select:none;width:100%;min-width:0;max-width:100%;display:block}.flash-scene:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 28%, transparent);outline-offset:3px;border-radius:16px}.flash-face{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;min-height:11.5rem;color:var(--text);box-shadow:var(--shadow);overflow-wrap:anywhere;word-break:break-word;border-radius:16px;flex-direction:column;justify-content:center;align-items:flex-start;gap:.55rem;padding:1.3rem 1.15rem;display:flex}.flash-face[hidden]{display:none!important}.flash-face-front{background:color-mix(in srgb, var(--blue) 9%, var(--surface0));border-color:color-mix(in srgb, var(--blue) 22%, var(--line));box-shadow:var(--shadow), inset 0 0 0 1px color-mix(in srgb, var(--blue) 8%, transparent)}.flash-face-back{background:color-mix(in srgb, var(--peach) 11%, var(--surface0));border-color:color-mix(in srgb, var(--peach) 28%, var(--line));box-shadow:var(--shadow), inset 0 0 0 1px color-mix(in srgb, var(--peach) 10%, transparent)}.flash-scene:hover .flash-face-front,.flash-scene:focus-visible .flash-face-front{border-color:color-mix(in srgb, var(--blue) 40%, var(--line))}.flash-scene:hover .flash-face-back,.flash-scene:focus-visible .flash-face-back{border-color:color-mix(in srgb, var(--peach) 42%, var(--line))}.flash-card.is-flipping .flash-face:not([hidden]){animation:.22s flash-face-pop}@keyframes flash-face-pop{0%{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.flash-side-label{text-transform:uppercase;letter-spacing:.04em;color:var(--subtext0);font-size:.78rem;font-weight:700}.flash-face-front .flash-side-label{color:color-mix(in srgb, var(--blue) 45%, var(--subtext0))}.flash-face-back .flash-side-label{color:color-mix(in srgb, var(--peach) 50%, var(--subtext0))}.flash-main{max-width:100%;color:var(--text);overflow-wrap:anywhere;font-size:clamp(1.15rem,4.2vw,1.5rem);font-weight:800;line-height:1.4;display:block}.flash-back-text{color:var(--blue)}.flash-example{max-width:100%;color:var(--subtext1);overflow-wrap:anywhere;margin:0;font-size:.95rem;line-height:1.45;display:block}.flash-example[hidden]{display:none!important}.flash-classification{min-width:0;color:var(--muted);overflow-wrap:anywhere;align-items:center;gap:.35rem;margin:0;font-size:.82rem;display:flex}.flash-classification[hidden]{display:none!important}.flash-classification strong{color:var(--text)}.flash-card[data-flash-rating=known] .flash-classification strong{color:color-mix(in srgb, var(--green) 62%, var(--text))}.flash-card[data-flash-rating=review] .flash-classification strong{color:color-mix(in srgb, var(--peach) 64%, var(--text))}.flash-tap-hint{color:var(--subtext0);letter-spacing:.01em;opacity:.78;margin-top:auto;padding-top:.35rem;font-size:.78rem;font-weight:700}.flash-actions{gap:.55rem;display:grid}.flash-rate-actions,.flash-nav-actions{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.flash-rate-actions[hidden]{display:none!important}.flash-rate-actions .button{white-space:normal;min-height:48px;font-weight:800}.flash-nav-actions .button{white-space:normal;min-height:44px;padding-inline:.75rem;font-size:.9rem;font-weight:750}.flash-nav-actions .button:disabled{cursor:default;opacity:.45}.flash-btn-review{border-color:color-mix(in srgb, var(--peach) 35%, var(--line));color:color-mix(in srgb, var(--peach) 55%, var(--text))}.flash-visible-status{overflow-wrap:anywhere;margin:0;line-height:1.45}.flash-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flash-undo-notice{border:1px solid color-mix(in srgb, var(--yellow) 32%, var(--line));background:color-mix(in srgb, var(--yellow) 10%, var(--surface0));border-radius:12px;justify-content:space-between;align-items:center;gap:.65rem 1rem;min-width:0;min-height:48px;padding:.65rem .75rem;display:flex}.flash-undo-notice[hidden]{display:none!important}.flash-undo-notice p{min-width:0;color:var(--text);overflow-wrap:anywhere;margin:0;font-size:.9rem;font-weight:750;line-height:1.4}.flash-undo-notice .button{flex:none;min-height:44px}.flash-complete-summary{border:1px solid color-mix(in srgb, var(--green) 30%, var(--line));background:color-mix(in srgb, var(--green) 9%, var(--surface0));min-width:0;box-shadow:var(--shadow);border-radius:16px;gap:1rem;margin-top:1rem;padding:1.15rem;display:grid}.flash-complete-summary[hidden]{display:none!important}.flash-complete-copy{gap:.3rem;min-width:0;display:grid}.flash-complete-copy h3,.flash-complete-copy p{overflow-wrap:anywhere;margin:0}.flash-complete-copy h3{color:var(--text);font-family:var(--font-heading);font-size:clamp(1.15rem,4.5vw,1.4rem);line-height:1.25}.flash-complete-copy>:last-child{color:var(--muted);font-size:.92rem;font-weight:700;line-height:1.45}.flash-summary-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.flash-summary-counts>div{border-inline-start:1px solid var(--line);text-align:center;min-width:0;padding:.35rem .55rem}.flash-summary-counts>div:first-child{border-inline-start:0}.flash-summary-counts dt{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem;font-weight:800;line-height:1.25}.flash-summary-counts dd{color:var(--text);font-family:var(--font-heading);margin:.2rem 0 0;font-size:1.35rem;font-weight:900}.flash-complete-cta{justify-self:start;min-height:48px}@keyframes flash-idle-nudge{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(-5px)scale(1.015)}55%{transform:translateY(-2px)scale(1.008)}}.flash-card.is-nudge .flash-face:not([hidden]){animation:.75s flash-idle-nudge}.flash-card.is-nudge .flash-tap-hint{opacity:1;color:color-mix(in srgb, var(--blue) 55%, var(--subtext0))}@media (prefers-reduced-motion:reduce){.flash-card.is-flipping .flash-face:not([hidden]),.flash-card.is-nudge .flash-face:not([hidden]){animation:none}}.mastery-badge{letter-spacing:.02em;background:color-mix(in srgb, var(--yellow) 22%, var(--surface));color:var(--ink);border-radius:999px;align-items:center;padding:.1rem .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.course-review-panel .course-review-card{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;gap:.45rem;padding:.9rem 1rem;display:grid}.course-review-target{color:var(--ink);font-size:1.25rem}.course-review-translation{color:var(--muted);margin:0}.topic-audio{gap:.65rem;margin:.75rem 0 1.25rem;display:grid}.app-audio-player{border:1px solid var(--line);background:var(--surface0);border-radius:16px;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex}.app-audio-player[hidden]{display:none!important}.app-audio-play{appearance:none;border:1px solid color-mix(in srgb, var(--blue) 35%, var(--line));background:color-mix(in srgb, var(--blue) 16%, var(--surface0));width:3rem;height:3rem;min-height:0;color:var(--blue);cursor:pointer;box-shadow:none;touch-action:manipulation;border-radius:999px;flex:none;place-items:center;padding:0;display:inline-grid}.app-audio-play:hover,.app-audio-play:focus-visible{background:color-mix(in srgb, var(--blue) 26%, var(--surface0));border-color:var(--blue);outline:none}.app-audio-play.is-playing{background:color-mix(in srgb, var(--peach) 18%, var(--surface0));border-color:color-mix(in srgb, var(--peach) 45%, var(--line));color:var(--peach)}.app-audio-play .app-audio-icon{grid-area:1/1;line-height:0;display:inline-flex}.app-audio-play .app-audio-icon-pause,.app-audio-play.is-playing .app-audio-icon-play{display:none!important}.app-audio-play.is-playing .app-audio-icon-pause{display:inline-flex!important}.app-audio-body{flex:auto;gap:.35rem;min-width:0;display:grid}.app-audio-topline{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.app-audio-topline strong{color:var(--ink);font-size:.92rem;font-weight:800;line-height:1.3}.app-audio-time{font-variant-numeric:tabular-nums;color:var(--muted);flex:none;font-size:.78rem;font-weight:700}.app-audio-seek{--audio-seek-track-size:.35rem;--audio-seek-thumb-size:.9rem;appearance:none;cursor:pointer;background:0 0;border-radius:999px;outline:none;width:100%;height:44px;margin:0}.app-audio-seek::-webkit-slider-runnable-track{height:var(--audio-seek-track-size);background:var(--surface1);border-radius:999px}.app-audio-seek::-webkit-slider-thumb{appearance:none;width:var(--audio-seek-thumb-size);height:var(--audio-seek-thumb-size);margin-top:calc((var(--audio-seek-track-size) - var(--audio-seek-thumb-size)) / 2);border:2px solid var(--surface0);background:var(--blue);box-shadow:0 0 0 1px color-mix(in srgb, var(--blue) 40%, transparent);cursor:pointer;border-radius:999px}.app-audio-seek::-moz-range-thumb{width:var(--audio-seek-thumb-size);height:var(--audio-seek-thumb-size);border:2px solid var(--surface0);background:var(--blue);cursor:pointer;border-radius:999px}.app-audio-seek::-moz-range-track{height:var(--audio-seek-track-size);background:var(--surface1);border-radius:999px}.vocab-target-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.vocab-target-row .vocab-card-target{margin:0}.vocab-play-btn.is-playing{border-color:color-mix(in srgb, var(--peach) 45%, var(--line));background:color-mix(in srgb, var(--peach) 18%, var(--surface1));color:var(--peach)}.vocab-audio{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.audio-not-generated{color:var(--muted);font-size:.82rem;line-height:1.4}.vocab-audio[hidden],.topic-audio audio[hidden],.app-audio-player[hidden],.audio-not-generated[hidden]{display:none!important}.story-answers[data-story-save-state=saved]{border-color:color-mix(in srgb, var(--green) 36%, var(--line));background:color-mix(in srgb, var(--green) 12%, var(--surface0));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green) 10%, transparent)}.story-answers[data-story-save-state=dirty]{border-color:color-mix(in srgb, var(--peach) 36%, var(--line));background:color-mix(in srgb, var(--peach) 10%, var(--surface0));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--peach) 10%, transparent)}.story-answers[data-story-save-state=saved] #story-answers-save,.story-answers[data-story-save-state=saved] [data-story-save-btn]{border-color:color-mix(in srgb, var(--green) 30%, var(--line));color:color-mix(in srgb, var(--green) 40%, var(--ink))}.story-answer-hint{color:var(--muted);margin:4px 0 0;font-size:.92rem;font-weight:600;line-height:1.45}.story-answer-hint strong{color:var(--ink);font-weight:800}.story-answer-toolbar{z-index:var(--z-raised);border:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--surface0) 94%, transparent);box-shadow:var(--shadow);backdrop-filter:blur(10px);border-radius:16px;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin:0 0 4px;padding:10px;display:flex;position:sticky;top:8px}.story-answer-toolbar .story-reference-open{flex:auto;min-width:min(100%,11rem)}.story-answer-toolbar #story-answers-save,.story-answer-toolbar [data-story-save-btn]{flex:0 auto}.story-reference-dialog{border:1px solid var(--line);width:min(720px,100% - 32px);max-width:none;max-height:min(86dvh,820px);color:var(--ink);background:var(--surface0);box-shadow:var(--shadow);border-radius:16px;padding:0;overflow:hidden}.story-reference-dialog[open]{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.story-reference-dialog::backdrop{background:color-mix(in srgb, var(--crust) 68%, transparent);backdrop-filter:blur(3px)}.story-reference-header,.story-reference-footer{background:color-mix(in srgb, var(--surface0) 94%, transparent);justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.story-reference-header{border-bottom:1px solid var(--line)}.story-reference-header-actions{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:8px;display:flex}.story-reference-header .eyebrow,.story-reference-header h2{margin:0}.story-reference-header .eyebrow{margin-bottom:4px}.story-reference-content{overscroll-behavior:contain;scrollbar-gutter:stable;outline:none;padding:20px;overflow-y:auto}.story-reference-content:focus-visible{box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--blue) 22%, transparent)}.story-reference-plain{gap:.85rem;margin:0;display:grid}.story-reference-plain.aligned-sentence-list,.story-reference-plain .aligned-sentence-list{gap:.85rem}.story-reference-plain .story-reference-line,.story-reference-plain .aligned-sentence{box-shadow:none;background:0 0;border:0;border-radius:0;gap:.2rem;margin:0;padding:0;display:grid}.story-reference-plain .aligned-sentence-main,.story-reference-plain .aligned-line{min-width:0;display:block}.story-reference-plain .aligned-controls,.story-reference-plain audio{display:none!important}.story-reference-plain .story-reference-target,.story-reference-plain .aligned-target{cursor:text;font-size:1.02rem;font-weight:700;line-height:1.45;display:block;color:var(--ink)!important;filter:none!important;user-select:text!important}.story-reference-plain .story-reference-translation,.story-reference-plain .aligned-translation{color:var(--muted);margin:0;font-size:.92rem;font-weight:500;line-height:1.4;display:block}.story-reference-plain .story-reference-translation[hidden],.story-reference-plain .aligned-translation[hidden],.story-reference-plain.is-translations-hidden .story-reference-translation,.story-reference-plain.is-translations-hidden .aligned-translation{display:none!important}.story-reference-plain .aligned-section-label{margin:.55rem 0 0}.story-reference-plain .aligned-section-label:first-child{margin-top:0}.story-reference-footer{border-top:1px solid var(--line);justify-content:flex-end}.story-answer-field{color:var(--primary-dark);gap:8px;font-weight:900;display:grid}.story-answer-field input{border:1px solid var(--surface2);width:100%;min-width:0;min-height:42px;color:var(--ink);background:var(--surface);font:inherit;box-shadow:inset 0 1px 2px color-mix(in srgb, var(--crust) 40%, transparent);border-radius:14px;padding:0 12px}.story-answer-field input:focus{border-color:var(--primary);outline:3px solid color-mix(in srgb, var(--blue) 18%, transparent);box-shadow:none}.story-question-list{gap:10px;display:grid}.story-question-field{border:1px solid var(--line);background:var(--surface-strong);border-radius:16px;padding:12px}.story-question-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 10px;display:flex}.story-question-label{cursor:pointer;flex:12rem;min-width:0;display:block}.story-question-field span{line-height:1.4}.story-question-reread{white-space:nowrap;flex:none;min-height:34px;padding:0 12px;font-size:.86rem;font-weight:800}.story-answer-field input:focus{border-color:var(--primary);outline:3px solid color-mix(in srgb, var(--blue) 18%, transparent)}@media (width<=720px){.story-answer-toolbar{top:max(6px, env(safe-area-inset-top,0px));grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);margin:-2px -4px 2px;padding:8px;display:grid}.story-answer-toolbar .button{white-space:normal;text-align:center;width:100%;min-width:0;padding-inline:10px}.story-question-head{flex-wrap:nowrap;gap:8px}.story-question-reread{padding-inline:10px}.story-reference-dialog{border-width:1px 0 0;border-radius:16px 16px 0 0;width:100%;max-height:88dvh;margin:auto 0 0}.story-reference-header,.story-reference-footer{padding:14px}.story-reference-header{flex-wrap:wrap;align-items:flex-start}.story-reference-header-actions{justify-content:stretch;width:100%}.story-reference-header-actions .button{flex:auto;justify-content:center;min-height:44px}.story-reference-content{padding:16px}.story-reference-footer .button{width:100%}}.tutor-coach-panel .tutor-messages{border:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:color-mix(in srgb, var(--surface0) 92%, var(--accent) 8%);border-radius:16px;gap:10px;max-height:min(360px,50vh);margin-bottom:12px;padding:12px;display:grid;overflow:auto}.tutor-quick-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.tutor-insight{justify-items:start;gap:6px;margin-bottom:12px;display:grid}.tutor-insight [data-tutor-insight-result]{background:var(--surface1);max-width:70ch;color:var(--ink);border-radius:10px;margin:0;padding:10px 12px;line-height:1.5}.tutor-empty{color:var(--muted);margin:0;font-size:.95rem}.tutor-bubble{border:1px solid #0000;border-radius:14px;gap:4px;max-width:min(100%,42rem);padding:10px 12px;display:grid}.tutor-bubble.user{background:color-mix(in srgb, var(--accent) 16%, var(--surface0));border-color:color-mix(in srgb, var(--accent) 28%, transparent);justify-self:end}.tutor-bubble.assistant{background:var(--surface0);border-color:color-mix(in srgb, var(--border) 90%, transparent);justify-self:start}.tutor-bubble-role{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:700}.tutor-bubble p{white-space:pre-wrap;margin:0;font-size:.95rem;line-height:1.45}.tutor-form{gap:10px;display:grid}.tutor-input-wrap textarea{resize:vertical;border:1px solid color-mix(in srgb, var(--border) 90%, transparent);background:var(--surface0);width:100%;min-height:4.5rem;color:var(--text);font:inherit;border-radius:14px;padding:12px 14px;line-height:1.4}.tutor-input-wrap textarea:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.tutor-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.tutor-login-hint{margin-top:8px}.tutor-privacy{max-width:72ch;margin:12px 0 0;line-height:1.5}@media (width<=560px){.tutor-quick-actions .button,.tutor-insight .button{width:100%}}.ai-explain{border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);background:color-mix(in srgb, var(--accent) 8%, var(--surface0));border-radius:14px;gap:10px;margin-top:10px;padding:12px 14px;display:grid}.ai-explain.hidden{display:none!important}.ai-explain-body{gap:6px;display:grid}.ai-explain-body.hidden{display:none!important}.ai-explain-text,.ai-explain-tip,.ai-explain-meta{margin:0;line-height:1.45}.ai-explain-text{color:var(--text);font-size:.95rem}.ai-explain-text strong{color:var(--text);font-weight:700}.ai-explain-text em{font-style:italic}.ai-explain-text code{background:color-mix(in srgb, var(--surface-2,#eef2ff) 88%, transparent);border-radius:4px;padding:.05em .28em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.92em}.ai-explain-tip{color:var(--text);font-size:.92rem;font-weight:600}.ai-explain-meta{color:var(--muted);font-size:.82rem}.mistake-review{border:1px solid color-mix(in srgb, var(--peach) 28%, transparent);background:color-mix(in srgb, var(--yellow) 12%, var(--surface0));border-radius:16px;gap:14px;padding:16px;display:grid}.mistake-review.hidden{display:none!important}.mistake-review h3,.mistake-review p{margin-bottom:0}.mistake-list{gap:10px;display:grid}.mistake-card-hint{color:var(--muted);margin:0;font-size:.92rem;font-weight:700;line-height:1.4}.mistake-card{border:1px solid color-mix(in srgb, var(--peach) 20%, transparent);background:var(--surface-strong);border-radius:16px;gap:8px;min-width:0;padding:14px;display:grid}.mistake-card h4,.mistake-card p{margin-bottom:0}.mistake-card h4{color:var(--primary-dark)}.test-diagnosis,.test-diagnosis-result,.test-diagnosis-patterns,.test-diagnosis-pattern{gap:10px;display:grid}.test-diagnosis.hidden,.test-diagnosis-result.hidden{display:none!important}.test-diagnosis{justify-items:start;padding-top:4px}.test-diagnosis-status,.test-diagnosis-pattern p,.test-diagnosis-result>p{margin:0}.test-diagnosis-result{border:1px solid color-mix(in srgb, var(--blue) 25%, var(--line));background:var(--surface-strong);border-radius:14px;width:100%;padding:14px}.test-diagnosis-result h4,.test-diagnosis-pattern h5{margin:0}.test-diagnosis-pattern{border-top:1px solid var(--line);padding-top:10px}.test-diagnosis-pattern:first-child{border-top:0;padding-top:0}.topic-pagination{justify-content:space-between;gap:12px;display:flex}[data-course-main]{gap:22px;display:grid}.course-hero h1{margin-bottom:14px}.course-levels{gap:16px;display:grid}.course-level-block{gap:10px;display:grid}.course-level-block>.level-heading{border-bottom:1px solid var(--line);min-height:56px;padding:0 0 12px}.level-heading>.level-heading-meta{flex:1;min-width:0}.level-heading .level-progress{white-space:nowrap;flex:none}.course-level-block>.topic-list{padding:0}.step-onboarding{justify-items:start;gap:8px;display:grid}.step-onboarding p{margin:0}.level-heading{align-items:center;gap:12px;display:flex}.level-heading-meta{gap:2px;min-width:0;display:grid}.level-heading-meta strong{font-size:1.05rem;line-height:1.2}.level-heading-meta span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.topic-list.compact{grid-template-columns:minmax(0,1fr);gap:0}.topic-list.compact .topic-card{min-height:0}#roteiro .topic-card{border:0;border-top:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;padding:14px 4px}#roteiro .topic-card:hover,#roteiro .topic-card:focus-visible{border-color:var(--line);background:var(--surface1);box-shadow:none;transform:none}#roteiro .topic-card.topic-card--continue-target{border:1px solid color-mix(in srgb, var(--blue) 58%, var(--line));background:color-mix(in srgb, var(--blue) 8%, var(--surface0));box-shadow:var(--shadow);border-radius:14px;margin-bottom:8px;padding:18px}#roteiro .topic-card.topic-card--continue-target:hover,#roteiro .topic-card.topic-card--continue-target:focus-visible{border-color:color-mix(in srgb, var(--blue) 70%, var(--line));background:color-mix(in srgb, var(--blue) 12%, var(--surface0));box-shadow:var(--shadow)}#roteiro .topic-topline{color:var(--muted);text-transform:none;gap:6px 10px;margin-bottom:8px;font-size:.82rem;font-weight:700}#roteiro .topic-actions{margin-top:10px}.topic-next-label{color:var(--primary-dark);font-family:var(--font-ui);margin-bottom:8px;font-size:.82rem;font-weight:900;display:block}.course-support{padding-block:14px}.course-support:not(:has(.course-support-content>:not([hidden]))){display:none}.course-support>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:56px;list-style:none;display:flex}.course-support>summary::-webkit-details-marker{display:none}.course-support>summary:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 32%, transparent);outline-offset:2px;border-radius:12px}.course-support>summary>span:first-child{gap:3px;display:grid}.course-support>summary strong{color:var(--primary-dark);font-family:var(--font-heading);font-size:1.2rem}.course-support>summary small{color:var(--muted);font-size:.9rem}.course-support-toggle{color:var(--muted);transition:transform .2s ease-out}.course-support[open] .course-support-toggle{transform:rotate(180deg)}.course-support-content{display:grid}.course-support-content>.panel{border:0;border-top:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;padding:18px 0 0}@media (prefers-reduced-motion:reduce){.course-support-toggle{transition:none}}.reading-milestone-row{border:1px solid color-mix(in srgb, var(--blue) 26%, var(--line));background:color-mix(in srgb, var(--blue) 8%, var(--surface0));border-radius:14px;grid-column:1/-1;align-items:center;gap:12px 18px;padding:15px 18px;display:flex}.reading-milestone-label,.reading-milestone-meta{color:var(--primary-dark);font-family:var(--font-ui);white-space:nowrap;font-size:.82rem;font-weight:800}.reading-milestone-copy{flex:1;gap:2px;min-width:0;display:grid}.reading-milestone-copy small{color:var(--muted);line-height:1.45}.reading-library{gap:22px;display:grid}.reading-library-intro .hero-text{margin-bottom:0}.reading-recommended .eyebrow{margin-bottom:4px}.reading-recommended .reading-index-row{padding-bottom:2px}.reading-level-list{gap:8px;display:grid}.reading-level-group{border-top:1px solid var(--line)}.reading-level-group>summary{min-height:52px;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.reading-level-group>summary span,.reading-index-state{color:var(--muted);font-size:.82rem;font-weight:700}.reading-index-row[aria-current]{background:color-mix(in srgb, var(--primary) 8%, transparent)}.reading-index-list{margin:0;padding:0;list-style:none}.reading-index-list li+li{border-top:1px solid var(--line)}.reading-index-row{color:inherit;align-items:center;gap:16px;padding:18px 4px;text-decoration:none;display:flex}.reading-index-row:hover .reading-index-copy strong,.reading-index-row:focus-visible .reading-index-copy strong{color:var(--primary-dark)}.reading-index-checkpoint{width:44px;height:44px;color:var(--on-primary);background:var(--primary);font-variant-numeric:tabular-nums;border-radius:12px;flex:none;place-items:center;font-weight:900;display:grid}.reading-index-copy{flex:1;gap:4px;min-width:0;display:grid}.reading-index-copy strong{font-size:1.05rem;transition:color .16s}.reading-index-copy span,.reading-index-copy small{color:var(--muted);line-height:1.45}.reading-index-copy small{font-size:.82rem;font-weight:700}@media (width<=600px){.reading-index-copy>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.reading-index-arrow{color:var(--primary-dark);font-size:1.3rem;font-weight:800}.ebook-shell{width:min(100%,74ch);margin:0 auto}.ebook-title{border-bottom:1px solid var(--line);margin-bottom:clamp(36px,7vw,68px);padding-bottom:28px}.ebook-title .back-link{margin-bottom:30px;display:inline-block}.ebook-title>p:not(.eyebrow){max-width:65ch;color:var(--muted);font-size:1rem;line-height:1.65}.translation-toggle{margin-top:8px}.translation-toggle[aria-pressed=true]{border-color:color-mix(in srgb, var(--blue) 38%, var(--line));color:var(--primary-dark);background:color-mix(in srgb, var(--blue) 10%, var(--surface0))}.ebook-reading{font-size:max(var(--reading-size), 1.08rem);letter-spacing:var(--reading-tracking);line-height:1.85}.ebook-section+.ebook-section{margin-top:clamp(42px,7vw,68px)}.ebook-section h2{margin-bottom:26px}.ebook-paragraph-pair+.ebook-paragraph-pair{margin-top:1.65em}.ebook-target{color:var(--ink);text-wrap:pretty;margin:0}.ebook-translation{color:var(--muted);background:color-mix(in srgb, var(--surface1) 56%, transparent);letter-spacing:0;text-wrap:pretty;border-radius:8px;margin:.7rem 0 0;padding:9px 12px;font-size:.92em;line-height:1.65}.reading-self-check{border-top:1px solid var(--line);margin-top:clamp(52px,9vw,88px);padding-top:32px}.reading-question-list{gap:0;margin:22px 0 0;padding-left:1.5rem;display:grid}.reading-question-list li{padding:18px 0 20px 8px}.reading-question-list li+li{border-top:1px solid var(--line)}.reading-question-list li>p{margin-bottom:12px;font-size:1.02rem;font-weight:700;line-height:1.65}.reading-question-list details{color:var(--muted)}.reading-question-list summary{width:fit-content;color:var(--primary-dark);font-family:var(--font-ui);cursor:pointer;font-size:.9rem;font-weight:800}.reading-answer-label{color:var(--muted);font-family:var(--font-ui);margin-bottom:6px;font-size:.85rem;font-weight:800;display:block}.reading-question-list textarea{resize:vertical;border:1px solid var(--surface2);width:100%;min-height:72px;color:var(--ink);background:var(--surface);font:inherit;border-radius:12px;padding:10px 12px;line-height:1.5}.reading-question-list textarea:focus-visible{border-color:var(--primary);outline:3px solid color-mix(in srgb, var(--blue) 18%, transparent)}.reading-answer{color:var(--ink);margin:14px 0 4px;line-height:1.65}.reading-explanation{color:var(--muted);margin:0;font-size:.9rem;line-height:1.6}.semantic-feedback-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:18px;padding-top:18px;display:flex}.semantic-feedback-disclosure{color:var(--muted);flex:22rem;margin:0;font-size:.82rem;line-height:1.45}.semantic-feedback-state{min-height:1.4em;color:var(--muted);flex-basis:100%;margin:0;font-size:.88rem;font-weight:700}.semantic-feedback-state.ok{color:color-mix(in srgb, var(--green) 62%, var(--ink))}.semantic-feedback-state.error{color:var(--danger)}.semantic-feedback-result{background:var(--surface0);color:var(--ink);border-radius:10px;margin-top:2px;padding:10px 12px;font-weight:600}.semantic-feedback-result.compatible{background:color-mix(in srgb, var(--green) 12%, var(--surface0))}.semantic-feedback-result.partial{background:color-mix(in srgb, var(--peach) 12%, var(--surface0))}.semantic-feedback-result.review{background:color-mix(in srgb, var(--danger) 8%, var(--surface0))}.semantic-feedback-result.unverified{border:1px solid var(--line);color:var(--muted)}.tutor-chat-details>summary{width:fit-content;color:var(--primary-dark);font-family:var(--font-ui);cursor:pointer;margin-top:14px;font-weight:800}.semantic-feedback-result strong{font-family:var(--font-ui);font-size:.86rem}.semantic-feedback-result p{margin:4px 0 0;line-height:1.5}.semantic-feedback-evidence{color:var(--muted);font-size:.86rem}.reading-pagination{border-top:1px solid var(--line);justify-content:space-between;gap:12px;margin-top:42px;padding-top:24px;display:flex}@media (width<=980px){.hero,.dashboard-grid,.topic-list.compact,.topic-shell{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-app .topic-shell{gap:12px}.topic-sidebar{max-height:none;padding-right:0;position:static;overflow:visible}.hero-copy{padding:12px 0 10px}.hero{gap:16px;margin-bottom:16px}h1{margin-bottom:12px;font-size:clamp(1.7rem,7.5vw,2.35rem);line-height:1.2}h2{font-size:clamp(1.2rem,4.5vw,1.55rem);line-height:1.25}}@media (width<=720px){.reading-milestone-row{flex-wrap:wrap;align-items:flex-start}.reading-milestone-copy{flex-basis:calc(100% - 9rem)}.reading-milestone-meta{margin-left:auto}.reading-index-row{align-items:flex-start;padding-block:16px}.reading-index-arrow{display:none}.ebook-title{margin-bottom:36px}.ebook-reading{font-size:var(--reading-size);line-height:var(--reading-leading)}.reading-pagination{grid-template-columns:1fr;display:grid}.reading-pagination .button{width:100%}.app{width:min(100% - 16px,1180px);padding:10px 0 36px}.topic-app{width:min(100% - 16px,1180px)}.topic-app .topic-shell{gap:8px}.topic-app .topic-main{gap:12px}.topic-mobile-heading{margin:0;font-size:1.35rem;line-height:1.25;display:block}.topic-app:not([data-current-step=lesson]) .topic-mobile-heading{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1.2;overflow:hidden}.step-route-swipe{color:var(--muted);padding:6px 2px 0;font-size:.8rem;font-weight:700;display:block}.topic-shell,.topic-main,.topic-sidebar,.reader-card,.panel,.practice-card,.test-card,.vocab-card{min-width:0;max-width:100%}.level-title{flex-direction:column;align-items:stretch}.level-title span{white-space:normal;overflow-wrap:anywhere}.section-heading{gap:6px;margin-bottom:12px}.section-heading-meta{gap:6px 8px}.section-heading h2{margin:0}.topbar{flex-direction:row;align-items:center;gap:12px;min-height:0;margin-bottom:14px}.topbar .brand,.topbar .brand>:last-child{min-width:0}.topbar .brand strong,.topbar .brand small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.top-actions{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.top-actions::-webkit-scrollbar{display:none}.top-actions>*{scroll-snap-align:start;flex:none}.top-actions .study-prefs{flex-wrap:nowrap}.top-actions .theme-toggle{min-width:44px;padding:0}.top-actions .theme-toggle-label{display:none}.top-actions .font-select{width:10rem;min-height:44px;padding-left:12px;padding-right:30px;font-size:16px}[data-home-gate] .topbar{flex-direction:row;align-items:center;position:relative}[data-home-gate] .home-actions-menu-panel .account-bar{order:1;width:100%;max-width:none}[data-home-gate] .home-actions-menu-panel [data-change-language]{order:2;width:100%}[data-home-gate] .home-actions-menu-panel .study-prefs{order:3;grid-template-columns:auto minmax(0,1fr);width:100%;display:grid}[data-home-gate] .home-actions-menu-panel .font-select{width:100%}[data-home-gate] .home-actions-menu-panel .install-app-btn{order:4;width:100%}.course-actions-menu-panel [data-entry-point-diagnosis-action],.course-actions-menu-panel [data-entry-point-diagnosis]{width:100%;min-width:0}.course-actions-menu-panel .study-prefs{grid-template-columns:auto minmax(0,1fr);width:100%;display:grid}.course-actions-menu-panel .font-select{width:100%;min-width:0}.plan-details>summary,.tutor-chat-details>summary{align-items:center;min-height:44px;padding-block:8px;display:flex}.topic-app .topic-topbar{z-index:var(--z-sticky);background:var(--base);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 10px;margin-bottom:8px;padding-block:8px;display:grid;position:sticky;top:0}.topic-app .topic-topbar .topbar-back{display:inline-flex}.topic-app .topic-menu-heading{margin:0 0 6px;display:block}.topic-app .topic-menu-section{min-width:0;display:block}.topic-app .topic-menu-account-section{order:1}.topic-app .topic-menu-nav-section{order:2}.topic-app .topic-menu-prefs-section{order:3}.topic-app .topic-menu-prefs-row,.topic-app .topic-menu-nav-links{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.topic-app .topic-menu-mobile-only{display:inline-flex}.topic-app .topic-menu-prefs-row .study-prefs{flex:auto}.topic-app .topic-page-menu .theme-toggle{min-width:44px;min-height:44px;padding-inline:12px}.topic-app .topic-page-menu .theme-toggle-label{display:inline}.topic-app .topic-page-menu .font-select{flex:10rem;width:auto;min-height:44px;padding-left:12px;padding-right:30px;font-size:16px}.topic-app .topic-menu-nav-links .button{flex:auto;justify-content:center;min-height:44px}.topic-app .topic-page-menu .account-bar{width:100%;max-width:none}.topic-app .topic-menu-guide{order:4;margin:0;padding:.85rem 1rem;display:block}.topbar-topic-link,.topbar-topic-next{display:none}.topic-app .topbar-topic-link,.topic-app .topbar-topic-next{display:inline-flex}.hero-actions{grid-template-columns:1fr;width:100%;display:grid}.topic-sidebar{gap:10px;display:grid}.topic-sidebar>.back-link{margin:0 2px;display:block}.topic-app .topic-sidebar>.back-link,.topic-app .topic-sidebar>.topic-sidebar-guide,.topic-sidebar>.topic-summary-card{display:none}.topic-sidebar .study-guide{margin-top:0;margin-bottom:0;padding:.9rem 1rem}.topic-sidebar .study-nav{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;gap:8px;margin-top:0;margin-bottom:0;padding:0 1px;display:flex;overflow-x:auto;mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.topic-sidebar .study-nav::-webkit-scrollbar{display:none}.topic-sidebar .study-nav a{scroll-snap-align:start;border-width:1px;flex:none;grid-template-columns:28px max-content;align-items:center;min-height:44px;padding:7px 10px;display:grid}.topic-sidebar .step-marker{width:28px;height:28px;font-size:.76rem}.topic-sidebar .step-tracker small,.topic-sidebar .step-status-text{display:none}.topic-sidebar .step-tracker strong{white-space:nowrap;font-size:.84rem}.topic-list{grid-template-columns:1fr}#roteiro{padding-inline:12px}#roteiro .topic-card{padding:14px 2px}#roteiro .topic-card.topic-card--continue-target{padding:14px}.topic-card .material-set{white-space:normal;overflow-wrap:anywhere}.vocabulary-grid{grid-template-columns:1fr}.vocab-study-status{gap:6px;margin-bottom:10px;padding:10px 12px;font-size:.9rem}.vocab-study-status>span:first-child{flex-basis:100%}.vocab-view-tabs{margin-bottom:10px}.vocab-view-tab{min-height:44px}.vocab-bank-link{min-height:44px;padding-block:8px}.app-audio-play{width:3.15rem;height:3.15rem}.app-audio-play svg{width:22px;height:22px}.app-audio-seek{--audio-seek-track-size:.45rem;--audio-seek-thumb-size:1.15rem;height:44px}.aligned-icon-btn,.vocab-play-btn{width:2.75rem;height:2.75rem}.aligned-icon-btn svg,.vocab-play-btn svg{width:18px;height:18px}.aligned-line{gap:.55rem}.flash-face{min-height:12.5rem;padding:1.2rem 1rem}.flash-rate-actions .button{width:100%;min-height:48px}.flash-nav-actions .button{width:100%;min-height:44px}.flash-complete-cta{justify-self:stretch;width:100%}.study-card-vocab.is-vocab-deck-card{gap:16px;min-height:340px;padding:20px}.is-vocab-deck-card .vocab-card-topline{justify-content:flex-end}.is-vocab-deck-card .vocab-card-index{display:none!important}.is-vocab-deck-card .vocab-card-prompt{text-align:center;margin-top:10px;font-size:.95rem}.vocab-card .vocab-card-target{color:var(--primary);text-align:center;margin:0;font-size:clamp(2.25rem,12vw,3rem);line-height:1.15}.is-vocab-deck-card .vocab-reveal{border-color:color-mix(in srgb, var(--blue) 34%, var(--line));background:color-mix(in srgb, var(--blue) 14%, var(--surface1));width:100%;min-height:48px;font-size:.95rem}.is-vocab-deck-card .vocab-translation{text-align:center;padding:14px;font-size:1.25rem}.is-vocab-deck-card .vocab-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.is-vocab-deck-card .vocab-mark{width:100%;min-height:48px;padding:0 12px}.is-vocab-deck-card .vocab-example{text-align:center}.is-vocab-deck-card .vocab-example summary{align-items:center;min-height:44px;padding-inline:10px;display:inline-flex}.vocab-round-complete{text-align:center;justify-items:stretch}.vocab-round-complete .button{width:100%}.topic-pagination{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.practice-controls{grid-template-columns:1fr 1fr;justify-content:stretch;gap:10px;width:100%;display:grid}.practice-controls .button{justify-content:center;width:100%;min-width:0}.speaking-transfer .practice-controls{grid-template-columns:minmax(0,1fr)}.speaking-transfer .practice-controls audio{width:100%;min-width:0}.mastery-test>.practice-controls{grid-template-columns:1fr}.question-controls{grid-template-areas:"check check""prev next"}.question-controls #practice-prev,.question-controls [data-mastery-practice-prev]{grid-area:prev}.question-controls #practice-check,.question-controls [data-mastery-practice-check]{grid-area:check}.question-controls #practice-next,.question-controls [data-mastery-practice-next]{grid-area:next}.step-complete-row{gap:10px;display:grid}.step-flow-nav{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label prev""next next";gap:8px 10px;padding:10px 12px}.step-flow-label{text-align:left;grid-area:label;font-size:.8rem}.step-flow-nav [data-step-prev]{grid-area:prev;justify-self:end;width:auto}.step-flow-nav [data-step-next]{white-space:normal;grid-area:next;justify-self:stretch;width:100%}.study-card,.panel,.reader-card{border-radius:16px;padding:16px}.practice-card,.test-card,.vocab-card{border-radius:16px;padding:14px}.reader-card{padding:16px}.markdown-body{letter-spacing:.005em;max-width:100%;font-size:1rem;line-height:1.65}.markdown-body h1{margin-bottom:10px;font-size:clamp(1.45rem,6.5vw,1.9rem);line-height:1.22}.markdown-body h2{margin-top:1.2em;margin-bottom:.4em;padding-top:.65em;font-size:1.15rem}.markdown-body h3{margin-top:1em;margin-bottom:.35em;font-size:1.02rem}.topic-summary-card h1,.course-hero h1{margin-bottom:8px;font-size:clamp(1.35rem,6vw,1.75rem);line-height:1.22}.practice-card h3{font-size:1.12rem;line-height:1.3}.hero-text{margin-bottom:16px;font-size:1rem;line-height:1.6}.metrics article{min-height:0;padding:14px}.markdown-body table{min-width:0}.table-wrap:before{content:"Deslize para ver a tabela →";border-bottom:1px solid var(--line);color:var(--subtext0);padding:8px 12px;font-size:.78rem;font-weight:700;display:block}.table-wrap:has(th:nth-child(2):last-child):before{display:none}.button,.practice-option,.test-options label{max-width:100%}.button{min-height:44px}}@media (width<=720px) and (height<=720px){#vocabulario .section-heading{gap:6px}#vocabulario .section-heading h2{display:none}#vocabulario .vocab-study-status{margin-bottom:6px;padding-block:8px}#vocabulario [data-vocab-status-hint]{display:none}#vocabulario .vocab-audio-status{margin-bottom:6px;padding-block:7px;font-size:.78rem}#vocabulario .vocab-view-tabs{gap:6px;margin-bottom:6px}#vocabulario .study-card-vocab.is-vocab-deck-card{gap:8px;min-height:216px;padding:14px}#vocabulario .is-vocab-deck-card .vocab-card-prompt{margin-top:0}#vocabulario .vocab-card .vocab-card-target{font-size:clamp(1.9rem,10vw,2.4rem)}}.admin-app{width:min(1180px,100% - 36px)}.admin-main{gap:18px;display:grid}.admin-gate{gap:12px;max-width:560px;display:grid}.admin-gate-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-shell{gap:18px;display:grid}.admin-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.admin-hero h1{margin-bottom:6px}.admin-hero-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.admin-kpi{border:1px solid var(--line);background:var(--surface0);box-shadow:var(--shadow);border-radius:14px;gap:4px;padding:14px 16px;display:grid}.admin-kpi strong{font-variant-numeric:tabular-nums;font-size:1.7rem;line-height:1.1}.admin-kpi span{color:var(--muted);font-size:.84rem}.admin-section{gap:12px;display:grid}.admin-two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.admin-filters{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.admin-filter{min-width:10rem;color:var(--muted);gap:4px;font-size:.82rem;font-weight:700;display:grid}.admin-filter-grow{flex:16rem}.admin-filter select,.admin-filter input,.admin-status-select{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--surface0);font:inherit;border-radius:12px;padding:0 12px}.admin-table-wrap{overscroll-behavior-x:contain;border:1px solid var(--line);background:color-mix(in srgb, var(--surface0) 92%, transparent);border-radius:16px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.92rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.admin-table th{background:color-mix(in srgb, var(--surface1) 70%, var(--surface0));color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.78rem;font-weight:800;position:sticky;top:0}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table-compact td{font-size:.88rem}.admin-muted{color:var(--muted);font-size:.82rem;font-weight:500}.admin-detail{word-break:break-word;max-width:28rem;line-height:1.4}.admin-link{color:var(--blue);font-size:.82rem;font-weight:700;text-decoration:none}.admin-link:hover{text-decoration:underline}.admin-spark-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.admin-spark-list li{grid-template-columns:3.2rem minmax(0,1fr) 2rem;align-items:center;gap:8px;font-size:.86rem;display:grid}.admin-spark-day{color:var(--muted);font-variant-numeric:tabular-nums}.admin-spark-bar{background:color-mix(in srgb, var(--blue) 18%, var(--surface1));border-radius:999px;height:.55rem;display:block;position:relative;overflow:hidden}.admin-spark-bar:after{content:"";width:var(--w,0%);border-radius:inherit;background:linear-gradient(90deg, var(--blue), var(--sapphire));height:100%;display:block}.admin-status-select.is-error{border-color:var(--danger)}@media (width<=980px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-two-col{grid-template-columns:1fr}}@media (width<=720px){.admin-app{width:min(100% - 16px,1180px)}.admin-kpi-grid{grid-template-columns:1fr}.admin-hero{align-items:stretch}}.admin-row-btn{white-space:nowrap;min-height:36px;padding-inline:10px}.admin-user-dossier{border-color:color-mix(in srgb, var(--blue) 28%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 10%, transparent)}.admin-dossier-kpis{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.admin-kpi-sm{padding:12px 14px}.admin-kpi-sm strong{font-size:1.25rem}.admin-dossier-block{gap:10px;display:grid}.admin-dossier-block h3{margin:0;font-size:1rem}.admin-topic-cards{gap:10px;display:grid}.admin-topic-card{border:1px solid var(--line);background:color-mix(in srgb, var(--surface0) 92%, transparent);border-radius:16px;gap:8px;padding:12px 14px;display:grid}.admin-topic-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-step-row{flex-wrap:wrap;gap:6px;display:flex}.admin-step-chip{border:1px solid var(--line);min-height:28px;color:var(--muted);background:var(--surface1);border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:700;display:inline-flex}.admin-step-chip.is-done{color:color-mix(in srgb, var(--green) 90%, var(--ink));border-color:color-mix(in srgb, var(--green) 40%, var(--line));background:color-mix(in srgb, var(--green) 14%, var(--surface0))}.admin-step-chip.is-pending{opacity:.85}.admin-user-modal{border:1px solid var(--line);width:min(920px,100% - 24px);max-width:none;max-height:min(90dvh,900px);color:var(--ink);background:var(--surface0);box-shadow:var(--shadow);border-radius:16px;padding:0;overflow:hidden}.admin-user-modal[open]{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.admin-user-modal::backdrop{background:color-mix(in srgb, var(--crust) 68%, transparent);backdrop-filter:blur(3px)}.admin-user-modal-header,.admin-user-modal-footer{background:color-mix(in srgb, var(--surface0) 94%, transparent);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.admin-user-modal-header{border-bottom:1px solid var(--line)}.admin-user-modal-identity{gap:4px;min-width:0;display:grid}.admin-user-modal-identity h2{margin:0;font-size:clamp(1.15rem,2.4vw,1.45rem)}.admin-user-modal-body{overscroll-behavior:contain;gap:16px;padding:16px 18px 20px;display:grid;overflow-y:auto}.admin-user-modal-footer{border-top:1px solid var(--line);align-items:center}.admin-modal-tabs{flex-wrap:wrap;gap:8px;display:flex}.admin-modal-tab{appearance:none;border:1px solid var(--line);background:var(--surface1);min-height:38px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px;font-size:.88rem;font-weight:800}.admin-modal-tab.selected,.admin-modal-tab[aria-selected=true]{border-color:color-mix(in srgb, var(--blue) 42%, var(--line));background:color-mix(in srgb, var(--blue) 16%, var(--surface0));color:var(--blue)}.admin-modal-panel{gap:14px;display:grid}.admin-modal-toolbar{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.admin-answer-list{gap:10px;display:grid}.admin-answer-topic{border:1px solid var(--line);background:color-mix(in srgb, var(--surface0) 94%, transparent);border-radius:14px;padding:0 12px 12px}.admin-answer-topic>summary{cursor:pointer;gap:2px;padding:12px 4px;font-weight:700;list-style:none;display:grid}.admin-answer-topic>summary::-webkit-details-marker{display:none}.admin-answer-section{gap:8px;margin-top:8px;display:grid}.admin-answer-section h4{margin:0;font-size:.9rem}.admin-answer-key{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}.admin-table tbody tr[data-user-id]{cursor:pointer}.admin-table tbody tr[data-user-id]:hover{background:color-mix(in srgb, var(--blue) 8%, transparent)}@media (width<=720px){.admin-user-modal{border-radius:16px 16px 0 0;width:100%;max-height:92dvh;margin:auto 0 0}.admin-user-modal-header,.admin-user-modal-footer,.admin-user-modal-body{padding:14px}}
