.sfx-root{isolation:isolate;position:relative}.sfx-layer{pointer-events:none;margin:0;position:absolute;inset:0}.sfx-scan{z-index:60;opacity:0;background:repeating-linear-gradient(#0000006b 0 1px,#0000 1px 3px);transition:opacity .45s}.sfx-hum{z-index:61;opacity:0;background:linear-gradient(#fff0 0%,#ffffff0e 45%,#ffffff17 50%,#ffffff0e 55%,#fff0 100%);height:26%;top:-26%}.sfx-grain{z-index:62;opacity:0;background-repeat:repeat;transition:opacity .45s}.sfx-vig{z-index:63;opacity:0;background:radial-gradient(110% 80%,#0000 52%,#000000b8 100%);transition:opacity .45s}.sfx-rain{z-index:55;width:100%;height:100%}.sfx-bolts{z-index:56;width:100%;height:100%}.sfx-flash{z-index:64;opacity:0;background:var(--sfx-flash)}.sfx-bolts g{stroke:var(--sfx-bolt);filter:drop-shadow(0 0 12px var(--sfx-bolt-near)) drop-shadow(0 0 30px var(--sfx-bolt-far))}[data-storm=on] .sfx-scan{opacity:calc(var(--sfx-i,.7) * .9)}[data-storm=on] .sfx-grain{opacity:calc(var(--sfx-i,.7) * .5);animation:.6s steps(6,end) infinite sfx-shift}[data-storm=on] .sfx-vig{opacity:1}[data-storm=on] .sfx-hum{opacity:1;animation:7s linear infinite sfx-roll}@keyframes sfx-roll{to{transform:translateY(500%)}}@keyframes sfx-shift{0%{background-position:0 0}17%{background-position:-14px 9px}34%{background-position:11px -13px}51%{background-position:-9px -7px}68%{background-position:15px 12px}85%{background-position:-12px 4px}}.sfx-glitch,.sfx-glitch>.sfx-src{pointer-events:none}.sfx-glitch{display:inline-block;position:relative}.sfx-glitch>.sfx-ghost{opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;position:absolute;inset:0}[data-storm=on] .sfx-glitch>.sfx-ghost{opacity:1}[data-storm=on] .sfx-glitch>.sfx-ghost-a{color:var(--sfx-red);mix-blend-mode:screen;animation:2.6s step-end infinite sfx-slice-a;transform:translate(-3px,1px)}[data-storm=on] .sfx-glitch>.sfx-ghost-b{color:var(--sfx-cyan);mix-blend-mode:screen;animation:3.1s step-end infinite sfx-slice-b;transform:translate(3px,-1px)}[data-storm=on] .sfx-glitch>.sfx-src{animation:4.2s step-end infinite sfx-jump}@keyframes sfx-slice-a{0%,92%{clip-path:inset(0 0 100%)}93%{clip-path:inset(14% 0 62%);transform:translate(-11px)}95%{clip-path:inset(48% 0 34%);transform:translate(8px)}97%{clip-path:inset(72% 0 8%);transform:translate(-5px)}99%{clip-path:inset(0 0 100%)}}@keyframes sfx-slice-b{0%,88%{clip-path:inset(0 0 100%)}89%{clip-path:inset(30% 0 52%);transform:translate(13px)}92%{clip-path:inset(60% 0 22%);transform:translate(-9px)}95%{clip-path:inset(0 0 100%)}}@keyframes sfx-jump{0%,95%{transform:translate(0)}96%{transform:translate(-4px,2px)}97%{transform:translate(3px,-2px)}98%{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.sfx-layer,.sfx-glitch>*{transition:none!important;animation:none!important}[data-storm=on] .sfx-hum{opacity:0}}
