/* Sign-in page (worker/login.ts): the Press Association ink page, condensed caps on cobalt, square corners.
   Plain CSS because the page is served before the session exists, outside the React bundle. */
@font-face { font-family: "Instrument Sans Condensed"; font-weight: 700; font-style: normal; font-display: optional;
  src: url("/fonts/InstrumentSans-Condensed-Bold.woff2") format("woff2"), url("/fonts/InstrumentSans-Condensed-Bold.ttf") format("truetype"); }
@font-face { font-family: "Instrument Sans Condensed Fallback"; font-weight: 700;
  src: local("Arial Narrow Bold"), local("ArialNarrow-Bold"), local("Arial Narrow"); size-adjust: 91%; ascent-override: 97%; descent-override: 25%; line-gap-override: 0%; }
:root { --cobalt: #004fff; --cobalt-strong: #1a5fff; --alert: #b3261e; --muted: #5f5e58;
  --condensed: "Instrument Sans Condensed", "Instrument Sans Condensed Fallback", "Arial Narrow", "Helvetica Neue", Arial, sans-serif; }
* { box-sizing: border-box; }
html { font-size: 15px; -webkit-font-smoothing: antialiased; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; }
.login { min-height: 100vh; background: #000; color: #fff; display: flex; flex-direction: column; }
.login-head { padding: 24px 24px 0; }
.login-logo { display: block; width: 72px; height: 72px; }
.login-main { flex: 1; display: flex; align-items: center; justify-content: center; padding: 40px 24px; }
.login-box { width: 100%; max-width: 24rem; }
.login-tag { display: inline-block; background: var(--cobalt); color: #fff; font-family: var(--condensed); text-transform: uppercase; letter-spacing: 0.02em; font-size: 14px; line-height: 1; padding: 6px 8px; }
.login-h1 { font-family: var(--condensed); font-weight: 700; font-size: 56px; line-height: 0.9; letter-spacing: -0.01em; margin: 20px 0 32px; }
.login-label { display: block; font-family: var(--condensed); text-transform: uppercase; letter-spacing: 0.06em; font-size: 13px; color: rgba(255,255,255,0.7); margin-bottom: 8px; }
.login-input { display: block; width: 100%; background: #fff; color: #000; font: inherit; font-size: 16px; padding: 12px 14px; border: 2px solid #fff; border-radius: 0; }
.login-input:focus { outline: none; border-color: var(--cobalt); }
.login-btn { margin-top: 20px; width: 100%; background: var(--cobalt); color: #fff; border: 0; border-radius: 0; font-family: var(--condensed); text-transform: uppercase; letter-spacing: 0.04em; font-size: 18px; line-height: 1; padding: 14px 16px; cursor: pointer; }
.login-btn:hover { background: var(--cobalt-strong); }
.login-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.login-error { background: #fff; color: var(--alert); font-size: 14px; font-weight: 600; padding: 8px 12px; margin-bottom: 20px; border-left: 4px solid var(--alert); }
@media (min-width: 640px) { .login-head { padding: 32px 40px 0; } .login-logo { width: 88px; height: 88px; } .login-h1 { font-size: 64px; } }
