:root{--arcade-fx-cyan:oklch(84% .18 190);--arcade-fx-blue:oklch(73% .18 242);--arcade-fx-violet:oklch(72% .2 304);--arcade-fx-gold:oklch(86% .16 83);--arcade-fx-red:oklch(70% .22 27);--arcade-fx-green:oklch(79% .17 153)}@keyframes arcade-fx-particle{0%{transform:rotate(var(--arcade-fx-angle)) translateX(0) scale(1);opacity:1}70%{opacity:.86}to{transform:rotate(var(--arcade-fx-angle)) translateX(var(--arcade-fx-distance)) scale(.12);opacity:0}}@keyframes arcade-fx-ring{0%{opacity:.9;transform:translate(-50%,-50%)scale(.18)}72%{opacity:.5}to{opacity:0;transform:translate(-50%,-50%)scale(1.8)}}@keyframes arcade-fx-projectile{0%{transform:rotate(var(--arcade-fx-rotation)) scaleX(0);opacity:0;filter:brightness(1.6)}20%{opacity:1}72%{transform:rotate(var(--arcade-fx-rotation)) scaleX(1);opacity:.92}to{transform:rotate(var(--arcade-fx-rotation)) scaleX(1);opacity:0}}@keyframes arcade-fx-projectile-head{0%{opacity:0;left:0}18%{opacity:1}82%{opacity:1}to{opacity:0;left:100%}}@keyframes arcade-fx-recoil{0%,to{transform:translate(-50%,-50%)scale(1)}38%{transform:translate(-50%,-50%)scale(.9)}66%{transform:translate(-50%,-50%)scale(1.08)}}@keyframes arcade-fx-hit-jolt{0%,to{filter:brightness();transform:translate(0)rotate(0)}30%{filter:brightness(1.45);transform:translate(-2px,1px)rotate(-2deg)}62%{transform:translate(2px,-1px)rotate(1deg)}}@keyframes arcade-fx-scene-hit{0%,to{filter:brightness();transform:translate(0)}26%{filter:brightness(1.12)saturate(1.12);transform:translate(-2px)}52%{transform:translate(2px)}78%{transform:translate(-1px)}}@keyframes arcade-fx-danger-vignette{0%,to{box-shadow:inset 0 0 oklch(70% .22 27/0)}50%{box-shadow:inset 0 0 85px oklch(70% .22 27/.23)}}@keyframes arcade-fx-boss-arrival{0%{filter:saturate(.8)brightness(.8);transform:scale(.985)}35%{filter:saturate(1.25)brightness(1.12);transform:scale(1.012)}to{filter:saturate()brightness();transform:scale(1)}}@keyframes arcade-fx-lane-flow{0%{background-position:0 0,0 0}to{background-position:62px 0,0 0}}@keyframes arcade-fx-core-shield{0%,to{box-shadow:0 0 oklch(84% .18 190/0),0 0 18px oklch(84% .18 190/.1)}50%{box-shadow:0 0 0 10px oklch(84% .18 190/.035),0 0 34px oklch(84% .18 190/.2)}}@keyframes arcade-fx-tower-charge{0%,to{filter:drop-shadow(0 0 3px oklch(84% .18 190/.16))}50%{filter:drop-shadow(0 0 10px oklch(84% .18 190/.5))}}@keyframes arcade-fx-hero-aura{0%,to{opacity:.28;transform:translate(-50%,-50%)scale(.94)}50%{opacity:.6;transform:translate(-50%,-50%)scale(1.08)}}@keyframes arcade-fx-enemy-pressure{0%,to{transform:translate(0,0)rotate(0)}35%{transform:translate(2px,-2px)rotate(2deg)}70%{transform:translate(-1px,1px)rotate(-1deg)}}@keyframes arcade-fx-fog{0%{opacity:.22;transform:translate(-9%)scale(1.04)}50%{opacity:.42}to{opacity:.25;transform:translate(9%)scale(1.1)}}@keyframes arcade-fx-searchlight-left{0%,to{opacity:.16;transform:rotate(-24deg)}50%{opacity:.31;transform:rotate(-2deg)}}@keyframes arcade-fx-searchlight-right{0%,to{opacity:.14;transform:rotate(22deg)}50%{opacity:.28;transform:rotate(3deg)}}@keyframes arcade-fx-horde-surge{0%,to{filter:saturate()brightness()}50%{filter:saturate(1.25)brightness(.86)}}@keyframes arcade-fx-police-scan{0%{opacity:0;transform:translate(-135%)skew(-14deg)}18%{opacity:.7}72%{opacity:.55}to{opacity:0;transform:translate(235%)skew(-14deg)}}@keyframes arcade-fx-heat-rise{0%,to{filter:saturate()brightness()}42%{filter:saturate(1.32)brightness(1.08)}}@keyframes arcade-fx-city-grid{0%{background-position:0 0}to{background-position:34px 0}}@keyframes arcade-fx-orbit{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes arcade-fx-creature-hit{0%,to{filter:brightness();transform:translate(0)rotate(0)}24%{filter:brightness(1.35);transform:translate(-5px)rotate(-1deg)}50%{transform:translate(3px)rotate(1deg)}76%{transform:translate(-1px)}}@keyframes arcade-fx-creature-heal{0%{filter:brightness();box-shadow:0 0 oklch(79% .17 153/0)}48%{filter:brightness(1.13);box-shadow:0 0 32px oklch(79% .17 153/.3),inset 0 0 24px oklch(79% .17 153/.08)}to{filter:brightness();box-shadow:0 0 oklch(79% .17 153/0)}}@keyframes arcade-fx-capture-orb{0%{opacity:0;transform:translate(-50%,-50%)scale(.28)rotate(0)}20%{opacity:1}60%{opacity:.96;transform:translate(-50%,-50%)scale(1.18)rotate(220deg)}to{opacity:0;transform:translate(-50%,-50%)scale(.12)rotate(520deg)}}@keyframes arcade-fx-heal-wave{0%{opacity:.72;transform:translate(-50%,-50%)scale(.2)}to{opacity:0;transform:translate(-50%,-50%)scale(2.1)}}.arcade-scene,.arcade-creature-art,.arcade-survival-hero,.arcade-deadnight-base,.arcade-enemy-unit,.arcade-survival-enemy,.arcade-business-card{position:relative}.arcade-spectacle-anchor{z-index:80;pointer-events:none;width:0;height:0;position:absolute}.arcade-spectacle-burst{--arcade-fx-burst:var(--arcade-fx-cyan);z-index:88;pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%;overflow:visible}.arcade-spectacle-burst:before{content:"";border:1.5px solid var(--arcade-fx-burst);width:2.5rem;height:2.5rem;box-shadow:0 0 18px color-mix(in oklch, var(--arcade-fx-burst) 42%, transparent);border-radius:999px;animation:.58s cubic-bezier(.16,.82,.24,1) forwards arcade-fx-ring;position:absolute;top:0;left:0}.arcade-spectacle-burst>i{background:var(--arcade-fx-burst);width:4px;height:4px;box-shadow:0 0 8px var(--arcade-fx-burst);transform-origin:2px 2px;animation:arcade-fx-particle .56s cubic-bezier(.16,.82,.24,1) var(--arcade-fx-delay) forwards;border-radius:999px;position:absolute;top:-2px;left:-2px}.arcade-spectacle-impact{--arcade-fx-burst:var(--arcade-fx-cyan)}.arcade-spectacle-explosion,.arcade-spectacle-danger{--arcade-fx-burst:var(--arcade-fx-red)}.arcade-spectacle-coin{--arcade-fx-burst:var(--arcade-fx-gold)}.arcade-spectacle-magic{--arcade-fx-burst:var(--arcade-fx-violet)}.arcade-spectacle-heal{--arcade-fx-burst:var(--arcade-fx-green)}.arcade-spectacle-explosion:after{content:"";filter:blur(.2px)drop-shadow(0 0 12px oklch(78% .2 42/.55));background:radial-gradient(circle,oklch(97% .08 76) 0 8%,oklch(83% .2 48/.9) 18%,oklch(70% .22 27/.65) 38%,#0000 70%);border-radius:48% 52% 58% 42%;width:3.4rem;height:3.4rem;animation:.62s ease-out forwards arcade-fx-ring;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.arcade-fx-projectile{z-index:82;pointer-events:none;transform-origin:0;background:linear-gradient(90deg, transparent 0, var(--arcade-fx-cyan) 12%, white 56%, var(--arcade-fx-cyan) 86%, transparent 100%);height:2px;filter:drop-shadow(0 0 5px var(--arcade-fx-cyan));animation:.3s cubic-bezier(.18,.82,.22,1) forwards arcade-fx-projectile;position:absolute}.arcade-fx-projectile:after{content:"";width:7px;height:7px;box-shadow:0 0 8px var(--arcade-fx-cyan), 0 0 16px var(--arcade-fx-cyan);background:#fff;border-radius:999px;animation:.29s linear forwards arcade-fx-projectile-head;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.arcade-fx-projectile-mythkin{--arcade-fx-cyan:var(--arcade-fx-violet);background:linear-gradient(90deg, transparent, var(--arcade-fx-violet), white 52%, var(--arcade-fx-gold), transparent);height:3px;filter:drop-shadow(0 0 7px var(--arcade-fx-violet))}.arcade-fx-recoil{animation:.17s ease-out both arcade-fx-recoil!important}.arcade-fx-enemy-hit{animation:.23s ease-out both arcade-fx-hit-jolt!important}.arcade-fx-enemy-defeat{animation:.44s ease-out both arcade-fx-hit-jolt!important}.arcade-fx-boss-arrival{animation:1.05s cubic-bezier(.16,.82,.24,1) both arcade-fx-boss-arrival!important}[data-arcade-game=tower-defense] .arcade-scene-citadel{isolation:isolate;background:radial-gradient(circle at 88% 48%,oklch(84% .18 190/.08),#0000 25%),linear-gradient(oklch(17% .05 245/.94),oklch(7.5% .03 252/.98));overflow:hidden}[data-arcade-game=tower-defense] .arcade-lane{background-image:repeating-linear-gradient(90deg,#0000 0 18px,oklch(84% .18 190/.06) 19px 20px,#0000 21px 31px),linear-gradient(90deg,oklch(77% .09 83/.09),oklch(84% .18 190/.05));animation:2.6s linear infinite arcade-fx-lane-flow}[data-arcade-game=tower-defense] .arcade-citadel-core{animation:2.25s ease-in-out infinite arcade-fx-core-shield}[data-arcade-game=tower-defense] .arcade-tower-slot[data-built=true]{animation:1.8s ease-in-out infinite arcade-fx-tower-charge;box-shadow:0 0 0 1px oklch(84% .18 190/.15),0 0 16px oklch(84% .18 190/.08),inset 0 1px oklch(100% 0 0/.1)}[data-arcade-game=tower-defense] .arcade-enemy-unit{transition:left .15s linear,filter .15s}[data-arcade-game=tower-defense] .arcade-enemy-elite{filter:drop-shadow(0 0 7px var(--arcade-fx-gold))}[data-arcade-game=tower-defense] .arcade-enemy-boss{filter:drop-shadow(0 0 12px var(--arcade-fx-red))}[data-arcade-game=tower-defense] .arcade-scene-citadel:has(.arcade-enemy-boss):before{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle,#0000 40%,oklch(70% .22 27/.15));animation:.9s ease-in-out infinite arcade-fx-danger-vignette;position:absolute;inset:0}[data-arcade-game=tower-defense] .arcade-boss-banner{text-shadow:0 0 14px oklch(92% .08 60/.55)}[data-arcade-game=survival-roguelite] .arcade-scene-last-stand{isolation:isolate;background:radial-gradient(circle,oklch(72% .2 304/.095),#0000 31%),radial-gradient(circle,oklch(84% .18 190/.04),#0000 58%),linear-gradient(oklch(13% .045 280),oklch(5.5% .025 252));overflow:hidden}[data-arcade-game=survival-roguelite] .arcade-scene-last-stand:before{content:"";aspect-ratio:1;pointer-events:none;border:1px dashed oklch(72% .2 304/.16);border-radius:999px;width:62%;animation:14s linear infinite arcade-fx-orbit;position:absolute;top:50%;left:50%}[data-arcade-game=survival-roguelite] .arcade-survival-hero:before{content:"";z-index:-1;aspect-ratio:1;background:radial-gradient(circle,oklch(84% .18 190/.09),#0000 65%);border:1px solid oklch(84% .18 190/.26);border-radius:999px;width:190%;animation:1.7s ease-in-out infinite arcade-fx-hero-aura;position:absolute;top:50%;left:50%}[data-arcade-game=survival-roguelite] .arcade-survival-enemy{transition:filter .18s,transform .18s;animation:1.15s ease-in-out infinite arcade-fx-enemy-pressure}[data-arcade-game=survival-roguelite] .arcade-survival-enemy[data-elite=true]{color:var(--arcade-fx-gold);box-shadow:0 0 18px oklch(86% .16 83/.18)}[data-arcade-game=survival-roguelite] .arcade-fx-survival-hit{animation:.43s ease-out both arcade-fx-scene-hit,.43s ease-out both arcade-fx-danger-vignette!important}[data-arcade-game=survival-roguelite] .arcade-scene-last-stand:has(.arcade-boss-banner):after{background:linear-gradient(oklch(70% .22 27/.05),#0000 35%,oklch(72% .2 304/.08)),radial-gradient(circle,#0000 44%,oklch(70% .22 27/.12))}[data-arcade-game=zombie-survival] .arcade-scene-deadnight{isolation:isolate;background:radial-gradient(circle at 76% 14%,oklch(88% .035 235/.1),#0000 23%),linear-gradient(oklch(12% .04 292),oklch(4.5% .025 252));overflow:hidden}[data-arcade-game=zombie-survival] .arcade-scene-deadnight:before{content:"";z-index:2;pointer-events:none;filter:blur(12px);background:radial-gradient(at 20% 60%,oklch(78% .04 220/.12),#0000 32%),radial-gradient(at 60%,oklch(78% .04 220/.13),#0000 35%),radial-gradient(at 88% 72%,oklch(78% .04 220/.1),#0000 31%);height:48%;animation:7.5s ease-in-out infinite alternate arcade-fx-fog;position:absolute;bottom:-6%;left:-18%;right:-18%}[data-arcade-game=zombie-survival] .arcade-deadnight-base:before,[data-arcade-game=zombie-survival] .arcade-deadnight-base:after{content:"";z-index:-1;transform-origin:0;clip-path:polygon(0 45%,100% 0,100% 100%,0 55%);pointer-events:none;filter:blur(1px);background:linear-gradient(90deg,oklch(90% .07 90/.2),#0000);width:8rem;height:3rem;animation:3.8s ease-in-out infinite arcade-fx-searchlight-left;position:absolute;bottom:54%;left:48%}[data-arcade-game=zombie-survival] .arcade-deadnight-base:after{transform-origin:100%;background:linear-gradient(270deg,oklch(84% .18 190/.17),#0000);animation-name:arcade-fx-searchlight-right;animation-delay:-1.4s;left:auto;right:48%}[data-arcade-game=zombie-survival] .arcade-moon{box-shadow:0 0 28px oklch(90% .04 240/.16),0 0 70px oklch(72% .12 292/.1)}[data-arcade-game=zombie-survival] .arcade-horde-unit{z-index:6;filter:drop-shadow(0 0 5px oklch(70% .22 27/.22))}[data-arcade-game=zombie-survival] .arcade-fx-horde-night{animation:.72s ease-in-out 2 arcade-fx-horde-surge,.72s ease-in-out 2 arcade-fx-danger-vignette!important}[data-arcade-game=zombie-survival] .arcade-fx-base-hit{animation:.56s ease-out both arcade-fx-scene-hit,.56s ease-out both arcade-fx-danger-vignette!important}[data-arcade-game=crime-empire] .arcade-scene-underworld{isolation:isolate;background:radial-gradient(circle at 70% 20%,oklch(86% .16 83/.08),#0000 30%),linear-gradient(oklch(14% .04 50),oklch(5.5% .025 252));overflow:hidden}[data-arcade-game=crime-empire] .arcade-scene-underworld:before{content:"";z-index:1;pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 29px,oklch(86% .16 83/.045) 30px 31px,#0000 32px 34px);animation:5s linear infinite arcade-fx-city-grid;position:absolute;inset:55% -8% -10%;transform:perspective(220px)rotateX(62deg)}[data-arcade-game=crime-empire] .arcade-wire{box-shadow:0 0 24px oklch(86% .16 83/.09)}[data-arcade-game=crime-empire] .arcade-business-card{overflow:visible}[data-arcade-game=crime-empire] .arcade-fx-city-buy{animation:.52s ease-out both arcade-fx-heat-rise!important}[data-arcade-game=crime-empire] .arcade-fx-heat-rise{animation:.64s ease-out both arcade-fx-heat-rise!important}[data-arcade-game=crime-empire] .arcade-fx-heat-fall{filter:saturate(.9)brightness(.96);transition:filter .7s}[data-arcade-game=crime-empire] .arcade-fx-police-scan:after{content:"";z-index:70;pointer-events:none;filter:blur(2px);background:linear-gradient(90deg,#0000,oklch(67% .22 28/.2),oklch(70% .17 245/.18),#0000);width:32%;animation:1.05s ease-in-out forwards arcade-fx-police-scan;position:absolute;top:-12%;bottom:-12%;left:-28%}[data-arcade-game=crime-empire] .arcade-main-panel:has(.arcade-status-danger) .arcade-heat-arc{filter:drop-shadow(0 0 12px var(--arcade-fx-red))}[data-arcade-game=monster-collector] .arcade-scene-mythkin{isolation:isolate;background:radial-gradient(circle at 24% 48%,oklch(84% .18 190/.07),#0000 24%),radial-gradient(circle at 76% 48%,oklch(72% .2 304/.09),#0000 25%),linear-gradient(oklch(10.5% .04 164),oklch(5% .026 252));overflow:hidden}[data-arcade-game=monster-collector] .arcade-battle-orbit{filter:drop-shadow(0 0 10px oklch(72% .2 304/.22));animation:13s linear infinite arcade-fx-orbit}[data-arcade-game=monster-collector] .arcade-creature-card{transition:transform .22s cubic-bezier(.16,.82,.24,1),border-color .22s,box-shadow .22s,filter .22s;overflow:visible}[data-arcade-game=monster-collector] .arcade-creature-art{isolation:isolate;overflow:visible}[data-arcade-game=monster-collector] .arcade-creature-art:before{content:"";z-index:-1;aspect-ratio:1;filter:blur(3px);background:radial-gradient(circle,oklch(84% .18 190/.11),#0000 64%);border-radius:999px;width:120%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-arcade-game=monster-collector] .arcade-creature-card-wild .arcade-creature-art:before{background:radial-gradient(circle,oklch(72% .2 304/.14),#0000 64%)}[data-arcade-game=monster-collector] .arcade-fx-creature-hit{animation:.32s ease-out both arcade-fx-creature-hit!important}[data-arcade-game=monster-collector] .arcade-fx-creature-heal{animation:.59s ease-out both arcade-fx-creature-heal!important}[data-arcade-game=monster-collector] .arcade-fx-mythkin-danger{animation:.62s ease-in-out arcade-fx-danger-vignette!important}[data-arcade-game=monster-collector] .arcade-fx-capture-orb{z-index:92;aspect-ratio:1;pointer-events:none;background:radial-gradient(circle at 34% 28%,#fff 0 4%,#0000 7%),radial-gradient(circle,oklch(72% .2 304/.34),oklch(84% .18 190/.14) 48%,#0000 70%);border:2px solid oklch(92% .08 190/.72);border-radius:999px;width:4.4rem;animation:.82s cubic-bezier(.16,.82,.24,1) forwards arcade-fx-capture-orb;position:absolute;top:50%;left:50%;box-shadow:0 0 18px oklch(72% .2 304/.55),inset 0 0 18px oklch(84% .18 190/.2)}[data-arcade-game=monster-collector] .arcade-fx-heal-wave:before{content:"";z-index:70;aspect-ratio:1;pointer-events:none;border:2px solid oklch(79% .17 153/.35);border-radius:999px;width:38%;animation:.68s ease-out forwards arcade-fx-heal-wave;position:absolute;top:50%;left:50%}[data-arcade-game=monster-collector] .arcade-creature-health>span{box-shadow:0 0 8px}.arcade-route .arcade-result{position:relative;overflow:hidden;box-shadow:0 18px 36px -28px oklch(2% .03 252/.92),inset 0 1px oklch(100% 0 0/.06)}.arcade-route .arcade-result:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,oklch(84% .18 190/.14),#0000);width:24%;animation:1.45s cubic-bezier(.16,.82,.24,1) .12s studio-win-sweep;position:absolute;inset:-50% auto -50% -24%}@media (width<=640px){.arcade-spectacle-burst>i:nth-child(n+8){display:none}.arcade-fx-projectile{filter:drop-shadow(0 0 3px var(--arcade-fx-cyan))}[data-arcade-game=zombie-survival] .arcade-scene-deadnight:before{filter:blur(8px);opacity:.75}[data-arcade-game=tower-defense] .arcade-tower-slot[data-built=true]{animation-duration:2.6s}}@media (prefers-reduced-motion:reduce){.arcade-spectacle-burst,.arcade-spectacle-anchor,.arcade-fx-projectile,.arcade-fx-capture-orb{display:none!important}[data-arcade-game] *,[data-arcade-game] :before,[data-arcade-game] :after{animation:none!important}}.a11y-still .arcade-spectacle-burst,.a11y-still .arcade-spectacle-anchor,.a11y-still .arcade-fx-projectile,.a11y-still .arcade-fx-capture-orb{display:none!important}.a11y-still [data-arcade-game] *,.a11y-still [data-arcade-game] :before,.a11y-still [data-arcade-game] :after{animation:none!important}.a11y-contrast .arcade-spectacle-burst,.a11y-contrast .arcade-spectacle-anchor,.a11y-contrast .arcade-fx-projectile,.a11y-contrast .arcade-fx-capture-orb,.a11y-contrast [data-arcade-game] .arcade-scene:before,.a11y-contrast [data-arcade-game] .arcade-scene:after{display:none!important}
