@font-face { font-family: 'system-condensed'; src: local('Helvetica Neue Condensed Bold'), local('Arial Narrow Bold'); font-weight: 700; }

:root{
  --ground:#0c0c0e;
  --surface:#161619;
  --surface-2:#1d1d21;
  --hairline:#2a2a2f;
  --ink:#f3f1ea;
  --ink-dim:#a7a5a0;
  --ink-faint:#6f6e6a;
  --gold:#c9a44b;
  --gold-bright:#e0c069;
  --blue:#3d7ce0;
  --orange:#f58a1f;
  --green:#3fc25c;
  --pink:#e05fca;
  --red:#e0685f;
  --gray-roundel:#9aa0a6;
  --mta-red:#ee352e;
  --mta-green:#00933c;
  --mta-purple:#b933ad;
  --mta-orange:#ff6319;
  --mta-yellow:#fccc0a;
  --mta-gray:#a7a9ac;
  --mta-brown:#8b5e3c;
  --mta-lightgreen:#6cbe45;
  --font-display:'system-condensed','Arial Narrow','Helvetica Neue',Helvetica,Arial,sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-mono:ui-monospace,'SF Mono','Cascadia Code',Menlo,Consolas,monospace;
  --maxw:640px;
}

/* ---------- MTA line badges (matches lemmegetta.com's real subway-stop badges) ---------- */
.line-badge{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:50%; flex:none;
  font-family:var(--font-display); font-weight:700; font-size:15px;
  color:#fff; text-align:center;
}
.lb-1{background:var(--mta-red);}
.lb-4{background:var(--mta-green);}
.lb-7{background:var(--mta-purple);}
.lb-b{background:var(--mta-orange); color:#1a0f00;}
.lb-q{background:var(--mta-yellow); color:#241d00;}
.lb-l{background:var(--mta-gray); color:#161619;}
.lb-m{background:var(--mta-brown);}
.lb-g{background:var(--mta-lightgreen); color:#06210c;}
.lb-x{background:var(--gray-roundel); color:#161619;}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--ground); color:var(--ink); font-family:var(--font-body);
  -webkit-font-smoothing:antialiased; min-height:100vh;
}
h1,h2,h3,h4{ margin:0; font-family:var(--font-display); text-transform:uppercase; font-weight:700; letter-spacing:-0.01em; }
p{ margin:0; line-height:1.55; }
a{ color:inherit; }
button{ font-family:inherit; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 18px; }
.eyebrow{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-faint); }
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-display); text-transform:uppercase; font-size:15px; letter-spacing:0.03em;
  padding:14px 22px; border-radius:2px; border:1px solid transparent; cursor:pointer; text-decoration:none;
  transition:transform .15s ease, background .15s ease; white-space:nowrap;
}
.btn:disabled{ opacity:0.4; cursor:not-allowed; }
.btn:not(:disabled):hover{ transform:translateY(-1px); }
.btn--gold{ background:var(--gold); color:#161006; }
.btn--gold:not(:disabled):hover{ background:var(--gold-bright); }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--hairline); }
.btn--block{ width:100%; }
.card{ background:var(--surface); border:1px solid var(--hairline); border-radius:3px; }
.hidden{ display:none !important; }
