.rise-hub-hero--events.ev-sports-hero .rise-hub-hero__inner {
      grid-template-columns: minmax(0, 1fr);
    }

.pm-hero.rise-hub-hero {
      margin-bottom: clamp(2rem, 4vw, 2.75rem);
    }

.pm-card {
      position: relative;
      transition:
        transform 0.22s ease,
        box-shadow 0.28s ease,
        border-color 0.2s ease;
      border-left: 3px solid color-mix(in srgb, var(--cyan) 55%, #059669);
    }

.pm-card:hover {
      transform: translateY(-2px);
      box-shadow:
        0 14px 40px rgba(0, 0, 0, 0.22),
        0 0 0 1px color-mix(in srgb, var(--cyan) 12%, transparent);
    }

.pm-preview {
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      background: color-mix(in srgb, var(--bg-elevated) 68%, transparent);
      box-shadow:
        0 1px 0 color-mix(in srgb, #fff 8%, transparent) inset,
        0 20px 56px rgba(0, 0, 0, 0.28);
    }

.pm-filter-btn.is-active {
      box-shadow: 0 0 20px color-mix(in srgb, var(--cyan) 25%, transparent);
    }

.sports-pools {
      position: relative;
      color: var(--text);
    }

.sports-pools__bokeh {
      display: none;
    }

.sports-pools__access-callout {
      display: none !important;
    }

.sports-pools__access-callout:empty {
      display: none;
    }

.sports-pools__main-event {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      gap: 1.15rem;
      padding: clamp(1.25rem, 2.8vw, 1.9rem);
      /* Reserve hero space up-front so async fixture hydration does not grow the card later. */
      min-height: clamp(19.5rem, 30vw, 23rem);
      margin-bottom: 1.25rem;
      border-radius: 1.1rem;
      border: 1px solid var(--hero-border);
      background:
        linear-gradient(155deg, color-mix(in srgb, var(--bg-elevated) 90%, transparent) 0%, color-mix(in srgb, var(--bg-page) 88%, transparent) 68%);
      box-shadow: none;
      overflow: hidden;
    }

/** Let odds column absorb slack so news + pool strip can sit on the card bottom edge. */
.sports-pools__main-event > .sports-pools__main-odds {
      flex: 1 1 auto;
      min-height: 0;
    }

/** Main event hero + right rail (Breaking news / Hot topics) — wide viewports only. */
.sports-pools__main-showdown {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      margin-bottom: 1.25rem;
      align-items: stretch;
    }

@media (min-width: 1024px) {
  .sports-pools__main-showdown {
        display: grid;
        /* Wider rail so Breaking news / Hot topics titles wrap less aggressively */
        grid-template-columns: minmax(0, 1fr) minmax(260px, min(34vw, 400px));
        gap: 1rem 1.55rem;
        /* Match main event card bottom to the shorter/taller rail (Hot topics is last in the column). */
        align-items: stretch;
      }

  .sports-pools__main-showdown .sports-pools__main-event {
        display: flex;
        flex-direction: column;
        height: 100%;
        min-height: 0;
        /* Wide hero column — odds row stays aligned to this shell */
        max-width: min(100%, 72rem);
        width: 100%;
        justify-self: start;
      }

  .sports-pools__main-showdown .sports-pools__main-odds {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        min-height: 0;
        width: 100%;
      }
}

.sports-pools__main-showdown .sports-pools__main-event {
      margin-bottom: 0;
    }

/** Match hero shell width so odds row does not outgrow the main-event card on wide viewports. */
.sports-pools__main-showdown .sports-pools__main-odds {
      max-width: min(100%, 72rem);
    }

.sports-pools__main-showdown .sports-pools__card-match.sports-pools__card-match--hero {
      max-width: min(100%, 72rem);
    }

/** Sports rail: no card chrome — flat lists on the page surface only. */
.sports-pools__side-feed--rail-pro {
      display: flex;
      flex-direction: column;
      gap: 1.35rem;
      min-width: 0;
      border: none;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      overflow: visible;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-block {
      margin: 0;
      padding: 0;
      border: none;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-block:first-child {
      border-bottom: none;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-h {
      margin: 0 0 0.42rem;
      padding: 0;
      border: none;
      border-bottom: none;
      font-size: 0.82rem;
      font-weight: 900;
      letter-spacing: 0.02em;
      line-height: 1.2;
      color: var(--text);
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-h-link {
      display: inline-flex;
      align-items: baseline;
      justify-content: flex-start;
      flex-wrap: nowrap;
      gap: 0.15em;
      width: 100%;
      color: inherit;
      text-decoration: none;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-h-link:hover {
      color: color-mix(in srgb, var(--cyan) 38%, var(--text));
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-h-chev {
      flex-shrink: 0;
      opacity: 0.45;
      font-weight: 500;
      font-size: 1.02em;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-list {
      list-style: none;
      margin: 0;
      padding: 0;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-row {
      display: grid;
      align-items: start;
      column-gap: 0.55rem;
      row-gap: 0.12rem;
      padding: 0.42rem 0;
      margin: 0;
      border-radius: 0;
      text-decoration: none;
      color: inherit;
      border-bottom: 1px solid color-mix(in srgb, var(--hero-border) 28%, transparent);
      background: transparent;
      box-shadow: none;
      transition: color 0.12s ease;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-list li:last-child .sports-pools__side-row {
      border-bottom: none;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-row:hover {
      background: transparent;
      color: color-mix(in srgb, var(--text) 94%, var(--cyan));
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-row:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--cyan) 45%, var(--hero-border));
      outline-offset: 2px;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-row--news {
      grid-template-columns: 1.25rem minmax(0, 1fr) minmax(4.2rem, 32%);
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-row--news .sports-pools__side-title {
      min-width: 0;
      overflow-wrap: break-word;
      word-break: normal;
      hyphens: manual;
      text-wrap: pretty;
      align-self: start;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-idx {
      font-size: 0.78rem;
      font-weight: 600;
      color: color-mix(in srgb, var(--text-muted) 92%, var(--text));
      padding-top: 0;
      line-height: 1.38;
      font-variant-numeric: tabular-nums;
      align-self: start;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-title {
      display: block;
      font-size: 0.78rem;
      font-weight: 400;
      line-height: 1.38;
      color: var(--text);
      align-self: start;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-stat--rail {
      text-align: right;
      min-width: 0;
      align-self: start;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: flex-start;
      gap: 0.1rem;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-stat-main {
      display: block;
      font-size: 0.86rem;
      font-weight: 500;
      letter-spacing: -0.02em;
      color: var(--text);
      line-height: 1.12;
      font-variant-numeric: tabular-nums;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-row--news .sports-pools__side-stat-main {
      font-size: 0.72rem;
      font-weight: 400;
      line-height: 1.38;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-stat-sub {
      display: block;
      margin-top: 0;
      font-size: 0.62rem;
      font-weight: 400;
      line-height: 1.3;
      color: color-mix(in srgb, var(--text-muted) 88%, var(--text));
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-row--hot {
      grid-template-columns: 1.25rem minmax(0, 1fr) auto;
      align-items: center;
      column-gap: 0.5rem;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-hot-emoji {
      display: inline-flex;
      align-items: center;
      justify-content: flex-end;
      flex-shrink: 0;
      font-size: 1.05rem;
      line-height: 1;
    }

.sports-pools__side-feed--rail-pro .sports-pools__side-topic {
      font-size: 0.78rem;
      font-weight: 400;
      min-width: 0;
      line-height: 1.35;
      color: var(--text);
      align-self: start;
    }

.sports-pools__side-stat-sub--up {
      color: color-mix(in srgb, #34d399 78%, var(--text-muted));
    }

.sports-pools__main-event::before,
    .sports-pools__main-event::after {
      display: none;
      content: none;
    }

.sports-pools__main-kicker {
      position: relative;
      z-index: 1;
      margin: 0 0 0.52rem;
      font-size: clamp(1.2rem, 3.6vw, 2.15rem);
      font-weight: 900;
      letter-spacing: -0.025em;
      line-height: 1.12;
      text-transform: none;
      text-wrap: balance;
      color: var(--text);
    }

/** Before first featured paint: no visible kicker copy (sr-only label stays for `aria-labelledby`). */
.sports-pools__main-kicker.sports-pools__main-kicker--pending {
      min-height: 1.12em;
    }

.sports-pools__main-title {
      position: relative;
      z-index: 1;
      margin: 0 0 0.52rem;
      font-size: clamp(1.28rem, 2.9vw, 1.72rem);
      font-weight: 900;
      letter-spacing: 0.01em;
      line-height: 1.12;
      text-wrap: balance;
    }

.sports-pools__main-meta {
      position: relative;
      z-index: 1;
      margin: 0 0 1.15rem;
      font-size: 0.94rem;
      color: var(--text-muted);
      max-width: min(100%, 62rem);
      line-height: 1.45;
    }

.sports-pools__main-when {
      color: color-mix(in srgb, var(--text-muted) 88%, var(--text) 12%);
      font-weight: 650;
    }

/** Empty slot before kickoff line is painted — reserves one line without visible “loading” copy. */
.sports-pools__main-when--pending {
      display: inline-block;
      min-height: 1.35em;
      min-width: min(100%, 22rem);
      vertical-align: bottom;
    }

/* Hero row: UTC kickoff inline (no capsule — see .sports-pools__pill for grid/card tags). */
.sports-pools__hero-kickoff {
      display: inline;
      font-weight: inherit;
      color: inherit;
    }

.sports-pools__main-meta-sep {
      opacity: 0.72;
      font-weight: 800;
      margin: 0 0.12em;
    }

.sports-pools__pill {
      display: inline-block;
      font-size: 0.61rem;
      font-weight: 850;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      vertical-align: 0.12em;
      margin-right: 0.12rem;
      padding: 0.15rem 0.42rem;
      border-radius: 999px;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 78%, transparent);
      color: var(--text);
    }

.sports-pools__pill--today {
      border-color: rgba(255, 255, 255, 0.78);
    }

.sports-pools__main-odds {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      justify-content: flex-start;
      gap: 0.58rem;
      /* Was 48rem — too narrow for hero crests + long club names; hero row is capped separately */
      max-width: min(100%, 72rem);
      width: 100%;
      min-height: clamp(11rem, 22vw, 15rem);
      margin: 0 auto;
    }

/** Hero foot row: Match pulse (left) + on-chain pool mini-cards (right). */
.sports-pools__main-odds-foot {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      justify-content: space-between;
      gap: 0.65rem 1.1rem;
      margin-top: auto;
      width: 100%;
      min-width: 0;
      padding-top: 0.35rem;
    }

.sports-pools__main-odds-foot > [data-rise-hero-news] {
      margin-top: 0;
      flex: 1 1 min(10.5rem, 48%);
      max-width: min(100%, 24rem);
    }

.sports-pools__main-odds-foot > .sports-pools__card-pool-strip {
      flex: 0 1 min(100%, 22rem);
      margin: 0 0 0.1rem;
      margin-left: auto;
      align-self: flex-end;
      width: min(100%, 22rem);
      max-width: min(52%, 22rem);
      text-align: left;
    }

.sports-pools__main-odds-foot > .sports-pools__card-pool-strip .sports-pools__card-pool-strip__cards {
      width: 100%;
      justify-items: stretch;
    }

/** Legacy: pool strip mounted directly on `.main-odds` (non-hero hosts). */
.sports-pools__main-odds > .sports-pools__card-pool-strip {
      margin-top: auto;
      align-self: flex-start;
      width: 100%;
      max-width: min(100%, 72rem);
      padding-top: 0.25rem;
      margin-bottom: 0.1rem;
      text-align: left;
    }

.sports-pools__main-odds > .sports-pools__card-pool-strip .sports-pools__card-pool-strip__cards {
      width: 100%;
      justify-items: stretch;
    }

.sports-pools__main-odds > .sports-pools__card-match--hero {
      align-self: center;
      width: 100%;
      max-width: 72rem;
    }

.sports-pools__main-odds > .sports-pools__stake-row {
      align-self: center;
    }

/** Main-event hero: dual-club news ticker (left side of `.main-odds-foot`). */
.sports-pools__hero-news {
      align-self: flex-start;
      width: min(100%, clamp(10.5rem, 36%, 24rem));
      max-width: 100%;
      margin: 0.15rem 0 0;
      padding-top: 0.35rem;
      border-top: 1px solid color-mix(in srgb, var(--hero-border) 55%, transparent);
    }

.sports-pools__hero-news[hidden] {
      display: none !important;
    }

.sports-pools__hero-news__eyebrow {
      font-size: 0.58rem;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--text-muted) 88%, var(--text) 12%);
      margin: 0 0 0.32rem;
    }

.sports-pools__hero-news__mask {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      overflow: hidden;
      height: clamp(7rem, 20vh, 11.5rem);
      mask-image: linear-gradient(
        180deg,
        transparent 0%,
        #000 10%,
        #000 90%,
        transparent 100%
      );
      -webkit-mask-image: linear-gradient(
        180deg,
        transparent 0%,
        #000 10%,
        #000 90%,
        transparent 100%
      );
    }

.sports-pools__hero-news--stub .sports-pools__hero-news__mask {
      mask-image: none;
      -webkit-mask-image: none;
    }

.sports-pools__hero-news--stub .sports-pools__hero-news__track {
      display: none !important;
    }

.sports-pools__hero-news__stub {
      display: none;
      padding: 0.12rem 0 0;
      text-align: left;
    }

.sports-pools__hero-news--stub .sports-pools__hero-news__stub {
      display: block !important;
    }

.sports-pools__hero-news__stub-line {
      margin: 0;
      font-size: 0.72rem;
      font-weight: 650;
      line-height: 1.35;
      color: color-mix(in srgb, var(--text-muted) 22%, var(--text) 78%);
    }

.sports-pools__hero-news__stub-line--muted {
      color: color-mix(in srgb, var(--text-muted) 55%, var(--text) 45%);
    }

.sports-pools__hero-news__stub-nav {
      margin: 0.45rem 0 0;
      font-size: 0.68rem;
      font-weight: 650;
      line-height: 1.4;
    }

.sports-pools__hero-news__stub-link {
      color: color-mix(in srgb, var(--cyan) 82%, var(--text) 18%);
      text-decoration: none;
    }

.sports-pools__hero-news__stub-link:hover {
      text-decoration: underline;
    }

.sports-pools__hero-news__track {
      display: flex;
      flex-direction: column;
      gap: 0.62rem;
      width: 100%;
    }

.sports-pools__hero-news--marquee .sports-pools__hero-news__track {
      animation: rise-hero-news-marquee linear infinite;
      animation-duration: var(--rise-hero-news-duration, 42s);
    }

@media (prefers-reduced-motion: reduce) {
  .sports-pools__hero-news--marquee .sports-pools__hero-news__track {
        animation: none;
      }
    }

@keyframes rise-hero-news-marquee {
      from {
        transform: translateY(0);
      }
      to {
        transform: translateY(-50%);
      }
    }

.sports-pools__hero-news__row {
      display: block;
      flex-shrink: 0;
      text-decoration: none;
      color: inherit;
      padding: 0.08rem 0;
      border-radius: 0.35rem;
      transition: opacity 0.12s ease, background 0.12s ease;
    }

.sports-pools__hero-news__row:hover {
      background: color-mix(in srgb, var(--text) 5%, transparent);
    }

.sports-pools__hero-news__meta {
      font-size: 0.66rem;
      font-weight: 650;
      letter-spacing: 0.03em;
      color: color-mix(in srgb, var(--text-muted) 78%, var(--text) 22%);
      margin-bottom: 0.12rem;
    }

.sports-pools__hero-news__headline {
      font-size: 0.74rem;
      font-weight: 780;
      line-height: 1.28;
      color: var(--text);
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

.sports-pools__odd {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0.26rem;
      padding: 0.72rem 0.64rem;
      border-radius: 0.64rem;
      border: 1px solid var(--hero-border);
      background:
        linear-gradient(140deg, color-mix(in srgb, var(--bg-elevated) 86%, transparent) 0%, color-mix(in srgb, var(--bg-page) 84%, transparent) 100%);
      font: inherit;
      color: var(--text);
      cursor: not-allowed;
      opacity: 1;
    }

/* Hero + grid: five columns — home crest (edge) | home name | vs | away name | away crest (edge). */
.sports-pools__card-match.sports-pools__card-match--hero {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr) auto;
      align-items: center;
      column-gap: clamp(0.55rem, 2vw, 1.05rem);
      row-gap: 0.35rem;
      width: 100%;
      max-width: 72rem;
      margin: 0 auto;
      min-width: 0;
      padding-top: 0.35rem;
      font-size: clamp(1.15rem, 2.4vw, 1.65rem);
      line-height: 1.1;
      font-weight: 900;
    }

.sports-pools__card-row--hero {
      max-width: 420px;
      margin: 0 auto;
    }

.sports-pools__card-match.sports-pools__card-match--hero .sports-pools__matchup-name--home,
.sports-pools__card-match.sports-pools__card-match--hero .sports-pools__matchup-name--away {
      font-size: clamp(1.05rem, 2.35vw, 1.78rem);
      line-height: 1.1;
      font-weight: 900;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

.sports-pools__card-match.sports-pools__card-match--hero .sports-pools__matchup-name--home {
      text-align: center;
    }

.sports-pools__card-match.sports-pools__card-match--hero .sports-pools__matchup-name--away {
      text-align: center;
    }

.sports-pools__card-match.sports-pools__card-match--hero .sports-pools__matchup-crest--home {
      justify-self: start;
    }

.sports-pools__card-match.sports-pools__card-match--hero .sports-pools__matchup-crest--away {
      justify-self: end;
    }

.sports-pools__card-match.sports-pools__card-match--hero .sports-pools__vs {
      font-size: clamp(0.82rem, 1.55vw, 1.02rem);
      line-height: 1;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      font-weight: 900;
      color: var(--text-muted);
      padding: 0 0.25rem;
      white-space: nowrap;
    }

.sports-pools__card-match.sports-pools__card-match--hero .sports-pools__team-crest {
      width: clamp(80px, 15vw, 120px);
      height: clamp(80px, 15vw, 120px);
      object-fit: contain;
    }

.sports-pools__odd-label {
      font-size: 0.68rem;
      font-weight: 850;
      letter-spacing: 0.11em;
      text-transform: uppercase;
      color: var(--text-muted);
    }

.sports-pools__odd-line {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 0.35rem;
      font-size: 0.95rem;
      font-weight: 850;
    }

.sports-pools__team-line {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      min-width: 0;
    }

.sports-pools__team-crest {
      width: 28px;
      height: 28px;
      border-radius: 0;
      border: 0;
      background: transparent;
      object-fit: contain;
      flex: 0 0 28px;
    }

.sports-pools__team-crest--placeholder {
      background: color-mix(in srgb, var(--text, #f4f6fb) 7%, transparent);
      border-radius: 999px;
      box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--text, #f4f6fb) 14%, transparent);
    }

.sports-pools__odd-pct {
      font-size: 0.9rem;
      font-weight: 800;
      color: var(--text);
    }

#sports-pools-board {
      scroll-margin-top: 1.5rem;
    }

#sports-pools-played {
      scroll-margin-top: 1.5rem;
    }

#sports-pools-dashboard {
      scroll-margin-top: 1.5rem;
    }

.sports-pools__dash-mount {
      width: 100%;
      max-width: 100%;
      margin: 0 auto;
      box-sizing: border-box;
    }

/** Full width of `.page-sports-pools` (shell max ~1520px) — same as main event + board, not the 52rem nav cap */
.sports-pools__played-mount {
      width: 100%;
      max-width: 100%;
      margin: 0;
      box-sizing: border-box;
    }

/* Reserve tab viewport height up-front so switching/loading panels does not reflow the page. */
.sports-pools__panel {
      min-height: clamp(30rem, 62vh, 52rem);
    }

.sports-pools__recent-empty-msg {
      margin: 0 0 1rem;
      font-size: 0.78rem;
      font-weight: 650;
      line-height: 1.45;
      color: color-mix(in srgb, var(--text-muted) 38%, var(--text));
    }

.sports-pools__rise-callout {
      margin: 0 0 1rem;
      box-sizing: border-box;
    }

.sports-pools__rise-callout[hidden] {
      display: none !important;
    }

.sports-pools__rise-callout-card {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      gap: 0.85rem 1rem;
      padding: 1rem 1.1rem;
      border-radius: 0.75rem;
      border: 1px solid color-mix(in srgb, var(--cyan) 38%, var(--hero-border));
      background: linear-gradient(
        165deg,
        color-mix(in srgb, var(--cyan) 14%, var(--bg-elevated) 86%),
        color-mix(in srgb, var(--bg-elevated) 92%, var(--bg-page) 8%)
      );
      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
    }

.sports-pools__rise-callout-icon {
      flex: 0 0 auto;
      line-height: 0;
    }

.sports-pools__rise-callout-icon img {
      display: block;
      border-radius: 999px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    }

.sports-pools__rise-callout-body {
      flex: 1 1 12rem;
      min-width: 0;
    }

.sports-pools__rise-callout-title {
      margin: 0 0 0.35rem;
      font-size: 0.95rem;
      font-weight: 850;
      letter-spacing: 0.02em;
      line-height: 1.25;
      color: var(--text);
    }

.sports-pools__rise-callout-text {
      margin: 0;
      font-size: 0.78rem;
      font-weight: 650;
      line-height: 1.45;
      color: color-mix(in srgb, var(--text-muted) 35%, var(--text) 65%);
    }

.sports-pools__rise-callout-actions {
      flex: 0 0 auto;
      align-self: center;
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
    }

.sports-pools__rise-callout-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.58rem 1rem;
      border-radius: 0.52rem;
      font: inherit;
      font-size: 0.78rem;
      font-weight: 820;
      text-decoration: none;
      cursor: pointer;
      border: 1px solid color-mix(in srgb, var(--cyan) 42%, transparent);
      /* High contrast on cyan gradient (dark theme --bg-page is dark and was hiding the label). */
      color: #ffffff;
      background: linear-gradient(
        170deg,
        color-mix(in srgb, var(--cyan) 78%, transparent),
        color-mix(in srgb, var(--cyan) 92%, transparent)
      );
      box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
      transition: filter 0.14s ease, transform 0.14s ease;
    }

.sports-pools__rise-callout-btn:hover {
      filter: brightness(1.05);
    }

.sports-pools__rise-callout-btn:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--cyan) 55%, var(--hero-border));
      outline-offset: 2px;
    }

.sports-pools__board {
      position: relative;
      z-index: 1;
      transition: opacity 0.25s ease, filter 0.25s ease;
    }

.sports-pools__filters {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0.5rem;
      margin-bottom: 1rem;
    }

.sports-pools__filters-head {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0.45rem;
      min-width: 0;
    }

.sports-pools__filters-heading {
      margin: 0;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-muted);
      line-height: 1.35;
    }

.sports-pools__filters-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 0.45rem;
      align-items: center;
    }

/** Polymarket-style board header: title row + icon bar, optional search, advanced selects + checkboxes. */
.sports-pools__filters-head-row--title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.65rem 1rem;
      flex-wrap: wrap;
      min-width: 0;
    }

.sports-pools__filters-ico-bar {
      display: inline-flex;
      align-items: center;
      gap: 0.28rem;
      flex-shrink: 0;
    }

/** League chips left; search row narrow, right-aligned (search toggles from toolbar). */
.sports-pools__filters-chip-search-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.5rem 0.65rem;
      width: 100%;
      min-width: 0;
    }

.sports-pools__filters-chip-search-row .sports-pools__filters-chips {
      flex: 1 1 auto;
      min-width: 0;
      justify-content: flex-start;
    }

.sports-pools__filters-chip-search-row .sports-pools__filters-search-row {
      flex: 0 1 min(10.5rem, 34vw);
      max-width: min(10.5rem, 34vw);
      min-width: 0;
      width: min(10.5rem, 34vw);
      margin-top: 0;
      margin-left: auto;
      box-sizing: border-box;
    }

.sports-pools__filters-ico-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.35rem;
      height: 2.35rem;
      padding: 0;
      border-radius: 0.55rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 90%, transparent);
      background: color-mix(in srgb, var(--bg-elevated) 72%, transparent);
      color: var(--text);
      cursor: pointer;
      transition:
        border-color 0.18s ease,
        background 0.18s ease,
        color 0.18s ease;
    }

.sports-pools__filters-ico-btn:hover {
      border-color: color-mix(in srgb, var(--cyan) 35%, var(--hero-border));
      background: color-mix(in srgb, var(--bg-elevated) 88%, transparent);
    }

.sports-pools__filters-ico-btn[aria-pressed="true"] {
      border-color: color-mix(in srgb, var(--cyan) 55%, var(--hero-border));
      color: var(--cyan);
      background: color-mix(in srgb, var(--cyan) 12%, var(--bg-elevated));
    }

.sports-pools__filters-ico-btn:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--cyan) 55%, var(--hero-border));
      outline-offset: 2px;
    }

.sports-pools__toolbar-svg {
      width: 1.12rem;
      height: 1.12rem;
      display: block;
    }

.sports-pools__filters-search-row {
      margin-top: 0.15rem;
    }

.sports-pools__filters-search-input {
      width: 100%;
      box-sizing: border-box;
      padding: 0.48rem 0.62rem;
      border-radius: 0.55rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 82%, transparent);
      color: var(--text);
      font: inherit;
      font-size: 0.82rem;
    }

.sports-pools__filters-advanced {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-start;
      gap: 0.45rem 0.65rem;
      /* Below league chips — keep clear separation from the chip row */
      margin-top: clamp(0.55rem, 1.4vw, 0.9rem);
    }

.sports-pools__filters-advanced[hidden] {
      display: none !important;
    }

.sports-pools__toolbar-dd {
      display: inline-flex;
      flex-direction: column;
      gap: 0.12rem;
      min-width: 0;
    }

.sports-pools__toolbar-dd-label {
      font-size: 0.58rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--text-muted) 55%, var(--text));
    }

.sports-pools__toolbar-select {
      appearance: none;
      -webkit-appearance: none;
      padding: 0.34rem 1.85rem 0.34rem 0.55rem;
      border-radius: 999px;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 78%, transparent);
      color: var(--text);
      font: inherit;
      font-size: 0.72rem;
      font-weight: 650;
      cursor: pointer;
      background-image: linear-gradient(45deg, transparent 50%, var(--text-muted) 50%),
        linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);
      background-position: calc(100% - 0.65rem) 55%, calc(100% - 0.45rem) 55%;
      background-size: 0.28rem 0.28rem, 0.28rem 0.28rem;
      background-repeat: no-repeat;
    }

