/* StatHeaven: a quiet sky, clear numbers. Local assets only. */
:root, body[data-section="fantasy"] {
  --ink: #182c46;
  --ink-soft: #53657b;
  --paper: #f5f8fc;
  --paper-deep: #e9eff8;
  --line: #dce4ef;
  --green: #3561a0;
  --green-dark: #172d4b;
  --lime: #e9d59d;
  --white: #fff;
  --shadow: 0 18px 55px #2e527d0d;
  --display: "Aptos Display", "Segoe UI", system-ui, sans-serif;
}
body, body[data-section="fantasy"] {
  background: radial-gradient(ellipse at 80% 0%, #e3eafb 0, transparent 48%),
    radial-gradient(ellipse at 8% 18%, #fffcf5 0, transparent 40%), #f5f8fc;
  -webkit-font-smoothing: antialiased;
}
body::before { display: none; }
.page-shell { position: relative; width: min(1600px, 100%); overflow: clip; }
.sky-decoration { position: absolute; inset: 0 0 auto; height: 640px; overflow: hidden; pointer-events: none; z-index: -1; }
.sky-decoration::before, .sky-decoration::after {
  content: ""; position: absolute; width: 680px; height: 260px; border-radius: 50%;
  background: #ffffff94; filter: blur(27px); transform: rotate(-12deg);
}
.sky-decoration::before { right: -210px; top: 110px; box-shadow: -210px 70px 0 #ffffff50; }
.sky-decoration::after { left: -360px; top: 280px; background: #fff9ee80; }
.site-header {
  min-height: 90px; margin: 0 4.5vw; padding: 0; border-bottom: 1px solid #dce4efb0;
  background: transparent;
}
.brand { font-size: 1.12rem; font-weight: 650; letter-spacing: -.045em; text-transform: none; gap: .75rem; }
.brand strong { color: inherit; font-weight: 750; }
.brand-mark { position: relative; width: 39px; height: 41px; padding: 0; background: none; border-radius: 0; }
.brand-mark svg { display: block; width: 100%; height: 100%; overflow: visible; }
.primary-nav { gap: .35rem; padding: .3rem; background: #ffffff9c; border: 1px solid #dce4ef; border-radius: 50px; }
.primary-nav a { padding: .65rem 1.3rem; font-size: .8rem; letter-spacing: 0; text-transform: none; font-weight: 650; border-radius: 30px; }
.primary-nav a::after { display: none; }
.primary-nav a:hover { color: #244a82; background: #eef3fb; }
.primary-nav a[aria-current="page"] { color: #fff; background: #234776; box-shadow: 0 3px 10px #2347761a; }
.build-status { color: #637089; text-transform: none; letter-spacing: .02em; font-size: .69rem; }
.build-status i { background: #b29349; box-shadow: 0 0 0 4px #b2934912; }
.button { border-radius: 11px; text-transform: none; letter-spacing: .01em; font-weight: 650; min-height: 45px; }
.button-primary { background: #234776; border-color: #234776; color: #fff; box-shadow: 0 4px 12px #23477612; }
.button-primary:hover { background: #16355c; color: #fff; transform: translateY(-1px); }
.button-secondary { border-color: #cfdaea; color: #254878; background: #ffffff8c; }
.button-secondary:hover { background: #fff; }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #507ed1; outline-offset: 4px;
}
.eyebrow, .section-kicker { color: #546c94; letter-spacing: .16em; font-weight: 700; }
.hero { position: relative; gap: 4vw; padding-top: 5rem; padding-bottom: 5rem; min-height: 620px; }
.hero h1 { font-size: clamp(3.3rem, 5.5vw, 5.7rem); letter-spacing: -.065em; line-height: 1.06; font-weight: 650; text-transform: none; }
.hero h1 em { color: #4973ab; font-family: Georgia, serif; font-weight: 400; }
.hero-summary { max-width: 34rem; color: #53657b; font-size: 1.02rem; line-height: 1.8; }
.hero-actions { gap: .85rem; }
.signal-card { position: relative; border: 1px solid #ffffffd9; border-radius: 28px; background: #ffffffa6; box-shadow: 0 30px 80px #314d7512; overflow: hidden; transform: rotate(2deg); }
.signal-card-header { color: #455d81; border-bottom-color: #dce4ef; }
.signal-card .live-label { color: #756030; background: #faf3df; border-radius: 20px; padding: .3rem .65rem; }
.field-graphic { background-color: #1c3759; background-image: radial-gradient(ellipse at 50% 10%, #6088bc44, transparent 65%); }
.signal-list { color: #425977; background: #fff; }
.signal-list i { color: #a48a4d; }
.product-intro { padding-top: 2rem; }
.product-intro h2, .data-heading-row h2, .roadmap-panel h2 { font-weight: 650; letter-spacing: -.045em; text-transform: none; }
.product-grid { border: 0; gap: 1.1rem; background: none; }
.product-card, .product-card + .product-card { border: 1px solid var(--line); border-radius: 20px; background: #ffffffd9; box-shadow: var(--shadow); }
.product-card h3 { font-weight: 650; letter-spacing: -.04em; }
.product-card a { color: #315d98; }
.product-card-topline { color: #637692; }
.data-foundation { border-radius: 26px; background: #172d4b; margin-bottom: 1.5rem; }
.data-foundation .metric strong { color: #ead49a; }
.section-hero { padding-top: 3.8rem; padding-bottom: 3rem; }
.section-hero h1 { font-size: clamp(2.7rem, 4.6vw, 4.8rem); letter-spacing: -.055em; font-weight: 650; }
.stats-explorer-heading h2 { font-size: clamp(2rem, 3.4vw, 3.1rem); line-height: 1.13; letter-spacing: -.05em; }
.stats-search, .stats-browser, .question-card, .roadmap-panel { border-radius: 18px; box-shadow: var(--shadow); }
.stats-search, .stats-browser { background: #fff; }
.stats-search input, .stats-search select, .fantasy-history-search input, .fantasy-history-search select {
  background: #f8fafd; border-color: #d8e1ed; border-radius: 9px; color: #223c60;
}
.player-result { border-bottom-color: #e8edf4; }
.section-switcher { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.section-switcher a.is-active { background: #eaf0f9; color: #234776; }
.site-footer { border-top-color: #dce4ef; color: #67778d; font-size: .74rem; }
.sky-kicker { display: inline-flex; align-items: center; gap: .55rem; }
.sky-kicker::before { content: ""; width: 18px; height: 7px; border: 1.5px solid #ad9254; border-radius: 50%; transform: rotate(-14deg); }
body[data-section="fantasy"] .fantasy-current-lab { padding-top: 3.4rem; }
.fantasy-current-lab .fantasy-lab-heading { position: relative; margin-bottom: 2rem; align-items: center; gap: 2rem; }
.fantasy-current-lab .fantasy-lab-heading h1 { font-size: clamp(2.5rem, 4.1vw, 4.2rem); line-height: 1.1; font-weight: 650; letter-spacing: -.055em; }
.fantasy-current-lab .fantasy-lab-heading h1 span { color: #5577a8; }
.fantasy-tracker-intro { color: #5b6f87; max-width: 41rem; font-size: .9rem; line-height: 1.7; }
.fantasy-current-lab .research-status { padding: 1.2rem 1.4rem; background: #ffffff94; border: 1px solid #dbe4f0; border-radius: 16px; min-width: 210px; box-shadow: 0 8px 26px #314d7506; }
.fantasy-current-lab .research-status strong { color: #355580; font-size: .79rem; letter-spacing: .04em; }
.fantasy-current-lab .research-status span { color: #64758d; font-size: .7rem; }
.fantasy-current-lab .fantasy-value-controls { border-radius: 20px; padding: 1.4rem; background: #ffffffdb; box-shadow: 0 12px 38px #26487808; border-color: #dce4ef; }
.fantasy-position-toggle { border-bottom-color: #e7ecf4; }
.fantasy-value-controls .fantasy-position-toggle label > span { border-radius: 9px; color: #536880; background: transparent; border-color: transparent; padding: .65rem 1rem; }
.fantasy-value-controls .fantasy-position-toggle input:checked + span { color: #244878; background: #eaf0fa; border-color: #d5e1f3; box-shadow: none; }
.fantasy-position-toggle small { color: #536d91; background: #ffffffbf; padding: .05rem .32rem; border-radius: 5px; }
.fantasy-value-controls label > span, .fantasy-value-controls legend { color: #576a83; letter-spacing: .07em; }
.fantasy-scoring-toggle { border: 0; }
.fantasy-current-lab .fantasy-scoring-toggle label > span { background: #f4f7fb; border: 1px solid #d8e1ed; color: #526884; border-radius: 8px; }
.fantasy-current-lab .fantasy-scoring-toggle input:checked + span { color: #fff; background: #345d91; border-color: #345d91; }
.fantasy-league-settings { border-top-color: #e6ecf4; }
.fantasy-league-settings summary { color: #536d90; }
.fantasy-tracker-toolbar { margin-top: 2rem; }
.fantasy-tracker-toolbar h2 { font-size: 1.15rem; font-weight: 650; letter-spacing: -.025em; }
.fantasy-message { color: #63758c; }
.fantasy-value-table-wrap { border-color: #dce4ef; border-radius: 16px; background: #fff; box-shadow: 0 10px 32px #26487807; }
.fantasy-value-table thead th { background: #edf2f9; color: #4a6282; border-bottom-color: #dce4ef; font-size: .64rem; letter-spacing: .035em; padding-top: 1rem; padding-bottom: 1rem; }
.fantasy-value-table th[aria-sort] .fantasy-sort-button { color: #46617f; }
.fantasy-value-table th[aria-sort="ascending"] .fantasy-sort-button,
.fantasy-value-table th[aria-sort="descending"] .fantasy-sort-button { color: #234776; }
.fantasy-value-table .fantasy-sort-indicator { color: #587193; }
.fantasy-value-table td { border-bottom-color: #eaf0f6; padding-top: 1rem; padding-bottom: 1rem; }
.fantasy-value-table tbody tr:hover { background: #f3f7fd; }
.fantasy-player-link { color: #1e3a60; font-weight: 650; }
.fantasy-player-link:hover { color: #4a72a9; }
.fantasy-value-rank { color: #7b8ba2; font-variant-numeric: tabular-nums; }
.fantasy-value-index strong, .fantasy-value-positive { color: #345d91; }
.fantasy-value-track { background: #eaf0f8; height: 5px; }
.fantasy-value-track > span { background: linear-gradient(90deg, #b0c5e6, #507caf); }
.fantasy-position-badge { font-weight: 700; border-radius: 5px; }
.fantasy-position-badge.position-qb { color: #5b4c8c; background: #eee9fb; }
.fantasy-position-badge.position-rb { color: #346a62; background: #e6f3ee; }
.fantasy-position-badge.position-wr { color: #3c6290; background: #e6effa; }
.fantasy-position-badge.position-te { color: #856327; background: #faf0d9; }
.fantasy-conditional-note { color: #68768b; line-height: 1.6; }
.fantasy-conditional-note > span { background: #b69950; }
.fantasy-formula-note summary { color: #456991; }
.fantasy-current-detail { background: #172d4b; border: 1px solid #2c476b; border-radius: 22px; box-shadow: 0 20px 45px #1d3d6414; }
.fantasy-current-detail .section-kicker { color: #bdd0ec; }
.fantasy-current-detail .fantasy-point { background: #ffffff08; border-color: #ffffff21; border-radius: 12px; }
.fantasy-current-detail .fantasy-component, .fantasy-current-detail .fantasy-rate { border-color: #ffffff1a; }
.fantasy-current-detail .fantasy-week-table th { background: #203a5c; color: #e9d59d; }
.fantasy-current-detail .fantasy-week-table td { border-color: #ffffff18; }
.fantasy-current-detail .fantasy-result-heading h3 { font-weight: 650; letter-spacing: -.04em; }
.fantasy-history-disclosure { background: #ffffffa3; border-color: #dce4ef; border-radius: 18px; }
.fantasy-table-empty { padding: 3rem 1.5rem; color: #657890; }
.forecast-source-line { display: flex; flex-wrap: wrap; gap: .5rem 1.3rem; margin: .85rem 0 0; color: #5e7290; font-size: .74rem; }
.forecast-source-line strong { color: #315b8d; font-weight: 650; }
.forecast-test-banner { display: flex; align-items: center; gap: 1.1rem; padding: 1.25rem 1.5rem; margin-bottom: 2rem; border: 1px solid #c8d8ee; border-radius: 18px; background: linear-gradient(110deg, #fff, #edf3ff 65%, #faf4e8); box-shadow: 0 8px 32px #728cac12; }
.forecast-test-banner strong { color: #294d78; font-size: 1rem; }
.forecast-test-banner p { margin: .3rem 0 0; max-width: 78ch; font-size: .83rem; line-height: 1.6; color: #536b83; }
.forecast-test-banner a { white-space: nowrap; color: #315b8d; font-size: .8rem; }
.forecast-test-orbit { color: #ad8b40; font-size: 2.6rem; }
.fantasy-test-link { text-align: right; font-size: .82rem; }
.fantasy-test-link a { color: #315b8d; }
.forecast-week-selector { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin: 1.4rem 0; font-size: .9rem; }
.forecast-week-selector select { padding: .65rem .85rem; border-radius: 8px; border: 1px solid #bacddd; background: #fff; color: #183845; font: inherit; }
@media (max-width: 680px) { .forecast-test-banner { flex-wrap: wrap; padding: 1rem; } .forecast-test-orbit { display: none; } }
@media (max-width: 980px) {
  .hero { min-height: 0; padding-top: 3rem; }
  .signal-card { transform: none; }
  .product-grid { gap: .85rem; }
  .site-header { grid-template-columns: 1fr auto; }
  .build-status { display: none; }
}
@media (max-width: 680px) {
  .site-header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .9rem; padding: 1.1rem 0; margin: 0 5vw; }
  .brand { font-size: 1rem; }
  .brand-mark { width: 31px; height: 33px; }
  .primary-nav { margin: 0; gap: .1rem; }
  .primary-nav a { padding: .55rem .72rem; font-size: .73rem; }
  .hero { padding: 2.8rem 5vw; gap: 2.5rem; }
  .hero h1 { font-size: clamp(2.8rem, 11vw, 4rem); }
  .hero-summary { font-size: .94rem; }
  .product-card + .product-card { border: 1px solid var(--line); }
  .product-grid { gap: .85rem; }
  .data-foundation { border-radius: 20px; }
  body[data-section="fantasy"] .fantasy-current-lab { padding-top: 2rem; }
  .fantasy-current-lab .fantasy-lab-heading { gap: 1rem; margin-bottom: 1.3rem; }
  .fantasy-current-lab .fantasy-lab-heading h1 { font-size: clamp(2.3rem, 8.5vw, 3.4rem); }
  .fantasy-current-lab .research-status { min-width: 0; padding: .85rem 1rem; }
  .fantasy-current-lab .fantasy-value-controls { padding: 1rem; border-radius: 16px; }
  .fantasy-value-controls .fantasy-position-toggle label > span { padding: .5rem .6rem; }
  .fantasy-position-toggle [data-position-count] { display: none; }
  .fantasy-current-detail { border-radius: 16px; }
  .fantasy-tracker-toolbar { margin-top: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; scroll-behavior: auto !important; }
  .button-primary:hover { transform: none; }
}
