:root {
  --bg: #f6f5f2; --surface: #ffffff; --text: #24231f;
  --text-muted: #6b6b64; --border: #e2e0d8; --accent: #8b5a2b;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #1b1b1d; --surface: #242426; --text: #eeeeec;
    --text-muted: #a3a29c; --border: #38383a; --accent: #c6904f;
  }
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--text); }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px;
}
.card {
  background: var(--surface); border: 1px solid var(--border); border-radius: 14px;
  padding: 28px 24px; max-width: 380px; width: 100%;
}
h1 { font-size: 1.3rem; color: var(--accent); margin: 0 0 4px; text-align: center; }
p.sub { font-size: 0.85rem; color: var(--text-muted); margin: 0 0 24px; text-align: center; }
form { display: flex; flex-direction: column; gap: 6px; }
label { font-size: 0.85rem; color: var(--text-muted); margin-top: 12px; }
input {
  border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px;
  font-size: 1rem; background: var(--bg); color: var(--text);
}
.hint { font-size: 0.78rem; color: var(--text-muted); margin: 2px 0 0; min-height: 1.1em; }
button {
  background: var(--accent); color: #fff; border: none; border-radius: 10px;
  padding: 13px; font-size: 0.95rem; font-weight: 600; cursor: pointer; margin-top: 20px;
}
button:disabled { opacity: 0.6; cursor: default; }
#status { min-height: 1.2em; font-size: 0.85rem; margin-top: 14px; text-align: center; }
#status.error { color: #c0564d; }
#status.ok { color: #4a7c59; }
