:root{--pink:#ff4fd8;--cyan:#3ff3ff;--lime:#c4ff4a;--peach:#ffb894;--lav:#c3b2ff;--glass:#1e0e3252;--edge:#ffffff29}*{box-sizing:border-box}html,body{color:#fff;background:#0b0614;height:100%;margin:0;font-family:Inter,system-ui,sans-serif;overflow:hidden}canvas#game{width:100vw;height:100vh;display:block;position:fixed;inset:0}.hidden{display:none!important}kbd{border:1px solid var(--edge);background:#ffffff14;border-radius:5px;margin-right:6px;padding:2px 6px;font-family:Unbounded,sans-serif;font-size:10px}.label{letter-spacing:.3em;opacity:.7;font-family:Unbounded;font-size:9px}.screen{z-index:20;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#title .bg{filter:saturate(1.15);background:url(../textures/title.jpg) 50%/cover;animation:30s ease-in-out infinite alternate drift;position:absolute;inset:-40px}#title:after{content:"";background:radial-gradient(#0a041826 0%,#0a0418bf 75%);position:absolute;inset:0}@keyframes drift{0%{transform:scale(1.05)translate(0)}to{transform:scale(1.12)translate(-20px,10px)}}.screen .content{z-index:2;text-align:center;padding:40px 56px;position:relative}#title h1{letter-spacing:-.02em;background:linear-gradient(100deg, #fff 0%, var(--peach) 30%, var(--pink) 55%, var(--cyan) 85%);color:#0000;filter:drop-shadow(0 0 30px #ff4fd88c)drop-shadow(0 0 80px #3ff3ff40);-webkit-background-clip:text;background-clip:text;margin:0;font-family:Unbounded;font-size:clamp(56px,11vw,150px);font-weight:800;line-height:.9}#title h1 span{font-weight:300}.tag{color:#ffe6f6;text-shadow:0 0 18px #ff78dccc;margin:14px 0 34px;font-family:Cormorant Garamond,serif;font-size:26px;font-style:italic}button{letter-spacing:.25em;color:#fff;cursor:pointer;backdrop-filter:blur(10px);background:linear-gradient(120deg,#ff4fd88c,#3ff3ff73);border:1px solid #fff6;border-radius:999px;padding:18px 44px;font-family:Unbounded;font-size:15px;font-weight:500;transition:transform .2s,box-shadow .2s;box-shadow:0 0 30px #ff4fd880,inset 0 0 20px #fff3}button:hover{transform:scale(1.05);box-shadow:0 0 60px #ff4fd8cc,0 0 100px #3ff3ff66,inset 0 0 20px #ffffff4d}button:disabled{opacity:.4;cursor:wait}.controls{opacity:.85;grid-template-columns:repeat(3,auto);justify-content:center;gap:10px 26px;margin-top:40px;font-size:12px;display:grid}#loading{letter-spacing:.2em;opacity:.7;margin-top:22px;font-size:12px}#pause,#gameover{backdrop-filter:blur(14px)saturate(1.4);background:#0c041a8c}h2{background:linear-gradient(90deg, var(--peach), var(--pink), var(--lav));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 24px;font-family:Unbounded;font-size:54px;font-weight:800}.opt{justify-content:space-between;align-items:center;gap:30px;width:360px;margin:18px auto 0;font-size:13px;display:flex}.quote{color:#ffe2f4;max-width:640px;margin:0 auto 30px;font-family:Cormorant Garamond;font-size:26px;font-style:italic}.final{justify-content:center;gap:50px;margin-bottom:36px;display:flex}.final div{flex-direction:column;gap:6px;display:flex}.final span:last-child{font-family:Unbounded;font-size:34px}#hud{pointer-events:none;z-index:10;position:fixed;inset:0}.glass{background:var(--glass)}#topbar{background:var(--glass);border:1px solid var(--edge);backdrop-filter:blur(8px);border-radius:999px;gap:40px;padding:10px 34px;display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%)}.stat{flex-direction:column;align-items:center;gap:2px;display:flex}.stat span:last-child{text-shadow:0 0 12px #ff78e6cc;font-family:Unbounded;font-size:20px;font-weight:500}.stat.score span:last-child{color:#fff4fb;font-size:24px}#health{background:var(--glass);border:1px solid var(--edge);backdrop-filter:blur(8px);border-radius:18px;width:300px;padding:14px 18px;position:absolute;bottom:34px;left:34px}#health .bar{background:#ffffff1a;border-radius:8px;height:8px;margin-top:8px;overflow:hidden}#healthfill{background:linear-gradient(90deg, var(--pink), var(--peach), var(--lime));width:100%;height:100%;box-shadow:0 0 14px var(--pink);border-radius:8px;transition:width .25s}#healthnum{font-family:Unbounded;font-size:16px;position:absolute;top:10px;right:18px}#weaponpanel{text-align:right;background:var(--glass);border:1px solid var(--edge);backdrop-filter:blur(8px);border-radius:18px;min-width:280px;padding:14px 20px;position:absolute;bottom:34px;right:34px}#ammo{font-family:Unbounded}#mag{text-shadow:0 0 18px #3ff3ffcc;font-size:46px;font-weight:500}#ammo .sep{opacity:.4;margin:0 6px;font-size:22px}#reserve{opacity:.7;font-size:20px}#mag.low{color:#ff7a9c;text-shadow:0 0 18px #ff2a6a}#weaponname{letter-spacing:.3em;color:var(--peach);margin:2px 0 10px;font-family:Unbounded;font-size:11px}#slots{justify-content:flex-end;gap:8px;display:flex}.slot{letter-spacing:.15em;border:1px solid var(--edge);opacity:.5;border-radius:10px;padding:6px 10px;font-family:Unbounded;font-size:9px;transition:all .2s}.slot.active{opacity:1;border-color:var(--cyan);background:#3ff3ff1f;box-shadow:0 0 14px #3ff3ff80}#crosshair{--s:8px;width:0;height:0;transition:opacity .15s;position:absolute;top:50%;left:50%}#crosshair i{box-shadow:0 0 6px var(--pink), 0 0 2px #000;background:#fff;border-radius:2px;transition:transform 60ms;position:absolute}#crosshair .t,#crosshair .b{width:2px;height:9px;left:-1px}#crosshair .l,#crosshair .r{width:9px;height:2px;top:-1px}#crosshair .t{top:calc(-9px - var(--s))}#crosshair .b{top:var(--s)}#crosshair .l{left:calc(-9px - var(--s))}#crosshair .r{left:var(--s)}#crosshair b{background:var(--cyan);width:3px;height:3px;box-shadow:0 0 6px var(--cyan);border-radius:50%;position:absolute;top:-1.5px;left:-1.5px}#hitmarker{opacity:0;width:30px;height:30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}#hitmarker:before,#hitmarker:after{content:"";box-shadow:0 0 8px var(--pink);background:#fff;position:absolute}#hitmarker:before{clip-path:polygon(0 0,100% 0,100% 35%,0 35%,0 65%,100% 65%,100% 100%,0 100%);width:2px;height:30px;top:0;left:14px}#hitmarker:after{clip-path:polygon(0 0,35% 0,35% 100%,0 100%,0 0,65% 0,100% 0,100% 100%,65% 100%);width:30px;height:2px;top:14px;left:0}#hitmarker.show{animation:.25s ease-out hm}#hitmarker.crit:before,#hitmarker.crit:after{background:var(--lime);box-shadow:0 0 10px var(--lime)}@keyframes hm{0%{opacity:1;transform:translate(-50%,-50%)rotate(45deg)scale(1.4)}to{opacity:0;transform:translate(-50%,-50%)rotate(45deg)scale(1)}}#damage{opacity:0;background:radial-gradient(#0000 45%,#ff1e6ea6 100%);transition:opacity .4s;position:absolute;inset:0}#feed{flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:30px;right:34px}#feed div{letter-spacing:.15em;background:var(--glass);border:1px solid var(--edge);border-radius:999px;padding:6px 14px;font-family:Unbounded;font-size:12px;animation:2.6s forwards feedin}@keyframes feedin{0%{opacity:0;transform:translate(20px)}10%,80%{opacity:1;transform:none}to{opacity:0}}#banner{text-align:center;opacity:0;transition:opacity .6s;position:absolute;top:30%;left:0;right:0}#banner.show{opacity:1}#banner .big{background:linear-gradient(90deg, var(--peach), var(--pink), var(--cyan));color:#0000;filter:drop-shadow(0 0 20px #ff4fd899);-webkit-background-clip:text;background-clip:text;font-family:Unbounded;font-size:64px;font-weight:800}#banner .small{text-shadow:0 0 14px #ff8cdce6;margin-top:8px;font-family:Cormorant Garamond;font-size:28px;font-style:italic}#fps{opacity:.45;font-family:monospace;font-size:11px;position:absolute;top:8px;left:10px}#scope{pointer-events:none;z-index:9;opacity:0;transition:opacity .12s;position:fixed;inset:0}#scope.on{opacity:1}#scope .lens{background:radial-gradient(circle,#0000 0 38vh,#0009 39vh,#05020a 41vh);position:absolute;inset:0}#scope .reticle{background:linear-gradient(var(--pink), var(--pink)) center/1.5px 100% no-repeat, linear-gradient(var(--pink), var(--pink)) center/100% 1.5px no-repeat;-webkit-mask-composite:source-in;opacity:.9;border-radius:50%;width:78vh;height:78vh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 60px #3ff3ff40,inset 0 0 4px #fff6;-webkit-mask-image:radial-gradient(circle,#0000 0 6px,#000 7px 30%,#0000 30.5%),linear-gradient(#000,#000);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:border-box,border-box;-webkit-mask-origin:border-box,border-box;mask-composite:intersect;mask-mode:match-source,match-source}#scope .reticle:after{content:"";background:var(--lime);width:4px;height:4px;box-shadow:0 0 8px var(--lime);border-radius:50%;margin:-2px;position:absolute;top:50%;left:50%}:root{--v1:#ff3fd2;--v2:#2ff0ff}#title .bg{transition:opacity 1.8s}#title.live .bg{opacity:0}#title.live:after{background:radial-gradient(60% 55%,#0c051c9e 0%,#0c051c59 60%,#0c051c99 100%)}#title.live .tag,#title.live .controls,#title.live .label{text-shadow:0 1px 10px #0009}#vibesel{justify-content:center;align-items:center;gap:18px;margin:-10px 0 30px;display:flex}#vibesel .vlabel{flex-direction:column;gap:6px;min-width:300px;display:flex}#vibename{letter-spacing:.12em;background:linear-gradient(90deg, var(--v1), var(--v2));color:#0000;filter:drop-shadow(0 0 12px color-mix(in srgb, var(--v1) 60%, transparent));-webkit-background-clip:text;background-clip:text;font-family:Unbounded;font-size:20px;font-weight:500;transition:filter .6s}button.arrow{letter-spacing:0;width:46px;height:46px;box-shadow:0 0 18px color-mix(in srgb, var(--v1) 40%, transparent);background:#ffffff14;padding:0;font-size:26px;line-height:1}#vibechip{letter-spacing:.3em;background:var(--glass);border:1px solid var(--edge);color:color-mix(in srgb, var(--v1) 70%, white);border-radius:999px;padding:5px 14px;font-family:Unbounded;font-size:10px;transition:color .8s;position:absolute;top:96px;left:50%;transform:translate(-50%)}.vibehead{margin:34px 0 14px}#vibegrid{grid-template-columns:repeat(auto-fill,168px);justify-content:center;gap:10px;max-width:1100px;margin:0 auto 10px;display:grid}.vibecard{all:unset;cursor:pointer;text-align:left;border:1px solid var(--edge);background:#ffffff0d;border-radius:14px;flex-direction:column;gap:6px;padding:12px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.vibecard:hover{border-color:var(--a);box-shadow:0 0 24px color-mix(in srgb, var(--a) 45%, transparent);transform:translateY(-3px)}.vibecard.active{border-color:var(--a);box-shadow:0 0 30px color-mix(in srgb, var(--a) 60%, transparent), inset 0 0 20px color-mix(in srgb, var(--a) 20%, transparent)}.vibecard .sw{background:linear-gradient(120deg, var(--c) 0%, var(--a) 55%, var(--b) 100%);border-radius:9px;height:34px}.vibecard b{letter-spacing:.15em;font-family:Unbounded;font-size:11px;font-weight:500}.vibecard i{opacity:.8;font-family:Cormorant Garamond;font-size:15px}#bossbar{text-align:center;opacity:0;width:min(560px,70vw);transition:opacity .6s;position:absolute;top:130px;left:50%;transform:translate(-50%)}#bossbar.show{opacity:1}#bossname{letter-spacing:.35em;color:#dff;text-shadow:0 0 14px #7ff6ff;margin-bottom:6px;font-family:Unbounded;font-size:12px}#bossbar .bar{background:#ffffff1f;border-radius:6px;height:6px;overflow:hidden;box-shadow:0 0 20px #7ff6ff4d}#bossfill{background:linear-gradient(90deg,#7a6cff,#7ff6ff,#ff8fe0);width:100%;height:100%;transition:width .2s}
