:root{--radius:12px;--on-accent:#fff;--danger:#dc2626;--danger-hover:#b91c1c;--success:#16a34a;--success-hover:#15803d;--warn:#b45309;--warn-bg:#fef3c7;--warn-border:#f59e0b}:root,[data-palette=slate]{--bg:#f8fafc;--surface:#fff;--surface-2:#f1f5f9;--text:#0f172a;--text-2:#64748b;--border:#e2e8f0;--accent:#2563eb;--accent-hover:#1d4ed8}[data-palette=slate][data-mode=dark]{--bg:#0f172a;--surface:#1e293b;--surface-2:#172033;--text:#e2e8f0;--text-2:#94a3b8;--border:#334155;--accent:#3b82f6;--accent-hover:#60a5fa}[data-palette=graphite]{--bg:#f1f5f9;--surface:#fff;--surface-2:#eef2f6;--text:#0f172a;--text-2:#5b6b7b;--border:#dbe3ea;--accent:#0ea5e9;--accent-hover:#0284c7}[data-palette=graphite][data-mode=dark]{--bg:#0b1220;--surface:#111a2b;--surface-2:#0e1626;--text:#e5edf5;--text-2:#8fa3b8;--border:#20304a;--accent:#38bdf8;--accent-hover:#7dd3fc}[data-palette=steel]{--bg:#f4f6f8;--surface:#fff;--surface-2:#eef1f4;--text:#1f2937;--text-2:#6b7280;--border:#e2e6ea;--accent:#3b82f6;--accent-hover:#2563eb}[data-palette=steel][data-mode=dark]{--bg:#14181f;--surface:#1c222b;--surface-2:#171c24;--text:#d7dde4;--text-2:#9aa5b1;--border:#2b333d;--accent:#60a5fa;--accent-hover:#93c5fd}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;transition:background .2s ease,color .2s ease}body,h1,h2,h3,h4{color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}p{color:var(--text)}code{background:var(--surface-2);padding:1px 5px;border-radius:5px}input,select,textarea{font-size:16px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--text-2)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.btn{font-size:15px;padding:10px 16px;border:0;border-radius:8px;background:var(--accent);color:var(--on-accent);cursor:pointer}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.6;cursor:default}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:var(--success-hover)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}a.card{color:inherit;transition:border-color .15s,box-shadow .15s}a.card:hover{border-color:var(--accent);text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.08)}.panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.muted{color:var(--text-2)}.badge{background:var(--danger);color:#fff;border-radius:12px;padding:1px 9px;font-size:13px;font-weight:600}.badge-warn{background:var(--warn-bg);color:var(--warn);border-radius:6px;padding:1px 6px;font-size:11px}table{border-collapse:collapse;width:100%}th{text-align:left;border-bottom:2px solid var(--border);color:var(--text-2);font-weight:600}td{border-bottom:1px solid var(--border)}.container{max-width:760px;margin:0 auto;padding:16px}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.appbar,.brand{align-items:center}.brand{color:var(--accent);font-weight:800;letter-spacing:1px;font-size:18px;display:inline-flex;gap:8px}@media (max-width:640px){.btn,input,select,textarea{font-size:16px}.container{padding:12px}button{min-height:40px}}