:root { color-scheme: light dark; font-family: system-ui, sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100dvh; display: grid; place-items: center; padding: 24px; background: #eff3f4; color: #17282e; }
main { width: min(100%, 420px); padding: 32px; background: #fff; border: 1px solid #cdd8db; border-radius: 12px; box-shadow: 0 12px 40px #17313b0d; }
.eyebrow { margin: 0; font-size: 13px; color: #285e69; font-weight: 650; }
h1 { margin: 12px 0 8px; font-size: 28px; }
p { line-height: 1.5; }
form { display: grid; gap: 10px; margin-top: 24px; }
label { font-size: 14px; font-weight: 600; }
input, button { font: inherit; min-width: 0; border-radius: 6px; padding: 11px 12px; }
input { width: 100%; border: 1px solid #8eaaaf; background: #fff; color: #17282e; margin-bottom: 8px; }
input:focus-visible, button:focus-visible { outline: 3px solid #57bcc9; outline-offset: 2px; }
button { border: 0; background: #116472; color: #fff; font-weight: 650; cursor: pointer; }
button:disabled { opacity: .65; cursor: wait; }
.note { margin: 24px 0 0; font-size: 13px; color: #52656a; }
#login-error { margin: 4px 0 0; color: #a82b31; }
[hidden] { display: none; }
@media (prefers-color-scheme: dark) {
  body { background: #0e1c22; color: #e8f1f3; }
  main { background: #172a32; border-color: #3e5862; }
  .eyebrow { color: #8cdae4; }
  input { background: #0e1c22; color: #e8f1f3; border-color: #638995; }
  button { background: #86d8e2; color: #10272e; }
  .note { color: #b3c9d0; }
  #login-error { color: #ffb2b5; }
}
