:root {
  color-scheme: light dark;
  font-family: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bg: #f4f1ea;
  --panel: #fffdf8;
  --text: #172028;
  --muted: #65717a;
  --line: #d9d4ca;
  --accent: #183d52;
  --danger: #a12e2e;
}
@media (prefers-color-scheme: dark) {
  :root { --bg:#0e151b; --panel:#151f27; --text:#eef3f5; --muted:#9facb5; --line:#30404b; --accent:#a9d8ee; --danger:#ff9d9d; }
}
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--text); display:grid; place-items:center; padding:24px; }
.auth-card { width:min(100%, 430px); background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:32px; box-shadow:0 18px 60px rgb(0 0 0 / .10); }
.eyebrow { margin:0 0 8px; text-transform:uppercase; letter-spacing:.13em; font-size:.74rem; font-weight:700; color:var(--muted); }
h1 { margin:0; font:800 clamp(2.2rem, 10vw, 3.5rem)/.95 "Big Shoulders Display", Impact, sans-serif; letter-spacing:.01em; }
.lede { color:var(--muted); line-height:1.55; margin:16px 0 26px; }
form { display:grid; gap:16px; }
label { display:grid; gap:7px; font-weight:650; font-size:.94rem; }
input { width:100%; min-height:46px; border:1px solid var(--line); border-radius:10px; background:transparent; color:var(--text); padding:10px 12px; font:inherit; }
input:focus { outline:2px solid var(--accent); outline-offset:2px; }
.hint { margin:-8px 0 0; color:var(--muted); font-size:.84rem; line-height:1.45; }
button { min-height:46px; border:0; border-radius:10px; background:var(--accent); color:var(--panel); font-size:1rem; font-weight:700; font-family:inherit; cursor:pointer; padding:10px 16px; }
@media (prefers-color-scheme: dark) { button { color:#0e151b; } }
button:disabled { opacity:.6; cursor:wait; }
.message { min-height:1.3em; margin:2px 0 0; color:var(--danger); font-size:.9rem; line-height:1.4; }
.security-note { border-top:1px solid var(--line); margin:24px 0 0; padding-top:18px; color:var(--muted); font-size:.82rem; line-height:1.5; }
[hidden] { display:none !important; }
button.secondary{margin-top:.65rem;background:transparent;color:var(--text);border:1px solid var(--border)}
