@tailwind base;@tailwind components;@tailwind utilities;:root{--bg:#0a0a0f;--bg-card:#12121a;--bg-elevated:#1a1a26;--border:#2a2a3d;--border-focus:#f59e0b;--text-primary:#f0f0f8;--text-secondary:#8888a8;--text-muted:#55556a;--accent:#f59e0b;--accent-hover:#fbbf24;--accent-dim:rgba(245,158,11,.12);--success:#10b981;--success-dim:rgba(16,185,129,.12);--error:#ef4444;--error-dim:rgba(239,68,68,.12);--warning:#f97316;--font-display:"Syne",sans-serif;--font-body:"DM Sans",sans-serif;--radius:10px;--radius-lg:16px}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:15px;line-height:1.6;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent-dim);color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.font-display{font-family:var(--font-display)}.card{background:var(--bg-card)}.card,.card-elevated{border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.card-elevated{background:var(--bg-elevated)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--accent);color:#0a0a0f;font-family:var(--font-body);font-weight:600;font-size:.875rem;padding:.625rem 1.25rem;border-radius:var(--radius);border:none;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-body);font-weight:500;font-size:.875rem;padding:.625rem 1.25rem;border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;transition:border-color .15s,background .15s}.btn-secondary:hover{border-color:var(--accent);background:var(--accent-dim)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;gap:.4rem;background:none;color:var(--text-secondary);font-size:.875rem;padding:.5rem .75rem;border-radius:var(--radius);border:none;cursor:pointer;transition:color .15s,background .15s}.btn-ghost:hover,.input{color:var(--text-primary);background:var(--bg-elevated)}.input{width:100%;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:.9rem;padding:.625rem .875rem;transition:border-color .15s;outline:none}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-muted)}.label{display:block;font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.badge,.label{font-weight:600}.badge{display:inline-flex;align-items:center;font-size:.75rem;padding:.2rem .6rem;border-radius:999px}.badge-success{background:var(--success-dim);color:var(--success)}.badge-error{background:var(--error-dim);color:var(--error)}.badge-warning{background:rgba(249,115,22,.12);color:var(--warning)}.badge-neutral{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .3s ease forwards}@keyframes spin{to{transform:rotate(1turn)}}.spinner{width:18px;height:18px;border:2px solid rgba(245,158,11,.3);border-top:2px solid var(--accent);border-radius:50%;animation:spin .7s linear infinite}