.sports-pools__toolbar-check {
      display: inline-flex;
      align-items: center;
      gap: 0.28rem;
      font-size: 0.72rem;
      font-weight: 600;
      color: color-mix(in srgb, var(--text-muted) 22%, var(--text));
      cursor: pointer;
      user-select: none;
    }

.sports-pools__toolbar-check input {
      width: 0.95rem;
      height: 0.95rem;
      accent-color: var(--cyan);
      cursor: pointer;
    }

.sports-pools__card-save-footer.sports-pools__card-save-footer--head {
      margin: 0;
      padding: 0;
      border: 0;
      flex: 0 0 auto;
      align-self: center;
      display: flex;
      align-items: center;
      justify-content: flex-end;
    }

.sports-pools__card-outcome-band {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      max-width: 100%;
      margin-top: 0.85rem;
      min-width: 0;
      flex-shrink: 0;
      align-self: stretch;
      padding-right: 2.55rem;
      box-sizing: border-box;
    }

.sports-pools__card-outcome-band .sports-pools__stake-row {
      margin-top: 0;
    }

.sports-pools__card-save-footer.sports-pools__card-save-footer--corner {
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      margin: 0;
      padding: 0;
      border: 0;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      pointer-events: auto;
    }

.sports-pools__card-save-footer {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      margin-top: 0.35rem;
      padding-top: 0.28rem;
      border-top: 1px solid color-mix(in srgb, var(--hero-border) 55%, transparent);
    }

.sports-pools__card-save-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.1rem;
      height: 2.1rem;
      padding: 0;
      border: none;
      border-radius: 0.45rem;
      background: transparent;
      color: color-mix(in srgb, var(--text-muted) 55%, var(--text));
      cursor: pointer;
      transition: color 0.15s ease, background 0.15s ease;
    }

.sports-pools__card-save-btn:hover {
      color: var(--text);
      background: color-mix(in srgb, var(--text) 6%, transparent);
    }

.sports-pools__card-save-btn.is-saved {
      color: var(--cyan);
    }

.sports-pools__card-save-btn:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--cyan) 55%, var(--hero-border));
      outline-offset: 2px;
    }

.sports-pools__save-wallet-tip {
      position: fixed;
      z-index: 12000;
      max-width: min(14rem, calc(100vw - 1rem));
      padding: 0.36rem 0.58rem;
      border-radius: 0.42rem;
      font-size: 0.72rem;
      font-weight: 780;
      letter-spacing: 0.02em;
      line-height: 1.25;
      color: #f8fafc;
      text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
      background: linear-gradient(
        160deg,
        color-mix(in srgb, var(--cyan) 72%, #0f172a),
        color-mix(in srgb, var(--cyan) 42%, #0b1224)
      );
      border: 1px solid color-mix(in srgb, var(--cyan) 35%, transparent);
      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38);
      pointer-events: none;
      animation: rise-sports-save-tip-in 0.14s ease-out;
    }

@keyframes rise-sports-save-tip-in {
      from {
        opacity: 0;
        transform: translateY(4px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

.sports-pools__filters-head-row--title .sports-pools__filters-heading {
      flex: 1 1 auto;
      min-width: 0;
    }

.sports-pools__chip {
      appearance: none;
      -webkit-appearance: none;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 75%, transparent);
      color: var(--text);
      font: inherit;
      font-size: 0.72rem;
      font-weight: 750;
      padding: 0.38rem 0.65rem;
      border-radius: 999px;
      cursor: pointer;
      transition:
        color 0.16s ease,
        background 0.16s ease,
        background-color 0.16s ease,
        border-color 0.16s ease,
        box-shadow 0.16s ease,
        filter 0.16s ease;
    }

/** Featured league row + recent league chips: inactive hover uses theme tokens (dark default). */
.sports-pools__chip[data-rise-grid-filter]:not(.is-active):not(.sports-pools__chip--muted):hover,
.sports-pools__recent-filters .sports-pools__chip:not(.is-active):not(.sports-pools__chip--muted):hover {
      background: color-mix(in srgb, var(--bg-elevated) 82%, var(--cyan) 18%);
      border-color: color-mix(in srgb, var(--hero-border) 38%, var(--cyan) 62%);
      color: var(--text);
      box-shadow: 0 0 0 1px color-mix(in srgb, var(--cyan) 18%, transparent);
    }

.sports-pools__chip[data-rise-grid-filter].sports-pools__chip--live:not(.is-active):not(.sports-pools__chip--muted):hover {
      background: color-mix(in srgb, var(--cyan) 22%, var(--bg-elevated));
      border-color: color-mix(in srgb, var(--cyan) 58%, var(--hero-border));
    }

.sports-pools__chip[data-rise-grid-filter].sports-pools__chip--soon:not(.is-active):not(.sports-pools__chip--muted):hover {
      background: color-mix(in srgb, var(--cyan) 16%, var(--bg-elevated));
      border-color: color-mix(in srgb, var(--cyan) 48%, var(--hero-border));
    }

.sports-pools__chip[data-rise-grid-filter].sports-pools__chip--result:not(.is-active):not(.sports-pools__chip--muted):hover {
      background: color-mix(in srgb, #5b21b6 26%, var(--bg-elevated));
      border-color: color-mix(in srgb, #a78bfa 58%, var(--hero-border));
    }

.sports-pools__chip:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--cyan) 45%, var(--hero-border));
      outline-offset: 2px;
    }

.sports-pools__chip.is-active {
      border-color: color-mix(in srgb, var(--cyan) 55%, #172554);
      background: var(--cyan);
      color: #ffffff;
      font-weight: 800;
      box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    }

.sports-pools__chip.is-active:hover {
      filter: brightness(1.07);
      border-color: color-mix(in srgb, var(--cyan) 65%, #1e3a8a);
    }

.sports-pools__chip.is-active:focus-visible {
      outline-color: color-mix(in srgb, var(--cyan) 75%, #fff);
    }

.sports-pools__recent-filters {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.45rem 0.55rem;
      margin: 0 0 0.75rem;
    }

.sports-pools__recent-filters[hidden] {
      display: none !important;
    }

.sports-pools__recent-filters-label {
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-right: 0.25rem;
      width: 100%;
    }

@media (min-width: 520px) {
  .sports-pools__recent-filters-label {
        width: auto;
      }
}

.sports-pools__grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 0.72rem;
      align-items: start;
    }

@media (min-width: 720px) {
  .sports-pools__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
}

/** Featured fixture cards: three columns on wide viewports (Tailwind-style grid-cols-3). */
@media (min-width: 1100px) {
  .sports-pools__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
}

.sports-pools__grid-loading {
      grid-column: 1 / -1;
      margin: 0;
      padding: 1.35rem 0.75rem 1.1rem;
      min-height: 11.75rem;
      text-align: center;
      font-size: 0.86rem;
      font-weight: 650;
      color: var(--text-muted, #94a3b8);
      letter-spacing: 0.04em;
    }

/** Placeholder shell only — no visible loading message (hydrator removes this node when cards mount). */
.sports-pools__grid-loading.sports-pools__grid-loading--silent {
      color: transparent;
      user-select: none;
      pointer-events: none;
    }

.sports-pools__board-empty {
      margin: 0.35rem 0 0.5rem;
      font-size: 0.78rem;
      font-weight: 650;
      color: var(--text-muted, #94a3b8);
      text-align: center;
    }

.sports-pools__recent {
      margin-top: 1.25rem;
      padding: 1rem 0.85rem 1.05rem;
      border-radius: 0.75rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 88%, transparent);
    }

.sports-pools__recent-head {
      margin: 0 0 0.35rem;
      font-size: 0.95rem;
      font-weight: 800;
      letter-spacing: 0.04em;
      color: var(--text);
    }

.sports-pools__recent-sub {
      margin: 0 0 0.75rem;
      font-size: 0.78rem;
      line-height: 1.45;
      color: var(--text-muted, #94a3b8);
    }

.sports-pools__recent-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 0.55rem;
    }

/** `.recent-item` sets `display:flex` — it overrides the `[hidden]` UA rule, so filtering must force hide. */
.sports-pools__recent-list > li[hidden] {
      display: none !important;
    }

.sports-pools__recent-item {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0.42rem;
      padding: 0.58rem 0.45rem 0.52rem;
      border-radius: 0.5rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 80%, transparent);
      background: color-mix(in srgb, var(--bg-page) 90%, transparent);
    }

/** Recent-results list tag — centred, muted. */
.sports-pools__recent-tag {
      text-align: center;
      font-size: 0.62rem;
      font-weight: 850;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--text-muted);
      line-height: 1.35;
    }

.sports-pools__recent-tag-when {
      font-weight: 650;
      letter-spacing: 0.05em;
      text-transform: none;
    }

.sports-pools__recent-body {
      display: block;
      min-width: 0;
    }

.sports-pools__recent-item--click {
      cursor: pointer;
      outline-offset: 2px;
    }

.sports-pools__recent-item--click:hover {
      border-color: color-mix(in srgb, var(--hero-border) 100%, transparent);
      background: color-mix(in srgb, var(--bg-elevated) 55%, var(--bg-page) 45%);
    }

.sports-pools__recent-item--click:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--text-muted) 70%, transparent);
    }

.sports-pools__recent-match {
      font-size: 0.78rem;
      font-weight: 650;
      min-width: 0;
    }

/** Same grid as league cards; `--ft` adds home/away score columns flanking “vs”. */
.sports-pools__recent-item .sports-pools__card-match.sports-pools__recent-match {
      padding-top: 0;
      padding-bottom: 0;
      margin: 0;
      font-size: 0.78rem;
      font-weight: 650;
      line-height: 1.25;
    }

.sports-pools__recent-item .sports-pools__card-match.sports-pools__recent-match.sports-pools__card-match--ft {
      grid-template-columns: auto minmax(0, 1fr) auto auto auto minmax(0, 1fr) auto;
      column-gap: clamp(0.32rem, 1.4vw, 0.72rem);
    }

.sports-pools__recent-item .sports-pools__matchup-score {
      font-size: 0.88rem;
      font-weight: 800;
      font-variant-numeric: tabular-nums;
      color: var(--text);
      line-height: 1.2;
    }

.sports-pools__recent-item .sports-pools__matchup-score--home {
      justify-self: end;
      padding-right: 0.08rem;
    }

.sports-pools__recent-item .sports-pools__matchup-score--away {
      justify-self: start;
      padding-left: 0.08rem;
    }

.sports-pools__recent-match .sports-pools__vs {
      opacity: 0.75;
      font-weight: 700;
      margin: 0;
      padding: 0 0.1rem;
      font-size: 0.62rem;
    }

.sports-pools__recent-view {
      justify-self: end;
    }

.sports-pools__card {
      border-radius: 0.75rem;
      border: 1px solid var(--hero-border);
      padding: 1.05rem 1rem 1.02rem;
      /* Keep card shell height stable before team names/buttons are injected. */
      min-height: 12.5rem;
      background:
        linear-gradient(155deg, color-mix(in srgb, var(--bg-elevated) 90%, transparent) 0%, color-mix(in srgb, var(--bg-page) 88%, transparent) 68%);
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0.56rem;
      position: relative;
      transition: border-color 0.22s ease, transform 0.2s ease, background 0.24s ease;
    }

/** On-chain pool summary: full width, pinned to card bottom (flex + margin-top: auto). */
.sports-pools__grid > .sports-pools__card > .sports-pools__card-pool-strip {
      margin-top: auto;
      width: 100%;
      align-self: stretch;
    }

.sports-pools__grid > .sports-pools__card > .sports-pools__card-pool-strip--empty {
      width: 100%;
      max-width: none;
    }

/** Leagues with no featured match: JS sets [hidden]; force out of layout (display:grid would otherwise show empty black shells). */
.sports-pools__card[hidden] {
      display: none !important;
    }

