:root{--panel:#12161cdb;--text:#eef2f5;--muted:#a9b4bf;--accent:#ffd400;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:#c9d9e6;height:100%;margin:0;overflow:hidden}#app,#app canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{font-variant-numeric:tabular-nums;pointer-events:none;background:#00000080;border-radius:8px;min-width:230px;padding:8px 12px;font-size:13px;line-height:1.5;position:fixed;top:12px;left:12px}#hud .row{justify-content:space-between;gap:12px;display:flex}#hud-mode{color:var(--accent);font-weight:700}#hud-fps{color:var(--muted)}#crosshair{pointer-events:none;background:#fffc;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;position:fixed;top:50%;left:50%;box-shadow:0 0 2px #000}#minimap{cursor:zoom-in;border:2px solid #0009;border-radius:8px;width:200px;height:200px;position:fixed;bottom:12px;right:12px}#attrib{color:#fff;text-shadow:0 0 3px #000,0 0 2px #000;pointer-events:none;max-width:calc(100% - 240px);font-size:11px;position:fixed;bottom:6px;left:8px}#toast{pointer-events:none;background:#0009;border-radius:8px;padding:8px 16px;font-size:18px;font-weight:600;position:fixed;top:18%;left:50%;transform:translate(-50%)}#overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0e1459;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#overlay[hidden]{display:none}.panel{background:var(--panel);border-radius:14px;width:min(560px,100%);max-height:calc(100% - 32px);padding:24px 28px;overflow:auto;box-shadow:0 10px 40px #0006}h1{letter-spacing:.5px;margin:0;font-size:32px}.sub{color:var(--muted);margin:4px 0 18px}.small{color:var(--muted);font-size:12px}#loading{margin-bottom:14px}.bar{background:#ffffff26;border-radius:3px;height:6px;overflow:hidden}#bar-fill{background:var(--accent);width:0;height:100%;transition:width .2s}#loading-text{color:var(--muted);margin-top:6px;font-size:13px}button{font:inherit;color:inherit;cursor:pointer;border:0}#btn-start{background:var(--accent);color:#111;border-radius:10px;width:100%;padding:12px;font-size:18px;font-weight:700}#btn-start:disabled{opacity:.45;cursor:wait}.tabs{border-bottom:1px solid #ffffff26;gap:6px;margin:20px 0 10px;display:flex}.tabs button{color:var(--muted);background:0 0;border-bottom:2px solid #0000;padding:6px 12px}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--accent);padding:10px 0 4px;font-size:13px}td{vertical-align:top;padding:3px 0}td:first-child{width:42%;color:var(--muted);font-family:ui-monospace,monospace}#credits-lines p{margin:0 0 8px;font-size:13px;line-height:1.45}#credits-lines a{color:var(--accent)}body.touch{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.touch #app canvas{touch-action:none}body:not(.touch) .touch-only,body.touch .desktop-only{display:none}body.touch #hud{top:calc(6px + env(safe-area-inset-top));left:calc(6px + env(safe-area-inset-left));min-width:0;padding:5px 8px;font-size:11px}body.touch #hud-utm{display:none}body.touch #minimap{top:calc(52px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));opacity:.92;width:110px;height:110px;bottom:auto}body.touch #attrib{max-width:55%;bottom:calc(2px + env(safe-area-inset-bottom));font-size:9px}body.touch .panel{padding:16px 18px}body.touch h1{font-size:24px}#touch[hidden]{display:none}#touch .joy-ring{pointer-events:none;background:#0000002e;border:2px solid #ffffff8c;border-radius:50%;width:130px;height:130px;margin:-65px 0 0 -65px;position:fixed}#touch .joy-ring[hidden]{display:none}#touch .joy-knob{background:#ffffffb3;border-radius:50%;width:56px;height:56px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#touch .tbar{top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));gap:8px;display:flex;position:fixed}#touch .tpad{right:calc(14px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));align-items:flex-end;gap:10px;display:flex;position:fixed}#touch .tcol{flex-direction:column;gap:10px;display:flex}#touch .tbtn{color:#fff;touch-action:none;background:#00000080;border:1px solid #ffffff59;border-radius:20px;min-width:44px;height:40px;padding:0 12px;font-size:14px;font-weight:600}#touch .tbtn.big{border-radius:50%;width:64px;height:64px;padding:0;font-size:26px}#touch .tbtn.on{color:#111;background:#ffd400d9}#touch .tbtn[hidden]{display:none}.game-row{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.btn2{background:#ffffff1f;border-radius:9px;flex:1;padding:9px 10px;font-size:14px;font-weight:600}.game-row>.btn2{align-self:stretch}.btn2:disabled{opacity:.45}button.link{color:var(--muted);background:0 0;padding:0;font-size:12px;text-decoration:underline}#hud-game{color:var(--accent);font-weight:600}#startpick{margin-bottom:12px}.pick-head{color:var(--muted);justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:13px;display:flex}.pick-btns{gap:12px;display:flex}#pickmap{aspect-ratio:1;cursor:crosshair;touch-action:none;border:1px solid #fff3;border-radius:10px;width:min(100%,420px);margin:0 auto;display:block}body.touch #pickmap{width:min(100%,300px)}@media (max-height:520px) and (orientation:landscape){.panel{grid-template-columns:auto 1fr;align-content:start;column-gap:18px;width:min(920px,100%);padding:12px 16px;display:grid}.panel>:not(#startpick){grid-column:2}#startpick{grid-area:1/1/span 12;margin:0}body.touch #pickmap,#pickmap{width:min(100vh - 140px,300px)}.pick-head{flex-wrap:wrap;gap:10px;font-size:12px}h1{font-size:22px}.sub{margin:2px 0 8px;font-size:13px}}.mp{border-top:1px solid #ffffff1f;margin-top:10px;padding-top:8px}.mp-head{margin-bottom:6px;font-size:14px;font-weight:700}#mp-code{width:76px;color:inherit;text-align:center;letter-spacing:2px;background:#00000040;border:1px solid #ffffff40;border-radius:9px;flex:none;padding:8px 6px;font-size:16px}#mp-status{flex:1}#mp-status b{letter-spacing:3px;font-size:18px}#vr{z-index:50;pointer-events:none;position:fixed;inset:0}#vr[hidden]{display:none}.vr-eye{text-align:center;color:#fff;text-shadow:0 2px 8px #000c;width:50%;font-size:15px;font-weight:600;position:absolute;top:50%;transform:translateY(-50%)}.vr-left{left:0}.vr-right{right:0}.vr-eye b{font-size:64px;line-height:1.1;display:block}.vr-eye span{margin-top:6px;display:block}.vr-divider{background:#000;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}#vr-close{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));pointer-events:auto;color:#fff;background:#0000008c;border:2px solid #fff9;border-radius:50%;width:52px;height:52px;font-size:26px;line-height:1;position:absolute}#vrcal{z-index:60;background:#000;position:fixed;inset:0}#vrcal[hidden]{display:none}#vrcal-canvas{width:100%;height:100%;position:absolute;inset:0}.vrcal-help{color:#ddd;text-align:center;width:min(720px,100% - 16px);margin:0;font-size:12px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.vrcal-panel{color:#fff;background:#14161ae0;border-radius:12px;width:min(760px,100% - 16px);padding:5px 8px;font-size:12px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.vrcal-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;display:flex}.vrcal-row>span{margin:0 2px 0 6px}.vrcal-row button{color:#fff;background:#ffffff24;border-radius:9px;padding:6px 10px;font-weight:600}#vrcal-info{text-align:center;color:#aaa;margin-top:2px}.vrcal-row .vrcal-ok{background:#2f7d32}#padsetup{z-index:60;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#padsetup[hidden]{display:none}.padsetup-panel{color:#fff;background:#1b1e23;border-radius:14px;width:min(560px,100% - 16px);max-height:calc(100% - 16px);padding:12px 14px;font-size:14px;overflow:auto}.padsetup-panel h2{margin:0 0 4px;font-size:18px}.padsetup-panel p{color:#bbb;margin:4px 0 8px;font-size:13px}#padsetup-list{grid-template-columns:1fr 1fr;gap:6px;display:grid}.padsetup-row{color:#fff;text-align:left;background:#ffffff1a;border-radius:9px;justify-content:space-between;gap:8px;padding:9px 10px;font-size:13px;display:flex}.padsetup-row b{color:#ffd400;white-space:nowrap}.padsetup-row.waiting{outline:2px solid #ffd400}.padsetup-foot{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.padsetup-foot button{color:#fff;background:#ffffff24;border-radius:9px;padding:8px 14px;font-weight:600}.padsetup-foot .vrcal-ok{background:#2f7d32}.vr-eye.vr-msg{font-size:15px;top:62%;transform:none}.vr-eye.vr-msg[hidden]{display:none}
