@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{font-family:'Noto Sans KR',system-ui,sans-serif;color:#172b40;background:#edf2f6;font-size:16px;--navy:#13263a;--mint:#80e1ce;--muted:#5e7080;--line:#d9e2ea}*{box-sizing:border-box}body{margin:0}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #137eac;outline-offset:4px}button:disabled{cursor:default}a{color:#15618a;text-underline-offset:4px}header{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:#fff}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font:600 23px 'Barlow Condensed',sans-serif;letter-spacing:1px}.brand b{font-weight:500;color:#657a8f}.brandmark{display:grid;place-items:center;position:relative;background:var(--navy);color:var(--mint);width:40px;height:40px;border-radius:8px;font-size:28px}.brandmark span{position:absolute;right:6px;font-size:20px}.head-right{display:flex;align-items:center;gap:30px;font-size:14px}.head-right>span{font:600 15px 'Barlow Condensed',sans-serif;letter-spacing:1px}main{max-width:1480px;margin:auto;padding:32px 4vw 60px}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.eyebrow{font:600 14px 'Barlow Condensed',sans-serif;letter-spacing:1.8px;margin:0 0 10px;color:#647d91}.intro h1{font-size:clamp(23px,2.1vw,32px);letter-spacing:-1px;margin:0 0 10px;font-weight:800}.intro p:last-child{margin:0;color:var(--muted);font-size:16px}.practice-badge{font-size:14px;text-align:right;line-height:1.8;color:#327c70}.practice-badge span{display:block;color:var(--muted);font-size:13px}.notice{padding:13px 18px;border:1px solid #d7dfe5;background:#e5edf3;display:flex;gap:12px;align-items:center;margin-bottom:26px;border-radius:6px}.notice p{margin:0;font-size:14px;line-height:1.7;color:#4f6477}.notice-icon{border:1px solid #718ba0;flex:0 0 20px;text-align:center;border-radius:50%;font:600 15px serif;color:#557189}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:30px;align-items:start}.lessons{padding:20px 0;position:sticky;top:20px}.lessons h2{font-size:19px;margin:0 0 20px}.lesson{width:100%;display:flex;align-items:center;gap:12px;border:1px solid transparent;background:transparent;padding:14px 12px;margin-bottom:5px;border-radius:8px;color:#4d647a;text-align:left}.lesson.selected{background:#fff;border-color:#cbdce5;color:var(--navy);box-shadow:0 3px 10px #23354b06}.lesson-num{font:600 22px 'Barlow Condensed',sans-serif;color:#8396a7}.selected .lesson-num{color:#136c7f}.lesson b{display:block;font-size:15px;font-weight:600}.lesson small{display:block;font-size:13px;margin-top:4px;line-height:1.5;color:#748598}.lesson-state{margin-left:auto;color:#187b6f;font-size:14px}.lesson-foot{font-size:13px;line-height:1.9;color:#7b8c9c;padding:20px 12px;border-top:1px solid var(--line);margin-top:18px}.training{min-width:0}.scenario-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:3px 0 17px}.scenario-heading .eyebrow{margin-bottom:4px}.scenario-heading h2{font-size:24px;margin:0}.mode-toggle{display:flex;background:#dfe7ee;padding:4px;border-radius:7px}.mode-toggle button{border:0;background:transparent;font-size:14px;padding:8px 14px;border-radius:5px;color:#53687b}.mode-toggle button.on{background:white;color:var(--navy);box-shadow:0 1px 4px #0001}.coach{background:white;border:1px solid #d8e2ea;padding:18px 22px;border-radius:9px;margin-bottom:18px}.coach-top{display:flex;justify-content:space-between;align-items:center}.coach-top>span{font:600 14px 'Barlow Condensed';letter-spacing:1px;color:#19827a}.coach-top button{border:0;background:transparent;font-size:13px;color:#6b7e8e}.coach h3{margin:9px 0 7px;font-size:18px;letter-spacing:-.3px}.coach p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 14px}.step-meter{height:3px;background:#e6edf2;overflow:hidden;border-radius:3px}.step-meter div{height:100%;background:#1c9687;transition:width .3s}.scoreboard{background:#101d2b;border-radius:10px 10px 0 0;display:grid;grid-template-columns:1fr 1.8fr 1fr;color:#b8c8d5;text-align:center;padding:22px 26px 0;position:relative;border:1px solid #1b3043;box-shadow:0 12px 25px #0a203415}.board-team>span{font:600 18px 'Barlow Condensed';letter-spacing:2px}.board-team>strong{display:block;font:600 clamp(40px,5vw,68px) 'Barlow Condensed';color:#f4bc75;font-variant-numeric:tabular-nums;line-height:1.05;margin:3px 0 7px}.board-team small{font:500 13px 'Barlow Condensed';letter-spacing:1px;color:#708ea3}.board-team small b{color:#b8c8d5;font-weight:600;margin-left:5px}.board-clock>strong{font-family:'Barlow Condensed',ui-monospace,monospace;font-size:clamp(48px,6vw,80px);font-weight:600;letter-spacing:2px;color:var(--mint);line-height:1.05;font-variant-numeric:tabular-nums;display:block}.board-status{display:flex;justify-content:center;gap:14px;font:500 13px 'Barlow Condensed';letter-spacing:1.5px;margin-bottom:4px}.board-status span:last-child{color:#f4bc75}.period-line{font:500 14px 'Barlow Condensed';letter-spacing:1px;margin-top:8px}.period-line b{color:white;margin-left:7px;font-size:21px}.period-line span{color:#658092;font-size:12px;margin-left:18px}.penalty-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #25394a;margin-top:18px;padding:12px 0;font:500 14px 'Barlow Condensed',sans-serif;letter-spacing:.5px;line-height:1.6;color:#8ca4b7}.penalty-row>div:first-child{text-align:left}.penalty-row>div:last-child{text-align:right}#horn-status{position:absolute;top:6px;left:50%;transform:translateX(-50%);background:#d7873b;color:#101d2b;padding:4px 12px;border-radius:4px;font-size:13px;white-space:nowrap}.console{background:#21354a;border:1px solid #14293b;border-top:0;border-radius:0 0 10px 10px;padding:17px 20px 22px;box-shadow:0 10px 25px #0a203419}.console-top{display:flex;justify-content:space-between;align-items:center;color:#9bb0c3;margin-bottom:12px}.console-top>span{font:700 18px 'Barlow Condensed';letter-spacing:1px}.console-top b{color:#d5e1eb;margin-left:8px}.console-top small{font-size:12px}.lcd{background:#c8dba2;border:5px solid #162636;border-radius:5px;padding:9px 14px;color:#263f2d;font-family:ui-monospace,monospace;min-height:68px;box-shadow:inset 0 2px 8px #28442630}.lcd>div:first-child{font-size:12px;letter-spacing:1px}.lcd>div:last-child{font-size:18px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.console-body{display:grid;grid-template-columns:3fr 2fr 2fr 1fr;gap:16px;margin-top:18px}.console-body p{font:500 12px 'Barlow Condensed';letter-spacing:1px;color:#9fb3c5;margin:0 0 8px}.function-grid{display:grid;grid-template-columns:1fr 1fr 0.85fr;gap:6px}.timer-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.key{border:1px solid #536e88;background:#355570;color:#e7f0f8;min-height:49px;border-radius:5px;box-shadow:0 3px 0 #122739;font:600 14px 'Barlow Condensed',sans-serif;line-height:1.1;letter-spacing:.3px;padding:7px 5px;transition:background .1s,transform .1s}.key:hover{background:#476f90}.key:active{transform:translateY(2px);box-shadow:0 1px 0 #122739}.key.home{background:#874946;border-color:#a5635e}.key.home:hover{background:#a15b56}.key.visitor{background:#967835;border-color:#b5984d}.key.visitor:hover{background:#ad8d44}.key.time{background:#426580}.key.plus{background:#38637d}.key.number{font-size:24px;background:#2e698b;border-color:#4e8eaa}.key.clear,.key.enter{font-size:14px}.key.expected{outline:3px solid #9af4db;outline-offset:2px;box-shadow:0 0 15px #91e7d840}.key.unavailable{opacity:.42}.switch-panel{display:flex;flex-direction:column;gap:6px}.switch-panel p{margin-bottom:2px}.switch-panel span{color:#9fb3c5;font-size:12px;text-align:center;line-height:1.4;margin:3px 0}.key.run{background:#214940;border-color:#397363}.key.stop{background:#963f3c;border-color:#b77570}.key.run.active{background:#3e856f;border-color:#a3e4c2}.key.stop.active{background:#ba6451;border-color:#ffb697}.key.horn{background:#775436;border-color:#ac7d50;margin-top:auto}.feedback{font-size:14px;line-height:1.65;padding:12px 16px;background:#e2eee9;border:1px solid #cbded5;border-radius:6px;margin-top:16px;color:#366454}.feedback.error{background:#fff0e8;border-color:#e9cfc0;color:#92502e}.practice-tools{display:flex;align-items:center;gap:10px;margin-top:13px}.practice-tools button{border:1px solid #bdcdd9;border-radius:5px;padding:8px 12px;background:white;color:#435f74;font-size:14px}.practice-tools #next{background:#176f70;color:white;border-color:#176f70}.practice-tools>span{margin-left:auto;font-size:12px;color:#788c9e}.log{margin-top:15px;font-size:13px;color:#60798c}.log summary{cursor:pointer}.log summary span{padding:2px 6px;background:#dce6ed;border-radius:4px;margin-left:5px}.log ol{max-height:170px;overflow:auto;background:#e5edf3;padding:12px 12px 12px 35px;line-height:1.8;font:13px ui-monospace,monospace}.reference{margin-top:55px;border-top:1px solid #ccd9e3;padding-top:30px;display:grid;grid-template-columns:1fr 1.7fr;gap:40px}.reference h2{font-size:20px;margin:0 0 15px}.reference p{font-size:14px;line-height:1.9;color:#5a7184}.reference-body details{border-bottom:1px solid #cbd8e2;padding:16px 0}.reference-body details:first-child{padding-top:0}.reference summary{font-size:15px;font-weight:600;cursor:pointer;line-height:1.6}.reference-body a,.reference-body li{font-size:14px;line-height:1.8}footer{padding:24px 4vw;background:#e2eaf0;font:600 14px 'Barlow Condensed';letter-spacing:1px;color:#6e879b;display:flex;justify-content:space-between}footer span{font:12px 'Noto Sans KR',sans-serif;letter-spacing:0}button[hidden],[hidden]{display:none!important}@media(min-width:1500px){main{padding-left:45px;padding-right:45px}}@media(max-width:1150px){.workspace{grid-template-columns:215px minmax(0,1fr);gap:20px}.console-body{gap:9px}.key{font-size:13px}.console{padding:16px 13px 18px}.practice-tools>span{display:none}}@media(max-width:860px){header{height:65px}.head-right>span{display:none}.workspace{grid-template-columns:1fr}.lessons{position:static;padding:0}.lessons>.eyebrow,.lessons>h2,.lesson-foot{display:none}#lesson-list{display:flex;gap:6px;overflow-x:auto;padding:4px 3px 9px}.lesson{width:auto;flex:0 0 auto;padding:10px;border-color:#d5dfe7;background:#e5edf3}.lesson small,.lesson-state{display:none}.lesson-num{font-size:18px}.lesson b{font-size:14px}.reference{gap:25px;grid-template-columns:1fr}.intro{align-items:start}.practice-badge{display:none}.notice{margin-bottom:17px}main{padding-top:23px}.console-top small{font-size:12px}}@media(max-width:520px){header{padding:0 18px}.brand{font-size:20px;gap:6px}.brandmark{width:32px;height:32px;font-size:24px}.head-right a{font-size:12px}main{padding:23px 16px 35px}.intro h1{font-size:23px;line-height:1.5}.intro p:last-child{font-size:14px}.notice{padding:11px;font-size:13px;align-items:start}.notice p{font-size:13px}.scenario-heading h2{font-size:21px}.mode-toggle button{padding:8px 10px;font-size:13px}.coach{padding:16px}.coach h3{font-size:17px}.scoreboard{padding:18px 12px 0;grid-template-columns:1fr 1.7fr 1fr}.board-clock>strong{font-size:55px;letter-spacing:0}.board-team>strong{font-size:44px}.board-team>span{font-size:16px}.board-status{gap:7px;font-size:12px}.console-body{grid-template-columns:3fr 2fr;gap:14px}.number-panel{grid-column:1}.switch-panel{grid-column:2;display:grid;grid-template-columns:1fr 1fr;align-content:start}.switch-panel p{grid-column:1/-1}.switch-panel span{grid-column:1/-1}.switch-panel .horn{grid-column:1/-1;margin-top:6px}.key{min-height:47px;font-size:14px}.console-top small{max-width:180px;text-align:right;line-height:1.5}.console-top>span{font-size:17px}.lcd>div:last-child{font-size:16px}.penalty-row{font-size:12px;gap:10px}.practice-tools{flex-wrap:wrap}footer{gap:14px;flex-direction:column}footer span{line-height:1.7}.reference{margin-top:35px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.language-control,.model-choice,.audio-controls{display:flex;gap:4px}.language-control button{background:none;border:0;padding:7px 9px;font-size:13px;color:#647a8e;border-radius:4px}.language-control button.on{background:#e5edf3;color:#153952;font-weight:700}.model-bar{display:flex;align-items:center;gap:15px;margin-bottom:24px;padding:0 0 17px;border-bottom:1px solid #ccdbe5;flex-wrap:wrap}.model-choice{background:#dfe8ef;padding:4px;border-radius:6px}.model-choice button{padding:10px 16px;border:0;border-radius:4px;color:#576f83;background:transparent;font:600 17px 'Barlow Condensed',sans-serif}.model-choice button.on{background:#19354b;color:#b7f0df}.model-bar>span{font-size:13px;color:#647a8d}.audio-controls{margin-left:auto;gap:8px}.audio-controls button{border:1px solid #c2d3df;background:transparent;color:#4b687b;padding:8px 10px;border-radius:5px;font-size:13px}.function-grid.nevco-grid{grid-template-columns:1fr 1fr}.key.expected{scroll-margin:30px}html[lang=en] .intro h1{font-family:'Barlow Condensed',sans-serif;font-size:40px;letter-spacing:.2px}html[lang=en] .scenario-heading h2{font-family:'Barlow Condensed',sans-serif;font-size:29px}html[lang=en] .lesson b{font-family:system-ui,sans-serif;font-size:15px}html[lang=en] .lesson small{font-family:system-ui,sans-serif}html[lang=en] .coach h3{font-family:system-ui,sans-serif}html[lang=en] .coach p,html[lang=en] .feedback{font-family:system-ui,sans-serif;font-size:15px}.head-right{gap:18px}@media(max-width:860px){.model-bar{gap:10px;margin-bottom:12px}.model-bar>span{order:3;flex-basis:100%}.head-right{gap:8px}.audio-controls{gap:5px}}@media(max-width:520px){.head-right>a{display:none}.model-choice button{padding:8px 11px}.audio-controls button{padding:7px 8px;font-size:12px}.model-bar>span{font-size:12px}html[lang=en] .intro h1{font-size:31px;line-height:1.1}.intro{margin-bottom:18px}.language-control button{padding:6px}.model-bar{gap:7px}.console-top small{font-size:12px}.brand{font-size:18px}}
@media(min-width:861px){header{height:66px}main{padding-top:20px}.intro{margin-bottom:15px}.intro .eyebrow{margin-bottom:5px}.intro h1,html[lang=en] .intro h1{font-size:31px;margin-bottom:6px}.intro p:last-child{font-size:14px}.notice{padding:10px 15px;margin-bottom:16px}.model-bar{margin-bottom:16px;padding-bottom:12px}.model-choice button{padding:8px 14px}.scenario-heading{margin-bottom:12px}.scenario-heading h2,html[lang=en] .scenario-heading h2{font-size:25px}.coach{padding:13px 18px;margin-bottom:12px}.coach h3{margin:6px 0;font-size:17px}.coach p{margin-bottom:10px}.scoreboard{padding-top:13px}.board-clock>strong{font-size:64px}.board-team>strong{font-size:52px}.period-line{margin-top:3px}.penalty-row{margin-top:10px;padding:8px 0}.console{padding-top:12px}.console-top{margin-bottom:8px}.console-body{margin-top:12px}.lcd{min-height:58px;padding:6px 12px}}
@media(max-width:860px){.workspace{grid-template-columns:minmax(0,1fr)}.lessons{min-width:0;max-width:100%}#lesson-list{max-width:100%}}.coach,.reference-body{overflow-wrap:anywhere}
/* ISC85X-MXO: supplied photograph, with controls aligned to the physical keypad. */
.device-photo,.overlay-caption,#device-lcd,.rocker-position,.device-note{display:none}
.console.mxo{padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;min-width:0}
.console.mxo .console-top{padding:9px 13px;background:#1b2b35;border-radius:7px 7px 0 0;margin:0}
.console.mxo .console-top>span{font-size:16px}.console.mxo .console-top small{font-size:12px}
.console.mxo .device-viewport{overflow-x:auto;overflow-y:hidden;border-radius:0 0 6px 6px;background:#292e2c;scrollbar-color:#70827c #292e2c}
.console.mxo .device-stage{position:relative;aspect-ratio:1040 / 800;width:100%;min-width:720px;container-type:inline-size;isolation:isolate;overflow:hidden}
.console.mxo .device-photo{display:block;position:absolute;max-width:none;width:100%;height:100%;left:0;top:0;user-select:none;pointer-events:none}
.console.mxo .overlay-caption{display:flex;position:absolute;left:10.2%;top:42.25%;width:21.55%;height:4.2%;align-items:center;justify-content:center;transform:rotate(-.85deg);background:#3ab1d2;color:#fff;font:bold 1.28cqw Arial,sans-serif;letter-spacing:0;border:1px solid #99d7e6;box-shadow:inset 0 0 9px #b4efff30;z-index:2}
.console.mxo .lcd{position:absolute;left:17.4%;top:29.1%;width:50.75%;height:6.6%;padding:0;border:0;border-radius:0;background:#86a864;transform:rotate(-1.15deg);box-shadow:inset 0 0 5px #273d29b3;overflow:hidden;z-index:2}
.console.mxo #device-lcd{display:block;width:100%;height:100%;image-rendering:pixelated;padding:0 .35cqw;filter:contrast(.9);box-shadow:inset 0 0 8px #2b392673}
.console.mxo #lcd-label,.console.mxo #lcd-value{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.console.mxo .console-body{position:absolute;inset:0;margin:0;display:block;z-index:3}
.console.mxo .function-panel,.console.mxo .timer-panel,.console.mxo .number-panel,.console.mxo .switch-panel{position:absolute;margin:0}
.console.mxo .function-panel{left:7.9%;top:47.7%;width:24.9%;height:32.4%;transform:rotate(-1.15deg) skewX(-1.7deg)}
.console.mxo .timer-panel{left:34.9%;top:47.4%;width:16.75%;height:32.6%;transform:rotate(-1.15deg) skewX(-1.3deg)}
.console.mxo .number-panel{left:53.4%;top:46.9%;width:25.15%;height:32.7%;transform:rotate(-1.6deg) skewX(-1deg)}
.console.mxo .console-body p{display:none}
.console.mxo .function-grid,.console.mxo .timer-grid,.console.mxo .number-grid{height:100%;padding:1.1cqw .95cqw;gap:.8cqw;grid-template-rows:repeat(4,minmax(0,1fr));background:transparent;border-radius:2cqw}
.console.mxo .function-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-left:1.15cqw;padding-right:.95cqw}
.console.mxo .timer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.console.mxo .number-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:.9cqw 1.03cqw;gap:.75cqw .85cqw}
.console.mxo .key{font:bold 1.28cqw Arial,sans-serif;letter-spacing:-.015cqw;line-height:1.1;min-height:0;min-width:0;padding:0;border-radius:1.18cqw;border:1px solid #ffffff3b;box-shadow:inset 0 0 4px #ffffff23;position:relative;overflow:visible;transition:filter .12s,box-shadow .12s,transform .08s}
.console.mxo .key.home{background:#cf5650;color:#fff}.console.mxo .key.visitor{background:#e1dd38;color:#403f1b}.console.mxo .key.time,.console.mxo .key.plus{background:#26a9ce;color:#fff}
.console.mxo .timer-grid .key{background:#506397;color:#fff}.console.mxo .timer-grid [data-key=PLAY_SET]{background:#d5544b}.console.mxo .timer-grid [data-key=SHIFT]{background:#e59b38}.console.mxo .timer-grid [data-key=PLAY_RESET]{background:#448b49}.console.mxo .timer-grid [data-key=SETUP]{background:#26a9ce}
.console.mxo .key.unavailable{opacity:1;filter:saturate(.8)}.console.mxo .key:disabled{background:#27a8cb;border-color:transparent}
.console.mxo .number-grid .key{background:transparent;color:transparent;border-color:transparent;box-shadow:none}
.console.mxo .key:hover{filter:brightness(1.08);box-shadow:inset 0 0 3px #fff7,0 0 4px #fff5}.console.mxo .key:active{transform:translateY(1px);filter:brightness(.85)}
.console.mxo .key.expected{outline:3px solid #91ffdb;outline-offset:1px;box-shadow:0 0 12px #50ecc585}.console.mxo .key:focus-visible{outline:3px solid #fff;outline-offset:2px}
.console.mxo .switch-panel{inset:0;display:block;pointer-events:none}.console.mxo .switch-panel>span{display:none}
.console.mxo .switch-panel .key{position:absolute;pointer-events:auto;color:transparent;background:transparent;box-shadow:none;border:0;border-radius:.4cqw}
.console.mxo .switch-panel .horn{left:81%;top:47.1%;width:7.5%;height:8.6%;margin:0}
.horn-face{display:none}
.console.mxo .switch-panel .horn:is(:hover,:active){filter:none;transform:none;box-shadow:none}
.console.mxo .horn-face{display:block;position:absolute;left:7.2%;top:7%;width:87%;height:77%;background:#111314;clip-path:polygon(8% 0,91% 0,100% 14%,100% 84%,91% 100%,9% 100%,0 86%,0 15%);pointer-events:none}
.console.mxo .horn-cap{display:block;position:absolute;inset:0;transform:scale(1);transform-origin:center;transition:transform .09s ease,filter .09s ease;filter:drop-shadow(0 .07cqw .06cqw #0009)}
.console.mxo .horn-cap img{display:block;position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;user-select:none}
.console.mxo .horn-face::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 .12cqw .06cqw #0005;transition:box-shadow .09s ease;pointer-events:none}
.console.mxo .horn:is(:active,.sounding) .horn-cap{transform:scale(.91);filter:brightness(.8)}
.console.mxo .horn:is(:active,.sounding) .horn-face::after{box-shadow:inset 0 .15cqw .4cqw .25cqw #000e}
@media(prefers-reduced-motion:reduce){.console.mxo .horn-cap,.console.mxo .horn-face::after{transition:none}}
.console.mxo .switch-panel .run{left:83.6%;top:69%;width:5.1%;height:4.8%;z-index:4}
.console.mxo .switch-panel .stop{left:83.6%;top:73.8%;width:5.1%;height:4.8%;z-index:4}
.console.mxo .switch-panel .key.active{outline:none}
.console.mxo .rocker-position{display:block;position:absolute;left:83.35%;top:68.35%;width:5.65%;height:9.85%;z-index:3;pointer-events:none;transform:rotate(-3deg);border:.22cqw solid #45484a;border-radius:.35cqw;background:linear-gradient(120deg,#777a7d,#343638 38%,#65676a 80%,#45484a);box-shadow:0 .12cqw .2cqw #0009,inset .09cqw .07cqw .07cqw #a3a5a7,inset -.08cqw -.1cqw .08cqw #242629}
.console.mxo .rocker-well{position:absolute;inset:9% 12%;border:.14cqw solid #17191a;border-radius:.38cqw;background:#090a0b;box-shadow:inset 0 0 .22cqw .11cqw #000}
.console.mxo .rocker-cap{position:absolute;inset:1.6% .8%;border:.09cqw solid #202224;border-radius:.35cqw;background:linear-gradient(to bottom,#46494b,#36393c 30%,#2d3033 60%,#17191b);transform-origin:center;transform:perspective(9cqw) rotateX(-23deg);box-shadow:0 -.35cqw .18cqw #000c,inset .06cqw .05cqw .05cqw #6a6e70,inset -.05cqw -.08cqw .07cqw #141617;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.console.mxo .rocker-cap::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(to top,#0008,transparent 50%);pointer-events:none}
.console.mxo .rocker-i,.console.mxo .rocker-o{position:absolute;left:0;width:100%;text-align:center;font:700 1.15cqw/1 Arial,sans-serif;color:#d99797;text-shadow:0 .025cqw .05cqw #000;opacity:.95}
.console.mxo .rocker-i{top:19%}.console.mxo .rocker-o{bottom:17%}
.console.mxo .rocker-position.running .rocker-cap{transform:perspective(9cqw) rotateX(23deg);background:linear-gradient(to bottom,#181a1c 0%,#303337 40%,#3a3d40 80%,#46494b);box-shadow:0 .35cqw .19cqw #000e,inset .05cqw .06cqw .05cqw #666a6d,inset -.05cqw -.08cqw .07cqw #141617}
.console.mxo .rocker-position.running .rocker-cap::after{background:linear-gradient(to bottom,#0007,transparent 50%)}
@media(prefers-reduced-motion:reduce){.console.mxo .rocker-cap{transition:none}}
.rocker-status{display:none}
.console.mxo .rocker-status{display:flex;position:absolute;left:89.6%;top:74.2%;width:10%;height:4%;align-items:center;gap:.35cqw;pointer-events:none;color:#d4b0a9;font:800 1.9cqw/1 system-ui,sans-serif;text-shadow:0 .08cqw .15cqw #000c}
.console.mxo .rocker-status strong{font-weight:900}
.console.mxo .rocker-status>span{font:inherit;color:inherit;line-height:1;display:block;margin:0}
.console.mxo .rocker-position.running+.rocker-status{top:69.4%;color:#97bed3}
.console.mxo .device-note{display:block;color:#62798a;font-size:12px;margin:8px 0 13px;line-height:1.7}
body[data-controller=oes] .training{display:flex;flex-direction:column}body[data-controller=oes] .scenario-heading{order:0}body[data-controller=oes] .coach{order:1}body[data-controller=oes] .console{order:2}body[data-controller=oes] .scoreboard{order:3;border-radius:7px;margin-top:0;box-shadow:none}body[data-controller=oes] .feedback{order:4}body[data-controller=oes] .practice-tools{order:5}body[data-controller=oes] .log{order:6}
body[data-controller=oes] .scoreboard{padding:10px 16px 0}body[data-controller=oes] .board-clock>strong{font-size:43px}body[data-controller=oes] .board-team>strong{font-size:36px}body[data-controller=oes] .board-team>span{font-size:15px}body[data-controller=oes] .penalty-row{margin-top:8px}
@media(max-width:860px){.console.mxo .device-stage{min-width:720px}.console.mxo .console-top small{max-width:190px}.console.mxo .device-note{margin-bottom:10px}.console.mxo .device-viewport{overscroll-behavior-x:contain}}
.key.expected,.console.mxo .key.expected,.console.mxo .switch-panel .key.expected{outline:6px solid #e00016!important;outline-offset:2px!important;box-shadow:0 0 0 11px #fff!important;z-index:10}
.console.mxo .device-stage{overflow:clip}.console.mxo .lcd{min-height:0}
#next-key{display:inline-block;margin-top:8px;padding:7px 13px;border:3px solid #e00016;border-radius:6px;background:#fff;color:#b50013;font:800 18px system-ui,sans-serif;letter-spacing:.3px}
.rules-demo{margin:0 0 16px;padding:16px 20px;background:#fff;border:2px solid #ccdce6;border-radius:8px;order:2}
.rules-demo h3{margin:0 0 8px;font-size:18px}.rules-demo p{font-size:14px;line-height:1.7;margin:8px 0}.rules-demo button{padding:10px 14px;color:white;background:#176f70;border:0;border-radius:5px;font-weight:700;font-size:15px}
.rules-demo .rule-result{font-size:16px;font-weight:700;color:#173f50;padding:12px;background:#e5f2ed;border-radius:6px}
.rules-demo .released{color:#b40017}.lessons{max-height:calc(100vh - 35px);overflow-y:auto}
@media(max-width:860px){.lessons{max-height:none;overflow-y:visible}.rules-demo{padding:14px}}

/* Free practice keeps the console and mode switch; lesson guidance belongs to Tutorial. */
body[data-practice-mode=free] .workspace{grid-template-columns:minmax(0,1fr)}
body[data-practice-mode=free] .lessons,body[data-practice-mode=free] .coach,body[data-practice-mode=free] .scenario-heading>div:first-child,body[data-practice-mode=free] .rules-demo{display:none!important}
body[data-practice-mode=free] .scenario-heading{justify-content:flex-end;margin-top:0}
body[data-practice-mode=free] .training{width:100%;max-width:1100px;margin-inline:auto}

/* Compact operating toolbar; background information lives below the simulator. */
.model-bar{align-items:center;padding-bottom:12px;margin-bottom:10px}.model-bar>.language-control{margin-left:auto}
.model-combobox{position:relative;width:360px;max-width:100%}.model-combobox>label{display:block;font-size:12px;font-weight:700;color:#4b6276;margin-bottom:6px}
.controller-input-wrap{display:flex;background:#fff;border:1px solid #acbfce;border-radius:7px;overflow:hidden;box-shadow:0 2px 5px #152e4010}
#controller-search{min-width:0;width:100%;border:0;background:transparent;padding:11px 13px;font:600 15px system-ui,sans-serif;color:#17344b;outline:none}
.controller-input-wrap:focus-within{outline:3px solid #167da4;outline-offset:2px}#controller-toggle{border:0;border-left:1px solid #d1dce5;background:#edf4f8;color:#25475d;min-width:44px;font-size:21px}
.controller-menu{position:absolute;z-index:40;left:0;right:0;top:100%;margin-top:5px;padding:5px;background:#fff;border:1px solid #aabfce;border-radius:7px;box-shadow:0 8px 24px #172b4033}
#controller-options button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:12px;border-radius:4px;font-size:15px;color:#1b3b51}
#controller-options button.selected{font-weight:700;background:#e2f1ec}#controller-options button.highlighted,#controller-options button:hover{background:#dcecf5;outline:2px solid #4d92b1;outline-offset:-2px}#controller-empty{font-size:14px;color:#5e7080;padding:8px;margin:0}
.about-panel{margin-top:40px;border-top:1px solid #c7d7e1;padding-top:20px}.about-panel header{padding:0 16px;height:auto;min-height:62px;gap:15px;border-radius:7px;border:1px solid #d4dfe7;margin-bottom:20px}.about-panel .intro{margin-top:15px}.about-panel #model-description{font-size:13px;color:#647a8d;margin-bottom:0}.reference{margin-top:30px}
body[data-practice-mode=free] .model-bar{max-width:1100px;margin-inline:auto}
@media(max-width:600px){.model-combobox{width:100%}.model-bar>.language-control{margin-left:auto}.about-panel header{flex-wrap:wrap;padding:14px}.about-panel .head-right{flex-wrap:wrap}.about-panel .head-right>span,.about-panel .head-right>a{display:block}.about-panel .intro h1,html[lang=en] .about-panel .intro h1{font-size:27px}main{padding-top:14px}}

#controller-options{max-height:min(55vh,470px);overflow:auto;overscroll-behavior:contain}.controller-group-label{padding:11px 12px 6px;color:#60788a;font-size:12px;letter-spacing:1px;font-weight:800;border-bottom:1px solid #e1e9ee}.model-combobox{width:470px}.arena-info{margin-top:36px;padding:22px;background:#fff;border:1px solid #cad9e3;border-radius:8px}.arena-info h2{margin:0 0 10px;font-size:22px}.arena-info p{font-size:14px;line-height:1.8;color:#546e81}.arena-info details{border-top:1px solid #dae4eb;padding:17px 0}.arena-info summary{font-size:16px;font-weight:700;cursor:pointer}.arena-source-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding-top:18px}.arena-source img{width:100%;max-height:380px;object-fit:contain;background:#edf3f6;border-radius:6px}.source-links{display:flex;gap:12px;flex-wrap:wrap}.source-links a{padding:8px 11px;background:#edf5f7;border-radius:4px;font-size:14px}.shot-training{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px}.shot-display{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#142939;border-radius:8px;color:#b8d1de;min-height:180px;gap:10px}.shot-display strong{font:600 72px ui-monospace,monospace;color:#eeead3}.shot-display span{font-size:13px;letter-spacing:1px}.shot-toolbar{display:flex;flex-wrap:wrap;gap:6px}.shot-toolbar button,.shot-key{min-height:44px;padding:10px 14px;border-radius:5px;border:1px solid #9db6c7;background:#eaf2f7;color:#13374e;font-size:14px;font-weight:700}#shot-controls{display:flex;flex-wrap:wrap;gap:14px;padding:12px 6px}.shot-key.expected{outline:6px solid #e00016;outline-offset:2px;box-shadow:0 0 0 10px white}.shot-key:hover{background:#cfe9f0}#shot-cue{font-weight:800;color:#1c4455}.console:not(.mxo) #device-lcd{display:none}.console:not(.mxo) .device-stage{position:static}.console:not(.mxo) .device-photo{display:none}.console:not(.mxo) .lcd{min-height:76px}.console:not(.mxo) .key{min-height:55px}.console:not(.mxo) .function-grid.nevco-grid{grid-template-columns:1fr 1fr}body[data-controller=fairplay] .function-grid.nevco-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:650px){.model-combobox{width:100%}.arena-info{padding:16px}.arena-source-grid,.shot-training{grid-template-columns:1fr}.shot-display{min-height:130px}.shot-training{gap:16px}#controller-options{max-height:50vh}}

.console:not(.mxo) .device-note{display:block;color:#c7d9e4;font-size:12px;margin:16px 0 0}.key:focus-visible,.shot-key:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* Keep the full scoreboard and console together, including on a phone. */
.training{display:flex;flex-direction:column}.scenario-heading{order:0}.coach{order:1}
.training .photo-scoreboard,body[data-controller=oes] .training .photo-scoreboard{order:2;padding:0;margin:0 0 16px;background:#161b20;border:0;border-radius:6px;display:block;box-shadow:none;overflow:hidden;color:#dae5ef}
.training .rules-demo{order:3}.training .console,body[data-controller=oes] .training .console{order:4}
.training .feedback,body[data-controller=oes] .training .feedback{order:5}.training .practice-tools,body[data-controller=oes] .training .practice-tools{order:6}.training .log,body[data-controller=oes] .training .log{order:7}
.scoreboard-face{width:100%;aspect-ratio:2073 / 530;position:relative;overflow:hidden;container-type:inline-size;background:#a91b20}
.scoreboard-photo{position:absolute;width:100%;height:100%;max-width:none;left:0;top:0;pointer-events:none;user-select:none}
.board-name,.board-digits{position:absolute;display:flex;align-items:center;justify-content:center;line-height:1;overflow:hidden}
.board-name{top:6.2%;height:16.8%;font:700 3.1cqw 'Barlow Condensed',sans-serif;color:#fff7e8;letter-spacing:.15cqw;white-space:nowrap}
.home-name{left:27%;width:11%}.visitor-name{left:62.1%;width:11.6%}
.board-digits svg{width:100%;height:100%;filter:drop-shadow(0 0 2px #fff2);padding:1%}
.home-score{left:27.6%;top:29%;width:9.9%;height:36%}.visitor-score{left:63%;top:29%;width:9.9%;height:36%}
.game-clock{left:40.7%;top:6.5%;width:18.5%;height:34%}.board-period{left:56.8%;top:71%;width:3.6%;height:22%}
.home-penalty{left:2.1%;width:13.9%;height:25%}.home-player{left:17.7%;width:6.6%;height:25%}
.visitor-player{left:76.2%;width:6.6%;height:25%}.visitor-penalty{left:84.8%;width:13.6%;height:25%}
.slot-1{top:9%}.slot-2{top:64%}
.board-toolbar{display:flex;align-items:center;gap:12px;padding:10px 15px;font:600 13px system-ui,sans-serif;color:#d5e2ea;flex-wrap:wrap}.board-toolbar #run-state{color:#ffcb82}.board-shots{margin-left:auto}
.photo-scoreboard .penalty-row,body[data-controller=oes] .photo-scoreboard .penalty-row{margin:0;padding:8px 15px 11px;text-align:left;display:flex;justify-content:space-between;gap:14px;font:13px system-ui,sans-serif;line-height:1.6;border-top:1px solid #35414a;flex-wrap:wrap}
.photo-scoreboard #horn-status{position:absolute;inset:auto 42% 2%;background:#ffc664;color:#181b20;font:bold 1.5cqw system-ui;padding:.3cqw;border-radius:3px}
.console.mxo .device-stage{min-width:0!important;width:100%}.console.mxo .device-viewport{overflow:hidden}
@media(max-width:600px){main{padding:12px 8px 24px}.model-bar{gap:8px}.console.mxo .console-top{padding:7px 9px}.console.mxo .console-top small{font-size:11px;max-width:62%;line-height:1.25}.console.mxo .console-top>span{font-size:14px}.board-toolbar{font-size:12px;gap:8px;padding:8px 10px}.photo-scoreboard .penalty-row,body[data-controller=oes] .photo-scoreboard .penalty-row{font-size:12px;padding:6px 10px 8px;gap:4px 14px}.scenario-heading{gap:8px;flex-wrap:wrap}.console.mxo .key.expected,.console.mxo .switch-panel .key.expected{outline-width:3px!important;outline-offset:1px!important;box-shadow:0 0 0 5px white!important}.console:not(.mxo){padding:12px 10px}.console:not(.mxo) .key{min-height:40px;font-size:12px}.console:not(.mxo) .console-body{gap:8px}.console:not(.mxo) .console-top{gap:8px}.feedback{padding:10px;font-size:14px!important}.practice-tools{gap:8px}}

.console.mxo .function-grid .key.time,.console.mxo .function-grid .key.plus{font-family:'Barlow Condensed',Arial,sans-serif;font-size:min(32px,3.04cqw);font-weight:700;letter-spacing:0;line-height:1}

/* The console starts directly with its photograph. */
.console.mxo .device-viewport{border-radius:6px}

/* Each controller family uses its own scoreboard face and field positions. */
.scoreboard-face[data-skin=oes]{aspect-ratio:4.2;background:#152958}

.scoreboard-face[data-skin=oes] .board-name{display:none}
.scoreboard-face[data-skin=oes] .home-player{left:3%;width:8%;height:25%}
.scoreboard-face[data-skin=oes] .home-penalty{left:13%;width:12%;height:25%}
.scoreboard-face[data-skin=oes] .visitor-penalty{left:76.5%;width:12%;height:25%}
.scoreboard-face[data-skin=oes] .visitor-player{left:90.5%;width:8%;height:25%}
.scoreboard-face[data-skin=oes] .slot-1{top:21%}.scoreboard-face[data-skin=oes] .slot-2{top:58%}
.scoreboard-face[data-skin=oes] .home-score{left:27.5%;top:55%;width:10%;height:31%}
.scoreboard-face[data-skin=oes] .visitor-score{left:63.5%;top:55%;width:10%;height:31%}
.scoreboard-face[data-skin=oes] .game-clock{left:40.5%;top:15%;width:20%;height:33%}
.scoreboard-face[data-skin=oes] .board-period{left:48.4%;top:65%;width:3.5%;height:24%}
.neutral-label{display:none}
.scoreboard-face[data-skin=generic]{background:#142a3a;border:1px solid #47687c}
.scoreboard-face[data-skin=generic] .neutral-label{display:block;position:absolute;top:42%;font:600 1.5cqw system-ui,sans-serif;color:#b9cddd;text-align:center}
.scoreboard-face[data-skin=generic] .home-time-label{left:2.1%;width:13.9%}.scoreboard-face[data-skin=generic] .home-player-label{left:17.7%;width:6.6%}
.scoreboard-face[data-skin=generic] .visitor-time-label{left:84.8%;width:13.6%}.scoreboard-face[data-skin=generic] .visitor-player-label{left:76.2%;width:6.6%}
.scoreboard-face[data-skin=generic] .period-label{left:42%;top:73%;width:14%}

/* Crop the prepared OES photograph to the physical face, and cover stale LED marks. */
.scoreboard-face[data-skin=oes]{aspect-ratio:1983 / 553}

.scoreboard-face[data-skin=oes] .board-digits{background:#171b1f;border-radius:.3cqw}
.scoreboard-face[data-skin=oes] .home-player{left:3.5%;width:7.5%;height:27.5%}
.scoreboard-face[data-skin=oes] .home-penalty{left:14.2%;width:11.5%;height:27.5%}
.scoreboard-face[data-skin=oes] .visitor-penalty{left:74.5%;width:11.7%;height:27.5%}
.scoreboard-face[data-skin=oes] .visitor-player{left:89%;width:7.7%;height:27.5%}
.scoreboard-face[data-skin=oes] .slot-1{top:22%}.scoreboard-face[data-skin=oes] .slot-2{top:59%}
.scoreboard-face[data-skin=oes] .home-score{left:29.4%;top:57.4%;width:8.8%;height:31%}
.scoreboard-face[data-skin=oes] .visitor-score{left:61.6%;top:57.4%;width:9%;height:31%}
.scoreboard-face[data-skin=oes] .game-clock{left:40.7%;top:10%;width:19%;height:33.5%}
.scoreboard-face[data-skin=oes] .board-period{left:48%;top:64%;width:4.1%;height:25%}

/* Compact bilingual header and one quiet bottom note. */
.canada-leaf{width:38px;height:42px;color:#d80621;flex-shrink:0;filter:drop-shadow(0 2px 1px #a4001515)}
.model-bar>.language-control{margin-left:auto;flex-shrink:0}

.tutorial-next{background:#176f70;color:white;border:0;border-radius:5px;padding:9px 14px;margin:0 0 12px;font:600 14px system-ui,sans-serif}
@media(max-width:600px){.model-bar>.language-control{margin-left:0}.canada-leaf{margin-left:auto;width:30px;height:34px}}

/* Mode selection belongs alongside language, before the flag. */
.header-actions{margin-left:auto;display:flex;align-items:center;gap:14px;flex-shrink:0}
.header-actions .mode-toggle{margin:0;white-space:nowrap}
.header-actions .language-control{margin:0}
.header-actions .canada-leaf{margin:0}
body[data-practice-mode=free] .scenario-heading{display:none}
@media(max-width:650px){
 main{padding:0 0 24px}
 .model-bar{padding:10px;margin-bottom:10px;gap:9px}
 .model-combobox{width:100%}
 .header-actions{width:100%;gap:10px;margin:0}
 .header-actions .mode-toggle{margin-right:auto}
 .header-actions .mode-toggle button{padding:8px 10px;font-size:13px}
 .header-actions .canada-leaf{width:30px;height:34px}
 .training,.workspace{min-width:0}
 .scenario-heading{padding:0 10px}
 .coach{margin-left:10px;margin-right:10px}
 .lessons{padding-left:10px;padding-right:10px}
}

.control-hint{position:fixed;z-index:100;max-width:calc(100vw - 20px);width:350px;padding:16px 42px 16px 18px;border:2px solid #c97718;border-radius:8px;background:#fff9ee;color:#263846;box-shadow:0 6px 24px #13283a40}
.control-hint p{margin:0;font:600 15px/1.6 system-ui,sans-serif}
#control-hint-close{position:absolute;top:5px;right:6px;width:32px;height:32px;padding:0;border:0;border-radius:4px;background:transparent;color:#6d4920;font:26px/1 system-ui,sans-serif}
#control-hint-close:hover{background:#f1e3cc}
@media(max-width:650px){.control-hint{padding:13px 42px 13px 15px}.control-hint p{font-size:14px}}

/* Full-width footer rests against the bottom of the page. */
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
main{width:100%;flex:1;margin:0 auto;padding-bottom:0}
.site-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;width:100%;margin:0;padding:12px 16px;border:0;border-radius:0;background:#e3e6e8;color:#59636d;font:13px/1.6 system-ui,sans-serif}
.site-footer p{flex:1;min-width:0;margin:0}
.site-footer .footer-credit{flex-shrink:0;white-space:nowrap;text-align:right;line-height:1.6}
@media(max-width:650px){.site-footer{gap:12px;padding:10px;font-size:12px}}

/* Wrap the entire toolbar into two full rows when its available width is narrow. */
.model-bar{container-type:inline-size;align-items:flex-end}
.model-combobox{flex:0 0 470px}
.header-actions{align-items:flex-end;align-self:flex-end}
@container(max-width:800px){
 .model-combobox{width:100%;flex-basis:100%}
 .header-actions{width:100%;margin:0;gap:14px}
 .header-actions .mode-toggle{margin-right:auto}
}
/* Arena selector: separate map links never select a controller. */
.model-combobox{width:660px;flex-basis:660px;min-width:0}.controller-input-wrap{position:relative;align-items:stretch}#controller-selected{flex:1;min-width:0;border:0;background:white;color:#17344b;text-align:left;padding:12px 13px;font:600 15px system-ui,sans-serif}.controller-title{display:flex;gap:12px;align-items:baseline;justify-content:space-between}.controller-title strong{font-weight:650;min-width:0;line-height:1.4}.controller-model{flex-shrink:0;font-size:12px;font-weight:700;color:#486a80;max-width:45%;text-align:right;line-height:1.4}.controller-address{display:block;margin-top:5px;padding-right:100px;min-height:19px;font-size:12px;font-weight:400;color:#617585;line-height:1.5}.controller-option-row{position:relative}.controller-map{position:absolute;right:12px;bottom:14px;font-size:12px;font-weight:600;color:#176686;text-decoration:underline;text-underline-offset:3px;padding:3px 0}.controller-input-wrap>.controller-map{right:56px;bottom:11px}.controller-report{margin-top:8px;border:0;padding:5px 0;background:transparent;color:#526d80;font-size:12px;text-decoration:underline;text-underline-offset:3px;text-align:left}.controller-report:hover{color:#17344b}#controller-selected[hidden],#controller-search[hidden],.controller-map[hidden],.controller-report[hidden],.controller-option-row[hidden]{display:none!important}
.report-dialog{width:min(460px,calc(100vw - 44px));padding:24px;border:1px solid #acbfce;border-radius:12px;color:#17344b;box-shadow:0 15px 60px #14293940}.report-dialog::backdrop{background:#101d2b99}.report-dialog h2{font-size:21px;margin:0 28px 12px 0;line-height:1.3}.report-context{font-size:13px;line-height:1.6;color:#506a7d}.report-dialog label{display:block;font-size:14px;font-weight:700;margin:20px 0 8px}.report-dialog textarea{box-sizing:border-box;width:100%;min-height:130px;resize:vertical;border:1px solid #9cb4c6;border-radius:6px;padding:10px;font:14px system-ui,sans-serif;color:#17344b}.report-dialog small{display:block;color:#607888;font-size:12px;line-height:1.5;margin:9px 0}.report-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.report-actions button{border:1px solid #9fb7c9;border-radius:6px;padding:10px 16px;background:#edf4f8;color:#17344b;font-weight:700}.report-actions button[type=submit]{background:#1d637f;color:white;border-color:#1d637f}.report-actions button:disabled{opacity:.6}.report-status{font-size:14px;line-height:1.5}.report-status[data-error=true]{color:#aa3445}.report-honeypot{position:absolute;left:-10000px}.report-dialog textarea:focus-visible,.controller-map:focus-visible{outline:3px solid #167da4;outline-offset:3px}
@media(max-width:760px){.model-combobox{width:100%;flex-basis:100%}.controller-title{gap:9px}.controller-model{font-size:11px;max-width:40%}.controller-address{font-size:11px}.controller-map{font-size:11px}.report-dialog{padding:20px}.controller-report{font-size:11px}}
/* Reserve the same toolbar space for a selected arena, search, and report link. */
.model-combobox{--selector-label-height:24px;--selector-field-height:58px;--selector-report-height:34px;display:grid;grid-template-rows:var(--selector-label-height) var(--selector-field-height) var(--selector-report-height);height:calc(var(--selector-label-height) + var(--selector-field-height) + var(--selector-report-height));align-content:start}
.model-combobox>label{line-height:18px;margin:0}
.controller-input-wrap{height:var(--selector-field-height)}
#controller-selected{display:flex;flex-direction:column;justify-content:center;padding:6px 8px;font-size:16px}
#controller-selected .controller-title strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.controller-title{gap:8px}
.controller-address{margin-top:3px;min-height:17px;line-height:1.4}
#controller-selected .controller-address{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#controller-search{height:100%;padding:6px 8px;font-size:16px}
#controller-toggle{min-width:32px;font-size:18px}
.controller-input-wrap>.controller-map{right:40px;bottom:5px}
#controller-options button{padding:6px 8px;font-size:14px}
.controller-option-row>.controller-map{right:8px;bottom:6px}
.controller-report{display:block;margin:0;padding:8px 0 5px;line-height:18px;align-self:stretch}
.controller-report[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.controller-menu{position:absolute;top:0;right:auto;margin-top:0}
#controller-options{max-height:var(--controller-options-height,470px);touch-action:pan-y}
@media(max-width:760px){
 .model-combobox{--selector-label-height:42px;--selector-field-height:96px;--selector-report-height:44px}
 #controller-selected .controller-title strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}
 #controller-selected .controller-address{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}
}
/* Unused practice controls remain clickable, with a crisp system-red cross. */
.key.unavailable:not(:disabled)::before,.photo-key.unsupported::before{content:'';position:absolute;z-index:5;left:50%;top:50%;width:62%;aspect-ratio:1;max-width:42px;transform:translate(-50%,-50%);pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M11 11L29 29M29 11L11 29' fill='none' stroke='%23ff3b30' stroke-width='3.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 1px 1px #ffffff80);opacity:.96;transition:opacity .15s,filter .15s}.key.unavailable:not(:disabled):hover::before,.photo-key.unsupported:hover::before{opacity:1;filter:drop-shadow(0 0 3px #ff3b3066)}

/* Control errors use the anchored live popup; never insert an inline row. */
#feedback{display:none!important}

/* Controller sections are unframed working surfaces; photos retain their key overlays. */
.training .console,.training .photo-controller{padding:0}
.training .console-top,.training .device-note{display:none}
/* Text fields stay at 16px or larger so mobile browsers do not zoom on focus. */
input,textarea,select{font-size:max(16px,1em)!important}
