@font-face{font-family:"Newsreader HQ";src:url("/fonts/newsreader-latin-opsz-normal.woff2") format("woff2");font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:"Instrument HQ";src:url("/fonts/instrument-sans-latin-wght-normal.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
:root{color-scheme:light dark;--canvas:#f2ece2;--paper:#fffdf8;--ink:#241c1b;--muted:#5f524d;--line:#cbbcb0;--accent:#6e2539;--accent-strong:#54172a;--on-accent:#fff8f1;--focus:#2e4961;--danger:#983047}
@media (prefers-color-scheme:dark){:root{--canvas:#1c1716;--paper:#272120;--ink:#f4ece4;--muted:#c9bbb2;--line:#54463f;--accent:#e2a3b3;--accent-strong:#f0bccb;--on-accent:#2a0f18;--focus:#9cc0e0;--danger:#f19aac}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--canvas);color:var(--ink);font:17px/1.5 "Instrument HQ",system-ui,sans-serif}
.signin{max-width:440px;margin:0 auto;padding:32px 20px 48px;display:flex;flex-direction:column;gap:20px}
.brand{font:600 26px/1.2 "Newsreader HQ",Georgia,serif;color:var(--ink);text-decoration:none}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px 20px;display:flex;flex-direction:column;gap:14px}
.card[hidden]{display:none}
h1{font:600 28px/1.2 "Newsreader HQ",Georgia,serif;margin:0}
h1:focus{outline:none}
.lede{margin:0;color:var(--muted)}
form{display:flex;flex-direction:column;gap:8px}
form[hidden]{display:none}
label{font-weight:600;margin-top:6px}
input{font:inherit;font-size:18px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);width:100%}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border-radius:10px;font:600 17px/1.2 "Instrument HQ",system-ui,sans-serif;text-decoration:none;cursor:pointer;margin-top:8px}
.primary{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent)}
.primary:hover{background:var(--accent-strong)}
.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}
button[disabled]{opacity:.6;cursor:progress}
.link{background:none;border:0;padding:8px 0;min-height:44px;color:var(--accent);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.message{margin:4px 0 0;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--canvas)}
.message[role=alert]{border-color:var(--danger);color:var(--danger)}
.message[hidden]{display:none}
.hint{margin:0;color:var(--muted);font-size:15px}
.foot{text-align:center;color:var(--muted);font-size:15px;margin:0}
.foot a{color:inherit}
