*,*:before,*:after{box-sizing:border-box}body,html{margin:0;padding:0;width:100%;height:100%;background-color:#1a1a1a;overflow-x:hidden}#root{width:100%;height:100%}.start-card{padding:40px;width:100%;max-width:460px;box-sizing:border-box}.start-title{font-size:2.8rem}.start-subtitle{font-size:1rem}.start-input{width:100%;box-sizing:border-box}.start-go-btn{min-width:54px;min-height:54px}.start-game-btn{width:100%;box-sizing:border-box}.start-info-btn{min-width:32px;min-height:32px}.fixed-action-btn{position:fixed;top:20px;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:9999;transition:all .2s ease;cursor:pointer}.fixed-action-btn--home{left:20px}.fixed-action-btn--profile{left:80px}.fixed-action-btn--profile-nohome{left:20px}.fixed-action-btn--rules{right:20px}.fixed-action-btn--discord{right:90px}.fixed-action-btn--discord span{white-space:nowrap}.discord-action{display:inline-flex;align-items:center;justify-content:center;gap:10px}@media(max-width:720px){.start-card{padding:24px;margin:0 12px}.start-title{font-size:2.2rem}.start-subtitle{font-size:.95rem}.start-input{padding:16px 50px 16px 18px;font-size:1rem}.start-go-btn{width:48px;height:48px}.start-game-btn{min-height:64px;font-size:1rem;padding:0 18px;gap:12px}.start-info-btn{width:38px;height:38px;font-size:.95rem}.fixed-action-btn{width:44px;height:44px;top:16px}.fixed-action-btn--home{left:16px!important;top:16px!important}.fixed-action-btn--profile{left:68px!important;top:16px!important}.fixed-action-btn--profile-nohome{left:16px!important;top:16px!important}.fixed-action-btn--rules{right:16px!important;top:16px!important}.fixed-action-btn--discord{right:68px!important;top:16px!important;padding:0!important}.fixed-action-btn--discord span{display:none!important}.discord-action{width:44px;height:44px;padding:0;justify-content:center}.discord-action span{display:none!important}}@media(max-width:520px){.start-card{padding:20px;margin:0 8px}.start-title{font-size:1.95rem}.start-subtitle{font-size:.9rem}.start-input{padding:14px 46px 14px 14px;font-size:.95rem}.start-go-btn{width:44px;height:44px}.start-game-btn{min-height:60px;font-size:.95rem;padding:0 14px}.fixed-action-btn{width:40px;height:40px;top:12px}.fixed-action-btn--profile{left:62px!important}.fixed-action-btn--discord{right:62px!important}}@keyframes wordBump{0%{transform:scale(1)}30%{transform:scale(1.04) translate(3px)}60%{transform:scale(1.04) translate(-3px)}to{transform:scale(1)}}.word-bump{animation:wordBump .25s ease-out}@keyframes cardFill{0%{width:0%}to{width:100%}}@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:1}80%{transform:translateY(-160px) scale(1.15);opacity:1}to{transform:translateY(-210px) scale(.8);opacity:0}}.emoji-float{animation:floatUp 2.5s ease-out forwards}.alias-c1,.alias-c2,.alias-c3{transform-box:fill-box;transform-origin:center;opacity:0}.cn-c1,.cn-c2,.cn-c3,.cn-c4,.cn-c5,.cn-c6,.cn-c7,.cn-c8,.cn-c9{transform-box:fill-box;transform-origin:center}.whoami-paper{transform-box:fill-box;transform-origin:center bottom}.bomba-spark{transform-box:fill-box;transform-origin:center;opacity:0}.spy-glass{transform-box:fill-box;transform-origin:80% 85%}@keyframes aliasFly1{0%{transform:translate(0) rotate(-6deg);opacity:0}18%{opacity:1}to{transform:translate(-12px,-22px) rotate(-28deg);opacity:0}}@keyframes aliasFly2{0%{transform:translate(0) rotate(0);opacity:0}18%{opacity:1}to{transform:translateY(-26px) rotate(4deg);opacity:0}}@keyframes aliasFly3{0%{transform:translate(0) rotate(6deg);opacity:0}18%{opacity:1}to{transform:translate(12px,-22px) rotate(28deg);opacity:0}}.start-game-btn:hover .alias-c1{animation:aliasFly1 1s ease-out infinite}.start-game-btn:hover .alias-c2{animation:aliasFly2 1s ease-out .22s infinite}.start-game-btn:hover .alias-c3{animation:aliasFly3 1s ease-out .44s infinite}@keyframes cnCellPulse{0%,to{opacity:.7}50%{opacity:1}}.start-game-btn:hover .cn-c1{animation:cnCellPulse 1.1s ease-in-out 0s infinite}.start-game-btn:hover .cn-c2{animation:cnCellPulse 1.1s ease-in-out .12s infinite}.start-game-btn:hover .cn-c3{animation:cnCellPulse 1.1s ease-in-out .24s infinite}.start-game-btn:hover .cn-c4{animation:cnCellPulse 1.1s ease-in-out .08s infinite}.start-game-btn:hover .cn-c5{animation:cnCellPulse 1.1s ease-in-out .2s infinite}.start-game-btn:hover .cn-c6{animation:cnCellPulse 1.1s ease-in-out .32s infinite}.start-game-btn:hover .cn-c7{animation:cnCellPulse 1.1s ease-in-out .16s infinite}.start-game-btn:hover .cn-c8{animation:cnCellPulse 1.1s ease-in-out .28s infinite}.start-game-btn:hover .cn-c9{animation:cnCellPulse 1.1s ease-in-out .4s infinite}@keyframes paperWobble{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.start-game-btn:hover .whoami-paper{animation:paperWobble .65s ease-in-out infinite}@keyframes sparkFlash{0%,to{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.8)}}@keyframes timerBlink{0%,49%{opacity:1}50%,to{opacity:.15}}.start-game-btn:hover .bomba-spark{animation:sparkFlash .4s ease-in-out infinite}.start-game-btn:hover .bomba-timer{animation:timerBlink 1s step-end infinite}@keyframes glassScan{0%,to{transform:translate(-4px) rotate(-4deg)}50%{transform:translate(4px) rotate(4deg)}}.start-game-btn:hover .spy-glass{animation:glassScan 1.8s ease-in-out infinite}.contact-icon-left,.contact-icon-right,.contact-icon-dot1,.contact-icon-dot2,.contact-icon-dot3,.contact-icon-qmark{transform-box:fill-box;transform-origin:center}@keyframes contactTypingDot{0%,55%,to{transform:translateY(0) scale(1);opacity:.55}27%{transform:translateY(-3px) scale(1.2);opacity:1}}@keyframes contactQmarkPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.start-game-btn:hover .contact-icon-dot1{animation:contactTypingDot 1.1s ease-in-out 0s infinite}.start-game-btn:hover .contact-icon-dot2{animation:contactTypingDot 1.1s ease-in-out .2s infinite}.start-game-btn:hover .contact-icon-dot3{animation:contactTypingDot 1.1s ease-in-out .4s infinite}.start-game-btn:hover .contact-icon-qmark{animation:contactQmarkPulse 1.1s ease-in-out .55s infinite}.decoder-tile1,.decoder-tile2,.decoder-tile3,.decoder-slot1,.decoder-slot2,.decoder-slot3,.decoder-check{transform-box:fill-box;transform-origin:center}@keyframes decoderTileScan{0%,to{opacity:.8;transform:scale(1)}45%{opacity:1;transform:scale(1.12);filter:drop-shadow(0 0 4px #c4b5fd)}60%{opacity:1;transform:scale(1.05)}}@keyframes decoderLineDash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-14}}@keyframes decoderSlotReveal{0%,to{opacity:.45;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.04)}}@keyframes decoderCheckPop{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.35);opacity:1;filter:drop-shadow(0 0 5px #7c3aed)}}.start-game-btn:hover .decoder-tile1{animation:decoderTileScan 1.2s ease-in-out 0s infinite}.start-game-btn:hover .decoder-tile2{animation:decoderTileScan 1.2s ease-in-out .18s infinite}.start-game-btn:hover .decoder-tile3{animation:decoderTileScan 1.2s ease-in-out .36s infinite}.start-game-btn:hover .decoder-line1{animation:decoderLineDash .65s linear 0s infinite}.start-game-btn:hover .decoder-line2{animation:decoderLineDash .65s linear .15s infinite}.start-game-btn:hover .decoder-line3{animation:decoderLineDash .65s linear .3s infinite}.start-game-btn:hover .decoder-slot1{animation:decoderSlotReveal 1.2s ease-in-out .3s infinite}.start-game-btn:hover .decoder-slot2{animation:decoderSlotReveal 1.2s ease-in-out .5s infinite}.start-game-btn:hover .decoder-slot3{animation:decoderSlotReveal 1.2s ease-in-out .7s infinite}.start-game-btn:hover .decoder-check{animation:decoderCheckPop 1s ease-in-out .85s infinite}.bunker-icon-dome,.bunker-icon-door,.bunker-icon-shadow,.bunker-icon-beacon,.bunker-icon-glow,.bunker-icon-ground,.bunker-icon-cracks{transform-box:fill-box;transform-origin:center}@keyframes bunkerIconBreathe{0%,to{transform:translate(0);filter:drop-shadow(0 0 0 rgba(255,59,48,0))}20%{transform:translate(-.35px,.15px)}42%{transform:translate(.45px,-.25px);filter:drop-shadow(0 0 4px rgba(255,59,48,.25))}66%{transform:translate(-.2px,.25px)}}@keyframes bunkerIconDoorPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(240,192,0,0))}48%{transform:scale(1.025);filter:drop-shadow(0 0 3px rgba(240,192,0,.45))}55%{transform:scale(.995)}}@keyframes bunkerIconBeacon{0%,22%,to{transform:scale(1);filter:drop-shadow(0 0 1px rgba(255,59,48,.5))}8%{transform:scale(1.18);filter:drop-shadow(0 0 8px rgba(255,59,48,1))}13%{transform:scale(.96);filter:drop-shadow(0 0 2px rgba(255,59,48,.55))}}@keyframes bunkerIconGlow{0%,20%,to{opacity:.12;transform:scale(.7)}7%{opacity:.9;transform:scale(1.08)}12%{opacity:.28;transform:scale(.82)}}@keyframes bunkerIconGroundShift{0%,to{transform:translate(0);opacity:.72}50%{transform:translate(-1.2px);opacity:1}}@keyframes bunkerIconCrackTremor{0%,to{transform:translate(0)}25%{transform:translate(-.6px,.2px)}55%{transform:translate(.7px,-.2px)}75%{transform:translate(-.2px,.3px)}}.start-game-btn:hover .bunker-icon-dome{animation:bunkerIconBreathe .72s linear infinite}.start-game-btn:hover .bunker-icon-door{animation:bunkerIconDoorPulse 1.25s ease-in-out infinite}.start-game-btn:hover .bunker-icon-shadow{animation:bunkerIconGroundShift 1.35s ease-in-out infinite reverse}.start-game-btn:hover .bunker-icon-beacon{animation:bunkerIconBeacon 1.05s step-end infinite}.start-game-btn:hover .bunker-icon-glow{animation:bunkerIconGlow 1.05s step-end infinite}.start-game-btn:hover .bunker-icon-ground{animation:bunkerIconGroundShift 1.15s ease-in-out infinite}.start-game-btn:hover .bunker-icon-cracks{animation:bunkerIconCrackTremor .42s linear infinite}@keyframes contactLetterReveal{0%{transform:scale(1.6) translateY(-4px);color:#fff;opacity:.6}40%{transform:scale(1.2) translateY(-1px);opacity:1}to{transform:scale(1) translateY(0);color:#c8a96e}}.contact-letter-flash{animation:contactLetterReveal .7s ease-out forwards}@keyframes contactResultToast{0%{opacity:0;transform:translate(-50%) translateY(-10px)}12%{opacity:1;transform:translate(-50%) translateY(0)}75%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-6px)}}.contact-result-toast{animation:contactResultToast 2.4s ease-out forwards}@keyframes cardDeal{0%{opacity:0;transform:translateY(12px) scale(.94) rotate(-1deg)}60%{transform:translateY(-2px) scale(1.01) rotate(.3deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.contact-card-deal{animation:cardDeal .28s ease-out forwards}@keyframes contactPulseRim{0%,to{box-shadow:0 0 0 6px #b8953a1f,0 0 60px #0d2019}50%{box-shadow:0 0 0 8px #b8953a38,0 0 80px #0d2019}}.contact-table-active{animation:contactPulseRim 2s ease-in-out infinite}@keyframes dcFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dc-fade-in{animation:dcFadeIn .35s ease-out forwards}@keyframes dcSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dc-slide-up{animation:dcSlideUp .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes dcCodeReveal{0%{opacity:0;transform:scale(.5) rotateY(90deg)}60%{transform:scale(1.1) rotateY(-5deg)}to{opacity:1;transform:scale(1) rotateY(0)}}.dc-code-reveal{animation:dcCodeReveal .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes dcTokenIn{0%{opacity:0;transform:scale(0) rotate(-90deg)}65%{transform:scale(1.25) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.dc-token-in{animation:dcTokenIn .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes dcLocked{0%{transform:scale(1)}25%{transform:scale(1.04);box-shadow:0 0 16px #22c55e99}to{transform:scale(1);box-shadow:none}}.dc-locked{animation:dcLocked .5s ease-out}@keyframes dcPulse{0%,to{opacity:.6}50%{opacity:1}}.dc-pulse{animation:dcPulse 1.4s ease-in-out infinite}@keyframes dcTimerUrgent{0%,to{opacity:1}50%{opacity:.45}}.dc-timer-urgent{animation:dcTimerUrgent .6s ease-in-out infinite}@keyframes dcGlow{0%,to{box-shadow:0 0 12px #7c3aed4d}50%{box-shadow:0 0 28px #7c3aed99,0 0 60px #7c3aed33}}.dc-glow{animation:dcGlow 2s ease-in-out infinite}@keyframes dcScanLine{0%{top:-160px}to{top:100vh}}.dc-scanline{animation:dcScanLine 14s linear infinite}@keyframes dcFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.dc-float{animation:dcFloat 3s ease-in-out infinite}@keyframes dcRevealLine{0%{width:0%;opacity:0}to{width:100%;opacity:1}}.dc-reveal-line{animation:dcRevealLine .5s ease-out forwards}@keyframes dcBounceIn{0%{opacity:0;transform:scale(.3) rotate(-10deg)}50%{transform:scale(1.15) rotate(3deg)}to{opacity:1;transform:scale(1) rotate(0)}}.dc-bounce-in{animation:dcBounceIn .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes bunkerFall{0%{transform:translateY(-30px) rotate(0);opacity:0}6%{opacity:1}94%{opacity:.7}to{transform:translateY(110vh) rotate(300deg);opacity:0}}@keyframes bunkerRadSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bunkerRadPulse{0%,to{opacity:.13}50%{opacity:.22}}@keyframes drPulse{0%{opacity:.3;transform:scale(.85)}to{opacity:1;transform:scale(1.15)}}@keyframes bunkerVignettePulse{0%,to{opacity:1}50%{opacity:.85}}.bunker-bg{background:repeating-linear-gradient(90deg,rgba(240,192,0,.014) 0px,rgba(240,192,0,.014) 1px,transparent 1px,transparent 56px),repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0px,rgba(0,0,0,.18) 1px,transparent 1px,transparent 4px),radial-gradient(ellipse 55% 45% at 8% 88%,rgba(160,80,0,.22) 0%,transparent 65%),radial-gradient(ellipse 40% 35% at 92% 12%,rgba(30,70,5,.18) 0%,transparent 60%),radial-gradient(ellipse 80% 40% at 50% 110%,rgba(100,60,0,.2) 0%,transparent 60%),linear-gradient(175deg,#0d1009,#090c06 55%,#060805)}@keyframes noirTabletIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes noirGlowGold{0%,to{box-shadow:0 0 0 2px #d6b15f4d,0 14px 34px #0000008c}50%{box-shadow:0 0 0 3px #d6b15fa6,0 16px 42px #000000a6}}@keyframes noirGlowGreen{0%,to{box-shadow:0 0 0 2px #7fd28a73,0 14px 34px #0000008c}50%{box-shadow:0 0 0 4px #7fd28ad9,0 16px 42px #000000a6}}@keyframes noirHpPulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes noirShotSourcePulse{0%,to{box-shadow:0 0 0 2px #f4d58f73,0 14px 34px #00000094}45%{box-shadow:0 0 0 5px #f4d58ff2,0 0 34px #f4d58f73,0 16px 42px #000000ad}}@keyframes noirShotTargetPulse{0%,to{box-shadow:0 0 0 2px #ff7a7a6b,0 14px 34px #00000094;transform:translate(-50%,-50%)}35%{box-shadow:0 0 0 5px #ff7a7ae6,0 0 34px #ff7a7a73,0 16px 42px #000000ad;transform:translate(-50%,-50%) scale(1.025)}48%{transform:translate(calc(-50% + 3px),-50%) scale(1.025)}58%{transform:translate(calc(-50% - 3px),-50%) scale(1.025)}}@keyframes noirShotSafePulse{0%,to{box-shadow:0 0 0 2px #7fd28a80,0 14px 34px #00000094}50%{box-shadow:0 0 0 6px #7fd28af2,0 0 40px #7fd28a7a,0 16px 42px #000000ad}}@keyframes noirShotDamagedPulse{0%,to{box-shadow:0 0 0 2px #ff5b5b8c,0 14px 34px #00000094;filter:saturate(1.08)}50%{box-shadow:0 0 0 7px #ff5b5b,0 0 42px #ff5b5b8c,0 16px 42px #000000ad;filter:saturate(1.25)}}@keyframes noirShotTracer{0%{opacity:0;stroke-width:7}14%{opacity:1;stroke-width:5.5}55%{opacity:.95;stroke-width:4.5}to{opacity:.72;stroke-width:3.5}}@keyframes noirShotBulletFade{0%{opacity:0;transform:scale(.55)}14%{opacity:1}78%{opacity:1}to{opacity:0;transform:scale(1.15)}}@keyframes noirShotRailFade{0%{opacity:0}12%{opacity:.5}to{opacity:.32}}@keyframes noirShotMuzzle{0%{opacity:0;transform:translate(-50%,-50%) scale(.25)}18%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(2.1)}}@keyframes noirShotBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}32%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.9)}}@keyframes noirShotCaption{0%{opacity:0;transform:translate(-50%,-50%) scale(.88)}22%{opacity:1;transform:translate(-50%,-50%) scale(1)}78%{opacity:1}to{opacity:0;transform:translate(-50%,calc(-50% - 10px)) scale(.96)}}@keyframes noirPlayedToast{0%{opacity:0;transform:translate(-50%) translateY(14px) scale(.9);filter:saturate(.8)}18%{opacity:1;transform:translate(-50%) translateY(0) scale(1.02);filter:saturate(1.12)}78%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-8px) scale(.98)}}.noir-tablet{z-index:12;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 30px #00000073;transition:box-shadow .2s ease,border-color .2s ease;animation:noirTabletIn .35s cubic-bezier(.2,.8,.25,1) both}.noir-tablet:hover{z-index:40;border-color:#ffffff47}.noir-tablet.noir-self{border-color:#7aa7ff}.noir-tablet.noir-active{border-color:#d6b15f;animation:noirGlowGold 2.2s ease-in-out infinite}.noir-tablet.noir-target{border-color:#7fd28a;animation:noirGlowGreen 1.2s ease-in-out infinite}.noir-tablet.noir-dead{filter:grayscale(.7)}.noir-tablet.noir-shot-source{z-index:35;border-color:#f4d58f;animation:noirShotSourcePulse .85s ease-in-out infinite}.noir-tablet.noir-shot-target{z-index:36;border-color:#ff7a7a;animation:noirShotTargetPulse .9s ease-in-out infinite}.noir-tablet.noir-shot-safe{border-color:#7fd28a;animation:noirShotSafePulse .9s ease-in-out infinite}.noir-tablet.noir-shot-damaged{border-color:#ff5b5b;animation:noirShotDamagedPulse .72s ease-in-out infinite}.noir-shot-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 8px rgba(121,214,255,.55)) drop-shadow(0 0 18px rgba(255,91,91,.24))}.noir-shot-rail{stroke:#79d6ff94;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;animation:noirShotRailFade 1.05s ease-out both}.noir-shot-rail.noir-shot-blocked{stroke:#7fd28a9e}.noir-shot-rail.noir-shot-hit{stroke:#ff5b5ba3}.noir-shot-line{stroke:#a2e6fffa;stroke-width:4.5;stroke-linecap:round;vector-effect:non-scaling-stroke;animation:noirShotTracer .86s ease-out both}.noir-shot-line.noir-shot-blocked{stroke:#9bf2a4fa}.noir-shot-line.noir-shot-hit{stroke:#ff6868fa}.noir-shot-bullet{fill:#d8f6ff;filter:drop-shadow(0 0 4px #79d6ff) drop-shadow(0 0 11px rgba(121,214,255,.85));opacity:0;animation:noirShotBulletFade .74s cubic-bezier(.16,.86,.18,1) both}.noir-shot-bullet.noir-shot-bullet-blocked{fill:#d8ffdc;filter:drop-shadow(0 0 4px #7fd28a) drop-shadow(0 0 9px rgba(127,210,138,.7))}.noir-shot-bullet.noir-shot-bullet-hit{fill:#ffd6d6;filter:drop-shadow(0 0 4px #ff5b5b) drop-shadow(0 0 10px rgba(255,91,91,.75))}.noir-shot-muzzle{position:absolute;width:42px;height:42px;border-radius:50%;border:2px solid rgba(162,230,255,.86);background:radial-gradient(circle,#d8f6ff94,#79d6ff33 44%,#79d6ff00 72%);box-shadow:0 0 24px #79d6ff75;animation:noirShotMuzzle .62s ease-out both}.noir-shot-muzzle.noir-shot-muzzle-blocked{border-color:#7fd28ae0;background:radial-gradient(circle,#d8ffdc80,#7fd28a2e 44%,#7fd28a00 72%);box-shadow:0 0 24px #7fd28a6b}.noir-shot-muzzle.noir-shot-muzzle-hit{border-color:#ff5b5be6;background:radial-gradient(circle,#ffd6d68a,#ff5b5b33 44%,#ff5b5b00 72%);box-shadow:0 0 24px #ff5b5b75}.noir-shot-burst{position:absolute;width:66px;height:66px;border-radius:50%;border:2px solid rgba(162,230,255,.95);background:radial-gradient(circle,#d8f6ff61,#79d6ff2e 48%,#79d6ff00 70%);box-shadow:0 0 30px #79d6ff75;animation:noirShotBurst 1.05s ease-out both}.noir-shot-burst.noir-shot-burst-blocked{border-color:#7fd28af2;background:radial-gradient(circle,#7fd28a5c,#7fd28a29 48%,#7fd28a00 70%);box-shadow:0 0 30px #7fd28a80}.noir-shot-burst.noir-shot-burst-hit{border-color:#ff5b5bf2;background:radial-gradient(circle,#ff5b5b66,#ffbc6c2e 48%,#ff5b5b00 72%);box-shadow:0 0 32px #ff5b5b8c}.noir-shot-caption{position:absolute;padding:7px 11px;border-radius:999px;background:#0c0d11e0;border:1px solid rgba(244,213,143,.58);color:#f4d58f;font-size:.76rem;font-weight:1000;line-height:1;text-transform:uppercase;box-shadow:0 10px 28px #00000070;animation:noirShotCaption 1.9s ease-out both}.noir-shot-caption.noir-shot-caption-blocked{border-color:#7fd28ab8;color:#a9efb0}.noir-shot-caption.noir-shot-caption-hit{border-color:#ff5b5bb8;color:#ffb0a8}.noir-played-toast{animation:noirPlayedToast 3.2s ease-out both}.noir-table-atmosphere{position:absolute;inset:0;z-index:0;border-radius:44%;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 49%,rgba(214,177,95,.055),transparent 34%),radial-gradient(ellipse at 50% 50%,rgba(121,214,255,.035),transparent 58%)}.noir-table-atmosphere:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 48%,rgba(244,213,143,.035) 50%,transparent 52%),repeating-linear-gradient(0deg,rgba(255,255,255,.016) 0 1px,transparent 1px 13px);mix-blend-mode:screen;opacity:.22}.noir-table-svg{width:100%;height:100%;display:block}.noir-table-rings ellipse,.noir-table-lines path{fill:none;stroke:#d6b15f1b;stroke-width:1;vector-effect:non-scaling-stroke}.noir-table-rings ellipse:nth-child(2),.noir-table-lines path{stroke:#79d6ff0d}.noir-table-accents path{fill:none;stroke:#d6b15f6b;stroke-width:2.4;stroke-linecap:round;vector-effect:non-scaling-stroke;animation:noirTableAccentBreath 9s ease-in-out infinite}.noir-table-accents path:nth-child(2){animation-delay:-3s;opacity:.65}.noir-table-accents path:nth-child(3),.noir-table-accents path:nth-child(4){stroke:#79d6ff33;animation-delay:-5.6s}@keyframes noirTableAccentBreath{0%,to{opacity:.22}50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.noir-table-accents path{animation:none!important;opacity:.32}}.noir-card{transition:transform .15s ease,box-shadow .15s ease;cursor:default}.noir-card:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px #00000080;z-index:5}.noir-pile-draw{animation:noirPileDraw .6s ease-out}.noir-pile-discard{animation:noirPileDiscard .6s ease-out}.noir-pile-shuffle{animation:noirPileShuffle .9s ease-in-out}.noir-pile-ghost{position:absolute;left:50%;top:44%;width:30px;height:42px;margin:-21px 0 0 -15px;border-radius:5px;background:linear-gradient(150deg,#20242e,#11141a 60%,#0a0b0f);border:1px solid rgba(214,177,95,.5);box-shadow:0 6px 14px #00000080;pointer-events:none;z-index:4}.noir-pile-ghost-draw{animation:noirDealGhost .6s cubic-bezier(.2,.7,.2,1) both}.noir-pile-ghost-drop{border-color:#f0c76f99;animation:noirDropGhost .6s cubic-bezier(.2,.7,.2,1) both}.noir-pile-ghost-shuffle-l{border-color:#7fd28a8c;animation:noirShuffleGhostL .9s ease-in-out both}.noir-pile-ghost-shuffle-r{border-color:#7fd28a8c;animation:noirShuffleGhostR .9s ease-in-out both}@keyframes noirPileDraw{0%,to{box-shadow:inset 0 0 18px #7fd28a0a;transform:translateY(0)}35%{box-shadow:inset 0 0 20px #7fd28a4d;transform:translateY(-2px) scale(1.03)}}@keyframes noirPileDiscard{0%,to{box-shadow:inset 0 0 18px #f0c76f0a}30%{box-shadow:inset 0 0 22px #f0c76f5c}}@keyframes noirPileShuffle{0%,to{transform:translate(0) rotate(0)}15%{transform:translate(-2px) rotate(-1.2deg)}35%{transform:translate(2px) rotate(1.2deg)}55%{transform:translate(-2px) rotate(-1deg)}75%{transform:translate(1px) rotate(.6deg)}}@keyframes noirDealGhost{0%{opacity:0;transform:translateY(4px) scale(.92)}25%{opacity:1}to{opacity:0;transform:translateY(-30px) scale(1.06) rotate(-7deg)}}@keyframes noirDropGhost{0%{opacity:0;transform:translateY(-32px) scale(1.1) rotate(9deg)}30%{opacity:1}70%{opacity:1;transform:translateY(0) scale(1) rotate(-3deg)}to{opacity:0;transform:translateY(0) scale(1) rotate(-3deg)}}@keyframes noirShuffleGhostL{0%,to{opacity:0;transform:translate(0) rotate(0)}20%{opacity:1;transform:translate(-13px,-3px) rotate(-12deg)}50%{opacity:1;transform:translate(0) rotate(0)}70%{opacity:1;transform:translate(13px,2px) rotate(9deg)}90%{opacity:.6;transform:translate(0) rotate(0)}}@keyframes noirShuffleGhostR{0%,to{opacity:0;transform:translate(0) rotate(0)}20%{opacity:1;transform:translate(13px,-3px) rotate(12deg)}50%{opacity:1;transform:translate(0) rotate(0)}70%{opacity:1;transform:translate(-13px,2px) rotate(-9deg)}90%{opacity:.6;transform:translate(0) rotate(0)}}.noir-count-pop{animation:noirCountPop .42s ease-out}@keyframes noirCountPop{0%{transform:scale(1)}35%{transform:scale(1.4);color:#fff3d0}to{transform:scale(1)}}.noir-shuffle-flash{animation:noirShuffleFlash .95s ease-out both}@keyframes noirShuffleFlash{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.9)}20%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}80%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-6px) scale(.96)}}
