:root{color-scheme:light;--page:#eeede8;--paper:#fffefa;--surface:#f5f5f1;--ink:#24314a;--muted:#59657b;--line:#d1d6df;--primary:#5146b9;--on-primary:#fff;--accent:#178a7b;--focus:#1768c5;--hint:#fff3d8;--good:#e2f4eb;--error:#9d3138;--shadow:0 20px 64px #25304a18;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:100%;line-height:1.5}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);min-width:0}body[data-theme="dark"]{color-scheme:dark;--page:#121724;--paper:#202737;--surface:#293245;--ink:#f3f3f7;--muted:#c0c8d9;--line:#556079;--primary:#bbb1ff;--on-primary:#211a51;--accent:#63d6c5;--focus:#82c1ff;--hint:#3b3324;--good:#213b35;--error:#ffb3b3;--shadow:0 20px 64px #0005}body[data-theme="high"]{--page:#fff;--paper:#fff;--surface:#fff;--ink:#000;--muted:#202020;--line:#000;--primary:#002b80;--on-primary:#fff;--accent:#006050;--focus:#a00000;--hint:#fff7bb;--good:#e2ffe2;--error:#950000;--shadow:none}body[data-font="large"]{font-size:1.15rem}body[data-font="largest"]{font-size:1.3rem}
[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.55;cursor:default}button,a,input,select,textarea,summary,[tabindex]{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus)}a{color:var(--primary)}button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;padding:.65em .95em;min-height:44px}button.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary);font-weight:650}button.quiet{background:transparent;border-color:transparent}input,select,textarea{max-width:100%;min-width:0;width:100%;border:1px solid var(--line);border-radius:9px;padding:.65em;background:var(--paper);color:var(--ink)}input[type="checkbox"]{width:1.2em;height:1.2em;accent-color:var(--primary)}input[type="range"]{padding:.5em 0;accent-color:var(--primary);min-height:44px}textarea{resize:vertical;min-height:6em}label{display:grid;gap:.35em;margin:.5em 0}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:1.55em;line-height:1.3;margin:.6em 0 1em;font-weight:650}h2{font-size:1.25em;margin:.25em 0}p{margin:.6em 0}.small,.instruction{font-size:.88em;color:var(--muted)}.eyebrow{font-size:.8em;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:650}
.app-shell{width:min(100%,35rem);height:100dvh;min-height:20rem;max-height:58rem;margin:auto;background:var(--paper);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow)}.app-header{display:flex;align-items:center;gap:.7rem;padding:.8rem 1.15rem;border-bottom:1px solid var(--line);flex-shrink:0}.brand{display:flex;gap:.6rem;align-items:center;text-decoration:none;font-size:1.35rem;font-weight:750;color:var(--ink)}.brand-mark{width:36px;height:36px;object-fit:contain}.alpha-badge{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:.1rem .35rem}.app-header>button{margin-left:auto}.status{font-size:.86em;padding:0 1.15rem;color:var(--muted);flex-shrink:0}.status:empty{display:none}.scroll-region{overflow:auto;overscroll-behavior:contain;min-height:0;scrollbar-gutter:stable}.welcome{padding:1.4rem;text-align:center;flex:1}.welcome-geary{width:160px;height:160px;object-fit:contain}.welcome .primary{margin:1rem 0}.workspace{display:flex;flex-direction:column;min-height:0;flex:1}.context-bar{display:flex;gap:.6em;padding:0 1.1rem}.context-bar label{flex:1;font-size:.8em}.practice-meta{display:flex;justify-content:space-between;gap:1em;padding:.75rem 1.25rem .5rem;font-size:.8em;color:var(--muted)}#question-topic{text-transform:capitalize;text-align:right}progress{width:calc(100% - 2.5rem);height:5px;margin:0 1.25rem;accent-color:var(--accent);flex-shrink:0;border:0;border-radius:3px;background:var(--line)}progress::-webkit-progress-bar{background:var(--line);border-radius:3px}progress::-webkit-progress-value{background:var(--accent);border-radius:3px}.question-area{padding:1.15rem 1.25rem;flex:1}.question-area h1:focus{outline:none}.responses{display:grid;gap:.75rem}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{min-height:64px;text-align:left;border-width:2px;white-space:pre-wrap;overflow-wrap:anywhere}.choice[aria-pressed="true"],.choice.selected{border-color:var(--primary);background:var(--surface);box-shadow:inset 0 0 0 1px var(--primary)}.choice-grid>.input-error{grid-column:1/-1}.answer-field{display:grid;gap:.4rem;margin:0}.answer-field>span{font-weight:550}.reference{white-space:pre-wrap;border-left:3px solid var(--accent);padding:.65em 1em;background:var(--surface);font-size:.95em;margin-bottom:1rem}.hint-panel{white-space:pre-wrap;background:var(--hint);border:1px solid var(--line);border-radius:12px;padding:1rem;margin-top:1rem}.feedback{white-space:pre-wrap;font-weight:600}.feedback[data-outcome="correct"]{background:var(--good);padding:.8em;border-radius:10px}.input-error{color:var(--error);font-size:.88em;margin:0}.input-error:empty{display:none}.check-answer{justify-self:stretch;margin-top:.25rem}.answer-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.ordered-answer{display:flex;flex-wrap:wrap;gap:.45rem;min-height:64px;background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:.6rem}.token-bank{display:flex;flex-wrap:wrap;gap:.45rem}.token{border-radius:9px}.practice-footer{display:flex;align-items:center;gap:.25rem;min-height:84px;padding:.25rem .85rem max(.25rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);flex-shrink:0}.practice-footer img{margin-left:auto;object-fit:contain;flex-shrink:0}.practice-footer button{font-size:.9em}.checkbox{display:flex;align-items:center;gap:.6em}.menu-links{display:grid;gap:.4em}fieldset{border:1px solid var(--line);border-radius:12px;margin:1em 0;padding:.8em}legend{font-weight:600;padding:0 .3em}
dialog{border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);width:min(92vw,33rem);max-height:88dvh;padding:1.1rem;box-shadow:var(--shadow);overflow:auto}dialog::backdrop{background:#12172480}.dialog-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:.6em}.dialog-heading>button{flex-shrink:0}.history{padding:0;list-style:none}.history li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.8em 0;font-size:.88em}.history time{color:var(--muted);text-align:right}.curator-panel{padding:1rem;flex:1}.curator-panel h1{margin:.35em 0}.curator-panel .panel-heading{align-items:flex-start}.curator-panel .panel-heading button{font-size:.8em}.studio-actions{display:flex;gap:.5em;flex-wrap:wrap;margin:.6em 0}.studio-list{display:grid;gap:.5em}.draft-row{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.5em;padding:.6em;border:1px solid var(--line);border-radius:10px}.draft-row input{margin-top:.8em}.draft-row button{text-align:left;overflow-wrap:anywhere}.json-editor{font-family:ui-monospace,Consolas,monospace;font-size:.8em;min-height:20em;tab-size:2}.import-preview{padding:.75em;background:var(--surface);border:1px solid var(--line);border-radius:10px;max-height:16em;overflow:auto}.studio-notice{white-space:pre-wrap}.studio-notice[data-error="true"]{color:var(--error)}
@media(min-width:650px) and (min-height:700px){.app-shell{height:calc(100dvh - 2rem);margin:1rem auto;border:1px solid var(--line);border-radius:22px}}@media(max-width:340px){.choice-grid{grid-template-columns:1fr}.app-header{padding:.6rem}.question-area{padding:.8rem}.practice-footer{padding:.2rem}.practice-footer img{width:55px;height:55px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}body[data-motion="reduced"] *{scroll-behavior:auto!important;animation:none!important;transition:none!important}

.question-area{position:relative}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.active-question-set{margin:.65rem 1.25rem 0;font-size:.88em;font-weight:650;overflow-wrap:anywhere}.active-question-set:empty{display:none}.studio-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--line);padding-bottom:.7rem}.studio-tabs button[aria-current="page"]{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.set-editor{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.8rem 0;margin:.5rem 0 1.3rem}.set-count{font-weight:600;font-size:.9em}.set-members{padding-left:1.5rem}.set-member{padding:.6rem 0;border-bottom:1px solid var(--line)}.set-member p{margin:.25rem 0}.set-member .studio-actions{margin:.4rem 0}.set-member button{font-size:.8em}.question-catalog{display:grid;gap:.5rem;max-height:24rem;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:.6rem}.catalog-question{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:center;border-bottom:1px solid var(--line);padding:.35rem 0}.catalog-question p{margin:.25rem 0;font-size:.88em}.catalog-question .small{font-size:.75em}.set-draft{text-align:left;overflow-wrap:anywhere}.set-editor h3{font-size:1.05em;margin:1.2em 0 .4em}

.voice-answer{grid-column:1/-1;min-width:0;margin-block:.6rem}.voice-answer textarea{width:100%;min-height:5em}.voice-answer [role="status"]{font-size:.88em;color:var(--muted)}.locale-settings{display:grid;gap:.4em}.app-header>button,.practice-footer img{margin-left:0;margin-inline-start:auto}.choice{text-align:start}.reference{border-left:0;border-inline-start:3px solid var(--accent)}#question-topic,.history time{text-align:end}

.session-mode-status{margin:.2rem 1.25rem 0;font-size:.8em;color:var(--muted)}.session-mode-status:empty{display:none}.session-report{border:1px solid var(--line);border-radius:12px;padding:1rem}.session-report-counts{display:grid;grid-template-columns:1fr auto;gap:.4em 1em}.session-report-counts dd{margin:0;font-weight:650}.review-answer{white-space:pre-wrap;background:var(--surface);padding:1em;border-radius:12px;font-size:1.15em}.review-card p:empty{display:none}
.planned-features{margin-block:1rem;border:1px dashed var(--line);border-radius:12px;padding:.8rem 1rem;background:var(--surface);overflow-wrap:anywhere}.planned-features>summary{cursor:pointer;font-weight:650;min-height:2rem}.planned-badge{display:inline-block;margin-inline-start:.4rem;padding:.05rem .4rem;border:1px solid var(--line);border-radius:6px;font-size:.75em;font-weight:500;color:var(--muted)}.planned-features dl{margin-block:.8rem .2rem}.planned-features dt{font-weight:650;margin-block-start:.85rem}.planned-features dd{margin:.2rem 0 .8rem;color:var(--muted);font-size:.9em}

/* Uploaded question images retain their authored proportions; named controls remain available. */
.question-image { grid-column: 1 / -1; margin: 0; width: 100%; min-width: 0; }
.question-image-stage { position: relative; width: fit-content; max-width: 100%; margin-inline: auto; }
.question-image-stage > img { display: block; width: auto; max-width: 100%; max-height: 24rem; object-fit: contain; }
.image-regions { position: absolute; inset: 0; pointer-events: none; }
.image-region { position: absolute; pointer-events: auto; display: grid; place-items: start; min-height: 0; min-width: 0; padding: .15rem; border: 2px solid #fff; outline: 1px solid #162a30; border-radius: .25rem; background: rgb(8 31 37 / .12); color: #fff; text-shadow: 0 1px 3px #000, 0 0 3px #000; font-size: 1rem; font-weight: 800; }
.image-region:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.question-image [hidden] { display: none !important; }
.image-authoring > p { font-size: .9rem; }
.image-authoring > div > fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin-block: .7rem; }
.image-authoring label { min-width: 0; }
.image-authoring input { max-width: 100%; }
/* Predictable portrait composition reserves footer and answer space. */
.practice-footer { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.4rem; align-items:center; }
/* Each navigation control owns its column even when another control is hidden or disabled. Contextual actions stay outside this row. */
.practice-footer > #listen { grid-column:1; grid-row:1; }
.practice-footer > #pause { grid-column:2; grid-row:1; }
.practice-footer > #back { grid-column:3; grid-row:1; }
.practice-footer > #skip { grid-column:4; grid-row:1; }
.practice-footer > #hint { grid-column:5; grid-row:1; }
.footer-icon { font-size:1.65rem; min-height:3.5rem; padding:.35rem; }
.geary-helper { padding:0; min-width:3.5rem; justify-self:center; }
.geary-helper img { display:block; width:64px; height:64px; }
.copyright { text-align:center; font-size:.65rem; margin:.1rem 0 .25rem; color:var(--muted); }
.numeric-keypad { display:grid; grid-template-columns:repeat(3,minmax(3rem,1fr)); gap:.5rem; max-width:23rem; margin:.6rem auto; }
.numeric-keypad .key { min-height:3.2rem; font-size:1.5rem; touch-action:manipulation; }
.numeric-keypad .key:last-child { grid-column:span 2; font-size:1rem; }
.drag-order,.drag-matching { display:grid; gap:.65rem; }
.drag-row { display:flex; gap:1rem; align-items:center; }
.match-fixed,.drag-item { flex:1; }
.drag-item { cursor:grab; min-height:3rem; touch-action:pan-y; }
.drag-item[aria-pressed=true] { outline:3px solid var(--accent,#248f89); }
.question-image img { object-fit:contain; max-height:min(32vh,18rem); }
.question-image-stage { max-width:100%; }
.responses.choice-grid:has(.question-image) { align-content:start; }
.responses.choice-grid>.question-image { grid-column:1 / -1; }
.passage-dialog { width:min(44rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); }
.passage-text { white-space:pre-wrap; overflow:auto; max-height:65dvh; line-height:1.65; padding:.75rem 0 1.5rem; }
.reference[role=button] { cursor:pointer; border:1px solid var(--accent,#248f89); }
.reference[role=button]:focus-visible { outline:3px solid var(--accent,#248f89); }
.celebration { position:fixed; pointer-events:none; z-index:15; inset:35% 0 auto; text-align:center; font-size:5rem; opacity:0; }
.celebration.play { animation:answer-celebration .5s ease-out both; }
@keyframes answer-celebration { 0% {opacity:0;transform:scale(.7)} 20% {opacity:1;transform:scale(1)} 100% {opacity:0;transform:translateY(-2rem) scale(1.15)} }
@media(prefers-reduced-motion:reduce){.celebration.play{animation:none;display:none;}}
.practice-footer .footer-icon { font-size:1.65rem; }
.embedded-help { margin:1rem 0; padding:.75rem 1rem; border:1px solid var(--line); border-radius:.7rem; }
.embedded-help summary { cursor:pointer; font-weight:600; }
.embedded-help p { line-height:1.6; }

/* Neutral question motion runs concurrently with the next usable controls. */
.question-enter{animation:question-enter .5s ease-out both}
@keyframes question-enter{from{opacity:.55;transform:translateY(.3rem)}to{opacity:1;transform:none}}

/* Hover preserves each enabled control's authored normal background in every workspace. */
button:not(:disabled):not([aria-disabled="true"]):hover { border-color:var(--focus); cursor:pointer; }
button[aria-disabled="true"] { cursor:default; }
@media (forced-colors:active) {
  button:not(:disabled):not([aria-disabled="true"]):hover { border-color:Highlight; }
}

/* Branding uses the approved original artwork with separate text marks, never modified image bytes. */
.brand-geary { display:inline-flex; align-items:flex-start; position:relative; padding-inline-end:.15rem; }
.brand-trademark { font-size:.42em; line-height:1; vertical-align:super; margin-inline-start:.15em; }
/* The mascot's small mark sits beside its head; the separate HyScore wordmark mark keeps its existing scale. */
.brand-geary .brand-trademark { position:absolute; inset-inline-end:.1rem; top:.2rem; font-size:.38rem; margin-inline-start:0; }

/* The visual viewport shrinks with an on-screen keyboard; preserved local-demo chrome keeps its own allowance. */
.app-shell { height:calc(var(--learner-viewport-height,100dvh) - var(--local-demo-height,0px)); min-height:0; }
@media(min-width:650px) and (min-height:700px) {
  .app-shell { height:calc(var(--learner-viewport-height,100dvh) - var(--local-demo-height,0px) - 2rem); }
}
.workspace > .context-bar, .workspace > .practice-meta, .workspace > .active-question-set,
.workspace > .session-mode-status, .workspace > #listen-status { flex-shrink:0; }
.practice-meta { align-items:center; padding-block:.4rem; }
#question-topic { text-transform:none; overflow-wrap:anywhere; }
.session-mode-status { margin-block:.1rem; }
#listen-status { margin:.15rem 1.25rem; max-height:15vh; overflow:auto; }

/* Intrinsic wrappers are measured by learner-layout.js; only these two parent panes scroll. */
#practice-content { display:grid; grid-template-rows:minmax(0,1fr) minmax(0,1fr); min-height:0; padding:0; overflow:hidden; flex:1 1 0; }
.question-region, .answer-region { min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
#question-region-content, #answer-region-content { display:flow-root; padding:.75rem 1.25rem .35rem; min-width:0; }
#question-region-content h1 { margin:.35em 0 .6em; }
/* Keep prompts distinct from supporting text without oversized bold blocks; em units preserve the learner's text-size preference. */
#question-title { font-size:1.35em; font-weight:600; }
#answer-region-content:has(> .responses:empty) { padding-block:0; }
#session-actions { flex-shrink:0; padding:0 1.25rem; margin:.25rem 0; }
#session-actions:not(:has(> button:not([hidden]))) { display:none; }
.check-answer-slot { display:grid; flex-shrink:0; padding:.35rem 1.25rem; min-height:calc(2.8em + 2px + .7rem); }
.check-answer-slot > .check-answer { margin:0; min-height:calc(2.8em + 2px); width:100%; }
.practice-footer { margin:0; min-height:84px; padding:.25rem .85rem max(.25rem,env(safe-area-inset-bottom)); flex-shrink:0; }
.practice-footer > .geary-helper { margin:0; }
.practice-footer .geary-helper img { margin:0; }

/* A hidden full-bank footprint prevents the assembled answer from moving stationary source choices. */
.ordered-answer { display:block; position:relative; }
.ordered-answer-content, .ordered-answer-reserve { display:flex; flex-wrap:wrap; gap:.45rem; align-content:flex-start; min-width:0; }
.ordered-answer-content { position:absolute; inset:.6rem; overflow:auto; }
.ordered-answer-reserve { visibility:hidden; pointer-events:none; }
.ordered-answer-reserve .token { display:inline-flex; align-items:center; border:1px solid transparent; padding:.65em .95em; min-height:44px; line-height:inherit; }
.token-bank .token[aria-disabled="true"] { opacity:.45; cursor:default; }
.token { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; }

/* Compact numeric editing keeps negative and decimal entry beside a separated deletion column. */
.numeric-keypad { display:grid; grid-template-columns:minmax(0,3fr) minmax(2.75rem,1fr); gap:.75rem; max-width:23rem; width:100%; margin:.4rem auto; }
.numeric-digits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.35rem; }
.numeric-controls { display:grid; grid-template-rows:repeat(4,minmax(0,1fr)); gap:.35rem; }
.numeric-keypad .key { min-width:0; min-height:2.75rem; font-size:1.35rem; padding:.35rem; }
.numeric-keypad .key:last-child { grid-column:auto; font-size:1.35rem; }
.numeric-backspace { grid-row:1; }
.numeric-clear { grid-row:2 / span 3; }
/* Match Geary's warm orange, charcoal outlines and white highlights without changing the approved mascot artwork. */
.navigation-symbol { display:block; width:48px; height:48px; max-width:100%; margin:auto; overflow:visible; }
.navigation-symbol-rim { fill:#ffa11c; stroke:#754311; stroke-width:2; }
.navigation-symbol-mark { fill:none; stroke:#29313a; stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round; }
.navigation-symbol-solid { fill:#fffefa; }
.practice-footer .footer-icon { display:grid; place-items:center; padding:.15rem; min-width:0; min-height:64px; }
.practice-footer button:disabled .navigation-symbol { filter:grayscale(.8); }
/* Center only compact text prompts after measuring their actual fit; the intrinsic wrapper remains measurable. */
.question-region.centered-question { display:flex; flex-direction:column; justify-content:center; }
.question-region.centered-question > #question-region-content { width:100%; flex-shrink:0; }
.question-region.centered-question #question-title { text-align:center; }
/* Compact selection choices need real gaps rather than adjacent inline buttons. Selection never changes their footprint. */
.compact-choice-grid { display:flex; flex-wrap:wrap; gap:.65rem; align-items:stretch; }
.compact-choice-grid > .choice { min-width:3.25rem; max-width:100%; text-align:center; }
/* Strong available borders and deliberately quieter selected copies distinguish the source bank from the assembled answer. */
.token-bank .token, .ordered-answer-content .token { border-width:2px; }
.token-bank .token { border-color:#7c899d; }
.ordered-answer-reserve .token { border-width:2px; }
.token-bank .token[aria-disabled="true"] { opacity:.25; }
body[data-theme="dark"] .token-bank .token { border-color:#a8b3c5; }
body[data-theme="high"] .token-bank .token { border-color:var(--ink); }
body[data-theme="high"] .token-bank .token[aria-disabled="true"] { opacity:.55; border-style:dashed; }
/* A finger can start dragging anywhere on a tile. Gaps and pane margins retain native vertical scrolling. */
.drag-order, .drag-matching { padding:.25rem .4rem; }
.drag-item { touch-action:none; user-select:none; -webkit-user-select:none; }
.drag-source { opacity:.3; }
.drag-target { border-color:var(--accent); box-shadow:inset 0 0 0 2px var(--accent); }
.drag-ghost { position:fixed; z-index:100; pointer-events:none; margin:0; background:var(--paper); box-shadow:var(--shadow); opacity:.92; cursor:grabbing; }
@media (forced-colors:active) {
  .navigation-symbol-rim { fill:Canvas; stroke:ButtonText; }
  .navigation-symbol-mark { stroke:ButtonText; }
  .navigation-symbol-solid { fill:Canvas; }
  .token-bank .token[aria-disabled="true"] { opacity:1; color:GrayText; border-color:GrayText; border-style:dashed; }
}
@media(max-width:340px) {
  #question-region-content, #answer-region-content { padding-inline:.75rem; }
  .check-answer-slot, #session-actions { padding-inline:.75rem; }
  .numeric-keypad { gap:.6rem; }
}
