:root{--font-display:"Glancyr700","Glancyr","Space Grotesk",sans-serif;--font-body:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--accent-success:#10a37f}body.bfx-off .aberration,body.bfx-off .arc,body.bfx-off .barcode,body.bfx-off .beam,body.bfx-off .big-shard,body.bfx-off .blast,body.bfx-off .bolt,body.bfx-off .burst-line,body.bfx-off .code-stream,body.bfx-off .coord-card,body.bfx-off .crt-bar,body.bfx-off .debris,body.bfx-off .dot-rain,body.bfx-off .dragon,body.bfx-off .droplet,body.bfx-off .dust,body.bfx-off .echo,body.bfx-off .ember,body.bfx-off .energy-orb,body.bfx-off .flame,body.bfx-off .flare,body.bfx-off .ghost,body.bfx-off .glitch-block,body.bfx-off .gravity-warp,body.bfx-off .grid-pulse,body.bfx-off .halo,body.bfx-off .hex-outline,body.bfx-off .kanji-fall,body.bfx-off .letterbox,body.bfx-off .log-toast,body.bfx-off .mist,body.bfx-off .noise,body.bfx-off .pillar,body.bfx-off .pixel,body.bfx-off .portal,body.bfx-off .portal-echo,body.bfx-off .radar-ping,body.bfx-off .ribbon,body.bfx-off .ripple,body.bfx-off .rune,body.bfx-off .scale,body.bfx-off .scanline,body.bfx-off .screen-flash,body.bfx-off .shard,body.bfx-off .shockwave,body.bfx-off .smoke,body.bfx-off .spark,body.bfx-off .spiral,body.bfx-off .star-pop,body.bfx-off .strip,body.bfx-off .suck,body.bfx-off .swarm-dot,body.bfx-off .trail,body.bfx-off .twinkle,body.bfx-off .vignette-pulse,body.bfx-off .void,body.no-aberration .aberration,body.no-flare .flare,body.no-shockwave .shockwave,body.no-sparks .spark,body.no-stars .stage:after,body.no-stars .stage:before,body.no-streaks .blast,body.no-streaks .suck,body.no-svg .portal,body.no-trail .trail{display:none!important}.bolt{position:absolute;pointer-events:none;transform:translate(-50%,-50%);animation:boltFlash .6s steps(4) forwards;filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 12px #c084fc)}@keyframes boltFlash{0%,to{opacity:0}20%,60%{opacity:1}}body.no-bolts .bolt{display:none!important}.rune{position:absolute;pointer-events:none;font-family:var(--font-display);font-weight:800;font-size:18px;color:#fff;text-shadow:0 0 8px #c084fc,0 0 16px #a855f7;transform:translate(-50%,-50%);animation:runeOrbit 1.4s var(--expo-out) forwards}@keyframes runeOrbit{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0)}25%{opacity:1;transform:translate(calc(-50% + var(--rx)*.4),calc(-50% + var(--ry)*.4)) scale(1) rotate(120deg)}to{opacity:0;transform:translate(calc(-50% + var(--rx)),calc(-50% + var(--ry))) scale(.5) rotate(1turn)}}body.no-runes .rune{display:none!important}.screen-flash{position:fixed;inset:0;pointer-events:none;z-index:50;background:radial-gradient(circle at var(--fx) var(--fy),rgba(255,255,255,.5) 0,rgba(192,132,252,.2) 30%,transparent 60%);opacity:0;animation:flashScreen .38s ease-out forwards;mix-blend-mode:screen}@keyframes flashScreen{0%{opacity:1}to{opacity:0}}body.no-flash .screen-flash{display:none!important}body.shaking .hero,body.shaking .hud,body.shaking .stage{animation:shake .38s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}body.no-shake.shaking .hero,body.no-shake.shaking .hud,body.no-shake.shaking .stage{animation:none}.vignette-pulse{position:fixed;inset:0;pointer-events:none;z-index:5;box-shadow:inset 0 0 200px 60px rgba(168,85,247,.4);opacity:0;animation:vigPulse .8s ease-out forwards}@keyframes vigPulse{0%{opacity:0}30%{opacity:1}to{opacity:0}}body.no-vignette .vignette-pulse{display:none!important}.debris{position:absolute;pointer-events:none;width:6px;height:6px;background:linear-gradient(135deg,#fff,#c084fc 50%,#6b21a8);transform:translate(-50%,-50%) rotate(var(--dr));animation:debrisFly 1.1s cubic-bezier(.2,.7,.2,1) forwards;box-shadow:0 0 8px rgba(192,132,252,.8)}@keyframes debrisFly{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--dr)) scale(.3)}20%{opacity:1;transform:translate(-50%,-50%) rotate(var(--dr)) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(calc(var(--dr) + 2turn)) scale(.5)}}body.no-debris .debris{display:none!important}.smoke{position:absolute;pointer-events:none;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(168,85,247,.4) 0,rgba(168,85,247,0) 60%);transform:translate(-50%,-50%) scale(.4);animation:smokeRise 1.8s ease-out forwards;filter:blur(8px)}@keyframes smokeRise{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--sx)),calc(-50% - 80px)) scale(2)}}body.no-smoke .smoke{display:none!important}.ember{position:absolute;pointer-events:none;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 6px #fbbf24,0 0 12px #f59e0b;transform:translate(-50%,-50%);animation:emberFloat 2.4s ease-in forwards}@keyframes emberFloat{0%{opacity:0}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--ex)),calc(-50% + var(--ey)))}}body.no-embers .ember{display:none!important}.shard{position:absolute;pointer-events:none;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:14px solid #c084fc;transform:translate(-50%,-50%) rotate(var(--sr));filter:drop-shadow(0 0 4px #fff);animation:shardFly .9s var(--expo-out) forwards}@keyframes shardFly{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--sr)) scale(.2)}25%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--shx)),calc(-50% + var(--shy))) rotate(calc(var(--sr) + 540deg)) scale(.6)}}body.no-shards .shard{display:none!important}.ghost{position:absolute;pointer-events:none;transform:translate(-50%,-50%);animation:ghostFade .9s ease-out forwards;filter:drop-shadow(0 0 12px #c084fc) drop-shadow(0 0 24px #6b21a8);opacity:.6}@keyframes ghostFade{0%{opacity:.8;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.4)}}body.no-ghost .ghost{display:none!important}.ripple{position:absolute;pointer-events:none;width:40px;height:12px;border-radius:50%;border:2px solid rgba(192,132,252,.6);transform:translate(-50%,-50%);animation:rippleSpread 1.4s ease-out forwards}@keyframes rippleSpread{0%{opacity:1;width:40px;height:12px;border-width:3px}to{opacity:0;width:360px;height:90px;border-width:1px}}body.no-ripple .ripple{display:none!important}.echo{position:absolute;pointer-events:none;transform:translate(-50%,-50%);opacity:.35;animation:echoFade .7s ease-out forwards;filter:hue-rotate(var(--hr,0deg)) blur(.5px)}@keyframes echoFade{0%{opacity:.5}to{opacity:0;transform:translate(calc(-50% + var(--mx)),-50%)}}body.no-echoes .echo{display:none!important}.dust{position:absolute;pointer-events:none;width:4px;height:4px;border-radius:50%;background:#e9d5ff;transform:translate(-50%,-50%);animation:dustScatter .8s ease-out forwards;box-shadow:0 0 4px #fff}@keyframes dustScatter{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dux)),calc(-50% + var(--duy))) scale(.3)}}body.no-dust .dust{display:none!important}body.glitching .dragon,body.glitching .hero,body.glitching .stage{animation:glitchRgb .32s steps(6) both}@keyframes glitchRgb{0%{filter:none}20%{filter:hue-rotate(15deg) saturate(1.5);transform:translate(-2px,1px)}40%{filter:hue-rotate(-25deg) saturate(2);transform:translate(3px,-1px)}60%{filter:invert(.05) hue-rotate(180deg);transform:translate(-1px,2px)}80%{filter:hue-rotate(45deg);transform:translate(2px)}to{filter:none}}body.no-glitch.glitching .dragon,body.no-glitch.glitching .hero,body.no-glitch.glitching .stage{animation:none}body.freezing .hero,body.freezing .stage{animation:timeFreeze .6s ease-in-out both}@keyframes timeFreeze{0%{filter:none}50%{filter:saturate(.2) brightness(1.4) contrast(1.5)}to{filter:none}}body.no-freeze.freezing .hero,body.no-freeze.freezing .stage{animation:none}.pixel{position:absolute;pointer-events:none;width:4px;height:4px;background:var(--pc,#c084fc);transform:translate(-50%,-50%);animation:pixelDissolve .9s ease-out forwards;image-rendering:pixelated}@keyframes pixelDissolve{0%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--px)),calc(-50% + var(--py)))}}body.no-pixels .pixel{display:none!important}.beam{position:absolute;pointer-events:none;height:4px;transform-origin:0 50%;background:linear-gradient(90deg,transparent,#c084fc 20%,#fff 50%,#60a5fa 80%,transparent);box-shadow:0 0 12px #c084fc,0 0 24px #fff;animation:beamFlash .5s ease-out forwards;border-radius:4px}@keyframes beamFlash{0%{opacity:0;transform:translateY(-50%) scaleY(0)}25%{opacity:1;transform:translateY(-50%) scaleY(1)}to{opacity:0;transform:translateY(-50%) scaleY(.3)}}body.no-beam .beam{display:none!important}.kanji-fall{position:fixed;top:-40px;pointer-events:none;font-family:var(--font-display);font-weight:900;font-size:28px;color:#c084fc;text-shadow:0 0 8px #fff;animation:kanjiFall 2.4s linear forwards;z-index:6}@keyframes kanjiFall{0%{opacity:0;transform:translateY(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(110vh)}}body.no-kanji-rain .kanji-fall{display:none!important}.scanline{position:fixed;left:0;right:0;height:2px;pointer-events:none;z-index:6;background:linear-gradient(90deg,transparent,rgba(192,132,252,.8) 50%,transparent);box-shadow:0 0 12px rgba(168,85,247,.6);animation:scanSweep .7s ease-in-out forwards;top:0}@keyframes scanSweep{0%{opacity:0;top:-10px}20%{opacity:1}to{opacity:0;top:100vh}}body.no-scan .scanline{display:none!important}.burst-line{position:absolute;pointer-events:none;width:2px;height:0;background:linear-gradient(180deg,rgba(255,255,255,1) 0,rgba(192,132,252,.6) 60%,transparent);transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(var(--br));animation:burstGrow .6s ease-out forwards}@keyframes burstGrow{0%{opacity:0;height:0}30%{opacity:1;height:140px}to{opacity:0;height:60px}}body.no-burst .burst-line{display:none!important}.coord-card{position:absolute;pointer-events:none;transform:translate(-50%,-120px);padding:4px 10px;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);border:1px solid rgba(192,132,252,.5);border-radius:6px;font-family:var(--font-mono);font-size:9px;color:#c084fc;white-space:nowrap;text-transform:uppercase;letter-spacing:.08em;animation:coordPop 1.4s var(--expo-out) forwards}@keyframes coordPop{0%{opacity:0;transform:translate(-50%,-100px) scale(.5)}20%{opacity:1;transform:translate(-50%,-130px) scale(1)}80%{opacity:1;transform:translate(-50%,-135px) scale(1)}to{opacity:0;transform:translate(-50%,-150px) scale(.9)}}body.no-coords .coord-card{display:none!important}body.inverting{animation:invertFlicker .24s steps(4) both}@keyframes invertFlicker{0%,to{filter:none}25%{filter:invert(1) hue-rotate(180deg)}50%{filter:none}75%{filter:invert(1) hue-rotate(180deg)}}body.no-invert.inverting{animation:none}.crt-bar{position:fixed;left:0;right:0;pointer-events:none;z-index:7;height:80px;background:linear-gradient(180deg,transparent 0,rgba(192,132,252,.15) 50%,transparent);mix-blend-mode:overlay;top:-80px;animation:crtSweep 1.2s linear forwards}@keyframes crtSweep{0%{top:-80px}to{top:100vh}}body.no-crt .crt-bar{display:none!important}.gravity-warp{position:absolute;pointer-events:none;width:600px;height:600px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,transparent 30%,rgba(168,85,247,.05) 50%,rgba(0,0,0,.3) 70%,transparent 90%);animation:gravWarp .9s ease-out forwards}@keyframes gravWarp{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}40%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}body.no-gravity .gravity-warp{display:none!important}.star-pop{position:fixed;pointer-events:none;z-index:4;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff,0 0 16px #c084fc;animation:starPop .8s ease-in-out forwards}@keyframes starPop{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(2)}to{opacity:0;transform:scale(.5)}}body.no-stars-pop .star-pop{display:none!important}.log-toast{position:fixed;bottom:80px;left:24px;z-index:30;padding:8px 14px;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);border-left:3px solid #c084fc;font-family:var(--font-mono);font-size:11px;color:#e9d5ff;text-transform:uppercase;letter-spacing:.06em;transform:translateX(-110%);animation:logSlide 2.4s ease-in-out forwards}@keyframes logSlide{0%{transform:translateX(-110%)}10%{transform:translateX(0)}85%{transform:translateX(0)}to{transform:translateX(-110%)}}body.no-log .log-toast{display:none!important}.orb{position:absolute;pointer-events:none;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#c084fc 60%,#6b21a8 100%);transform:translate(-50%,-50%);box-shadow:0 0 12px #c084fc;animation:orbCircle 1.2s linear forwards}@keyframes orbCircle{0%{opacity:0;transform:translate(calc(-50% + cos(var(--oa)) * 40px),calc(-50% + sin(var(--oa)) * 40px)) scale(.3)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + cos(calc(var(--oa) + 2turn)) * 100px),calc(-50% + sin(calc(var(--oa) + 2turn)) * 100px)) scale(1)}}body.no-orbs .orb{display:none!important}.barcode{position:fixed;pointer-events:none;z-index:5;height:100vh;width:6px;top:0;background:repeating-linear-gradient(180deg,transparent 0 4px,rgba(192,132,252,.6) 4px 6px,transparent 6px 10px,rgba(96,165,250,.4) 10px 11px);animation:barcodeFlicker .6s steps(8) forwards}@keyframes barcodeFlicker{0%,to{opacity:0}20%,80%{opacity:.6}}body.no-barcode .barcode{display:none!important}.swarm-dot{position:absolute;pointer-events:none;width:4px;height:4px;border-radius:50%;background:#c084fc;box-shadow:0 0 6px #fff;transform:translate(-50%,-50%);animation:swarmRotate 1.4s linear forwards}@keyframes swarmRotate{0%{opacity:0}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + cos(calc(var(--sa) + 3turn)) * var(--sd)),calc(-50% + sin(calc(var(--sa) + 3turn)) * var(--sd)))}}body.no-swarm .swarm-dot{display:none!important}.grid-pulse{position:fixed;inset:0;pointer-events:none;z-index:3;background-image:linear-gradient(rgba(192,132,252,.15) 1px,transparent 0),linear-gradient(90deg,rgba(192,132,252,.15) 1px,transparent 0);background-size:40px 40px;opacity:0;animation:gridFlash .8s ease-out forwards}@keyframes gridFlash{0%{opacity:0}30%{opacity:1}to{opacity:0}}body.no-grid .grid-pulse{display:none!important}.flame{position:absolute;pointer-events:none;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#fff 0,#fbbf24 30%,#f97316 60%,#b91c1c 100%);transform:translate(-50%,-50%);filter:blur(2px);mix-blend-mode:screen;animation:flameRise .9s ease-out forwards}@keyframes flameRise{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--fmx)),calc(-50% - 60px)) scale(.3)}}body.no-flames .flame{display:none!important}.arc{position:fixed;pointer-events:none;z-index:9;overflow:visible;animation:arcFlash .46s steps(3) forwards;filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 16px #c084fc)}@keyframes arcFlash{0%,to{opacity:0}30%,70%{opacity:1}}body.no-arc .arc{display:none!important}.spiral{position:absolute;pointer-events:none;width:200px;height:200px;border-radius:50%;border:2px dashed rgba(192,132,252,.7);transform:translate(-50%,-50%) scale(.2) rotate(0);animation:spiralOut 1.1s cubic-bezier(.2,.8,.2,1) forwards}@keyframes spiralOut{0%{opacity:1;transform:translate(-50%,-50%) scale(.2) rotate(0)}to{opacity:0;transform:translate(-50%,-50%) scale(2) rotate(540deg)}}body.no-spiral .spiral{display:none!important}.halo{position:absolute;pointer-events:none;width:80px;height:80px;border-radius:50%;border:1px solid #c084fc;transform:translate(-50%,-50%);animation:haloOut 1.3s ease-out forwards;filter:drop-shadow(0 0 4px #fff)}@keyframes haloOut{0%{opacity:1;transform:translate(-50%,-50%) scale(.4);border-width:3px}to{opacity:0;transform:translate(-50%,-50%) scale(3.4);border-width:.5px}}body.no-halo .halo{display:none!important}.big-shard{position:absolute;pointer-events:none;width:20px;height:20px;background:linear-gradient(45deg,#fff,#c084fc 50%,#6b21a8);clip-path:polygon(50% 0,100% 100%,0 100%);transform:translate(-50%,-50%) rotate(var(--bsr));animation:bigShardFly 1.3s cubic-bezier(.3,.7,.4,1) forwards;filter:drop-shadow(0 0 8px rgba(192,132,252,.7))}@keyframes bigShardFly{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--bsr)) scale(.3)}20%{opacity:1;transform:translate(-50%,-50%) rotate(var(--bsr)) scale(1.2)}to{opacity:0;transform:translate(calc(-50% + var(--bsx)),calc(-50% + var(--bsy))) rotate(calc(var(--bsr) + 3turn)) scale(.4)}}body.no-bigshard .big-shard{display:none!important}.energy-orb{position:absolute;pointer-events:none;width:60px;height:60px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff 0,#c084fc 30%,#6b21a8 80%);transform:translate(-50%,-50%) scale(.2);animation:orbPulse 1.1s ease-out forwards;box-shadow:0 0 40px #c084fc,0 0 80px #a855f7}@keyframes orbPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(-50%,-50%) scale(2)}}body.no-eorb .energy-orb{display:none!important}.mist{position:absolute;pointer-events:none;width:200px;height:100px;border-radius:50%;background:radial-gradient(ellipse,rgba(168,85,247,.4) 0,transparent 70%);transform:translate(-50%,-50%);filter:blur(20px);animation:mistRoll 2.2s ease-out forwards}@keyframes mistRoll{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}30%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--mtx)),calc(-50% + var(--mty))) scale(2)}}body.no-mist .mist{display:none!important}.void{position:absolute;pointer-events:none;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,#000 30%,rgba(0,0,0,.5) 60%,transparent 100%);transform:translate(-50%,-50%) scale(0);animation:voidOpen .7s ease-in forwards;box-shadow:0 0 0 0 rgba(0,0,0,.7)}@keyframes voidOpen{0%{transform:translate(-50%,-50%) scale(0)}to{transform:translate(-50%,-50%) scale(1.3);opacity:0}}body.no-void .void{display:none!important}.pillar{position:absolute;pointer-events:none;width:30px;height:0;background:linear-gradient(0deg,rgba(192,132,252,.9) 0,rgba(255,255,255,.7) 50%,rgba(192,132,252,0));transform-origin:50% 100%;transform:translate(-50%,-100%);animation:pillarRise .7s ease-out forwards;filter:blur(2px);box-shadow:0 0 20px #c084fc}@keyframes pillarRise{0%{opacity:0;height:0}30%{opacity:1;height:200px}to{opacity:0;height:240px}}body.no-pillar .pillar{display:none!important}.glitch-block{position:fixed;pointer-events:none;z-index:8;background:rgba(192,132,252,.5);mix-blend-mode:difference;animation:glitchBlock .2s steps(2) forwards}@keyframes glitchBlock{0%,to{opacity:0}50%{opacity:1}}body.no-blocks .glitch-block{display:none!important}.droplet{position:fixed;pointer-events:none;z-index:6;width:4px;height:12px;border-radius:50%;background:linear-gradient(180deg,transparent 0,#c084fc 50%,#fff);top:-20px;animation:dropletFall 1.2s cubic-bezier(.4,0,.6,1) forwards}@keyframes dropletFall{0%{opacity:0}20%{opacity:1}to{opacity:0;transform:translateY(110vh)}}body.no-drops .droplet{display:none!important}.portal-echo{position:absolute;pointer-events:none;width:240px;height:240px;border-radius:50%;border:2px solid rgba(192,132,252,.4);transform:translate(-50%,-50%) scale(.5);animation:portalEcho 1.6s ease-out forwards;filter:blur(1px)}@keyframes portalEcho{0%{opacity:1;transform:translate(-50%,-50%) scale(.5);border-width:4px}to{opacity:0;transform:translate(-50%,-50%) scale(1.6);border-width:0}}body.no-pecho .portal-echo{display:none!important}.code-stream{position:fixed;right:24px;bottom:80px;z-index:30;padding:8px 12px;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);border:1px solid rgba(192,132,252,.3);border-radius:6px;font-family:var(--font-mono);font-size:10px;color:#4ade80;line-height:1.5;max-width:220px;animation:codeFlash 2.4s ease-out forwards}@keyframes codeFlash{0%{opacity:0;transform:translateX(20px)}10%{opacity:1;transform:translateX(0)}85%{opacity:1}to{opacity:0;transform:translateX(-10px)}}body.no-code .code-stream{display:none!important}.dragon.holo:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(192,132,252,.3) 3px 4px);mix-blend-mode:overlay;animation:holoScan 1.4s linear infinite;pointer-events:none}@keyframes holoScan{0%{background-position:0 0}to{background-position:0 30px}}body.no-holo .dragon.holo:after{display:none!important}.radar-ping{position:fixed;bottom:24px;right:24px;z-index:25;width:60px;height:60px;border-radius:50%;pointer-events:none}.radar-ping:after,.radar-ping:before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #c084fc;animation:radarPing 2s ease-out infinite}.radar-ping:after{animation-delay:.8s}body.no-radar .radar-ping{display:none!important}@keyframes radarPing{0%{transform:scale(.3);opacity:1}to{transform:scale(2);opacity:0}}.noise{position:fixed;inset:0;pointer-events:none;z-index:50;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9'/></filter><rect width='200' height='200' filter='url(%23n)' opacity='0.6'/></svg>");opacity:0;animation:noiseFlash .48s steps(4) forwards;mix-blend-mode:overlay}@keyframes noiseFlash{0%,to{opacity:0}30%,70%{opacity:.4}}body.no-noise .noise{display:none!important}.hex-outline{position:absolute;pointer-events:none;width:220px;height:220px;transform:translate(-50%,-50%);animation:hexSpin 1.2s ease-out forwards}@keyframes hexSpin{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0deg)}30%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(60deg)}to{opacity:0;transform:translate(-50%,-50%) scale(1.4) rotate(180deg)}}body.no-hex .hex-outline{display:none!important}.twinkle{position:absolute;pointer-events:none;width:6px;height:6px;background:radial-gradient(circle,#fff 0,transparent 60%);transform:translate(-50%,-50%);animation:twinkleAnim 1.1s ease-in-out forwards}@keyframes twinkleAnim{0%,to{opacity:0;transform:translate(-50%,-50%) scale(.3)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}}body.no-twinkle .twinkle{display:none!important}body.shimmering .hero{animation:heatShimmer .8s ease-out}@keyframes heatShimmer{0%,to{filter:none}50%{filter:blur(.5px) brightness(1.1) saturate(1.3);transform:translateY(-1px)}}body.no-shimmer.shimmering .hero{animation:none}.ribbon{position:absolute;pointer-events:none;width:80px;height:4px;background:linear-gradient(90deg,transparent 0,#c084fc 40%,#fff 50%,#60a5fa 60%,transparent);transform-origin:0 50%;transform:translate(-50%,-50%) rotate(var(--rba));animation:ribbonFly 1.1s cubic-bezier(.2,.8,.3,1) forwards;filter:drop-shadow(0 0 6px #c084fc);border-radius:4px}@keyframes ribbonFly{0%{opacity:0;width:0}25%{opacity:1;width:80px}to{opacity:0;width:200px}}body.no-ribbon .ribbon{display:none!important}body.pinching .hero,body.pinching .stage{animation:screenPinch .6s ease-in-out both}@keyframes screenPinch{0%,to{transform:scale(1)}50%{transform:scale(.97);filter:blur(1px)}}body.no-pinch.pinching .hero,body.no-pinch.pinching .stage{animation:none}.dot-rain{position:fixed;pointer-events:none;z-index:5;width:2px;height:2px;border-radius:50%;background:#c084fc;box-shadow:0 0 4px #fff;top:-10px;animation:dotFall 1.6s linear forwards}@keyframes dotFall{0%{opacity:0}20%{opacity:1}to{opacity:0;transform:translateY(110vh)}}body.no-dotrain .dot-rain{display:none!important}.strip{position:fixed;left:0;right:0;pointer-events:none;z-index:7;height:2px;background:rgba(192,132,252,.8);mix-blend-mode:screen;animation:stripGlitch .2s steps(2) forwards}@keyframes stripGlitch{0%,to{opacity:0;transform:translateX(0)}50%{opacity:1;transform:translateX(20px)}}body.no-strip .strip{display:none!important}.scale{position:absolute;pointer-events:none;width:8px;height:12px;background:linear-gradient(135deg,#c084fc,#6b21a8);border-radius:50% 50% 0 50%;transform:translate(-50%,-50%) rotate(var(--scr));animation:scaleFall 1.8s cubic-bezier(.4,0,.6,1) forwards;filter:drop-shadow(0 2px 4px rgba(168,85,247,.5))}@keyframes scaleFall{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--scr))}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--scx)),calc(-50% + var(--scy) + 80px)) rotate(calc(var(--scr) + 1turn))}}body.no-scales .scale{display:none!important}.letterbox{position:fixed;left:0;right:0;pointer-events:none;z-index:49;background:#000;height:0;animation:letterIn 1.2s ease-out forwards}.letterbox.top{top:0}.letterbox.bot{bottom:0}@keyframes letterIn{0%{height:0}20%{height:60px}80%{height:60px}to{height:0}}body.no-letter .letterbox{display:none!important}.dragon-world{z-index:20}.dragon{position:absolute;width:160px;height:160px;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:auto;transform:translate(-50%,-50%);will-change:transform,opacity,filter}.dragon.idle{animation:bob 3.4s var(--expo-out) infinite alternate}@keyframes bob{0%{transform:translate(-50%,-50%) translateY(0) rotate(-1deg)}to{transform:translate(-50%,-58%) translateY(-6px) rotate(2deg)}}.dragon.flipped img{transform:scaleX(-1)}.dragon img{width:100%;height:100%;display:block}.dragon .hot{position:absolute;inset:-10px;border-radius:50%}.portal{position:absolute;left:0;top:0;width:280px;height:280px;transform:translate(-50%,-50%) scale(0);pointer-events:none;will-change:transform,opacity;overflow:visible;filter:drop-shadow(0 0 30px rgba(168,85,247,.55)) drop-shadow(0 0 60px rgba(96,165,250,.3))}.portal.out{animation:portal-out .68s var(--expo-out) forwards}.portal.in{animation:portal-in .82s var(--expo-out) forwards}@keyframes portal-out{0%{transform:translate(-50%,-50%) scale(0) rotate(0deg);opacity:0}22%{transform:translate(-50%,-50%) scale(1.1) rotate(60deg);opacity:1}68%{transform:translate(-50%,-50%) scale(1.05) rotate(220deg);opacity:1}to{transform:translate(-50%,-50%) scale(0) rotate(1turn);opacity:0}}@keyframes portal-in{0%{transform:translate(-50%,-50%) scale(0) rotate(0deg);opacity:0}18%{transform:translate(-50%,-50%) scale(1.15) rotate(80deg);opacity:1}55%{transform:translate(-50%,-50%) scale(1) rotate(220deg);opacity:1}to{transform:translate(-50%,-50%) scale(0) rotate(1turn);opacity:0}}.dragon .fx{position:absolute;left:50%;top:10%;pointer-events:none;font-family:var(--font-display);font-weight:800;color:#c084fc;text-shadow:0 0 8px rgba(168,85,247,.7),0 0 16px rgba(168,85,247,.4);opacity:0;image-rendering:pixelated}.dragon.reading .fx.bubble{width:6px;height:6px;background:#e9d5ff;border-radius:0;box-shadow:0 0 8px #c084fc;animation:bubbleRise 2.6s var(--expo-out) infinite}.dragon.reading .fx.bubble.b1{left:70%;top:58%;animation-delay:0s}.dragon.reading .fx.bubble.b2{left:80%;top:62%;animation-delay:.9s}.dragon.reading .fx.bubble.b3{left:66%;top:66%;animation-delay:1.8s}@keyframes bubbleRise{0%{opacity:0;transform:translate(-50%) scale(.4)}15%{opacity:1}to{opacity:0;transform:translate(-50%,-60px) scale(1.2)}}.dragon.sleeping .fx.zzz{font-size:26px;line-height:1;animation:zzzFloat 2.4s var(--expo-out) infinite}.dragon.sleeping .fx.zzz.z1{left:72%;top:20%;animation-delay:0s;font-size:18px}.dragon.sleeping .fx.zzz.z2{left:78%;top:10%;animation-delay:.6s;font-size:22px}.dragon.sleeping .fx.zzz.z3{left:84%;top:0;animation-delay:1.2s;font-size:28px}@keyframes zzzFloat{0%{opacity:0;transform:translateY(10px) rotate(-10deg) scale(.6)}20%{opacity:1}to{opacity:0;transform:translate(30px,-40px) rotate(15deg) scale(1.2)}}.dragon .status{position:absolute;left:50%;top:-14px;transform:translateX(-50%);font-family:var(--font-mono);font-size:10px;color:#a1a1aa;white-space:nowrap;padding:3px 8px;border-radius:999px;background:rgba(26,11,46,.6);border:1px solid rgba(168,85,247,.3);opacity:0;transition:opacity .4s;pointer-events:none}.dragon.reading .status,.dragon.sleeping .status{opacity:1}.dragon.vanishing{animation:vanish .42s var(--expo-in) forwards}.dragon.appearing{animation:appear .52s var(--expo-out) forwards}@keyframes vanish{0%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1;filter:blur(0)}60%{transform:translate(-50%,-50%) scale(.6) rotate(30deg);opacity:.8;filter:blur(2px) hue-rotate(40deg)}to{transform:translate(-50%,-50%) scale(0) rotate(80deg);opacity:0;filter:blur(6px) hue-rotate(80deg)}}@keyframes appear{0%{transform:translate(-50%,-50%) scale(0) rotate(-80deg);opacity:0;filter:blur(6px) hue-rotate(-80deg)}45%{transform:translate(-50%,-50%) scale(1.1) rotate(-10deg);opacity:1;filter:blur(1px) hue-rotate(-20deg)}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1;filter:blur(0) hue-rotate(0)}}.shockwave{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;transform:translate(-50%,-50%) scale(0);pointer-events:none;border:3px solid #fff;box-shadow:0 0 30px 4px rgba(168,85,247,.9),inset 0 0 20px rgba(168,85,247,.6);animation:shockwave .9s var(--expo-out) forwards;will-change:transform,opacity}.shockwave.s2{border-color:rgba(192,132,252,.8);border-width:2px;animation-delay:80ms;animation-duration:1.1s}.shockwave.s3{border-color:rgba(96,165,250,.6);border-width:1px;animation-delay:.18s;animation-duration:1.3s}@keyframes shockwave{0%{transform:translate(-50%,-50%) scale(0);opacity:0}8%{opacity:1}to{transform:translate(-50%,-50%) scale(14);opacity:0}}.flare{position:absolute;left:0;top:0;width:360px;height:360px;transform:translate(-50%,-50%) scale(0);pointer-events:none;background:radial-gradient(closest-side,rgba(255,255,255,.95) 0,rgba(192,132,252,.6) 18%,rgba(96,165,250,.25) 40%,transparent 70%);animation:flarePulse .75s var(--expo-out) forwards;will-change:transform,opacity;mix-blend-mode:screen}.flare:after,.flare:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.95) 48%,#fff 50%,rgba(255,255,255,.95) 52%,transparent)}.flare:before{width:100%;height:2px}.flare:after{width:2px;height:100%}@keyframes flarePulse{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}25%{transform:translate(-50%,-50%) scale(1.1);opacity:1}to{transform:translate(-50%,-50%) scale(.6);opacity:0}}.aberration{position:absolute;left:0;top:0;width:220px;height:220px;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:screen;will-change:transform,opacity;animation:aberrate .9s var(--expo-out) forwards}.aberration .ab-b,.aberration .ab-g,.aberration .ab-r{position:absolute;inset:0;border-radius:50%;border:2px solid}.aberration .ab-r{border-color:#ff3b6e;transform:translate(-3px)}.aberration .ab-g{border-color:#3bff9e;transform:translateY(-3px)}.aberration .ab-b{border-color:#3b9eff;transform:translate(3px,3px)}@keyframes aberrate{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}to{transform:translate(-50%,-50%) scale(2.6);opacity:0}}.suck{position:absolute;width:2px;height:60px;background:linear-gradient(180deg,transparent 0,#c084fc 60%,#fff);pointer-events:none;transform-origin:50% 100%;will-change:transform,opacity;animation:suckIn .6s var(--expo-in) forwards;filter:drop-shadow(0 0 4px rgba(168,85,247,.9))}@keyframes suckIn{0%{transform:translate(var(--sx),var(--sy)) rotate(var(--sr)) scaleY(0);opacity:0}20%{opacity:1}to{transform:translate(var(--ex),var(--ey)) rotate(var(--sr)) scaleY(1);opacity:0}}.blast{position:absolute;width:2px;height:50px;background:linear-gradient(0deg,transparent 0,#60a5fa 50%,#fff);pointer-events:none;transform-origin:50% 100%;will-change:transform,opacity;animation:blastOut .7s var(--expo-out) forwards;filter:drop-shadow(0 0 4px rgba(96,165,250,.9))}@keyframes blastOut{0%{transform:translate(var(--sx),var(--sy)) rotate(var(--sr)) scaleY(.2);opacity:0}20%{opacity:1}to{transform:translate(var(--ex),var(--ey)) rotate(var(--sr)) scaleY(1);opacity:0}}.spark{position:absolute;width:4px;height:4px;border-radius:0;background:#fff;pointer-events:none;will-change:transform,opacity;animation:spark 1.1s var(--expo-out) forwards;image-rendering:pixelated}@keyframes spark{0%{transform:translate(-50%,-50%) scale(0);opacity:1}50%{opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.3);opacity:0}}.toast{position:fixed;left:50%;top:70%;transform:translate(-50%);font-family:var(--font-mono);font-size:12px;color:#fff;background:rgba(26,11,46,.7);border:1px solid rgba(168,85,247,.4);border-radius:999px;padding:6px 14px;pointer-events:none;opacity:0;transition:opacity .3s var(--expo-out),transform .35s var(--expo-out);z-index:35}.toast.show{opacity:1;transform:translate(-50%,-12px)}.trail{position:fixed;inset:0;pointer-events:none;z-index:28;overflow:visible}.trail path{fill:none;stroke:url(#trail-grad);stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 10px rgba(168,85,247,.8)) drop-shadow(0 0 20px rgba(96,165,250,.5));stroke-dasharray:6 4;animation:trailFlow .7s linear,trailFade .7s var(--expo-out) forwards}@keyframes trailFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-80}}@keyframes trailFade{0%{opacity:0;stroke-width:1}25%{opacity:1;stroke-width:4}to{opacity:0;stroke-width:2}}@keyframes pSpin1{to{transform:rotate(1turn)}}@keyframes pSpin2{to{transform:rotate(-1turn)}}@keyframes pTwinkle{0%,to{opacity:0}50%{opacity:1}}@keyframes pCorePulse{0%,to{transform:scale(.95)}50%{transform:scale(1.08)}}@keyframes pSingularity{0%,to{transform:scale(1)}50%{transform:scale(.6)}}.dragon-world{position:fixed;inset:0;pointer-events:none;z-index:30}.dragon-world>*{pointer-events:auto}.dragon-world .aberration,.dragon-world .arc,.dragon-world .beam,.dragon-world .big-shard,.dragon-world .blast,.dragon-world .bolt,.dragon-world .coord-card,.dragon-world .debris,.dragon-world .dust,.dragon-world .echo,.dragon-world .ember,.dragon-world .energy-orb,.dragon-world .flame,.dragon-world .flare,.dragon-world .ghost,.dragon-world .gravity-warp,.dragon-world .halo,.dragon-world .hex-outline,.dragon-world .mist,.dragon-world .pillar,.dragon-world .pixel,.dragon-world .portal,.dragon-world .portal-echo,.dragon-world .ribbon,.dragon-world .ripple,.dragon-world .rune,.dragon-world .scale,.dragon-world .shard,.dragon-world .shockwave,.dragon-world .smoke,.dragon-world .spark,.dragon-world .spiral,.dragon-world .star-pop,.dragon-world .suck,.dragon-world .swarm-dot,.dragon-world .trail,.dragon-world .twinkle,.dragon-world .void{pointer-events:none}body.shaking{animation:shake .38s cubic-bezier(.36,.07,.19,.97) both}body.glitching{animation:glitchRgb .32s steps(6) both}body.freezing{animation:timeFreeze .6s ease-in-out both}body.shimmering{animation:heatShimmer .8s ease-out}body.bfx-off.freezing,body.bfx-off.glitching,body.bfx-off.inverting,body.bfx-off.shaking,body.bfx-off.shimmering{animation:none}.bfx-sleep-fx{position:fixed;pointer-events:none;z-index:9997;font-family:"VT323",var(--font-mono),monospace;color:#c084fc;text-shadow:0 0 10px rgba(192,132,252,.65),0 0 18px rgba(168,85,247,.35);transform:translate(-50%,-50%);will-change:transform,opacity;animation:bfxSleepFloat 2.4s ease-out forwards;line-height:1}body.bfx-off .bfx-sleep-fx{display:none!important}@keyframes bfxSleepFloat{0%{opacity:0;transform:translate(-50%,-50%) rotate(-8deg) scale(.6)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + 36px),calc(-50% - 90px)) rotate(14deg) scale(1.1)}}.bfx-panel{position:fixed;top:64px;right:24px;z-index:9999;width:240px;max-height:70vh;display:flex;flex-direction:column;padding:10px 12px;background:rgba(26,11,46,.82);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid rgba(168,85,247,.45);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.04);color:#e9d5ff;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em}body.bfx-off .bfx-panel{display:flex!important}.bfx-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid rgba(168,85,247,.25)}.bfx-panel-title{font-family:var(--font-display);font-weight:800;font-size:11px;color:#fff;letter-spacing:.04em}.bfx-panel-close{background:transparent;border:0;color:#c4b5d4;font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.bfx-panel-close:hover{color:#fff}.bfx-panel-body{overflow-y:auto;padding:6px 4px 6px 0;flex:1}.bfx-panel-body::-webkit-scrollbar{width:4px}.bfx-panel-body::-webkit-scrollbar-thumb{background:rgba(168,85,247,.4);border-radius:4px}.bfx-panel-row{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;padding:4px 2px;color:#c4b5d4}.bfx-panel-row:hover{color:#fff}.bfx-panel-row span{flex:1}.bfx-panel-master{border-bottom:1px solid rgba(168,85,247,.2);padding-bottom:6px;margin-bottom:4px}.bfx-panel-master span{color:#fff}.bfx-panel-row input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:26px;height:14px;border-radius:999px;background:rgba(0,0,0,.4);border:1px solid rgba(168,85,247,.35);cursor:pointer;transition:background .25s var(--expo-out);flex-shrink:0}.bfx-panel-row input[type=checkbox]:after{content:"";position:absolute;top:1px;left:1px;width:10px;height:10px;border-radius:50%;background:#c084fc;transition:transform .25s var(--expo-out),background .25s}.bfx-panel-row input[type=checkbox]:checked{background:rgba(168,85,247,.55)}.bfx-panel-row input[type=checkbox]:checked:after{transform:translateX(11px);background:#fff}@font-face{font-family:glancyr;src:url(/_next/static/media/7c24ce527c29dc4f-s.ttf) format("truetype");font-display:optional;font-weight:100 900;font-style:normal}@font-face{font-family:glancyr Fallback;src:local("Arial");ascent-override:105.62%;descent-override:26.40%;line-gap-override:8.80%;size-adjust:113.62%}.__className_d7963c{font-family:glancyr,glancyr Fallback;font-style:normal}.__variable_d7963c{--font-glancyr:"glancyr","glancyr Fallback"}@font-face{font-family:glancyr700;src:url(/_next/static/media/64bc8e5a2090c960-s.ttf) format("truetype");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:glancyr700 Fallback;src:local("Arial");ascent-override:102.46%;descent-override:25.61%;line-gap-override:8.54%;size-adjust:117.12%}.__className_ed1901{font-family:glancyr700,glancyr700 Fallback;font-style:normal}.__variable_ed1901{--font-glancyr700:"glancyr700","glancyr700 Fallback"}@font-face{font-family:spaceGrotesk;src:url(/_next/static/media/5a0c43ffa288c21a-s.p.woff2) format("woff2");font-display:swap;font-weight:300 700;font-style:normal}@font-face{font-family:spaceGrotesk Fallback;src:local("Arial");ascent-override:88.78%;descent-override:26.34%;line-gap-override:0.00%;size-adjust:110.84%}.__className_9e49fd{font-family:spaceGrotesk,spaceGrotesk Fallback;font-style:normal}.__variable_9e49fd{--font-spaceGrotesk:"spaceGrotesk","spaceGrotesk Fallback"}@font-face{font-family:Doto;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/3caffeb0b9f2ce38-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Doto;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f87010aab7de6b46-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Doto Fallback;src:local("Arial");ascent-override:70.59%;descent-override:18.58%;line-gap-override:0.00%;size-adjust:134.59%}.__className_f3b699{font-family:Doto,Doto Fallback;font-style:normal}.__variable_f3b699{--font-doto:"Doto","Doto Fallback"}