.sports-pools__card:hover {
      transform: translateY(-1px);
      border-color: var(--hero-border);
      background:
        linear-gradient(145deg, color-mix(in srgb, var(--bg-elevated) 92%, transparent) 0%, color-mix(in srgb, var(--bg-page) 90%, transparent) 78%);
    }

/** Grid fixture cards only: less dead air between crest/vs block and Home / Draw / Away. */
.sports-pools__grid > .sports-pools__card {
      gap: 0.34rem;
      min-height: 10.5rem;
      padding: 0.92rem 0.95rem 0.88rem;
    }

.sports-pools__grid > .sports-pools__card > .sports-pools__card-match:not(.sports-pools__card-match--hero) {
      padding-top: 0.05rem;
      padding-bottom: 0;
    }

/** (Removed) Wide 3-column card interior — pool strip now always full width at card bottom via flex. */

/** Top row on grid cards: league (left) · kickoff UTC (centre) · countdown to lock (right, meta type). */
.sports-pools__card-head-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
      align-items: center;
      column-gap: 0.45rem;
      row-gap: 0.2rem;
      min-width: 0;
      width: 100%;
      flex-shrink: 0;
    }

.sports-pools__card-head-row .sports-pools__card-tag {
      justify-self: start;
      min-width: 0;
      width: auto;
      max-width: 100%;
      text-align: left;
      overflow: hidden;
      text-overflow: ellipsis;
    }

.sports-pools__card-head-row .sports-pools__card-sub {
      justify-self: center;
      margin: 0;
      max-width: min(12.5rem, 100%);
      text-align: center;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      font-size: 0.55rem;
      font-weight: 720;
      letter-spacing: 0.04em;
      text-transform: none;
    }

.sports-pools__card-head-row .sports-pools__card-head-countdown {
      justify-self: end;
      margin: 0;
      max-width: min(12.5rem, 100%);
      text-align: right;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      font-size: 0.55rem;
      font-weight: 720;
      letter-spacing: 0.04em;
      text-transform: none;
      line-height: 1.2;
      font-variant-numeric: tabular-nums;
      font-feature-settings: "tnum" 1;
    }

/** Smaller board cards: larger lock countdown (still meta weight, not hero kicker). */
.sports-pools__grid > .sports-pools__card .sports-pools__card-head-row .sports-pools__card-head-countdown {
      font-size: 0.74rem;
      font-weight: 760;
      letter-spacing: 0.035em;
      line-height: 1.15;
      max-width: min(14.5rem, 100%);
    }

/** Fixture grid ribbon: league (+ Live / Result). Kickoff line is `.sports-pools__card-head-row .sports-pools__card-sub` (grid cards); `.sports-pools__stake-row-kickoff` remains for cached markup / hero variants. */
.sports-pools__card-tag {
      font-size: 0.62rem;
      font-weight: 850;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-muted);
      white-space: nowrap;
      display: block;
      width: 100%;
      margin: 0;
      padding: 0;
      text-align: center;
      position: static;
      transform: none;
      z-index: 2;
      pointer-events: none;
    }

.sports-pools__live-badge {
      position: absolute;
      left: 0.65rem;
      top: 0.38rem;
      z-index: 3;
      display: inline-flex;
      align-items: center;
      gap: 0.28rem;
      padding: 0.14rem 0.42rem 0.14rem 0.36rem;
      border-radius: 999px;
      font-size: 0.52rem;
      font-weight: 900;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #fecaca;
      border: 1px solid color-mix(in srgb, #f87171 55%, var(--hero-border));
      background: color-mix(in srgb, #450a0a 55%, var(--bg-elevated));
      box-shadow: 0 0 12px rgba(248, 113, 113, 0.28);
      pointer-events: none;
    }

.sports-pools__live-badge-dot {
      width: 0.35rem;
      height: 0.35rem;
      border-radius: 50%;
      background: #f87171;
      animation: rise-pools-live-dot 1.2s ease-in-out infinite;
      box-shadow: 0 0 8px rgba(248, 113, 113, 0.75);
    }

@keyframes rise-pools-live-dot {
      0%,
      100% {
        transform: scale(1);
        opacity: 1;
      }
      50% {
        transform: scale(1.45);
        opacity: 0.85;
      }
    }

.sports-pools__hero-live-pill {
      display: inline-flex;
      align-items: center;
      justify-self: start;
      width: fit-content;
      max-width: 100%;
      align-self: start;
      flex-shrink: 0;
      gap: 0.38rem;
      margin: 0 0 0.35rem;
      padding: 0.18rem 0.55rem;
      border-radius: 999px;
      font-size: 0.58rem;
      font-weight: 900;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: #fecaca;
      border: 1px solid color-mix(in srgb, #f87171 50%, var(--hero-border));
      background: color-mix(in srgb, #450a0a 42%, transparent);
      box-shadow: 0 0 14px rgba(248, 113, 113, 0.22);
    }

.sports-pools__hero-live-dot {
      width: 0.42rem;
      height: 0.42rem;
      border-radius: 50%;
      background: #f87171;
      animation: rise-pools-live-dot 1.2s ease-in-out infinite;
      box-shadow: 0 0 10px rgba(248, 113, 113, 0.8);
    }

.sports-pools__card-match {
      margin: 0;
      font-size: clamp(0.8rem, 2.5vw, 1.05rem);
      font-weight: 900;
      line-height: 1.25;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr) auto;
      align-items: center;
      column-gap: clamp(0.45rem, 2vw, 0.95rem);
      row-gap: 0.25rem;
      min-width: 0;
      padding-top: 0.15rem;
      padding-bottom: 0.12rem;
    }

/**
 * Board cards only (names hidden): only crest / vs / crest are visible — use three tracks so the
 * cluster stays centred. The default five-column template keeps empty 1fr tracks when names are
 * display:none, which pushes crests to the edges.
 */
.sports-pools__grid > .sports-pools__card > .sports-pools__card-match:not(.sports-pools__card-match--hero) {
      grid-template-columns: 1fr auto 1fr;
    }

.sports-pools__matchup-crest {
      display: flex;
      align-items: center;
      flex-shrink: 0;
      min-width: 0;
    }

.sports-pools__grid > .sports-pools__card > .sports-pools__card-match:not(.sports-pools__card-match--hero) .sports-pools__matchup-crest--home {
      justify-self: end;
    }

.sports-pools__grid > .sports-pools__card > .sports-pools__card-match:not(.sports-pools__card-match--hero) .sports-pools__matchup-crest--away {
      justify-self: start;
    }

.sports-pools__card-match:not(.sports-pools__card-match--hero):not(.sports-pools__recent-match) .sports-pools__matchup-crest--home {
      justify-self: start;
    }

.sports-pools__card-match:not(.sports-pools__card-match--hero):not(.sports-pools__recent-match) .sports-pools__matchup-crest--away {
      justify-self: end;
    }

.sports-pools__card-match:not(.sports-pools__card-match--hero) .sports-pools__matchup-name--home {
      text-align: center;
      justify-self: stretch;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 0.92em;
      font-weight: 850;
    }

.sports-pools__card-match:not(.sports-pools__card-match--hero) .sports-pools__matchup-name--away {
      text-align: center;
      justify-self: stretch;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 0.92em;
      font-weight: 850;
    }

    /* Featured board only: hide club names (recent results / other strips keep names). */
.sports-pools__grid > .sports-pools__card > .sports-pools__card-match .sports-pools__matchup-name--home,
.sports-pools__grid > .sports-pools__card > .sports-pools__card-match .sports-pools__matchup-name--away {
      display: none;
    }

.sports-pools__vs {
      font-size: 0.94rem;
      letter-spacing: 0.09em;
      color: var(--text-muted);
      text-transform: uppercase;
      font-weight: 900;
      justify-self: center;
      padding: 0 0.15rem;
    }

/* Live score under “vs” (second grid row; featured / hero). */
.sports-pools__card-match.sports-pools__card-match--with-inline-score {
      row-gap: 0.32rem;
    }

.sports-pools__matchup-inline-score {
      grid-column: 1 / -1;
      justify-self: center;
      margin: 0;
      padding: 0;
      font-size: clamp(0.95rem, 2.4vw, 1.12rem);
      font-weight: 900;
      font-variant-numeric: tabular-nums;
      letter-spacing: 0.06em;
      line-height: 1.1;
      color: var(--text, #f8fafc);
    }

.sports-pools__matchup-inline-score--placeholder {
      font-weight: 750;
      letter-spacing: 0.28em;
      color: color-mix(in srgb, var(--text-muted) 72%, var(--text) 28%);
    }

.sports-pools__card-match.sports-pools__card-match--hero .sports-pools__matchup-inline-score {
      font-size: clamp(1.12rem, 3.1vw, 1.55rem);
      margin-top: 0.12rem;
    }

.sports-pools__grid .sports-pools__card[data-match-id] {
      cursor: default;
    }

.sports-pools__top-nav {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      align-items: stretch;
      gap: 0.55rem 0.65rem;
      max-width: min(76rem, 100%);
      margin: 0 auto 1rem;
      padding: 0 0.15rem;
    }

.sports-pools__top-nav-btn {
      width: 100%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 2.65rem;
      padding: 0.48rem 1rem;
      border-radius: 0.55rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 92%, transparent);
      background: color-mix(in srgb, var(--bg-elevated) 78%, transparent);
      font-family: inherit;
      font-size: 0.72rem;
      font-weight: 850;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      text-decoration: none;
      text-align: center;
      color: color-mix(in srgb, var(--text) 92%, var(--text-muted));
      cursor: pointer;
      transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
    }

.sports-pools__top-nav-btn:hover {
      border-color: color-mix(in srgb, var(--cyan) 35%, var(--hero-border));
      background: color-mix(in srgb, var(--bg-elevated) 88%, transparent);
      color: var(--text);
    }

.sports-pools__top-nav-btn.is-active {
      border-color: color-mix(in srgb, var(--cyan) 42%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan) 10%, var(--bg-elevated) 82%);
      color: var(--text);
    }

.sports-pools__top-nav-btn--dash {
      flex-direction: column;
      gap: 0.22rem;
      padding-top: 0.42rem;
      padding-bottom: 0.42rem;
      color: color-mix(in srgb, var(--cyan) 52%, var(--text));
    }

@media (max-width: 980px) {
  .sports-pools__top-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
}

.sports-pools__top-nav-btn-title {
      line-height: 1.2;
    }

.sports-pools__top-nav-meta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 1.1rem;
      font-size: 0.62rem;
      font-weight: 650;
      letter-spacing: 0.04em;
      text-transform: none;
      color: var(--text-muted);
      line-height: 1.25;
    }

.sports-pools__top-nav-meta[hidden] {
      display: inline-flex !important;
      visibility: hidden;
    }

.sports-pools__top-nav-meta-sep {
      opacity: 0.45;
    }

.sports-pools__top-nav--insights-sub {
      margin-top: 0;
      margin-bottom: clamp(0.65rem, 1.8vw, 1rem);
      max-width: 100%;
    }

.sports-pools__me-stat {
      color: color-mix(in srgb, var(--text) 78%, var(--text-muted));
      font-variant-numeric: tabular-nums;
    }

.sports-pools__guide--compact {
      padding: 0.55rem 0.85rem;
      margin-top: 0.85rem;
    }

.sports-pools__guide-micro {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem 1rem;
      font-size: 0.65rem;
      font-weight: 750;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--text-muted) 35%, var(--text));
    }

.sports-pools__guide-micro li + li::before {
      content: "·";
      display: inline-block;
      margin: 0 0.5rem 0 0;
      opacity: 0.35;
      font-weight: 900;
    }

.sports-pools__guide {
      max-width: min(52rem, 100%);
      margin: clamp(1.25rem, 3vw, 1.85rem) auto 1.35rem;
      padding: clamp(1rem, 2.6vw, 1.35rem) clamp(1rem, 2.8vw, 1.5rem);
      border-radius: 0.95rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 88%, transparent);
      background:
        radial-gradient(
          ellipse 140% 80% at 12% -20%,
          color-mix(in srgb, var(--cyan) 14%, transparent) 0%,
          transparent 55%
        ),
        color-mix(in srgb, var(--bg-elevated) 94%, transparent);
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
      color: var(--text-muted);
    }

.sports-pools__guide-heading {
      margin: 0 0 0.45rem;
      font-size: 0.7rem;
      font-weight: 900;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--cyan) 35%, var(--text));
    }

.sports-pools__guide-intro {
      margin: 0 0 0.95rem;
      font-size: 0.82rem;
      font-weight: 650;
      line-height: 1.5;
      color: color-mix(in srgb, var(--text-muted) 45%, var(--text));
      max-width: 46rem;
    }

.sports-pools__guide-steps {
      margin: 0;
      padding: 0 0 0 1.05rem;
      display: grid;
      gap: 0.62rem;
      font-size: 0.81rem;
      line-height: 1.42;
      color: color-mix(in srgb, var(--text-muted) 25%, var(--text));
      max-width: 44rem;
    }

.sports-pools__guide-steps li {
      padding-left: 0.08rem;
    }

.sports-pools__guide-steps li span {
      color: color-mix(in srgb, var(--cyan) 52%, var(--text));
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      font-size: 0.62rem;
      display: inline-block;
      min-width: 4.75rem;
    }

.sports-pools__guide-steps strong {
      color: var(--text);
      font-weight: 900;
    }

.sports-pools__data-note {
      max-width: min(52rem, 100%);
      margin: 0 auto 0.85rem;
      padding: 0.55rem 0.72rem;
      border-radius: 0.45rem;
      border: 1px solid color-mix(in srgb, #f97316 42%, var(--hero-border));
      background: color-mix(in srgb, #f97316 12%, var(--bg-page));
      font-size: 0.74rem;
      font-weight: 700;
      line-height: 1.42;
      color: var(--text);
    }

.sports-pools__card-sub {
      display: block;
      margin: 0.12rem auto 0.35rem;
      max-width: min(280px, 100%);
      text-align: center;
      font-size: 0.6rem;
      font-weight: 750;
      line-height: 1.35;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--text-muted);
    }

.sports-pools__card-sub--live {
      color: color-mix(in srgb, var(--cyan) 40%, var(--text-muted));
    }

.sports-pools__chip--live {
      border-color: color-mix(in srgb, var(--cyan) 45%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan) 10%, var(--bg-elevated));
      color: var(--text);
    }

.sports-pools__chip--muted {
      opacity: 0.55;
      cursor: default;
    }

.sports-pools__chip--soon {
      border-color: color-mix(in srgb, var(--cyan) 28%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan) 8%, var(--bg-elevated));
      color: var(--text);
    }

