.fx-topographic{font:600 28px/1.15 "JetBrains Mono",monospace;letter-spacing:.1em;color:transparent;background:repeating-radial-gradient(ellipse at 30% 55%,var(--ink) 0 1px,transparent 1px 7px),repeating-radial-gradient(ellipse at 78% 35%,var(--ink-3) 0 1px,transparent 1px 8px);background-size:130px 70px,170px 80px;background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--ink-3) 25%,transparent));animation:fx-topographic 5s linear infinite}@keyframes fx-topographic{to{background-position:130px 0,-170px 0}}
.fx-signal{position:relative;font:600 30px/1.1 "JetBrains Mono",monospace;letter-spacing:.1em;color:var(--ink);animation:fx-signal 2s steps(1) infinite}.fx-signal::before,.fx-signal::after{content:attr(data-text);position:absolute;inset:0}.fx-signal::before{color:var(--ink-2);clip-path:inset(0 0 58%);animation:fx-signal-a 2s steps(1) infinite}.fx-signal::after{color:var(--ink-3);clip-path:inset(42% 0 0);animation:fx-signal-b 2s steps(1) infinite}@keyframes fx-signal{0%,21%,47%,100%{filter:none}22%,24%{filter:blur(.8px) contrast(1.4)}}@keyframes fx-signal-a{0%,20%,52%,100%{transform:none;opacity:.15}23%{transform:translate(-8px,-1px);opacity:.9}54%{transform:translate(5px,2px);opacity:.7}}@keyframes fx-signal-b{0%,24%,58%,100%{transform:none;opacity:.12}27%{transform:translate(8px,1px);opacity:.86}60%{transform:translate(-5px,-2px);opacity:.72}}
.fx-portal{position:relative;font:600 34px/1.05 "JetBrains Mono",monospace;letter-spacing:.12em;color:transparent;background:conic-gradient(from 0deg,var(--ink-2),var(--ink),var(--ink-3),var(--ink-2));background-clip:text;-webkit-background-clip:text;animation:fx-portal 3.6s linear infinite}.fx-portal::after{content:attr(data-text);position:absolute;inset:0;color:transparent;background:radial-gradient(circle,transparent 0 30%,#fff 34% 36%,transparent 40%);background-clip:text;-webkit-background-clip:text;opacity:.72;animation:fx-portal-pulse 1.8s ease-in-out infinite}@keyframes fx-portal{to{filter:hue-rotate(360deg);transform:rotate(.001deg)}}@keyframes fx-portal-pulse{0%,100%{transform:scale(.92);opacity:.24}50%{transform:scale(1.08);opacity:.8}}
.fx-tiltshift{position:relative;font:600 32px/1.1 "JetBrains Mono",monospace;letter-spacing:.1em;color:color-mix(in srgb,var(--ink) 28%,transparent);filter:blur(2px)}.fx-tiltshift::before,.fx-tiltshift::after{content:attr(data-text);position:absolute;inset:0}.fx-tiltshift::before{color:var(--ink);filter:blur(0);clip-path:inset(32% 0);animation:fx-tiltshift 2.8s ease-in-out infinite alternate}.fx-tiltshift::after{color:var(--ink-3);opacity:.3;filter:blur(6px)}@keyframes fx-tiltshift{0%{clip-path:inset(0 0 64%);transform:translateY(-2px)}100%{clip-path:inset(64% 0 0);transform:translateY(2px)}}
.fx-duotone{position:relative;font:600 38px/1.05 "JetBrains Mono",monospace;letter-spacing:.1em;color:var(--ink)}.fx-duotone::before,.fx-duotone::after{content:attr(data-text);position:absolute;inset:0;mix-blend-mode:screen}.fx-duotone::before{color:var(--ink-2);animation:fx-duotone-a 2.6s ease-in-out infinite}.fx-duotone::after{color:var(--ink-3);animation:fx-duotone-b 2.6s ease-in-out infinite}@keyframes fx-duotone-a{0%,100%{transform:translate(-3px);opacity:.42}50%{transform:translate(-9px,-3px);opacity:.8}}@keyframes fx-duotone-b{0%,100%{transform:translate(3px);opacity:.42}50%{transform:translate(9px,3px);opacity:.8}}
.fx-glyphrain{font:600 28px/1.1 "JetBrains Mono",monospace;letter-spacing:.08em;color:var(--ink);display:inline-flex}.fx-glyphrain b{font-weight:inherit;display:inline-block;text-shadow:0 -12px 0 color-mix(in srgb,var(--ink-3) 45%,transparent),0 -24px 0 color-mix(in srgb,var(--ink-2) 28%,transparent);animation:fx-glyphrain 2.4s cubic-bezier(.25,.8,.25,1) infinite;animation-delay:calc(var(--i)*.12s)}.fx-glyphrain b:nth-child(2n){color:var(--ink-3)}@keyframes fx-glyphrain{0%,100%{transform:translateY(0);opacity:1}38%{transform:translateY(22px);opacity:.22}64%{transform:translateY(-10px);opacity:.75}}
