.fx-terminal{--bg:#ffffff;--desk:#eef1f6;--panel:#f7f8fb;--card:#ffffff;--border:#e3e7ee;--border-strong:#d7dde8;--row-divider:#eceff4;--row-hover:#f2f5fa;--text:#111827;--text-2:#5b6779;--text-3:#8a94a6;--pos:#3764fb;--pos-bg:#eef3ff;--pos-border:#c3d5ff;--warn:#00875a;--warn-bg:#edfaf4;--warn-border:#b7e6d2;--accent:#2f6bff;--neg:#ff5c5c;--pos-fill:rgba(55,100,251,0.10);--glass:rgba(255,255,255,0.72);--shell-shadow:0 1px 2px rgba(16,24,40,0.04),0 12px 32px rgba(16,24,40,0.06);--hero-glow:radial-gradient(ellipse 80% 60% at 20% 0%,rgba(47,107,255,0.08),transparent);--saving-gradient:linear-gradient(90deg,rgba(0,135,90,0.12),rgba(0,135,90,0.03));--cta-gradient:linear-gradient(90deg,#00d0ff,#2f6bff);background:var(--desk);color:var(--text);font-family:var(--font-grotesk),ui-sans-serif,sans-serif}.dark .fx-terminal{--bg:#0b0f17;--desk:#070a10;--panel:#0d1220;--card:#101828;--border:#1e2a3d;--border-strong:#22314a;--row-divider:#131c2e;--row-hover:#101a2e;--text:#e8eef7;--text-2:#7d8ca3;--text-3:#4d5b73;--pos:#5b9cff;--pos-bg:#0e1524;--pos-border:#1f3560;--warn:#00e5a0;--warn-bg:#0f1a14;--warn-border:#1b3a2c;--accent:#2f6bff;--neg:#ff5c5c;--pos-fill:rgba(91,156,255,0.10);--glass:rgba(11,15,23,0.62);--shell-shadow:none;--hero-glow:radial-gradient(ellipse 80% 60% at 20% 0%,rgba(47,107,255,0.12),transparent);--saving-gradient:linear-gradient(90deg,rgba(0,229,160,0.14),rgba(0,229,160,0.04))}.fx-mono{font-family:var(--font-plex-mono),ui-monospace,monospace;font-variant-numeric:tabular-nums}.fx-terminal :is(a,button,input,select):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fx-terminal .ticker-track{width:-moz-max-content;width:max-content;animation:fx-ticker-scroll 40s linear infinite}.fx-terminal .ticker-viewport:hover .ticker-track{animation-play-state:paused}@media (max-width:899px){.fx-terminal .ticker-track{animation-duration:30s}}@keyframes fx-ticker-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.fx-terminal .ticker-track{animation:none}}.fx-spark-line{stroke:var(--pos)}.fx-spark-fill{fill:var(--pos-fill)}