:root { color-scheme: light dark; font-family: system-ui, sans-serif; color: #2b323a; background: #f6f7f8; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100svh; display: grid; place-items: center; padding: 24px 16px; }
main { width: 100%; max-width: 430px; padding: 32px 24px; border-radius: 24px; background: #fff; }
.brand { font-size: 14px; font-weight: 650; margin: 16px 0 28px; }
h1 { font-size: clamp(25px, 6vw, 30px); line-height: 1.2; margin: 0 0 16px; }
p { line-height: 1.55; margin: 0 0 24px; }
label { display: block; font-weight: 600; margin-bottom: 8px; }
input, button { font: inherit; width: 100%; min-height: 52px; border-radius: 12px; padding: 12px 16px; }
input { color: inherit; background: transparent; border: 1px solid #8b929b; }
button { background: #ff6400; color: #171b20; border: 0; font-weight: 650; cursor: pointer; }
button:disabled { opacity: .65; cursor: wait; }
input:focus-visible, button:focus-visible { outline: 3px solid #2271b8; outline-offset: 3px; }
#error { color: #b42318; font-size: 14px; margin: 8px 0; min-height: 22px; }
.notice { font-size: 13px; color: #59616c; margin: 24px 0 0; }
@media (prefers-color-scheme: dark) {
  :root { color: #f3f4f5; background: #181b20; }
  main { background: #252b33; }
  .notice { color: #bdc3cc; }
  #error { color: #ffb4aa; }
}
