@font-face {
  font-family: 'Berkeley Mono';
  src: url('/static/fonts/berkeley-mono-variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: block;
}
:root { color-scheme: dark; background: #111410; color: #e6e9de; }
* { box-sizing: border-box; }
body { margin: 0; font-family: 'Berkeley Mono', monospace; }
main { min-height: 100svh; display: grid; place-items: center; padding: 24px; }
h1 { display: flex; align-items: center; gap: .5em; margin: 0; font-size: clamp(26px, 6vw, 48px); font-weight: 500; letter-spacing: -.055em; }
.logo { display: block; width: 1.55em; height: 1.55em; flex: none; object-fit: contain; }

.signup { width: min(100%, 440px); }
h1 { justify-content: center; }
form { margin-top: 40px; }
label { display: block; margin-bottom: 10px; font-size: 14px; }
.email-row { display: flex; gap: 8px; }
input, button { font: inherit; font-size: 14px; border: 1px solid #555b50; border-radius: 0; padding: 13px; min-height: 48px; }
input { background: transparent; color: inherit; min-width: 0; width: 100%; }
input::placeholder { color: #969d90; }
button { background: #e6e9de; color: #111410; cursor: pointer; }
button:hover { background: #fff; }
:focus-visible { outline: 2px solid #d6edaf; outline-offset: 3px; }
.message { font-size: 12px; line-height: 1.6; }
.message { min-height: 3.2em; margin-bottom: 0; }
.error { color: #ffb5a7; }
.honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

.credit { margin: 0; text-align: center; font-size: 12px; color: #a7afa0; }
.credit a { color: inherit; text-decoration: none; }
.credit a:hover { color: #e6e9de; text-decoration: underline; }
