@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0e14;--bg-surface: #12161e;--bg-elevated: #171c26;--bg-hover: #1a2030;--border: #242d3d;--border-subtle: #1c2433;--text: #d4dce8;--text-bright: #edf2f7;--text-muted: #6b7a90;--accent: #6eb4ff;--accent-hover: #93c9ff;--accent-dim: rgba(110, 180, 255, .08);--accent-glow: rgba(110, 180, 255, .15);--green: #4ae68a;--green-dim: rgba(74, 230, 138, .1);--yellow: #f0c761;--yellow-dim: rgba(240, 199, 97, .1);--red: #f76c6c;--red-dim: rgba(247, 108, 108, .1);--purple: #c084fc;--purple-dim: rgba(192, 132, 252, .08);--font-mono: "IBM Plex Mono", "SF Mono", "Cascadia Code", monospace;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--max-width: 1100px;--radius: 10px;--radius-sm: 6px;--transition: .2s cubic-bezier(.25, .46, .45, .94)}html{color-scheme:dark;height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;height:100%;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-elevated);padding:.15em .45em;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.loading{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--text-muted);font-size:1rem;font-family:var(--font-mono);letter-spacing:.02em}.loading:after{content:"";display:inline-block;width:3px;height:1.1em;background:var(--accent);margin-left:.4em;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}
