:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203830;background:#f6f8f6;font-size:16px;--green:#164d3d;--lime:#dbf578;--muted:#62716a;--line:#dae3dc}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:5px}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button{border:0;border-radius:12px;padding:13px 20px;background:var(--green);color:white;font-weight:650;transition:transform .15s,background .15s}button:hover:not(:disabled){filter:brightness(1.08)}button:active:not(:disabled){transform:translateY(2px)}a{color:var(--green)}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{padding:36px 22px;background:white;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-size:26px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:11px}.brandmark{display:grid;place-items:center;background:var(--green);color:var(--lime);width:39px;height:43px;border-radius:14px 14px 14px 3px;font-size:24px}.brand span:last-child{font-weight:400}.subbrand{font-size:12px;letter-spacing:2px;color:var(--muted);margin:13px 0 42px 1px}.nav{display:grid;gap:9px}.nav button{background:transparent;color:var(--muted);text-align:left;padding:15px;display:flex;align-items:center;gap:14px}.nav button.active{background:#eaf3e8;color:var(--green)}.nav b{font-size:21px;width:24px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:14px;line-height:1.6}.avatar{background:#f0dfbd;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;margin-right:8px;color:#684a1c;font-weight:bold}.main{padding:30px 44px 60px;max-width:1450px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:35px}.breadcrumb{font-size:14px;color:var(--muted)}.metrics{display:flex;gap:22px;font-size:14px}.metrics strong{color:var(--green)}.eyebrow{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;font-weight:750;color:#607266}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px;gap:20px}h1{font-size:clamp(28px,3vw,38px);letter-spacing:-1.3px;margin:8px 0 12px;line-height:1.2}h2{font-size:24px;letter-spacing:-.6px;margin:0 0 12px}h3{font-size:18px;margin:0 0 10px}p{line-height:1.65;margin:8px 0 16px}.muted{color:var(--muted)}.pill{display:inline-block;border:1px solid var(--line);border-radius:100px;padding:7px 12px;font-size:13px;font-weight:600;background:white}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:26px}.hero{background:var(--green);color:white;border-radius:22px;padding:30px;position:relative;overflow:hidden;min-height:232px}.hero .eyebrow{color:var(--lime)}.hero h2{font-size:29px;max-width:450px;line-height:1.2;margin-top:17px}.hero p{color:#d4e6d8;max-width:420px;font-size:15px}.hero button{background:var(--lime);color:#243b21}.hero .tag{position:absolute;right:25px;top:27px;background:#ffffff12;color:#e2efdb;border:1px solid #ffffff33}.section-label{display:flex;justify-content:space-between;align-items:center;margin:31px 0 18px}.section-label h2{font-size:20px;margin:0}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px}.stack{display:grid;gap:20px;align-content:start}.daily{background:#edf2df}.daily h3{margin-bottom:22px}.goal-number{font-size:38px;letter-spacing:-2px;font-weight:750}.goal-number small{font-size:16px;letter-spacing:0;color:var(--muted);font-weight:400}progress{appearance:none;width:100%;height:9px;border:0;border-radius:20px;overflow:hidden;background:#dce4d7}progress::-webkit-progress-bar{background:#dce4d7}progress::-webkit-progress-value{background:#72a557;border-radius:20px}progress::-moz-progress-bar{background:#72a557}.week{display:flex;justify-content:space-between;margin-top:20px}.day{font-size:12px;text-align:center;color:var(--muted)}.day i{font-style:normal;display:grid;place-items:center;margin-bottom:6px;border-radius:50%;width:24px;height:24px;background:#dbe5d2}.day.done i{background:var(--green);color:white}.lesson{display:flex;gap:18px;align-items:center;margin-bottom:12px;padding:20px;background:white;border:1px solid var(--line);border-radius:17px}.lesson-icon{width:52px;height:52px;flex-shrink:0;border-radius:15px;display:grid;place-items:center;background:#edf3e7;color:var(--green);font-size:23px;font-weight:700}.lesson:nth-child(3n) .lesson-icon{background:#f5edda;color:#8c6521}.lesson h3{font-size:17px;margin:0 0 6px}.lesson p{font-size:14px;margin:0;color:var(--muted)}.lesson-info{flex:1}.lesson button{background:#edf3e7;color:var(--green);padding:10px 15px}.mini{font-size:13px;color:var(--muted)}.dialect{background:#f7eddd;border-color:#e9ddc5}.dialect blockquote{margin:18px 0;font-size:25px;letter-spacing:-.6px;color:#654b26;font-weight:650}.secondary{background:white;color:var(--green);border:1px solid var(--line)}.ghost{background:transparent;color:var(--green);padding:8px 0}.wide{width:100%}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.filter-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}.filter-row button{background:white;color:var(--muted);border:1px solid var(--line);padding:9px 15px}.filter-row button.active{background:var(--green);color:white}.exercise{max-width:760px;margin:0 auto}.exercise-head{display:flex;align-items:center;gap:20px;margin-bottom:35px}.exercise-head progress{flex:1}.question-card{padding:36px;background:white;border:1px solid var(--line);border-radius:22px}.question-card h2{font-size:25px;line-height:1.55;margin:23px 0}.instruction{color:var(--muted);font-size:15px}.options{display:grid;gap:12px;margin:25px 0}.option{padding:17px 20px;border:2px solid var(--line);color:#263c31;background:white;text-align:left;font-weight:500;display:flex;align-items:center;gap:15px}.option.selected{border-color:var(--green);background:#edf5e8}.option.correct{border-color:#4f8534;background:#eaf5e2}.option.wrong{border-color:#bb624b;background:#fff0e9}.option small{display:grid;place-items:center;flex-shrink:0;border:1px solid var(--line);width:26px;height:26px;border-radius:7px;font-size:12px}.feedback{padding:20px;border-radius:12px;background:#eef4e5;margin-top:22px;line-height:1.6}.feedback.wrong{background:#fff0e9}.feedback h3{margin-bottom:8px}.feedback p{margin:0}.actions{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:25px}.field{display:grid;gap:9px;margin:20px 0;font-size:14px;font-weight:650}input,select,textarea{border:1px solid #b9cabe;background:white;border-radius:10px;padding:13px;color:#203830;width:100%}textarea{min-height:190px;resize:vertical;line-height:1.7}.notice{padding:15px 18px;border-radius:12px;background:#edf2df;color:#445539;font-size:14px;line-height:1.6;margin:18px 0}.error{background:#fff0e9;color:#8a3628}.summary{text-align:center;padding:48px 30px}.summary .score{font-size:64px;font-weight:800;color:var(--green);letter-spacing:-3px}.split-stats{display:flex;justify-content:center;gap:40px;margin:28px 0}.split-stats strong{display:block;font-size:25px}.login{max-width:440px;margin:12vh auto;padding:32px}.login h1{margin-top:30px}.loading{padding:40px}.text-link{background:none;color:var(--green);padding:8px;text-decoration:underline}.skill-row{margin:18px 0}.skill-row>div{display:flex;justify-content:space-between;margin-bottom:6px;font-size:14px}.model{white-space:pre-wrap;line-height:1.8}.rubric{display:grid;gap:12px;margin:20px 0}.rubric label{display:flex;gap:12px;align-items:start;line-height:1.5}.rubric input{width:20px;min-width:20px;height:20px}.empty{text-align:center;padding:40px}.saved-draft{padding:20px;border-top:1px solid var(--line)}.saved-draft p{white-space:pre-wrap}.word-count{font-size:13px;text-align:right;color:var(--muted)}.footer-note{font-size:13px;color:var(--muted);line-height:1.7;margin-top:25px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#203830;color:white;border-radius:12px;padding:15px 25px;z-index:20;max-width:90vw}.mobile-brand{display:none}.skill-chip{display:inline-block;padding:4px 8px;font-size:12px;border-radius:5px;background:#edf3e7;margin-bottom:12px}.nowrap{white-space:nowrap}@media(max-width:1100px){.main{padding:25px}.dashboard{grid-template-columns:1fr 250px}.sidebar{width:210px}.shell{grid-template-columns:210px 1fr}.hero .tag{display:none}}@media(max-width:850px){.shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line)}.subbrand,.sidebar-bottom{display:none}.nav{display:flex;overflow-x:auto;gap:6px;margin-top:18px}.nav button{white-space:nowrap;padding:10px 13px;font-size:14px}.nav b{display:none}.brand{font-size:23px}.brandmark{width:32px;height:35px;font-size:20px}.main{padding:24px 20px}.topbar{margin-bottom:24px;padding-bottom:20px}.dashboard{grid-template-columns:1fr}.stack{grid-template-columns:1fr 1fr}.stack .card:last-child{grid-column:1/-1}.grid{grid-template-columns:1fr}.heading{align-items:start}.heading>.pill{display:none}.question-card{padding:24px}.metrics{gap:13px}.breadcrumb{font-size:13px}.hero{padding:25px}.lesson{padding:17px;gap:12px}.lesson-icon{width:44px;height:44px}.lesson button{padding:10px}}@media(max-width:480px){.stack{grid-template-columns:1fr}.topbar{flex-wrap:wrap;gap:12px}.actions{flex-wrap:wrap}.actions button{flex:1}.question-card{padding:20px}.question-card h2{font-size:22px}.lesson-icon{display:none}.hero h2{font-size:27px}.metrics{width:100%;justify-content:space-between}.login{margin:5vh 16px}.nav{margin-right:-20px}.summary{padding:30px 18px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* v0.2: word help, course preparation and local feedback. */
.brandmark{object-fit:cover;border-radius:12px;background:none;flex-shrink:0;width:44px;height:44px}.nav-entry{display:flex;align-items:center;gap:2px}.nav-entry>[data-nav]{flex:1;min-width:0;padding:13px 8px;font-size:14px;gap:8px}.nav .nav-help{font-size:12px;flex:0 0 26px;padding:6px 2px;justify-content:center;border-radius:6px;color:#657367}.gloss{border-bottom:1px dotted #8a9f89;cursor:help;text-decoration:none;box-decoration-break:clone;-webkit-box-decoration-break:clone}.gloss:hover,.gloss:focus{background:#e1eecb;color:#163f30;border-radius:2px}.hero .gloss{border-bottom-color:#89b08f}.hero .gloss:hover{background:#d8eead;color:#163f30}.word-dialog{max-width:min(440px,90vw);border:1px solid var(--line);border-radius:18px;padding:28px;color:var(--green);box-shadow:0 18px 90px #163c3040}.word-dialog::backdrop{background:#12332955}.word-dialog p{font-size:20px;line-height:1.5}.word-dialog button{margin-top:10px}.translation{margin:12px 0;font-size:14px;color:#536256}.translation summary{display:inline-block;cursor:pointer;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:#f7faf5;list-style:none}.translation p{padding:12px;border-left:3px solid #b5cfa7;font-size:15px}.teaching-card{margin-top:20px;border-left:5px solid #bb9739}.teaching-card h3{margin-top:12px}.teaching-card .actions{margin-top:14px;flex-wrap:wrap}.local-feedback-actions{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:22px 0}.llm-feedback{margin-top:22px;background:#f5f8f2;padding:22px;border-radius:14px}.score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0;font-size:14px}.score-grid strong{display:block;font-size:25px;margin-top:6px}.correction{padding:15px 0;border-top:1px solid var(--line)}.correction del{color:#96402d}.correction ins{color:#225d2f;text-decoration:none}.correction p{overflow-wrap:anywhere}.model{overflow-wrap:anywhere}#course-settings .rubric input{vertical-align:middle;width:20px;height:20px}details>summary{cursor:pointer;line-height:1.6}.question-card h2{line-height:1.8}.nav{gap:5px}.main .gloss{font:inherit}@media(max-width:850px){.nav-entry{flex-shrink:0}.nav-entry>[data-nav]{padding:10px}.nav .nav-help{padding:5px;width:26px;flex-basis:26px}.nav{gap:10px}.score-grid{grid-template-columns:1fr}.score-grid div{display:flex;justify-content:space-between;align-items:center}.score-grid strong{margin:0}}

/* Audio practice */
audio{width:100%;max-width:100%;margin:12px 0}.audio-panel{padding:16px;border:1px solid var(--line,#d4ded6);border-radius:12px;margin:16px 0}.audio-panel details{margin-top:12px}.card>label{display:block;margin:12px 0}.nav-entry button:first-child{min-width:0}.nav-entry{min-width:0}

.oral-target{font-size:1.4rem;line-height:1.5}.oral-diff{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.oral-match,.oral-change{padding:6px 9px;border-radius:6px}.oral-match{background:#d7efe1;color:#123f28}.oral-change{background:#fff0cd;color:#654400}

/* Guided path: completed sessions remain replayable; locked sessions stay visible. */
.path-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1.5rem}.path-nodes{display:grid;gap:.6rem}.path-nodes button{text-align:left;width:100%;white-space:normal}.path-locked{opacity:.65}.path-block h2{font-size:1.25rem}.path-blocks button:disabled{cursor:not-allowed;opacity:.65}#path-answer,#path-correction{width:100%}.exercise details{margin:1rem 0}.exercise .notice{line-height:1.65}

.token-bank{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.token-bank button:disabled{opacity:.35}.task-cue{border-left:3px solid var(--green,#164d3d)}input[readonly]{opacity:1;color:inherit;background:#f2f5ef}

/* Account-saved dark theme. */
:root[data-theme="dark"]{color-scheme:dark;background:#111b19;color:#e0eae4;--green:#8fd4ae;--lime:#d5ee8a;--muted:#a9bdb0;--line:#3c5148}
[data-theme="dark"] :is(.sidebar,.card,.lesson,.question-card,.pill,.secondary,.option,.filter-row button,.word-dialog,input,select,textarea){background:#1c2924;color:#e0eae4}
[data-theme="dark"] button{background:#346b50;color:#f2faf5}
[data-theme="dark"] :is(.ghost,.text-link,.nav button){background:transparent;color:var(--green)}
[data-theme="dark"] :is(.notice,.daily,.feedback,.llm-feedback,.skill-chip,.lesson-icon,.option.selected,.nav button.active,.translation summary,input[readonly]){background:#293d30;color:#deebdc}
[data-theme="dark"] :is(.feedback.wrong,.option.wrong,.error){background:#492c29;color:#ffdbce}
[data-theme="dark"] :is(.option.correct,.oral-match){background:#244c36;color:#c8f5d8}
[data-theme="dark"] .oral-change{background:#514421;color:#ffe7ab}
[data-theme="dark"] .hero{background:#234b39;color:#f2faf5}
[data-theme="dark"] .hero button{background:var(--lime);color:#20351e}
[data-theme="dark"] :is(.translation,.eyebrow){color:#b8cbbb}
[data-theme="dark"] .dialect{background:#3b3425;border-color:#66583e}
[data-theme="dark"] .dialect blockquote{color:#f3d7a5}
[data-theme="dark"] .gloss:hover{background:#345741;color:#fff}
[data-theme="dark"] .correction del{color:#ffb7a5}
[data-theme="dark"] .correction ins{color:#a5e9b6}
.oral-live-words{display:flex;flex-wrap:wrap;gap:.4rem;font-size:1.3rem;margin:1rem 0}.oral-live-words span{padding:.2rem .4rem;border-bottom:2px solid var(--line);border-radius:5px}.oral-live-words .heard{background:#d7efe1;color:#123f28;border-color:#468c59}[data-theme="dark"] .oral-live-words .heard{background:#244c36;color:#c8f5d8}.live-option{display:flex!important;align-items:center;gap:.6rem}.live-option input{width:auto}

/* Wortspur preview: connected stops, with labels and status independent of colour. */
:root{--trail-ink:#244f3c;--trail-paper:#fbfaf3;--trail-tint:#edf3e5;--trail-gold:#f4c565}
.trail-welcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,38%);align-items:center;gap:20px;padding:25px 30px;background:var(--trail-tint);border:1px solid var(--line);border-radius:24px;margin-bottom:18px;overflow:hidden}
.trail-welcome h2{font-size:clamp(25px,3vw,35px);line-height:1.18;margin:12px 0}.trail-welcome p{max-width:480px}.trail-welcome img{width:100%;height:auto;object-fit:contain}.trail-badge{display:inline-block;color:var(--trail-ink);font-weight:700;font-size:13px;padding:8px 12px;border-radius:20px;background:#fff8dd}
.cast-preview{margin-bottom:28px}.cast-audio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px}.cast-audio>div{min-width:0}.cast-preview summary{font-weight:650}
.programme-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:30px 0}.programme-lane{min-width:0}.programme-lane>h2{font-size:20px;line-height:1.4;min-height:56px}.programme-lane .trail-block{position:relative;margin-bottom:28px;background:var(--trail-paper)}.programme-lane .trail-block+.trail-block:before{content:'↓';position:absolute;top:-30px;left:50%;font-size:24px;color:var(--muted)}
.session-trail{position:relative;list-style:none;padding:0;margin:20px 0;isolation:isolate}.trail-line{position:absolute;top:0;left:0;width:160px;height:640px;z-index:-1;overflow:visible}.trail-line path{fill:none;stroke:var(--line);stroke-width:9;stroke-linecap:round;stroke-dasharray:3 14}
.trail-stop{height:80px;margin:0;padding-left:0}.trail-step{display:flex;align-items:center;gap:12px;width:100%;height:80px;padding:10px 4px;background:transparent;color:inherit;text-align:left;font-weight:600;border-radius:15px}.trail-marker{flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:#e2e8dd;border:3px solid var(--trail-paper);box-shadow:0 4px 0 #cbd6c5;display:grid;place-items:center;font-size:21px;font-weight:800;color:#596958}.trail-caption{font-size:14px;line-height:1.25;min-width:0}.trail-caption small{display:block;font-size:11px;font-weight:450;margin-top:5px;color:var(--muted)}.trail-stop.current .trail-marker{background:var(--trail-gold);color:#433214;box-shadow:0 4px 0 #cb9636}.trail-stop.current .trail-caption{color:var(--trail-ink);font-weight:800}.trail-stop.done .trail-marker{background:#23724b;color:#fff;box-shadow:0 4px 0 #174e33}.trail-stop.locked .trail-step{opacity:.72}.trail-step:focus-visible{outline:3px solid var(--green);background:var(--trail-tint)}
.trail-blocks{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.option.selected{outline:3px solid var(--green);outline-offset:0}.grammar-help summary{font-weight:700}.exercise .model-answer{border-left:4px solid #c39328}
[data-theme="dark"]{--trail-ink:#e2f4da;--trail-paper:#1c2924;--trail-tint:#263b30;--trail-gold:#ddb568}[data-theme="dark"] .trail-step{background:transparent;color:inherit}[data-theme="dark"] .trail-marker{background:#3d5147;color:#d6e3da;box-shadow:0 4px 0 #17251e}[data-theme="dark"] .trail-badge{background:#4d432c;color:#fbe6b8}[data-theme="dark"] .trail-stop.done .trail-marker{background:#306c4e}
@media(max-width:1150px){.programme-lanes{grid-template-columns:1fr}.programme-lane>h2{min-height:0}.programme-lane .trail-block{max-width:660px}.cast-audio{grid-template-columns:1fr}}
@media(max-width:580px){.trail-welcome{padding:20px;grid-template-columns:1fr;gap:0}.trail-welcome img{width:210px;justify-self:center}.trail-welcome h2{font-size:28px}.programme-lanes{gap:10px}.trail-block{padding:18px}.trail-caption{font-size:13px}.trail-caption small{font-size:11px}.trail-step{gap:8px}.trail-blocks{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

.trail-stop:nth-of-type(4n+2),.trail-stop:nth-of-type(4n+4){padding-left:36px}.trail-stop:nth-of-type(4n+3){padding-left:64px}

/* Readiness is developer-only; story effort labels are useful to every learner. */
.dev-audio-mark{display:inline-flex;align-items:center;justify-content:center;margin-inline-start:.35em;min-width:1.05em;font-size:1rem;font-weight:850;line-height:1.1;border-radius:50%;vertical-align:middle}
.dev-audio-mark.missing{color:#b42318;background:#fff1ee}
.dev-audio-mark.unknown{color:#635c50;background:#f1eee8}
[data-theme="dark"] .dev-audio-mark.missing{color:#ffb4aa;background:#50221f}
[data-theme="dark"] .dev-audio-mark.unknown{color:#dfd7c9;background:#39372f}
.story-effort{display:inline-block!important;max-width:100%;margin:.45rem 0;padding:.3rem .65rem;border:1px solid #b69b64;border-radius:.55rem;background:#fff6df;color:#66461c;font-size:.78rem!important;font-weight:700;line-height:1.5}
.story-effort-large{border-inline-start:4px solid #ad642b;background:#fff0d5;color:#603810}
[data-theme="dark"] .story-effort{background:#392f20;border-color:#917644;color:#ffe0a8}
.dev-block>.story-effort{flex-basis:100%;width:fit-content}

.dev-audio-mark.stale{color:#8f5100;background:#fff1cf}
[data-theme="dark"] .dev-audio-mark.stale{color:#ffd393;background:#48341a}

/* Integrated speaking/writing tasks: keep controls usable on narrow screens. */
.practice textarea{width:100%;box-sizing:border-box;min-height:8rem;resize:vertical}
.practice fieldset{min-width:0;margin-block:1rem;padding:1rem;border:1px solid var(--line);border-radius:12px}
.practice audio{display:block;width:100%;margin-block:.75rem}
.practice audio[hidden]{display:none}
.practice blockquote,.practice .feedback p{overflow-wrap:anywhere;white-space:pre-wrap}

.practice input[type="checkbox"]{width:1.1rem;min-width:1.1rem;margin-right:.5rem}

.oral-live-words .heard-approx{background:#fff1b8;color:#594300;border-bottom:2px dotted currentColor;border-radius:4px}

/* Offline orientation and sequence exercises. */
.outing-map{margin:1rem 0}.outing-map svg{display:block;width:100%;max-width:700px;margin:auto}.park-ground{fill:#e4f0df;stroke:#aec7a4}.map-point rect{fill:#fff;stroke:#527c61;stroke-width:2}.map-point.selected rect{fill:#d5ee8a;stroke:#164d3d;stroke-width:4}.map-point{cursor:pointer}.map-point:focus rect{stroke:#795700;stroke-width:5}.map-point text{fill:#183e29;font-size:16px;font-weight:650}.map-point .map-small{font-size:12px;font-weight:400}.north-line{fill:none;stroke:#28593b;stroke-width:4}.map-direction{fill:#183e29;font-size:18px}.outing-activity fieldset{min-width:0;border:1px solid var(--line);border-radius:12px;padding:1rem;margin-block:1rem}.route-options{display:grid;gap:.6rem}.route-options button{text-align:left}.route-order{padding-left:1.5rem}.route-order li{padding:.7rem;border-bottom:1px solid var(--line)}.route-order .actions{margin:.4rem 0}.route-order button{padding:8px 12px}.outing-map [aria-disabled="true"]{cursor:default}

.practice-coach{margin-block:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.practice-coach del{background:#fde2dd;color:#762719}.practice-coach ins{background:#e1f2d2;color:#224720;text-decoration:none}.practice-coach blockquote{margin:.5rem 0;padding-left:1rem;border-left:3px solid var(--line)}

/* Clear comparison and explicit model uncertainty, in both themes. */
.coach-points{list-style:none;padding:0;display:grid;gap:.65rem}.coach-points>li{border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem}.coach-point-heading{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;flex-wrap:wrap}.coach-status{font-size:.85rem;font-weight:600}.coach-field-label{display:block;font-size:.78rem;font-weight:700;margin-bottom:.3rem}.coach-comparison{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.coach-comparison>div{padding:.75rem;border:1px solid var(--line);border-radius:8px;min-width:0}.coach-comparison p{margin:0;white-space:pre-wrap;line-height:1.75}.coach-explanation{font-size:.9rem;margin-top:.5rem}.coach-explanation>summary{display:inline;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.practice-coach-result .correction{padding:1rem 0}.practice-coach-result .correction del{background:#fde2dd;color:#762719;text-decoration-thickness:1px}.practice-coach-result .correction ins{background:#e1f2d2;color:#224720;text-decoration:none;font-weight:600}.practice-coach-result blockquote{white-space:pre-wrap;margin-bottom:.3rem}.coach-style{margin-block:1rem}
[data-theme="dark"] .practice-coach-result .correction del{background:#512c29;color:#ffe1d9}
[data-theme="dark"] .practice-coach-result .correction ins{background:#244b36;color:#d4ffe0}
@media(max-width:620px){.coach-comparison{grid-template-columns:1fr}.coach-point-heading{display:block}.coach-status{display:block;margin-top:.25rem}}
/* v0.10.12: calm exercise surfaces and answer tiles. */
[data-session-celebration] .art-celebration {position:relative;inset:auto;box-shadow:none;margin:0 auto;max-width:240px;width:100%;z-index:auto}
.token-answer {min-height:64px;padding:12px;border:2px dashed var(--border,#87938c);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 20px}
.sentence-tile {display:inline-flex;gap:2px;margin:3px}.sentence-tile button {cursor:grab}.sidebar-bottom .nowrap{display:none}
html {overflow-anchor:none;scrollbar-gutter:stable}
.sidebar-bottom p:first-child {display:flex;flex-wrap:wrap;gap:8px 14px}
.table-scroll{overflow-x:auto}.table-scroll table{width:100%;border-collapse:collapse}.table-scroll th,.table-scroll td{padding:10px;border-bottom:1px solid var(--border,#ddd);text-align:left}
