:root{--bg:#05070f;--ink:#eee7da;--muted:#aaa79f;--panel:#05070ec2;--line:#e8dcc833;--hot:#e99a4b;--hot2:#ff3f6c;--gold:#f1c477;--cream:#ece4d6;--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);--aim-cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Ccircle cx='16' cy='16' r='7' stroke='%23090502' stroke-width='3.2'/%3E%3Cpath d='M16 3v5M16 24v5M3 16h5M24 16h5' stroke='%23090502' stroke-width='3.2'/%3E%3Ccircle cx='16' cy='16' r='7' stroke='%23ffd36b' stroke-width='1.4'/%3E%3Cpath d='M16 3v5M16 24v5M3 16h5M24 16h5' stroke='%23ffd36b' stroke-width='1.4'/%3E%3Ccircle cx='16' cy='16' r='1.15' fill='%23fff2bd' stroke='%23090502' stroke-width='.7'/%3E%3C/g%3E%3C/svg%3E") 16 16, crosshair;--menu-cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='28' viewBox='0 0 24 28'%3E%3Cpath d='M3 2.5v19l5.2-4.3 3.4 7.8 3.4-1.5-3.4-7.6 6.7-.7z' fill='%23090502' stroke='%23090502' stroke-width='3' stroke-linejoin='round'/%3E%3Cpath d='M3 2.5v19l5.2-4.3 3.4 7.8 3.4-1.5-3.4-7.6 6.7-.7z' fill='%23ffd36b' stroke='%23fff0b0' stroke-width='.8' stroke-linejoin='round'/%3E%3C/svg%3E") 3 3, default}*{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}body.playing #stage{cursor:var(--aim-cursor)}#title,#menu,#intro{cursor:var(--menu-cursor)}#title input{cursor:text}@media (pointer:coarse){#stage,#title,#menu,#intro{cursor:none}}#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:.16em;text-transform:uppercase;text-shadow:0 1px 3px #000;white-space:nowrap;will-change:transform;background:#04050a9e;border-bottom:1px solid;padding:3px 7px 4px;font-size:10px;font-weight:600;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;letter-spacing:.14em;text-transform:uppercase;min-height:42px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#080a147a;border-radius:2px;padding:9px 16px;font-size:11px;font-weight:500;transition:border-color .18s,background .18s,color .18s}.btn:hover{background:#ffaa5a12;border-color:#ffcd968c}.btn:active{background:#ffaa5a21}.btn:disabled{opacity:.45;cursor:default}.btn.hot{color:#ffd9a8;box-shadow:none;background:linear-gradient(#ff963c24,#ff6e280f);border-color:#ffa550b8}.btn.hot:hover{border-color:#ffbe6ef2;box-shadow:0 0 24px #ff822824}.btn.ghost{background:#080a1452}.btn.big{width:100%;padding:13px 22px;font-size:18px}.btn.small{min-height:34px;padding:6px 11px;font-size:10px}.mini{font:inherit;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:1px;padding:3px 8px;font-size:12px;font-weight:500}.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:2px;font-size:17px}.fullscreen-btn span{border:0 solid;border-width:1.5px 0 0 1.5px;width:15px;height:15px;margin:auto;display:block;position:relative}.fullscreen-btn span:before{content:"";border:1.5px solid;border-width:0 1.5px 1.5px 0;position:absolute;inset:5px -1.5px -1.5px 5px}.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(10px);border-radius:2px;padding:22px 24px;box-shadow:0 18px 55px #0000007a}@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:6px;max-width:50vw;display:flex;position:absolute}.chip{background:var(--panel);border:1px solid var(--line);letter-spacing:.08em;pointer-events:auto;border-radius:2px;align-items:center;gap:6px;padding:5px 7px 5px 9px;font-size:11px;display:flex}.chip b{letter-spacing:.12em;color:var(--gold)}.chip .label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:9px}.map-row{flex-basis:100%;line-height:0}#minimap{opacity:.84;border:1px solid var(--line);box-shadow:0 10px 28px #00000061}#edge-arrows{position:absolute;inset:0;overflow:hidden}.edge-arrow{filter:drop-shadow(0 0 2px)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{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-shadow:0 1px 2px #000;font-size:9px}.hud-tc{top:calc(10px + var(--safe-t));text-align:center;text-shadow:0 1px 3px #000;background:linear-gradient(90deg,#0000,#04050bb8 18% 82%,#0000);min-width:112px;padding:7px 16px 8px;position:absolute;left:50%;transform:translate(-50%)}#phase{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-size:9px}#timer{letter-spacing:.08em;font-variant-numeric:tabular-nums;font-family:Alata Display,Georgia,serif;font-size:27px;font-weight:300}.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:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);letter-spacing:.04em;min-width:146px;padding:7px 10px;font-size:11px}#scores .s{justify-content:space-between;align-items:center;gap:8px;min-height:21px;display:flex}#scores .s .n{text-overflow:ellipsis;white-space:nowrap;max-width:110px;overflow:hidden}#scores .s.me .n{color:#fff6e8}#scores .k{font-variant-numeric:tabular-nums;font-weight:600}#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{letter-spacing:.03em;border-right:1px solid var(--line);white-space:nowrap;background:#04050bad;padding:4px 8px;font-size:11px;animation:.25s ease-out feedIn}@keyframes feedIn{0%{opacity:0;transform:translate(20px)}}#center-msg{text-align:center;letter-spacing:.1em;color:#f4d29a;text-shadow:0 0 28px #ff8c286b,0 2px 4px #000;pointer-events:none;padding-left:.1em;font-family:Alata Display,Georgia,serif;font-size:clamp(42px,8vw,88px);font-weight:300;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;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 0 10px #000,0 1px 3px #000;pointer-events:none;font-size:11px;font-weight:500;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:8px;width:min(430px,70vw);display:flex;position:absolute;transform:translate(-50%)}#hp{border:1px solid var(--line);background:#04050bc7;border-radius:0;width:100%;height:8px;position:relative;overflow:hidden}#hp .fill{transform-origin:0;background:linear-gradient(90deg,#b94a3c,#d98a45 48%,#efc879);width:100%;transition:transform .12s;position:absolute;inset:0 auto 0 0;box-shadow:0 0 9px #ffaa3c61}#hp .val{color:#e8dfd0;text-shadow:0 1px 3px #000;font-size:10px;font-weight:500;line-height:1;position:absolute;bottom:11px;right:0}#hp:before{content:"VITALITY";letter-spacing:.22em;color:var(--muted);font-size:8px;line-height:1;position:absolute;bottom:11px;left:0}#weapons{gap:8px;display:flex}.slot{border:0;border-bottom:1px solid var(--line);letter-spacing:.05em;white-space:nowrap;background:#04050ba8;align-items:center;gap:7px;min-height:34px;padding:5px 10px 6px;font-size:11px;display:flex}.slot .key{letter-spacing:.09em;color:var(--muted);font-size:8px}.slot.special{border-bottom-color:#ffbe64a6;box-shadow:0 9px 18px -14px #ffa03cb3}.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:0;width:60px;height:4px;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:left;width:min(342px,100vw - 20px);position:absolute}#lobby h3,#training h3{letter-spacing:.08em;color:#efd5aa;margin:0 0 4px;font-family:Alata Display,Georgia,serif;font-size:22px;font-weight:300}#lobby p{margin:0 0 14px;font-size:11px;line-height:1.5}.invite{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.invite input{text-align:center;width:100%;color:var(--gold);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:8px 2px;font:12px/1.4 ui-monospace,monospace}#lobby-players{text-align:left;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #e8dcc81a;border-bottom:1px solid #e8dcc81a;margin:0 0 10px;padding:5px 0;font-size:11px;list-style:none}#lobby-players li{padding:5px 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(310px,100vw - 20px);position:absolute}#training p{margin:0 0 12px;font-size:11px;line-height:1.45}#training .train-label{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin:10px 0 6px;font-size:9px}.train-grid{grid-template-columns:1fr 1fr;gap:5px;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);background:#f1c47714}.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;border-top:1px solid #e8dcc81a;min-height:2.6em;margin-top:10px;padding-top:9px;font-size:11px;line-height:1.5}#training-show{top:calc(120px + var(--safe-t));right:calc(10px + var(--safe-r));position:absolute}.dmg-num{pointer-events:none;letter-spacing:.04em;color:#f4d29a;text-shadow:0 1px 3px #000;white-space:nowrap;background:#04050a80;border-bottom:1px solid;padding:2px 5px;font:300 18px/1 Alata Display,Georgia,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{letter-spacing:.08em;color:#efd5aa;text-shadow:0 0 18px #ff962852;margin:4px 0 10px;font-family:Alata Display,Georgia,serif;font-size:32px;font-weight:300}#results table{border-collapse:collapse;border-top:1px solid #e8dcc81f;border-bottom:1px solid #e8dcc81f;width:100%;margin:16px 0;font-size:12px}#results td,#results th{text-align:left;padding:8px 6px}#results th{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:500}#results td.num,#results th.num{text-align:right;font-variant-numeric:tabular-nums}#results tr.win td{color:var(--gold);font-weight:600}#menu{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#020309a8;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#menu .panel{text-align:center;flex-direction:column;gap:12px;width:min(360px,100vw - 32px);display:flex}#menu h3{letter-spacing:.06em;color:#efd5aa;margin:0 0 10px;font-family:Alata Display,Georgia,serif;font-size:24px;font-weight:300}#toast{left:50%;bottom:calc(90px + var(--safe-b));background:var(--panel);border:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;opacity:0;pointer-events:none;border-radius:2px;padding:8px 14px;font-size:10px;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,#f1c4770a,#04050b29);border:1px solid #e8dcc84d;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;transition:opacity .12s;position:absolute}.stick.on{opacity:1}.stick .knob{background:#f1c4771f;border:1px solid #f1c47794;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%;box-shadow:0 0 14px #ffaa3c38}.stick-r .knob{background:#ff785059;border-color:#ff966eb3}.tbtn{pointer-events:auto;width:74px;height:74px;color:var(--ink);font:inherit;letter-spacing:.14em;text-transform:uppercase;touch-action:none;background:#04050b8c;border:1px solid #e8dcc86b;border-radius:50%;font-size:10px;font-weight:500;position:absolute}.tbtn.down{background:#ff963c47;transform:scale(.94)}.btn-fire{right:calc(18px + var(--safe-r));bottom:calc(26px + var(--safe-b));background:#50221270;border-color:#ffa55ab8;width:88px;height:88px;font-size:11px}.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:108px;padding:5px 7px;font-size:10px}#timer{font-size:20px}.hud-tl{max-width:46vw}#room-chip .label{display:none}}@media (orientation:portrait) and (pointer:coarse){body.touch .hud-bottom{left:calc(12px + var(--safe-l));bottom:calc(18px + var(--safe-b));align-items:stretch;width:150px;transform:none}body.touch #weapons{display:block}body.touch .slot.special{white-space:normal}body.touch .slot.special .nm{text-overflow:ellipsis;white-space:nowrap;max-width:86px;overflow:hidden}#training{top:calc(104px + var(--safe-t));max-height:calc(100vh - 122px - var(--safe-t) - var(--safe-b));overflow-y:auto}#lobby{top:calc(58px + var(--safe-t));max-height:calc(100vh - 76px - var(--safe-t) - var(--safe-b));overflow-y:auto}#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}#intro{z-index:5;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#0000 38%,#03040c8c 56%,#03040cdb 72%);position:absolute;inset:0}.intro-panel{text-align:left;width:min(430px,40vw);max-height:calc(100% - 140px);color:var(--cream);opacity:0;pointer-events:none;transition:opacity .2s,translate .2s;position:absolute;top:50%;right:clamp(76px,8vw,132px);overflow-y:auto;transform:translateY(-50%)translate(28px)}.intro-panel.in{opacity:1;pointer-events:auto;transition:opacity .7s ease-out,translate .7s ease-out;translate:0}.intro-count{letter-spacing:.3em;color:var(--muted);margin:0 0 14px;font-size:11px}.intro-name{letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(#fff6e2 0%,#ffd88c 50%,#ffa45a 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(40px,5.2vw,64px);font-weight:400;line-height:1.05}.intro-title{letter-spacing:.34em;text-transform:uppercase;color:#e9d3aa;margin:8px 0 22px;font-size:12px}.intro-story{border-top:1px solid var(--line);padding-top:18px}.intro-story p{color:#ece4d6e0;margin:0 0 12px;font-size:15px;line-height:1.7}.intro-story p:last-child{color:#f1dcb4;font-style:italic}.intro-choose{min-height:48px;font:inherit;letter-spacing:.24em;text-transform:uppercase;color:#ffd9a8;cursor:pointer;background:linear-gradient(#ff963c24,#ff6e280f);border:1px solid #ffa550bf;border-radius:2px;margin-top:18px;padding:0 26px;font-size:13px;transition:border-color .2s,background .2s,box-shadow .2s}.intro-choose:hover{background:linear-gradient(#ff963c38,#ff6e281a);border-color:#ffbe6ef2;box-shadow:0 0 24px #ff822829}.intro-dots{gap:10px;margin-top:22px;display:flex}.intro-dots i{background:#e8dcc84d;width:22px;height:1px}.intro-dots i.on{background:var(--hot)}.intro-close{top:calc(18px + var(--safe-t));left:calc(18px + var(--safe-l));min-height:44px;font:inherit;letter-spacing:.3em;text-transform:uppercase;color:#cbbd9f;cursor:pointer;background:#080a1659;border:1px solid #e8dcc833;border-radius:2px;padding:0 16px 0 12px;font-size:11px;position:absolute}.intro-close:before{content:"← ";letter-spacing:0}.intro-close:hover,.intro-arrow:hover{color:#f1e3c4;border-color:#ffcd968c}.intro-arrow{width:48px;height:72px;font:inherit;color:#cbbd9f;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;font-family:Georgia,serif;font-size:34px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.intro-arrow.prev{left:calc(14px + var(--safe-l))}.intro-arrow.next{right:calc(14px + var(--safe-r))}.intro-close:focus-visible,.intro-arrow:focus-visible,.intro-choose:focus-visible{outline-offset:3px;outline:1px solid #ffbe78d9}body.intro-open #rotate-hint{display:none}@media (orientation:portrait) and (max-width:700px){#intro{background:linear-gradient(#0000 34%,#03040cb3 50%,#03040ce6 62%)}.intro-panel{width:auto;max-height:50%;padding:18px 22px calc(18px + var(--safe-b));inset:auto 0 0;transform:translateY(24px)}.intro-name{font-size:40px}.intro-title{margin-bottom:14px}.intro-arrow{top:25%}.intro-story p{margin-bottom:8px;font-size:13px;line-height:1.55}.intro-panel.in{translate:0}.intro-choose{background:linear-gradient(#28160af5,#180e08f5);width:100%;margin-top:10px;position:sticky;bottom:0}.intro-dots{margin-top:12px}}@media (orientation:landscape) and (max-height:520px){.intro-panel{width:min(380px,46vw);max-height:calc(100% - 40px);right:70px}.intro-count{margin-bottom:6px}.intro-name{font-size:32px}.intro-title{margin:4px 0 10px}.intro-story{padding-top:10px}.intro-story p{margin-bottom:8px;font-size:13px;line-height:1.5}.intro-choose{margin-top:6px}.intro-dots{margin-top:10px}}