.sports-pools__chip--result {
      border-color: color-mix(in srgb, #a78bfa 42%, var(--hero-border));
      background: color-mix(in srgb, #5b21b6 14%, var(--bg-elevated));
      color: var(--text);
    }

.sports-pools__result-badge {
      position: absolute;
      left: 0.65rem;
      top: 0.38rem;
      z-index: 3;
      padding: 0.14rem 0.42rem;
      border-radius: 999px;
      font-size: 0.52rem;
      font-weight: 900;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #ede9fe;
      border: 1px solid color-mix(in srgb, #a78bfa 55%, var(--hero-border));
      background: color-mix(in srgb, #4c1d95 52%, var(--bg-elevated));
      pointer-events: none;
    }

.sports-pools__card-sub--result {
      color: color-mix(in srgb, #a78bfa 35%, var(--text-muted));
    }

.sports-pools__card-row {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.35rem;
      min-width: 0;
      max-width: 280px;
      width: 100%;
      justify-self: center;
      margin-top: 0.08rem;
    }

/* Row 1: Home / Draw / Away (optional row 2: `.sports-pools__stake-row-kickoff` when present). */
.sports-pools__stake-row {
      --sp-stake-outcome-track: 2.85rem;
      --sp-stake-col-gap: 0.28rem;
      grid-template-columns: 1fr repeat(3, minmax(2.55rem, max-content)) 1fr;
      grid-template-rows: auto auto;
      justify-items: stretch;
      column-gap: var(--sp-stake-col-gap);
      row-gap: 0.32rem;
    }

.sports-pools__stake-row > .sports-pools__mini--btn:nth-child(1) {
      grid-column: 2;
      grid-row: 1;
    }

.sports-pools__stake-row > .sports-pools__mini--btn:nth-child(2) {
      grid-column: 3;
      grid-row: 1;
    }

.sports-pools__stake-row > .sports-pools__mini--btn:nth-child(3) {
      grid-column: 4;
      grid-row: 1;
    }

/** Outcome keys 0/1/2 — compact pills; columns are max-content so Home / Draw / Away stay grouped and centered */
.sports-pools__stake-row > .sports-pools__mini--btn[data-outcome] {
      width: auto;
      min-width: 2.55rem;
      max-width: none;
      box-sizing: border-box;
      padding-inline: 0.22rem;
      font-size: 0.58rem;
    }

/** Legacy “View match” row (removed from markup); keep harmless if old HTML is cached */
.sports-pools__stake-row > .sports-pools__fixture-nav-btn {
      display: none;
    }

/** Main-event hero only: original equal ⅓ columns + full-width outcomes (grid cards stay clustered). */
.sports-pools__stake-row.sports-pools__card-row--hero {
      --sp-stake-col-gap: 0.35rem;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      column-gap: var(--sp-stake-col-gap);
    }

.sports-pools__stake-row.sports-pools__card-row--hero > .sports-pools__mini--btn:nth-child(1) {
      grid-column: 1;
      grid-row: 1;
    }

.sports-pools__stake-row.sports-pools__card-row--hero > .sports-pools__mini--btn:nth-child(2) {
      grid-column: 2;
      grid-row: 1;
    }

.sports-pools__stake-row.sports-pools__card-row--hero > .sports-pools__mini--btn:nth-child(3) {
      grid-column: 3;
      grid-row: 1;
    }

.sports-pools__stake-row.sports-pools__card-row--hero > .sports-pools__fixture-nav-btn {
      display: none;
    }

.sports-pools__stake-row.sports-pools__card-row--hero > .sports-pools__mini--btn[data-outcome] {
      width: auto;
      max-width: none;
      min-width: 0;
      justify-self: stretch;
      padding-inline: 0.2rem;
      font-size: 0.58rem;
    }

/** Grid fixture cards: stake strip sits in `.card-outcome-band` (save icon absolutely at band right). */
.sports-pools__grid > .sports-pools__card > .sports-pools__card-row:not(.sports-pools__card-row--hero) {
      max-width: 100%;
      width: 100%;
      margin-top: 0.85rem;
    }

.sports-pools__grid > .sports-pools__card > .sports-pools__card-outcome-band > .sports-pools__card-row:not(.sports-pools__card-row--hero) {
      --sp-grid-stake-nudge: calc(2.55rem / 2 + 0.62rem);
      max-width: calc(100% - var(--sp-grid-stake-nudge));
      width: 100%;
      margin-top: 0;
      /* Extra past half save-padding lines Draw up with `vs` (matchup row is 1fr / auto / 1fr). */
      margin-left: var(--sp-grid-stake-nudge);
    }

.sports-pools__grid > .sports-pools__card > .sports-pools__stake-row:not(.sports-pools__card-row--hero),
.sports-pools__grid > .sports-pools__card > .sports-pools__card-outcome-band > .sports-pools__stake-row:not(.sports-pools__card-row--hero) {
      grid-template-columns: 1fr repeat(3, minmax(2.45rem, 1fr)) 1fr;
      --sp-stake-outcome-track: 2.45rem;
      --sp-stake-col-gap: 0.28rem;
    }

.sports-pools__grid > .sports-pools__card > .sports-pools__stake-row:not(.sports-pools__card-row--hero) > .sports-pools__mini--btn[data-outcome],
.sports-pools__grid > .sports-pools__card > .sports-pools__card-outcome-band > .sports-pools__stake-row:not(.sports-pools__card-row--hero) > .sports-pools__mini--btn[data-outcome] {
      width: 100%;
      min-width: 0;
      max-width: none;
      justify-self: stretch;
      font-size: 0.56rem;
    }

.sports-pools__grid > .sports-pools__card .sports-pools__stake-row > .sports-pools__fixture-nav-btn {
      display: none;
    }

/**
 * Board cards: three equal outcome columns between 1fr gutters so X stays centered under "vs"
 * (matchup row is 1fr / auto / 1fr). Generic stake-row uses max-content, which shifts X when "1"/"2" render wider.
 */
.sports-pools__stake-row-kickoff {
      grid-column: 1 / -1;
      grid-row: 2;
      justify-self: stretch;
      display: block;
      width: 100%;
      max-width: 100%;
      margin: 0;
      padding: 0.08rem 0 0;
      font-size: 0.58rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: none;
      color: var(--text-muted);
      text-align: center;
      line-height: 1.35;
      pointer-events: none;
    }

.sports-pools__grid > .sports-pools__card > .sports-pools__stake-row .sports-pools__stake-row-kickoff {
      padding-left: 0.15rem;
      padding-right: 0.15rem;
      box-sizing: border-box;
    }

.sports-pools__mini {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      font-size: 0.65rem;
      font-weight: 800;
      line-height: 1;
      padding: 0.35rem 0.25rem;
      border-radius: 0.45rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-page) 72%, transparent);
      color: var(--text-muted);
      cursor: not-allowed;
    }

.sports-pools__mini.sports-pools__mini--btn {
      font-family: inherit;
      cursor: pointer;
      color: var(--text);
      background: color-mix(in srgb, var(--cyan) 16%, var(--bg-page) 72%);
      border-color: color-mix(in srgb, var(--cyan) 35%, var(--hero-border));
      transition:
        transform 0.14s ease,
        border-color 0.14s ease,
        background 0.14s ease;
    }

.sports-pools__mini.sports-pools__mini--btn:hover:not(:disabled) {
      transform: translateY(-1px);
      border-color: color-mix(in srgb, var(--cyan) 55%, var(--hero-border));
    }

.sports-pools__mini.sports-pools__mini--btn:disabled {
      cursor: not-allowed;
      opacity: 0.55;
      transform: none;
    }

.sports-pools__mini.sports-pools__mini--btn.is-locked {
      opacity: 0.45;
      border-color: var(--hero-border);
      background: color-mix(in srgb, var(--bg-page) 88%, transparent);
    }

.sports-pools__chain-strip {
      font-size: 0.72rem;
      font-weight: 650;
      color: var(--text-muted);
      margin: 0 0 0.65rem;
      line-height: 1.35;
    }

.sports-pools__chain-strip[data-kind="needs-config"] {
      color: color-mix(in srgb, #fbbf24 70%, var(--text));
    }

.sports-pools__chain-strip[data-kind="error"] {
      color: color-mix(in srgb, #f87171 88%, var(--text));
    }

.sports-pools__chain-strip[data-kind="ok"] {
      color: color-mix(in srgb, #34d399 75%, var(--text));
    }

.sports-pools__pool-hud[hidden] {
      display: none !important;
    }

.sports-pools__pool-hud {
      margin: clamp(0.85rem, 2vw, 1.35rem) auto clamp(1.15rem, 2.8vw, 1.85rem);
      max-width: min(960px, 100%);
      font-size: 0.8rem;
      line-height: 1.48;
      color: var(--text-muted);
      padding: clamp(0.85rem, 2vw, 1.2rem);
      border-radius: 1rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 85%, transparent);
      background:
        linear-gradient(
          160deg,
          color-mix(in srgb, var(--bg-elevated) 97%, transparent) 0%,
          color-mix(in srgb, var(--bg-page) 95%, transparent) 100%
        );
      box-shadow: 0 18px 50px rgba(0, 0, 0, 0.2);
    }

.sports-pools__board > .sports-pools__pool-hud {
      max-width: none;
      width: 100%;
      margin: clamp(1rem, 2.5vw, 1.5rem) 0 1.1rem;
      box-sizing: border-box;
    }

.sports-pools__hud-head:empty {
      display: none;
    }

.sports-pools__hud-cards:empty {
      display: none;
    }

.sports-pools__hud-head {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between;
      gap: 0.75rem;
      margin-bottom: 1rem;
      padding-bottom: 0.75rem;
      border-bottom: 1px solid color-mix(in srgb, var(--hero-border) 70%, transparent);
    }

.sports-pools__hud-head-main {
      display: flex;
      flex-direction: column;
      gap: 0.28rem;
    }

.sports-pools__hud-title {
      font-size: clamp(1rem, 1.9vw, 1.2rem);
      font-weight: 900;
      letter-spacing: -0.022em;
      color: var(--text);
      text-transform: none;
    }

.sports-pools__hud-tagline {
      font-size: 0.72rem;
      font-weight: 650;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--text-muted) 35%, transparent);
    }

.sports-pools__hud-actions {
      flex: 0 0 auto;
    }

.sports-pools__hud-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.52rem 0.92rem;
      border-radius: 0.52rem;
      font-size: 0.74rem;
      font-weight: 850;
      text-decoration: none;
      border: 1px solid color-mix(in srgb, var(--cyan) 38%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan) 14%, transparent);
      color: var(--text);
      transition:
        transform 0.14s ease,
        border-color 0.14s ease,
        background 0.14s ease;
    }

.sports-pools__hud-btn:hover {
      transform: translateY(-1px);
      border-color: color-mix(in srgb, var(--cyan) 55%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan) 20%, transparent);
    }

.sports-pools__hud-cards {
      display: flex;
      flex-direction: column;
      gap: 0.72rem;
    }

.sports-pools__hud-cards-hint {
      margin: 0;
      font-size: 0.72rem;
      line-height: 1.45;
      font-weight: 650;
      color: color-mix(in srgb, var(--text-muted) 35%, var(--text));
    }

/** On-chain pool summary on the fixture card (mounted after the stake row in DOM). */
.sports-pools__card-pool-strip {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
      width: 100%;
      min-width: 0;
      box-sizing: border-box;
    }

.sports-pools__card-pool-strip__cards {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 0.42rem;
      width: 100%;
    }

.sports-pools__card-pool-strip__pool-card {
      padding: 0.48rem 0.52rem;
      border-radius: 0.48rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 88%, transparent);
      background: color-mix(in srgb, var(--bg-page) 88%, transparent);
      min-width: 0;
      width: 100%;
      box-sizing: border-box;
    }

.sports-pools__card-pool-strip__pool-card--rise {
      border-color: color-mix(in srgb, var(--cyan) 28%, var(--hero-border));
      background: color-mix(in srgb, var(--bg-page) 90%, transparent);
    }

.sports-pools__card-pool-strip__row {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between;
      gap: 0.32rem 0.55rem;
    }

.sports-pools__card-pool-strip__token-logo {
      width: 40px;
      height: 40px;
      border-radius: 999px;
      object-fit: contain;
      flex: 0 0 auto;
      background: color-mix(in srgb, var(--bg-page) 75%, transparent);
      border: 1px solid color-mix(in srgb, var(--hero-border) 78%, transparent);
      padding: 2px;
    }

.sports-pools__card-pool-strip__body {
      flex: 1 1 min(120px, 100%);
      display: flex;
      flex-direction: column;
      gap: 0.18rem;
      min-width: 0;
      text-rendering: geometricPrecision;
      -webkit-font-smoothing: antialiased;
    }

.sports-pools__card-pool-strip__stack {
      display: flex;
      flex-direction: column;
      gap: 0.12rem;
      align-items: flex-start;
      min-width: 0;
    }

.sports-pools__card-pool-strip__stack--minor {
      margin-top: 0.08rem;
    }

.sports-pools__card-pool-strip__primary {
      font-size: 0.78rem;
      font-weight: 860;
      line-height: 1.4;
      color: var(--text, #f8fafc);
    }

.sports-pools__card-pool-strip__split {
      font-size: 0.66rem;
      font-weight: 780;
      line-height: 1.4;
      color: color-mix(in srgb, var(--text) 88%, var(--text-muted));
      font-variant-numeric: tabular-nums;
    }

.sports-pools__card-pool-strip__meta {
      font-size: 0.62rem;
      line-height: 1.4;
      font-weight: 760;
      color: color-mix(in srgb, var(--text) 76%, var(--text-muted));
    }

.sports-pools__card-pool-strip .sports-pools__pool-mini-card__usd {
      font-size: 0.95rem;
      line-height: 1.1;
      font-weight: 950;
      letter-spacing: 0.01em;
      color: color-mix(in srgb, #34d399 75%, #fff);
      text-shadow: 0 0 12px color-mix(in srgb, #34d399 35%, transparent);
      margin-top: 0.04rem;
    }

.sports-pools__card-pool-strip .sports-pools__pool-mini-card__usd[data-split-wei],
.sports-pools__card-pool-strip .sports-pools__pool-mini-card__usd[data-usd-split-label] {
      font-size: 0.62rem;
      font-weight: 820;
      color: color-mix(in srgb, #34d399 55%, var(--text-muted));
      text-shadow: none;
    }

.sports-pools__card-pool-strip .sports-pools__pool-mini-card__usd[data-usd-split-label]::before {
      content: "1/X/2 USD: ";
      color: color-mix(in srgb, var(--text-muted) 28%, var(--text));
    }

@media (max-width: 740px) {
  .sports-pools__card-pool-strip__cards {
    grid-template-columns: minmax(0, 1fr);
  }
}

.sports-pools__pool-mini-card {
      width: 100%;
      box-sizing: border-box;
      border-radius: 0.75rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 92%, transparent);
      background: color-mix(in srgb, var(--bg-page) 55%, transparent);
      padding: 0.88rem 1rem;
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
    }

.sports-pools__pool-mini-card__hero {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.85rem 1rem;
      justify-content: space-between;
    }

.sports-pools__pool-mini-card__crests {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      flex: 0 0 auto;
    }

.sports-pools__pool-mini-card__crests--empty {
      display: none;
    }

.sports-pools__pool-mini-card__crest {
      width: 44px;
      height: 44px;
      object-fit: contain;
      flex: 0 0 44px;
      border-radius: 0.2rem;
      background: color-mix(in srgb, var(--bg-page) 40%, transparent);
    }

.sports-pools__pool-mini-card__vs {
      font-size: 0.62rem;
      font-weight: 900;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--text-muted) 65%, transparent);
      padding: 0 0.12rem;
    }

.sports-pools__pool-mini-card__title-block {
      flex: 1 1 min(280px, 100%);
      min-width: 0;
    }

.sports-pools__pool-mini-card__title {
      margin: 0;
      font-size: clamp(0.88rem, 2.1vw, 1rem);
      font-weight: 900;
      line-height: 1.26;
      color: var(--text);
      letter-spacing: -0.015em;
    }

.sports-pools__pool-mini-card__fixture-id {
      margin: 0.22rem 0 0;
      font-size: 0.62rem;
      font-weight: 750;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--text-muted) 35%, transparent);
    }

.sports-pools__hud-badge {
      flex: 0 0 auto;
      font-size: 0.54rem;
      font-weight: 900;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 0.28rem 0.42rem;
      border-radius: 999px;
      border: 1px solid transparent;
      white-space: nowrap;
    }

.sports-pools__hud-badge--empty {
      background: color-mix(in srgb, var(--text-muted) 12%, transparent);
      border-color: var(--hero-border);
      color: var(--text-muted);
    }

.sports-pools__hud-badge--open {
      background: color-mix(in srgb, var(--cyan) 16%, transparent);
      border-color: color-mix(in srgb, var(--cyan) 35%, transparent);
      color: color-mix(in srgb, var(--cyan) 65%, var(--text));
    }

