/* Launch content additions. Preserve each state's established design. */
[hidden] { display: none !important; }
.launch-module { max-width: 76rem; margin: 0 auto; padding: clamp(1.25rem, 4vw, 3rem); }
.launch-module h1, .launch-module h2 { margin-bottom: 1rem; }
.launch-module p + p, .launch-note { margin-top: 1rem; }
.launch-module p { max-width: 72ch; line-height: 1.65; }
.launch-module a, .launch-note a { text-decoration: underline; text-underline-offset: .18em; }
.launch-races { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .6rem; list-style: none; padding: 0; margin: 1.5rem 0; }
.launch-races li { min-width: 0; }
.launch-races a { display: flex; align-items: center; min-height: 48px; border: 1px solid currentColor; padding: .65rem 1rem; text-decoration: none; font-size: 1rem; }
.launch-races a:hover { text-decoration: underline; }
.launch-official { border-top: 1px solid currentColor; margin-top: 2rem; }
.launch-note { font-size: 1rem; line-height: 1.6; max-width: 72ch; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
/* Empty news columns must not reserve half the reading width. */
.split:has(> :only-child), .lead:has(> :only-child), .ledger-wrap:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.triple:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.leadstory .launch-module { padding-inline: 0; }
@media (max-width: 700px) { .triple:has(> :nth-child(2):last-child) { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }
/* Privacy and cookie policies. Probo defines <probo-settings-link> when its banner
   loads; until then the control stays hidden and a plain-text fallback shows. */
probo-settings-link:not(:defined) { display: none !important; }
probo-settings-link:defined { cursor: pointer; text-decoration: underline; text-underline-offset: .18em; }
probo-settings-link:defined + .policy-settings-fallback { display: none; }
.legal-links { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; }
.legal-links a, .legal-links probo-settings-link:defined { display: inline-flex; align-items: center; min-height: 44px; }
.legal-links__sep { display: none; }
.policy-toc ul { list-style: none; padding: 0; margin: .5rem 0 0; display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
.policy-toc a { display: inline-flex; align-items: center; min-height: 44px; }
.policy-section { scroll-margin-top: 1.5rem; }
.policy-section p, .policy-section li, .policy-list dd { max-width: 70ch; line-height: 1.65; overflow-wrap: anywhere; }
.policy-section ul { padding-left: 1.25rem; }
.policy-section li + li { margin-top: .6rem; }
.policy-list { margin: 0; display: grid; gap: 1rem; }
.policy-list dt code { font-weight: 700; overflow-wrap: anywhere; }
.policy-list dd { margin: .25rem 0 0; }
.policy-settings-fallback { font-style: italic; }
/* Race pages: official-record links and previous/next race navigation. */
.race-pager { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; }
.race-pager a, .race-resources a { display: inline-flex; align-items: center; min-height: 44px; }
