:root{--bg:#05070f;--ink:#f4efe6;--muted:#9aa6c7;--panel:#0a0e1ed1;--line:#a0b4ff2e;--hot:#ff9a1f;--hot2:#ff3f6c;--gold:#ffd34d;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;overflow:hidden}#app{position:fixed;inset:0}#stage{touch-action:none;position:absolute;inset:0}#stage canvas{width:100%;height:100%;display:block}.hidden{display:none!important}#labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}body:not(.playing) #labels{display:none}.name-tag{letter-spacing:.02em;text-shadow:0 0 6px #000,0 1px 2px #000;white-space:nowrap;will-change:transform;font-size:13px;font-weight:700;position:absolute;top:0;left:0}#vignette{pointer-events:none;background:radial-gradient(#0000 55%,#00020c99 100%);position:absolute;inset:0}#hurt{pointer-events:none;opacity:0;background:radial-gradient(#0000 40%,#ff28148c 100%);position:absolute;inset:0}.btn{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#283460bf;border-radius:12px;padding:10px 18px;font-weight:700;transition:transform 80ms,background .15s,box-shadow .15s}.btn:hover{background:#3c4c8cd9}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn.hot{color:#2a0d00;background:linear-gradient(#ffb13d,#ff5a2e);border-color:#ffdca099;box-shadow:0 0 22px #ff782873}.btn.hot:hover{box-shadow:0 0 32px #ff963cb3}.btn.ghost{background:#141a3299}.btn.big{width:100%;padding:13px 22px;font-size:18px}.btn.small{border-radius:10px;padding:7px 12px;font-size:14px}.mini{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#3c4c8c99;border-radius:8px;padding:3px 8px;font-size:12px;font-weight:700}.link-btn{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;text-decoration:underline}.icon-btn{border:1px solid var(--line);background:var(--panel);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:12px;font-size:20px}.row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.muted{color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);border-radius:16px;padding:14px 16px;box-shadow:0 10px 40px #00000080}@font-face{font-family:Alata Display;src:url(/fonts/alata-light.woff)format("woff");font-weight:300;font-display:swap}#title{--col:400px;--hair:#e8dcc833;--cream:#ece4d6;padding:calc(16px + var(--safe-t)) 16px calc(16px + var(--safe-b));background:linear-gradient(90deg, transparent calc(50% - var(--col) / 2 - 160px), #03040cb8 calc(50% - var(--col) / 2 + 10px), #03040cc7 50%, #03040cb8 calc(50% + var(--col) / 2 - 10px), transparent calc(50% + var(--col) / 2 + 160px)), radial-gradient(ellipse at 50% 45%, #03040c1a, #03040c99 90%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden auto}.title-inner{z-index:1;width:min(var(--col), 100%);text-align:center;margin:auto;position:relative}.logo{margin:0;font-weight:300}.logo .deva{background:linear-gradient(#fff6e2 0%,#ffd88c 42%,#ffa45a 78%,#ff7a46 100%);color:#0000;filter:drop-shadow(0 0 12px #ff8c3259);-webkit-background-clip:text;background-clip:text;margin-bottom:-.16em;padding:.06em .06em 0;font-family:Alata Display,Noto Serif Devanagari,serif;font-size:clamp(76px,17vw,136px);font-weight:300;line-height:1;animation:4s ease-in-out infinite ember;display:block}.logo .latin{letter-spacing:.75em;color:#e9d3aa;margin-top:2px;padding-left:.75em;font-family:Alata Display,Georgia,serif;font-size:14px;font-weight:300;display:block}@keyframes ember{0%,to{filter:drop-shadow(0 0 12px #ff8c3259)}50%{filter:drop-shadow(0 0 18px #ffa04680)}}.tag{color:var(--muted);letter-spacing:.24em;text-transform:uppercase;margin:14px 0 26px;font-size:11px}.form{flex-direction:column;gap:12px;display:flex}#title .btn{letter-spacing:.24em;text-transform:uppercase;min-height:48px;color:var(--cream);border:1px solid var(--hair);box-shadow:none;background:#080a1659;border-radius:2px;padding:0 20px;font-size:13px;font-weight:400;transition:border-color .2s,background .2s,color .2s}#title .btn.big{width:100%;font-size:13px}#title .btn:hover{color:#fff6ea;background:#ffaa5a0f;border-color:#ffcd968c}#title .btn:focus-visible,#title input:focus-visible,#title summary:focus-visible,#title .link-btn:focus-visible{outline-offset:3px;outline:1px solid #ffbe78d9}#title .btn:active{background:#ffaa5a1f;transform:none}#title .btn.hot{color:#ffd9a8;background:linear-gradient(#ff963c24,#ff6e280f);border-color:#ffa550bf}#title .btn.hot:hover{background:linear-gradient(#ff963c38,#ff6e281a);border-color:#ffbe6ef2;box-shadow:0 0 24px #ff822829}#title input{color:#f4ecdd;border:0;border-bottom:1px solid var(--hair);letter-spacing:.06em;background:0 0;border-radius:0;padding:10px 2px;font-size:16px;transition:border-color .2s}#title input:hover{border-bottom-color:#e8dcc866}#title input:focus{border-bottom-color:#ffb464d9;outline:none}#title input::placeholder{color:#c8cee673}.form .name{color:var(--muted);letter-spacing:.24em;text-transform:uppercase;justify-content:center;align-items:baseline;gap:14px;margin-bottom:10px;font-size:11px;display:flex}#name{text-align:center;width:190px}.join-row{align-items:stretch;gap:12px;margin-top:4px;display:flex}.join-row input{text-transform:uppercase;text-align:center;flex:1;min-width:0;letter-spacing:.3em!important}#title .join-row .btn{min-width:96px}.arsenal{text-align:left;color:var(--muted);margin:22px 0 0;font-size:13px}.arsenal summary{cursor:pointer;text-align:center;letter-spacing:.24em;text-transform:uppercase;color:#cbbd9f;min-height:32px;font-size:11px;line-height:32px;list-style:none}.arsenal summary::-webkit-details-marker{display:none}.arsenal summary:after{content:" +";color:var(--hot)}.arsenal[open] summary:after{content:" −"}.arsenal summary:hover{color:#f1e3c4}.arsenal>div{border-top:1px solid #e8dcc814;padding:7px 0;line-height:1.4}.arsenal b{color:var(--cream);font-weight:600}.controls{color:var(--muted);opacity:.75;letter-spacing:.04em;margin:6px 0 0;font-size:11px}.foot{margin:4px 0 0}#title .link-btn{letter-spacing:.24em;text-transform:uppercase;color:#cbbd9f;min-height:32px;font-size:11px;text-decoration:none}#title .link-btn:hover{color:#f1e3c4}.fighters{z-index:-1;pointer-events:none;--side:calc(50vw - var(--col) / 2);position:fixed;inset:0}.fighter{--ar:.6;width:calc(var(--h) * var(--ar));margin:0 0 0 calc(var(--h) * var(--ar) / -2);font:inherit;color:var(--ink);cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex;position:absolute;bottom:0}.fighter img{height:var(--h);-webkit-user-select:none;user-select:none;filter:grayscale(.4)brightness(.62)drop-shadow(0 8px 20px #000000b3);transform-origin:50% 100%;width:auto;transition:filter .3s,transform .3s;display:block}.fighter:hover:not(:disabled) img,.fighter:focus-visible img{filter:grayscale(.15)brightness(.85)drop-shadow(0 8px 20px #000000b3)}.fighter.on img{filter:drop-shadow(0 0 1px #ffdc96b3)drop-shadow(0 0 26px #ff8c2866)drop-shadow(0 10px 22px #0009);transform:scale(1.02)}.fighter .label{z-index:2;margin:2px 0 calc(16px + var(--safe-b));white-space:nowrap;border-bottom:1px solid #0000;flex-direction:column;align-items:center;gap:3px;padding:6px 4px 7px;transition:border-color .25s;display:flex;position:relative}.fighter .label b{letter-spacing:.32em;text-transform:uppercase;color:#d9d0c0;padding-left:.32em;font-family:Alata Display,Georgia,serif;font-size:17px;font-weight:300}.fighter .label span{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:10px}.fighter.on .label{border-bottom-color:#ffaa46d9}.fighter.on .label b{color:#ffd9a0}.fighter:disabled{cursor:default}.fighter[data-id=yogini]{left:calc(var(--side) * .3);--h:min(64vh, 600px, calc(var(--side) * 1.3));bottom:3vh}.fighter[data-id=exile]{left:calc(var(--side) * .62);--h:min(66vh, 620px, calc(var(--side) * 1.12))}.fighter[data-id=aghori]{left:calc(100vw - var(--side) * .5);--h:min(44vh, 400px, calc(var(--side) * .85));bottom:4vh}@media (max-aspect-ratio:4/5){#title{padding-bottom:calc(36px + var(--safe-b));background:radial-gradient(at 50% 40%,#03040c8c,#03040cd9 80%)}.fighters{z-index:auto;pointer-events:auto;justify-content:center;align-items:flex-end;gap:0;margin:-8px -10px 14px;display:flex;position:static}.fighter{flex:0 auto;min-width:0;margin:0;position:relative;--h:min(27vh, 220px)!important;bottom:auto!important;left:auto!important}.fighter[data-id=yogini]{order:1}.fighter[data-id=exile]{order:2;margin-left:-8px}.fighter[data-id=aghori]{order:3;--h:min(17vh, 140px)!important}.fighter .label{margin:0;padding:4px 2px 5px}.fighter .label b{letter-spacing:.2em;padding-left:.2em;font-size:13px}.fighter .label span{letter-spacing:.12em;font-size:8.5px}.tag{margin-bottom:18px}}@media (max-height:500px) and (min-aspect-ratio:4/5){#title{--col:340px}.logo .deva{font-size:64px}.logo .latin{font-size:11px}.tag{margin:6px 0 12px}#title .btn{min-height:44px}.fighter .label{margin-bottom:calc(6px + var(--safe-b))}.fighter .label b{font-size:13px}.fighter .label span{display:none}}body.touch .desktop-only,body:not(.touch) .touch-only{display:none}#hud{pointer-events:none;position:absolute;inset:0}#hud button,#hud .panel,#hud input{pointer-events:auto}.hud-tl{top:calc(10px + var(--safe-t));left:calc(10px + var(--safe-l));flex-wrap:wrap;align-items:center;gap:8px;max-width:50vw;display:flex;position:absolute}.chip{background:var(--panel);border:1px solid var(--line);pointer-events:auto;border-radius:12px;align-items:center;gap:6px;padding:6px 8px 6px 10px;font-size:14px;display:flex}.chip b{letter-spacing:.12em;color:var(--gold)}.chip .label{color:var(--muted);font-size:12px}.map-row{flex-basis:100%;line-height:0}#minimap{border-radius:6px;box-shadow:0 0 0 1px #a0b4ff2e,0 2px 10px #00000080}#edge-arrows{position:absolute;inset:0;overflow:hidden}.edge-arrow{filter:drop-shadow(0 0 4px)drop-shadow(0 1px 2px #000);width:18px;height:18px;position:absolute;top:-9px;left:-9px}.edge-arrow:before{content:"";clip-path:polygon(100% 50%,15% 5%,35% 50%,15% 95%);background:currentColor;position:absolute;inset:0}.net{color:var(--muted);text-shadow:0 1px 2px #000;font-size:11px}.hud-tc{top:calc(10px + var(--safe-t));text-align:center;text-shadow:0 0 10px #000,0 1px 3px #000;position:absolute;left:50%;transform:translate(-50%)}#phase{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:12px}#timer{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.hud-tr{top:calc(10px + var(--safe-t));right:calc(10px + var(--safe-r));flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute}#scores{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:130px;padding:6px 10px;font-size:14px}#scores .s{justify-content:space-between;align-items:center;gap:8px;display:flex}#scores .s .n{text-overflow:ellipsis;white-space:nowrap;max-width:110px;overflow:hidden}#scores .s.me .n{text-decoration:underline}#scores .k{font-variant-numeric:tabular-nums;font-weight:800}#scores .d{color:var(--muted);font-size:12px}.dot{background:currentColor;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block;box-shadow:0 0 8px}#feed{flex-direction:column;align-items:flex-end;gap:4px;display:flex}#feed .f{white-space:nowrap;background:#080a16b3;border-radius:8px;padding:3px 8px;font-size:13px;animation:.25s ease-out feedIn}@keyframes feedIn{0%{opacity:0;transform:translate(20px)}}#center-msg{text-align:center;color:var(--gold);text-shadow:0 0 24px #ff8c28cc,0 2px 4px #000;pointer-events:none;font-family:Georgia,serif;font-size:clamp(42px,9vw,96px);font-weight:900;position:absolute;top:34%;left:0;right:0}#center-msg.pop{animation:.45s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(1.6)}}#sub-msg{text-align:center;text-shadow:0 0 10px #000,0 1px 3px #000;pointer-events:none;font-size:18px;font-weight:700;position:absolute;top:calc(34% + clamp(54px,11vw,116px));left:0;right:0}.hud-bottom{left:50%;bottom:calc(14px + var(--safe-b));flex-direction:column;align-items:center;gap:6px;width:min(420px,70vw);display:flex;position:absolute;transform:translate(-50%)}#hp{border:1px solid var(--line);background:#0a0c1acc;border-radius:7px;width:100%;height:14px;position:relative;overflow:hidden}#hp .fill{transform-origin:0;background:linear-gradient(90deg,#ff3f3f,#ffb13d 50%,#ffe27a);transition:transform .12s;position:absolute;inset:0;box-shadow:0 0 12px #ffaa3c99}#hp .val{text-align:center;text-shadow:0 0 3px #000;font-size:11px;font-weight:800;line-height:14px;position:absolute;inset:0}#weapons{gap:6px;display:flex}.slot{background:var(--panel);border:1px solid var(--line);white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:flex}.slot .key{color:var(--muted);font-size:10px}.slot.special{border-color:#ffc86480;box-shadow:0 0 14px #ffa03c40}.slot.special.empty{opacity:.45;box-shadow:none;border-color:var(--line)}.slot .ammo{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:800}.fuel{vertical-align:middle;background:#ffffff1f;border-radius:4px;width:60px;height:7px;display:inline-block;overflow:hidden}.fuel i{background:linear-gradient(90deg,#ff7a1a,#ffd34d);height:100%;display:block}body.touch .slot .key,body.touch .slot.melee{display:none}#lobby{top:calc(64px + var(--safe-t));left:calc(10px + var(--safe-l));text-align:center;width:min(320px,100vw - 20px);position:absolute}#lobby h3{color:var(--gold);margin:0 0 4px}#lobby p{margin:0 0 10px;font-size:13px}.invite{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.invite input{text-align:center;width:100%;color:var(--gold);font-size:13px}#lobby-players{text-align:left;margin:0 0 10px;padding:0;font-size:14px;list-style:none}#lobby-players li{padding:3px 4px}#lobby-players .tag{color:var(--muted);margin:0 0 0 6px;font-size:11px}#training{top:calc(120px + var(--safe-t));right:calc(10px + var(--safe-r));width:min(300px,100vw - 20px);position:absolute}#training h3{color:var(--gold);margin:0 0 4px}#training p{margin:0 0 8px;font-size:13px}#training .train-label{color:var(--muted);margin:10px 0 6px}.train-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.train-grid.four{grid-template-columns:repeat(4,1fr)}.train-grid .btn{justify-content:space-between;align-items:center;gap:6px;padding-left:10px;padding-right:10px;display:flex}.train-grid.four .btn{justify-content:center;padding-left:4px;padding-right:4px}.train-grid .btn.on{border-color:var(--gold);color:var(--gold)}.train-grid kbd{opacity:.6;font:11px/1 ui-monospace,monospace}body.touch .train-grid kbd{display:none}#train-stats{font-variant-numeric:tabular-nums;min-height:2.6em;margin-top:10px;font-size:13px}#training-show{top:calc(120px + var(--safe-t));right:calc(10px + var(--safe-r));position:absolute}.dmg-num{pointer-events:none;color:#ffe08a;text-shadow:0 1px #000,0 0 6px #000000e6;white-space:nowrap;font:900 18px/1 Georgia,Times New Roman,serif;position:absolute;top:0;left:0}.dmg-num.me{color:#ff5a4a}#lobby-show{top:calc(64px + var(--safe-t));left:calc(10px + var(--safe-l));position:absolute}#results{text-align:center;width:min(420px,100vw - 24px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#results h2{color:var(--gold);text-shadow:0 0 18px #ff9628b3;margin:4px 0 10px;font-family:Georgia,serif;font-size:30px}#results table{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:15px}#results td,#results th{text-align:left;padding:5px 6px}#results th{color:var(--muted);font-size:12px;font-weight:600}#results td.num,#results th.num{text-align:right;font-variant-numeric:tabular-nums}#results tr.win td{color:var(--gold);font-weight:800}#menu{background:#02030a8c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#menu .panel{text-align:center;flex-direction:column;gap:10px;width:min(320px,100vw - 32px);display:flex}#menu h3{margin:0 0 4px}#toast{left:50%;bottom:calc(90px + var(--safe-b));background:var(--panel);border:1px solid var(--line);opacity:0;pointer-events:none;border-radius:12px;padding:8px 14px;font-size:14px;transition:opacity .25s;position:absolute;transform:translate(-50%)}#toast.on{opacity:1}#rotate-hint{display:none}body.playing #rotate-hint,body.touched .touch-hint{display:none!important}body:not(.touch) #touch{display:none}#touch{pointer-events:none;position:absolute;inset:0}.stick{opacity:0;background:radial-gradient(circle,#ffffff0d,#ffffff05);border:2px solid #ffffff2e;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;transition:opacity .12s;position:absolute}.stick.on{opacity:1}.stick .knob{background:#ffdca059;border:2px solid #ffdca099;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%;box-shadow:0 0 16px #ffaa3c66}.stick-r .knob{background:#ff785059;border-color:#ff966eb3}.tbtn{pointer-events:auto;width:74px;height:74px;color:var(--ink);font:inherit;touch-action:none;background:#1e14288c;border:2px solid #ffdca080;border-radius:50%;font-size:14px;font-weight:800;position:absolute}.tbtn.down{background:#ff963c80;transform:scale(.94)}.btn-fire{right:calc(18px + var(--safe-r));bottom:calc(26px + var(--safe-b));background:#46181499;border-color:#ff966ebf;width:88px;height:88px;font-size:16px}.btn-melee{right:calc(26px + var(--safe-r));bottom:calc(126px + var(--safe-b));width:70px;height:70px}.btn-dash{right:calc(118px + var(--safe-r));bottom:calc(36px + var(--safe-b));width:60px;height:60px}.touch-hint{top:calc(64px + var(--safe-t));text-align:center;color:#ffffff59;font-size:11px;position:absolute;left:0;right:0}body.touch .hud-bottom{bottom:calc(10px + var(--safe-b));width:min(300px,46vw)}@media (max-width:640px){#scores{min-width:100px;font-size:12px}#timer{font-size:20px}.hud-tl{max-width:40vw}#room-chip .label{display:none}}@media (orientation:portrait) and (pointer:coarse){#rotate-hint{left:50%;bottom:calc(8px + var(--safe-b));color:#fff6;pointer-events:none;white-space:nowrap;font-size:11px;display:block;position:absolute;transform:translate(-50%)}.touch-hint{display:none}}.slot .key .k-pad,body.pad .slot .key .k-kb{display:none}body.pad .slot .key .k-pad{display:inline}