.sports-pools__hud-badge--settled {
      background: color-mix(in srgb, #34d399 12%, transparent);
      border-color: color-mix(in srgb, #34d399 35%, transparent);
      color: color-mix(in srgb, #34d399 75%, var(--text));
    }

.sports-pools__pool-mini-card__stats {
      margin: 0;
      display: grid;
      gap: 0.35rem;
    }

.sports-pools__pool-mini-card__stats > div {
      display: grid;
      grid-template-columns: minmax(0, 7rem) minmax(0, 1fr);
      gap: 0.55rem;
      align-items: baseline;
      font-size: 0.7rem;
    }

.sports-pools__pool-mini-card__stats dt {
      margin: 0;
      font-weight: 850;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      font-size: 0.54rem;
      color: color-mix(in srgb, var(--text-muted) 45%, transparent);
    }

.sports-pools__pool-mini-card__stats dd {
      margin: 0;
      font-weight: 750;
      color: color-mix(in srgb, var(--text-muted) 8%, var(--text));
      line-height: 1.35;
    }

.sports-pools__pool-mini-card__dd-stack {
      display: flex;
      flex-direction: column;
      gap: 0.14rem;
      align-items: flex-start;
    }

.sports-pools__pool-mini-card__eth-line {
      display: block;
      line-height: 1.35;
    }

.sports-pools__pool-mini-card__usd {
      display: block;
      font-size: 0.62rem;
      font-weight: 780;
      letter-spacing: 0.02em;
      font-variant-numeric: tabular-nums;
      color: color-mix(in srgb, #34d399 42%, var(--text-muted));
    }

.sports-pools__pool-mini-card__meta {
      margin: 0;
      font-size: 0.62rem;
      line-height: 1.42;
      color: color-mix(in srgb, var(--cyan) 18%, var(--text-muted));
    }

.sports-pools__hud-wallet {
      margin: 1.05rem 0 0;
      padding-top: 0.85rem;
      border-top: 1px solid color-mix(in srgb, var(--hero-border) 75%, transparent);
      font-size: 0.74rem;
    }

.sports-pools__hud-wallet-intro {
      margin-bottom: 0.62rem;
    }

.sports-pools__hud-wallet-head {
      margin: 0 0 0.12rem;
      font-weight: 900;
      font-size: 0.62rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--text-muted) 25%, var(--text));
    }

.sports-pools__hud-wallet-addr {
      margin: 0;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-weight: 700;
      font-size: 0.78rem;
      color: var(--text);
    }

.sports-pools__hud-wallet-empty {
      font-size: 0.78rem;
      line-height: 1.45;
      color: color-mix(in srgb, var(--text-muted) 20%, var(--text));
      max-width: 32rem;
    }

.sports-pools__hud-stake-line {
      margin: 0.32rem 0;
      line-height: 1.45;
      padding: 0.45rem 0.55rem;
      border-radius: 0.52rem;
      background: color-mix(in srgb, var(--bg-page) 80%, transparent);
      border: 1px solid color-mix(in srgb, var(--hero-border) 55%, transparent);
      display: flex;
      flex-direction: column;
      gap: 0.22rem;
    }

.sports-pools__hud-stake-line__eth {
      display: block;
    }

.sports-pools__hud-stake-line__usd {
      display: block;
      font-size: 0.62rem;
      font-weight: 780;
      font-variant-numeric: tabular-nums;
      color: color-mix(in srgb, #34d399 48%, var(--text-muted));
    }

.sports-pools__hud-estimate {
      margin: 0.12rem 0 0;
      font-size: 0.66rem;
      font-weight: 750;
      color: color-mix(in srgb, #34d399 55%, var(--text-muted));
      display: flex;
      flex-direction: column;
      gap: 0.12rem;
    }

.sports-pools__hud-estimate-eth {
      display: block;
    }

.sports-pools__hud-estimate-usd {
      display: block;
      font-size: 0.62rem;
      font-weight: 780;
      font-variant-numeric: tabular-nums;
      color: color-mix(in srgb, #34d399 42%, var(--text-muted));
    }

.sports-pools__claim-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.42rem;
      margin-top: 0.72rem;
      align-items: flex-start;
    }

.sports-pools__claim-row-intro {
      flex: 1 1 100%;
      margin: 0 0 0.28rem;
      font-size: 0.72rem;
      font-weight: 650;
      line-height: 1.35;
      color: color-mix(in srgb, var(--text-default) 88%, var(--text-muted));
    }

.sports-pools__claim-row-intro strong {
      color: var(--text-default);
      font-weight: 800;
    }

.sports-pools__owner-settle {
      margin-top: 0.85rem;
      padding: 0.72rem 0.85rem;
      border-radius: 0.62rem;
      border: 1px solid color-mix(in srgb, var(--cyan) 35%, var(--border-subtle));
      background: color-mix(in srgb, var(--cyan) 6%, var(--bg-panel));
    }

.sports-pools__owner-settle__intro {
      margin: 0 0 0.55rem;
      font-size: 0.72rem;
      font-weight: 650;
      line-height: 1.38;
      color: color-mix(in srgb, var(--text-default) 90%, var(--text-muted));
    }

.sports-pools__owner-settle__intro strong {
      color: var(--text-default);
      font-weight: 800;
    }

.sports-pools__owner-settle__empty {
      margin: 0;
      font-size: 0.68rem;
      color: var(--text-muted);
    }

.sports-pools__owner-settle__trunc {
      margin: 0.35rem 0 0.5rem;
      font-size: 0.65rem;
      font-weight: 650;
      color: color-mix(in srgb, var(--amber, #f59e0b) 55%, var(--text-muted));
    }

.sports-pools__owner-settle__pool-ref {
      font-size: 0.62rem;
      font-weight: 650;
      color: var(--text-muted);
      line-height: 1.35;
      margin-bottom: 0.28rem;
      word-break: break-all;
    }

.sports-pools__owner-settle__pool {
      margin-top: 0.62rem;
      padding-top: 0.55rem;
      border-top: 1px solid color-mix(in srgb, var(--border-subtle) 80%, transparent);
    }

.sports-pools__owner-settle__pool:first-of-type {
      margin-top: 0.35rem;
      padding-top: 0;
      border-top: none;
    }

.sports-pools__owner-settle__visual {
      display: flex;
      flex-direction: column;
      gap: 0.45rem;
      margin-bottom: 0.5rem;
    }

.sports-pools__owner-settle__visual-crests {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.75rem;
    }

.sports-pools__owner-settle__crest-img {
      border-radius: 0.4rem;
      object-fit: contain;
      background: color-mix(in srgb, var(--bg-page) 70%, #0f172a);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    }

.sports-pools__owner-settle__visual-names {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      justify-content: center;
      gap: 0.35rem 0.5rem;
      text-align: center;
      font-size: 0.78rem;
      font-weight: 800;
    }

.sports-pools__owner-settle__vs {
      font-weight: 700;
      font-size: 0.68rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--text-muted);
    }

.sports-pools__owner-settle__pool-title {
      font-size: 0.74rem;
      font-weight: 820;
      margin-bottom: 0.22rem;
    }

.sports-pools__owner-settle__pool-stakes {
      font-size: 0.65rem;
      font-weight: 650;
      color: var(--text-muted);
      margin-bottom: 0.42rem;
      font-variant-numeric: tabular-nums;
    }

.sports-pools__owner-settle__btns {
      display: flex;
      flex-wrap: wrap;
      gap: 0.38rem;
    }

.sports-pools__owner-settle__btn {
      cursor: pointer;
      font-family: inherit;
      font-weight: 800;
      font-size: 0.62rem;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      padding: 0.42rem 0.72rem;
      border-radius: 0.45rem;
      border: 1px solid color-mix(in srgb, var(--cyan) 45%, var(--border-subtle));
      background: color-mix(in srgb, var(--bg-page) 92%, var(--cyan));
      color: var(--text-default);
      transition:
        transform 0.12s ease,
        filter 0.12s ease;
    }

.sports-pools__owner-settle__btn:hover:not(:disabled) {
      transform: translateY(-1px);
      filter: brightness(1.05);
    }

.sports-pools__owner-settle__btn:disabled {
      opacity: 0.55;
      cursor: default;
    }

.sports-pools__claim-btn {
      cursor: pointer;
      font-family: inherit;
      font-weight: 900;
      font-size: 0.72rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      padding: 0.55rem 1.05rem;
      border-radius: 0.52rem;
      border: none;
      background: linear-gradient(
        175deg,
        color-mix(in srgb, var(--cyan) 78%, transparent),
        color-mix(in srgb, var(--cyan) 92%, transparent)
      );
      color: var(--bg-page);
      box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
      transition:
        transform 0.14s ease,
        filter 0.14s ease;
    }

.sports-pools__claim-btn:hover:not(:disabled) {
      transform: translateY(-2px);
      filter: brightness(1.06);
    }

.sports-pools__claim-btn:disabled {
      opacity: 0.62;
      cursor: default;
    }

/** First-time bet primer — shares shell/card/buttons with `.sports-pool-dlg` for visual consistency. */
dialog.sports-stake-primer-dlg {
      border: none;
      padding: 0;
      margin: 0;
      inset: unset;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      max-width: min(440px, calc(100vw - 24px));
      width: 100%;
      max-height: calc(100dvh - 28px);
      background: transparent;
      z-index: 100051;
      overflow: hidden;
    }

.sports-stake-primer-dlg::backdrop {
      background: rgba(5, 8, 20, 0.62);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
    }

.sports-stake-primer-dlg__hdr {
      position: relative;
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-rows: auto auto;
      gap: 0.28rem 0.65rem;
      align-items: start;
      margin-bottom: 0.85rem;
      padding-right: 0.15rem;
    }

.sports-stake-primer-dlg__hdr .sports-pool-dlg__eyebrow {
      grid-column: 1;
      grid-row: 1;
      margin: 0;
    }

.sports-stake-primer-dlg__hdr .sports-pool-dlg__title {
      grid-column: 1;
      grid-row: 2;
      margin: 0;
    }

.sports-stake-primer-dlg__close {
      grid-column: 2;
      grid-row: 1 / span 2;
      align-self: start;
      justify-self: end;
      width: 2.15rem;
      height: 2.15rem;
      margin: -0.2rem -0.25rem 0 0;
      padding: 0;
      border: 1px solid transparent;
      border-radius: 0.5rem;
      background: transparent;
      color: color-mix(in srgb, var(--text-muted) 72%, var(--text) 28%);
      font-size: 1.25rem;
      line-height: 1;
      cursor: pointer;
      transition:
        color 0.15s ease,
        background 0.15s ease,
        border-color 0.15s ease;
    }

.sports-stake-primer-dlg__close:hover {
      color: var(--text);
      border-color: color-mix(in srgb, var(--hero-border) 70%, transparent);
      background: color-mix(in srgb, var(--bg-page) 55%, transparent);
    }

.sports-stake-primer-dlg__intro {
      margin: 0 0 0.85rem;
      font-size: 0.8rem;
      line-height: 1.55;
      color: color-mix(in srgb, var(--text-muted) 58%, var(--text) 42%);
    }

.sports-stake-primer-dlg__intro strong {
      font-weight: 850;
      color: var(--text);
    }

.sports-stake-primer-dlg__callout {
      display: flex;
      flex-direction: column;
      gap: 0.22rem;
      margin: 0 0 0.75rem;
      padding: 0.62rem 0.72rem 0.65rem;
      border-radius: 0.55rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 72%, transparent);
      border-left: 3px solid color-mix(in srgb, var(--cyan) 72%, var(--gold) 28%);
      background: color-mix(in srgb, var(--bg-page) 70%, var(--bg-elevated) 30%);
      box-shadow: 0 0 0 1px color-mix(in srgb, #fff 3%, transparent) inset;
    }

.sports-stake-primer-dlg__callout-k {
      font-size: 0.61rem;
      font-weight: 900;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--cyan) 55%, var(--text-muted) 45%);
    }

.sports-stake-primer-dlg__callout-v {
      font-size: 0.76rem;
      line-height: 1.45;
      color: color-mix(in srgb, var(--text-muted) 55%, var(--text) 45%);
    }

.sports-stake-primer-dlg__hint {
      margin: 0 0 0.65rem;
      font-size: 0.72rem;
      line-height: 1.48;
      color: color-mix(in srgb, var(--text-muted) 68%, var(--text) 32%);
    }

.sports-stake-primer-dlg__hint strong {
      font-weight: 850;
      color: color-mix(in srgb, var(--text) 88%, var(--cyan) 12%);
    }

.sports-stake-primer-dlg__foot {
      margin-top: 0.35rem;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-start;
      gap: 0.5rem;
    }

.sports-stake-primer-dlg__foot-spacer {
      flex: 1 1 2rem;
      min-width: 0.25rem;
    }

.sports-stake-primer-dlg__foot .sports-pool-dlg__btn--primary {
      flex: 0 1 auto;
      min-width: min(11rem, 100%);
    }

.sports-stake-primer-dlg__foot .sports-pool-dlg__btn--ghost[data-action="primer-approve-info"] {
      font-size: 0.72rem;
      padding: 0.52rem 0.85rem;
    }

dialog.sports-pool-dlg {
      border: none;
      padding: 0;
      margin: 0;
      inset: unset;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      max-width: min(440px, calc(100vw - 24px));
      width: 100%;
      max-height: calc(100vh - 28px);
      max-height: calc(100dvh - 28px);
      background: transparent;
      z-index: 100050;
      overflow: hidden;
}

/** Inline confirm card on fixture page (no modal backdrop) */
dialog.sports-pool-dlg.sports-pool-dlg--inline {
      position: relative;
      top: auto;
      left: auto;
      transform: none;
      inset: auto;
      max-width: 100%;
      width: 100%;
      max-height: none;
      z-index: auto;
      display: block;
      overflow: visible;
    }

dialog.sports-pool-dlg.sports-pool-dlg--inline::backdrop {
      display: none;
    }

/** Aside column: do not clip the confirm card to viewport height */
dialog.sports-pool-dlg.sports-pool-dlg--inline .sports-pool-dlg__card {
      max-height: none;
    }

.sports-pool-dlg::backdrop {
      background: rgba(5, 8, 20, 0.62);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
    }

.sports-pool-dlg__shell {
      width: 100%;
      padding: clamp(10px, 3vw, 18px);
    }

.sports-pool-dlg__card {
      border-radius: 1.05rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 88%, transparent);
      /* Flat matte panel (no gradient sheen) */
      background: color-mix(in srgb, var(--bg-elevated) 90%, var(--bg-page) 10%);
      padding: clamp(1.28rem, 3.4vw, 1.62rem);
      box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.45),
        0 0 0 1px color-mix(in srgb, #fff 4%, transparent) inset;
      color: var(--text);
      max-height: calc(100vh - 64px);
      max-height: calc(100dvh - 64px);
      overflow: auto;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
    }

.sports-pool-dlg__hdr {
      margin-bottom: 1rem;
    }

.sports-pool-dlg__eyebrow {
      margin: 0 0 0.38rem;
      font-size: 0.61rem;
      font-weight: 900;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--cyan) 58%, var(--text) 42%);
    }

.sports-pool-dlg__title {
      margin: 0;
      font-size: clamp(1.15rem, 3.2vw, 1.45rem);
      font-weight: 900;
      letter-spacing: -0.03em;
      color: var(--text);
    }

.sports-pool-dlg__fixture-strip {
      display: flex;
      align-items: flex-end;
      justify-content: center;
      gap: 0.55rem;
      margin: 0 0 0.85rem;
      padding: 0.35rem 0.15rem 0.15rem;
    }

.sports-pool-dlg__crest-cell {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.32rem;
      min-width: 0;
      flex: 1 1 0;
      max-width: 42%;
    }

.sports-pool-dlg__crest-img {
      width: 48px;
      height: 48px;
      object-fit: contain;
      border-radius: 0;
      background: transparent;
      border: none;
      box-sizing: border-box;
    }

.sports-pool-dlg__team-name {
      font-size: 0.66rem;
      font-weight: 780;
      line-height: 1.22;
      text-align: center;
      color: var(--text);
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

.sports-pool-dlg__fixture-pool-strip {
      margin: 0 0 0.72rem;
      min-width: 0;
    }

.sports-pool-dlg__fixture-pool-strip[hidden] {
      display: none !important;
    }

.sports-pool-dlg__fixture-pool-strip .sports-pools__card-pool-strip {
      margin: 0;
    }

.sports-pool-dlg__fixture-pool-strip .sports-pools__card-pool-strip__pool-card {
      padding: 0.35rem 0.42rem;
    }

.sports-pool-dlg__fixture-pool-strip .sports-pools__card-pool-strip__token-logo {
      width: 22px;
      height: 22px;
    }

.sports-pool-dlg__fixture-pool-strip .sports-pools__card-pool-strip__primary,
.sports-pool-dlg__fixture-pool-strip .sports-pools__card-pool-strip__split,
.sports-pool-dlg__fixture-pool-strip .sports-pools__card-pool-strip__meta {
      font-size: 0.72rem;
    }

.sports-pool-dlg__vs {
      flex: 0 0 auto;
      align-self: center;
      padding: 0 0.12rem 0.55rem;
      font-weight: 900;
      font-size: 0.68rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--cyan) 55%, var(--text-muted) 45%);
    }

/** 1X2 picker inside the main card — no inner “mini card” (no extra border/bg on this row). */
.sports-pool-dlg__outcome-row {
      margin: 0 0 0.95rem;
      padding: 0;
      border: none;
      background: transparent;
    }

.sports-pool-dlg__outcome-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.38rem;
    }

.sports-pool-dlg__outcome-btn {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0;
      min-height: 2.65rem;
      padding: 0.42rem 0.28rem;
      border-radius: 0.5rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 80%, transparent);
      background: color-mix(in srgb, var(--bg-elevated) 78%, transparent);
      color: var(--text);
      font: inherit;
      cursor: pointer;
      transition:
        border-color 0.15s ease,
        background 0.15s ease,
        transform 0.12s ease;
    }

.sports-pool-dlg__outcome-btn:hover:not(:disabled) {
      border-color: color-mix(in srgb, var(--cyan) 42%, var(--hero-border));
      transform: translateY(-1px);
    }

.sports-pool-dlg__outcome-btn:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--cyan) 55%, var(--hero-border));
      outline-offset: 2px;
    }

.sports-pool-dlg__outcome-btn.is-selected {
      border-color: color-mix(in srgb, var(--cyan) 62%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan) 14%, var(--bg-elevated));
      box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 8%, transparent);
    }

.sports-pool-dlg__outcome-btn:disabled {
      opacity: 0.48;
      cursor: not-allowed;
      transform: none;
    }

.sports-pool-dlg__outcome-ix {
      font-size: 1rem;
      font-weight: 900;
      letter-spacing: 0.04em;
      line-height: 1;
      color: var(--text);
    }

/** Single-line outcome label (Home / Draw / Win) on confirm bet */
.sports-pool-dlg__outcome-primary {
      font-size: 0.82rem;
      font-weight: 850;
      letter-spacing: 0.06em;
      line-height: 1.15;
      text-align: center;
      color: var(--text);
    }

.sports-pool-dlg__outcome-sub {
      font-size: 0.58rem;
      font-weight: 750;
      line-height: 1.15;
      text-align: center;
      color: var(--text-muted);
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

.sports-pool-dlg__facts {
      margin: 0 0 1rem;
      padding: 0.65rem 0.75rem;
      border-radius: 0.65rem;
      background: color-mix(in srgb, var(--bg-page) 70%, transparent);
      border: 1px solid color-mix(in srgb, var(--hero-border) 55%, transparent);
    }

.sports-pool-dlg__facts--3col {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.55rem 0.85rem;
      align-items: start;
      font-size: 0.78rem;
    }

.sports-pool-dlg__facts--3col > div {
      display: flex;
      flex-direction: column;
      gap: 0.28rem;
      min-width: 0;
    }

.sports-pool-dlg__facts dt {
      margin: 0;
      font-weight: 850;
      color: color-mix(in srgb, var(--text-muted) 82%, var(--text) 18%);
      font-size: 0.64rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }

.sports-pool-dlg__facts dd {
      margin: 0;
      font-weight: 780;
      line-height: 1.38;
      color: var(--text);
    }

.sports-pool-dlg__mono {
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 0.74rem !important;
    }

.sports-pool-dlg__rules-hint {
      margin: 0 0 0.62rem;
      padding: 0.42rem 0.52rem;
      font-size: 0.68rem;
      line-height: 1.42;
      color: var(--text-muted, #94a3b8);
      border-radius: 8px;
      background: color-mix(in srgb, var(--bg-elevated, #0f172a) 55%, transparent);
    }

.sports-pool-dlg__amount-block {
      margin-bottom: 0.62rem;
    }

.sports-pool-dlg__label-main {
      display: block;
      font-size: 0.74rem;
      font-weight: 850;
      color: var(--text);
    }

.sports-pool-dlg__label--usd-first {
      margin-bottom: 0.35rem;
    }

.sports-pool-dlg__label-row {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.38rem;
    }

.sports-pool-dlg__label-row .sports-pool-dlg__label-main {
      display: inline;
      margin: 0;
    }

.sports-pool-dlg__label-rise-ico {
      display: block;
      width: 18px;
      height: 18px;
      flex-shrink: 0;
      object-fit: contain;
    }

.sports-pool-dlg__hint-mark {
      font-weight: 900;
      color: color-mix(in srgb, var(--cyan) 62%, var(--text));
    }

.sports-pool-dlg__usd-input-wrap {
      display: flex;
      align-items: stretch;
      margin-top: 0.42rem;
      border-radius: 0.55rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 72%, transparent);
      background: color-mix(in srgb, var(--bg-page) 82%, transparent);
      overflow: hidden;
      box-sizing: border-box;
      transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease;
    }

.sports-pool-dlg__usd-input-wrap:focus-within {
      border-color: color-mix(in srgb, var(--cyan) 48%, var(--hero-border));
      box-shadow: 0 0 0 1px color-mix(in srgb, var(--cyan) 35%, transparent);
    }

.sports-pool-dlg__usd-prefix {
      display: flex;
      align-items: center;
      flex-shrink: 0;
      padding-left: 0.72rem;
      padding-right: 0.18rem;
      font-family: inherit;
      font-weight: 900;
      font-size: 1.14rem;
      letter-spacing: 0.03em;
      color: color-mix(in srgb, var(--cyan) 58%, var(--text));
      user-select: none;
    }

.sports-pool-dlg__usd-input-wrap .sports-pool-dlg__input--usd {
      margin-top: 0;
      border: none;
      border-radius: 0;
      background: transparent;
      flex: 1 1 auto;
      min-width: 0;
      box-shadow: none;
    }

.sports-pool-dlg__usd-input-wrap .sports-pool-dlg__input--usd:focus {
      outline: none;
      box-shadow: none;
    }

.sports-pool-dlg__stake-lock-msg {
      margin-top: 0.42rem;
      padding: 0.62rem 0.72rem;
      border-radius: 0.55rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 70%, transparent);
      background: color-mix(in srgb, var(--bg-page) 88%, transparent);
      font-size: 0.82rem;
      font-weight: 780;
      line-height: 1.4;
      color: color-mix(in srgb, var(--text-muted) 58%, var(--text) 42%);
    }

.sports-pool-dlg__label {
      display: grid;
      gap: 0.18rem;
      font-size: 0.74rem;
      font-weight: 850;
      color: var(--text);
      margin-bottom: 0.55rem;
    }

.sports-pool-dlg__sub {
      display: block;
      font-weight: 650;
      font-size: 0.61rem;
      color: color-mix(in srgb, var(--text-muted) 72%, var(--text) 28%);
      letter-spacing: 0.04em;
    }

.sports-pool-dlg__input {
      margin-top: 0.42rem;
      font-family: inherit;
      font-weight: 850;
      font-size: 1.05rem;
      padding: 0.62rem 0.72rem;
      border-radius: 0.55rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 70%, transparent);
      background: color-mix(in srgb, var(--bg-page) 82%, transparent);
      color: var(--text);
      width: 100%;
      box-sizing: border-box;
    }

.sports-pool-dlg__usd-gross {
      margin-top: 0.38rem;
      display: block;
      font-size: 0.74rem;
      font-weight: 800;
      letter-spacing: 0.02em;
      color: color-mix(in srgb, var(--text-muted) 48%, var(--text) 52%);
    }

.sports-pool-dlg__pill-usd {
      display: block;
      margin-top: 0.2rem;
      font-size: 0.63rem;
      font-weight: 750;
      letter-spacing: 0.02em;
      color: color-mix(in srgb, var(--text-muted) 55%, var(--text) 45%);
    }

.sports-pool-dlg__footnote-note {
      display: inline;
      opacity: 0.92;
      color: color-mix(in srgb, var(--text-muted) 72%, var(--text) 28%);
    }

.sports-pool-dlg__split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.42rem;
    }

.sports-pool-dlg__to-win {
      margin-top: 0.65rem;
      padding-top: 0.55rem;
      border-top: 1px solid color-mix(in srgb, var(--hero-border) 55%, transparent);
    }

.sports-pool-dlg__to-win[hidden] {
      display: none !important;
    }

.sports-pool-dlg__to-win-inner {
      display: block;
    }

.sports-pool-dlg__to-win-row {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 0.65rem;
    }

.sports-pool-dlg__to-win-label {
      font-size: 0.72rem;
      font-weight: 820;
      letter-spacing: 0.02em;
      color: color-mix(in srgb, var(--text-muted) 35%, var(--text) 65%);
    }

.sports-pool-dlg__to-win-ico {
      font-style: normal;
    }

.sports-pool-dlg__to-win-value {
      margin: 0;
      font-size: clamp(1.22rem, 3.8vw, 1.62rem);
      line-height: 1.05;
      font-weight: 900;
      font-variant-numeric: tabular-nums;
      letter-spacing: -0.02em;
      color: #34d399;
      flex-shrink: 0;
      max-width: 62%;
      overflow-wrap: anywhere;
      text-align: right;
    }

