@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--primary:#06f;--primary-hover:#0052cc;--primary-light:#e6f0ff;--primary-50:#0066ff14;--accent-teal:#06b6d4;--accent-violet:#7c3aed;--accent-emerald:#10b981;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--bg:#fafbfd;--bg-alt:#f1f5f9;--surface:#fff;--surface-hover:#f8fafc;--border:#e2e8f0;--border-subtle:#f1f5f9;--text:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#fff;--success:#10b981;--success-bg:#ecfdf5;--warning:#f59e0b;--warning-bg:#fffbeb;--error:#ef4444;--error-bg:#fef2f2;--info:#3b82f6;--info-bg:#eff6ff;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-md:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000d;--shadow-lg:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-glow:0 0 0 3px #0066ff1f;--transition-fast:.15s ease;--transition:.2s ease;--transition-slow:.3s ease;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);min-height:100vh;line-height:1.6}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-hover)}img{max-width:100%;display:block}button{cursor:pointer;font-family:var(--font-sans)}code{font-family:var(--font-mono);background:var(--bg-alt);border-radius:var(--radius-sm);padding:2px 6px;font-size:.875em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.container-narrow{max-width:800px;margin:0 auto;padding:0 24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), transform var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn{border-radius:var(--radius);transition:all var(--transition);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;line-height:1.4;display:inline-flex}.btn-primary{background:var(--primary);color:var(--text-inverse);box-shadow:0 1px 3px #0066ff4d}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0066ff59}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-alt);border-color:var(--text-muted)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-alt);color:var(--text)}.btn-lg{border-radius:var(--radius-lg);padding:14px 28px;font-size:15px}.btn-sm{border-radius:var(--radius-sm);padding:6px 14px;font-size:13px}.badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-error{background:var(--error-bg);color:var(--error)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:var(--bg-alt);color:var(--text-muted)}.input{width:100%;font-size:14px;font-family:var(--font-sans);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:10px 14px}.input:focus{border-color:var(--primary);box-shadow:var(--shadow-glow)}.input::placeholder{color:var(--text-muted)}.label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:.5s forwards fadeIn}.animate-slide-up{animation:.6s forwards slideUp}.stagger>*{opacity:0;animation:.5s forwards fadeIn}.stagger>:first-child{animation-delay:50ms}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.15s}.stagger>:nth-child(4){animation-delay:.2s}.stagger>:nth-child(5){animation-delay:.25s}.stagger>:nth-child(6){animation-delay:.3s}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast{background:var(--text);color:var(--text-inverse);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:9999;padding:12px 20px;font-size:14px;font-weight:600;animation:.3s slideUp;position:fixed;bottom:24px;right:24px}
