:root{--bg:#16161d;--bg-soft:#1b1b24;--bg-card:#20202b;--bg-inset:#111118;--border:#32323f;--border-soft:#2a2a35;--text:#ecebf3;--text-muted:#9b98ad;--text-faint:#6d6a7e;--accent:#fbbf24;--accent-hover:#fcd34d;--accent-ink:#241a03;--accent-soft:#fbbf241f;--danger:#f87171;--danger-soft:#f871711f;--success:#4ade80;--success-soft:#4ade801f;--info:#7aa5f8;--radius:12px;--radius-sm:8px;--shadow:0 12px 32px #00000059;--font:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:radial-gradient(1100px 500px at 50% -10%, #fbbf240d, transparent 60%), var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.45}h1,h2,h3,p{margin:0}a{color:var(--accent)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:not-allowed;opacity:.5}.btn{border-radius:var(--radius-sm);background:var(--bg-soft);border:1px solid var(--border);color:var(--text);justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.95rem;font-weight:600;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-card);border-color:var(--text-faint)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-lg{border-radius:var(--radius);padding:.8rem 1.6rem;font-size:1.05rem}input,textarea,select{font:inherit;color:var(--text)}.input,input[type=text],textarea,select{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:.55rem .75rem;transition:border-color .12s}.input:focus,input[type=text]:focus,textarea:focus,select:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text-faint)}input[type=range]{accent-color:var(--accent)}.card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow)}.hint{color:var(--text-muted);font-size:.85rem}.error-text{color:var(--danger);font-size:.9rem}
