@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Sora:wght@300;400;500;600;700;800&display=swap");:root{--bg-primary:#0a0e17;--bg-secondary:#111827;--bg-tertiary:#1a2234;--bg-card:#0d1321;--bg-code:#0c111b;--accent-red:#ff3e3e;--accent-red-glow:rgba(255,62,62,0.4);--accent-green:#00ff88;--accent-green-glow:rgba(0,255,136,0.3);--accent-blue:#00d4ff;--accent-blue-glow:rgba(0,212,255,0.3);--accent-yellow:#ffd600;--accent-orange:#ff7b00;--accent-purple:#a855f7;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--text-code:#7dd3fc;--border-subtle:rgba(148,163,184,0.1);--border-accent:rgba(0,212,255,0.3);--gradient-danger:linear-gradient(135deg,#ff3e3e,#ff7b00);--gradient-safe:linear-gradient(135deg,#00ff88,#00d4ff);--gradient-bg:radial-gradient(ellipse at top,#1a2234 0%,#0a0e17 50%,#050810 100%)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:Sora,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary)}body{background:var(--gradient-bg);background-attachment:fixed;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:var(--accent-blue);color:var(--bg-primary)}code,pre{font-family:JetBrains Mono,Fira Code,monospace}a{color:var(--accent-blue);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-green)}.glass{background:rgba(13,19,33,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle)}.glow-red{box-shadow:0 0 20px var(--accent-red-glow),0 0 40px var(--accent-red-glow)}.glow-green{box-shadow:0 0 20px var(--accent-green-glow),0 0 40px var(--accent-green-glow)}.glow-blue{box-shadow:0 0 20px var(--accent-blue-glow)}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}@keyframes scan-line{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.grid-pattern{background-image:linear-gradient(rgba(0,212,255,.03) 1px,transparent 0),linear-gradient(90deg,rgba(0,212,255,.03) 1px,transparent 0);background-size:50px 50px}