:root{--ink:#172331;--muted:#64706f;--line:#1723311f;--red:#cf262e;--green:#14765e;--gold:#f0b143;--shadow-soft:0 18px 50px #17233114;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#fff;min-width:320px}body{min-width:320px;min-height:100svh;margin:0}button,input,textarea,select{font:inherit}button{letter-spacing:0}p,h1,h2,h3,h4{overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{min-height:100svh;color:var(--ink);background:linear-gradient(120deg,#e8f7f1b8,#f7f9f8fa 42%,#fff),#f7f9f8;grid-template-columns:268px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;flex-direction:column;gap:18px;min-height:100svh;padding:22px 18px;display:flex;position:sticky;top:0}.brand-lockup,.section-heading{align-items:center;gap:14px;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--red), #f3a52f);border-radius:8px;place-items:center;width:42px;height:42px;font-size:21px;font-weight:800;display:grid;box-shadow:0 10px 22px #cf262e33}.eyeline{color:var(--muted);text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:800}.brand-lockup h1,.topbar h2,.section-heading h3,.coach-panel h3{letter-spacing:0;color:var(--ink);margin:0}.brand-lockup h1{font-size:21px}.active-course-card{background:#e8f7f194;border:1px solid #14765e33;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.active-course-card span{color:var(--green);text-transform:uppercase;font-size:11px;font-weight:900;display:block}.active-course-card strong,.active-course-card small{display:block}.active-course-card strong{color:var(--ink);margin-top:3px;font-size:15px;line-height:1.2}.active-course-card small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.35}.level-nav{gap:8px;display:grid}.level-nav__item{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.level-nav__item:hover,.level-nav__item--active{background:#0f745c14;border-color:#14765e3d}.level-nav__item strong,.level-nav__item small{display:block}.level-nav__item strong{font-size:14px;line-height:1.2}.level-nav__item small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.35}.source-panel,.coach-panel,.panel,.mission-stage{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-soft);background:#fffffff0;border-radius:8px}.source-panel{margin-top:auto;padding:14px}.source-panel h2{color:var(--ink);margin:0 0 8px;font-size:16px}.source-panel p{color:var(--muted);margin:0;font-size:13px}.session-card,.voice-stack{border-top:1px solid var(--line);background:0 0;border-bottom:0;border-left:0;border-right:0;border-radius:8px;margin-top:10px;padding:11px 0 0}.session-card span,.voice-stack span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800;display:block}.session-card strong,.voice-stack strong{color:var(--ink);margin-top:5px;font-size:18px;line-height:1.15;display:block}.session-card small,.voice-stack small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.35;display:block}.session-card button{color:var(--red);cursor:pointer;background:#fff4efd1;border:1px solid #cf262e2e;border-radius:8px;margin-top:10px;padding:7px 10px;font-size:12px;font-weight:800}.stack-list{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.stack-list span{color:#70521a;background:#fff4dce0;border:1px solid #c18d2b3d;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700}.workspace{min-width:0;padding:24px}.workspace:focus{outline:none}.topbar{justify-content:space-between;align-items:center;gap:18px;max-width:1180px;margin:0 auto 18px;display:flex}.topbar h2{max-width:760px;font-size:clamp(26px,3vw,36px);line-height:1.07}.topbar__subline{max-width:720px;color:var(--muted);margin:8px 0 0;font-size:15px;line-height:1.45}.topbar__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.screen-panel{width:min(1180px,100%);margin:0 auto}.screen-panel__header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.screen-panel__header h3,.home-hero h3,.subscription-hero h3{color:var(--ink);margin:0;font-size:clamp(24px,3vw,38px);line-height:1.08}.screen-panel__header p,.home-hero p,.home-card p,.subscription-hero p,.subscription-feature p{color:var(--muted);line-height:1.45}.home-screen{gap:16px;display:grid}.home-hero{box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#e8f7f1eb,#fffffff0 68%),#fff;border:1px solid #14765e29;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:22px;padding:clamp(20px,4vw,34px);display:grid}.home-hero__actions,.subscription-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.home-grid,.subscription-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.home-card,.subscription-feature{border:1px solid var(--line);background:#ffffffeb;border-radius:8px;align-content:start;gap:8px;min-height:174px;padding:16px;display:grid}.home-card--primary{grid-column:span 2}.home-card span,.subscription-feature span{color:var(--green);text-transform:uppercase;font-size:12px;font-weight:900}.home-card strong,.subscription-feature strong{color:var(--ink);font-size:20px;line-height:1.15}.home-card p,.subscription-feature p{margin:0}.home-card .ss-button{place-self:end start;margin-top:4px}.course-map-screen{gap:14px;display:grid}.course-map__levels{grid-template-columns:repeat(6,minmax(0,1fr))}.course-map-screen .lesson-rail{max-height:none;padding-right:0;overflow:visible}.profile-screen,.subscription-screen{gap:14px;display:grid}.profile-screen .profile-panel{max-width:none;box-shadow:var(--shadow-soft);margin:0}.subscription-hero{color:#5f4105;box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#fff7d6,#fffffff5 72%),#fff;border:1px solid #b47c123d;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;padding:clamp(20px,4vw,32px);display:grid}.subscription-hero>svg{color:#8a5b00;fill:#7a4d0029;width:42px;height:42px}.subscription-actions{border:1px solid var(--line);background:#ffffffe6;border-radius:8px;justify-content:flex-start;padding:14px}.picker-panel{background:#fffffff0;border:1px solid #14765e29;border-radius:8px;max-width:1180px;margin:0 auto 18px;padding:14px;box-shadow:0 14px 34px #17233114}.picker-panel__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.picker-panel__header h3{color:var(--ink);margin:0;font-size:18px;line-height:1.22}.picker-panel .level-switcher,.picker-panel .lesson-rail{margin:0}.picker-panel .lesson-rail{max-height:min(42svh,360px);padding-right:4px;overflow-y:auto}.practice-menu__actions{flex-wrap:wrap;gap:10px;display:flex}.practice-menu__actions .ss-button{flex:160px}.level-switcher{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:8px;display:grid}.level-switcher__item{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:76px;padding:10px;display:grid}.level-switcher__item:hover,.level-switcher__item--active{background:#e8f7f1d1;border-color:#14765e47}.level-switcher__item strong,.level-switcher__item small{display:block}.level-switcher__item strong{font-size:13px;line-height:1.2}.level-switcher__item small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.35}.lesson-rail{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-bottom:18px;display:grid}.lesson-card{border:1px solid var(--line);min-height:92px;color:var(--ink);cursor:pointer;text-align:left;background:#ffffffe6;border-radius:8px;align-content:start;gap:6px;padding:12px;display:grid}.lesson-card:hover,.lesson-card--active{background:#e8f7f1d1;border-color:#14765e47}.lesson-card span{color:var(--green);text-transform:uppercase;font-size:11px;font-weight:900}.lesson-card strong{font-size:15px;line-height:1.15}.lesson-card small{color:var(--muted);font-size:12px;line-height:1.35}.hero-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,.75fr);gap:18px;max-width:1180px;margin:0 auto;display:grid}.mission-stage{grid-template-columns:minmax(260px,.9fr) minmax(0,1fr);display:grid;overflow:hidden}.mission-stage__media{align-items:flex-end;min-height:340px;padding:22px;display:flex;position:relative;overflow:hidden}.mission-stage__media:before{content:"";background:#ffffff2e;border:1px solid #ffffff59;border-radius:50%;width:120px;height:120px;position:absolute;inset:18px 26px auto auto}.city-card{color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff2e;border:1px solid #ffffff80;border-radius:8px;width:100%;padding:18px;position:relative}.city-card span,.city-card small{display:block}.city-card span{text-transform:uppercase;font-size:12px;font-weight:800}.city-card strong{margin:8px 0;font-size:24px;line-height:1.05;display:block}.city-card small{line-height:1.45}.mission-stage__body,.coach-panel,.panel{padding:22px}.section-heading{align-items:flex-start}.section-heading svg{color:var(--green);flex:none;margin-top:3px}.section-heading p{color:var(--muted);margin:6px 0 0}.phrase-card{border-left:4px solid var(--red);background:0 0;border-radius:8px;margin:22px 0;padding:4px 0 4px 16px}.phrase-card p,.vocab-card p{color:var(--red);text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:800}.phrase-card strong{font-size:28px;line-height:1.18;display:block}.phrase-card span{color:var(--muted);margin-top:10px;display:block}.lesson-progress-card{border-top:1px solid var(--line);background:0 0;border-radius:0;gap:10px;margin:-4px 0 20px;padding:14px 0 0;display:grid}.mission-script{border-top:1px solid var(--line);gap:6px;margin-top:16px;padding-top:14px;display:grid}.mission-script__line{color:var(--ink);border-radius:8px;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);align-items:baseline;gap:14px;padding:8px 10px;display:grid}.mission-script__line span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800;line-height:1.35}.mission-script__line strong{overflow-wrap:anywhere;font-size:14px;line-height:1.4}.mission-script__line--target{box-shadow:inset 3px 0 0 var(--red);background:#fff4efdb}.lesson-progress-card>div{justify-content:space-between;gap:12px;display:flex}.lesson-progress-card span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.lesson-progress-card strong{color:var(--green);font-size:22px}.lesson-progress-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.step-list,.feedback-list,.mission-list{gap:10px;display:grid}.step-list__item,.mission-list__item{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:8px}.step-list__item{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:14px;display:grid}.step-list__item span,.mission-list__item span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.step-list__item strong,.mission-list__item strong{grid-column:1;font-size:15px;display:block}.step-list__item svg{grid-area:1/2/span 2}.step-list__item--active,.mission-list__item--active{background:#fff4efcc;border-color:#cf262e42}.focus-step{grid-template-columns:minmax(220px,.6fr) minmax(0,1fr);align-items:start;gap:18px;margin-top:18px;display:grid}.focus-step__meta{border-right:1px solid var(--line);gap:7px;padding-right:18px;display:grid}.focus-step__meta span{color:var(--green);text-transform:uppercase;font-size:12px;font-weight:900}.focus-step__meta strong{color:var(--ink);font-size:24px;line-height:1.12}.focus-step__meta p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.focus-step__dots{flex-wrap:wrap;grid-column:1;gap:6px;padding-right:18px;display:flex}.focus-step__dot{background:#fff;border:1px solid #1723312e;border-radius:50%;width:10px;height:10px}.focus-step__dot--active{border-color:var(--red);background:var(--red);box-shadow:0 0 0 4px #cf262e1f}.focus-step__dot--done{border-color:var(--green);background:var(--green)}.action-workbench{background:linear-gradient(135deg,#e8f7f1c7,#fffffff5 68%),#fff;border:1px solid #14765e2e;border-radius:8px;grid-area:1/2/span 2;align-content:center;gap:9px;min-height:168px;padding:18px;display:grid}.action-workbench span{width:fit-content;color:var(--green);text-transform:uppercase;font-size:12px;font-weight:900;line-height:1.2}.action-workbench strong{color:var(--ink);overflow-wrap:anywhere;font-size:clamp(22px,2.7vw,36px);line-height:1.12}.action-workbench p{max-width:720px;color:var(--muted);margin:0;font-size:15px;line-height:1.48}.focus-step .stage-actions{border-top:1px solid var(--line);grid-column:1/-1;margin-top:0;padding-top:14px}.stage-status{color:#27403a;background:#e8f7f1e6;border:1px solid #14765e29;border-radius:8px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.42;display:grid}.stage-status:before{content:"";background:var(--green);border-radius:50%;width:10px;height:10px;margin-top:5px;box-shadow:0 0 0 4px #14765e1a}.coach-panel{flex-direction:column;gap:16px;display:flex}.coach-next{background:#e8f7f1b8;border:1px solid #14765e2e;border-radius:8px;gap:7px;padding:14px;display:grid}.coach-next span{color:var(--green);text-transform:uppercase;font-size:11px;font-weight:900}.coach-next strong{color:var(--ink);font-size:18px;line-height:1.2}.coach-next p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.coach-grid{grid-template-columns:1fr;gap:10px;display:grid}.adaptive-note{border:1px solid var(--line);background:#f8fafcd1;border-radius:8px;padding:14px}.adaptive-note strong{margin-bottom:4px;display:block}.adaptive-note p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.adaptive-note--repair{background:#fff4efe6;border-color:#cf262e33}.adaptive-note--skip{background:#e8f7f1e6;border-color:#14765e3d}.learning-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.88fr);gap:18px;max-width:1180px;margin-top:18px;margin-left:auto;margin-right:auto;display:grid}.panel--wide{grid-column:1/-1}.stage-list{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.stage-card{border:1px solid var(--line);min-height:0;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:8px;flex:180px;grid-template-rows:auto auto;gap:5px;padding:10px;display:grid}.stage-card:hover,.stage-card--active{background:#fff4efc7;border-color:#cf262e40}.stage-card--done{background:#e8f7f1c7;border-color:#14765e40}.stage-card span{color:var(--green);text-transform:uppercase;font-size:11px;font-weight:900}.stage-card strong{font-size:14px;line-height:1.2}.stage-card small{color:var(--muted);font-size:11px;line-height:1.4}.stage-card em{color:var(--red);font-size:12px;font-style:normal;font-weight:900}.stage-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.vocab-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin-top:18px;display:grid}.vocab-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid;position:relative}.vocab-card__image{color:#fff;border-radius:7px;align-items:end;height:88px;padding:10px;display:flex;overflow:hidden}.vocab-card__image span{font-size:11px;font-weight:800;line-height:1.2}.vocab-card h4{color:var(--ink);margin:0;font-size:22px;line-height:1.1}.vocab-card span{color:var(--muted)}.vocab-card__listen{min-width:82px;min-height:38px;color:var(--green);cursor:pointer;background:#e8f7f1e6;border:1px solid #14765e40;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:900;display:inline-flex}.vocab-card__listen span{color:inherit}:is(.pronunciation-lab,.panel:has(.voice-status)){flex-direction:column;gap:14px;min-width:0;display:flex}.panel:has(.voice-status) .ss-tone-wave{margin-top:2px}.recording-lab{gap:12px;min-width:0;display:grid}.pronunciation-review{gap:12px;display:grid}.review-score{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:14px;display:grid}.review-score span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.review-score strong{color:var(--ink);grid-area:1/2/span 2;font-size:28px;line-height:1}.review-score small{color:var(--muted);font-size:13px;line-height:1.4}.review-score--high{background:#e8f7f194;border-color:#14765e3d}.review-score--mid{background:#fff4dcb8;border-color:#c18d2b3d}.review-score--low{background:#fff4efc7;border-color:#cf262e3d}.recording-state,.pronunciation-status,.voice-status{color:#27403a;overflow-wrap:anywhere;background:#e8f7f1e6;border:1px solid #14765e29;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;width:100%;min-width:0;margin:2px 0;padding:12px 14px;font-size:14px;line-height:1.42;display:grid}.recording-state:before,.pronunciation-status:before,.voice-status:before{content:"";background:var(--green);border-radius:50%;width:10px;height:10px;margin-top:5px;box-shadow:0 0 0 4px #14765e1a}.recording-state--idle,.pronunciation-status--idle,[data-recording-state=idle] .pronunciation-status,[data-recording-state=idle] .voice-status{color:#435046;border-color:var(--line);background:#f8fafceb}.recording-state--idle:before,.pronunciation-status--idle:before,[data-recording-state=idle] .pronunciation-status:before,[data-recording-state=idle] .voice-status:before{background:#8b98a5;box-shadow:0 0 0 4px #8b98a51f}.recording-state--recording,.pronunciation-status--recording,[data-recording-state=recording] .recording-state,[data-recording-state=recording] .pronunciation-status,[data-recording-state=recording] .voice-status{color:#7f1d1d;background:#fff4eff0;border-color:#cf262e3d}.app-shell:has(.ss-tone-wave__bar--active) .voice-status{color:#7f1d1d;background:#fff4eff0;border-color:#cf262e3d}.recording-state--recording:before,.pronunciation-status--recording:before,[data-recording-state=recording] .recording-state:before,[data-recording-state=recording] .pronunciation-status:before,[data-recording-state=recording] .voice-status:before{background:var(--red);animation:1.1s ease-in-out infinite recordingPulse;box-shadow:0 0 0 5px #cf262e1f}.app-shell:has(.ss-tone-wave__bar--active) .voice-status:before{background:var(--red);animation:1.1s ease-in-out infinite recordingPulse;box-shadow:0 0 0 5px #cf262e1f}.recording-state--processing,.pronunciation-status--processing,[data-recording-state=processing] .recording-state,[data-recording-state=processing] .pronunciation-status,[data-recording-state=processing] .voice-status{color:#70521a;background:#fff4dceb;border-color:#c18d2b3d}.recording-state--processing:before,.pronunciation-status--processing:before,[data-recording-state=processing] .recording-state:before,[data-recording-state=processing] .pronunciation-status:before,[data-recording-state=processing] .voice-status:before{background:#b57617;box-shadow:0 0 0 4px #b576171f}.recording-state--review,.recording-state--success,.pronunciation-status--review,.pronunciation-status--success,[data-recording-state=review] .recording-state,[data-recording-state=review] .pronunciation-status,[data-recording-state=review] .voice-status{color:#27403a;background:#e8f7f1f0;border-color:#14765e3d}.recording-state--error,.pronunciation-status--error,[data-recording-state=error] .recording-state,[data-recording-state=error] .pronunciation-status,[data-recording-state=error] .voice-status{color:#7f1d1d;background:#fff4eff5;border-color:#cf262e47}.recording-state--error:before,.pronunciation-status--error:before,[data-recording-state=error] .recording-state:before,[data-recording-state=error] .pronunciation-status:before,[data-recording-state=error] .voice-status:before{background:var(--red);box-shadow:0 0 0 4px #cf262e1f}.pronunciation-controls,.recording-controls,.playback-controls,.model-comparison-controls{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.pronunciation-controls .ss-button,.recording-controls .ss-button,.playback-controls .ss-button,.model-comparison-controls .ss-button{flex:142px;min-width:min(100%,142px)}.pronunciation-compare,.recording-comparison,.transcript-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.pronunciation-compare,.recording-comparison{margin-top:2px}.pronunciation-compare__lane,.recording-comparison__lane,.transcript-block{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:12px}.pronunciation-compare__lane--model,.recording-comparison__lane--model,.transcript-block--expected{background:#e8f7f18c;border-color:#14765e33}.pronunciation-compare__lane--recorded,.recording-comparison__lane--recorded,.transcript-block--recorded,.transcript-block--captured{background:#edf8fcb8;border-color:#1c5d7633}.recording-comparison__lane--active{border-color:#cf262e5c;box-shadow:0 0 0 4px #cf262e1a}.stage-support-panel .mission-list{grid-template-columns:repeat(2,minmax(0,1fr))}.pronunciation-compare__label,.recording-comparison__label,.transcript-block__label{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900;line-height:1.25;display:block}.pronunciation-compare__phrase,.recording-comparison__phrase,.transcript-block__text{color:var(--ink);overflow-wrap:anywhere;margin-top:8px;font-size:15px;font-weight:800;line-height:1.38;display:block}.pronunciation-compare__meta,.recording-comparison__meta,.transcript-block__meta{color:var(--muted);flex-wrap:wrap;gap:6px;margin-top:10px;font-size:12px;line-height:1.35;display:flex}.score-strip,.mismatch-strip,.pronunciation-chip-list,.feedback-list{flex-wrap:wrap;align-items:stretch;gap:10px;min-width:0;display:flex}.feedback{border:1px solid var(--line);background:#fff;border-radius:8px;flex:210px;align-content:start;gap:8px;min-width:min(100%,210px);padding:12px;display:grid}.feedback strong{width:fit-content;max-width:100%;color:var(--ink);overflow-wrap:anywhere;background:#f8fafcf5;border-radius:999px;padding:5px 8px;font-size:12px;line-height:1.25}.feedback span{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:13px;line-height:1.42}.feedback--success{background:#e8f7f18a;border-color:#14765e3d}.feedback--success strong{color:var(--green);background:#e8f7f1fa}.feedback--warning{background:#fff4efb8;border-color:#cf262e3d}.feedback--warning strong{color:var(--red);background:#fff4effa}.score-chip,.mismatch-chip,.pronunciation-chip{border:1px solid var(--line);max-width:100%;min-height:32px;color:var(--ink);white-space:normal;overflow-wrap:anywhere;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:900;line-height:1.25;display:inline-flex}.score-chip strong,.mismatch-chip strong,.pronunciation-chip strong{color:inherit;font-size:13px}.score-chip--high,.pronunciation-chip--match,.mismatch-chip--match{color:var(--green);background:#e8f7f1e0;border-color:#14765e3d}.score-chip--mid,.mismatch-chip--pace,.mismatch-chip--tone{color:#70521a;background:#fff4dce6;border-color:#c18d2b42}.score-chip--low,.mismatch-chip--missing,.mismatch-chip--error,.pronunciation-chip--miss{color:var(--red);background:#fff4efeb;border-color:#cf262e42}.mission-list{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.mission-list__item{padding:16px}.mission-list__item small{color:var(--muted);margin-top:10px;line-height:1.4;display:block}.mission-list__item--external{background:#fffaefd1;border-style:dashed}.qa-strip{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:18px;font-size:13px;display:flex}.qa-strip span{border:1px solid var(--line);background:#ffffffb8;border-radius:999px;padding:8px 11px}.ss-button{letter-spacing:0;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:0;max-width:100%;font-weight:800;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.ss-button:hover{transform:translateY(-1px)}.ss-button:focus-visible,.level-nav__item:focus-visible,.lesson-card:focus-visible,.level-switcher__item:focus-visible,.stage-card:focus-visible,.step-list__item:focus-visible,.mission-list__item:focus-visible,.vocab-card__listen:focus-visible{outline-offset:2px;outline:3px solid #cf262e47}.ss-button--sm{min-height:34px;padding:7px 10px;font-size:13px}.ss-button--md{min-height:42px;padding:10px 14px;font-size:14px}.ss-button--lg{min-height:50px;padding:13px 18px;font-size:15px}.ss-button--primary{background:var(--red);color:#fff;box-shadow:0 14px 28px #cf262e33}.ss-button--secondary{color:var(--ink);border-color:var(--line);background:#fff}.ss-button--ghost{color:var(--ink);background:0 0}.ss-button--danger{color:#fff;background:#7f1d1d}.ss-button[aria-busy=true],.ss-button--recording{color:#fff;background:#7f1d1d;position:relative;box-shadow:0 14px 28px #7f1d1d33}.ss-button[aria-busy=true]:after,.ss-button--recording:after{content:"";pointer-events:none;border:1px solid #cf262e47;border-radius:10px;animation:1.15s ease-in-out infinite recordingRing;position:absolute;inset:-5px}.ss-button:disabled{opacity:.65;cursor:not-allowed;transform:none}.ss-button[aria-busy=true]:disabled{opacity:1}.ss-button__icon,.ss-button__spinner{flex:none}.ss-button__label{white-space:normal;overflow-wrap:anywhere;min-width:0}.ss-button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.ss-progress{gap:8px;display:grid}.ss-progress__meta{color:var(--muted);justify-content:space-between;gap:12px;font-size:13px;font-weight:800;display:flex}.ss-progress__track{background:#0f172a14;border-radius:999px;height:10px;overflow:hidden}.ss-progress__bar{width:var(--ss-progress-value);border-radius:inherit;background:linear-gradient(90deg, var(--green), #f0b143);height:100%}.ss-progress--success .ss-progress__bar{background:var(--green)}.ss-progress--warning .ss-progress__bar{background:linear-gradient(90deg,#f0b143,#d78922)}.ss-progress--danger .ss-progress__bar{background:var(--red)}.ss-level-pill{color:#fff;border-radius:8px;place-items:center;gap:1px;min-width:50px;padding:6px 8px;font-weight:900;display:inline-grid}.ss-level-pill__label{text-transform:uppercase;opacity:.82;font-size:9px}.ss-level-pill__value{font-size:16px;line-height:1}.ss-level-pill--lotus{background:#cf262e}.ss-level-pill--jade{background:#14765e}.ss-level-pill--sun{background:#b57617}.ss-level-pill--sky{background:#1c5d76}.ss-level-pill--ink{background:#172331}.ss-tone-wave{border:1px solid var(--line);background:linear-gradient(#1723310a,#14765e14),#fff;border-radius:8px;align-items:center;gap:5px;min-width:0;height:142px;padding:16px;display:flex;overflow:hidden}.ss-tone-wave__bar{min-width:3px;height:calc(var(--ss-tone-height) * 105px);background:linear-gradient(180deg, var(--green), #f0b143);opacity:.86;border-radius:99px;flex:1 1 0}.ss-tone-wave__bar--active{background:var(--red);opacity:1;animation:.72s ease-in-out infinite alternate recordingBarPulse}.ss-tone-wave:has(.ss-tone-wave__bar--active){background:linear-gradient(#cf262e0d,#fff4efd1),#fff;border-color:#cf262e38}.ss-stat{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;padding:13px;display:flex}.ss-stat__icon{color:var(--red);margin-top:2px}.ss-stat__label{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.ss-stat__value{color:var(--ink);font-size:24px;font-weight:900;line-height:1.1}.ss-stat__helper{color:var(--muted);font-size:13px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes recordingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.68;transform:scale(1.24)}}@keyframes recordingRing{0%,to{opacity:.72;transform:scale(.98)}50%{opacity:.22;transform:scale(1.04)}}@keyframes recordingBarPulse{0%{transform:scaleY(.76)}to{transform:scaleY(1.08)}}@keyframes loadingDot{0%,to{opacity:.42;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes loadingTrack{0%{transform:translate(-105%)}to{transform:translate(220%)}}.welcome-screen{color:#fff;background:#091019;place-items:center;min-height:100dvh;padding:22px;display:grid;position:relative;overflow:hidden auto}.welcome-screen__video,.welcome-screen__overlay{position:absolute;inset:0}.welcome-screen__video{object-fit:cover;width:100%;height:100%}.welcome-screen__overlay{background:linear-gradient(90deg,#070d14e0,#070d1485,#070d14c2),linear-gradient(#0000 55%,#070d14db)}.welcome-card{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070d14bd;border:1px solid #fff3;border-radius:8px;width:min(560px,100%);max-height:calc(100dvh - 44px);padding:26px;position:relative;overflow-y:auto;box-shadow:0 26px 90px #00000052}.welcome-card h1{margin:4px 0 10px;font-size:clamp(42px,8vw,76px);line-height:.94}.welcome-card p{color:#ffffffc7;max-width:44rem}.welcome-card small{color:#ffffff85;margin-top:14px;display:block}.welcome-screen--loading .welcome-card{width:min(620px,100%)}.loading-card{gap:14px;display:grid}.loading-card h1{max-width:11ch}.loading-mark{gap:8px;display:flex}.loading-mark span{background:#fff;border-radius:999px;width:10px;height:10px;animation:1.2s ease-in-out infinite loadingDot}.loading-mark span:nth-child(2){animation-delay:.16s}.loading-mark span:nth-child(3){animation-delay:.32s}.loading-track{background:#ffffff1f;border-radius:999px;height:8px;overflow:hidden}.loading-track span{border-radius:inherit;background:linear-gradient(90deg,#cf262e,#f0b143);width:48%;height:100%;animation:1.6s ease-in-out infinite loadingTrack;display:block}.returning-login{grid-template-columns:auto minmax(0,1fr);gap:14px;margin-top:20px;display:grid}.returning-login__avatar{color:#5f4105;background:linear-gradient(135deg,#fff1a8,#f1b83a 55%,#9f6d08);border-radius:8px;place-items:center;width:68px;height:68px;font-size:30px;font-weight:950;display:grid}.returning-login strong,.returning-login span,.returning-login small{display:block}.returning-login strong{font-size:22px;line-height:1.12}.returning-login span,.returning-login small,.returning-login p{color:#ffffffb8}.returning-login p,.returning-login .auth-actions{grid-column:1/-1}.auth-actions{gap:10px;display:grid}.signup-form{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}.signup-form label{color:#ffffffbd;letter-spacing:.06em;text-transform:uppercase;gap:7px;font-size:12px;font-weight:800;display:grid}.signup-form label:nth-child(3),.signup-form .ss-button{grid-column:1/-1}.signup-form input,.signup-form select{color:#fff;width:100%;min-height:46px;font:inherit;letter-spacing:0;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:0 12px}.brand-mark--premium,.premium-badge--active,.premium-status--active,.topbar__actions .ss-button--secondary .ss-button__icon{color:#8a5b00;background:linear-gradient(135deg,#fff1a8,#f1b83a 55%,#9f6d08)}.brand-mark--premium svg{fill:#7a4d003d;width:24px;height:24px}.premium-status{border:1px solid var(--line);width:100%;color:var(--muted);font:inherit;letter-spacing:0;cursor:pointer;background:#ffffffbd;border-radius:8px;align-items:center;gap:9px;padding:10px 12px;font-weight:900;display:inline-flex}.premium-status svg,.premium-badge svg,.subscription-prompt svg{width:18px;height:18px}.premium-status--active{color:#5f4105;border-color:#b47c125c}.premium-badge{border:1px solid var(--line);width:fit-content;color:var(--muted);background:#ffffffbd;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.premium-badge--active{color:#5f4105;border-color:#b47c125c}.subscription-prompt,.subscription-gate{color:#5f4105;background:#fff7d6;border:1px solid #b47c123d;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;display:flex}.subscription-gate{text-align:center;flex-direction:column;justify-content:center;min-height:56dvh}.subscription-gate svg{fill:#7a4d002e;width:42px;height:42px}.subscription-gate h3{margin:0;font-size:clamp(26px,5vw,44px)}.subscription-gate p{color:#5f4105c2;max-width:620px;margin:0}.profile-panel{gap:14px;display:grid}.profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.profile-summary{grid-template-columns:auto 1fr;align-items:center;gap:14px;display:grid}.profile-summary__avatar{color:#fff;background:linear-gradient(135deg,#136f62,#e0a22d);border-radius:8px;place-items:center;width:62px;height:62px;font-size:28px;font-weight:950;display:grid}.profile-summary strong,.profile-summary span{display:block}.profile-summary span{color:var(--muted);margin:4px 0 10px}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.profile-progress-card,.subscription-card{border:1px solid var(--line);background:#ffffffb3;border-radius:8px;gap:12px;padding:14px;display:grid}.profile-progress-card>div,.subscription-card{align-items:center}.profile-progress-card>div{justify-content:space-between;gap:10px;display:flex}.subscription-card{grid-template-columns:1fr auto}.subscription-card span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:850;display:block}.subscription-card strong{margin-top:4px;display:block}.subscription-card p{color:var(--muted);margin:5px 0 0}.lesson-card--locked{opacity:.72;border-style:dashed}.lesson-card--locked:after{content:"Premium";color:#5f4105;background:#fff1a8;border-radius:999px;justify-self:start;width:fit-content;padding:5px 8px;font-size:11px;font-weight:900}.lesson-page{grid-template-columns:minmax(0,1.05fr) minmax(260px,.55fr);align-items:start;gap:16px;display:grid}.lesson-page .mission-stage,.lesson-page__activity{grid-column:1/-1}.lesson-page__activity{order:1}.lesson-page .coach-panel{order:2}.lesson-page .mission-stage{order:0;min-height:auto}.lesson-page__activity{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.lesson-page__activity>.panel{width:100%;max-width:1040px}.lesson-page .stage-actions{z-index:5;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-radius:8px;margin:14px -2px -2px;padding:10px;position:sticky;bottom:12px}@media (prefers-reduced-motion:reduce){.ss-button,.ss-button[aria-busy=true]:after,.ss-button--recording:after,.recording-state--recording:before,.pronunciation-status--recording:before,[data-recording-state=recording] .pronunciation-status:before,[data-recording-state=recording] .voice-status:before,.ss-button__spinner,.ss-tone-wave__bar--active,.loading-mark span,.loading-track span{transition:none;animation:none}.welcome-screen__video{display:none}.ss-button:hover{transform:none}}@media (width<=1120px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line);grid-template-columns:auto minmax(220px,.8fr) minmax(260px,1fr);align-items:start;min-height:auto;display:grid;position:relative}.source-panel{margin-top:0}.level-switcher,.lesson-rail,.course-map__levels,.home-grid,.subscription-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid,.learning-grid,.mission-stage,.lesson-page{grid-template-columns:1fr}}@media (width<=760px){.workspace,.sidebar{padding:18px}.sidebar{grid-template-columns:1fr}.source-panel{display:none}.welcome-screen{align-items:stretch;padding:14px}.welcome-card{align-self:end;padding:18px}.signup-form,.profile-stats,.profile-actions,.subscription-card{grid-template-columns:1fr}.signup-form label:nth-child(3),.signup-form .ss-button{grid-column:auto}.topbar{flex-direction:column;align-items:stretch}.topbar__actions{justify-content:stretch}.screen-panel__header,.home-hero,.subscription-hero{grid-template-columns:1fr}.screen-panel__header,.home-hero__actions,.subscription-actions{flex-direction:column;align-items:stretch}.home-grid,.subscription-grid,.course-map__levels{grid-template-columns:1fr}.home-card,.home-card--primary,.subscription-feature{grid-column:auto;min-height:0}.home-hero__actions,.subscription-actions{display:grid}.home-hero__actions .ss-button,.subscription-actions .ss-button{width:100%}.picker-panel{padding:12px}.picker-panel__header{flex-direction:column;align-items:stretch}.topbar__actions,.practice-menu__actions,.vocab-grid,.mission-list,.level-switcher,.lesson-rail{grid-template-columns:1fr}.topbar__actions{display:grid}.topbar__actions .ss-button,.practice-menu__actions .ss-button,.stage-actions .ss-button,.pronunciation-controls .ss-button,.recording-controls .ss-button,.playback-controls .ss-button,.model-comparison-controls .ss-button{width:100%}.mission-script__line{grid-template-columns:1fr;gap:4px}.focus-step{grid-template-columns:1fr}.focus-step__meta,.focus-step__dots{border-right:0;padding-right:0}.focus-step__meta{border-bottom:1px solid var(--line);padding-bottom:12px}.focus-step__dots,.action-workbench,.focus-step .stage-actions{grid-column:1}.action-workbench{grid-row:auto;min-height:0}.focus-step .stage-actions{justify-content:stretch}.focus-step .stage-actions .ss-button{flex:auto}.recording-state,.pronunciation-status,.voice-status{grid-template-columns:1fr;gap:7px}.recording-state:before,.pronunciation-status:before,.voice-status:before{margin-top:0}.pronunciation-controls,.recording-controls,.playback-controls,.model-comparison-controls{grid-template-columns:1fr;display:grid}.pronunciation-compare,.recording-comparison,.transcript-grid,.review-score{grid-template-columns:1fr}.review-score strong{grid-area:auto/1}.stage-support-panel .mission-list{grid-template-columns:1fr}.lesson-page{gap:12px}.lesson-page .mission-stage{border-radius:8px}.lesson-page .coach-panel{display:none}.lesson-page__activity{padding-bottom:calc(86px + env(safe-area-inset-bottom));gap:12px}.lesson-page .panel--wide,.lesson-page .panel{padding-top:16px;padding-bottom:16px}.lesson-page .stage-actions{grid-template-columns:1fr;display:grid;bottom:8px}.feedback{flex-basis:100%}.score-chip,.mismatch-chip,.pronunciation-chip{border-radius:8px;justify-content:space-between;width:100%}.phrase-card strong{font-size:24px}.mission-stage__media{min-height:260px}.vocab-card{grid-template-columns:76px minmax(0,1fr) auto}.vocab-card__image{height:74px}.profile-summary{grid-template-columns:1fr}}@media (width<=430px){.workspace,.sidebar,.mission-stage__body,.coach-panel,.panel{padding-left:14px;padding-right:14px}.ss-tone-wave{gap:3px;height:118px;padding:12px}.vocab-card{grid-template-columns:1fr}.vocab-card__image{width:100%;min-height:92px}.vocab-card__listen{width:100%}}
