/* Large controls, explicit steps and fully keyboard-operable navigation. */
:root{--hud-height:130px;--panel-font:1rem;--panel-small:.875rem;--panel-title:1.25rem}
html{scroll-padding-top:calc(var(--hud-height) + 90px)}
[hidden]{display:none!important}
.skip-link{position:fixed;left:16px;top:12px;z-index:100;background:#f4d29f;color:#192127;padding:16px;transform:translateY(-160%);border-radius:6px;font-size:18px}.skip-link:focus{transform:none}
.control-entry{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid #a79476;border-radius:7px;background:#2b333a;color:#f0d3a7;font-size:16px;text-decoration:none;white-space:nowrap}
.intro{flex-wrap:wrap}.intro>div{flex:1;min-width:240px}.hints-switch{font-size:14px;min-height:44px}.hints-switch input{width:24px;height:24px}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,440px);align-items:start}
.controls{padding:22px;--panel-font:1rem;--panel-small:.875rem;--panel-title:1.25rem;font-size:var(--panel-font);line-height:1.5;min-width:0}
body[data-large-text="true"] .controls{--panel-font:1.125rem;--panel-small:1rem;--panel-title:1.4rem}
.controls .control-head{padding-bottom:18px}.controls .control-head h2{font-size:1.5rem}.controls .eyebrow{font-size:.75rem;color:#d2bb99;letter-spacing:1px}
.controls button,.controls select,.controls summary{min-height:48px;font-size:var(--panel-font);line-height:1.4;touch-action:manipulation;scroll-margin-top:calc(var(--hud-height) + 90px);scroll-margin-bottom:30px}
.controls button{min-width:44px}.controls a{scroll-margin-top:calc(var(--hud-height) + 90px)}
.controls button:focus-visible,.controls select:focus-visible,.controls input:focus-visible,.controls summary:focus-visible,.controls a:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #111820}
.controls [data-blocked="true"]{border-style:dashed;cursor:help}.controls button:disabled{opacity:1;color:#bcc4cc;background:#32383e;border-color:#656e76;box-shadow:none}
.controls .preferred-control:not(:disabled){border-color:#f4d19e;box-shadow:0 0 0 2px #d7b07844,0 0 14px #d7b07825}.controls .preferred-control:focus-visible{outline:3px solid #fff;outline-offset:4px}
.help-button{padding:10px 14px;border:1px solid #8999a6;color:#eef1f4;background:#303a43;border-radius:6px}
.next-step{padding:16px;border:1px solid #c0a47d;border-radius:8px;background:#2e3438;margin-bottom:16px}
.next-kicker{display:block;color:#e5c396;font-size:.75rem;letter-spacing:1px;font-weight:700}.next-step h3{font-size:var(--panel-title);line-height:1.35;margin:8px 0;color:#fff2dd}.next-step p{font-size:var(--panel-font);line-height:1.55;color:#e1e5e8;margin:0 0 13px}
.next-step button{width:100%;padding:12px 10px;background:#d7b98e;color:#1d252b;border:1px solid #e7cca5;border-radius:6px;font-weight:650;text-align:left}
.controls .ignition-control{padding:14px;margin-bottom:18px;background:#252f37}.controls .ignition-heading{font-size:var(--panel-small);gap:8px;flex-wrap:wrap}.controls .ignition-heading strong{font-size:var(--panel-font)}.controls .ignition-button{font-size:var(--panel-font)}.controls #ignition-help{font-size:var(--panel-small);color:#d2dbe2}.ignition-guide{font-size:var(--panel-small)}
.controls .panel-section{padding:4px 0 8px;border-top:0}.controls .section-heading h3,.controls #panel-help>h3{font-size:var(--panel-title);margin:0}.controls .section-heading{margin-bottom:18px}
.controls [data-control-panel]{scroll-margin-top:calc(var(--hud-height) + 90px)}
.controls .inline-hint,.controls .printer-footnote,.controls #panel-help p,.controls .rest-goal p,.controls .settings p,.controls .guidance p{font-size:var(--panel-small);line-height:1.6;color:#d1dbe2}
.controls .drive-primary{min-height:68px}.controls .drive-primary strong,.controls .print-start strong{font-size:var(--panel-title)}.controls .drive-primary small,.controls .print-start small{font-size:var(--panel-small);opacity:1}
.controls .activity-choices{grid-template-columns:1fr;gap:10px}.controls .activity-choices button{display:grid;grid-template-columns:28px 1fr auto;align-items:center;justify-content:start;gap:12px;padding:12px 14px;font-size:var(--panel-font);text-align:left;min-height:54px;color:#e0e7ec}
.controls .activity-choices button[aria-pressed="true"]:after{content:'✓ gewählt';font-size:var(--panel-small);font-weight:650}.controls .activity-choices .activity-svg{width:25px;height:25px}
.controls .speed-row label,.controls .rest-goal label{font-size:var(--panel-font);color:#e5eaf0}.controls select{padding:12px;color:#f4f5f6;background:#303b45;border-color:#8a99a4}
.controls .training-time-actions{flex-wrap:wrap;gap:10px}.controls .training-time-actions button{font-size:var(--panel-small);padding:12px!important;flex:1 1 130px}.controls .time-summary{font-size:var(--panel-small)}.controls .time-summary b{font-size:1.25rem;color:#edf2f6}
.controls .rest-goal button{font-size:var(--panel-font);padding:10px;border:1px solid #a9bba5;border-radius:5px;width:100%;margin-top:10px}.controls .progress{font-size:var(--panel-small);gap:6px;flex-wrap:wrap}.controls .progress b{width:25px;height:25px;font-size:var(--panel-small)}.controls .progress .done b{background:#bc9e72;color:#17222a}
.controls .driver-card{min-height:80px}.controls .driver-card small{font-size:.75rem;letter-spacing:.5px}.controls .driver-card strong{font-size:var(--panel-font)}.controls .driver-card:disabled{color:#26323a;background:#c4c8c6}
.card-eject,.manual-shortcut{display:block;width:100%;margin-top:12px;padding:12px;background:#303b45;color:#e5edf3;border:1px solid #8c9caa;border-radius:6px}
.controls .display-heading{font-size:var(--panel-small);line-height:1.5;flex-wrap:wrap;gap:6px}.controls .display-heading label{color:#d2dbe2}.controls .lcd{min-height:0;padding:10px 6px}
.controls .keypad{gap:10px}.controls .keypad button{height:auto;min-height:66px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 1px;font-size:20px}.controls .keypad small{font-size:.75rem}
.controls .driver-actions{gap:10px;grid-template-columns:1fr 1fr}.controls .driver-actions button{font-size:var(--panel-small);padding:12px 6px}.controls .driver-actions small{font-size:.75rem;color:#d2dbe2}.controls .driver-icon{width:23px;height:23px}
.controls .keypad small,.controls .driver-card small,.controls .driver-actions small{font-size:var(--panel-small)}
.controls .guidance{padding:15px;min-height:0}.controls .guidance>span{font-size:.75rem;color:#ead1ac}.controls .guidance #source{font-size:var(--panel-small);min-height:44px;padding-top:10px;line-height:1.5}
.controls .lcd-magnify,.controls .print-start,.controls .printer-status,.controls .show-print,.controls .print-options,.controls .print-options button{font-size:var(--panel-font)}.controls .print-options summary{padding:12px 0}.controls .show-print{width:100%;text-align:left;padding:12px;color:#f2d29f;border:1px solid #8d785d;border-radius:6px}
.controls .settings,.controls .history{font-size:var(--panel-font)}.controls .history summary{padding:12px 2px;line-height:1.5}.controls .history ol{font-size:var(--panel-small);max-height:260px}.controls .settings label,.reading-settings label{display:flex;align-items:center;gap:12px;min-height:48px;line-height:1.5;font-size:var(--panel-font);cursor:pointer;margin:10px 0}
.controls input[type="checkbox"]{width:24px;height:24px;flex:0 0 24px;accent-color:#d7b98e}.controls .option-buttons button{font-size:var(--panel-font);padding:12px}
.reading-settings,.keyboard-help{padding:16px 0;border-bottom:1px solid #596670}.controls h4{font-size:var(--panel-font);margin:10px 0}.controls kbd{font:inherit;font-size:var(--panel-small);padding:1px 5px;border:1px solid #81909b;border-radius:4px;background:#303b45;color:#fff}
.restart-button{margin-top:20px;background:#3a3131;color:#f2d7cf;border:1px solid #bc8b7c;border-radius:6px;width:100%;padding:12px}
.reset-actions{display:flex;flex-wrap:wrap;gap:12px}.reset-actions button{min-height:48px;flex:1;padding:12px;font-size:16px;border:1px solid #acb4bb;border-radius:6px;background:#37454e;color:#fff}.reset-actions #reset-confirm{background:#ad725d;color:#120d0a}
.scene-column{top:calc(var(--hud-height) + 16px)}.scene-column>.activity-toast>button{min-width:44px;min-height:44px}.activity-toast p{font-size:14px}.activity-toast strong{font-size:17px}
.training-hud .eyebrow,.sim-clock>span{font-size:11px}.training-hud p,.timer-metric>span{font-size:13px}.timer-metric small,.sim-clock small{font-size:12px;color:#c5cfd7}
body[data-reduced-motion="true"] *,body[data-reduced-motion="true"] *:before,body[data-reduced-motion="true"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body[data-reduced-motion="true"] .controls button:active,body[data-reduced-motion="true"] .controls button.is-pressed{transform:none!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 370px}.training-hud{position:relative;top:auto}.scene-column{top:16px}.control-tabs{top:8px}html{scroll-padding-top:90px}.controls button,.controls select,.controls summary{scroll-margin-top:100px}.controls{padding:18px}}
@media(max-width:850px){.workspace{display:flex;flex-direction:column}.scene-column{position:relative;top:auto;width:100%}.scene-column>.viewport{height:460px;min-height:0}.controls{width:100%;padding:20px}.control-tabs{top:0}.brand-sub{display:none}}
@media(max-width:420px){main{padding-inline:12px}.controls{padding:16px}.control-tabs{gap:5px}.control-tabs button{font-size:.875rem}.scene-column>.viewport{height:380px}.controls .driver-actions{grid-template-columns:1fr}.controls .activity-choices button{gap:10px}.controls .activity-choices button[aria-pressed="true"]:after{content:'✓'}.controls .keypad{gap:6px}.topbar{height:auto;min-height:62px;flex-wrap:wrap;padding:10px 12px;gap:8px}.header-right{gap:12px}.quiet{min-height:44px;font-size:13px}.intro>div{min-width:0}.training-hud{gap:12px}.training-hud .activity-summary{gap:10px}.training-hud h2{font-size:17px}.timer-metric>strong{font-size:23px}.scene-description strong{font-size:17px}}
@media(forced-colors:active){.controls button,.controls select,.controls .next-step{border:1px solid ButtonText}.controls button[aria-selected="true"],.controls button[aria-pressed="true"]{border:3px solid Highlight}.controls .guided-control{outline:3px solid Highlight}}
/* Root scroll padding already reserves the sticky HUD and tabs. */
.controls button,.controls select,.controls summary,.controls a,.controls [data-control-panel]{scroll-margin-top:0}
/* Compact default: nine actions; device keys and secondary settings expand on demand. */
html{scroll-padding-top:calc(var(--hud-height) + 18px)}
.compact-controls{padding:20px}
.compact-controls .control-head{padding:0 0 16px;border:0;margin:0}.compact-controls .control-head h2{font-size:1.2rem;margin:0}
.compact-controls .main-actions,.compact-controls .card-print-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.compact-controls .main-actions{margin-bottom:14px}
.compact-controls .main-actions button{min-height:58px;width:100%;padding:9px 8px;font-size:var(--panel-font);line-height:1.3;text-align:center;gap:8px}
.compact-controls .main-actions button strong{font-size:var(--panel-font)}
.compact-controls .main-actions .activity-svg{width:22px;height:22px;flex:0 0 22px}
.compact-controls .activity-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.compact-controls .activity-choices button{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:7px;min-height:76px;padding:9px 3px;font-size:var(--panel-small);overflow-wrap:anywhere;position:relative}
.compact-controls .activity-choices button[aria-pressed="true"]:after{content:'✓';position:absolute;top:4px;right:7px;font-size:13px}
.compact-controls .training-time-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 16px}
.compact-controls .training-time-actions button{padding:9px 5px!important;text-align:center;border:1px solid #758390;border-radius:6px;background:#303b45;color:#e9eef1;font-size:var(--panel-small)}
.compact-controls .card-print-actions{padding-top:16px;border-top:1px solid #49545e}
.compact-controls .compact-secondary{display:block;width:100%;padding:10px 8px;background:#303b45;color:#e9eef1;border:1px solid #758390;border-radius:6px;font-size:var(--panel-font);text-align:center}
.compact-controls .compact-disclosure{border-top:1px solid #49545e;margin-top:16px}
.compact-controls .compact-disclosure>summary{cursor:pointer;padding:14px 3px;font-weight:600;color:#e7ecef;min-height:50px}
.compact-controls .compact-disclosure:not([open])+.flags:empty{display:none}
.compact-controls .disclosure-content{padding:0 0 6px}.compact-controls .disclosure-content>h3{font-size:var(--panel-font);margin:20px 0 12px}
.compact-controls .keypad{gap:7px;margin-top:10px}.compact-controls .keypad button{min-height:56px;padding:6px 1px;gap:2px}.compact-controls .keypad small{font-size:.75rem}
.compact-controls .lcd-magnify{min-height:44px;padding:6px 0;font-size:var(--panel-small)}
.compact-controls .guidance{background:none;border:0;padding:5px 0 0}.compact-controls .guidance p{margin:4px 0;font-size:var(--panel-small)}
.compact-controls .compact-note{padding:12px;margin:0 0 14px;border-left:3px solid #e4c292}.compact-controls .compact-note h3{font-size:var(--panel-font);margin:0 0 4px}.compact-controls .compact-note p{font-size:var(--panel-small);margin:0;line-height:1.45}
.compact-controls #show-print,.compact-controls #printer-menu{margin:10px 0;width:100%}
.compact-controls #source{display:inline-block;padding:12px 0;color:#e0c195;font-size:var(--panel-small);min-height:44px}
.compact-controls #printer-status{font-size:var(--panel-small)}
@media(max-width:1100px){html{scroll-padding-top:18px}}
@media(max-width:420px){.compact-controls{padding:16px}.compact-controls .main-actions{grid-template-columns:1fr}.compact-controls .main-actions button{min-height:48px}.compact-controls .activity-choices button{font-size:14px}body[data-large-text="true"] .compact-controls .activity-choices{grid-template-columns:1fr}body[data-large-text="true"] .compact-controls .activity-choices button{flex-direction:row;min-height:48px;font-size:18px}}
