:root { color-scheme: light dark; --bg: #fff; --fg: #111; --muted: #555; --accent: #0b57d0; --border: #767676; --err: #b00020; }
@media (prefers-color-scheme: dark) {
  :root { --bg: #121212; --fg: #f2f2f2; --muted: #b0b0b0; --accent: #8ab4f8; --border: #8a8a8a; --err: #ff8a80; }
}
* { box-sizing: border-box; }
body { margin: 0; font: 18px/1.5 system-ui, sans-serif; background: var(--bg); color: var(--fg); }
main { max-width: 26rem; margin: 0 auto; padding: 1.5rem 1rem; }
h1 { font-size: 1.5rem; }
label { display: block; margin-top: 1rem; font-weight: 600; }
input { width: 100%; padding: .75rem; font: inherit; color: inherit; background: var(--bg); border: 2px solid var(--border); border-radius: .5rem; }
button { width: 100%; margin-top: 1rem; padding: .85rem; font: inherit; font-weight: 600; border: 0; border-radius: .5rem; background: var(--accent); color: var(--bg); }
button:disabled { background: transparent; color: var(--muted); border: 2px solid var(--border); }
a { color: var(--accent); }
.error { color: var(--err); font-weight: 600; }
.card { border: 2px solid var(--border); border-radius: .75rem; padding: 0 1rem 1rem; margin: 1rem 0; }
.switch { display: flex; align-items: center; gap: .75rem; font-size: 1.15rem; }
.switch input { width: 3rem; height: 3rem; margin: 0; }
.topnav { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; max-width: 26rem; margin: 0 auto; padding: .75rem 1rem 0; }
.topnav form { margin-left: auto; }
.topnav button { width: auto; margin: 0; padding: .4rem .9rem; }
