:root{color-scheme:dark;--bg:#05040b;--line:rgba(110,223,255,.34);--panel:rgba(5,8,18,.76)}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg)}
body{font-family:Consolas,"Courier New",monospace}
#game-shell{position:fixed;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 32%,#181431 0,#080713 48%,#020205 100%)}
#game-shell::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(110,234,255,.035),transparent 38%,rgba(179,108,255,.035) 68%,transparent);mix-blend-mode:screen}
#game{display:block;width:min(100vw,calc(100dvh * 16 / 9));height:min(100dvh,calc(100vw * 9 / 16));max-width:100vw;max-height:100dvh;aspect-ratio:16/9;outline:none;background:#05040b;image-rendering:auto;box-shadow:0 0 0 1px rgba(110,223,255,.15),0 0 35px rgba(58,166,255,.13),0 0 100px rgba(35,10,70,.2)}
.loading{position:fixed;inset:0;display:grid;place-items:center;z-index:20;background:radial-gradient(circle at 50% 40%,#151128,#05040b 68%);color:#7ee8ff;letter-spacing:.12em;font-weight:900;text-shadow:0 0 18px rgba(126,232,255,.45)}
.loading.is-hidden{display:none}
.corner-controls{position:fixed;z-index:8;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));display:flex;gap:7px;opacity:.32;transition:opacity .18s ease,transform .18s ease}
.corner-controls:hover,.corner-controls:focus-within{opacity:1;transform:translateY(1px)}
.corner-controls button{border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(4,4,12,.74);color:#f3f3ff;padding:8px 10px;cursor:pointer;font:800 11px/1 Consolas,"Courier New",monospace;backdrop-filter:blur(8px);box-shadow:0 4px 18px rgba(0,0,0,.2)}
.corner-controls button:hover,.corner-controls button:focus-visible{border-color:#6de7ff;background:rgba(18,28,46,.92)}
.corner-controls .danger{border-color:rgba(255,84,103,.46);color:#ffb0b9}
.touch{display:none;position:fixed;z-index:7;inset:auto 12px max(12px,env(safe-area-inset-bottom));justify-content:space-between;pointer-events:none}
.touch>div{display:flex;gap:10px;pointer-events:auto}
.touch button{width:68px;height:58px;border:1px solid rgba(255,255,255,.26);border-radius:15px;background:rgba(6,6,18,.68);color:#fff;font:900 12px/1 Consolas,monospace;box-shadow:0 5px 18px rgba(0,0,0,.28);backdrop-filter:blur(5px);touch-action:none}
.touch button:active{transform:translateY(2px);background:rgba(26,43,66,.82);border-color:#6de7ff}
.touch button[data-touch="fire"]{width:96px}.touch button[data-touch="kick"]{width:74px}
.rotate-prompt{display:none}.rotate-prompt__card{width:min(88vw,430px);padding:28px 24px;border:1px solid rgba(110,223,255,.45);border-radius:20px;background:rgba(5,4,11,.96);box-shadow:0 0 70px rgba(58,166,255,.18);text-align:center}.rotate-prompt__phone{margin:0 auto 14px;color:#7ee8ff;font:900 48px/1 Consolas,"Courier New",monospace}.rotate-prompt strong{display:block;color:#ffe66c;font:900 24px/1.1 Consolas,"Courier New",monospace}.rotate-prompt span{display:block;margin-top:12px;color:#fff;font:800 15px/1.4 Consolas,"Courier New",monospace}.rotate-prompt small{display:block;margin-top:10px;color:#aeb8cf;font:700 12px/1.45 Consolas,"Courier New",monospace}
@media(pointer:coarse),(max-width:820px){.touch{display:flex}.corner-controls{top:6px;right:6px;gap:4px}.corner-controls button{padding:6px;font-size:9px}}
@media(max-height:560px){.corner-controls{opacity:.18}}
@media(pointer:coarse) and (orientation:portrait) and (max-width:900px){.rotate-prompt{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 35%,rgba(22,18,45,.98) 0,rgba(5,4,11,.995) 70%)}.touch,.corner-controls{visibility:hidden}}
@media(pointer:coarse) and (orientation:landscape){#game{width:min(100vw,calc(100dvh * 16 / 9));height:min(100dvh,calc(100vw * 9 / 16))}.touch{display:flex;left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));bottom:max(5px,env(safe-area-inset-bottom))}.touch button{width:58px;height:48px;border-radius:12px;background:rgba(6,6,18,.58);font-size:10px}.touch button[data-touch="fire"]{width:84px}.touch button[data-touch="kick"]{width:64px}.corner-controls{top:max(4px,env(safe-area-inset-top));right:max(5px,env(safe-area-inset-right));opacity:.16}}
