@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-vietnamese-400-normal-BbvBhFjQ.woff2)format("woff2"),url(/assets/bangers-vietnamese-400-normal-Ll9rymNv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-latin-ext-400-normal-7BLmjjiv.woff2)format("woff2"),url(/assets/bangers-latin-ext-400-normal-CzVt_Cgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-latin-400-normal-DeHY8Ncq.woff2)format("woff2"),url(/assets/bangers-latin-400-normal-BAEm-Pv0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#22252b;--p1:#4aa8ff;--p2:#ff8a3d;--cream:#fff6e0;--sun:#ffe14d}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{letter-spacing:.04em;height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;background:#4fb3ff;margin:0;font-family:Bangers,system-ui,sans-serif;overflow:hidden}canvas{display:block;position:fixed;inset:0}.hidden{display:none!important}#hud{top:max(10px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:fixed}.hp{align-items:center;gap:8px;font-size:clamp(16px,3.2vh,26px);transition:transform .25s;display:flex}.hp .name{-webkit-text-stroke:1px var(--ink);color:var(--cream);text-shadow:2px 2px 0 var(--ink)}.hp .num{text-align:center;min-width:2.2em;color:var(--cream);text-shadow:2px 2px 0 var(--ink)}.hp .bar{border:3px solid var(--ink);width:clamp(110px,24vw,260px);height:clamp(14px,3.4vh,22px);box-shadow:0 3px 0 var(--ink);background:#3b3f4a;border-radius:999px;position:relative;overflow:hidden}.hp .bar i{border-radius:999px;width:100%;position:absolute;top:0;bottom:0;left:0}.hp .bar .chip{background:#fff;transition:width .6s .35s}.hp .bar .fill{transition:width .18s ease-out}.p1 .fill{background:linear-gradient(#8fd0ff, var(--p1) 60%, #2a7ed6)}.p2 .fill{background:linear-gradient(#ffc08f, var(--p2) 60%, #d9601c)}.p2 .bar i{left:auto;right:0}.hp.active{transform:scale(1.08)}.hp.hit{animation:.4s hit}@keyframes hit{0%,to{translate:0}20%{translate:-6px 2px}40%{translate:6px -2px}60%{translate:-4px 1px}80%{translate:3px}}#wind{border:3px solid var(--ink);background:var(--cream);box-shadow:0 3px 0 var(--ink);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:clamp(14px,3vh,22px);display:flex}#wind .label{opacity:.6}#wind .arrow{color:#2a7ed6;transition:transform .4s;display:inline-block}#banner{color:var(--sun);-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 var(--ink);white-space:nowrap;pointer-events:none;opacity:0;font-size:clamp(34px,9vh,76px);position:fixed;top:22%;left:50%;translate:-50%}#banner.show{animation:1.5s ease-out banner}@keyframes banner{0%{opacity:0;transform:scale(.3)rotate(-8deg)}15%{opacity:1;transform:scale(1.15)rotate(3deg)}25%{transform:scale(1)rotate(-1deg)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)translateY(-20px)}}#hint{left:50%;bottom:max(10px, env(safe-area-inset-bottom));color:var(--cream);white-space:nowrap;pointer-events:none;background:#22252b8c;border-radius:999px;padding:4px 14px;font-size:clamp(13px,2.6vh,18px);transition:opacity .3s;position:fixed;translate:-50%}.overlay{background:radial-gradient(circle at 50% 40%,#fff6e026,#22252b8c);flex-direction:column;justify-content:center;align-items:center;gap:2vh;display:flex;position:fixed;inset:0}.overlay h1,.overlay h2{text-align:center;color:var(--sun);-webkit-text-stroke:3px var(--ink);text-shadow:6px 6px 0 var(--ink);margin:0;line-height:.85;animation:2.4s ease-in-out infinite wobble}.overlay h1{font-size:clamp(56px,20vh,150px)}.overlay h2{font-size:clamp(44px,14vh,110px)}@keyframes wobble{50%{transform:rotate(-3deg)scale(1.04)}}.buttons{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.overlay button{font:inherit;letter-spacing:.05em;border:4px solid var(--ink);background:var(--cream);color:var(--ink);box-shadow:0 6px 0 var(--ink);cursor:pointer;border-radius:18px;padding:.35em 1em;font-size:clamp(18px,4.2vh,30px);transition:transform 80ms,box-shadow 80ms}.overlay button:first-child{background:var(--sun)}.overlay button:active{box-shadow:0 1px 0 var(--ink);transform:translateY(5px)}.overlay button:disabled{opacity:.5;cursor:default}.overlay .small{color:var(--cream);text-shadow:1px 1px 0 var(--ink);margin:0;font-size:clamp(12px,2.6vh,18px)}#rotate{color:var(--cream);text-align:center;text-shadow:2px 2px 0 var(--ink);z-index:10;background:#4fb3ff;flex-direction:column;justify-content:center;align-items:center;gap:24px;font-size:26px;display:none;position:fixed;inset:0}#rotate .phone{border:5px solid var(--ink);background:var(--cream);border-radius:12px;width:60px;height:100px;animation:1.8s ease-in-out infinite turn}@keyframes turn{30%,70%{transform:rotate(-90deg)}}@media (orientation:portrait) and (pointer:coarse){#rotate{display:flex}}.center{flex-direction:column;align-items:center;gap:4px;display:flex}#timer{border:3px solid var(--ink);width:clamp(90px,16vw,150px);height:clamp(16px,3.6vh,22px);box-shadow:0 3px 0 var(--ink);background:#3b3f4a;border-radius:999px;transition:opacity .3s;position:relative;overflow:hidden}#timer i{background:linear-gradient(#bff08a,#6cc544 60%,#3f8f2a);width:100%;transition:width .25s linear,background .3s;position:absolute;inset:0 auto 0 0}#timer span{color:var(--cream);text-shadow:1px 1px 0 var(--ink);justify-content:center;align-items:center;font-size:clamp(12px,2.6vh,17px);display:flex;position:absolute;inset:0}#timer.mid i{background:linear-gradient(#fff3a0, var(--sun) 60%, #d9a81c)}#timer.warn i{background:linear-gradient(#ffb0a0,#ff5a48 60%,#c0281c)}#timer.warn{animation:.5s ease-in-out infinite pulse}#timer.off{opacity:.35}@keyframes pulse{50%{transform:scale(1.12)rotate(-2deg)}}#weather{color:var(--cream);text-shadow:1px 1px 0 var(--ink);font-size:clamp(11px,2.4vh,16px)}#actions{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:fixed}#actions .left,#actions .right{align-items:flex-end;gap:8px;display:flex;position:relative}.pill{pointer-events:auto;font:inherit;letter-spacing:.04em;border:3px solid var(--ink);background:var(--cream);color:var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;border-radius:14px;align-items:center;gap:6px;padding:.3em .75em;font-size:clamp(13px,2.9vh,19px);transition:transform 80ms,box-shadow 80ms,opacity .2s;display:flex}.pill:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.pill:disabled{opacity:.4;cursor:default}.pill svg{fill:#9aa0aa;width:1.2em;height:1.2em;stroke:var(--ink);stroke-width:1.8px;stroke-linejoin:round}.pill .ammo{background:var(--ink);min-width:1.5em;color:var(--sun);text-align:center;border-radius:999px;padding:0 .3em}#weaponBtn{background:var(--sun)}#weaponList{pointer-events:auto;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0}#weaponList .pill{justify-content:space-between;min-width:11em}#weaponList .pill small{opacity:.6;margin-left:.4em;font-size:.7em}#weaponList .pill.sel{background:var(--sun)}.overlay h3{color:var(--sun);-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 var(--ink);margin:0;font-size:clamp(30px,9vh,64px)}.cards{flex-wrap:wrap;justify-content:center;gap:clamp(8px,2vw,18px);padding:0 12px;display:flex}.overlay button.map{background:var(--cream);flex-direction:column;align-items:center;gap:4px;width:clamp(120px,20vw,190px);padding:8px 8px 10px;display:flex}.overlay button.map b{font-size:clamp(18px,4.4vh,28px);font-weight:400}.overlay button.map small{opacity:.7;font-size:clamp(11px,2.4vh,15px)}.art{aspect-ratio:16/9;border:3px solid var(--ink);border-radius:10px;width:100%;display:block;position:relative;overflow:hidden}.art:after{content:"";border-top:3px solid var(--ink);border-radius:50% 60% 0 0/30% 40% 0 0;position:absolute;inset:55% -10% -10%}.art.field{background:linear-gradient(#5aa8e8,#cfe8f6)}.art.field:after{background:linear-gradient(#74c247 12%,#8b5a34 14%)}.art.desert{background:linear-gradient(#5aa0d8,#f3dcb0)}.art.desert:after{background:linear-gradient(#f6dc9e 12%,#d9a35f 14%)}.art.snow{background:linear-gradient(#7fa8d0,#eef4fa)}.art.snow:after{background:linear-gradient(#fff 14%,#7b6a62 16%)}.art.moon{background:radial-gradient(circle at 25% 30%,#5ab0ff 0 9%,#0000 10%),linear-gradient(#05060c,#1d2238)}.art.moon:after{background:linear-gradient(#c9cbd0 12%,#8d8f96 14%)}.overlay button.link{box-shadow:none;color:var(--cream);text-shadow:1px 1px 0 var(--ink);background:0 0;border:none;font-size:clamp(14px,3vh,20px);text-decoration:underline}@media (height<=440px){#weaponList{gap:4px}#weaponList .pill small{display:none}#weaponList .pill{min-width:8.5em;padding:.2em .6em}#hint{bottom:calc(max(8px, env(safe-area-inset-bottom)) + 44px)}}#viewBtn{top:calc(max(10px, env(safe-area-inset-top)) + clamp(30px, 6.5vh, 44px));left:max(14px, env(safe-area-inset-left));padding:.2em .6em;font-size:clamp(12px,2.6vh,16px);position:fixed}#viewBtn svg{fill:none}.diff{border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:16px;display:flex;overflow:hidden}.overlay .diff button{box-shadow:none;background:var(--cream);border:none;border-radius:0;flex-direction:column;align-items:center;padding:.2em 1em;font-size:clamp(15px,3.6vh,24px);display:flex}.overlay .diff button+button{border-left:3px solid var(--ink)}.overlay .diff button small{opacity:.65;font-size:.55em}.overlay .diff button.sel{background:var(--sun)}.overlay .diff button:active{transform:none}@media (height<=440px){#maps{gap:1.2vh}#maps h3{font-size:30px}.overlay button.map{padding:5px 6px 6px}.overlay button.map small{display:none}}.legal-links{bottom:max(10px, env(safe-area-inset-bottom));letter-spacing:0;gap:10px;font-family:system-ui,sans-serif;font-size:13px;display:flex;position:absolute}.legal-links a,.legal-links span{color:var(--cream);opacity:.85;text-shadow:1px 1px 0 var(--ink);text-decoration:none}.legal-links a:hover,.legal-links a:focus-visible{opacity:1;text-decoration:underline}#legal{z-index:20;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));-webkit-user-select:text;user-select:text;touch-action:pan-y;background:#14161ca6}.legal-card{border:4px solid var(--ink);background:var(--cream);width:min(760px,100%);max-height:100%;box-shadow:0 6px 0 var(--ink);letter-spacing:0;color:var(--ink);border-radius:18px;padding:22px 24px 16px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.55;position:relative;overflow-y:auto}.legal-close{float:right;border:3px solid var(--ink);background:var(--sun);cursor:pointer;width:38px;height:38px;box-shadow:0 3px 0 var(--ink);border-radius:50%;margin:-8px -10px 0 12px;font:700 16px system-ui,sans-serif;position:sticky;top:0}.legal-body h2{letter-spacing:.04em;margin:0 0 12px;font:30px Bangers,sans-serif}.legal-body h3{margin:18px 0 6px;font-size:16px}.legal-body p,.legal-body ul{margin:0 0 10px}.legal-body a,.legal-source a{color:#1d5fae}.legal-body table{border-collapse:collapse;width:100%;margin:8px 0 12px;font-size:13px}.legal-body th,.legal-body td{text-align:left;vertical-align:top;border-bottom:1px solid #22252b40;padding:6px 8px}.legal-source{opacity:.7;word-break:break-all;margin:14px 0 0;font-size:12px}#legal .legal-body h2,#legal .legal-body h3{color:var(--ink);-webkit-text-stroke:0;text-shadow:none;text-align:left;line-height:1.2;animation:none}#legal .legal-body h3{font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-weight:700}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.noscript{color:var(--cream);text-align:center;place-items:center;font-size:22px;display:grid;position:fixed;inset:0}#online section{flex-direction:column;align-items:center;gap:1.6vh;display:none}#online[data-view=connecting] section[data-view=connecting],#online[data-view=name] section[data-view=name],#online[data-view=lobby] section[data-view=lobby],#online[data-view=wait] section[data-view=wait],#online[data-view=code] section[data-view=code]{display:flex}#online .lead{color:var(--cream);text-shadow:2px 2px 0 var(--ink);text-align:center;margin:0;font-size:clamp(18px,4.6vh,30px)}#online .lead small{opacity:.85;font-size:.6em;display:block}#online .small{text-align:center;max-width:34em}.row{gap:8px;display:flex}.row input,#online input{letter-spacing:0;border:4px solid var(--ink);width:min(15em,52vw);color:var(--ink);-webkit-user-select:text;user-select:text;touch-action:auto;background:#fff;border-radius:14px;padding:.4em .7em;font:18px system-ui,sans-serif;box-shadow:inset 0 3px #0000001a}.row button{padding:.25em .8em!important;font-size:clamp(16px,3.6vh,24px)!important}#online .code{letter-spacing:.08em;border:4px solid var(--ink);box-shadow:0 5px 0 var(--ink);-webkit-user-select:all;user-select:all;background:#fff;border-radius:14px;margin:0;padding:.2em .6em;font:700 clamp(22px,6vh,40px) ui-monospace,Menlo,monospace}.error{color:#ffd0c8;min-height:1.2em;text-shadow:1px 1px 0 var(--ink);text-align:center;margin:0;font:600 15px system-ui,sans-serif}.spinner{border:5px solid var(--cream);border-top-color:var(--sun);border-radius:50%;width:44px;height:44px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#invite{left:50%;top:max(12px, env(safe-area-inset-top));z-index:15;border:4px solid var(--ink);background:var(--cream);box-shadow:0 5px 0 var(--ink);border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:10px 16px 12px;animation:.35s ease-out drop;display:flex;position:fixed;translate:-50%}#invite p{text-align:center;margin:0;font-size:clamp(16px,3.8vh,24px)}#invite button{font:inherit;border:3px solid var(--ink);background:var(--sun);box-shadow:0 3px 0 var(--ink);cursor:pointer;border-radius:12px;padding:.25em .9em;font-size:clamp(14px,3.2vh,20px)}#invite #inviteNo{background:#fff}@keyframes drop{0%{transform:translateY(-120%)}}#netBanner{left:50%;bottom:calc(max(8px, env(safe-area-inset-bottom)) + 52px);z-index:12;color:#fff;pointer-events:none;background:#c0281c;border-radius:999px;padding:4px 14px;font-size:clamp(13px,2.8vh,18px);position:fixed;translate:-50%}.hp .you{color:var(--sun);margin-left:4px;font-size:.7em}