.sports-pool-dlg__to-win-sub {
      margin: 0.38rem 0 0;
      font-size: 0.58rem;
      font-weight: 650;
      line-height: 1.45;
      color: color-mix(in srgb, var(--text-muted) 72%, var(--text) 28%);
    }

.sports-pool-dlg__pill {
      border-radius: 0.52rem;
      padding: 0.48rem 0.52rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 60%, transparent);
      background: color-mix(in srgb, var(--bg-page) 55%, transparent);
    }

.sports-pool-dlg__pill--accent {
      border-color: color-mix(in srgb, var(--cyan) 28%, transparent);
      background: color-mix(in srgb, var(--cyan) 8%, transparent);
    }

.sports-pool-dlg__pill-k {
      display: block;
      font-size: 0.56rem;
      font-weight: 900;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--text-muted) 78%, var(--text) 22%);
      margin-bottom: 0.2rem;
    }

.sports-pool-dlg__pill strong {
      display: block;
      max-width: 100%;
      font-size: 0.82rem;
      font-weight: 900;
      color: var(--text);
      font-variant-numeric: tabular-nums;
      overflow-wrap: anywhere;
      word-break: break-word;
    }

.sports-pool-dlg__pill-usd {
      display: block;
      max-width: 100%;
      overflow-wrap: anywhere;
      word-break: break-word;
    }

.sports-pool-dlg__err {
      min-height: 1.2em;
      margin: 0 0 0.45rem;
      font-size: 0.74rem;
      font-weight: 750;
      color: #fca5a5;
    }

.sports-pool-dlg__status {
      margin: 0 0 0.55rem;
      padding: 0.55rem 0.62rem;
      border-radius: 0.55rem;
      font-size: 0.74rem;
      font-weight: 720;
      line-height: 1.45;
      color: color-mix(in srgb, var(--cyan) 38%, var(--text) 62%);
      background: color-mix(in srgb, var(--cyan) 10%, var(--bg-page) 90%);
      border: 1px solid color-mix(in srgb, var(--cyan) 28%, var(--hero-border) 72%);
    }

.sports-pool-dlg__status[hidden] {
      display: none !important;
    }

.sports-pool-dlg__card[aria-busy="true"] .sports-pool-dlg__amount-block {
      opacity: 0.58;
      pointer-events: none;
    }

.sports-pool-dlg__actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 0.52rem;
      margin-top: 1rem;
    }

.sports-pool-dlg__btn {
      font-family: inherit;
      cursor: pointer;
      font-weight: 850;
      font-size: 0.78rem;
      padding: 0.62rem 1.12rem;
      border-radius: 0.52rem;
      border: 1px solid transparent;
      transition:
        transform 0.14s ease,
        opacity 0.14s ease,
        filter 0.14s ease;
    }

.sports-pool-dlg__btn:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--cyan) 65%, transparent);
      outline-offset: 2px;
    }

.sports-pool-dlg__btn--ghost {
      background: transparent;
      border-color: color-mix(in srgb, var(--hero-border) 84%, transparent);
      color: color-mix(in srgb, var(--text-muted) 38%, var(--text) 62%);
    }

.sports-pool-dlg__asset-switch {
      justify-content: flex-start;
      margin-top: 0.45rem;
      margin-bottom: 0.15rem;
    }

.sports-pool-dlg__asset-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      min-width: 5.9rem;
      justify-content: center;
      font-weight: 800;
    }

.sports-pool-dlg__asset-ico {
      width: 16px;
      height: 16px;
      border-radius: 999px;
      object-fit: cover;
      flex: 0 0 auto;
    }

.sports-pool-dlg__asset-btn[aria-pressed="true"] {
      color: var(--bg-page);
      border-color: color-mix(in srgb, var(--cyan) 35%, transparent);
      background: linear-gradient(
        170deg,
        color-mix(in srgb, var(--cyan) 76%, transparent),
        color-mix(in srgb, var(--cyan) 92%, transparent)
      );
      box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
    }

.sports-pool-dlg__asset-switch--rise-only {
      pointer-events: none;
    }

.sports-pool-dlg__asset-pill {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      min-width: 5.9rem;
      justify-content: center;
      font-weight: 800;
      font-size: 0.78rem;
      padding: 0.62rem 1.12rem;
      border-radius: 0.52rem;
      color: var(--bg-page);
      border: 1px solid color-mix(in srgb, var(--cyan) 35%, transparent);
      background: linear-gradient(
        170deg,
        color-mix(in srgb, var(--cyan) 76%, transparent),
        color-mix(in srgb, var(--cyan) 92%, transparent)
      );
      box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
    }

.sports-pool-dlg__btn--primary {
      flex: 1 1 auto;
      min-width: min(240px, 100%);
      background: linear-gradient(
        172deg,
        color-mix(in srgb, var(--cyan) 82%, transparent),
        color-mix(in srgb, var(--cyan) 96%, transparent)
      );
      color: var(--bg-page);
      border-color: color-mix(in srgb, var(--cyan) 35%, transparent);
      box-shadow: 0 12px 34px rgba(0, 0, 0, 0.25);
}

.sports-pool-dlg__btn--ghost:hover {
      transform: translateY(-1px);
      border-color: var(--text-muted);
    }

.sports-pool-dlg__btn--primary:hover {
      transform: translateY(-1px);
      filter: brightness(1.05);
    }

.sports-pool-dlg__btn--primary:disabled {
      opacity: 0.42;
      cursor: not-allowed;
      transform: none;
      filter: grayscale(0.45) brightness(0.88);
      box-shadow: none;
    }

.sports-pool-dlg__footnote {
      margin: 1.05rem 0 0;
      padding-top: 0.75rem;
      border-top: 1px solid color-mix(in srgb, var(--hero-border) 60%, transparent);
      font-size: 0.61rem;
      line-height: 1.52;
      color: color-mix(in srgb, var(--text-muted) 62%, var(--text) 38%);
    }

/* Dark dashboard: stake dialog secondary lines read brighter on charcoal panels */
html[data-theme="dark"][data-rise-scope="dashboard"] .sports-pool-dlg__facts dt,
html[data-theme="dark"][data-route="dashboard-sports-betting"] .sports-pool-dlg__facts dt,
html[data-theme="dark"][data-route="dashboard-sports-match"] .sports-pool-dlg__facts dt {
      color: color-mix(in srgb, var(--text-muted) 58%, var(--text) 42%);
    }

html[data-theme="dark"][data-rise-scope="dashboard"] .sports-pool-dlg__sub,
html[data-theme="dark"][data-route="dashboard-sports-betting"] .sports-pool-dlg__sub,
html[data-theme="dark"][data-route="dashboard-sports-match"] .sports-pool-dlg__sub {
      color: color-mix(in srgb, var(--text-muted) 48%, var(--text) 52%);
    }

html[data-theme="dark"][data-rise-scope="dashboard"] .sports-pool-dlg__pill-k,
html[data-theme="dark"][data-route="dashboard-sports-betting"] .sports-pool-dlg__pill-k,
html[data-theme="dark"][data-route="dashboard-sports-match"] .sports-pool-dlg__pill-k {
      color: color-mix(in srgb, var(--text-muted) 52%, var(--text) 48%);
    }

html[data-theme="dark"][data-rise-scope="dashboard"] .sports-pool-dlg__footnote,
html[data-theme="dark"][data-route="dashboard-sports-betting"] .sports-pool-dlg__footnote,
html[data-theme="dark"][data-route="dashboard-sports-match"] .sports-pool-dlg__footnote {
      color: color-mix(in srgb, var(--text-muted) 45%, var(--text) 55%);
    }

html[data-theme="dark"][data-rise-scope="dashboard"] .sports-pool-dlg__btn--ghost,
html[data-theme="dark"][data-route="dashboard-sports-betting"] .sports-pool-dlg__btn--ghost,
html[data-theme="dark"][data-route="dashboard-sports-match"] .sports-pool-dlg__btn--ghost {
      color: color-mix(in srgb, var(--text-muted) 22%, var(--text) 78%);
      border-color: color-mix(in srgb, var(--hero-border) 70%, var(--text-muted) 30%);
    }

html[data-theme="dark"][data-rise-scope="dashboard"] .sports-pool-dlg__usd-gross,
html[data-theme="dark"][data-route="dashboard-sports-betting"] .sports-pool-dlg__usd-gross,
html[data-theme="dark"][data-route="dashboard-sports-match"] .sports-pool-dlg__usd-gross {
      color: color-mix(in srgb, var(--text-muted) 38%, var(--text) 62%);
    }

html[data-theme="dark"][data-rise-scope="dashboard"] .sports-pool-dlg__pill-usd,
html[data-theme="dark"][data-route="dashboard-sports-betting"] .sports-pool-dlg__pill-usd,
html[data-theme="dark"][data-route="dashboard-sports-match"] .sports-pool-dlg__pill-usd {
      color: color-mix(in srgb, var(--text-muted) 42%, var(--text) 58%);
    }

@media (max-width: 520px) {
  dialog.sports-pool-dlg {
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: calc(100vw - 12px);
    max-height: calc(100vh - 12px);
    max-height: calc(100dvh - 12px);
  }

  .sports-pool-dlg__shell {
    padding: 0.4rem;
  }

  .sports-pool-dlg__card {
    padding: 0.78rem;
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
  }

  .sports-pool-dlg__actions {
    position: sticky;
    bottom: 0;
    padding-top: 0.55rem;
    background: linear-gradient(
      to top,
      color-mix(in srgb, var(--bg-elevated) 98%, transparent) 72%,
      transparent
    );
  }

  .sports-pool-dlg__split {
    grid-template-columns: 1fr;
  }

  .sports-pool-dlg__facts--3col {
    grid-template-columns: 1fr;
  }

  .sports-pool-dlg__fixture-strip {
    gap: 0.38rem;
  }
}


/** Grid cards (not hero): crest size on tablet/desktop — kept modest for 3-col board */
@media (min-width: 521px) {
  .sports-pools__grid > .sports-pools__card > .sports-pools__card-match:not(.sports-pools__card-match--hero) .sports-pools__team-crest {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
  }
}

@media (max-width: 980px) {
      .sports-pools__card {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.45rem;
      }
      .sports-pools__card-head-row,
      .sports-pools__card-tag,
      .sports-pools__card-sub,
      .sports-pools__card-match,
      .sports-pools__card-row {
        grid-column: auto;
        grid-row: auto;
      }
      .sports-pools__card-match {
        column-gap: 0.38rem;
      }
      .sports-pools__card-row {
        min-width: 0;
      }
    }

/** Narrow phones: shrink crests + club names; keep “vs” at defined size (legibility). */
@media (max-width: 520px) {
      .sports-pools__card-match:not(.sports-pools__card-match--hero) {
        column-gap: 0.22rem;
        font-size: 0.68rem;
      }
      .sports-pools__card-match:not(.sports-pools__card-match--hero) .sports-pools__matchup-name--home,
      .sports-pools__card-match:not(.sports-pools__card-match--hero) .sports-pools__matchup-name--away {
        font-size: 0.68rem;
        font-weight: 800;
        letter-spacing: -0.01em;
      }
      .sports-pools__card-match:not(.sports-pools__card-match--hero) .sports-pools__team-crest {
        width: 26px;
        height: 26px;
        flex: 0 0 26px;
      }
      .sports-pools__grid > .sports-pools__card > .sports-pools__card-match:not(.sports-pools__card-match--hero) .sports-pools__team-crest {
        width: 22px;
        height: 22px;
        flex: 0 0 22px;
      }
      .sports-pools__card-match:not(.sports-pools__card-match--hero) .sports-pools__vs {
        font-size: 0.94rem;
        letter-spacing: 0.09em;
      }

      /** Main event hero — same mobile intent: smaller crests + names; keep “vs” legible. */
      .sports-pools__card-match.sports-pools__card-match--hero {
        column-gap: 0.28rem;
        row-gap: 0.2rem;
        padding-top: 0.18rem;
      }
      .sports-pools__card-match.sports-pools__card-match--hero .sports-pools__matchup-name--home,
      .sports-pools__card-match.sports-pools__card-match--hero .sports-pools__matchup-name--away {
        font-size: 0.74rem;
        font-weight: 800;
        letter-spacing: -0.01em;
        line-height: 1.15;
      }
      .sports-pools__card-match.sports-pools__card-match--hero .sports-pools__team-crest {
        width: 36px;
        height: 36px;
        max-width: 36px;
        max-height: 36px;
      }
      .sports-pools__card-match.sports-pools__card-match--hero .sports-pools__vs {
        font-size: 0.94rem;
        letter-spacing: 0.09em;
        padding: 0 0.12rem;
      }
      .sports-pools__card-row--hero {
        max-width: 100%;
      }
    }

.pm-sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

.pm-hero {
      margin-bottom: 2rem;
    }

.pm-title {
      font-size: clamp(1.35rem, 3.2vw, 1.85rem);
      font-weight: 800;
      letter-spacing: 0.02em;
      line-height: 1.15;
      margin: 0 0 0.75rem;
      color: var(--text);
    }

.pm-lead {
      margin: 0;
      max-width: 52rem;
      font-size: clamp(0.95rem, 1.6vw, 1.05rem);
      line-height: 1.55;
      color: var(--text-muted);
    }

.pm-section {
      margin-top: 2.25rem;
      padding-top: 2rem;
      border-top: 1px solid var(--hero-border);
    }

.pm-section-title {
      font-size: clamp(1.05rem, 2vw, 1.2rem);
      font-weight: 800;
      margin: 0 0 0.65rem;
      color: var(--text);
    }

.pm-section-lead {
      margin: 0 0 1.25rem;
      font-size: 0.9rem;
      line-height: 1.6;
      color: var(--text-muted);
      max-width: 48rem;
    }

.pm-section--flush {
      margin-top: 0;
      padding-top: 0;
      border-top: none;
    }

.pm-pay-field {
      border: none;
      margin: 0;
      padding: 0;
    }

.pm-pay-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0.65rem;
      max-width: 52rem;
    }

@media (max-width: 720px) {
      .pm-pay-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

.pm-pay__opt {
      cursor: pointer;
      display: block;
    }

.pm-pay__input {
      position: absolute;
      opacity: 0;
      width: 0;
      height: 0;
      margin: 0;
    }

.pm-pay__chip {
      display: flex;
      align-items: center;
      gap: 0.55rem;
      padding: 0.65rem 0.75rem;
      border-radius: 0.55rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 82%, transparent);
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--text);
      transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
    }

.pm-pay__chip svg,
    .pm-pay__chip img {
      width: 1.65rem;
      height: 1.65rem;
      flex-shrink: 0;
    }

.pm-pay__chip img.pm-rise-ico {
      object-fit: contain;
      border-radius: 0.35rem;
    }

.pm-pay__opt:hover .pm-pay__chip {
      border-color: color-mix(in srgb, var(--cyan) 45%, var(--hero-border));
    }

.pm-pay__input:focus-visible + .pm-pay__chip {
      outline: 2px solid var(--cyan);
      outline-offset: 2px;
    }

.pm-pay__input:checked + .pm-pay__chip {
      border-color: color-mix(in srgb, var(--cyan) 55%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan) 14%, var(--bg-elevated));
      box-shadow: 0 0 0 1px color-mix(in srgb, var(--cyan) 25%, transparent);
    }

.pm-pay-summary {
      margin-top: 1rem;
      font-size: 0.84rem;
      line-height: 1.55;
      color: var(--text-muted);
      max-width: 48rem;
    }

.pm-pay-summary strong {
      color: var(--text);
      font-weight: 700;
    }

.pm-layout {
      margin-top: 1.5rem;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 320px);
      gap: 1.5rem;
      align-items: start;
    }

@media (max-width: 960px) {
      .pm-layout {
        grid-template-columns: minmax(0, 1fr);
      }
    }

.ev-sports-hero .rise-hub-hero__title {
      letter-spacing: 0.01em;
    }

.ev-sports-toolbar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem 1rem;
      margin-bottom: 1rem;
      padding: 0.65rem 0.85rem;
      border-radius: 0.65rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 88%, transparent);
    }

.ev-sports-toolbar__sport {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      font-weight: 800;
      font-size: 0.95rem;
      color: var(--text);
    }

.ev-sports-toolbar__sport-ico {
      font-size: 1.15rem;
      line-height: 1;
    }

.ev-sports-toolbar__sport-ico-img {
      width: 1.35rem;
      height: 1.35rem;
      object-fit: contain;
      display: block;
      background: transparent;
    }

.ev-league-filters .pm-filter-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
    }

.ev-filter-ico {
      width: 1rem;
      height: 1rem;
      object-fit: contain;
      flex-shrink: 0;
      border-radius: 2px;
      background: transparent;
    }

.ev-sports-toolbar__modes {
      display: flex;
      flex-wrap: wrap;
      gap: 0.4rem;
    }

.ev-mode-pill {
      font: inherit;
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      padding: 0.45rem 0.75rem;
      border-radius: 999px;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-page) 70%, var(--bg-elevated));
      color: var(--text-muted);
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      transition: border-color 0.2s, background 0.2s, color 0.2s;
    }

