/* KeyAtlas v40 · Terracotta. Shared skin, existing content and measurement rules retained. */
:root{--page:#f6f1eb;--surface:#fffdf9;--soft:#f0e5da;--ink:#302823;--muted:#746255;--line:#ddcfc1;--accent:#efd0b9;--focus:#a64932;--action:#a64932;--action-ink:#fffaf4;--brand:#a64932;--gold:#946838;--bg:var(--page);--green:#eed2b8;--panel-radius:20px;--panel-shadow:0 4px 0 #51322212;color-scheme:light}
body[data-theme=dark],:root[data-theme=dark]{--page:#211f1c;--surface:#2e2b27;--soft:#3a332c;--ink:#fff4e6;--muted:#d1bdac;--line:#68564a;--accent:#a75338;--focus:#f1b38e;--action:#e8a17a;--action-ink:#291a13;--brand:#efb08a;--gold:#e7be82;--bg:var(--page);--green:#9b563b;--panel-shadow:0 4px 0 #0003;color-scheme:dark}
body{background:var(--page);color:var(--ink)}h1 em,.brand-atlas{font-family:var(--font-ui);font-style:normal;font-weight:800}.site-header{background:var(--surface);max-width:none;border-bottom:1px solid var(--line);box-shadow:0 1px 0 #fff5}.site-header .logo b{background:var(--action);color:var(--action-ink);border-color:var(--action);box-shadow:0 3px 0 #713522}.site-header .brand-atlas{color:var(--brand);font-size:23px}@media(min-width:1181px){.site-header #primaryNav{background:transparent;border-color:transparent}}.site-header #primaryNav>button.active,.site-header #primaryNav summary[data-active=true]{background:var(--soft);color:var(--brand);border-color:var(--line)}.site-header .beta-label{font-size:8px}.primary,button.primary{box-shadow:0 3px 0 #713522}button.primary:active{transform:translateY(2px);box-shadow:0 1px 0 #713522}button{touch-action:manipulation}button:disabled:active{transform:none}.header-popup{box-shadow:0 14px 30px #35241422}.home-actions{gap:10px}.home-actions button:not(.primary){background:var(--surface)}
#test>.intro{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:32px;align-items:center;margin-bottom:26px}#test>.intro h1{font-size:clamp(30px,3.8vw,45px);letter-spacing:-.05em;max-width:23ch;margin:12px 0 14px}#test>.intro p{font-size:14px;max-width:62ch}.atlas-key-art{height:214px;border:1px solid #ddc4ae;border-radius:28px;background:#eddfd1;position:relative;overflow:hidden;display:grid;place-items:center;perspective:850px}.atlas-key-cluster{display:flex;align-items:center;gap:14px;transform:rotateX(12deg) rotateZ(-9deg);position:relative;z-index:1}.atlas-hero-key{position:relative;display:grid;place-items:center;width:71px;height:83px;background:linear-gradient(#fffefa,#f3e9de);color:#79614e;border:1px solid #d2baa5;border-radius:14px;font:30px var(--font-practice);box-shadow:0 8px 0 #bfa38c,0 16px 20px #633a2625;transition:transform .2s,box-shadow .2s}.atlas-hero-key i{position:absolute;bottom:11px;width:12px;border-bottom:2px solid #c7af98}.atlas-hero-key.atlas-clay{transform:translateY(-15px);background:linear-gradient(#ba6447,#a34b33);border-color:#b56e50;color:#fff7ed;box-shadow:0 8px 0 #713522,0 20px 24px #633a2636}.atlas-hero-key.atlas-clay i{border-color:#dca68c}.atlas-hero-key.atlas-sage{width:52px;height:64px;transform:translateY(16px);background:#e6ead8;border-color:#c4ccb0;color:#687650;box-shadow:0 6px 0 #aab598,0 12px 18px #633a2615}.atlas-key-art:hover .atlas-clay{transform:translateY(-10px);box-shadow:0 3px 0 #713522,0 10px 18px #633a2625}.atlas-orbit{width:250px;height:250px;border:1px solid #d7c0aa;position:absolute;border-radius:50%;left:-90px;bottom:-110px}.atlas-orbit:after{content:'';position:absolute;inset:22px;border:1px solid #d7c0aa;border-radius:50%}
.atlas-practice-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 26px}.atlas-practice-modes button{display:flex;align-items:center;gap:13px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 3px 0 #9b73531c;transition:transform .15s,border-color .15s}.atlas-practice-modes button:hover{transform:translateY(-2px);border-color:var(--brand);background:var(--surface)}.atlas-practice-modes b{font-size:14px;display:block}.atlas-practice-modes small{font-size:11px;display:block;margin-top:3px;color:var(--muted)}.atlas-mode-icon{display:grid;place-items:center;width:38px;height:38px;background:var(--soft);border:1px solid var(--line);border-radius:11px;color:var(--brand);font-size:22px;flex-shrink:0}#atlasQuickRush{border-color:var(--brand)}
#typingWorkspace{border-color:var(--line);background:var(--surface);box-shadow:0 5px 0 #b99a7d22,0 14px 40px #49322208}#typingWorkspace>.toolbar{background:var(--surface)}#typingWorkspace>.stats{background:var(--surface);border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0}#typingWorkspace>.stats .stat{padding:21px 18px;border-right:1px solid var(--line)}#typingWorkspace>.stats .stat:last-child{border:0}#typingWorkspace>.stats strong{font:500 38px/1.4 var(--font-practice);color:var(--ink)}#typingWorkspace>.stats span{font-size:11px;letter-spacing:.07em}#typingWorkspace #passage{background:#2e2b28;color:#c6b9ab;border:1px solid #68564a;border-radius:14px;padding:22px 25px;line-height:1.95;margin-top:22px;box-shadow:inset 0 1px 0 #ffffff08}#typingWorkspace #passage .ok{color:#b9e4c9;background:transparent}#typingWorkspace #passage .bad{color:#ffd0c5;background:#743b34}#typingWorkspace #passage .cursor{border-color:#f0ad88}#typingWorkspace #input{background:var(--page);border-color:var(--line);color:var(--ink)}#typingWorkspace #input:focus-visible{outline-color:var(--focus)}.input-feedback{font-size:12px}.keyboard{max-width:860px;padding:23px;background:var(--soft);border:1px solid var(--line);border-radius:20px;box-shadow:0 5px 0 #b9a48f;perspective:900px}.keyboard .row{gap:7px;margin:8px 0}.keyboard .key{display:grid;place-items:center;min-width:0;flex:0 1 48px;min-height:43px;padding:7px 5px;background:linear-gradient(#fffdf7,#f4e9dc);border:1px solid #d6bfaa;box-shadow:0 4px 0 #baa28a,0 7px 9px #69482c18;color:#745b49;font:14px var(--font-practice);transition:transform .06s,box-shadow .06s}.keyboard .key.next,.atlas-rush-keyboard .key.next{background:linear-gradient(#bd684a,#a44b32);border-color:#d3906d;color:#fff6e8;box-shadow:0 4px 0 #713622,0 7px 12px #a1543530}.keyboard .key.atlas-pressed,.atlas-rush-keyboard .key.atlas-pressed{transform:translateY(3px);background:#d4e7cf;color:#36533a;box-shadow:0 1px 0 #89a482}.keyboard .row:last-child .key{flex-basis:270px}.learning-plan,.card,#textPoolPanel,#game-grid .game-card,#rushCard{background:var(--surface);border-color:var(--line);box-shadow:var(--panel-shadow)}.learning-plan>.route-controls,#textPoolPanel>.goal-controls{background:var(--soft)}.home-guide-links a{background:var(--surface);border-color:var(--line)}.course-key,.course-key.home-key{background:var(--soft);color:var(--ink);border-color:var(--line)}.result-headline,.result-score,.result-metrics>div{background:var(--soft);border-color:var(--line)}.result-headline strong,.result-metrics dd{color:var(--brand)}.result-metrics dd{font-family:var(--font-practice)}dialog{background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 90px #30271f40}dialog::backdrop{background:#30271f80;backdrop-filter:blur(5px)}#rushPrepValue,#studyPrepValue{color:var(--brand)}
/* Arcade surface: existing engine, new presentation. */
#rushArena{padding:0;overflow:hidden;background:#2e2b28;color:#fff4e6;border-color:#68564a;box-shadow:0 5px 0 #b9a48f}.rush-heading{background:var(--surface);padding:20px 24px;margin:0}#rushScope{padding:0 24px;color:#d7c0ad;font-size:12px}.rush-stats{padding:16px 24px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:24px;background:var(--surface);color:var(--ink);border-block:1px solid var(--line)}.rush-stats strong{font:500 40px var(--font-practice);display:block}.rush-stats span{font-size:12px;color:var(--muted)}.atlas-live-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:18px 24px;background:var(--surface);color:var(--ink);gap:15px}.atlas-live-metrics>div{padding-right:14px;border-right:1px solid var(--line)}.atlas-live-metrics>div:last-child{border:0}.atlas-live-metrics span{font-size:11px;display:block;color:var(--muted)}.atlas-live-metrics strong{font:500 29px/1.6 var(--font-practice);color:var(--ink)}.atlas-time-track{height:4px;background:#594637}.atlas-time-track i{display:block;background:#e4a07a;height:100%;width:50%;transition:width .08s linear}#rushFeedback{padding:8px 24px;min-height:44px;margin:0;font-size:13px;color:#d9c1ad}#rushFeedback.rush-correct{background:#294c3c;color:#c3f0d6}#rushFeedback.rush-wrong{background:#6d3831;color:#ffddd1}#rushQueue{margin:0 24px 18px;gap:9px;display:flex;flex-wrap:wrap;padding:0;list-style:none}#rushQueue li{padding:8px 12px;border:1px solid #756050;border-radius:9px;color:#dac3ae;background:#3a332d;font-size:13px}#rushQueue li[aria-current=true]{flex:0 0 100%;background:transparent;border:0;color:#fff5e8;font-size:clamp(26px,5vw,44px);font-weight:500;min-height:88px;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:anywhere;text-shadow:0 3px 0 #191816}#rushInputLabel{display:block;margin:16px 24px 6px;color:#dbc4af;font-size:13px}#rushInput{box-sizing:border-box;margin:0 24px;width:calc(100% - 48px);min-height:52px;background:#3a332d;border:1px solid #947456;color:#fff5e8;border-radius:10px;font:22px var(--font-practice);padding:12px 16px}#rushInputHelp{margin:12px 24px;color:#d2bdac;font-size:12px}#rushArena #rushCountdown:empty{display:none}.atlas-next-key{margin:0 24px;font:12px var(--font-practice);display:flex;align-items:center;gap:12px;color:#dec5ae}.atlas-next-key span{display:grid;place-items:center;width:42px;height:42px;background:linear-gradient(#f9d5b8,#e6a47f);color:#5f2d20;border:1px solid #ffd9be;border-radius:9px;box-shadow:0 4px 0 #a15d40;font-size:20px;transform:rotate(-4deg)}.atlas-rush-keyboard{padding:22px 24px;display:flex;flex-direction:column;align-items:center;gap:8px}.atlas-rush-keyboard .row{display:flex;justify-content:center;gap:6px;margin:0;width:100%}.atlas-rush-keyboard .key{display:grid;place-items:center;width:40px;min-height:37px;padding:6px 2px;min-width:0;border:1px solid #bca38d;border-radius:7px;background:linear-gradient(#fffdf7,#f4e9dc);box-shadow:0 4px 0 #baa28a;color:#745b49;font:12px var(--font-practice)}#atlasRushMilestone{margin:0 24px 20px;padding:10px 14px;border:1px solid #756050;border-radius:9px;background:#40362e;color:#e9c3a7;font-size:13px;min-height:44px}#rushFinishedActions{padding:0 24px 24px;display:flex;flex-wrap:wrap;gap:10px}body.contrast{--ink:#251a13;--muted:#483326;--line:#826448;--focus:#79351e;--brand:#79351e}body.contrast[data-theme=dark]{--ink:#fff;--muted:#f4dfcb;--line:#bfa181;--focus:#ffc5a0;--brand:#ffc5a0}body.contrast #typingWorkspace #passage{color:#eee3d7}body.contrast #typingWorkspace #passage .ok{color:#c9ffdf}body.contrast #typingWorkspace #passage .bad{color:#ffe7dd;background:#743126}
@media(max-width:850px){#test>.intro{grid-template-columns:minmax(0,1fr) 230px;gap:22px}.atlas-key-art{height:190px}.atlas-key-cluster{transform:rotate(-8deg) scale(.85)}.atlas-practice-modes{gap:11px}.atlas-practice-modes button{padding:14px;gap:10px}.atlas-practice-modes b{font-size:13px}.atlas-practice-modes small{font-size:10px}.atlas-mode-icon{width:31px;height:31px}.atlas-live-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-live-metrics>div:nth-child(2){border:0}}
@media(max-width:600px){#test>.intro{grid-template-columns:1fr}#test>.intro h1{font-size:32px}.atlas-key-art{display:none}.atlas-practice-modes{grid-template-columns:1fr;gap:10px}.atlas-practice-modes button{padding:13px 15px}.atlas-practice-modes b{font-size:14px}.atlas-practice-modes small{font-size:12px}.atlas-mode-icon{height:36px;width:36px}.keyboard{padding:17px 9px}.keyboard .row{gap:4px}.keyboard .key{font-size:11px;min-height:31px;padding:6px 2px;flex-basis:28px;border-radius:5px}.keyboard .row:last-child .key{flex-basis:160px}#typingWorkspace>.stats strong{font-size:30px}#typingWorkspace>.stats span{font-size:10px}#typingWorkspace>.stats .stat{padding:17px 8px}#typingWorkspace #passage{padding:17px 16px}.rush-heading{padding:17px 16px}.rush-stats{padding:16px}.rush-stats strong{font-size:34px}.atlas-live-metrics{padding:16px;gap:14px}.atlas-live-metrics strong{font-size:26px}.atlas-live-metrics span{font-size:11px}#rushQueue{margin-inline:16px}#rushQueue li[aria-current=true]{font-size:27px;min-height:82px}#rushInputLabel,#rushInputHelp,#rushFeedback{margin-inline:16px}#rushFeedback{padding-inline:16px;margin:0}#rushInput{margin-inline:16px;width:calc(100% - 32px);font-size:19px}.atlas-rush-keyboard{padding:20px 12px}.atlas-rush-keyboard .row{gap:3px}.atlas-rush-keyboard .key{width:22px;min-height:29px;font-size:10px;border-radius:5px}.atlas-next-key,#atlasRushMilestone{margin-inline:16px}.atlas-rush-keyboard:empty{display:none}#rushScope{padding-inline:16px}#rushFinishedActions{padding-inline:16px}.result-headline strong,.result-headline strong span{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.atlas-key-art:hover .atlas-clay{transform:translateY(-15px)}.atlas-practice-modes button:hover{transform:none}}body.no-motion .atlas-hero-key,body.no-motion .atlas-practice-modes button{transition:none;transform:none}
#rushSetup::backdrop,#rushResults::backdrop,#rushPreparation::backdrop,#studyPreparation::backdrop,#resultDialog::backdrop{background:#30271f80;backdrop-filter:blur(5px)}#rushSetup.dialog-fallback,#rushResults.dialog-fallback{box-shadow:0 0 0 100vmax #30271f80}#rushArena .rush-countdown{color:#f6dfca}body[data-theme=dark] #rushFeedback.rush-correct{background:#294c3c;color:#c3f0d6}body[data-theme=dark] #rushFeedback.rush-wrong{background:#6d3831;color:#ffddd1}.lesson-dialog-button{border-color:var(--brand);background:var(--soft);color:var(--ink)}
@media(max-width:1180px){.site-header #primaryNav{width:auto;max-width:calc(100% - 32px);box-sizing:border-box;left:16px;right:16px}.site-header #primaryNav>button{white-space:normal;overflow-wrap:anywhere}}

.site-header a.logo{text-decoration:none;color:var(--ink)}

/* Mobile navigation occupies its own header row; content never shows through it. */
@media(max-width:1180px){
 .site-header{isolation:isolate}
 .site-header .logo{grid-column:1;grid-row:1}
 .site-header .mobile-nav-toggle{grid-column:2;grid-row:1}
 .site-header .header-utilities{grid-column:3;grid-row:1}
 .site-header #primaryNav{position:static;grid-column:1/-1;grid-row:2;width:100%;max-width:100%;margin:8px 0 0;padding:8px;left:auto;right:auto;top:auto;box-sizing:border-box;background:var(--surface);background-clip:padding-box;border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 0 #51322212;max-height:min(65dvh,540px);overflow:auto;overscroll-behavior:contain;gap:4px;opacity:1;backdrop-filter:none}
 .site-header #primaryNav>button,.site-header #primaryNav summary{padding:13px 15px;min-height:48px;font-size:14px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
 .site-header #primaryNav>button.active,.site-header #primaryNav summary[data-active=true]{background:var(--soft);border-color:var(--line);box-shadow:none}
 .site-header #primaryNav .header-popup{background:var(--surface);margin:4px 0 4px 16px;border-left:2px solid var(--line);padding:3px 0 3px 8px}
 .site-header #primaryNav .header-popup button{min-height:48px}
 .site-header #navToggle[aria-expanded=true]{background:var(--action);color:var(--action-ink);border-color:var(--action)}
 .site-header .header-utilities .header-popup{background:var(--surface);border-color:var(--line);opacity:1}
}

/* Approved menu typography: Manrope, readable weight hierarchy and active marker. */
.site-header #primaryNav{--font-menu:'Manrope',var(--font-ui)}
.site-header #primaryNav>button,.site-header #primaryNav summary{position:relative;font-family:var(--font-menu);font-size:14px;line-height:1.5;font-weight:650;letter-spacing:-.15px;color:var(--ink)}
.site-header #primaryNav>button.active,.site-header #primaryNav summary[data-active=true]{font-weight:750;color:var(--brand)}
.site-header #primaryNav .header-popup button{font-family:var(--font-menu);font-size:14px;font-weight:600;color:var(--ink)}
.site-header #primaryNav .header-popup button.active{font-weight:750;color:var(--brand);background:var(--soft)}
.site-header .mobile-nav-toggle{font-family:'Manrope',var(--font-ui);font-weight:700}
@media(max-width:1180px){
 .site-header #primaryNav>button,.site-header #primaryNav summary{font-size:16px;line-height:1.5;letter-spacing:-.18px;min-height:55px;padding:14px 17px}
 .site-header #primaryNav>button.active:before,.site-header #primaryNav summary[data-active=true]:before{content:'';position:absolute;left:0;top:15px;bottom:15px;width:3px;background:var(--brand);border-radius:3px}
 .site-header #primaryNav .header-popup button{min-height:48px;font-size:14px;padding:12px 14px}
}
@media(max-width:380px){.site-header #primaryNav>button,.site-header #primaryNav summary{font-size:15px;padding-inline:13px}}

/* Language discovery: opaque, keyboard-accessible modal and local-only search. */
.site-header .language-trigger{font:700 12px/1.2 'Manrope',var(--font-ui);padding:10px 9px;min-height:42px;white-space:nowrap;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px}
.language-dialog{box-sizing:border-box;width:min(620px,calc(100vw - 24px));max-width:620px;max-height:calc(100dvh - 32px);padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--ink);box-shadow:0 24px 90px #24170e55;overflow:auto}
.language-dialog::backdrop{background:#21181099;backdrop-filter:blur(5px)}
.language-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.language-heading h2{margin:8px 0;font:750 clamp(22px,4vw,28px)/1.25 'Manrope',var(--font-ui);letter-spacing:-.6px}.language-heading .eyebrow{font-size:10px}.language-close{width:42px;height:42px;flex:none;font-size:25px;border-radius:50%;padding:0}.language-intro{font-size:13px;margin:7px 0 18px;color:var(--muted)}.language-search{display:block;box-sizing:border-box;width:100%;min-height:48px;margin:0 0 16px!important;padding:12px 14px!important;font:500 14px var(--font-ui);border:1px solid var(--line);border-radius:12px;background:var(--page);color:var(--ink)}.language-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;font-size:12px}.language-toolbar label{display:flex;align-items:center;gap:8px;margin:0}.language-toolbar input{width:17px;height:17px;margin:0;accent-color:var(--brand)}.language-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.language-list{max-height:min(390px,45dvh);overflow-y:auto;overscroll-behavior:contain;display:grid;gap:6px;padding:3px}.language-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:10px;box-sizing:border-box;width:100%;min-height:68px;padding:11px 13px;text-align:start;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);margin:0}.language-row[aria-pressed=true]{border-color:var(--brand);background:var(--soft)}button.language-row:hover{background:var(--soft);border-color:var(--brand)}.language-flag{font-size:25px;line-height:1}.language-name{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}.language-name b{font:700 15px/1.4 'Manrope',var(--font-ui)}.language-name small{font:400 11px/1.35 var(--font-ui);color:var(--muted)}.language-code{font:500 10px var(--font-practice);color:var(--muted)}.language-status{font-size:10px;color:var(--brand);max-width:105px;text-align:end}.is-pending{background:var(--page)}.is-pending .language-status{color:var(--muted)}.language-coverage,.language-note,.language-empty{font-size:11px;line-height:1.6;color:var(--muted);margin:14px 0 0}.language-note{padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:480px){.site-header .language-trigger{padding:8px 6px;font-size:11px;min-height:38px}.language-dialog{padding:18px}.language-row{grid-template-columns:28px minmax(0,1fr) auto;gap:8px;padding:10px}.language-status{grid-column:2/-1;text-align:start;margin-top:-4px}.language-name b{font-size:14px}.language-toolbar{align-items:start}.language-toolbar label{line-height:1.5}}

/* Touch practice uses the selected layout; it never changes the OS keyboard. */
.touch-keyboard-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;color:var(--muted);font:500 11px/1.5 var(--font-ui)}.touch-keyboard-bar>span{max-width:65%}.touch-keyboard-bar button{font-size:11px;padding:8px 10px;min-height:40px;background:var(--soft);white-space:nowrap}.touch-keyboard{position:fixed;z-index:45;bottom:0;left:0;right:0;box-sizing:border-box;padding:9px max(6px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -8px 35px #30201420;max-height:55dvh;overflow:auto;overscroll-behavior:contain}.touch-keyboard[hidden]{display:none}.touch-keyboard-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:760px;margin:0 auto 8px;font:700 12px var(--font-ui);color:var(--ink)}.touch-keyboard-heading span{font-size:10px;font-weight:500;color:var(--muted)}.touch-keyboard-grid{max-width:760px;margin:auto;display:grid;gap:5px}.touch-key-row{display:flex;gap:3px;justify-content:center}.touch-key{flex:1;min-width:0;padding:0;height:46px;min-height:46px;max-width:63px;border-radius:7px;border:1px solid var(--line);background:var(--page);color:var(--ink);box-shadow:0 2px 0 var(--line);font:600 17px/1 var(--font-practice);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.touch-key:active{transform:translateY(2px);box-shadow:none;background:var(--action);color:var(--action-ink)}.touch-key.next{border-color:var(--brand);background:var(--soft)}.touch-key-wide{flex:1.4;max-width:90px}.touch-key[aria-pressed=true]{background:var(--action);color:var(--action-ink)}.touch-key-actions [data-touch-key=Space]{flex:4;max-width:350px;font:600 12px var(--font-ui)}.touch-keyboard-help{max-width:760px;margin:8px auto 0;font:400 10px/1.5 var(--font-ui);color:var(--muted)}body.touch-keyboard-active{padding-bottom:330px}html.touch-keyboard-active{scroll-padding-bottom:330px}@media(max-width:360px){.touch-key-row{gap:2px}.touch-key{font-size:15px}.touch-keyboard-heading{font-size:11px}}@media(orientation:landscape) and (max-height:500px){.touch-key{height:33px;min-height:33px}.touch-keyboard-help{display:none}.touch-keyboard{max-height:65dvh}}

/* Compact language control: one locale code, platform-independent vector icons. */
.site-header .language-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:76px;min-height:44px;padding:10px 12px;font-size:12px;line-height:1;font-weight:750;letter-spacing:.03em;transition:background .15s,border-color .15s,box-shadow .15s}
.language-trigger .language-globe{width:17px;height:17px;flex:none;color:var(--brand)}.language-trigger .language-chevron{width:12px;height:12px;flex:none;color:var(--muted);transition:transform .15s}.language-trigger[aria-expanded=true] .language-chevron{transform:rotate(180deg)}.site-header .language-trigger:hover,.site-header .language-trigger[aria-expanded=true]{background:var(--soft);border-color:var(--brand)}.site-header .language-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media(max-width:480px){.site-header .language-trigger{min-width:66px;min-height:40px;padding:9px 8px;gap:5px;font-size:11px}.language-trigger .language-globe{width:15px;height:15px}.language-trigger .language-chevron{width:10px;height:10px}}

/* Country content is a first-class practice choice, with auditable coverage. */
#typingWorkspace .practice-selectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:min(100%,650px);flex:1 1 520px}.country-content-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 18px;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--soft);font:500 12px/1.6 var(--font-ui)}.country-content-summary strong{font-weight:750;color:var(--ink)}.country-content-summary>span{color:var(--muted)}.country-content-summary details{flex-basis:100%;font-size:11px;color:var(--muted)}.country-content-summary summary{width:fit-content;cursor:pointer;font-weight:650}.country-content-summary p{margin:8px 0}.country-content-summary a{color:var(--brand)}@media(max-width:640px){#typingWorkspace .practice-selectors{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;flex-basis:100%}#typingWorkspace .country-field{grid-column:1/-1}.country-content-summary{padding:12px 16px;display:block}.country-content-summary>span{display:block;margin:3px 0}.country-content-summary details{margin-top:6px}}
