@font-face { font-family: "Fira"; src: url(/fonts/fira-sans-latin-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Fira"; src: url(/fonts/fira-sans-latin-600-normal.woff2) format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Fira Condensed"; src: url(/fonts/fira-sans-condensed-latin-700-normal.woff2) format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Stack Mono"; src: url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; }
* { box-sizing: border-box; }
body { margin: 0; background: #f5f6fa; color: #192329; font: 16px/1.6 Fira, system-ui, sans-serif; min-height: 100dvh; display: grid; place-items: center; padding: 24px; }
main { width: min(100%, 420px); padding: 32px; background: #fff; border: 1px solid #e2e5ec; border-radius: 16px; box-shadow: 0 10px 30px rgba(25, 35, 41, .06); }
.brand { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; font: 700 30px/1 "Fira Condensed", Fira, sans-serif; letter-spacing: -1px; }
.brand b { font-weight: 700; }
.brand span { color: #2f54d1; }
.eyebrow { font: 12px "Stack Mono", monospace; letter-spacing: 2px; color: #5d6874; margin: 0; }
h1 { font: 700 34px/1.1 "Fira Condensed", Fira, sans-serif; margin: 8px 0 12px; letter-spacing: -.5px; }
p { color: #5d6874; }
label { display: block; font-weight: 600; margin-bottom: 8px; }
input, button { font: inherit; }
input { width: 100%; padding: 12px; border: 1px solid #9ba5b5; border-radius: 8px; }
button { display: block; width: 100%; background: #2f54d1; color: #fff; border: 0; padding: 12px 18px; border-radius: 8px; font-weight: 600; cursor: pointer; }
button:hover { background: #2646b5; }
input:focus-visible, button:focus-visible { outline: 3px solid #192329; outline-offset: 3px; }
.error { color: #9c2929; min-height: 1.6em; margin: 8px 0; font-weight: 600; }
small { color: #5d6874; }
