.vector-mode #arena{cursor:crosshair;touch-action:none;image-rendering:pixelated}
.vector-mode .game-viewport{background:#1a302a;box-shadow:inset 0 0 0 1px #8b9c7966,0 3px 0 #1c35292b}
.vector-mode .stage-label{display:none}
.vector-mode .p1 .player-badge{background:#f4dbc2;color:#a16836}
.vector-mode .p1 .health-track>div{background:#e9a36c}
.vector-mode .p2 .player-badge{background:#ddebdc;color:#557c64}
.vector-mode .p2 .health-track>div{background:#85c29a}
.vector-mode .p1 .stamina-track>div{background:#edc69d}
.vector-mode .p2 .stamina-track>div{background:#b7d0ad}
.vector-mode .score{color:#997044;white-space:nowrap;flex-shrink:0}
.vector-mode .p2 .score{color:#658c71}
.vector-mode .player-detail{gap:6px}
.vector-mode .player-detail>span{font-size:10px;letter-spacing:0;color:#4f644b;font-variant-numeric:tabular-nums}
.vector-mode .stamina-track{height:3px;min-width:16px}
.vector-mode .center-hud>span{font-size:9px;letter-spacing:0;color:#52664b;line-height:1.4}
.vector-mode .control-line .wide-key{min-width:48px;font-size:8px}
.vector-controls{display:none;align-items:center;justify-content:space-between;gap:11px;padding:14px 16px;background:#e9ebde;border-top:1px solid #bfcbb5;touch-action:none;user-select:none;-webkit-user-select:none}
.vector-pad{--pad-x:0px;--pad-y:0px;position:relative;display:grid;place-items:center;width:88px;height:88px;flex:0 0 88px;border:1px solid #b0bfa4;background:radial-gradient(circle,#d6dec9 0 34%,#e4e9d7 35% 57%,#ccd7be 58% 60%,#e7eadc 61%);box-shadow:inset 0 2px 0 #fffdf1,inset 0 -2px 0 #c0cdb2;border-radius:50%;touch-action:none;cursor:grab}
.vector-pad span{position:absolute;top:8px;font:8px var(--mono);letter-spacing:1px;color:#40563b}
.vector-pad i{width:28px;height:28px;background:#8fA480;border:1px solid #728864;box-shadow:inset 0 2px 0 #c3d1af,0 2px 0 #657b55;border-radius:50%;transform:translate(var(--pad-x),var(--pad-y));pointer-events:none}
.vector-pad b{position:absolute;bottom:6px;color:#819572;font:12px var(--mono);pointer-events:none}
.vector-pad.is-held i{background:#738e61}
.vector-touch-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-width:225px;flex:1}
.vector-touch-actions button{min-width:0;min-height:44px;border:1px solid #a7b59c;border-radius:4px;background:#f8f8ed;color:#415b38;box-shadow:inset 0 1px 0 #fffef5,0 2px 0 #c0cdb3;padding:10px 7px;font:10px var(--mono);letter-spacing:.2px;touch-action:none;user-select:none}
.vector-touch-actions button[data-vector-action=fire]{background:#e7b285;border-color:#c79362;color:#583f2c;box-shadow:inset 0 1px 0 #f7ceaa,0 2px 0 #bb8d61}
.vector-touch-actions button[data-vector-action=focus]{background:#d8e5ce}
.vector-touch-actions button.is-held{background:#8ea77b;border-color:#637e53;color:#17351f;box-shadow:inset 0 1px 2px #44613733;transform:translateY(1px)}
.vector-mode .room-overlay.fight h2{color:#f2bf8a;font-size:42px}
@media(pointer:coarse),(max-width:800px){.vector-mode .vector-controls{display:flex}}
@media(max-width:480px){.vector-controls{padding:12px 9px;gap:7px}.vector-pad{width:78px;height:78px;flex-basis:78px}.vector-touch-actions{gap:6px}.vector-touch-actions button{min-height:44px;font-size:10px;padding:9px 3px}.vector-mode .player-detail{gap:4px}.vector-mode .player-detail>span{letter-spacing:0;font-size:9px;color:#4f644b}.vector-mode .stamina-track{min-width:12px}.vector-mode .center-hud{width:72px;flex-shrink:0}}
@media(max-width:350px){.vector-pad{width:68px;height:68px;flex-basis:68px}.vector-pad span{top:6px;font-size:7px}.vector-pad i{width:25px;height:25px}.vector-pad b{bottom:4px}.vector-mode .player-heading{gap:3px}.vector-mode .score{font-size:10px}}
@media(prefers-reduced-motion:reduce){.vector-touch-actions button{transition:none;transform:none!important}}