.ev-mode-pill:hover {
      color: var(--text);
      border-color: color-mix(in srgb, #fb7185 35%, var(--hero-border));
    }

.ev-mode-pill.is-active {
      color: var(--text);
      border-color: color-mix(in srgb, #fb7185 55%, var(--hero-border));
      background: color-mix(in srgb, #fb7185 14%, var(--bg-elevated));
      box-shadow: 0 0 14px color-mix(in srgb, #fb7185 18%, transparent);
    }

.ev-mode-pill__live {
      width: 0.45rem;
      height: 0.45rem;
      border-radius: 50%;
      background: #ef4444;
      box-shadow: 0 0 0 3px color-mix(in srgb, #ef4444 35%, transparent);
    }

.ev-sports-board-title {
      margin-top: 0.25rem;
    }

.ev-sports-board-lead {
      margin-bottom: 0.85rem;
    }

.ev-date-heading {
      margin: 0 0 0.65rem;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--text-muted);
    }

.ev-match-list {
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
    }

.ev-match-card {
      display: grid;
      grid-template-columns: minmax(160px, 1fr) minmax(210px, auto) minmax(160px, 1fr) auto;
      gap: 0.65rem 1.1rem;
      align-items: center;
      padding: 0.9rem 1rem;
      border-radius: 0.72rem;
      border: 1px solid color-mix(in srgb, var(--cyan) 24%, var(--hero-border));
      background:
        linear-gradient(145deg, color-mix(in srgb, var(--cyan) 8%, var(--bg-elevated)) 0%, color-mix(in srgb, var(--bg-elevated) 92%, transparent) 82%);
      transition: border-color 0.2s, transform 0.2s, background 0.24s;
    }

@media (max-width: 720px) {
      .ev-match-card {
        grid-template-columns: minmax(0, 1fr);
      }
      .ev-match-card__more-wrap {
        justify-self: start;
      }
    }

.ev-match-card:hover {
      transform: translateY(-1px);
      border-color: color-mix(in srgb, var(--gold) 36%, var(--hero-border));
      background:
        linear-gradient(145deg, color-mix(in srgb, var(--gold) 9%, var(--bg-elevated)) 0%, color-mix(in srgb, var(--bg-elevated) 90%, transparent) 84%);
    }

.ev-match-card[hidden] {
      display: none !important;
    }

.ev-match-card__info {
      min-width: 0;
      grid-column: 1 / 4;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
      align-items: center;
      gap: 0.9rem 1rem;
    }

.ev-match-card__league {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      font-size: 0.65rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: color-mix(in srgb, #fb7185 85%, var(--cyan));
      margin-bottom: 0;
      grid-column: 1 / 4;
    }

.ev-comp-logo {
      width: 1.15rem;
      height: 1.15rem;
      object-fit: contain;
      flex-shrink: 0;
      border-radius: 2px;
      background: transparent;
    }

.ev-match-card__time {
      display: block;
      font-size: 0.75rem;
      color: var(--text-muted);
      margin-bottom: 0;
      grid-column: 1 / 4;
    }

.ev-match-card__teams {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      gap: 1.1rem;
      font-weight: 800;
      font-size: 1.02rem;
      color: var(--text);
      line-height: 1.25;
      grid-column: 1 / 4;
      align-items: center;
      position: relative;
    }

.ev-match-card__teams::after {
      content: "VS";
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      font-size: 0.98rem;
      font-weight: 900;
      letter-spacing: 0.08em;
      color: color-mix(in srgb, var(--gold) 66%, var(--text-muted));
      padding: 0.2rem 0.42rem;
      border-radius: 0.35rem;
      border: 1px solid color-mix(in srgb, var(--gold) 34%, var(--hero-border));
      background: color-mix(in srgb, var(--bg-page) 78%, transparent);
      pointer-events: none;
    }

.ev-match-card__team {
      display: flex;
      align-items: center;
      gap: 0.45rem;
      min-height: 2.2rem;
      width: calc(50% - 3.2rem);
    }

.ev-match-card__team:last-child {
      justify-content: flex-end;
      text-align: right;
    }

.ev-crest {
      width: 2.05rem;
      height: 2.05rem;
      object-fit: contain;
      flex-shrink: 0;
      border-radius: 50%;
      background: transparent;
      box-shadow: none;
    }

.ev-match-card__team-name {
      font-weight: 800;
      color: var(--text);
    }

.ev-match-card__markets {
      text-align: center;
      grid-column: 4 / 5;
      justify-self: center;
    }

@media (max-width: 720px) {
      .ev-match-card__markets {
        text-align: left;
      }
    }

.ev-match-card__mh {
      display: block;
      font-size: 0.65rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 0.4rem;
    }

.ev-match-card__odds {
      display: inline-flex;
      gap: 0.45rem;
    }

.ev-odd {
      font: inherit;
      min-width: 3.9rem;
      padding: 0.44rem 0.5rem;
      border-radius: 0.45rem;
      border: 1px solid color-mix(in srgb, var(--cyan) 26%, var(--hero-border));
      background: color-mix(in srgb, var(--bg-page) 70%, var(--bg-elevated));
      color: var(--text-muted);
      font-weight: 800;
      font-size: 0.72rem;
      letter-spacing: 0.06em;
      cursor: pointer;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 0.08rem;
      line-height: 1.1;
      transition: border-color 0.2s, background 0.2s, color 0.2s;
    }

.ev-odd__n {
      font-size: 0.88rem;
      font-weight: 800;
      letter-spacing: 0;
      color: var(--text);
    }

.ev-odd:hover {
      border-color: color-mix(in srgb, var(--cyan) 40%, var(--hero-border));
      color: var(--text);
    }

.ev-odd.is-picked {
      border-color: color-mix(in srgb, #fb7185 65%, var(--hero-border));
      background: color-mix(in srgb, #fb7185 16%, var(--bg-elevated));
    }

@media (max-width: 720px) {
      .ev-match-card__info {
        grid-column: auto;
        grid-template-columns: minmax(0, 1fr);
        gap: 0.65rem;
      }
      .ev-match-card__league,
      .ev-match-card__time,
      .ev-match-card__teams {
        grid-column: auto;
      }
      .ev-match-card__teams {
        flex-direction: column;
        align-items: stretch;
      }
      .ev-match-card__teams::after {
        position: static;
        transform: none;
        align-self: center;
      }
      .ev-match-card__team,
      .ev-match-card__team:last-child {
        width: 100%;
        justify-content: flex-start;
        text-align: left;
      }
      .ev-match-card__markets {
        grid-column: auto;
        justify-self: start;
        text-align: left;
      }
    }

.ev-more-markets {
      font: inherit;
      font-size: 0.72rem;
      font-weight: 800;
      padding: 0.35rem 0.5rem;
      border-radius: 0.4rem;
      border: 1px dashed color-mix(in srgb, var(--text-muted) 45%, var(--hero-border));
      background: transparent;
      color: var(--text-muted);
      cursor: pointer;
    }

.ev-more-markets:hover {
      color: var(--text);
      border-color: var(--text-muted);
    }

.ev-betslip.ev-betslip-card {
      padding: 0;
      border-radius: 0.85rem;
      overflow: hidden;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 92%, transparent);
      box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
    }

.ev-betslip__tabs {
      display: flex;
      gap: 0;
      margin: 0;
      padding: 0 0.5rem;
      border-bottom: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-page) 55%, transparent);
    }

.ev-slip-tab {
      flex: 1 1 auto;
      font: inherit;
      font-size: 0.78rem;
      font-weight: 800;
      padding: 0.65rem 0.35rem;
      border: none;
      border-bottom: 2px solid transparent;
      margin-bottom: -1px;
      background: transparent;
      color: var(--text-muted);
      cursor: pointer;
    }

.ev-slip-tab.is-active {
      color: var(--text);
      border-bottom-color: color-mix(in srgb, hsl(265 88% 56%) 85%, var(--text));
    }

.ev-betslip__panel {
      padding: 0.85rem 1rem 1rem;
    }

.ev-betslip__rail-head {
      display: flex;
      justify-content: flex-end;
      margin: -0.15rem 0 0.35rem;
    }

.ev-betslip__balance {
      margin: 0;
      font-size: 0.78rem;
      font-weight: 800;
      color: var(--text-muted);
      letter-spacing: 0.04em;
    }

.ev-betslip__balance-val {
      color: var(--text);
    }

.ev-betslip__balance-unit {
      margin-left: 0.2rem;
      text-transform: uppercase;
      font-size: 0.68rem;
      opacity: 0.85;
    }

.ev-betslip__match-title {
      margin: 0 0 0.65rem;
      font-size: 0.95rem;
      font-weight: 800;
      color: var(--text);
      letter-spacing: 0.01em;
    }

.ev-betslip__pick {
      margin-bottom: 0.85rem;
    }

.ev-betslip__pick-empty {
      margin: 0;
      padding: 0.65rem 0.75rem;
      border-radius: 0.55rem;
      border: 1px dashed color-mix(in srgb, var(--text-muted) 45%, var(--hero-border));
      background: color-mix(in srgb, var(--bg-page) 50%, transparent);
    }

.ev-betslip__pick-empty-text {
      margin: 0;
      font-size: 0.8rem;
      line-height: 1.45;
      color: var(--text-muted);
    }

.ev-betslip__pick-empty-text strong {
      color: var(--text);
    }

.ev-betslip__pick-ico {
      font-size: 1.15rem;
      line-height: 1;
      margin-top: 0.1rem;
    }

.ev-betslip__pick-crest {
      width: 1.75rem;
      height: 1.75rem;
      object-fit: contain;
      flex-shrink: 0;
      border-radius: 50%;
      background: transparent;
      box-shadow: none;
    }

.ev-betslip__pick-copy {
      display: flex;
      flex-direction: column;
      gap: 0.15rem;
      min-width: 0;
    }

.ev-betslip__pick-name {
      font-size: 0.92rem;
      font-weight: 800;
      color: var(--text);
    }

.ev-betslip__pick-market {
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-muted);
    }

.ev-betslip__stake-block {
      margin-bottom: 0.65rem;
    }

.ev-betslip__stake-label {
      display: block;
      font-size: 0.65rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 0.35rem;
    }

.ev-betslip__stake-input {
      width: 100%;
      box-sizing: border-box;
      font: inherit;
      font-size: 1.15rem;
      font-weight: 700;
      padding: 0.65rem 0.85rem;
      border-radius: 0.65rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-page) 65%, var(--bg-elevated));
      color: var(--text);
    }

.ev-betslip__stake-input:focus {
      outline: none;
      border-color: color-mix(in srgb, var(--cyan) 45%, var(--hero-border));
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--cyan) 18%, transparent);
    }

.ev-betslip__stake-input:disabled {
      opacity: 0.55;
      cursor: not-allowed;
    }

.ev-betslip__math {
      margin-bottom: 0.75rem;
      padding: 0.5rem 0.15rem;
      border-top: 1px solid var(--hero-border);
      border-bottom: 1px solid var(--hero-border);
    }

.ev-betslip__math-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.8rem;
      color: var(--text-muted);
      padding: 0.25rem 0;
    }

.ev-betslip__math-val {
      font-weight: 800;
      color: var(--text);
    }

.ev-betslip__math-row--win {
      margin-top: 0.15rem;
    }

.ev-betslip__win-val {
      font-weight: 800;
      font-size: 0.95rem;
      color: #4ade80;
      text-shadow: 0 0 18px color-mix(in srgb, #4ade80 45%, transparent);
    }

.ev-betslip__accept {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      margin-bottom: 0.85rem;
      cursor: pointer;
      font-size: 0.78rem;
      color: var(--text-muted);
      user-select: none;
    }

.ev-betslip__accept-input {
      position: absolute;
      opacity: 0;
      width: 0;
      height: 0;
    }

.ev-betslip__accept-ui {
      width: 2.15rem;
      height: 1.15rem;
      border-radius: 999px;
      background: color-mix(in srgb, hsl(265 88% 56%) 55%, var(--bg-elevated));
      box-shadow: inset 0 0 0 1px color-mix(in srgb, hsl(265 88% 56%) 40%, transparent);
      position: relative;
      flex-shrink: 0;
      transition: background 0.2s;
    }

.ev-betslip__accept-ui::after {
      content: "";
      position: absolute;
      top: 0.12rem;
      left: 0.12rem;
      width: 0.9rem;
      height: 0.9rem;
      border-radius: 50%;
      background: #fff;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
      transition: transform 0.2s;
    }

.ev-betslip__accept-input:checked + .ev-betslip__accept-ui::after {
      transform: translateX(0.95rem);
    }

.ev-betslip__accept-input:not(:checked) + .ev-betslip__accept-ui {
      background: color-mix(in srgb, var(--text-muted) 25%, var(--bg-elevated));
    }

.ev-betslip__accept-label {
      font-weight: 600;
      color: var(--text);
    }

.ev-betslip__cta-row {
      margin-bottom: 0.55rem;
    }

.ev-betslip__place {
      width: 100%;
      font: inherit;
      font-weight: 800;
      font-size: 0.88rem;
      padding: 0.7rem 1rem;
      border-radius: 0.65rem;
      border: none;
      cursor: pointer;
      color: #052e16;
      background: linear-gradient(165deg, #4ade80 0%, #16a34a 100%);
      box-shadow: 0 10px 28px color-mix(in srgb, #16a34a 35%, transparent);
      transition: transform 0.15s, filter 0.15s;
    }

.ev-betslip__place:hover:not(:disabled) {
      filter: brightness(1.05);
    }

.ev-betslip__place:disabled {
      cursor: not-allowed;
      opacity: 0.5;
      box-shadow: none;
      filter: grayscale(0.3);
    }

.ev-betslip__fineprint {
      margin: 0 0 0.65rem;
      font-size: 0.72rem;
      line-height: 1.45;
      color: var(--text-muted);
    }

.ev-betslip__settings {
      margin-bottom: 0;
      font-size: 0.78rem;
      color: var(--text-muted);
    }

.ev-betslip__settings summary {
      cursor: pointer;
      font-weight: 700;
      color: var(--text);
    }

.ev-betslip__settings-note {
      margin: 0.45rem 0 0;
      font-size: 0.75rem;
      line-height: 1.45;
    }

.ev-betslip__empty {
      margin: 0;
      font-size: 0.85rem;
      color: var(--text-muted);
      padding: 0.5rem 0;
    }

.pm-filters {
      display: flex;
      flex-wrap: wrap;
      gap: 0.45rem;
      margin-bottom: 1rem;
    }

.pm-filter-btn {
      font: inherit;
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 0.4rem 0.65rem;
      border-radius: 0.4rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 78%, transparent);
      color: var(--text-muted);
      cursor: pointer;
      transition: border-color 0.2s, background 0.2s, color 0.2s;
    }

.pm-filter-btn:hover {
      color: var(--text);
      border-color: color-mix(in srgb, var(--cyan) 35%, var(--hero-border));
    }

.pm-filter-btn.is-active {
      color: var(--cyan);
      border-color: color-mix(in srgb, var(--cyan) 45%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan) 10%, var(--bg-elevated));
    }

.pm-cards {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }

.pm-card {
      padding: 1rem 1rem 1.05rem;
      border-radius: 0.6rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 82%, transparent);
    }

.pm-card[hidden] {
      display: none !important;
    }

.pm-card__top {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      justify-content: space-between;
      gap: 0.5rem 1rem;
      margin-bottom: 0.55rem;
    }

.pm-card__cat {
      font-size: 0.65rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--cyan);
    }

.pm-card__q {
      margin: 0;
      font-size: 0.95rem;
      font-weight: 700;
      line-height: 1.35;
      color: var(--text);
      flex: 1 1 100%;
    }

.pm-card__meta {
      display: flex;
      flex-wrap: wrap;
      gap: 0.65rem 1rem;
      font-size: 0.75rem;
      color: var(--text-muted);
      margin-bottom: 0.75rem;
    }

.pm-bars {
      display: grid;
      gap: 0.45rem;
    }

.pm-bar {
      display: grid;
      grid-template-columns: 2.25rem 1fr 2.5rem;
      align-items: center;
      gap: 0.45rem;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--text-muted);
    }

.pm-bar__track {
      height: 0.45rem;
      border-radius: 999px;
      background: color-mix(in srgb, var(--text-muted) 18%, transparent);
      overflow: hidden;
    }

.pm-bar__fill {
      height: 100%;
      border-radius: 999px;
      transition: width 0.35s ease;
    }

.pm-bar__fill--yes {
      background: linear-gradient(90deg, #059669, color-mix(in srgb, var(--cyan) 70%, #059669));
    }

.pm-bar__fill--no {
      background: linear-gradient(90deg, #e11d48, #fb7185);
    }

.pm-bar__pct {
      text-align: right;
      color: var(--text);
      font-variant-numeric: tabular-nums;
    }

.pm-preview {
      position: sticky;
      top: calc(var(--header-offset) + 0.75rem);
      padding: 1.1rem 1rem 1.15rem;
      border-radius: 0.65rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 88%, transparent);
    }

.pm-preview .pm-pay-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.45rem;
      max-width: none;
      margin-bottom: 0.75rem;
    }

.pm-preview .pm-pay__chip {
      padding: 0.5rem 0.55rem;
      font-size: 0.74rem;
      justify-content: center;
      text-align: center;
    }

.pm-preview .pm-pay__opt--wide {
      grid-column: 1 / -1;
    }

@media (max-width: 960px) {
      .pm-preview {
        position: static;
      }
    }

.pm-preview__row {
      display: flex;
      gap: 0.45rem;
      margin-bottom: 0.65rem;
    }

.pm-preview__side {
      flex: 1;
      font: inherit;
      font-size: 0.78rem;
      font-weight: 800;
      padding: 0.5rem;
      border-radius: 0.45rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 70%, transparent);
      color: var(--text-muted);
      cursor: pointer;
    }

.pm-preview__side.is-yes {
      border-color: color-mix(in srgb, #059669 55%, var(--hero-border));
      color: #059669;
      background: color-mix(in srgb, #059669 12%, transparent);
    }

.pm-preview__side.is-no {
      border-color: color-mix(in srgb, #e11d48 55%, var(--hero-border));
      color: #e11d48;
      background: color-mix(in srgb, #e11d48 10%, transparent);
    }

.pm-preview__amt {
      width: 100%;
      font: inherit;
      font-size: 0.88rem;
      padding: 0.55rem 0.65rem;
      border-radius: 0.45rem;
      border: 1px solid var(--hero-border);
      background: var(--bg-page);
      color: var(--text);
      margin-bottom: 0.65rem;
      box-sizing: border-box;
    }

.pm-preview__amt:disabled {
      opacity: 0.65;
    }

.pm-preview__cta {
      width: 100%;
      font: inherit;
      font-size: 0.82rem;
      font-weight: 800;
      padding: 0.6rem 0.75rem;
      border-radius: 0.5rem;
      border: 1px solid #00267a;
      background: #00267a;
      color: #ffffff;
      cursor: not-allowed;
      opacity: 0.85;
    }

.pm-preview__hint {
      margin: 0.65rem 0 0;
      font-size: 0.72rem;
      line-height: 1.5;
      color: var(--text-muted);
    }

.pm-feed-header {
      margin-bottom: 1.25rem;
    }

.pm-feed-kicker {
      margin: 0 0 0.35rem;
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--cyan);
    }

.pm-feed-title {
      margin: 0 0 0.5rem;
      font-size: clamp(1.45rem, 3.4vw, 2rem);
      font-weight: 800;
      letter-spacing: 0.02em;
      line-height: 1.12;
      color: var(--text);
    }

.pm-feed-sub {
      margin: 0;
      max-width: 40rem;
      font-size: 0.92rem;
      line-height: 1.55;
      color: var(--text-muted);
    }

.pm-feed-search-row {
      margin-bottom: 1rem;
    }

.pm-feed-search {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.45rem 0.65rem;
      border-radius: 0.55rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 88%, transparent);
    }

.pm-feed-search svg {
      width: 1.1rem;
      height: 1.1rem;
      flex-shrink: 0;
      opacity: 0.55;
    }

.pm-feed-search input {
      flex: 1;
      min-width: 0;
      border: 0;
      background: transparent;
      color: var(--text);
      font: inherit;
      font-size: 0.88rem;
      outline: none;
    }

.pm-feed-search input::placeholder {
      color: var(--text-muted);
    }

.pm-feed-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 0.45rem;
      margin-bottom: 1.35rem;
    }

.pm-feed-spotlight {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.85rem;
      margin-bottom: 1.5rem;
    }

@media (max-width: 820px) {
      .pm-feed-spotlight {
        grid-template-columns: 1fr;
      }
    }

.pm-spot {
      position: relative;
      padding: 1rem 1rem 1.1rem;
      border-radius: 0.65rem;
      border: 1px solid var(--hero-border);
      background: linear-gradient(
        145deg,
        color-mix(in srgb, var(--cyan) 12%, var(--bg-elevated)) 0%,
        color-mix(in srgb, var(--bg-elevated) 92%, transparent) 55%
      );
      overflow: hidden;
    }

.pm-spot__head {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      margin-bottom: 0.35rem;
    }

.pm-spot__logo {
      width: 1.75rem;
      height: 1.75rem;
      object-fit: contain;
      flex-shrink: 0;
      border-radius: 0.3rem;
      background: transparent;
      box-shadow: none;
    }

.pm-spot__tag {
      margin: 0;
      font-size: 0.62rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-muted);
    }

