:root{--paper:#f7f4eb;--ink:#263c32;--muted:#727a6d;--line:#dce0d4;--accent:#ed7957;--sage:#dce6cb}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-rounded,'Avenir Next',Avenir,system-ui,sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ba5436;outline-offset:4px}header{max-width:1120px;margin:auto;padding:28px 34px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;font-size:1.375rem;letter-spacing:-1px}.brand-icon{background:var(--ink);color:var(--paper);border-radius:12px;padding:4px 10px;font-size:1.4375rem}.brand-dot{color:var(--accent);font-size:0.625rem;margin-left:-5px}.quiet{background:none;border:1px solid var(--line);padding:10px 16px;border-radius:24px;font-size:0.75rem;font-weight:600}main{max-width:1052px;margin:auto;padding:8px 34px 24px}.intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;padding:42px 0 46px;gap:40px}.eyebrow{font-size:0.625rem;font-weight:800;letter-spacing:2px;color:#687966}h1{font-family:Georgia,serif;font-weight:400;font-size:4.0625rem;line-height:1.07;letter-spacing:-2.8px;margin:22px 0}h1 em{font-weight:400;color:#c86445}.lede{font-size:1rem;line-height:1.7;color:var(--muted)}.hello-art{height:240px;position:relative;background:radial-gradient(ellipse,#e8ecd9 0,transparent 68%);transform:rotate(-4deg)}.bubble{position:absolute;border-radius:32px;padding:18px 28px;box-shadow:0 10px 0 #233c3208;white-space:nowrap}.bubble.hi{font-size:2.6875rem;background:var(--sage);top:35px;left:40px;transform:rotate(-5deg)}.bubble.en{font-size:1.5625rem;background:#f0c1a6;top:131px;left:130px;transform:rotate(9deg)}.sun{position:absolute;font-size:4.0625rem;right:20px;top:-5px;color:#dca359}.spark{position:absolute;font-size:2.9375rem;left:35px;top:146px}.art-note{position:absolute;bottom:-5px;left:77px;font-size:0.625rem;letter-spacing:1px;color:var(--muted);transform:rotate(4deg)}.section-head{display:flex;justify-content:space-between;align-items:center;margin:10px 0 18px}.section-head h2{font-size:1.125rem;margin:0}.section-head>span{font-size:0.6875rem;color:var(--muted)}#lessons{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px}.lesson{border:1px solid var(--line);border-radius:18px;background:transparent;padding:19px;text-align:left;position:relative;color:var(--ink);transition:background .2s,transform .2s}.lesson:hover{transform:translateY(-2px)}.lesson.active{background:#fffdf7;border:2px solid var(--ink);padding:18px}.lesson-icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#f0dfc3;font-size:1.4375rem;margin-bottom:15px}.lesson.pink .lesson-icon{background:#eed8d6}.lesson.green .lesson-icon{background:#dfe7d5}.lesson strong{display:block;font-size:1rem;margin-bottom:6px}.lesson small{display:block;line-height:1.4;font-size:0.6875rem;color:var(--muted)}.lesson .arrow{position:absolute;right:19px;top:23px;font-size:1.125rem}.studio{background:#fffdf8;border:1px solid var(--line);border-radius:24px;padding:26px 42px 22px;text-align:center}.studio-top{display:flex;align-items:center;justify-content:space-between}.studio-top>span:last-child{font-size:0.75rem;color:var(--muted)}.progress{display:flex;gap:6px;margin:17px 0 24px}.progress span{height:3px;background:#ebece4;flex:1;border-radius:3px}.progress span.filled{background:#88a07c}.studio h2{font-size:1.0625rem;font-weight:600;margin:0 0 24px}.studio #meaning{font-size:0.9375rem;color:var(--muted);margin:0 0 8px}.hindi{font-size:2.625rem;line-height:1.6;font-weight:600}.roman{font-size:0.9375rem;color:#a27655;margin:6px 0 28px}.voice-flow{display:flex;justify-content:center;align-items:center;gap:13px;font-size:0.625rem;color:var(--muted)}.voice-flow span{padding:8px 12px;border-radius:20px;background:#f0f1e9}.voice-flow span.active{background:#dce6cb;color:var(--ink);font-weight:700}.voice-flow i{font-style:normal}#status{font-size:0.8125rem;min-height:20px;margin:23px 0 18px}.controls{display:flex;align-items:center;justify-content:center;gap:12px}.primary{background:var(--ink);border:1px solid var(--ink);border-radius:30px;color:white;padding:14px 26px;font-size:0.8125rem;font-weight:600}.secondary{background:transparent;border:1px solid var(--line);border-radius:30px;padding:13px 19px;font-size:0.75rem;color:var(--ink)}.round{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:1.1875rem;color:var(--ink)}.text-button{background:none;border:0;color:#727c69;font-size:0.75rem;text-decoration:underline;text-underline-offset:4px;margin-top:20px;padding:8px}.practice-note{font-size:0.625rem;color:#878c80;line-height:1.7;margin:14px 0 0}.footer-note{display:flex;align-items:center;justify-content:center;gap:15px;margin:26px 0;color:#74826c}.footer-note>span{font-size:1.75rem;color:#c39458}.footer-note p{font-size:0.75rem;line-height:1.7}.footer-note strong{font-weight:600;color:var(--ink)}footer{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:0.625rem;color:var(--muted)}dialog{max-width:520px;width:calc(100% - 30px);border:1px solid var(--line);background:var(--paper);border-radius:24px;padding:30px;color:var(--ink)}dialog::backdrop{background:#1c332b88;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}dialog h2{font:2.25rem/1.1 Georgia,serif;margin:20px 0}dialog p,dialog li{font-size:0.8125rem;line-height:1.65}dialog li{margin:10px 0}dialog a{color:#a44f35}dialog label{display:block;font-size:0.75rem;font-weight:700;margin:18px 0 8px}input{width:100%;border:1px solid #9fae98;border-radius:10px;background:#fffdf8;padding:13px;font-size:0.9375rem}.small{font-size:0.875rem!important;color:var(--muted)}.setup-actions{display:flex;gap:10px}.error{color:#ad3e29!important}@media(max-width:700px){header{padding:20px}.brand{font-size:1.1875rem}main{padding:0 20px 22px}.intro{gap:5px;padding:20px 0 30px}h1{font-size:2.6875rem;letter-spacing:-2px}.lede{font-size:0.8125rem}.hello-art{height:200px;transform:scale(.75);transform-origin:center right;margin-left:-70px}.bubble.hi{left:10px;font-size:2.1875rem}.bubble.en{left:40px;font-size:1.25rem}.sun{right:0}.art-note{display:none}.eyebrow{font-size:0.5rem}.section-head>span{display:none}#lessons{gap:8px}.lesson{padding:12px}.lesson.active{padding:11px}.lesson strong{font-size:0.75rem}.lesson small{font-size:0.625rem}.lesson .arrow{display:none}.studio{padding:22px 14px}.hindi{font-size:1.9375rem}.voice-flow{gap:5px;font-size:0.5625rem}.voice-flow span{padding:7px}.primary{padding:13px 17px}.controls{gap:7px}.quiet{font-size:0.625rem;padding:8px}.practice-note{font-size:0.5625rem}footer{gap:20px;font-size:0.5625rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

[hidden]{display:none!important}.daily,.recording{border:1px solid var(--line);border-radius:18px;padding:20px;margin:20px 0}.daily h2{font-size:1.25rem}.daily label{display:inline-block;margin:12px}.daily select{font:inherit;padding:8px;border-radius:8px}.recording h3{font-size:1rem}.recording audio{width:100%;margin-top:12px}#ratings{margin:20px 0}#lessons{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
header{gap:12px;flex-wrap:wrap}header .brand{margin-right:auto}#account-submit{margin-top:20px}#account-message{min-height:24px}#account-dialog input{max-width:100%}

.game-studio{background:#fffaf0;border:1px solid #e6d4b6;border-radius:24px;padding:25px;margin:25px 0}.game-layout{display:flex;gap:25px;align-items:center;margin:24px 0}.game-layout h3{font:1.75rem Georgia,serif;margin:12px 0}#game-art{font-size:5rem;background:#eedfc5;border-radius:24px;padding:20px}#story-picker,.game-modes,#game-answers,#game-rating{display:flex;flex-wrap:wrap;gap:10px}#game-status{line-height:1.7;font-size:1rem;min-height:48px}#game-rating{margin:18px 0}#game-transcript{white-space:pre-line;line-height:1.8;padding:16px;background:#eef0e4;border-radius:12px}#game-word{font-size:1.625rem}@media(max-width:700px){.game-studio{padding:16px}.game-layout{gap:12px}#game-art{font-size:2.875rem;padding:12px}.game-layout h3{font-size:1.4375rem}}

.plan-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.plan-options article{border:1px solid #c8d7cc;border-radius:18px;padding:20px}.plan-options li{margin:10px 0}#accounts input{display:block;margin:12px 0}#accounts button{margin:6px}#audit{overflow-wrap:anywhere}
#course-options label,#course-checks label{display:block;margin:12px 0}#course-work button{margin:6px}#course-models p{white-space:pre-line}#course-studio select{max-width:100%;margin:12px 0}#course-studio fieldset{border:1px solid #c8d7cc;border-radius:12px;margin:20px 0}#course-task{font-size:1.15rem;line-height:1.7}
#course-options input[type=radio],#course-checks input[type=checkbox]{display:inline-block;width:auto;min-height:0;margin:0 10px 0 0;vertical-align:middle}#course-work button{font-size:1rem}#course-start-unit{max-width:100%;margin:12px 8px 12px 0}


/* Original type sizes, scalable without disabling browser zoom. */
html{font-size:calc(16px * var(--reader-scale,1))}body{font-size:1rem;line-height:1.6;--muted:#4c594e;--line:#6d7b6d}.small,.quiet,.text-button,.practice-note,.footer-note,.art-note,.section-head>span,.lesson small,.voice-flow,#status,footer{color:#4c594e}.roman{color:#775032}h1 em{color:#984027}.primary{color:#fff}.lesson,.secondary,.quiet,.round,input,select{border-color:#6d7b6d}button,input,select{min-height:44px}button{margin:6px 4px}input,select{max-width:100%}select{font:inherit;padding:12px;margin:14px 0 22px}.controls,.voice-flow,.section-head,.studio-top,.footer-note,footer{flex-wrap:wrap;gap:18px}.game-modes,#story-picker,#game-answers,#game-rating{gap:18px}dialog{max-height:90vh;overflow:auto;max-width:680px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #174db3;outline-offset:4px}button:disabled{opacity:1;color:#596259;background:#e8e8e2;border-color:#687468}.hindi{overflow-wrap:anywhere}span[lang=hi]{font-size:inherit}.speed-setting{padding:18px;margin:24px 0;border:1px solid var(--line);border-radius:14px}.speed-setting label,.speed-setting output{display:block;margin:12px 0}.speed-setting input{width:100%;max-width:650px;min-height:44px;padding:0}.skip-link{position:absolute;left:12px;top:-120px;padding:12px;background:#fff;color:#000;z-index:100}.skip-link:focus{top:12px}#display-dialog label{display:block;margin:20px 0 8px}#display-dialog input[type=checkbox]{width:24px;min-height:24px;margin-right:12px}#display-dialog select{width:100%}#conversation-choices,#conversation-ratings{display:flex;flex-wrap:wrap;gap:18px;margin:24px 0}#conversation-model{white-space:pre-line;line-height:1.8;font-size:1rem;padding:20px;border:1px solid var(--line);border-radius:14px}#conversation-status{margin:24px 0}
html[data-contrast=high] body{background:#fff;color:#111;--paper:#fff;--ink:#111;--muted:#222;--line:#444;--sage:#fff}html[data-contrast=high] .daily,html[data-contrast=high] .studio,html[data-contrast=high] .game-studio,html[data-contrast=high] .lesson,html[data-contrast=high] dialog,html[data-contrast=high] .plan-options article{background:#fff;border-color:#222}html[data-contrast=high] p,html[data-contrast=high] small,html[data-contrast=high] label,html[data-contrast=high] output,html[data-contrast=high] .roman,html[data-contrast=high] .eyebrow,html[data-contrast=high] .section-head>span,html[data-contrast=high] footer{color:#111}html[data-contrast=high] button{color:#111;background:#fff;border-color:#222}html[data-contrast=high] .primary{background:#111;color:#fff}html[data-contrast=high] a{color:#003b80;text-decoration:underline}html[data-contrast=high] input,html[data-contrast=high] select{background:#fff;color:#111;border:2px solid #222}html[data-contrast=high] h1 em{color:#111}html[data-contrast=high] .voice-flow span{color:#111;background:#eee}html[data-contrast=high] .voice-flow span.active{color:#fff;background:#111}html[data-contrast=high] button:disabled{color:#444;background:#eee;border-style:dashed}
@media(max-width:700px){.intro{grid-template-columns:1fr}.hello-art{display:none}.plan-options,#lessons{grid-template-columns:minmax(0,1fr)}.game-layout{flex-wrap:wrap}.round{flex-shrink:0}.daily select{max-width:100%}header{gap:16px}h1{overflow-wrap:anywhere}}

html[data-reader-size="1.25"]{font-size:20px}html[data-reader-size="1.5"]{font-size:24px}html[data-reader-size="2"]{font-size:32px}

.pricing-link{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none;margin:6px 4px}#pricing{scroll-margin-top:24px}

/* Legal pages share the site's contrast and text-size controls. */
.legal-page{max-width:850px;line-height:1.75;overflow-wrap:anywhere}.legal-page h1{font-size:2.5rem;letter-spacing:-1px;line-height:1.2}.legal-page h2{font-size:1.35rem;margin-top:2rem;line-height:1.4}.legal-page p{margin:1rem 0}.legal-page a,footer a{color:inherit;text-decoration:underline;text-underline-offset:.2em}.legal-notice{border:2px solid currentColor;padding:1rem;border-radius:12px}footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}footer a{display:inline-block;padding:.5rem}.skip-link{position:absolute;top:-100px;left:1rem;padding:1rem;background:white;color:black;z-index:1000}.skip-link:focus{top:1rem}

.site-ownership{max-width:1120px;margin:0 auto;padding:0 34px 16px;font-size:.875rem;line-height:1.6;color:var(--ink)}

#billing-profile{border:2px solid currentColor;border-radius:12px;padding:18px;margin:24px 0}.renewal-control{display:flex;align-items:center;gap:14px;min-height:44px}.renewal-control input{width:28px;height:28px;flex-shrink:0;accent-color:#174db3}

.legal-page input:not([type=checkbox]),.legal-page textarea{display:block;width:100%;box-sizing:border-box;font:inherit;padding:12px;border:2px solid var(--line);border-radius:8px;margin:8px 0 22px;background:var(--paper,#fff);color:var(--ink,#111)}.legal-page label{display:block;margin-top:18px}.legal-page .renewal-control{display:flex}.legal-page textarea:focus-visible{outline:3px solid #174db3;outline-offset:4px}header nav{display:flex;flex-wrap:wrap;gap:12px}

/* Match navigation links to the display control in both contrast modes. */
header{flex-wrap:wrap;gap:12px}
header .pricing-link,header button{display:inline-flex;align-items:center;justify-content:center;inline-size:9.5rem;min-block-size:64px;flex-shrink:0;padding:10px 16px;line-height:1.6;text-align:center;white-space:normal}
html header a.pricing-link,html[data-contrast=high] header a.pricing-link{text-decoration:none;color:var(--ink)}
html[data-contrast=high] header a.pricing-link{background:#fff;border-color:#222}

header #account-open{overflow-wrap:anywhere}
#learner-panel label{display:block;margin-top:18px}#learner-panel select{display:block}

/* Keep the account action at the right edge; preserve accessible wrapping. */
#account-open { margin-left:auto; }
#more-practice > summary { font-size:1.2rem; font-weight:700; padding:1rem; cursor:pointer; }
#course-work button, #conversation-choices button, #conversation-ratings button { margin:0.5rem; min-height:48px; }

/* One destination at a time; native hidden flags still enforce availability. */
.view-off{display:none!important}
.learning-navigation{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0 1.5rem}
.learning-navigation a{color:inherit;font-weight:700;padding:.65rem .8rem;border:2px solid transparent;border-radius:.5rem;text-underline-offset:.25em}
.learning-navigation a[aria-current="page"]{border-color:currentColor}
.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}
.activity-card{display:flex;flex-direction:column;gap:.6rem;border:2px solid currentColor;border-radius:1rem;padding:1.2rem;color:inherit;text-decoration:none;min-height:9rem}
.activity-card strong{font-size:1.15em;text-decoration:underline;text-underline-offset:.2em}
.activity-card span{line-height:1.5}
.activity-card:focus-visible,.learning-navigation a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
#view-title{scroll-margin-top:1rem}

#welcome-intro{padding-top:1rem;padding-bottom:1rem;margin-bottom:1rem}
#welcome-intro h1{font-size:clamp(2rem,4vw,3rem)}
#welcome-intro .hello-art{max-height:220px}
.signed-in-learning #welcome-intro{display:none}
.practice-settings{margin-top:1rem;margin-bottom:1rem}
.practice-settings summary{cursor:pointer;padding:.75rem 0;font-weight:700}

.session-stages{display:flex;flex-wrap:wrap;gap:1rem;padding-left:1.5rem}.session-stages li{padding:.4rem}.session-stages [aria-current="step"]{font-weight:800;outline:2px solid currentColor;border-radius:.3rem}
.session-phrase{border:1px solid currentColor;padding:1rem;margin:1rem 0;border-radius:.6rem}.session-phrase button,#session-detective button{margin:.4rem}
#learning-supports label{display:block;margin:1rem 0}
html[data-calm="true"] *,html[data-calm="true"] *::before,html[data-calm="true"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-calm="true"] .hello-art,html[data-calm="true"] .spark,html[data-calm="true"] .sun,html[data-calm="true"] #game-art,html[data-calm="true"] #roleplay-humor,html[data-calm="true"] #lexical-humor,html[data-calm="true"] #retell-humor{display:none}

.session-stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));list-style-position:inside;padding:0;gap:.75rem}
#learning-supports label:has(input[type="checkbox"]){display:flex;align-items:center;gap:1rem}
#learning-supports input[type="checkbox"]{width:1.5rem;height:1.5rem;min-width:1.5rem;margin:0;display:inline-block}

/* Captions remain reachable without covering the lesson controls. */
#audio-caption-panel { border: 2px solid currentColor; margin: 1rem auto; max-width: 68rem; }
#audio-caption-text { white-space: pre-wrap; overflow-wrap: anywhere; }
#audio-caption-text[lang="hi"] { font-size: 1.5em; line-height: 1.7; }
html[data-roman="false"] .roman { display:none; }
#check-question button { margin: .5rem; }

#audio-caption-panel { position:sticky; top:0; z-index:15; background:#fff; color:#111; max-height:40vh; overflow:auto; }

#learning-checks label, #learner-panel details label { display:block; margin-top:1rem; }
#learning-checks select { display:block; width:min(100%,38rem); margin:.5rem 0 1rem; }
#learning-checks input[type="checkbox"], #learner-panel details input[type="checkbox"] { display:inline-block; width:1.3rem; height:1.3rem; min-height:0; margin-right:.5rem; vertical-align:middle; }

/* Keyboard, switch targets and zoom/reflow: no fine pointer gestures required. */
textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #174db3;outline-offset:4px}
button,a,input,select,textarea,summary{touch-action:manipulation}
button,.pricing-link,.learning-navigation a,summary{min-height:44px;max-width:100%;overflow-wrap:anywhere;white-space:normal}
summary{padding:.65rem;cursor:pointer}
input[type=checkbox],input[type=radio]{width:24px;min-width:24px;height:24px;min-height:24px;vertical-align:middle}
label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:44px;padding:.5rem .25rem;cursor:pointer}
#course-options input[type=radio],#course-checks input[type=checkbox]{min-height:24px}
main,section,article,fieldset,.activity-card,.session-phrase{min-width:0}
fieldset{max-width:100%;margin-inline:0}
textarea{font:inherit;max-width:100%;line-height:1.6}
p,li,label,output{overflow-wrap:anywhere}
#experience-root label{display:block;margin-top:1rem}
#experience-root select{display:block;width:100%;max-width:38rem}
#experience-root button{vertical-align:top}
[lang=hi]{line-height:1.7}
@media(max-width:700px),(max-height:500px){#audio-caption-panel{position:static;max-height:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){button,a,input,select,textarea,summary{forced-color-adjust:auto}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid Highlight}.lesson.active,[aria-current=page],[aria-current=step]{border:2px solid Highlight}}

/* Hide the entire skip link even when enlarged text wraps onto several lines. */
.skip-link{top:1rem;max-width:calc(100% - 2rem);transform:translateY(calc(-100% - 2rem))}
.skip-link:focus{top:1rem;transform:none}

/* Optional reading spacing keeps joined Hindi letter forms intact. */
html[data-spacing="comfortable"] :is(p,li,label,summary,output,.hindi){line-height:1.9;word-spacing:.14em}
html[data-spacing="comfortable"] p+p{margin-block-start:1.5em}
html[data-spacing="comfortable"] [lang="hi"]{line-height:2;letter-spacing:normal}

/* Give both entry choices equal, keyboard-accessible targets at every text size. */
#public-start{min-inline-size:0}
.public-start-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:18px 0}
.public-start-actions > .secondary{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;inline-size:15rem;max-inline-size:100%;min-block-size:48px;margin:0;padding:13px 19px;font-family:inherit;font-size:.75rem;font-weight:600;line-height:1.6;text-align:center;white-space:normal;overflow-wrap:anywhere;text-decoration:none;color:var(--ink)}
html[data-contrast=high] .public-start-actions > a.secondary{color:#111;background:#fff;border-color:#222;text-decoration:none}
#public-sample,html[data-contrast=high] #public-sample{background:#000;color:#fff;border-color:#000}
/* 16px at the default size; rem preserves the learner's text-size preference. */
button,button.primary,button.secondary,button.quiet,button.text-button,[role="button"],input[type="button"],input[type="submit"],input[type="reset"],a.primary,a.secondary,a.quiet,.text-button,.public-start-actions > .secondary,.lesson strong,.lesson small,#welcome-intro .eyebrow{font-size:1rem}

/* Course guidance stays readable and scales with Display options. */
#course-level-check,#course-practice-note{font-size:.875rem!important}

/* Script learning is a separate, optional track; speaking routes keep written drills out. */
.speaking-roadmap{display:grid;gap:1.1rem;padding-left:1.4rem}.speaking-roadmap li>span{display:block;line-height:1.6;margin-top:.3rem}.speaking-roadmap a{font-weight:700;color:inherit}.optional-script-step{border-top:1px solid var(--line);padding-top:1rem}
#course-writing-tools{display:none}body[data-learning-route="learn-script"] #course-writing-tools,body[data-learning-route="literacy-practice"] #course-writing-tools{display:inline}
#script-track-intro .secondary,#script-next .secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px;max-width:100%;white-space:normal}

/* A single next action for learners; advanced choices remain in Parent area. */
.child-home{max-width:760px;margin:1rem auto 2rem;text-align:center}.child-home h1{font-family:inherit;font-size:clamp(1.7rem,4vw,2.5rem);letter-spacing:normal;line-height:1.25}.child-home .primary{min-height:56px;max-width:100%;font-size:1rem}.child-home .eyebrow{font-size:1rem}.child-home p{line-height:1.65}
#child-navigation{display:flex;flex-wrap:wrap;gap:1.2rem;padding:.75rem 0}#child-navigation a{display:inline-flex;align-items:center;justify-content:center;color:inherit;min-height:48px;width:15rem;max-width:100%;padding:13px 19px;font-size:1rem;line-height:1.6;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
.parent-navigation{margin-top:2rem}.parent-navigation summary{font-size:1rem;font-weight:700;cursor:pointer;padding:.4rem}.parent-account-tools{display:flex;gap:.8rem;flex-wrap:wrap;margin:1rem 0}.parent-account-tools>*{max-width:100%;white-space:normal}.parent-navigation .learning-navigation{margin:0}
.adventure-story{max-width:640px;margin:1rem auto}.adventure-story svg{display:block;max-width:100%;height:auto;max-height:240px;margin:0 auto}.adventure-story h3,.adventure-story p{overflow-wrap:anywhere}.adventure-story-scene{display:grid;place-items:center;min-height:100px}
body[data-learning-route="home"] #child-navigation a[href="#home"]{display:none}

/* Locked learning choices remain focusable so every learner can get help. */
.kids-activities .learning-navigation{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
.activity-link{position:relative;min-width:0}.activity-link a{display:flex;align-items:center;min-height:52px;padding:12px 16px;box-sizing:border-box;border:1px solid currentColor;border-radius:12px;text-decoration:none}
.activity-link a.activity-locked{color:#454545;background:#e5e5e5;cursor:help}
.unlock-hint{display:none;position:absolute;inset-inline:0;top:100%;z-index:30;box-sizing:border-box;max-height:50vh;overflow:auto;box-shadow:0 6px 18px #0003;padding:12px;border:2px solid currentColor;border-radius:8px;background:var(--bg,#fff);color:var(--ink,#111);margin-top:6px;overflow-wrap:anywhere}
.activity-link:has(.activity-locked):hover .unlock-hint,.activity-link:has(.activity-locked):focus-within .unlock-hint,.activity-link.show-hint .unlock-hint{display:block}
.activity-link a:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media(forced-colors:active){.activity-link a.activity-locked{color:GrayText;border-color:GrayText}}

.activity-link.hint-dismissed .unlock-hint{display:none!important}
body[data-learning-route="home"] #child-navigation #my-activities-link{display:inline-flex}

#path-activities .learning-navigation,#practice-activities .learning-navigation{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
#kids-activities .activity-link p{font-size:1rem;line-height:1.5;margin:8px 2px 16px}

/* Parent closure confirmations remain distinct at enlarged reading sizes. */
.account-closure-page h1{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.25;letter-spacing:normal}.account-closure-page #closure-form{display:grid;gap:1rem}.account-closure-page #closure-form label{display:block}.account-closure-page #closure-form input:not([type=checkbox]){width:100%;box-sizing:border-box}.account-closure-page #closure-form input[type=checkbox]{width:24px;height:24px;vertical-align:middle;margin-right:.5rem}.account-closure-page #closure-status{overflow-wrap:anywhere}

/* Picture-led learner choices; words and lock hints remain available. */
body{background:#f4f7ff}
#child-home{background:#e8f5ed;border:2px solid #86b89b;border-radius:28px;padding:2rem}
#child-home .primary{background:#21563e;color:#fff;border-color:#21563e;border-radius:18px;padding:1rem 1.5rem}
#child-navigation a{border:2px solid #a9bad4;border-radius:16px;background:#fff;gap:.65rem;font-weight:700;width:auto;flex:1 1 180px}
.choice-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.8rem;line-height:1.2;flex-shrink:0;margin-inline-end:.5rem}
#child-navigation .choice-icon{margin:0}
.activity-link a{background:#e9f2ff;color:#173759;border:2px solid #789ac1;min-height:100px;gap:.6rem;font-weight:700}
.activity-link:nth-child(4n+2) a{background:#f0eaff;border-color:#a38ac3;color:#38215b}
.activity-link:nth-child(4n+3) a{background:#fff3ce;border-color:#b99a44;color:#513b0d}
.activity-link:nth-child(4n) a{background:#e4f5ed;border-color:#77a78e;color:#1d4935}
.activity-link a.activity-locked{background:#e7e7e7;color:#454545;border-color:#777}
#experience-root{border-radius:24px;background:#fffdf5;border:2px solid #dfc987}
#adventure-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block:1.5rem}
#adventure-choices>h3,#adventure-choices>p{grid-column:1/-1;margin:0}
#adventure-choices .story-choice{width:100%;height:100%;margin:0;padding:12px;border:2px solid #9c82bc;border-radius:22px;background:#f3edff;color:#38215b;font-weight:700;white-space:normal;line-height:1.5;text-align:center}
#adventure-choices .story-choice:nth-of-type(2){background:#fff3ce;border-color:#b99a44;color:#513b0d}
#adventure-choices .story-choice:nth-of-type(3){background:#e4f3ff;border-color:#729cc2;color:#173759}
.kid-picture{pointer-events:none}.kid-picture svg{display:block;width:100%;height:auto;max-height:170px;margin:0 auto 12px}
#active-adventure{background:#fff;border:2px solid #8eabd0;border-radius:24px;padding:1.4rem;margin-block:1rem}
#active-adventure>.kid-picture{float:right;width:160px;max-width:40%;margin-left:1rem}
#active-adventure .session-phrase{clear:both;border-radius:18px;background:#edf6ff;padding:1.25rem;border:1px solid #94b5d8}
#active-adventure button[data-use-response]{background:#21563e;color:#fff;border:2px solid #21563e;font-weight:700;min-height:56px}
#active-adventure button{min-height:52px;margin:.4rem}
#experience-root details{margin-block:1rem}
button:hover:not(:disabled),.activity-link a:not(.activity-locked):hover{box-shadow:0 3px 0 #24324b33}
html[data-calm=true] .kid-picture{display:none}
html[data-calm=true] body{background:#fafafa}
html[data-calm=true] :is(#child-home,#experience-root,#active-adventure,.activity-link a,#adventure-choices .story-choice){background:#fff;color:#222;border-color:#777}
html[data-contrast=high] :is(#child-home,#experience-root,#active-adventure,#active-adventure .session-phrase,#child-navigation a,.activity-link a,#adventure-choices .story-choice){background:#fff;color:#111;border-color:#222}
html[data-contrast=high] #active-adventure button[data-use-response],html[data-contrast=high] #child-home .primary{background:#111;color:#fff;border-color:#111}
@media(max-width:600px){#adventure-choices{grid-template-columns:1fr}#adventure-choices .story-choice{display:flex;align-items:center;text-align:left;gap:12px;min-height:110px}#adventure-choices .kid-picture{width:100px;flex-shrink:0}#adventure-choices svg{margin:0}#child-home{padding:1.2rem}#active-adventure{padding:1rem}#active-adventure>.kid-picture{float:none;width:140px;max-width:100%;margin:auto}#active-adventure button{margin:.4rem 0;width:100%}}
/* Compact navigation leaves room for the activity itself on small screens. */
body[data-learning-route=adventures] #experience-root>h2:first-child{display:none}
@media(max-width:600px){#child-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#child-navigation a{width:100%;min-width:0;padding:12px 8px;flex-direction:column;gap:6px}#child-navigation .choice-icon{font-size:1.6rem}}

/* Feedback stays with each active adventure turn, before the story chooser. */
#adventure-feedback{clear:both;margin-top:1.5rem;padding-top:1rem;border-top:2px solid var(--line)}
#adventure-feedback button{min-height:48px}

/* Keep entry actions together; unlock tips overlay without changing card geometry. */
.header-entry-actions{display:flex;align-items:center;gap:12px;max-width:100%}
header .header-entry-actions > *{margin:0;min-width:0}
@media(max-width:700px){.header-entry-actions{width:100%;gap:8px}.header-entry-actions > .quiet{flex:1;inline-size:auto;padding:8px 5px}}
.activity-link:has(.activity-locked):hover,.activity-link:has(.activity-locked):focus-within,.activity-link.show-hint{z-index:31}

header > #account-open{margin-left:0}

/* Visible response numbers share one right-hand lane in every multi-phrase group. */
.numbered-phrase{position:relative;padding-right:5rem!important;min-height:4.5rem;box-sizing:border-box}
.phrase-number{position:absolute;right:.65rem;top:.65rem;display:flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:.15rem;border:2px solid #173f78;border-radius:.55rem;background:#173f78;color:#fff;font-size:2rem;font-weight:800;line-height:1.2;pointer-events:none}
html[data-contrast=high] .phrase-number{background:#000;color:#fff;border-color:#000}
@media(forced-colors:active){.phrase-number{background:Canvas;color:CanvasText;border-color:CanvasText}}
/* Keep the action buttons wide on phones; only the phrase shares the badge row. */
.session-phrase.numbered-phrase{padding-right:1.25rem!important}
.session-phrase.numbered-phrase>p:first-of-type{margin-right:3.5rem;min-height:3rem}
.session-phrase.numbered-phrase>.phrase-number+button{margin-right:3.5rem}

.adventure-phrase-line{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.adventure-phrase-line>span{flex:1 1 10rem;min-width:0}
#active-adventure .adventure-inline-hint{flex:0 1 auto;margin:0;max-width:100%}
.adventure-meaning{font-weight:600}

.word-glosses{display:flex;flex-wrap:wrap;gap:.8rem 1rem}
.word-gloss{display:inline-flex;flex-direction:column;gap:.3rem;max-width:12rem}
.word-gloss>small{font-size:.875rem;color:var(--ink);line-height:1.4}
