:root{--bg:#181c19;--ink:#eee7d3;--muted:#b4b6ac;--line:#555b50;--accent:#e56c3a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px Arial,sans-serif;overflow:hidden}#scene{position:fixed;inset:0}canvas{display:block;width:100%;height:100%}header,footer{position:fixed;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;gap:16px;z-index:2}header{top:22px}footer{bottom:22px;font:10px monospace;letter-spacing:1px;text-shadow:0 1px 3px #000}header a{font-weight:bold;letter-spacing:1px}a{color:inherit;text-decoration:none}header span{font:11px monospace}button,select,input{font:inherit}button,select{background:#222923;color:var(--ink);border:1px solid var(--line);padding:13px 16px;border-radius:2px;cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.panel{position:fixed;z-index:3;top:50%;right:6%;transform:translateY(-50%);width:365px;max-height:calc(100dvh - 130px);overflow:auto;padding:28px;background:#1a201bf5;border:1px solid var(--line);box-shadow:0 18px 70px #0005}.eyebrow{font:10px monospace;letter-spacing:2px;color:var(--accent)}h1{font-family:Impact,'Arial Narrow',sans-serif;font-weight:400;font-size:42px;line-height:1.1;margin:18px 0}p{line-height:1.5;color:var(--muted)}label{display:block;font:11px monospace;margin:18px 0 8px}select{width:100%}.settings{display:flex;gap:16px}.settings>div{flex:1}#exercise-help{font-size:12px;min-height:36px}input[type=range]{width:100%;accent-color:var(--accent)}output{float:right}.check{display:flex;align-items:center;gap:8px}.primary{background:var(--accent);border-color:var(--accent);color:#181c19;font-weight:bold}.panel button{width:100%;margin-top:12px}.panel small{font:10px/1.8 monospace;color:var(--muted)}#message,#pause-message{font-size:12px}#crosshair{position:fixed;left:50%;top:50%;width:15px;height:15px;transform:translate(-50%,-50%);pointer-events:none;z-index:1;filter:drop-shadow(0 0 2px #000)}#crosshair:before,#crosshair:after{content:'';position:absolute;background:#f3f0df}#crosshair:before{width:15px;height:2px;top:6px}#crosshair:after{height:15px;width:2px;left:6px}#hitmarker{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:38px;color:var(--accent);pointer-events:none;opacity:0}#hud{position:fixed;left:50%;top:80px;transform:translateX(-50%);display:flex;gap:34px;background:#151b18c9;padding:14px 24px;border:1px solid #ffffff30;z-index:2;font:10px monospace}#hud b{display:block;font:26px Arial;margin-top:4px}.return{display:block;margin-top:22px;font-size:12px}#result-details p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0}#result-details b{color:var(--ink)}[hidden]{display:none!important}@media(max-width:650px){.panel{left:16px;right:16px;width:auto;padding:20px}header{left:16px;right:16px}header span,footer span{display:none}#hud{gap:15px;width:90%;justify-content:space-between}footer{left:16px;font-size:8px}}
.panel{border:0;box-shadow:none;background:#1a201bf2}#hud{border:0;background:#151b18a8}#fps-display{font:12px monospace;color:#eee7d3;margin-left:auto}#mode-label{font-size:10px}#window-mode,#window-resume{border:0;color:var(--muted);font-size:11px}#crosshair{filter:none}#scene{contain:strict}#hud b{font-variant-numeric:tabular-nums;min-width:56px}#result-details p{border:0}
.panel{scrollbar-width:thin;scrollbar-color:#555b50 #1a201b;padding:22px}.panel h1{margin:12px 0;font-size:36px}.panel label{margin-top:12px}.panel select{padding:10px 12px}.panel #exercise-help{min-height:0;font-size:11px}.panel .intro{font-size:12px;margin:8px 0}.panel button{padding:11px 14px}.panel .eyebrow{margin-top:0}
.panel input[type=number]{width:100%;padding:9px 12px;background:#222923;border:1px solid var(--line);color:var(--ink)}#sens-distance{font:12px monospace;color:var(--ink)}#results{width:560px;max-width:calc(100vw - 32px)}#analysis-card h2{font:28px Impact,sans-serif;font-weight:400;margin-bottom:10px}#analysis-summary{color:var(--ink)}#review-path{position:static;width:100%;height:auto;background:#252b25;margin-top:16px}#review-notes{font-size:12px}
