:root { color-scheme: light dark; font-family: system-ui, -apple-system, sans-serif; color: #18181b; background: #f6f7f9; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100dvh; display: grid; place-items: center; padding: 24px; }
main { width: 100%; max-width: 400px; padding: 28px; border: 1px solid #e4e4e7; border-radius: 16px; background: #fff; }
h1 { margin: 0; font-size: 24px; font-weight: 600; letter-spacing: -.025em; }
p { margin: 8px 0 24px; font-size: 14px; color: #71717a; }
form { display: grid; gap: 12px; }
label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
input, button { font: inherit; font-size: 16px; min-height: 44px; border-radius: 8px; }
input { width: 100%; min-width: 0; padding: 10px 12px; color: inherit; background: transparent; border: 1px solid #d4d4d8; }
input:focus { outline: 2px solid #4974ab; outline-offset: 2px; }
button { border: 0; background: #4974ab; color: #fff; font-weight: 500; cursor: pointer; }
button:disabled { opacity: .5; cursor: wait; }
#error { margin: 0; color: #c93446; font-size: 13px; overflow-wrap: anywhere; }
#error:empty { display: none; }
.hint { margin: 20px 0 0; font-size: 12px; overflow-wrap: anywhere; }
@media (prefers-color-scheme: dark) {
  :root { color: #e8e8ed; background: #09090b; }
  main { border-color: #27272a; background: #111113; }
  input { border-color: #3f3f46; }
  p { color: #a1a1aa; }
  #error { color: #fb7185; }
}
