@font-face{font-family:Teko;src:url(../assets/fonts/Teko.woff2)format("woff2");font-weight:300 700;font-display:block}@font-face{font-family:Chakra;src:url(../assets/fonts/ChakraPetch-Regular.woff2)format("woff2");font-weight:400;font-display:block}@font-face{font-family:Chakra;src:url(../assets/fonts/ChakraPetch-Bold.woff2)format("woff2");font-weight:700;font-display:block}@font-face{font-family:Pixel;src:url(../assets/fonts/PressStart2P.woff2)format("woff2");font-display:block}@font-face{font-family:Gothic;src:url(../assets/fonts/PirataOne.woff2)format("woff2");font-display:block}:root{--blood:#c4001f;--blood-hi:#ff2a3d;--blood-deep:#3a0006;--bone:#efe3cf;--gold:#e3a94a;--ink:#0b0506}*{box-sizing:border-box}html,body{height:100%;color:var(--bone);-webkit-user-select:none;user-select:none;background:#000;margin:0;font-family:Chakra,sans-serif;overflow:hidden}#game,#game canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui *{pointer-events:auto}body.in-game{cursor:none}body.in-game.paused{cursor:default}.hud,.hud *{pointer-events:none!important}.screen{flex-direction:column;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:fixed;inset:0}.screen.out{opacity:0}.boot{cursor:pointer;background:radial-gradient(#1a0205 0%,#000 70%);gap:28px}.boot-drop{background:var(--blood);width:34px;height:48px;clip-path:path("M17 0 C17 0 0 24 0 32 A17 16 0 0 0 34 32 C34 24 17 0 17 0 Z");box-shadow:0 0 40px var(--blood);border-radius:50%/60% 60% 40% 40%;animation:1.6s ease-in-out infinite dropPulse}@keyframes dropPulse{50%{filter:brightness(1.4);transform:scale(1.12)}}.boot-press{letter-spacing:4px;color:var(--bone);text-shadow:0 0 12px #ff283cb3;font-family:Pixel;font-size:18px;animation:1.1s steps(2,start) infinite blink}.boot-note{letter-spacing:3px;opacity:.45;font-family:Chakra;font-size:12px}@keyframes blink{to{visibility:hidden}}.studio{background:#000}.studio img{opacity:0;filter:drop-shadow(0 0 30px #c8001e80);width:min(46vw,620px);transition:opacity 1.2s,transform 3.6s ease-out,filter 1.2s;transform:scale(.96)}.studio .studio-sub{letter-spacing:12px;opacity:0;margin-top:18px;font-family:Teko;font-size:22px;transition:opacity 1.4s .8s}.studio.in img{opacity:1;transform:scale(1.02)}.studio.in .studio-sub{opacity:.7}.loading{background:#000;gap:18px}.ld-text{letter-spacing:14px;color:var(--bone);font-family:Teko;font-size:34px}.ld-bar{background:#1b0a0c;border:1px solid #3a1417;width:min(420px,60vw);height:6px;overflow:hidden}.ld-fill{background:linear-gradient(90deg, #6a0010, var(--blood-hi));transform-origin:0;height:100%;box-shadow:0 0 12px var(--blood);transition:transform .3s;transform:scaleX(0)}.ld-tip{text-align:center;opacity:.6;letter-spacing:1px;max-width:520px;font-size:14px;line-height:1.5}.intro{pointer-events:none;justify-content:flex-end}.intro .bars{background:#000;height:11vh;position:absolute;left:0;right:0}.intro .bars.top{top:0}.intro .bars.bottom{bottom:0}.intro .subtitle{text-align:center;color:#f3e6d2;text-shadow:0 2px #000,0 0 24px #000000e6;letter-spacing:1px;width:80%;font-family:Gothic;font-size:clamp(22px,3.2vw,46px);position:absolute;bottom:13vh}.intro .subtitle span{opacity:0;filter:blur(4px);transition:opacity .8s,transform .8s,filter .8s;transition-delay:var(--d);display:inline-block;transform:translateY(8px)}.intro .subtitle.show span{opacity:1;filter:none;transform:none}.intro .skip{letter-spacing:4px;opacity:.45;font-family:Teko;font-size:18px;position:absolute;bottom:4vh;right:3vw}.intro .intro-logo{opacity:0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.intro .intro-logo img{filter:drop-shadow(0 0 60px #ff001e99);width:min(70vw,1000px);transform:scale(2.2)}.intro.logo .intro-logo{opacity:1;transition:opacity .15s}.intro.logo .intro-logo img{transition:transform .45s cubic-bezier(.2,1.6,.4,1);animation:.5s .4s logoShake;transform:scale(1)}@keyframes logoShake{20%{translate:-6px 3px}40%{translate:5px -4px}60%{translate:-3px 2px}80%{translate:2px -1px}}.title-screen{justify-content:flex-start}.title-logo{margin-top:5vh;animation:1.4s cubic-bezier(.2,1.3,.4,1) both logoIn;position:relative}.title-logo .logo-layout{aspect-ratio:1236/469;width:min(62vw,880px)}@keyframes logoIn{0%{opacity:0;filter:blur(10px);transform:scale(1.4)translateY(-20px)}}@keyframes logoBreath{50%{filter:drop-shadow(0 10px 30px #000c)drop-shadow(0 0 70px #ff002899)}}.title-menu{margin-top:1vh;animation:.8s .6s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}}.title-foot{letter-spacing:3px;opacity:.55;justify-content:space-between;font-family:Teko;font-size:17px;display:flex;position:absolute;bottom:2.4vh;left:3vw;right:3vw}.title-foot .rec{color:var(--gold);opacity:1}.menu{opacity:0;flex-direction:column;align-items:center;transition:opacity .3s,transform .3s;display:flex;transform:translateY(10px)}.menu.in{opacity:1;transform:none}.menu.out{opacity:0}.menu.hidden{display:none}.menu h2{letter-spacing:10px;color:var(--bone);text-shadow:0 0 20px #ff002880, 3px 3px 0 var(--blood-deep);margin:0 0 14px;font-family:Teko;font-size:54px;font-weight:600}.menu .items{flex-direction:column;align-items:stretch;gap:2px;min-width:360px;display:flex}.item{all:unset;letter-spacing:5px;color:#efe3cfb8;cursor:pointer;text-shadow:2px 2px #000;justify-content:space-between;align-items:center;gap:30px;padding:6px 26px 4px;font-family:Teko;font-size:30px;transition:color .12s,transform .12s,letter-spacing .2s;display:flex;position:relative}.menu.main .item{justify-content:center;font-size:34px}.item .val{letter-spacing:3px;color:var(--gold);align-items:center;gap:10px;font-size:22px;display:flex}.item .val em{opacity:.6;font-style:normal}.item .val i{background:#2a1012;width:130px;height:6px;display:block;position:relative}.item .val i:after{content:"";width:calc(var(--v) * 100%);background:linear-gradient(90deg, #7a0010, var(--blood-hi));max-width:100%;position:absolute;inset:0}.item .val b{text-align:right;min-width:52px;font-weight:400}.item.focus{color:#fff;letter-spacing:7px}.item.focus:before{content:"";z-index:-1;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%);background:linear-gradient(90deg,#0000,#c4001f8c 20% 80%,#0000);animation:.25s ease-out sweep;position:absolute;inset:4px -8px}.item.focus:after{content:"";background:var(--blood-hi);width:10px;height:14px;clip-path:path("M5 0 C5 0 0 8 0 10 A5 4.5 0 0 0 10 10 C10 8 5 0 5 0 Z");filter:drop-shadow(0 0 6px var(--blood-hi));margin-top:-8px;position:absolute;top:50%;left:4px}@keyframes sweep{0%{clip-path:polygon(50% 0,50% 0,50% 100%,50% 100%)}}.item.disabled{opacity:.3;cursor:default}.sep{height:14px}.menu.sub{background:linear-gradient(#080203e0,#140306eb);border:1px solid #c4001f59;max-height:88vh;padding:30px 50px 26px;overflow:auto;box-shadow:0 0 80px #000c,inset 0 0 60px #78001426}.menu.options .items{min-width:640px}.menu.options .item{padding:3px 22px 1px;font-size:25px}.menu-footer{opacity:.5;letter-spacing:2px;margin-top:14px;font-size:13px}.ctl-table{letter-spacing:1px;gap:1px;min-width:760px;margin-bottom:18px;font-size:15px;display:grid}.ctl-head,.ctl-row{grid-template-columns:1.5fr 1fr 1fr;padding:6px 14px;display:grid}.ctl-head{letter-spacing:4px;color:var(--gold);border-bottom:1px solid #c4001f80;font-family:Teko;font-size:20px}.ctl-row:nth-child(odd){background:#ffffff08}.ctl-row span:not(:first-child){color:#fff;font-weight:700}.credits-body{text-align:center;max-width:620px;margin-bottom:16px;font-size:16px;line-height:1.5}.credits-body i{letter-spacing:4px;color:var(--gold);font-family:Teko;font-size:20px;font-style:normal}.credits-body b{letter-spacing:8px;color:var(--blood-hi);font-family:Teko;font-size:34px}.credits-body .thanks{opacity:.6;margin-top:18px;font-style:italic}.pause-screen{-webkit-backdrop-filter:blur(3px)saturate(.6);backdrop-filter:blur(3px)saturate(.6);background:radial-gradient(#2800068c,#000000d9)}.pause-title{letter-spacing:26px;color:var(--bone);text-shadow:0 0 30px #ff002899, 5px 5px 0 var(--blood-deep);margin-bottom:10px;font-family:Teko;font-size:96px}.hud{font-family:Teko;position:fixed;inset:0}.hud-left{align-items:flex-start;gap:14px;display:flex;position:absolute;top:2.4vh;left:2.2vw}.portrait{clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%);background:radial-gradient(circle at 50% 40%,#5a1418,#120405);border:2px solid #efe3cfcc;width:84px;height:84px;box-shadow:0 0 20px #0009}.portrait img{object-fit:cover;width:100%;height:100%}.hud.hurt .portrait{animation:.3s hurtShake}.hud.low-hp .portrait{animation:.9s infinite lowPulse}@keyframes hurtShake{25%{filter:brightness(2)sepia()hue-rotate(-40deg)saturate(5);transform:translate(-4px,2px)}60%{transform:translate(3px,-2px)}}@keyframes lowPulse{50%{box-shadow:0 0 30px #ff001ee6}}.vitals{flex-direction:column;gap:6px;padding-top:2px;display:flex}.hp{clip-path:polygon(0 0,100% 0,96% 100%,0 100%);background:#140406cc;border:2px solid #efe3cfd9;width:300px;height:26px;position:relative;overflow:hidden}.hp-fill{transform-origin:0;background:linear-gradient(#ff4056 0%,#c4001f 45%,#6e0010 100%);transition:transform .15s;position:absolute;inset:0}.hp-shine{background:#ffffff40;height:4px;position:absolute;top:3px;left:0;right:0}.hp-num{color:#fff;text-shadow:2px 2px #000;font-size:26px;position:absolute;top:-3px;right:18px}.frenzy{background:#140406cc;border:1px solid #efe3cf80;width:240px;height:12px;position:relative;overflow:visible}.fr-fill{transform-origin:0;background:linear-gradient(90deg,#6a0030,#ff2a6a);transition:transform .2s;position:absolute;inset:0}.fr-label{letter-spacing:3px;opacity:.6;white-space:nowrap;font-size:18px;position:absolute;top:-7px;left:248px}.frenzy.ready .fr-fill{background:linear-gradient(90deg,#ff2a3d,#ffcf5a,#ff2a3d) 0 0/200% 100%;animation:.6s linear infinite shimmer}.frenzy.ready .fr-label{opacity:1;color:#ffcf5a;animation:.5s steps(2,start) infinite blink}.frenzy.ready .fr-label:after{content:" [F]"}.frenzy.active .fr-fill{background:#fff;box-shadow:0 0 16px #ff2a3d}@keyframes shimmer{to{background-position:-200% 0}}.weapon{letter-spacing:3px;text-shadow:2px 2px #000;align-items:baseline;gap:14px;font-size:24px;display:flex}.weapon .ammo{color:var(--gold);font-size:30px}.weapon .gren{color:#cfd6a0;align-items:center;gap:6px;display:flex}.weapon .gren i{background:#7d8a43;border-radius:45%;width:11px;height:14px;box-shadow:inset -2px -2px #0006}.wname.flash{animation:.6s wflash}@keyframes wflash{30%{color:var(--blood-hi);transform:scale(1.1)}}.hud-right{text-align:right;position:absolute;top:2vh;right:2.4vw}.score{letter-spacing:3px;color:#fff;text-shadow:3px 3px 0 var(--blood-deep), 0 0 24px #ff002859;font-size:56px;line-height:.9}.litres{letter-spacing:3px;opacity:.9;font-size:22px}.litres b{color:var(--blood-hi);font-size:30px;font-weight:500}.mult{justify-content:flex-end;align-items:baseline;gap:8px;margin-top:2px;display:flex}.mult span{font-size:calc(30px + var(--m) * 34px);color:hsl(calc(45 - var(--m) * 45), 100%, calc(60% + var(--m) * 5%));text-shadow:3px 3px #000;transition:font-size .15s}.mult em{letter-spacing:4px;opacity:.6;font-size:16px;font-style:normal}.mult.hot span{animation:.12s infinite jitter}@keyframes jitter{50%{transform:translate(1px,-1px)rotate(-1deg)}}.announce-wrap{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:18vh;left:0;right:0}.announce{text-align:center;transition:opacity .5s,transform .5s;animation:.35s cubic-bezier(.2,1.8,.4,1) both annIn}.announce.out{opacity:0;transform:translateY(-20px)scale(.9)}.announce span{display:inline-block}.announce.big span{letter-spacing:6px;color:#fff;-webkit-text-stroke:2px var(--blood-deep);text-shadow:0 6px 0 var(--blood), 0 12px 0 var(--blood-deep), 0 0 40px #ff0028cc;font-size:clamp(60px,8vw,128px);transform:skew(-8deg)}.announce.medium span{letter-spacing:5px;color:var(--gold);text-shadow:3px 3px #000,0 0 24px #ff8c0080;font-size:58px;transform:skew(-8deg)}.announce.small span{letter-spacing:6px;color:var(--bone);text-shadow:2px 2px #000;background:linear-gradient(90deg,#0000,#a00014b3,#0000);padding:0 60px;font-size:30px}.announce.weapon span{letter-spacing:6px;color:#ffe38a;-webkit-text-stroke:1px #5a3000;text-shadow:0 4px #b36b00,0 8px #3a2000,0 0 30px #ffb40099;font-family:Teko;font-size:64px}.announce.mission span{color:#fff;letter-spacing:6px;text-shadow:4px 4px 0 var(--blood), 8px 8px 0 #000;font-family:Pixel;font-size:clamp(30px,4vw,60px)}.announce.arena span{letter-spacing:16px;color:var(--bone);border-top:2px solid var(--blood);border-bottom:2px solid var(--blood);text-shadow:2px 2px #000;padding:0 30px;font-size:40px}@keyframes annIn{0%{opacity:0;filter:blur(8px);transform:scale(2.2)}}.hint{text-align:center;letter-spacing:3px;color:var(--bone);opacity:0;text-shadow:0 2px 6px #000,0 0 2px #000;font-family:Chakra;font-size:16px;font-weight:700;transition:opacity .6s;position:absolute;bottom:7vh;left:0;right:0}.hint.show{opacity:.85}.prompt{letter-spacing:3px;color:#fff;background:var(--blood);clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);opacity:0;box-shadow:0 0 20px var(--blood);padding:2px 12px 0;font-size:26px;transition:opacity .15s;position:absolute;top:0;left:0}.prompt.show{opacity:1;animation:.5s infinite alternate promptPulse}@keyframes promptPulse{to{filter:brightness(1.5)}}.go{color:#ffe38a;text-shadow:4px 4px #b3001b;opacity:0;font-family:Pixel;font-size:40px;position:absolute;top:42vh;right:5vw}.go.show{animation:.5s steps(2,start) 7 goBlink}.go span{animation:.5s ease-in-out infinite alternate goArrow;display:inline-block}@keyframes goBlink{0%{opacity:1}to{opacity:0}}@keyframes goArrow{to{transform:translate(12px)}}.bossbar{opacity:0;width:min(820px,70vw);transition:opacity .6s;position:absolute;bottom:5vh;left:50%;transform:translate(-50%)}.bossbar.show{opacity:1}.bossbar label{text-align:center;letter-spacing:6px;color:var(--bone);text-shadow:2px 2px 0 #000, 0 0 20px var(--blood);font-family:Gothic;font-size:34px;display:block}.bb{background:#0f0204d9;border:2px solid #efe3cfb3;height:16px;position:relative}.bb-fill,.bb-lag{transform-origin:0;position:absolute;inset:0}.bb-lag{opacity:.5;background:#fff}.bb-fill{z-index:1;background:linear-gradient(#ff3a4a,#a0001a)}.continue{opacity:0;background:radial-gradient(#2800054d,#000000b3);flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.continue.show{opacity:1}.continue div{letter-spacing:6px;text-shadow:4px 4px 0 var(--blood);font-family:Pixel;font-size:40px}.continue b{color:#ffe38a;text-shadow:6px 6px 0 var(--blood), 12px 12px 0 #000;margin:20px 0;font-family:Pixel;font-size:120px}.continue small{letter-spacing:6px;font-family:Teko;font-size:24px;animation:1s steps(2,start) infinite blink}.mission-card{text-align:center;opacity:0;transition:opacity .5s;position:absolute;top:36vh;left:0;right:0}.mission-card.show{opacity:1}.mc-name{letter-spacing:8px;color:#fff;text-shadow:4px 4px 0 var(--blood), 8px 8px 0 #000;font-family:Pixel;font-size:clamp(26px,3.5vw,52px)}.mc-sub{letter-spacing:18px;color:var(--gold);text-shadow:2px 2px #000;margin-top:12px;font-family:Teko;font-size:34px}.warning{opacity:0;flex-direction:column;align-items:center;display:flex;position:absolute;top:34vh;left:0;right:0}.warning.show{animation:.45s steps(2,start) 6 warnBlink}.warning .w-stripe{background:repeating-linear-gradient(-45deg,#c4001f 0 22px,#000 22px 44px);width:100%;height:18px}.warning .w-text{color:#ff2a3d;letter-spacing:12px;text-shadow:5px 5px #000;margin:16px 0 4px;font-family:Pixel;font-size:70px}.warning .w-sub{letter-spacing:8px;margin-bottom:16px;font-family:Teko;font-size:30px}@keyframes warnBlink{0%{opacity:1}to{opacity:0}}.director-overlay{letter-spacing:.5px;background:#000000b3;border:1px solid #ff3c3c66;width:290px;padding:10px 14px;font-family:Chakra;font-size:12px;line-height:1.5;display:none;position:absolute;bottom:3vh;left:2.2vw}.director-overlay b{color:#ffd24a}.director-overlay canvas{width:260px;height:70px;margin-top:6px;display:block}.reticle{--s:10px;width:0;height:0;position:absolute;top:0;left:0}.reticle i{background:#fff;position:absolute;box-shadow:0 0 4px #ff2a3d,0 0 1px #000}.reticle i:first-child{width:2px;height:9px;left:-1px;top:calc(-1 * var(--s) - 9px)}.reticle i:nth-child(2){width:2px;height:9px;left:-1px;top:var(--s)}.reticle i:nth-child(3){width:9px;height:2px;top:-1px;left:calc(-1 * var(--s) - 9px)}.reticle i:nth-child(4){width:9px;height:2px;top:-1px;left:var(--s)}.reticle:after{content:"";background:#ff2a3d;border-radius:50%;width:4px;height:4px;position:absolute;top:-2px;left:-2px}.splatter{mix-blend-mode:multiply;opacity:.95;width:100%;height:100%;position:absolute;inset:0}.results{background:radial-gradient(at 50% 30%,#3c000880,#000000d9);justify-content:flex-start;padding-top:6vh}.res-title{letter-spacing:8px;color:#fff;text-shadow:5px 5px 0 var(--blood), 10px 10px 0 #000;font-family:Pixel;font-size:clamp(30px,4.2vw,64px);animation:.5s cubic-bezier(.2,1.6,.4,1) both annIn}.results.lose .res-title{color:#bbb}.res-body{align-items:flex-start;gap:6vw;margin-top:5vh;display:flex}.res-stats{min-width:440px}.res-row{letter-spacing:3px;animation:.4s both rowIn;animation-delay:var(--d);border-bottom:1px solid #c4001f40;justify-content:space-between;padding:2px 8px;font-family:Teko;font-size:30px;display:flex}.res-row b{color:var(--gold);font-weight:500}.res-row:first-child b{color:var(--blood-hi);font-size:36px}@keyframes rowIn{0%{opacity:0;transform:translate(-30px)}}.res-side{text-align:center;min-width:280px}.res-score-l,.res-rank-l{letter-spacing:10px;opacity:.6;font-family:Teko;font-size:24px}.res-score{color:#fff;text-shadow:3px 3px 0 var(--blood-deep);margin-bottom:10px;font-family:Teko;font-size:76px;line-height:1}.res-record{color:#ffe38a;margin-bottom:14px;font-family:Pixel;font-size:16px;animation:.6s steps(2,start) infinite blink}.res-rank{opacity:0;font-family:Gothic;font-size:200px;line-height:1;transform:scale(3)rotate(-15deg)}.res-rank.stamp{opacity:1;transition:transform .3s cubic-bezier(.3,1.8,.5,1),opacity .1s;transform:rotate(-8deg)}.rank-S{color:#ffd84a;text-shadow:0 0 40px #ffc800cc,6px 6px #6a0010}.rank-A{color:#ff3a4a;text-shadow:0 0 30px #ff0028b3,6px 6px #000}.rank-B{color:#d7c7b0;text-shadow:6px 6px #000}.rank-C{color:#888;text-shadow:6px 6px #000}.res-menu{margin-top:4vh}.arena-bar{text-align:center;opacity:0;width:min(420px,40vw);transition:opacity .4s;position:absolute;top:2.6vh;left:50%;transform:translate(-50%)}.arena-bar.show{opacity:1}.arena-bar label{letter-spacing:10px;color:var(--bone);text-shadow:2px 2px #000;font-size:26px;display:block}.arena-bar .ab{background:#0f0204cc;border:1px solid #efe3cf99;height:8px;margin:2px 0 3px}.arena-bar .ab-fill{background:linear-gradient(90deg, #7a0010, var(--blood-hi));transform-origin:0;height:100%;transition:transform .25s}.arena-bar small{letter-spacing:4px;color:var(--gold);text-shadow:2px 2px #000;font-size:17px}.edge-arrow{color:var(--blood-hi);text-shadow:0 0 12px red,2px 2px #000;opacity:0;font-size:44px;position:absolute;top:50%;transform:translateY(-50%)}.edge-arrow.left{left:1.2vw}.edge-arrow.right{right:1.2vw}.edge-arrow.show{opacity:1;animation:.5s steps(2,start) infinite blink}.screen.overlay{z-index:5;background:radial-gradient(#1400038c,#000c);animation:.25s both fadeIn}@keyframes fadeIn{0%{opacity:0}}.ctl-row,.ctl-head{padding:4px 14px}@media (max-height:820px){.ctl-table{font-size:13px}.menu h2{margin-bottom:8px;font-size:42px}.menu.options .item{font-size:22px}}html,body{touch-action:none;overscroll-behavior:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.menu.sub,.menu.sub *{touch-action:pan-y}.hud-left{left:calc(env(safe-area-inset-left) + 2.2vw);top:calc(env(safe-area-inset-top) + 2.4vh)}.hud-right{right:calc(env(safe-area-inset-right) + 2.4vw);top:calc(env(safe-area-inset-top) + 2vh)}.touch-ui{pointer-events:none;z-index:3;opacity:0;--u:calc(min(15vh, 92px) * var(--tscale,1));--r:calc(env(safe-area-inset-right) + 2.2vw);transition:opacity .3s;position:fixed;inset:0}.touch-ui.show{opacity:1}.touch-ui.show .t-btn,.touch-ui.show .t-pause{pointer-events:auto}.t-btn{all:unset;box-sizing:border-box;font-family:Teko;font-size:calc(var(--u) * .24);letter-spacing:2px;color:#fff0e6c7;text-shadow:0 2px 3px #000;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 38%,#780a1447,#19030638);border:2px solid #ffd2c852;border-radius:50%;justify-content:center;align-items:center;transition:transform 60ms,background .1s;display:flex;position:absolute;box-shadow:0 0 0 1px #00000040,inset 0 2px 8px #ffffff0f}.t-btn.on{background:radial-gradient(circle at 50% 40%,#e61e2dcc,#5a050ccc);border-color:#ffe6dccc;transform:scale(.92)}.t-jump{width:calc(var(--u) * 1.3);height:calc(var(--u) * 1.3);right:var(--r);bottom:calc(env(safe-area-inset-bottom) + 5vh);font-size:calc(var(--u) * .3)}.t-fire{width:calc(var(--u) * 1.6);height:calc(var(--u) * 1.6);right:calc(var(--r) + var(--u) * 1.42);bottom:calc(env(safe-area-inset-bottom) + 2.5vh);font-size:calc(var(--u) * .3)}.t-fire .t-aimdot{opacity:0;background:#ff5050b3;border-radius:50%;width:22%;height:22%;margin:-11% 0 0 -11%;transition:opacity .1s;position:absolute;top:50%;left:50%;box-shadow:0 0 10px #f22}.t-fire.on .t-aimdot{opacity:1}.touch-ui.autofire .t-fire span:after{content:"AIM";letter-spacing:3px;opacity:.6;text-align:center;margin-top:-.4em;font-size:.5em;display:block}.t-dash{width:calc(var(--u) * .98);height:calc(var(--u) * .98);right:calc(var(--r) + var(--u) * .16);bottom:calc(env(safe-area-inset-bottom) + 5vh + var(--u) * 1.42)}.t-melee{width:calc(var(--u) * .98);height:calc(var(--u) * .98);right:calc(var(--r) + var(--u) * 1.5);bottom:calc(env(safe-area-inset-bottom) + 2.5vh + var(--u) * 1.72)}.touch-ui.exec .t-melee{font-size:calc(var(--u) * .2);background:radial-gradient(circle,#ff2832f2,#6e000ae6);border-color:#fff;animation:.45s infinite alternate promptPulse}.t-gren{width:calc(var(--u) * .74);height:calc(var(--u) * .74);right:calc(var(--r) + var(--u) * 3.1);bottom:calc(env(safe-area-inset-bottom) + 3vh + var(--u) * .5);font-size:calc(var(--u) * .19);flex-direction:column}.t-gren b{color:#cfd6a0;font-size:1.1em;font-weight:400;line-height:.8}.t-frenzy{width:calc(var(--u) * 1.05);height:calc(var(--u) * 1.05);right:calc(var(--r) + var(--u) * .12);bottom:calc(env(safe-area-inset-bottom) + 5vh + var(--u) * 2.5);font-size:calc(var(--u) * .2);opacity:0;transition:opacity .2s,transform .2s;transform:scale(.6);pointer-events:none!important}.t-frenzy.ready{opacity:1;color:#fff;background:radial-gradient(circle,#ffc850e6,#b4141ee6);border-color:#ffe38a;animation:.5s infinite alternate promptPulse;transform:scale(1);pointer-events:auto!important}.t-stick{opacity:0;width:0;height:0;transition:opacity .12s;position:fixed;top:0;left:0}.t-stick.on{opacity:1}.t-base{background:radial-gradient(circle,#3c050a59,#0a000240);border:2px solid #ffd2c84d;border-radius:50%;width:128px;height:128px;margin:-64px 0 0 -64px;position:absolute}.t-knob{background:radial-gradient(circle at 45% 38%,#ff5a5ad9,#78050fd9);border:2px solid #ffe6dcb3;border-radius:50%;width:58px;height:58px;margin:-29px 0 0 -29px;position:absolute;box-shadow:0 0 14px #ff1e2880}.t-pause{all:unset;top:calc(env(safe-area-inset-top) + 1.6vh);background:#1402058c;border:1px solid #ffd2c859;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:38px;height:38px;margin-left:-19px;display:flex;position:absolute;left:50%}.t-pause i{background:#fff0e6d9;border-radius:1px;width:5px;height:16px;display:block}.touch-ui:not(.show),.touch-ui:not(.show) *{pointer-events:none!important}body.touch .reticle{display:none!important}body.touch .frenzy.ready .fr-label:after{content:""}body.touch .arena-bar{top:calc(env(safe-area-inset-top) + 1.6vh + 44px)}body.touch .hint{bottom:auto;top:calc(env(safe-area-inset-top) + 24vh);font-size:12px;left:22vw;right:22vw}.lockon{width:0;height:0;display:none;position:absolute;top:0;left:0}.lockon i{filter:drop-shadow(0 0 4px red);border:2px solid #ff3b3b;width:10px;height:10px;animation:1.4s linear infinite lockSpin;position:absolute}.lockon i:first-child{border-bottom:0;border-right:0;top:-16px;left:-16px}.lockon i:nth-child(2){border-bottom:0;border-left:0;top:-16px;left:6px}.lockon i:nth-child(3){border-top:0;border-right:0;top:6px;left:-16px}.lockon i:nth-child(4){border-top:0;border-left:0;top:6px;left:6px}@keyframes lockSpin{50%{transform:scale(1.25)}}.touch-table .ctl-head,.touch-table .ctl-row{grid-template-columns:1fr 2.2fr}.rotate-hint{z-index:50;color:var(--bone);text-align:center;background:#070203;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-family:Teko;display:none;position:fixed;inset:0}.rotate-hint b{letter-spacing:6px;font-size:32px;font-weight:500}.rotate-hint small{letter-spacing:3px;opacity:.6;font-size:16px}.rotate-hint .phone{border:3px solid var(--blood-hi);border-radius:9px;width:46px;height:80px;animation:2.2s ease-in-out infinite rot;box-shadow:0 0 20px #ff001e66}@keyframes rot{0%,20%{transform:rotate(0)}50%,80%{transform:rotate(-90deg)}to{transform:rotate(0)}}body.is-portrait .rotate-hint{display:flex}@media (max-height:520px){.hud-left{transform-origin:0 0;transform:scale(.62)}.hud-right{transform-origin:100% 0;transform:scale(.62)}.announce-wrap{top:33vh}.announce.big span{-webkit-text-stroke:1px var(--blood-deep);text-shadow:0 4px 0 var(--blood), 0 7px 0 var(--blood-deep), 0 0 24px #ff0028cc;font-size:clamp(34px,15vh,128px)}.announce.medium span{font-size:9vh}.announce.small span{padding:0 30px;font-size:5.5vh}.announce.weapon span{font-size:10vh}.announce.mission span{font-size:7vh}.announce.arena span{letter-spacing:8px;font-size:6.5vh}.arena-bar{width:34vw}.arena-bar label{letter-spacing:6px;font-size:16px}.arena-bar small{letter-spacing:2px;font-size:11px}.arena-bar .ab{height:5px}.mc-name{font-size:6vh}.mc-sub{letter-spacing:10px;font-size:5.5vh}.warning .w-text{font-size:10vh}.warning .w-sub{font-size:5vh}.warning .w-stripe{height:10px}.continue div{font-size:6vh}.continue b{margin:2vh 0;font-size:20vh}.continue small{font-size:18px}.bossbar{width:44vw;bottom:2vh}.bossbar label{font-size:18px}.bb{height:9px}body.touch .bossbar{bottom:auto;top:calc(env(safe-area-inset-top) + 1.6vh + 46px)}.prompt{font-size:16px}.edge-arrow{font-size:28px}.director-overlay{transform-origin:0 100%;transform:scale(.7)}.title-logo{margin-top:2vh}.title-logo .logo-layout{width:min(50vw,95vh)}.title-menu{margin-top:0}.menu.main .item{padding:.2vh 20px 0;font-size:5.6vh}.menu .items{gap:0;min-width:0}.title-foot{letter-spacing:2px;bottom:1.4vh;left:calc(env(safe-area-inset-left) + 3vw);right:calc(env(safe-area-inset-right) + 3vw);font-size:11px}.menu.sub{-webkit-overflow-scrolling:touch;max-height:92vh;padding:3vh 4vw 2vh;overflow-y:auto}.menu h2{letter-spacing:6px;margin-bottom:1vh;font-size:7.5vh}.item{gap:16px;padding:.6vh 16px .2vh;font-size:5vh}.menu.options .items{min-width:min(560px,80vw)}.menu.options .item{padding:.5vh 14px .1vh;font-size:4.6vh}.item .val{font-size:4vh}.item .val i{width:90px}.sep{height:1.2vh}.ctl-table{min-width:min(640px,86vw);margin-bottom:1vh;font-size:11px}.ctl-head{font-size:14px}.ctl-head,.ctl-row{padding:2px 10px}.credits-body{margin-bottom:1vh;font-size:12px;line-height:1.35}.credits-body b{font-size:22px}.credits-body i{font-size:14px}.pause-title{letter-spacing:14px;margin-bottom:0;font-size:15vh}.ld-text{font-size:26px}.ld-tip{max-width:70vw;font-size:12px}.results{padding:2vh calc(env(safe-area-inset-right) + 4vw) 0 calc(env(safe-area-inset-left) + 4vw);grid-template:"title title""body menu"1fr/1.15fr 1fr;place-items:start center;display:grid}.res-title{grid-area:title}.res-body{flex-direction:row;grid-area:body;justify-self:stretch;gap:3vw;margin-top:2vh}.res-side{min-width:0}.res-menu{grid-area:menu;align-self:center}.res-title{font-size:7vh}.res-stats{width:30vw;min-width:0}.res-row{padding:0 4px;font-size:4.2vh}.res-row:first-child b{font-size:5.4vh}.res-score{margin-bottom:1vh;font-size:11vh}.res-score-l,.res-rank-l{font-size:3.6vh}.res-rank{font-size:26vh}.res-menu{margin-top:0}.res-menu .item{padding:.6vh 16px .2vh;font-size:5.6vh}.intro .subtitle{font-size:6vh;bottom:13vh}.intro .skip{font-size:12px}}.menu.sub{position:relative}.menu-close{all:unset;text-align:center;width:36px;height:36px;color:var(--bone);opacity:.7;cursor:pointer;border-radius:50%;font-size:30px;line-height:34px;position:absolute;top:8px;right:12px}.menu-close:hover{opacity:1;background:#c4001f66}@media (max-height:520px){.menu.options .items{grid-template-columns:1fr 1fr;column-gap:3vw;min-width:min(760px,92vw);display:grid}.menu.options .sep{display:none}.menu.options .item{letter-spacing:3px;font-size:4.2vh}.menu.options .item .val{font-size:3.6vh}.menu.options .item .val i{width:60px}.menu.options .item.focus{letter-spacing:3px}.menu.controls .items,.menu.credits .items{display:none}.menu.sub{max-width:94vw}}
