:root{color:#202419;font-synthesis:none;background:#fffaf2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 100% 0,#ffe6bc 0,#0000 26rem),linear-gradient(#fffaf2 0%,#f8f8ed 100%);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #125c49}.page-shell{width:min(100% - 2rem,720px);margin:0 auto;padding:1.25rem 0 3rem}.topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand{color:#193a31;align-items:center;gap:.55rem;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{color:#fffdf7;background:#125c49;border-radius:50% 50% 48%;place-items:center;width:2rem;height:2rem;font-family:Inter,ui-sans-serif,sans-serif;font-size:.95rem;display:grid}.language-pill,.eyebrow{color:#5c4d37;letter-spacing:.07em;text-transform:uppercase;font-size:.78rem;font-weight:750}.language-pill{color:#125c49;letter-spacing:.03em;text-transform:none;background:#d9f0df;border-radius:999px;padding:.45rem .65rem}.mission-intro{padding:3.6rem 0 1.5rem}.mission-intro h1,.completion-shell h1,.loading-shell h1,.error-shell h1{color:#193a31;letter-spacing:-.055em;max-width:12ch;margin:.45rem 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,9vw,4.4rem);font-weight:500;line-height:.96}.mission-intro>p:last-child,.completion-shell>p,.error-shell>p{color:#625b4f;max-width:56ch;font-size:1.06rem;line-height:1.55}.progress-section{margin:1.5rem 0}.progress-label{color:#625b4f;justify-content:space-between;margin-bottom:.55rem;font-size:.88rem;display:flex}.progress-track{background:#e6e4d8;border-radius:999px;height:.5rem;overflow:hidden}.progress-value{border-radius:inherit;background:#e6813f;height:100%;transition:width .2s}.program-progress-card,.return-cue{background:#edf7ee;border:1px solid #125c492e;border-radius:1rem}.program-progress-card{justify-content:space-between;align-items:center;gap:1rem;margin:1.25rem 0;padding:1rem 1.15rem;display:flex}.program-progress-card .eyebrow,.return-cue .eyebrow{margin:0}.program-progress-card>div>p:last-child{color:#153f33;margin:.25rem 0 0;font-weight:750}.streak-label{color:#125c49;text-align:right;margin:0;font-size:.9rem;font-weight:750}.return-cue{margin:1.25rem 0;padding:1.15rem 1.25rem}.return-cue h2{color:#153f33;letter-spacing:-.035em;margin:.35rem 0 .55rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,5vw,2rem);font-weight:500}.return-cue>p:not(.eyebrow){color:#625b4f;margin:.45rem 0 0;line-height:1.45}.coach-card,.outcome-card{border:1px solid #283f311f;border-radius:1.5rem;box-shadow:0 16px 40px #313b2714}.coach-card{background:#fffef9;padding:clamp(1.3rem,5vw,2.2rem)}.coach-card h2{color:#193a31;letter-spacing:-.04em;margin:.3rem 0 1.35rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,6vw,2.55rem);font-weight:500}.phrase-card{background:#edf7ee;border-radius:1rem;grid-template-columns:1fr auto;gap:1rem;padding:1.25rem;display:grid}.phrase-target{color:#153f33;letter-spacing:-.04em;margin:0;font-size:clamp(1.5rem,6vw,2.2rem);font-weight:750}.phrase-meaning,.grammar-note,.instruction,.helper-text,.status-message,.outcome-card p:last-child{color:#625b4f;line-height:1.5}.phrase-meaning{margin:.3rem 0 0}.grammar-note{border-top:1px solid #125c4924;grid-column:1/-1;margin:0;padding-top:.8rem;font-size:.9rem}.sound-button,.secondary-button,.primary-button{border-radius:.8rem;min-height:2.75rem;padding:.65rem .95rem;font-weight:700}.sound-button,.secondary-button{color:#125c49;background:#fffef9;border:1px solid #125c494d;align-self:start}.sound-button{min-width:4.75rem;font-size:.78rem}.instruction{margin:1.35rem 0 0}.helper-text,.status-message{margin:.8rem 0 0;font-size:.9rem}.status-message{color:#a3441d}.chunk-row{flex-wrap:wrap;gap:.55rem;margin:1.15rem 0;display:flex}.chunk,.phrase-hint{color:#70431e;background:#fff0d7;border-radius:.65rem;padding:.65rem .8rem;font-weight:700}.dialogue-bubble{border-radius:1rem 1rem 1rem .25rem;width:fit-content;max-width:90%;padding:.95rem 1.1rem;line-height:1.45}.tutor-bubble{color:#fff;background:#125c49}textarea{resize:vertical;color:#193a31;background:#fffef9;border:1px solid #b8c8ba;border-radius:.75rem;width:100%;margin:1rem 0;padding:.85rem;display:block}.speaking-practice{background:#f8fbf6;border:1px solid #125c4929;border-radius:1rem;margin-top:1.25rem;padding:1rem}.speaking-practice h3{color:#153f33;margin:0;font-size:1rem}.speaking-practice .helper-text{margin-top:.35rem}.speaking-actions,.typed-answer-row{align-items:center;gap:.65rem;margin-top:.9rem;display:flex}.text-button{color:#125c49;background:0 0;border:0;padding:.35rem 0;font-weight:700;text-decoration:underline}.heard-transcript,.speaking-feedback{margin:.85rem 0 0;line-height:1.45}.heard-transcript{color:#625b4f;font-size:.9rem}.typed-answer-label{color:#153f33;margin-top:1rem;font-size:.9rem;font-weight:700;display:block}.typed-answer-row input{color:#193a31;background:#fffef9;border:1px solid #b8c8ba;border-radius:.75rem;flex:1;min-width:0;padding:.7rem .8rem}.speaking-feedback{font-size:.92rem;font-weight:650}.feedback-matched{color:#125c49}.feedback-close,.feedback-retry,.feedback-empty,.feedback-unavailable{color:#9b4a1e}.phrase-hint{margin-top:.25rem;font-size:.92rem;display:inline-block}.recap-title{color:#153f33;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;line-height:1.15}.actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.primary-button{color:#fffef9;background:#125c49;border:1px solid #125c49}.primary-button:hover:not(:disabled){background:#0b4637}.primary-button:disabled{cursor:wait;opacity:.7}.outcome-card{background:#fff0d7;margin-top:1.25rem;padding:1.2rem 1.35rem}.review-callout{background:#fff0d7;border:1px solid #e6813f59;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;margin:1.25rem 0;padding:1rem 1.15rem;display:flex}.review-callout .eyebrow{margin:0}.review-callout p:last-child{color:#70431e;margin:.25rem 0 0;line-height:1.4}.review-shell{padding-top:2rem}.review-intro{padding:3.5rem 0 1.6rem}.review-intro h1,.review-shell h1{color:#193a31;letter-spacing:-.055em;max-width:11ch;margin:.4rem 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,8vw,4.1rem);font-weight:500;line-height:.98}.review-intro>p:last-child,.review-shell>p{color:#625b4f;max-width:48ch;font-size:1.08rem;line-height:1.5}.review-card{background:#fffef9;border:1px solid #283f311f;border-radius:1.5rem;padding:clamp(1.25rem,5vw,2rem);box-shadow:0 16px 40px #313b2714}.reveal-button{width:100%}.review-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.outcome-card p{margin:0}.outcome-card p:last-child{margin-top:.4rem}.loading-shell,.error-shell,.completion-shell{padding-top:16vh}.onboarding-shell{padding-top:1.25rem}.onboarding-intro{padding:3.4rem 0 1.4rem}.onboarding-intro h1{color:#193a31;letter-spacing:-.055em;max-width:11ch;margin:.45rem 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,8vw,4rem);font-weight:500;line-height:.98}.onboarding-intro>p:last-child{color:#625b4f;max-width:54ch;margin:0;font-size:1.05rem;line-height:1.55}.onboarding-form{gap:1.15rem;display:grid}.onboarding-form fieldset{background:#fffef9;border:1px solid #283f311f;border-radius:1rem;min-width:0;margin:0;padding:1.2rem}.onboarding-form legend{color:#153f33;padding:0 .25rem;font-weight:750}.language-summary{color:#125c49;align-items:center;gap:.75rem;margin-top:.5rem;font-size:1.15rem;font-weight:750;display:flex}.choice-stack{gap:.65rem;margin-top:.7rem;display:grid}.choice-card,.microphone-choice{cursor:pointer;align-items:flex-start;gap:.75rem;display:flex}.choice-card{border:1px solid #125c4929;border-radius:.8rem;padding:.8rem}.choice-card input,.time-options input,.microphone-choice input{accent-color:#125c49}.choice-card input,.microphone-choice input{flex:none;margin-top:.25rem}.choice-card strong,.microphone-choice strong,.choice-card small,.microphone-choice small{display:block}.choice-card strong,.microphone-choice strong{color:#153f33}.choice-card small,.microphone-choice small{color:#625b4f;margin-top:.2rem;line-height:1.4}.time-options{flex-wrap:wrap;gap:.65rem;margin-top:.7rem;display:flex}.time-options label{color:#153f33;background:#edf7ee;border-radius:.7rem;align-items:center;gap:.4rem;padding:.55rem .7rem;font-weight:700;display:inline-flex}.microphone-choice{background:#f8fbf6;border:1px solid #125c492e;border-radius:1rem;padding:1.15rem 1.2rem}.onboarding-submit{width:100%;margin-top:.15rem}.error-shell .primary-button,.completion-shell .primary-button{margin-top:.8rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=430px){.page-shell{width:min(100% - 1.25rem,720px)}.mission-intro,.onboarding-intro{padding-top:2.8rem}.review-callout,.review-actions,.program-progress-card{flex-direction:column;align-items:stretch}.streak-label{text-align:left}.review-callout .secondary-button,.review-actions button{width:100%}.typed-answer-row{flex-direction:column;align-items:stretch}.typed-answer-row .secondary-button{width:100%}.phrase-card{grid-template-columns:1fr}.sound-button{justify-self:start}.actions{flex-direction:column-reverse}.actions button{width:100%}}
