:root{--accent: #ffcc33;--accent2: #4da6ff;--bg: #0c1018;--panel: rgba(14, 19, 28, .92);--good: #4dff88;--bad: #ff5d5d;--prop: #ffb24d;--hunter: #ff5d5d}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden}body{background:var(--bg);color:#eef2f7;font-family:Segoe UI,system-ui,-apple-system,sans-serif;-webkit-user-select:none;user-select:none}#game{display:block;width:100%;height:100%}.hidden{display:none!important}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(#06090e99,#05080ceb),url(/assets/hero.jpg) center/cover no-repeat;z-index:30}.panel{background:#0c111acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:26px 40px 32px;width:min(460px,92vw);text-align:center;box-shadow:0 24px 80px #000000b3}#logo{width:100%;max-width:320px;height:auto;border-radius:10px;margin-bottom:4px;filter:drop-shadow(0 6px 20px rgba(0,0,0,.6))}.title{font-size:30px;letter-spacing:4px;margin:6px 0 2px;color:var(--accent)}.tag{color:#9fb0c4;margin:8px 0 20px;font-size:14px}#name{width:100%;padding:13px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#fff;font-size:15px;margin-bottom:12px;text-align:center}#name:focus{outline:2px solid var(--accent2)}button{width:100%;padding:14px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--accent),#ff9d3c);color:#1a1205;font-weight:800;font-size:16px;letter-spacing:1px;cursor:pointer;transition:transform .08s ease,filter .1s ease}button:hover{filter:brightness(1.08)}button:active{transform:translateY(1px)}.how{list-style:none;margin-top:18px;font-size:12.5px;color:#8ba0b6}.how li{margin:5px 0}.how b{color:#d7e2ee}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20}#phaseBar{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;gap:14px;align-items:center;background:var(--panel);padding:8px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.08);font-weight:700}#phaseName{letter-spacing:2px;color:var(--accent)}#timer{font-variant-numeric:tabular-nums;min-width:34px;text-align:right}#objective{position:absolute;top:64px;left:50%;transform:translate(-50%);text-align:center;max-width:70vw}#objTitle{font-size:20px;font-weight:800;text-shadow:0 2px 8px #000}#objSub{font-size:13px;color:#b9c7d6;margin-top:3px;text-shadow:0 2px 8px #000}#disguise{position:absolute;bottom:18px;left:50%;transform:translate(-50%);background:#ffb24d29;border:1px solid var(--prop);color:#ffe3bd;padding:8px 16px;border-radius:10px;font-size:14px;text-align:center}#disguise b{color:#fff}#crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;color:#fffc;font-weight:300}#feed{position:absolute;left:16px;bottom:16px;display:flex;flex-direction:column-reverse;gap:4px;max-width:360px}.feedItem{background:#080c12b3;padding:5px 10px;border-radius:7px;font-size:12.5px;color:#cdd9e6;border-left:3px solid var(--accent2);animation:fadeIn .2s ease}.feedItem.win{border-left-color:var(--accent);color:#ffe9a8}@keyframes fadeIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1}}#scoreboard{position:absolute;right:16px;top:16px;background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 12px;font-size:13px;min-width:170px}.sbHead{font-weight:700;margin-bottom:5px;opacity:.8;letter-spacing:1px}.sbRow{display:flex;align-items:center;gap:7px;padding:2px 0}.sbDot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.sbName{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sbTag{font-size:11px;color:var(--good);font-variant-numeric:tabular-nums}.sbRow.me .sbName{color:var(--accent);font-weight:700}.sbRow.dead{opacity:.4}#hitflash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:24;background:radial-gradient(circle at center,#ffe06600 40%,#ffe0662e);animation:flash .25s ease}@keyframes flash{0%{opacity:1}to{opacity:0}}#banner{position:absolute;top:36%;left:50%;transform:translate(-50%);text-align:center;font-size:42px;font-weight:900;letter-spacing:2px;text-shadow:0 4px 24px #000;z-index:25;pointer-events:none;animation:pop .3s ease}#banner .sub{display:block;font-size:18px;font-weight:600;color:#cfe0f0;margin-top:6px;letter-spacing:0}@keyframes pop{0%{transform:translate(-50%) scale(.7);opacity:0}to{opacity:1}}#menu.overlay{background:#07060d;overflow:hidden}.scene{position:absolute;top:-6%;right:-6%;bottom:-6%;left:-6%;z-index:0;overflow:hidden;pointer-events:none}.scene .layer{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.scene .sky{background:linear-gradient(180deg,#08060e00 50%,#07060dd9 88%,#07060d),linear-gradient(180deg,#1a0f33,#160d2a,#0c0a1c 70%,#07060d);background-image:linear-gradient(180deg,#08060e00 50%,#07060dd9 88%,#07060d),url(/assets/landing/sky.webp);background-size:cover,cover;background-position:center top,center top;background-repeat:no-repeat,no-repeat}.scene .stars i{position:absolute;top:0;left:0;width:2px;height:2px;border-radius:50%;background:#fff}.scene .stars .twinkle{animation:twinkle 3.6s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.25}50%{opacity:1}}.scene .moon:before{content:"";position:absolute;top:8%;right:12%;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fff7e6,#ffe7a6 42%,#e9c06b 70%,#c89a45);box-shadow:0 0 60px 20px #ffe6a059,0 0 160px 60px #96ffc82e,inset -22px -16px 0 -8px #96783c40}.scene .moon:after{content:"";position:absolute;top:13%;right:16%;width:26px;height:26px;border-radius:50%;background:#96783c38;box-shadow:40px 34px 0 -6px #96783c2e,14px 70px 0 -2px #96783c29}.scene .aurora{background:radial-gradient(40% 30% at 30% 22%,rgba(86,255,170,.1),transparent 70%),radial-gradient(50% 26% at 72% 30%,rgba(150,90,255,.09),transparent 70%);filter:blur(18px);mix-blend-mode:screen;animation:auroraDrift 16s ease-in-out infinite alternate}@keyframes auroraDrift{0%{transform:translate3d(-2%,0,0) scale(1);opacity:.8}to{transform:translate3d(3%,-2%,0) scale(1.08);opacity:1}}.scene .ufo{position:absolute;display:block;height:auto}.scene .ufo-a{width:240px;left:13%;top:22%;animation:floatY 7s ease-in-out infinite,ufoGlow 3.6s ease-in-out infinite}.scene .ufo-b{width:120px;right:12%;top:14%;opacity:.82;filter:drop-shadow(0 6px 18px rgba(0,255,160,.25));animation:cruise 34s linear infinite}@keyframes ufoGlow{0%,to{filter:drop-shadow(0 10px 26px rgba(0,255,160,.3))}50%{filter:drop-shadow(0 12px 40px rgba(86,255,170,.6))}}@keyframes floatY{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-20px) rotate(1.5deg)}}@keyframes cruise{0%{transform:translate(10vw)}to{transform:translate(-80vw)}}.scene .skyline{top:auto;bottom:-1%;height:44%}.scene .skyline-img{position:absolute;bottom:0;left:-3%;width:106%;height:100%;object-fit:cover;object-position:bottom;filter:drop-shadow(0 0 30px rgba(0,0,0,.6))}.scene .fog{top:auto;bottom:0;height:38%;background:linear-gradient(180deg,transparent,rgba(120,150,170,.1) 40%,rgba(150,170,190,.22));filter:blur(6px);animation:fogDrift 22s ease-in-out infinite alternate}@keyframes fogDrift{0%{transform:translate(-3%)}to{transform:translate(3%)}}.scene .floater{position:absolute;font-size:40px;line-height:1;filter:drop-shadow(0 6px 12px rgba(0,0,0,.5));animation:bob 5s ease-in-out infinite}.scene .floater.small{font-size:26px;opacity:.85}.scene .pumpkin{filter:drop-shadow(0 0 14px rgba(255,140,40,.6))}.scene .ghost{animation:ghostFloat 6.5s ease-in-out infinite;opacity:.9}.scene .bat{animation:batFly 9s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}@keyframes ghostFloat{0%,to{transform:translate(0);opacity:.5}50%{transform:translate(-12px,-20px);opacity:1}}@keyframes batFly{0%{transform:translate(0)}25%{transform:translate(40px,-18px)}50%{transform:translate(90px,6px)}75%{transform:translate(40px,-12px)}to{transform:translate(0)}}.scene .vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 50% 38%,transparent 45%,rgba(4,3,9,.78) 100%)}#menu .panel{position:relative;z-index:2;background:linear-gradient(180deg,#141028a8,#0a0816c7);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(140,120,255,.22);border-radius:22px;padding:30px 42px 34px;width:min(480px,92vw);text-align:center;box-shadow:0 30px 90px #000000b3,0 0 0 1px #ffffff0a inset,0 0 60px #7850dc2e;animation:panelIn .7s cubic-bezier(.2,.8,.2,1) both}@keyframes panelIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}#menu .crest{font-size:44px;line-height:1;margin-bottom:6px;filter:drop-shadow(0 0 16px rgba(120,255,180,.5));animation:floatY 6s ease-in-out infinite}#menu .title{position:relative;font-size:clamp(34px,6vw,52px);font-weight:900;letter-spacing:6px;margin:4px 0 6px;background:linear-gradient(180deg,#fff,#b6f6d6 45%,#56ffaa 70%,#38d68a);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 26px rgba(86,255,170,.35);animation:titlePulse 4s ease-in-out infinite}#menu .title:before,#menu .title:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.5;mix-blend-mode:screen;pointer-events:none}#menu .title:before{background:#ff4d8d;animation:glitchX 5s infinite}#menu .title:after{background:#4da6ff;animation:glitchX 5s infinite reverse}@keyframes titlePulse{0%,to{text-shadow:0 0 22px rgba(86,255,170,.3)}50%{text-shadow:0 0 40px rgba(86,255,170,.6)}}@keyframes glitchX{0%,92%,to{transform:translate(0)}94%{transform:translate(-2px,1px)}96%{transform:translate(2px,-1px)}98%{transform:translate(-1px)}}#menu .tag{color:#b9aee0;margin:8px auto 22px;font-size:14px;max-width:38ch;line-height:1.5}#menu #name,#menu #wallet{width:100%;padding:14px 16px;border-radius:12px;border:1px solid rgba(150,130,255,.22);background:#ffffff0d;color:#fff;font-size:15px;margin-bottom:12px;text-align:center;transition:border-color .15s,box-shadow .15s}#menu #wallet{font-size:13px}#menu #name::placeholder,#menu #wallet::placeholder{color:#8a82b5}#menu #name:focus,#menu #wallet:focus{outline:none;border-color:#56ffaa;box-shadow:0 0 0 3px #56ffaa2e}#menu #walletErr{color:#ff7b9c;font-size:12px;min-height:14px;margin:-6px 0 8px}#menu #play{position:relative;overflow:hidden;width:100%;padding:16px;border:0;border-radius:12px;background:linear-gradient(135deg,#56ffaa,#36c6ff 55%,#8b5cff);color:#06121a;font-weight:900;font-size:16px;letter-spacing:2px;cursor:pointer;transition:transform .08s ease,box-shadow .2s ease,filter .15s;box-shadow:0 10px 30px #3cc8b459,0 0 0 1px #ffffff1a inset}#menu #play span{position:relative;z-index:1}#menu #play:after{content:"";position:absolute;top:0;left:-60%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skew(-18deg);animation:shimmer 3.4s ease-in-out infinite}@keyframes shimmer{0%,60%{left:-60%}to{left:130%}}#menu #play:hover{filter:brightness(1.07);box-shadow:0 14px 40px #3cc8b48c;transform:translateY(-1px)}#menu #play:active{transform:translateY(1px)}#menu .how{list-style:none;margin-top:20px;font-size:12.5px;color:#9a90c0}#menu .how li{margin:7px 0}#menu .how b{color:#c9bdf0}#menu kbd{display:inline-block;min-width:14px;padding:2px 6px;margin:0 1px;font:inherit;font-size:11px;color:#e7e0ff;background:#ffffff12;border:1px solid rgba(150,130,255,.3);border-bottom-width:2px;border-radius:6px}@media (prefers-reduced-motion: reduce){.scene .layer,.scene .ufo,.scene .floater,#menu .crest,#menu .title,#menu #play:after,.scene .aurora,.scene .fog{animation:none!important}}#hud{font-family:Segoe UI,system-ui,-apple-system,sans-serif;--neon: #56ffaa;--violet: #8b5cff}#ca{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:35;display:inline-flex;align-items:center;gap:8px;max-width:90vw;padding:6px 12px;border-radius:999px;cursor:pointer;background:linear-gradient(180deg,#120e22d1,#0a0814db);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(150,130,255,.3);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;color:#cdd6e6;box-shadow:0 6px 20px #00000073;transition:border-color .15s,box-shadow .15s}#ca:hover{border-color:#56ffaa;box-shadow:0 6px 24px #56ffaa47}#ca .caLabel{flex:0 0 auto;font-weight:800;letter-spacing:1px;color:#06121a;background:linear-gradient(135deg,#56ffaa,#36c6ff);padding:2px 7px;border-radius:6px}#ca #caText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#hud #phaseBar{top:54px;gap:0;padding:0;overflow:hidden;background:linear-gradient(180deg,#120e22c7,#0a0814d1);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);border:1px solid rgba(140,120,255,.28);border-radius:12px;box-shadow:0 10px 34px #00000080,0 0 22px #56ffaa1f}#hud #phaseName{display:inline-block;padding:9px 16px;color:var(--neon);letter-spacing:3px;font-weight:800;font-size:14px;text-shadow:0 0 14px rgba(86,255,170,.5)}#hud #timer{display:inline-block;padding:9px 16px;min-width:56px;background:#56ffaa1a;border-left:1px solid rgba(140,120,255,.28);color:#eafff4;font-weight:800;font-variant-numeric:tabular-nums;text-align:center}#hud #objective{top:102px;max-width:min(78vw,560px);background:radial-gradient(120% 140% at 50% 0%,#1410288c,#0a081400);padding:10px 22px 14px;border-radius:14px}#hud #objTitle{font-size:22px;font-weight:900;letter-spacing:.5px;color:#f3eeff;text-shadow:0 0 18px rgba(120,90,255,.45),0 2px 10px #000}#hud #objSub{font-size:13px;color:#c4b9e6;margin-top:4px;text-shadow:0 2px 8px #000}#hud #disguise{bottom:22px;padding:9px 18px;border-radius:999px;background:linear-gradient(180deg,#28180a99,#180e06b3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--prop, #ffb24d);color:#ffe3bd;font-size:13.5px;letter-spacing:.3px;box-shadow:0 8px 28px #00000080,0 0 20px #ffb24d38}#hud #disguise b{color:#fff}#hud #crosshair{width:26px;height:26px;color:transparent;filter:drop-shadow(0 0 3px rgba(0,0,0,.6))}#hud #crosshair:before,#hud #crosshair:after{content:"";position:absolute;left:50%;top:50%;background:linear-gradient(var(--neon) 0 32%,transparent 32% 68%,var(--neon) 68% 100%);box-shadow:0 0 6px #56ffaacc}#hud #crosshair:before{width:2px;height:26px;transform:translate(-50%,-50%)}#hud #crosshair:after{width:26px;height:2px;transform:translate(-50%,-50%);background:linear-gradient(90deg,var(--neon) 0 32%,transparent 32% 68%,var(--neon) 68% 100%)}#hud #weapon{position:absolute;right:1%;bottom:-12%;width:min(44vw,540px);height:auto;transform-origin:80% 100%;filter:drop-shadow(0 10px 24px rgba(0,0,0,.6)) drop-shadow(0 0 16px rgba(86,255,170,.25));pointer-events:none;-webkit-user-select:none;user-select:none}#hud #weapon.fire{animation:recoil .14s ease-out}@keyframes recoil{0%{transform:translateY(0) rotate(0)}28%{transform:translateY(22px) translate(6px) rotate(-2.5deg)}to{transform:translateY(0) rotate(0)}}#hud #muzzle{--mx: 46%;--my: 58%;position:absolute;left:var(--mx);top:var(--my);width:220px;height:220px;margin:-110px 0 0 -110px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#beffdcf2,#56ffaa99 25%,#56ffaa00 65%);animation:muzzle .1s ease-out}@keyframes muzzle{0%{opacity:1;transform:scale(.7)}to{opacity:0;transform:scale(1.3)}}#hud #feed{left:18px;bottom:18px;gap:6px;max-width:380px}#hud .feedItem{background:linear-gradient(180deg,#0e121cc7,#080c12d1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:7px 12px;border-radius:9px;font-size:12.5px;color:#d7e1ee;border-left:3px solid var(--violet);box-shadow:0 6px 18px #0006;animation:feedIn .26s cubic-bezier(.2,.8,.2,1)}#hud .feedItem.win{border-left-color:var(--neon);color:#eafff4;box-shadow:0 6px 22px #56ffaa40}@keyframes feedIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}#hud #scoreboard{right:18px;top:18px;min-width:196px;padding:0;overflow:hidden;background:linear-gradient(180deg,#120e22bd,#0a0814d1);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);border:1px solid rgba(140,120,255,.24);border-radius:14px;box-shadow:0 14px 40px #00000080;font-size:13px}#hud .sbHead{margin:0;padding:9px 14px;font-weight:800;letter-spacing:1px;color:#eafff4;opacity:1;background:#56ffaa14;border-bottom:1px solid rgba(140,120,255,.2)}#hud .sbRow{display:flex;align-items:center;gap:8px;padding:6px 14px;border-bottom:1px solid rgba(255,255,255,.04)}#hud .sbRow:last-child{border-bottom:0}#hud .sbDot{width:11px;height:11px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 8px currentColor}#hud .sbName{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cdd6e6}#hud .sbTag{font-size:12px;color:var(--neon);font-variant-numeric:tabular-nums;font-weight:700}#hud .sbRow.me{background:linear-gradient(90deg,rgba(86,255,170,.12),transparent);box-shadow:inset 3px 0 0 var(--neon)}#hud .sbRow.me .sbName{color:#eafff4;font-weight:800}#hud .sbRow.dead{opacity:.42}#hitflash{background:radial-gradient(circle at center,#56ffaa00 38%,#56ffaa38)}#banner{font-size:clamp(38px,8vw,64px);font-weight:900;letter-spacing:3px;background:linear-gradient(180deg,#fff,#b6f6d6 55%,#56ffaa);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 30px rgba(86,255,170,.45)) drop-shadow(0 6px 18px rgba(0,0,0,.7));animation:bannerPop .4s cubic-bezier(.2,.9,.2,1)}#banner .sub{display:block;margin-top:8px;letter-spacing:.5px;font-size:17px;font-weight:700;color:#d7e1ee;-webkit-text-fill-color:#d7e1ee;filter:none;text-shadow:0 2px 10px #000}@keyframes bannerPop{0%{transform:translate(-50%) scale(.7);opacity:0}60%{transform:translate(-50%) scale(1.04);opacity:1}to{transform:translate(-50%) scale(1)}}#hud kbd{display:inline-block;min-width:12px;padding:1px 6px;margin:0 1px;font:inherit;font-size:11px;color:#e7e0ff;background:#ffffff12;border:1px solid rgba(150,130,255,.3);border-bottom-width:2px;border-radius:5px}#hud #controlsHint{position:absolute;left:18px;top:18px;max-width:340px;background:linear-gradient(180deg,#0e121c9e,#080c12b3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(140,120,255,.18);border-radius:12px;padding:10px 14px;font-size:12px;color:#b6c2d4;line-height:1.9;opacity:.5;transition:opacity .15s ease}#hud #controlsHint:hover{opacity:1}#hud #controlsHint .ch-title{font-weight:800;letter-spacing:2px;color:#56ffaa;font-size:11px;margin-bottom:2px}#hud #controlsHint .ch-dim{color:#7d88a0}#hud #lockBadge{position:absolute;bottom:60px;left:50%;transform:translate(-50%);padding:8px 16px;border-radius:999px;font-size:13px;white-space:nowrap;background:linear-gradient(180deg,#28180ab3,#180e06c7);border:1px solid var(--prop, #ffb24d);color:#ffe3bd;box-shadow:0 0 22px #ffb24d4d;animation:lockPulse 1.6s ease-in-out infinite}@keyframes lockPulse{0%,to{box-shadow:0 0 16px #ffb24d38}50%{box-shadow:0 0 30px #ffb24d80}}#dropin{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#07060d;color:#b9aee0;letter-spacing:1px;font-size:15px;transition:opacity .5s ease}#dropin.gone{opacity:0;pointer-events:none}#dropin .spin{width:46px;height:46px;border-radius:50%;border:3px solid rgba(140,120,255,.25);border-top-color:#56ffaa;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){#hud .feedItem,#banner,#hud #lockBadge,#dropin .spin{animation:none!important}}
