:root { --public-canvas:#dfe2e5; --public-surface:#fff; --public-soft:#f4f5f6; --public-ink:#212121; --public-muted:#66717a; --public-line:#d2d6da; --public-blue:#1476bd; --public-red:#b72029; --public-radius:8px; --public-shadow:0 2px 7px rgba(0,0,0,.16); }
html { background:#101820; }
body.public-site-page { min-height:100vh; margin:0; background:linear-gradient(rgba(8,12,17,.72),rgba(8,12,17,.82)),url("/assets/images/dog.png") center top/cover fixed no-repeat; color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page *,body.public-site-page *::before,body.public-site-page *::after { box-sizing:border-box; }
body.public-site-page :where(button,input,label,select,textarea) { font-family:inherit; }
body.public-site-page #navbar { position:relative; z-index:100; }
body.public-site-page #navbar::after { content:""; position:absolute; right:0; bottom:-3px; left:0; height:3px; background:linear-gradient(90deg,#212121 0 10%,#721d22 28%,#d3202a 46%,#b0444b 63%,#8b9196 82% 100%); }
body.public-site-page>main { width:min(1320px,100%); min-height:62vh; margin:0 auto; padding:12px 16px 32px; background:var(--public-canvas)!important; color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page>main :where(h1,h2,h3) { color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; font-style:normal; letter-spacing:0; }
body.public-site-page>main h1 { font-size:clamp(28px,3vw,38px); font-weight:900; line-height:1.1; }
body.public-site-page>main h2 { font-size:24px; font-weight:900; line-height:1.15; }
body.public-site-page>main h3 { font-size:18px; font-weight:800; line-height:1.3; }

body.public-site-page :where(.schedule-kicker,.schedule-toolbar-label,.results-kicker,.rules-eyebrow,.champions-kicker,.payments-kicker,.power-eyebrow,.power-method__kicker,.sponsorship-eyebrow,.public-series-kicker,.public-series-eyebrow) { display:none!important; }

body.public-site-page :where(.rules-card,.fan-vote-panel,.payments-info-section,.payment-note-band,.public-driver-profile,.public-rating-panel,.public-detail-panel,.power-board,.power-method,.champions-directory,.sponsorship-form-card,.sponsorship-options article,.sponsorship-donate,.public-series-card,.public-standings-shell,.results-table-panel) { border:1px solid var(--public-line); border-radius:var(--public-radius); background:var(--public-surface); color:var(--public-ink); box-shadow:var(--public-shadow); }

body.public-site-page :where(.gen6-schedule-container,.cup-schedule-container,.race-results-container,.public-series-container) { width:100%; max-width:none; margin:0; }
body.public-site-page :where(.gen6-schedule-hero,.cup-schedule-hero,.race-results-hero,.public-series-hero) { margin:0 0 12px; padding:0; border:0; }
body.public-site-page .gen6-schedule-hero .gen6-schedule-container,
body.public-site-page .cup-schedule-hero .cup-schedule-container,
body.public-site-page .race-results-hero-grid,
body.public-site-page .public-series-hero-inner { min-height:150px; padding:22px 24px; border:1px solid var(--public-line); border-radius:var(--public-radius); background:var(--public-surface)!important; color:var(--public-ink)!important; box-shadow:var(--public-shadow); }
body.public-site-page :where(.gen6-schedule-hero .gen6-schedule-container,.cup-schedule-hero .cup-schedule-container,.race-results-hero-grid,.public-series-hero-inner)::after { display:none; }
body.public-site-page .gen6-schedule-hero h1,
body.public-site-page .cup-schedule-hero h1,
body.public-site-page .race-results-hero h1,
body.public-site-page .public-series-hero h1 { margin:0 0 8px; color:var(--public-ink)!important; font:900 clamp(28px,3vw,38px)/1.1 "Roboto",Arial,sans-serif!important; }
body.public-site-page :where(.schedule-season,.results-race-meta,.public-series-hero p) { color:var(--public-muted)!important; font:700 14px/1.4 "Roboto",Arial,sans-serif; text-transform:none; }
body.public-site-page :where(.gen6-schedule-section,.cup-schedule-section,.race-results-section,.public-series-content) { width:100%; margin:0; padding:16px; border:1px solid var(--public-line); border-radius:var(--public-radius); background:var(--public-surface); box-shadow:var(--public-shadow); }

body.public-site-page .schedule-toolbar { display:block; margin:0 0 16px; padding:0 0 14px; border-bottom:3px solid #2e3337; }
body.public-site-page .schedule-toolbar h2 { margin:0; color:var(--public-ink); font:900 24px/1.15 "Roboto",Arial,sans-serif; }
body.public-site-page .schedule-toolbar-line { display:none; }
body.public-site-page .schedule-month { gap:10px; }
body.public-site-page .schedule-month+.schedule-month { margin-top:22px; }
body.public-site-page .schedule-month-heading { justify-content:flex-start; gap:12px; padding:4px 0; }
body.public-site-page .schedule-month-heading h2 { color:var(--public-ink); font:900 20px/1.2 "Roboto",Arial,sans-serif; text-align:left; }
body.public-site-page .schedule-month-heading span { flex:1; width:auto; height:2px; background:var(--public-line); }
body.public-site-page .schedule-card { min-height:104px; border:1px solid var(--public-line); border-left:4px solid var(--public-blue); background:var(--public-surface); color:var(--public-ink); box-shadow:none; }
body.public-site-page :where(.schedule-date,.schedule-date strong,.schedule-event h3,.schedule-result strong) { color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page :where(.schedule-date span,.schedule-event p,.schedule-meta span) { color:var(--public-muted); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page :where(.schedule-date em,.schedule-round,.schedule-result span) { color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page .schedule-event h3 { margin-top:5px; font-size:18px; line-height:1.2; }
body.public-site-page .schedule-event p { font-size:14px; font-weight:600; text-transform:none; }
body.public-site-page .schedule-track-visual,body.public-site-page .schedule-track-visual.has-image { border-color:var(--public-line); background:var(--public-soft); }
body.public-site-page .schedule-track-visual strong { color:var(--public-ink); }
body.public-site-page .schedule-meta span { background:var(--public-soft); }
body.public-site-page .schedule-action { border-color:#aeb5bb; background:#fff; color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page .schedule-action:hover { border-color:var(--public-blue); background:#eef6fb; color:var(--public-ink); }
body.public-site-page :where(.schedule-action-live,.schedule-action-results) { border-color:var(--public-blue); background:var(--public-blue); color:#fff; }

body.public-site-page .results-summary-grid { gap:10px; }
body.public-site-page .results-summary-card { min-height:108px; border:1px solid var(--public-line); background:var(--public-soft); box-shadow:none; }
body.public-site-page .results-summary-card span { color:var(--public-muted); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page .results-summary-card strong { color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page .results-summary-card p { color:var(--public-muted); }
body.public-site-page .results-table-header { border-color:var(--public-line); background:var(--public-surface); }
body.public-site-page .results-table-header h2 { margin:0; color:var(--public-ink); font:900 24px/1.15 "Roboto",Arial,sans-serif; }
body.public-site-page .results-table-note { color:var(--public-muted); }
body.public-site-page .results-table { color:var(--public-ink); }
body.public-site-page .results-table th { background:#eef0f2; color:#3f474d; font-family:"Roboto",Arial,sans-serif; }
body.public-site-page .results-table td,body.public-site-page .results-table tr:nth-child(even) td { border-color:#e2e5e7; background:#fff; color:var(--public-ink); }
body.public-site-page .results-table tr:nth-child(even) td { background:#f7f8f9; }
body.public-site-page :where(.results-finish,.results-driver strong) { color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page .results-driver span { color:var(--public-muted); }
body.public-site-page .results-car-number { border-color:var(--public-line); background:var(--public-soft); color:var(--public-ink)!important; }
body.public-site-page .results-status { border-color:var(--public-line); background:var(--public-soft); color:var(--public-muted); font-family:"Roboto",Arial,sans-serif; text-transform:none; }
body.public-site-page .results-action-link {
  border-color:#26343f;
  background:#17212a;
  color:#fff;
  box-shadow:0 3px 8px rgba(0,0,0,.16);
}
body.public-site-page .results-action-link:hover,
body.public-site-page .results-action-link:focus-visible {
  border-color:#1476bd;
  background:#1476bd;
  color:#fff;
}

body.public-site-page .public-standings-page { width:100%; margin:0 auto; color:var(--public-ink); }
body.public-site-page .public-standings-header { min-height:135px; margin:0 0 12px; padding:20px 24px; border:1px solid var(--public-line); border-radius:var(--public-radius); background:#fff; box-shadow:var(--public-shadow); }
body.public-site-page .public-standings-header>div>span { display:none; }
body.public-site-page .public-standings-header h1 { margin:0 0 7px; color:var(--public-ink); font:900 clamp(28px,3vw,38px)/1.1 "Roboto",Arial,sans-serif; }
body.public-site-page .public-standings-header p { color:var(--public-muted); font-size:14px; }
body.public-site-page .standings-content-layout { gap:12px; margin-top:0; }
body.public-site-page .public-standings-title { min-height:58px; padding:14px 16px; border-color:var(--public-line); background:#fff; }
body.public-site-page .public-standings-title h2 { margin:0; color:var(--public-ink); font:900 24px/1.15 "Roboto",Arial,sans-serif; }
body.public-site-page .public-standings-table { color:var(--public-ink); }
body.public-site-page .public-standings-table th { background:#eef0f2; color:#3f474d; }
body.public-site-page .public-standings-table td { border-color:#e2e5e7; background:#fff; color:var(--public-ink); }
body.public-site-page .public-standings-table tr:nth-child(even) td { background:#f7f8f9; }

body.public-site-page .public-series-hero-inner { display:flex; }
body.public-site-page .public-series-card::before { display:none; }
body.public-site-page .public-series-card h2 { margin:0 0 10px; color:var(--public-ink); font:900 24px/1.15 "Roboto",Arial,sans-serif; }
body.public-site-page .public-series-card p,body.public-site-page .public-series-detail-list dt { color:var(--public-muted); }
body.public-site-page .public-series-detail-list dd,body.public-site-page .public-series-eligibility-row>span { color:var(--public-ink); }
body.public-site-page .public-series-tags span,body.public-site-page .public-series-eligibility-row strong { border:1px solid var(--public-line); background:var(--public-soft); color:var(--public-ink); }
body.public-site-page .public-series-card-label,body.public-site-page .public-series-eligibility-header { color:var(--public-ink); }
body.public-site-page .public-series-eligibility-note { border-color:var(--public-line)!important; background:var(--public-soft); color:#3f474d!important; }
body.public-site-page .public-series-primary:not(.is-closed),
body.public-site-page .public-series-primary:not(.is-closed)[data-style] { border:1px solid #0d609b; background:#1476bd; color:#fff; }
body.public-site-page .public-series-primary:not(.is-closed):hover,
body.public-site-page .public-series-primary:not(.is-closed):focus-visible { border-color:#0a4f80; background:#0d619d; color:#fff; }
body.public-site-page .public-series-primary.is-closed { border:1px solid #49545d; background:#59656e; color:#fff; }

body.public-site-page :where(.champions-page,.public-stats-shell,.fan-vote-page,.rules-content,.payments-page,.sponsorship-main,.power-page>main) { color:var(--public-ink); }
body.public-site-page :where(.champions-hero,.fan-vote-hero,.rules-header,.payments-hero,.sponsorship-hero,.power-hero) { margin:0 0 12px; border:1px solid var(--public-line); border-radius:var(--public-radius); background:#fff; color:var(--public-ink); box-shadow:var(--public-shadow); }
body.public-site-page :where(.champions-hero h1,.fan-vote-hero h1,.rules-header h1,.payments-hero h1,.sponsorship-hero h1,.power-hero h1) { color:var(--public-ink); }
body.public-site-page :where(.champions-hero p,.fan-vote-hero p,.rules-header p,.payments-hero p,.sponsorship-hero p,.power-hero p) { color:var(--public-muted); }

/* Rulebook uses a wrapper instead of a top-level main. */
body.public-site-page .rules-page { width:min(1320px,100%); min-height:62vh; margin:0 auto; padding:12px 16px 32px; background:var(--public-canvas); color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page .rules-container { width:100%; margin:0; }
body.public-site-page .rules-hero { padding:24px; border:1px solid var(--public-line); background:#fff; color:var(--public-ink); box-shadow:var(--public-shadow); }
body.public-site-page .rules-hero::after { display:none; }
body.public-site-page .rules-hero h1 { color:var(--public-ink); font:900 clamp(28px,3vw,38px)/1.1 "Roboto",Arial,sans-serif; }
body.public-site-page .rules-hero p { margin-top:10px; color:var(--public-muted); font-size:14px; }
body.public-site-page .rules-meta { margin-top:14px; }
body.public-site-page .rules-meta span { border-color:var(--public-line); background:var(--public-soft); color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; font-size:12px; }
body.public-site-page .rules-layout { gap:12px; }
body.public-site-page :where(.rules-sidebar,.rules-card) { border:1px solid var(--public-line); background:#fff; color:var(--public-ink); box-shadow:var(--public-shadow); }
body.public-site-page .rules-sidebar { scrollbar-color:#9ba6ad #edf0f2; }
body.public-site-page .rules-sidebar h2,body.public-site-page .rules-card h2 { border-bottom-color:#2e3337; color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; font-size:24px; }
body.public-site-page :where(.rules-nav-link,.rules-sidebar a) { color:#3f474d; font-family:"Roboto",Arial,sans-serif; }
body.public-site-page :where(.rules-nav-link:hover,.rules-sidebar a:hover,.rules-nav-link.active) { border-color:#b8c1c7; background:var(--public-soft); color:var(--public-ink); }
body.public-site-page .section-number { color:var(--public-ink); }
body.public-site-page :where(.rule-item,.rule-item p,.rules-card p,.rules-card li) { color:#3f474d; }

/* Champions and driver stats cards */
body.public-site-page .champions-hero-inner { min-height:150px; padding:24px; border:1px solid var(--public-line); border-radius:var(--public-radius); background:#fff!important; color:var(--public-ink); box-shadow:var(--public-shadow); }
body.public-site-page .champions-hero-inner::after { display:none; }
body.public-site-page .champions-hero h1 { color:var(--public-ink); font:900 clamp(28px,3vw,38px)/1.1 "Roboto",Arial,sans-serif; }
body.public-site-page .champions-hero p { color:var(--public-muted); }
body.public-site-page .champions-container { width:100%; }
body.public-site-page .champions-directory { padding:16px; }
body.public-site-page .champions-toolbar h2 { color:var(--public-ink); font:900 24px/1.15 "Roboto",Arial,sans-serif; }
body.public-site-page .champion-card { border:1px solid var(--public-line); background:#fff; color:var(--public-ink); box-shadow:none; }
body.public-site-page .champion-card::before { display:none; }
body.public-site-page .champion-card h3 { color:var(--public-ink); font:800 18px/1.3 "Roboto",Arial,sans-serif; }
body.public-site-page .champion-card-kicker,body.public-site-page .champion-card dt { color:var(--public-muted); }
body.public-site-page .champion-card dd { color:var(--public-ink); }

body.public-site-page .public-stats-header>div>span { display:none; }
body.public-site-page :where(.public-stats-header,.public-driver-directory,.public-driver-profile,.public-rating-panel,.public-detail-panel,.public-headline-stat) { border-color:var(--public-line); background:#fff; color:var(--public-ink); box-shadow:var(--public-shadow); }
body.public-site-page :where(.public-stats-header h1,.public-driver-directory h2,.public-driver-profile h2,.public-rating-panel h3,.public-detail-panel h3) { color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page :where(.public-driver-directory header span,.public-driver-profile-header>div>span,.public-rating-panel header span,.public-detail-panel header span) { color:var(--public-muted); }
body.public-site-page :where(.public-driver-directory>header,.public-driver-profile-header,.public-rating-panel>header,.public-detail-panel>header) { border-color:var(--public-line); background:var(--public-soft); }
body.public-site-page :where(.public-stats-header p,.public-driver-profile-header p,.public-driver-result-count,.public-stats-message,.public-driver-list>p) { color:var(--public-muted); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page .public-stats-total strong { color:var(--public-blue); }
body.public-site-page .public-stats-total span { color:var(--public-muted); }
body.public-site-page .public-driver-search { border-color:var(--public-line); background:#fff; }
body.public-site-page .public-driver-search input { color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page .public-driver-search input::placeholder { color:#77838d; opacity:1; }
body.public-site-page .public-driver-list { border-color:var(--public-line); }
body.public-site-page .public-driver-list>button { border-color:var(--public-line); color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page .public-driver-list>button small { color:var(--public-muted); }
body.public-site-page .public-driver-list>button:hover,
body.public-site-page .public-driver-list>button.active { background:#eef6fb; box-shadow:inset 3px 0 0 var(--public-blue); }
body.public-site-page :where(.public-profile-actions select,.public-profile-actions button) { border-color:var(--public-line); background:#fff; color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page .public-profile-actions button { color:var(--public-blue); }
body.public-site-page :where(.public-rating-grid>article,.public-headline-stats,.public-metric) { border-color:var(--public-line); }
body.public-site-page :where(.public-rating-grid>article>div:first-child>span,.public-metric>span) { color:var(--public-muted); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page :where(.public-rating-panel>header>strong,.public-metric>strong) { color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }
body.public-site-page .public-metric>small { color:var(--public-muted); }
body.public-site-page :where(.public-rating-track,.public-rating-grid .public-rating-track) { background:#dbe2e7; }

/* Sponsorship and rankings */
body.public-site-page.sponsorship-page .sponsorship-hero { min-height:150px; padding:24px; background:#fff!important; }
body.public-site-page.sponsorship-page .sponsorship-hero h1 { margin:0 0 8px; color:var(--public-ink)!important; font:900 clamp(28px,3vw,38px)/1.1 "Roboto",Arial,sans-serif!important; text-transform:none; }
body.public-site-page.sponsorship-page .sponsorship-hero p { color:var(--public-muted)!important; font:400 14px/1.5 "Roboto",Arial,sans-serif; }
body.public-site-page .sponsorship-form-heading>span,body.public-site-page .power-overline { display:none; }
body.public-site-page .sponsorship-form-heading h2 { color:var(--public-ink); font:900 24px/1.15 "Roboto",Arial,sans-serif; }
body.public-site-page .power-hero h1 { font:900 clamp(28px,3vw,38px)/1.1 "Roboto",Arial,sans-serif; text-transform:none; }
body.public-site-page .power-hero h1 em { color:var(--public-ink); font:inherit; }
body.public-site-page :where(.power-leader,.power-list-item) { border-color:var(--public-line); background:#fff; color:var(--public-ink); }
body.public-site-page :where(.power-leader h3,.power-list-item h3) { color:var(--public-ink); font-family:"Roboto",Arial,sans-serif; }

@media(max-width:900px) {
  body.public-site-page .schedule-card { grid-template-columns:105px minmax(180px,1fr) 110px minmax(110px,.7fr); }
}
@media(max-width:820px) {
  body.public-site-page .schedule-card { grid-template-columns:105px minmax(0,1fr); align-items:start; }
  body.public-site-page :where(.schedule-track-visual,.schedule-result,.schedule-card-actions) { grid-column:2; }
  body.public-site-page .schedule-track-visual { width:min(100%,220px); }
  body.public-site-page .schedule-card-actions { justify-content:flex-start; }
}
@media(max-width:760px) {
  body.public-site-page>main { padding:10px 10px 24px; }
  body.public-site-page :where(.gen6-schedule-hero .gen6-schedule-container,.cup-schedule-hero .cup-schedule-container,.race-results-hero-grid,.public-series-hero-inner) { padding:18px; }
  body.public-site-page .results-summary-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:560px) {
  body.public-site-page>main h1 { font-size:28px; }
  body.public-site-page>main h2,body.public-site-page .schedule-toolbar h2,body.public-site-page .results-table-header h2,body.public-site-page .public-standings-title h2,body.public-site-page .public-series-card h2 { font-size:21px; }
  body.public-site-page .results-summary-grid { grid-template-columns:1fr; }
  body.public-site-page .schedule-card { grid-template-columns:minmax(0,1fr); gap:14px; }
  body.public-site-page :where(.schedule-date,.schedule-track-visual,.schedule-result,.schedule-card-actions) { grid-column:auto; }
  body.public-site-page .schedule-date { grid-template-columns:repeat(3,max-content); align-items:end; gap:10px; }
  body.public-site-page .schedule-track-visual,
  body.public-site-page .schedule-action { width:100%; }
}