.pm-spot__q {
      margin: 0.45rem 0 0.75rem;
      font-size: 1.02rem;
      font-weight: 800;
      line-height: 1.3;
      color: var(--text);
    }

.pm-spot__outcomes {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
    }

.pm-spot__out {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.65rem;
      font-size: 0.78rem;
      font-weight: 700;
      color: var(--text-muted);
    }

.pm-spot__out strong {
      color: var(--text);
      font-weight: 800;
    }

.pm-spot__meter {
      flex: 1;
      height: 0.38rem;
      border-radius: 999px;
      background: color-mix(in srgb, var(--text-muted) 16%, transparent);
      overflow: hidden;
    }

.pm-spot__meter > span {
      display: block;
      height: 100%;
      border-radius: 999px;
      background: linear-gradient(90deg, #059669, color-mix(in srgb, var(--cyan) 65%, #059669));
    }

.pm-spot__vol {
      margin-top: 0.75rem;
      font-size: 0.72rem;
      font-weight: 700;
      color: var(--text-muted);
    }

.pm-feed-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(292px, 1fr));
      gap: 0.75rem;
    }

.pm-feed-tile {
      display: flex;
      gap: 0.75rem;
      align-items: flex-start;
      padding: 0.85rem 0.9rem;
      border-radius: 0.55rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 85%, transparent);
      box-sizing: border-box;
    }

.pm-feed-tile[hidden] {
      display: none !important;
    }

.pm-feed-tile__ico {
      width: 2.65rem;
      height: 2.65rem;
      border-radius: 0.45rem;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      font-weight: 900;
      color: #fff;
      background: linear-gradient(145deg, #334155, #0f172a);
    }

.pm-feed-tile__ico--eth {
      background: linear-gradient(145deg, #627eea, #3c3c3d);
    }

.pm-feed-tile__ico--btc {
      background: linear-gradient(145deg, #f7931a, #994f00);
    }

.pm-feed-tile__ico--sol {
      background: linear-gradient(145deg, #9945ff, #14f195);
    }

.pm-feed-tile__ico--rise {
      background: linear-gradient(145deg, var(--cyan), #0369a1);
    }

.pm-feed-tile__ico--globe {
      background: linear-gradient(145deg, #0ea5e9, #1d4ed8);
    }

.pm-feed-tile__ico--hasimg {
      padding: 0.28rem;
      box-sizing: border-box;
      background: transparent !important;
      box-shadow: none;
    }

.pm-feed-tile__ico-img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }

.pm-feed-tile__body {
      flex: 1;
      min-width: 0;
    }

.pm-feed-tile__meta {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem 0.65rem;
      font-size: 0.62rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 0.35rem;
    }

.pm-feed-tile__q {
      margin: 0 0 0.55rem;
      font-size: 0.88rem;
      font-weight: 800;
      line-height: 1.35;
      color: var(--text);
    }

.pm-feed-tile__chance {
      font-size: 1.35rem;
      font-weight: 900;
      font-variant-numeric: tabular-nums;
      color: var(--cyan);
      line-height: 1;
      margin-bottom: 0.35rem;
    }

.pm-feed-tile__sub {
      font-size: 0.72rem;
      color: var(--text-muted);
      margin-bottom: 0.5rem;
    }

.pm-feed-tile__yesno {
      display: flex;
      gap: 0.4rem;
    }

.pm-feed-tile__pill {
      flex: 1;
      text-align: center;
      padding: 0.32rem 0.35rem;
      border-radius: 0.35rem;
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      border: 1px solid var(--hero-border);
      color: var(--text-muted);
      background: color-mix(in srgb, var(--bg-page) 70%, transparent);
    }

.pm-feed-tile__pill--yes {
      border-color: color-mix(in srgb, #059669 45%, var(--hero-border));
      color: #059669;
      background: color-mix(in srgb, #059669 10%, transparent);
    }

.pm-feed-tile__pill--no {
      border-color: color-mix(in srgb, #e11d48 45%, var(--hero-border));
      color: #e11d48;
      background: color-mix(in srgb, #e11d48 8%, transparent);
    }

.pm-feed-tile__vol {
      margin-top: 0.45rem;
      font-size: 0.68rem;
      font-weight: 700;
      color: var(--text-muted);
    }

.pm-feed-tile__opts {
      margin: 0.45rem 0 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 0.28rem;
    }

.pm-feed-tile__opts li {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.5rem;
      font-size: 0.72rem;
      color: var(--text-muted);
    }

.pm-feed-tile__opts li span:last-child {
      font-weight: 800;
      color: var(--text);
      font-variant-numeric: tabular-nums;
    }

.pm-feed-tile__opt-label {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      min-width: 0;
    }

.pm-feed-tile__opt-ico {
      width: 1rem;
      height: 1rem;
      object-fit: contain;
      flex-shrink: 0;
      border-radius: 2px;
      background: transparent;
    }

.pm-section-title--row {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      justify-content: space-between;
      gap: 0.5rem 1rem;
    }

.pm-section-title--row .pm-section-title {
      margin: 0;
    }

.pm-section-title--row span {
      font-size: 0.75rem;
      font-weight: 700;
      color: var(--text-muted);
    }

.pm-skip-link {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

.pm-skip-link:focus {
      position: static;
      width: auto;
      height: auto;
      margin: 0 0 0.75rem;
      padding: 0.35rem 0.65rem;
      clip: auto;
      overflow: visible;
      white-space: normal;
      border-radius: 0.35rem;
      background: color-mix(in srgb, var(--cyan) 18%, var(--bg-elevated));
      color: var(--text);
      font-weight: 700;
      font-size: 0.82rem;
      text-decoration: none;
      outline: 2px solid var(--cyan);
      outline-offset: 2px;
    }

.pm-feed-tile--interactive {
      cursor: pointer;
      transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
    }

.pm-feed-tile--interactive:hover {
      border-color: color-mix(in srgb, var(--cyan) 45%, var(--hero-border));
      box-shadow: 0 4px 24px rgba(0, 0, 0, 0.22);
    }

.pm-feed-tile--interactive:focus-visible {
      outline: 2px solid var(--cyan);
      outline-offset: 2px;
    }

.pm-spot[data-pm-market] {
      cursor: pointer;
      transition: border-color 0.2s, box-shadow 0.2s;
    }

.pm-spot[data-pm-market]:hover {
      border-color: color-mix(in srgb, var(--cyan) 40%, var(--hero-border));
    }

.pm-detail {
      max-width: 1320px;
      margin: 0 auto;
      padding: 0 1.25rem 2.5rem;
      box-sizing: border-box;
    }

.pm-detail__toolbar {
      margin-bottom: 1rem;
    }

.pm-detail__back {
      font: inherit;
      font-size: 0.88rem;
      font-weight: 700;
      padding: 0.4rem 0.65rem;
      border-radius: 0.45rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 88%, transparent);
      color: var(--text);
      cursor: pointer;
    }

.pm-detail__back:hover {
      border-color: color-mix(in srgb, var(--cyan) 45%, var(--hero-border));
    }

.pm-detail__grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
      gap: 1.25rem;
      align-items: start;
    }

@media (max-width: 960px) {
      .pm-detail__grid {
        grid-template-columns: 1fr;
      }
    }

.pm-detail__crumb {
      margin: 0 0 0.35rem;
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--text-muted);
    }

.pm-detail__h {
      margin: 0 0 0.35rem;
      font-size: clamp(1.15rem, 2.6vw, 1.45rem);
      font-weight: 800;
      line-height: 1.2;
      color: var(--text);
    }

.pm-detail__sub {
      margin: 0 0 1rem;
      font-size: 0.88rem;
      color: var(--text-muted);
    }

.pm-detail__stat-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.65rem;
      margin-bottom: 1rem;
    }

@media (max-width: 720px) {
      .pm-detail__stat-grid {
        grid-template-columns: 1fr;
      }
    }

.pm-detail__stat {
      padding: 0.55rem 0.65rem;
      border-radius: 0.45rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 88%, transparent);
    }

.pm-detail__stat-label {
      display: block;
      font-size: 0.62rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 0.25rem;
    }

.pm-detail__stat-val {
      font-size: 1.05rem;
      font-weight: 800;
      font-variant-numeric: tabular-nums;
      color: var(--text);
    }

.pm-detail__stat-val--live {
      color: #fb923c;
    }

.pm-detail__stat-delta {
      display: inline-block;
      margin-left: 0.35rem;
      font-size: 0.68rem;
      font-weight: 800;
      font-variant-numeric: tabular-nums;
    }

.pm-detail__stat-delta.is-pos {
      color: #4ade80;
    }

.pm-detail__stat-delta.is-neg {
      color: #f87171;
    }

.pm-detail__timer {
      font-size: 1.35rem;
      font-weight: 900;
      font-variant-numeric: tabular-nums;
      letter-spacing: 0.04em;
      color: #f87171;
    }

.pm-detail__chart {
      position: relative;
      height: 220px;
      border-radius: 0.55rem;
      border: 1px solid var(--hero-border);
      background: #0b0f14;
      margin-bottom: 1rem;
      overflow: hidden;
    }

.pm-tpl-binary--simple .pm-detail__chart {
      display: none;
    }

.pm-detail__chart-svg {
      width: 100%;
      height: 100%;
      display: block;
    }

.pm-detail__chart-path {
      fill: none;
      stroke: #fb923c;
      stroke-width: 2.5;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

.pm-detail__chart-target {
      stroke: rgba(148, 163, 184, 0.45);
      stroke-width: 1;
      stroke-dasharray: 4 4;
    }

.pm-detail__intervals {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem;
      margin-bottom: 1rem;
    }

.pm-detail__pill {
      font: inherit;
      font-size: 0.72rem;
      font-weight: 800;
      padding: 0.35rem 0.55rem;
      border-radius: 0.35rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 82%, transparent);
      color: var(--text-muted);
      cursor: pointer;
    }

.pm-detail__pill.is-active {
      border-color: color-mix(in srgb, var(--cyan) 45%, var(--hero-border));
      color: var(--cyan);
    }

.pm-detail__mini {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem;
      font-size: 0.68rem;
      font-weight: 700;
      color: #4ade80;
      margin-bottom: 0.75rem;
    }

.pm-detail__mini span.neg {
      color: #f87171;
    }

.pm-detail__rules {
      margin-top: 0.75rem;
      padding: 0.65rem 0.75rem;
      border-radius: 0.45rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 78%, transparent);
      font-size: 0.8rem;
      line-height: 1.5;
      color: var(--text-muted);
    }

.pm-detail__rules summary {
      cursor: pointer;
      font-weight: 800;
      color: var(--text);
    }

.pm-trade-widget {
      position: sticky;
      top: calc(var(--header-offset) + 0.5rem);
      padding: 0.85rem 0.75rem 1rem;
      border-radius: 0.55rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 92%, transparent);
    }

@media (max-width: 960px) {
      .pm-trade-widget {
        position: static;
      }
    }

.pm-trade-widget__tabs {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.5rem;
      margin-bottom: 0.65rem;
    }

.pm-trade-tab {
      font: inherit;
      font-size: 0.78rem;
      font-weight: 800;
      padding: 0.3rem 0.45rem;
      border: 0;
      background: transparent;
      color: var(--text-muted);
      cursor: pointer;
      border-bottom: 2px solid transparent;
    }

.pm-trade-tab.is-active {
      color: var(--text);
      border-bottom-color: var(--cyan);
    }

.pm-trade-widget__type {
      font-size: 0.72rem;
      font-weight: 700;
      padding: 0.25rem 0.45rem;
      border-radius: 0.35rem;
      border: 1px solid var(--hero-border);
      background: var(--bg-page);
      color: var(--text-muted);
    }

.pm-trade-updown-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.45rem;
      margin-bottom: 0.65rem;
    }

.pm-trade-updown {
      font: inherit;
      font-size: 0.78rem;
      font-weight: 800;
      padding: 0.55rem 0.45rem;
      border-radius: 0.45rem;
      border: 1px solid var(--hero-border);
      cursor: pointer;
      background: color-mix(in srgb, var(--bg-page) 90%, transparent);
      color: var(--text-muted);
    }

.pm-trade-updown[data-pm-side="up"] {
      border-color: color-mix(in srgb, #059669 55%, var(--hero-border));
    }

.pm-trade-updown[data-pm-side="up"].is-active {
      background: color-mix(in srgb, #059669 18%, transparent);
      color: #4ade80;
    }

.pm-trade-updown[data-pm-side="down"] {
      border-color: color-mix(in srgb, #e11d48 55%, var(--hero-border));
    }

.pm-trade-updown[data-pm-side="down"].is-active {
      background: color-mix(in srgb, #e11d48 12%, transparent);
      color: #fb7185;
    }

.pm-trade-widget__amt-label {
      font-size: 0.65rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 0.35rem;
    }

.pm-trade-widget__amt-input {
      width: 100%;
      font: inherit;
      font-size: 1.15rem;
      font-weight: 800;
      padding: 0.45rem 0.5rem;
      border-radius: 0.4rem;
      border: 1px solid var(--hero-border);
      background: var(--bg-page);
      color: var(--text);
      margin-bottom: 0.45rem;
      box-sizing: border-box;
    }

.pm-trade-amt-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 0.3rem;
      margin-bottom: 0.65rem;
    }

.pm-trade-amt-chip {
      font: inherit;
      font-size: 0.68rem;
      font-weight: 800;
      padding: 0.28rem 0.45rem;
      border-radius: 0.35rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 82%, transparent);
      color: var(--text-muted);
      cursor: pointer;
    }

.pm-trade-amt-chip:hover {
      color: var(--text);
      border-color: color-mix(in srgb, var(--cyan) 35%, var(--hero-border));
    }

.pm-trade-submit {
      width: 100%;
      font: inherit;
      font-size: 0.88rem;
      font-weight: 800;
      padding: 0.65rem 0.75rem;
      border-radius: 0.55rem;
      border: 1px solid #2563eb;
      background: linear-gradient(165deg, #2563eb 0%, #1d4ed8 100%);
      color: #fff;
      cursor: pointer;
      margin-bottom: 0.45rem;
    }

.pm-trade-submit:hover {
      filter: brightness(1.06);
    }

.pm-trade-widget__fine {
      font-size: 0.65rem;
      line-height: 1.45;
      color: var(--text-muted);
      margin: 0;
    }

.pm-trade-widget__sell-note {
      font-size: 0.72rem;
      color: var(--text-muted);
      margin: 0 0 0.5rem;
    }

.pm-detail__related {
      margin-top: 1.5rem;
      padding-top: 1.25rem;
      border-top: 1px solid var(--hero-border);
    }

.pm-detail__related-h {
      margin: 0 0 0.65rem;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--text-muted);
    }

.pm-detail__related-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.65rem;
    }

.pm-detail__related-card {
      flex: 1 1 200px;
      min-width: 180px;
      padding: 0.65rem 0.75rem;
      border-radius: 0.45rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 85%, transparent);
      cursor: pointer;
      text-align: left;
      font: inherit;
    }

.pm-detail__related-card:hover {
      border-color: color-mix(in srgb, var(--cyan) 35%, var(--hero-border));
    }

.pm-detail__related-card strong {
      display: block;
      font-size: 0.62rem;
      color: var(--text-muted);
      margin-bottom: 0.25rem;
    }

.pm-detail__related-card span {
      font-size: 0.82rem;
      font-weight: 800;
      color: var(--text);
    }

.pm-bracket-rows {
      display: flex;
      flex-direction: column;
      gap: 0.45rem;
      margin-bottom: 1rem;
    }

.pm-bracket-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto auto auto;
      gap: 0.5rem;
      align-items: center;
      padding: 0.55rem 0.65rem;
      border-radius: 0.45rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 82%, transparent);
    }

@media (max-width: 720px) {
      .pm-bracket-row {
        grid-template-columns: 1fr 1fr;
      }
    }

.pm-bracket-row__label {
      font-size: 0.82rem;
      font-weight: 800;
      color: var(--text);
    }

.pm-bracket-row__pct {
      font-size: 0.95rem;
      font-weight: 900;
      font-variant-numeric: tabular-nums;
      color: var(--cyan);
      text-align: right;
    }

.pm-bracket-buy {
      font: inherit;
      font-size: 0.65rem;
      font-weight: 800;
      padding: 0.35rem 0.45rem;
      border-radius: 0.35rem;
      border: 1px solid color-mix(in srgb, #059669 45%, var(--hero-border));
      background: color-mix(in srgb, #059669 12%, transparent);
      color: #4ade80;
      cursor: pointer;
      white-space: nowrap;
    }

.pm-bracket-buy--no {
      border-color: color-mix(in srgb, #e11d48 45%, var(--hero-border));
      background: color-mix(in srgb, #e11d48 10%, transparent);
      color: #fb7185;
    }

.pm-tpl-bracket .pm-detail__grid {
      margin-bottom: 0.5rem;
    }

.pm-steps {
      counter-reset: pm-step;
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 0.85rem;
    }

.pm-steps li {
      counter-increment: pm-step;
      position: relative;
      padding: 0.85rem 0.95rem 0.95rem 2.65rem;
      border-radius: 0.55rem;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 78%, transparent);
      font-size: 0.86rem;
      line-height: 1.55;
      color: var(--text-muted);
    }

.pm-steps li::before {
      content: counter(pm-step);
      position: absolute;
      left: 0.75rem;
      top: 0.8rem;
      width: 1.45rem;
      height: 1.45rem;
      border-radius: 0.35rem;
      background: color-mix(in srgb, var(--cyan) 18%, transparent);
      border: 1px solid color-mix(in srgb, var(--cyan) 35%, var(--hero-border));
      color: var(--cyan);
      font-weight: 800;
      font-size: 0.72rem;
      display: flex;
      align-items: center;
      justify-content: center;
    }

.pm-steps strong {
      color: var(--text);
      font-weight: 700;
    }

.pm-cta-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.65rem;
      margin-top: 1.25rem;
    }

.pm-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.55rem 1rem;
      border-radius: 0.5rem;
      font-size: 0.82rem;
      font-weight: 700;
      text-decoration: none;
      border: 1px solid var(--hero-border);
      background: color-mix(in srgb, var(--bg-elevated) 88%, transparent);
      color: var(--text);
      transition: border-color 0.2s, background 0.2s;
    }

.pm-cta:hover {
      border-color: color-mix(in srgb, var(--cyan) 45%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan) 10%, var(--bg-elevated));
    }

.pm-cta--primary {
      border-color: #00267a;
      background: #00267a;
      color: #ffffff;
    }

.pm-cta--primary:hover {
      border-color: #003d9e;
      background: #003d9e;
      color: #ffffff;
    }

.pm-disclaimer {
      margin-top: 2rem;
      padding-top: 1.25rem;
      border-top: 1px solid var(--hero-border);
      font-size: 0.75rem;
      line-height: 1.6;
      color: var(--text-muted);
      max-width: 52rem;
    }
