/* Legal pages — readable long-form */
.legal-page{max-width:780px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-6)}
.legal-page h1{font-size:var(--fs-28);margin-bottom:var(--s-2);color:var(--ink)}
.legal-page .updated{color:var(--ink-3);font-size:var(--fs-12);margin-bottom:var(--s-5)}
.legal-page h2{font-size:var(--fs-18);margin:var(--s-5) 0 var(--s-2);color:var(--ink)}
.legal-page h3{font-size:var(--fs-16);margin:var(--s-4) 0 var(--s-2);color:var(--ink)}
.legal-page p,.legal-page li{color:var(--ink-2);font-size:var(--fs-14);line-height:1.7}
.legal-page ul,.legal-page ol{padding-left:var(--s-5);margin:var(--s-2) 0 var(--s-3)}
.legal-page ul li,.legal-page ol li{margin-bottom:var(--s-1);list-style:disc}
.legal-page ol li{list-style:decimal}
.legal-page a{color:var(--accent);text-decoration:underline}
.legal-page a:hover{color:var(--accent-hi)}
.legal-page .callout{background:var(--rail);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:var(--s-3) var(--s-4);margin:var(--s-3) 0}
.legal-page .callout strong{color:var(--ink)}

/* Help */
.help-grid{display:grid;grid-template-columns:1fr 320px;gap:var(--s-5)}
@media (max-width:960px){ .help-grid{grid-template-columns:1fr} }
.help-contact{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4)}
.help-contact h3{font-size:var(--fs-16);color:var(--ink)}
.help-contact ul{display:flex;flex-direction:column;gap:var(--s-2);font-size:var(--fs-13);color:var(--ink-2);margin-top:var(--s-3)}
.help-contact a{color:var(--accent)}

/* Auth */
.auth-page{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
@media (max-width:720px){ .auth-page{grid-template-columns:1fr} }
.auth-page__left{
  background:
    radial-gradient(60% 80% at 80% 0%,rgba(156,230,0,.12) 0%,transparent 60%),
    linear-gradient(180deg,#101510,#0B0E0A);
  padding:var(--s-8);display:flex;flex-direction:column;justify-content:space-between;gap:var(--s-5);
}
.auth-page__right{background:var(--surface);padding:var(--s-8)}
.auth-page__pitch h2{font-size:var(--fs-28);margin-bottom:var(--s-2);color:var(--ink)}
.auth-page__pitch ul{margin-top:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2);font-size:var(--fs-13);color:var(--ink-2);list-style:none;padding:0}
.auth-page__pitch li::before{content:"✓";color:var(--accent);margin-right:8px;font-weight:700}
.auth-page__pitch a{color:var(--accent)}
.auth-steps{display:flex;gap:var(--s-2);margin-bottom:var(--s-5)}
.auth-step{flex:1;height:4px;background:var(--rail);border-radius:2px;overflow:hidden;transition:background var(--dur-base) var(--ease)}
.auth-step.is-active{background:var(--accent)}
.auth-step.is-done{background:var(--accent-lo)}
.age-gate{
  background:#1A0A0A;border:1px solid #3A1818;color:#FFD4D4;
  padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);font-size:var(--fs-13);margin-bottom:var(--s-4);
}

/* Filter bar (sports comp filter, racing discipline note) */
.filter-bar{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:var(--s-3) var(--s-4);
  margin-bottom:var(--s-4);font-size:var(--fs-13);color:var(--ink-2);
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;
}
.filter-bar strong{color:var(--ink)}
.filter-bar a{color:var(--accent)}
.filter-bar a:hover{color:var(--accent-hi)}
.page-title__count{font-weight:500;margin-left:var(--s-2)}

/* Promotions */
.promos-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-4)}
.promo-banner{background:var(--rail);border:1px solid var(--line-2);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-size:var(--fs-13);color:var(--ink-2);margin-bottom:var(--s-5)}
.promo-banner strong{color:var(--ink)}

/* Showdowns page */
.showdown-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5)}
.leaderboard{margin-top:var(--s-4)}

/* 404 */
.notfound{
  text-align:center;padding:var(--s-12) var(--s-5);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
}
.notfound__code{
  font-family:'Inter Tight';font-size:var(--fs-48);color:var(--accent);font-weight:800;
  animation:float 4s var(--ease-in-out-soft) infinite;
}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%   {transform:translateY(-4px)}
}
.notfound h1{margin:var(--s-3) 0 var(--s-2);color:var(--ink)}
.notfound p{color:var(--ink-2)}
