:root { color-scheme: light dark; }
* { box-sizing: border-box; margin: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: #101216; color: #e8eaed;
}
form {
  width: min(92vw, 360px); padding: 2rem; border-radius: 14px;
  background: #1a1d23; border: 1px solid #2a2e36;
  display: flex; flex-direction: column; gap: 0.9rem;
}
h1 { font-size: 1.15rem; font-weight: 600; }
p.sub { font-size: 0.85rem; color: #9aa0a6; }
label { font-size: 0.8rem; color: #9aa0a6; display: block; margin-bottom: 0.25rem; }
input {
  width: 100%; padding: 0.65rem 0.75rem; border-radius: 8px;
  border: 1px solid #3a3f48; background: #101216; color: #e8eaed; font-size: 1rem;
}
input:focus { outline: 2px solid #4b8bfa; border-color: transparent; }
button {
  padding: 0.7rem; border: 0; border-radius: 8px; background: #4b8bfa;
  color: #fff; font-size: 1rem; font-weight: 600; cursor: pointer;
}
button:disabled { opacity: 0.6; }
.error { color: #f28b82; font-size: 0.85rem; min-height: 1.1em; }
