*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0f;--bg-elevated: #0f0f17;--surface: #14141f;--surface2: #1c1c2a;--surface3: #242438;--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .12);--accent: #8b5cf6;--accent-2: #ec4899;--accent-3: #f59e0b;--accent-hover: #a78bfa;--accent-dim: rgba(139, 92, 246, .15);--accent-glow: rgba(139, 92, 246, .35);--gradient: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);--gradient-full: linear-gradient(135deg, #8b5cf6 0%, #ec4899 50%, #f59e0b 100%);--text: #f1f5f9;--text-muted: #94a3b8;--text-dim: #64748b;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--radius: 14px;--radius-sm: 10px;--shadow: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 8px 32px rgba(139, 92, 246, .25)}body{background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.6;min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}button{cursor:pointer;border:none;font-family:inherit;font-size:14px;font-weight:500;border-radius:var(--radius-sm);transition:all .15s ease}input,textarea{font-family:inherit;font-size:14px;background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);outline:none;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--accent)}.btn-primary{background:var(--gradient);color:#fff;padding:11px 22px;font-weight:600;box-shadow:0 8px 24px #8b5cf64d;transition:all .2s ease}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 32px #8b5cf673}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:#ffffff0a;color:var(--text-muted);padding:8px 14px;border:1px solid var(--border);transition:all .2s ease}.btn-ghost:hover{background:#ffffff14;color:var(--text);border-color:var(--border-strong)}.btn-danger{background:transparent;color:var(--danger);padding:6px 10px;border:1px solid transparent}.btn-danger:hover{background:#ef44441a;border-color:var(--danger)}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 11px;border-radius:99px;font-size:12px;font-weight:600;background:var(--accent-dim);color:var(--accent-hover);border:1px solid rgba(139,92,246,.3)}body{background:var(--bg);background-image:radial-gradient(circle at 20% 20%,rgba(139,92,246,.04),transparent 40%),radial-gradient(circle at 80% 80%,rgba(236,72,153,.04),transparent 40%)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#fff3}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.prose p{margin-bottom:10px}.prose strong{color:var(--text);font-weight:600}.prose ul,.prose ol{padding-left:20px;margin-bottom:10px}.prose li{margin-bottom:4px}.prose code{background:var(--surface);padding:1px 6px;border-radius:4px;font-size:13px;font-family:JetBrains Mono,Fira Code,monospace}.landing-page{scroll-behavior:smooth}.glass{background:#1a1d2e80;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px}.grad-text{background:linear-gradient(135deg,#60a5fa,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.shimmer-btn{background:linear-gradient(90deg,var(--accent),var(--accent-hover),var(--accent));background-size:200% 100%;animation:shimmer 3s infinite}@keyframes shimmer{0%,to{background-position:0% center}50%{background-position:100% center}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.anim-fade-up{animation:fadeUp .8s ease-out forwards;opacity:0}.anim-slide-right{animation:slideRight .8s ease-out forwards;opacity:0}.anim-float{animation:float 3s ease-in-out infinite}.d-0{animation-delay:0ms}.d-100{animation-delay:.1s}.d-200{animation-delay:.2s}.d-300{animation-delay:.3s}.d-400{animation-delay:.4s}.d-500{animation-delay:.5s}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}
