:root{--bg-primary:#0b0f19;--bg-secondary:#111827;--bg-card:#151d30;--bg-card-hover:#1a243d;--bg-card-subtle:#182238;--border-subtle:#ffffff14;--border-focus:#6366f180;--accent-primary:#6366f1;--accent-primary-hover:#4f46e5;--accent-primary-light:#6366f11f;--accent-cyan:#38bdf8;--accent-emerald:#10b981;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--text-main:#f8fafc;--text-body:#cbd5e1;--text-muted:#94a3b8;--text-faint:#64748b;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--shadow-card:0 4px 20px #00000040;--shadow-elevated:0 10px 30px #00000059}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}h1,h2,h3,h4,h5,h6{color:var(--text-main);letter-spacing:-.02em;font-weight:700}button{cursor:pointer;background:0 0;border:none;font-family:inherit;transition:all .18s}.badge{letter-spacing:.2px;border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-indigo{color:#a5b4fc;background:#6366f11f;border:1px solid #6366f140}.badge-cyan{color:#7dd3fc;background:#38bdf81a;border:1px solid #38bdf833}.badge-emerald{color:#6ee7b7;background:#10b9811a;border:1px solid #10b98138}.badge-amber{color:#fcd34d;background:#f59e0b1a;border:1px solid #f59e0b38}.badge-muted{color:#94a3b8;background:#ffffff0d;border:1px solid #ffffff14}pre,code{font-family:var(--font-mono)}.code-container{border-radius:var(--radius-md);color:#e2e8f0;background:#090d16;border:1px solid #ffffff14;padding:14px 16px;font-size:13.5px;line-height:1.65;overflow-x:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.2s cubic-bezier(.16,1,.3,1) forwards fadeIn}
