@charset "UTF-8";:root {--fx-accent: #6ce7e1;--fx-gold: #ffba19;--fx-warn: #ff9e7a;--fx-amber: #f4dcab;}.fx-stage {position: fixed;inset: 0;z-index: 9999;pointer-events: none;mix-blend-mode: screen;}.fx-shake {animation: fx-shake 0.32s cubic-bezier(0.36, 0.07, 0.19, 0.97);}@keyframes fx-shake {10%, 90% {transform: translate3d(-2px, 0, 0);}20%, 80% {transform: translate3d(4px, 0, 0);}30%, 50%, 70% {transform: translate3d(-6px, 0, 0);}40%, 60% {transform: translate3d(6px, 0, 0);}}.fx-flash {animation: fx-flash 0.42s ease-out;}@keyframes fx-flash {0% {background-color: transparent;}35% {background-color: color-mix(in srgb, var(--fx-accent) 14%, transparent);}100% {background-color: transparent;}}@media (prefers-reduced-motion: reduce) {.fx-shake {animation: none;}}.fx-glitch {animation: fx-glitch 0.48s steps(1, end);}@keyframes fx-glitch {0% {filter: none;transform: none;}12% {filter: drop-shadow(2px 0 0 var(--fx-warn)) drop-shadow(-2px 0 0 var(--fx-accent));transform: translate3d(-3px, 0, 0);}26% {filter: drop-shadow(-4px 0 0 var(--fx-accent)) drop-shadow(3px 0 0 var(--fx-gold));transform: translate3d(4px, 0, 0) skewX(-0.6deg);}44% {filter: drop-shadow(3px 0 0 var(--fx-gold)) drop-shadow(-2px 0 0 var(--fx-warn));transform: translate3d(-2px, 0, 0) skewX(0.4deg);}62% {filter: drop-shadow(-2px 0 0 var(--fx-accent));transform: translate3d(2px, 0, 0);}80% {filter: brightness(1.35);transform: none;}100% {filter: none;transform: none;}}@media (prefers-reduced-motion: reduce) {.fx-glitch {animation: none;}}.fx-sprite {position: absolute;left: 0;z-index: 4;margin: 0;padding: 0;white-space: pre;pointer-events: none;font-size: clamp(0.5rem, 1.1vw, 0.78rem);line-height: 1.05;will-change: transform;}.fx-sprite--accent {color: var(--fx-accent);text-shadow: 0 0 10px color-mix(in srgb, var(--fx-accent) 55%, transparent);}.fx-sprite--gold {color: var(--fx-gold);text-shadow: 0 0 10px color-mix(in srgb, var(--fx-gold) 55%, transparent);}.fx-sprite--amber {color: var(--fx-amber);text-shadow: 0 0 10px color-mix(in srgb, var(--fx-amber) 50%, transparent);}.fx-sprite--still {left: 50%;margin-left: -6rem;animation: fx-sprite-still 1.6s ease-in-out;}@keyframes fx-sprite-still {0%, 100% {opacity: 0;}18%, 75% {opacity: 1;}}