@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes flicker{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:pulseGlow 1.5s infinite}.animate-fade{animation:fadeIn .5s ease forwards}.animate-slide{animation:slideIn .4s ease forwards}.animate-flicker{animation:flicker 1s infinite}:root{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-card: #000000;--text-primary: #ffffff;--text-secondary: #94a3b8;--border: #1e293b;--green: #22c55e;--red: #ef4444;--blue: #3b82f6}*{box-sizing:border-box;margin:0;padding:0}body{background:#000;color:#e6edf3;font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-family:Inter,sans-serif}button:hover{background:#1e293b}pre,code{font-family:JetBrains Mono,monospace}.app-root{width:100%;height:100vh;overflow:hidden}.glass-panel{background:#0f172a99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.15);border-radius:12px}.button-primary{background:linear-gradient(90deg,#3ba4f7,#00e0ff);border:none;color:#020617;padding:8px 16px;border-radius:8px;box-shadow:0 0 15px #3ba4f780;transition:all .2s ease}.button-primary:hover{transform:translateY(-1px);box-shadow:0 0 25px #00e0ffb3}@keyframes pulseGlow{0%{box-shadow:0 0 10px #38bdf833}50%{box-shadow:0 0 25px #38bdf899}to{box-shadow:0 0 10px #38bdf833}}.node-active{animation:pulseGlow 1.5s infinite}@keyframes float{0%{transform:translateY(0) perspective(600px) rotateY(0) rotateX(0)}50%{transform:translateY(-8px) perspective(600px) rotateY(2deg) rotateX(2deg)}to{transform:translateY(0) perspective(600px) rotateY(0) rotateX(0)}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes tapCard{0%{transform:translate(-50%) translateY(200%);opacity:0}20%{transform:translate(-50%) translateY(0);opacity:1}80%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(200%);opacity:0}}
