/* Login page: system fonts only, so nothing is fetched before the visitor is signed in. */
:root { --surface-100: #ffffff; --ink: #2b2828; --ink-muted: #474343; --brand: #ed836a; --brand-text: #b8462f; --on-brand: #230512; --line: #8c8c8c; }
@media (prefers-color-scheme: dark) { :root { --surface-100: #230512; --ink: #ffffff; --ink-muted: #8c8c8c; --brand-text: #ed836a; } }
* { box-sizing: border-box; margin: 0; padding: 0; }
body { min-height: 100vh; display: grid; place-items: center; padding: 16px; background: var(--surface-100); color: var(--ink); font-family: Georgia, "Times New Roman", serif; line-height: 1.5; }
main { width: 100%; max-width: 420px; }
.logo { height: 48px; width: auto; margin-bottom: 32px; display: block; }
.logo.dark-only { display: none; }
@media (prefers-color-scheme: dark) { .logo.light-only { display: none; } .logo.dark-only { display: block; } }
h1 { font-family: "Arial Black", Arial, sans-serif; font-size: 34px; line-height: 1.1; margin-bottom: 8px; }
h1 span { color: var(--brand); }
p { color: var(--ink-muted); margin-bottom: 24px; }
label { display: block; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 8px; }
input { width: 100%; font: inherit; padding: 12px; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--ink); }
input:focus-visible, button:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
button { margin-top: 16px; width: 100%; font: inherit; font-weight: 700; padding: 12px; border: 0; border-radius: 4px; background: var(--brand); color: var(--on-brand); cursor: pointer; }
.err { margin-top: 16px; padding-left: 8px; border-left: 4px solid var(--brand-text); color: var(--brand-text); font-size: 15px; }
.hidden { display: none; }
small { display: block; margin-top: 32px; color: var(--ink-muted); font-size: 13px; }
.btn { display: block; width: 100%; text-align: center; text-decoration: none; font-weight: 700; padding: 12px; border-radius: 4px; background: var(--brand); color: var(--on-brand); }
.btn:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
.note { margin-top: 12px; margin-bottom: 0; font-size: 13px; }
.or { text-align: center; margin: 24px 0 16px; }
