:root{color-scheme:light dark;--bg: #f6f7f9;--panel: #fff;--line: #e3e6ea;--text: #1d2330;--muted: #6b7280;--accent: #2563eb;--bad: #dc2626}@media(prefers-color-scheme:dark){:root{--bg: #0f1218;--panel: #171b23;--line: #2a303b;--text: #e5e7eb;--muted: #9aa3b2;--accent: #60a5fa;--bad: #f87171}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}app-root{display:block;padding:3rem 1rem}.card{max-width:400px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1.5rem}h1{font-size:1.3rem;margin:0 0 1rem}.muted{color:var(--muted)}form{display:flex;flex-direction:column;gap:.4rem}label{font-size:.9rem;margin-top:.3rem}input{font:inherit;padding:.5rem .6rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:inherit}button,a.button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;padding:.5rem .9rem;cursor:pointer;text-align:center;text-decoration:none}form button{margin-top:.8rem}a.button{display:block}button:disabled,a.button.disabled{opacity:.5;cursor:default;pointer-events:none}button.ghost,a.button.ghost{background:transparent;color:var(--accent)}button.link{border:none;background:none;color:var(--accent);padding:0;text-decoration:underline}.or{text-align:center;color:var(--muted);margin:.8rem 0}.switch{margin:1rem 0 0;font-size:.9rem;text-align:center}.alert{padding:.6rem .8rem;border-radius:6px;margin:0 0 1rem}.alert.error{background:#ef444422;color:var(--bad)}.alert.warn{background:#f59e0b22;color:#b45309}.alert p{margin:0 0 .5rem}.alert.info{background:#3b82f622;color:var(--accent)}
