:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#10131a;width:100%;height:100%;margin:0;padding:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{touch-action:none;position:fixed;inset:0}#scene{touch-action:none;display:block;position:absolute;inset:0}#move-zone{touch-action:none;width:55%;height:100%;position:absolute;top:0;right:0}#stick-origin,#stick-thumb{pointer-events:none;opacity:0;border-radius:50%;transition:opacity .12s,background .1s,border-color .1s;position:fixed;top:0;left:0}#stick-origin.visible,#stick-thumb.visible{opacity:1}#stick-origin{background:#ffffff0f;border:2px solid #ffffff73;width:64px;height:64px;margin:-32px 0 0 -32px}#stick-thumb{background:#78c8ffd9;border:2px solid #ffffffe6;width:26px;height:26px;margin:-13px 0 0 -13px}#stick-thumb.zone-endo{background:#ffaa3ce6}#stick-thumb.zone-lockup{background:#ff463cf2}#button-zone{touch-action:none;pointer-events:none;width:45%;height:55%;position:absolute;bottom:0;left:0}#button-zone .hud-button{pointer-events:auto;color:#eef1f8;letter-spacing:.02em;-webkit-tap-highlight-color:transparent;background:#14161e66;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;font-size:15px;font-weight:600;display:flex;position:absolute}#button-zone .hud-button[hidden]{display:none}#button-zone .hud-button.active{background:#78aaff8c;border-color:#c8dcffe6}#button-zone .pos-shoot{bottom:20%;left:62%;transform:translate(-50%,50%)}#button-zone .shoot-cluster{pointer-events:auto;touch-action:none;position:absolute}#button-zone .shoot-center{pointer-events:none;--charge:0;flex-direction:column;gap:1px;width:70px;height:70px;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#button-zone .shoot-center small{opacity:.8;font-size:9px;font-weight:500}#button-zone .shoot-center.charging{background:conic-gradient(#ffcf3ff2 calc(var(--charge) * 1%), #14161e8c 0);border-color:#ffcf3ff2}#button-zone .shoot-dir{pointer-events:none;background:#14161e59;border:1px solid #ffffff40;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;left:50%}#button-zone .shoot-dir.active{background:#78aaff99;border-color:#c8dcfff2}#button-zone .pos-hop{bottom:46%;left:3%}#button-zone .pos-raclette{top:30%;left:76%}#debug-panel{touch-action:pan-y;pointer-events:auto;z-index:5;color:#d7dbe6;background:#0a0b10f7;width:100vw;max-height:100vh;padding:8px 10px;font:11px/1.4 ui-monospace,Consolas,monospace;transition:transform .25s;position:absolute;top:0;left:0;overflow-y:auto;transform:translate(-100%)}#debug-panel.open{transform:translate(0)}#debug-tab{pointer-events:auto;color:#8fb8ff;-webkit-tap-highlight-color:transparent;z-index:2;background:#0a0b1099;border-radius:0 6px 6px 0;padding:8px 7px;font:12px/1.4 ui-monospace,Consolas,monospace;transition:opacity .15s;position:absolute;bottom:8px;left:0}#debug-tab.open{opacity:0;pointer-events:none}#camera-toggle{pointer-events:auto;color:#8fb8ff;-webkit-tap-highlight-color:transparent;z-index:2;background:#0a0b1099;border-radius:6px;padding:8px 10px;font:12px/1.4 ui-monospace,Consolas,monospace;position:absolute;bottom:8px;right:8px}#camera-toggle.active{color:#ffcf3f;border:1px solid #ffcf3f80}#debug-panel .panel-header{z-index:1;background:#0a0b10f7;border-bottom:1px solid #8fb8ff33;justify-content:space-between;align-items:center;gap:8px;margin:-8px -10px 6px;padding:8px 10px;display:flex;position:sticky;top:0}#debug-panel h1{color:#8fb8ff;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:11px}#debug-panel .close-btn{color:#8fb8ff;background:#8fb8ff26;border:1px solid #8fb8ff66;border-radius:4px;flex:none;padding:4px 8px;font:11px/1.4 ui-monospace,Consolas,monospace}#debug-panel .row{align-items:center;gap:6px;margin-bottom:4px;display:flex}#debug-panel .row label{white-space:normal;flex:0 170px;line-height:1.25}#debug-panel .row input[type=range]{flex:auto;width:100px}#debug-panel .row .val{text-align:right;flex:0 0 46px}#debug-panel .clear-players{color:#ffd7d3;text-transform:uppercase;letter-spacing:.06em;background:#78141099;border:1px solid #ff948a80;border-radius:4px;width:100%;margin-top:10px;padding:8px;font:11px/1.4 ui-monospace,Consolas,monospace;display:block}#debug-panel .clear-players:disabled{opacity:.6}#hud-right{pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;max-width:45vw;display:flex;position:absolute;top:8px;right:8px}#balance-state{color:#d7dbe6;text-align:right;background:#0a0b10a6;border-radius:4px;padding:5px 8px;font:12px/1.4 ui-monospace,Consolas,monospace}#balance-state.penalty{color:#ffcf3f;background:#501410d1}#match-banner{color:#d7dbe6;text-align:right;background:#0a0b108c;border-radius:4px;padding:6px 8px;font:12px/1.4 ui-monospace,Consolas,monospace;display:none}#match-banner.visible{display:block}#scoreboard{pointer-events:none;color:#d7dbe6;background:#0a0b1099;border-radius:6px;max-width:45vw;padding:8px 10px;font:12px/1.45 ui-monospace,Consolas,monospace;position:absolute;top:8px;left:8px}#scoreboard .scoreboard-clock{color:#eef1f8;letter-spacing:.04em;margin-bottom:6px;font-weight:700}#scoreboard .scoreboard-team+.scoreboard-team{margin-top:8px}#scoreboard .scoreboard-head{font-weight:700}#scoreboard .scoreboard-names>div{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#scoreboard .scoreboard-names>div.you{color:#fff;font-weight:700}#contest-flash{pointer-events:none;color:#eef1f8;text-shadow:0 2px 8px #000000b3;opacity:0;font:700 20px/1.3 system-ui,sans-serif;transition:opacity .15s;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}#contest-flash.visible{opacity:1}#goal-flash{pointer-events:none;color:#ffcf3f;text-align:center;text-shadow:0 2px 10px #0009;opacity:0;font:700 28px/1.3 system-ui,sans-serif;transition:opacity .25s;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}#goal-flash.visible{opacity:1}.team-red{color:#ff7a6e;font-weight:700}.team-blue{color:#7aa9ff;font-weight:700}#name-gate{z-index:10;pointer-events:auto;background:#0a0b10eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#name-gate[hidden]{display:none}#name-gate-card{color:#d7dbe6;background:#141721e6;border:1px solid #8fb8ff40;border-radius:10px;flex-direction:column;gap:10px;width:min(320px,84vw);padding:24px 22px;font-family:system-ui,Segoe UI,Roboto,sans-serif;display:flex}#name-gate-card h1{color:#eef1f8;text-align:center;margin:0 0 4px;font-size:20px}#name-gate-card label{color:#8fb8ff;text-transform:uppercase;letter-spacing:.06em;font-size:12px}#name-gate-card input{color:#eef1f8;background:#0a0b10b3;border:1px solid #8fb8ff59;border-radius:6px;padding:10px 12px;font-size:16px}#name-gate-card input:focus{border-color:#8fb8ff;outline:none}#name-gate-card button{color:#eef1f8;background:#3d6e4f;border:none;border-radius:6px;margin-top:4px;padding:10px 12px;font-size:15px;font-weight:600}#name-gate-card button small{opacity:.8;margin-top:2px;font-size:11px;font-weight:400;display:block}#name-gate-card button:active{background:#345f44}
