:root{--ink:#17201d;--muted:#59645f;--paper:#f4f6f2;--surface:#fff;--line:#cdd4cf;--accent:#d7f34a;--green:#174c3e;--danger:#b73524;--r:14px;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100dvh}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #176ee8;outline-offset:3px}[hidden]{display:none!important}
.topbar{height:64px;padding:0 clamp(18px,4vw,56px);display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);background:rgba(244,246,242,.96)}.topbar p{margin:0;color:var(--muted);font-size:14px}.brand{color:var(--ink);font:800 17px ui-monospace,SFMono-Regular,monospace;text-decoration:none}.brand strong{padding:4px 7px;background:var(--accent)}.text-button{margin-left:auto;border:0;background:transparent;color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.kicker,.section-label{font:800 11px ui-monospace,SFMono-Regular,monospace;text-transform:uppercase;letter-spacing:.1em}.onboarding{min-height:calc(100dvh - 64px);max-width:1240px;margin:auto;padding:clamp(34px,7vh,72px) clamp(20px,4vw,52px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(460px,1.15fr);align-items:center;gap:clamp(44px,8vw,100px)}.onboarding h1{margin:14px 0 24px;font-size:clamp(52px,7vw,88px);line-height:.9;letter-spacing:-.065em}.onboarding-copy>p:not(.kicker){max-width:520px;margin:0;color:var(--muted);font-size:18px;line-height:1.55}.start-button{min-height:56px;margin-top:26px;padding:0 28px;border:2px solid var(--ink);border-radius:10px;background:var(--accent);color:var(--ink);font-weight:800;font-size:17px}.barrier-note{margin:8px 0 20px;color:var(--muted);line-height:1.45}.barrier-cards{display:grid;gap:10px}.barrier-card{width:100%;min-height:82px;padding:15px 18px;border:2px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);text-align:left;display:grid;grid-template-columns:145px 1fr;align-items:center;gap:18px}.barrier-card strong{font-size:16px}.barrier-card span{color:var(--muted);font-size:14px;line-height:1.4}.barrier-card[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--surface)}.barrier-card[aria-pressed=true] span{color:#dfe5e0}.barrier-card[aria-pressed=true] strong:before{content:'✓ ';color:var(--accent)}
.playing footer{display:none}.game{min-height:calc(100dvh - 64px)}.workspace{max-width:1440px;margin:auto;padding:18px clamp(18px,2.5vw,36px);display:grid;grid-template-columns:minmax(650px,1.55fr) minmax(290px,.55fr);gap:16px}.device-column,.inspector{border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.device-column{padding:16px;display:grid;grid-template-columns:minmax(230px,.72fr) minmax(400px,1.28fr);grid-template-rows:auto 1fr;gap:14px 18px}.column-heading{grid-column:1/-1;display:flex;align-items:center;min-height:48px;gap:18px}.column-heading h2{margin:3px 0 0;font-size:22px;letter-spacing:-.03em}.metric{margin-left:auto;text-align:right}.metric+.metric{margin-left:0}.metric b{display:block;font:800 21px ui-monospace,SFMono-Regular,monospace}.metric span{color:var(--muted);font-size:11px}.score-metric b{color:#3e6500}
.mission-card{align-self:center;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#f8faf6}.mission-heading{padding:16px;display:flex;align-items:center;gap:11px}.patient-mark{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--accent);font:800 13px ui-monospace,monospace}.mission-heading h3{margin:3px 0 0;font-size:17px}.mission-goal{margin-left:auto;padding-left:12px;border-left:1px solid var(--line);text-align:right}.mission-goal strong{display:block;font:800 18px ui-monospace,monospace}.mission-goal span{color:var(--muted);font-size:10px;text-transform:uppercase}.mission-instruction{margin:0;padding:10px 16px;background:#eaf2b8;font-size:13px;font-weight:700;line-height:1.4}.mission-details{margin:0;padding:6px 16px 12px;display:grid;grid-template-columns:1fr}.mission-details div{padding:9px 0}.mission-details div+div{border-top:1px solid var(--line)}.mission-details dt{color:var(--muted);font-size:11px}.mission-details dd{margin:3px 0 0;font:800 12px ui-monospace,monospace;line-height:1.35}
.kiosk-shell{align-self:center;width:100%;border:8px solid #29312e;border-radius:20px;background:white;box-shadow:0 16px 40px rgba(23,32,29,.13);overflow:hidden}.kiosk-top{padding:14px 18px;display:flex;justify-content:space-between;background:var(--green);color:white;font-weight:800}.progress{height:5px;background:#dbe3df}.progress span{display:block;width:25%;height:100%;background:#55c99f;transition:width .25s}.kiosk-screen{min-height:350px;padding:30px;display:flex;flex-direction:column;justify-content:center}.kiosk-screen h3{margin:0 0 8px;font-size:28px;letter-spacing:-.035em}.kiosk-screen>p{margin:0 0 24px;color:#4e5b56}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice,.next-button{min-height:54px;padding:12px 14px;border:2px solid var(--green);border-radius:9px;background:white;color:var(--ink);font-weight:800;text-align:left}.choice:hover{background:#e7f5ef}.choice.selected{background:var(--green);color:white}.field-label{margin-bottom:8px;font-weight:800}.text-input{width:100%;min-height:54px;padding:11px;border:2px solid #62716b;border-radius:8px;font-size:18px}.helper{margin:7px 0 0!important;font-size:13px}.next-button{width:100%;margin-top:18px;background:var(--green);color:white;text-align:center}.auto-hint{margin:11px 0 0!important;font:800 10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.07em}.noise{margin-bottom:12px;padding:10px;background:#efefeb;color:#6b716e;font-size:11px;line-height:1.35}.choice.wrong,.text-input.wrong{border-color:var(--danger)!important;background:#fee4df!important}.text-input.correct{border-color:#25805e}.finish-mark{width:54px;height:54px;margin-bottom:16px;border-radius:50%;display:grid;place-items:center;background:var(--accent);font-size:27px;font-weight:800}
.inspector{padding:16px;display:flex;flex-direction:column}.status{margin-left:auto;padding:7px 9px;border-radius:7px;background:#e8ece8;font:800 10px ui-monospace,monospace;text-align:center}.empty-report{min-height:280px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.scan-mark{width:78px;height:78px;margin-bottom:18px;border:1px dashed var(--ink);border-radius:50%;display:grid;place-items:center;font:800 15px ui-monospace,monospace}.empty-report h3{margin:0}.empty-report p{max-width:250px;margin:8px 0;color:var(--muted);font-size:14px;line-height:1.45}.primary-button,.secondary-button{width:100%;min-height:52px;padding:0 16px;border:2px solid var(--ink);border-radius:9px;font-weight:800}.primary-button{background:var(--accent);color:var(--ink)}.primary-button:disabled{cursor:not-allowed;border-color:var(--line);background:#e9ece8;color:#727a76}.secondary-button{margin-top:9px;background:var(--ink);color:white}.report{flex:1;padding:10px 0}.issue{padding:13px 0;border-bottom:1px solid var(--line)}.issue-head{display:flex;gap:8px;justify-content:space-between}.issue h3{margin:0;font-size:14px}.issue p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.severity{color:var(--danger);font:800 10px ui-monospace,monospace}
.sensor-readout{margin:8px 0 4px;padding:12px;border-radius:9px;background:#eef2ee;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:5px 10px}.sensor-readout b{font:800 18px ui-monospace,monospace;color:var(--green)}.sensor-readout span{font-size:11px;color:var(--muted)}
.result-panel{max-width:calc(1440px - 5vw);margin:0 auto 30px;padding:22px 28px;border-radius:var(--r);background:var(--ink);color:var(--paper);display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:30px}.result-panel h2{margin:6px 0 0;font-size:27px}.comparison{display:grid;grid-template-columns:1fr 1fr}.comparison div{padding:10px 20px;border-left:1px solid #65706b}.comparison span{display:block;color:#bdc7c1;font-size:12px}.comparison strong{display:block;margin-top:7px;font:800 17px ui-monospace,monospace}
.kiosk-shell.vision:not(.rebuilt){filter:contrast(.45);opacity:.86}.kiosk-shell.motor:not(.rebuilt) .choice{min-height:24px;max-width:100px;padding:3px 5px;font-size:9px}.kiosk-shell.motor:not(.rebuilt) .choice-grid{grid-template-columns:repeat(4,1fr);gap:3px}.kiosk-shell.motor:not(.rebuilt) .text-input,.kiosk-shell.motor:not(.rebuilt) .next-button{min-height:27px;height:27px;padding:2px 6px;font-size:10px}.kiosk-shell.cognitive:not(.rebuilt) .kiosk-screen h3{font-size:19px}.kiosk-shell.rebuilt{border-color:var(--green)}.kiosk-shell.rebuilt .choice,.kiosk-shell.rebuilt .next-button{min-height:var(--repair-target,56px);font-size:16px}.kiosk-shell.rebuilt .choice-grid{gap:var(--repair-gap,12px)}.kiosk-shell.rebuilt :focus-visible{outline:4px solid #e2a900;outline-offset:3px}
footer{padding:20px clamp(18px,4vw,56px);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;color:var(--muted);font-size:12px}footer p{margin:0}
button:active{transform:translateY(1px)}
@media(max-width:1000px){.workspace{grid-template-columns:1fr}.device-column{grid-template-columns:minmax(220px,.65fr) minmax(390px,1.35fr)}.onboarding{grid-template-columns:1fr;max-width:760px}.result-panel{grid-template-columns:1fr}}
@media(max-width:700px){.topbar p{display:none}.workspace{padding:10px}.device-column{display:block}.column-heading{margin-bottom:14px;flex-wrap:wrap}.metric{margin-left:0}.mission-card{margin-bottom:12px}.kiosk-screen{min-height:390px;padding:22px}.choice-grid{grid-template-columns:1fr}.barrier-card{grid-template-columns:1fr;gap:6px}.onboarding{padding-top:30px}.onboarding h1{font-size:50px}.comparison{grid-template-columns:1fr}.comparison div{border-left:0;border-top:1px solid #65706b}.result-panel{margin:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
