@font-face{font-family:"Plex Sans";src:url("fonts/IBMPlexSans-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Sans";src:url("fonts/IBMPlexSans-SemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Plex Condensed";src:url("fonts/IBMPlexSansCondensed-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Plex Mono";src:url("fonts/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
:root{--ground:#EDF0F3;--surface:#FFFFFF;--ink:#15202B;--muted:#5D6977;--line:#D3DAE2;--repo:#1D5C8A;--must:#93640F;--bad:#B42318;--bad-soft:#F8DCD9}
@media (prefers-color-scheme: dark){:root{color-scheme:dark;--ground:#0E141A;--surface:#151D25;--ink:#E3E9EF;--muted:#97A3B0;--line:#27323D;--repo:#7AB3DE;--must:#DDAB52;--bad:#F27A70;--bad-soft:#401C1A}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--ground);color:var(--ink);font:15px/1.55 "Plex Sans",system-ui,sans-serif;padding-inline:16px;padding-block:12vh 40px}
.gate{max-width:380px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--must);border-radius:8px;padding:28px 24px;display:grid;gap:12px}
.eyebrow{font:400 12px/1.3 "Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}
h1{font:700 30px/1.05 "Plex Condensed","Arial Narrow",sans-serif;margin:0}
.lede,.small{color:var(--muted);margin:0}
.small{font-size:12.5px}
form{display:grid;gap:6px;margin-top:4px}
label{font-weight:600;font-size:13px;margin-top:6px}
input{font:inherit;color:var(--ink);background:var(--ground);border:1px solid var(--line);border-radius:6px;padding:10px 12px;width:100%}
input:focus-visible,button:focus-visible{outline:2px solid var(--repo);outline-offset:2px}
button{margin-top:12px;font:600 15px/1 "Plex Sans",system-ui,sans-serif;color:#fff;background:var(--repo);border:0;border-radius:6px;padding:12px;cursor:pointer}
@media (prefers-color-scheme: dark){button{color:#0E141A}}
.err{background:var(--bad-soft);color:var(--bad);border:1px solid var(--bad);border-radius:6px;padding:8px 12px;margin:0;font-size:14px}
