:root { --bg: #f6f7f9; --card: #ffffff; --ink: #1d2330; --muted: #5b6475; --accent: #2457d6; --ok: #1e7a46; --err: #b42318; --line: #e6e8ec; }
@media (prefers-color-scheme: dark) {
  :root { --bg: #0f1218; --card: #171b23; --ink: #e8ebf1; --muted: #9aa3b5; --accent: #7aa2ff; --ok: #5fd08b; --err: #ff8a80; --line: #262c38; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.55 -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
main { max-width: 640px; margin: 0 auto; padding: 32px 16px 64px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 24px; }
h1 { font-size: 1.4rem; margin: 0 0 12px; }
h2 { font-size: 1.05rem; margin: 28px 0 8px; }
p, li { color: var(--ink); }
.muted { color: var(--muted); font-size: 0.9rem; }
button { font: inherit; font-weight: 600; padding: 10px 18px; border-radius: 6px; border: 0; background: var(--accent); color: #fff; cursor: pointer; }
button[disabled] { opacity: 0.6; cursor: default; }
.ok { color: var(--ok); } .err { color: var(--err); }
.banner { border: 1px dashed var(--muted); border-radius: 8px; padding: 10px 14px; margin: 0 0 20px; font-size: 0.9rem; color: var(--muted); }
a { color: var(--accent); }
