:root { --bg:#f6f1ea; --card:#ffffff; --text:#2b2a33; --muted:#7d7a88; --accent:#2a9d8f; --accent-dark:#1f7a6f; --bad:#d1495b; --line:#d9d4cc; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#16151a; --card:#211f27; --text:#ecebf1; --muted:#9a97a8; --accent:#4fc3b4; --accent-dark:#7fd6ca; --bad:#ff7b8c; --line:#3a3744; }
}
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--bg); color:var(--text); font:17px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; }
main { background:var(--card); border-radius:18px; padding:32px 28px; width:100%; max-width:420px; margin:16px; box-shadow:0 6px 24px rgba(0,0,0,.08); }
.brand { text-align:center; font-weight:700; color:var(--accent-dark); letter-spacing:.02em; margin:0 0 14px; font-size:15px; }
h1 { font-size:24px; margin:0 0 10px; text-align:center; }
p { margin:0 0 14px; color:var(--muted); text-align:center; }
label { display:block; font-size:15px; color:var(--muted); margin:12px 0 4px; }
input { width:100%; font:inherit; padding:12px; border-radius:10px; border:1px solid var(--line); background:transparent; color:var(--text); }
button { width:100%; margin-top:18px; font:inherit; font-weight:600; padding:13px; border:0; border-radius:12px; background:var(--accent); color:#fff; cursor:pointer; }
button:disabled { opacity:.6; cursor:default; }
#msg { margin:14px 0 0; min-height:1.4em; color:var(--bad); text-align:center; }
.ok h1 { color:var(--accent); }
.bad h1 { color:var(--bad); }
noscript p { color:var(--bad); }

/* Long-form pages (privacy policy, support) */
body.doc-page { align-items:flex-start; }
main.doc { max-width:720px; text-align:left; margin:24px 16px 48px; }
main.doc .brand { text-align:left; }
main.doc .brand a { color:inherit; text-decoration:none; }
main.doc h1 { text-align:left; font-size:28px; }
main.doc h2 { font-size:20px; margin:28px 0 8px; }
main.doc h3 { font-size:17px; margin:18px 0 6px; }
main.doc p, main.doc li { color:var(--text); text-align:left; }
main.doc ul { margin:0 0 14px; padding-left:22px; }
main.doc li { margin:0 0 6px; }
main.doc a { color:var(--accent-dark); }
main.doc .meta { color:var(--muted); font-size:15px; }
main.doc .footer { margin-top:32px; color:var(--muted); font-size:15px; }
