
:root {
  --gold: #ff7a2e;
  --gold-dark: #d4541a;
  --gold-glow: rgba(255, 122, 46, 0.10);
  --border-gold: rgba(255, 122, 46, 0.22);
  --acc-rgb: 255, 122, 46;
  --acc-btn: #d4541a;
  --acc-btn-hi: #ec6a24;
  --accent: #d4541a;
  --bg: #070a17;
  --card: #10162e;
  --card2: #172040;
}
html { background: #070a17; }
body { background-color: #070a17; background-image: radial-gradient(ellipse 80% 40% at 50% 0%, rgba(255, 122, 46, 0.10) 0%, transparent 70%); }
h1, h2, h3, .cp-section-title { text-wrap: balance; }
p, small, .narrative, .cp-hero-pitch, .cp-mode-line, .spot-promo-txt small { text-wrap: pretty; }


.btn:not(.btn-outline):not(.btn-sm), #spinBtn, .pk-start, .fv-popup-btn.primary, .cp-btn-primary {
  background: linear-gradient(135deg, var(--acc-btn), var(--acc-btn-hi)) !important; color: #fff !important;
}
.btn-outline { border-color: var(--gold) !important; color: var(--gold) !important; }


.nrl-field-wrap {
  background:
    radial-gradient(ellipse at 50% 50%, transparent 55%, rgba(0, 0, 0, .3) 100%),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, .035) 0 26px, transparent 26px 52px),
    linear-gradient(180deg, #17512f, #0f3b22) !important;
  height: min(86vw, 420px) !important; 
}
.nrl-field-inner.bbl-oval .bbl-rope { position: absolute; inset: 2% 2.5%; border: 2px solid rgba(255, 255, 255, .26); border-radius: 50%; pointer-events: none; z-index: 0; }
.nrl-field-inner.bbl-oval .bbl-ring { position: absolute; inset: 22% 18%; border: 1.5px dashed rgba(255, 255, 255, .18); border-radius: 50%; pointer-events: none; z-index: 0; }
.nrl-field-inner.bbl-oval .bbl-strip {
  position: absolute; left: 50%; top: 50%; width: 7%; height: 30%; transform: translate(-50%, -50%); pointer-events: none; z-index: 0;
  background:
    linear-gradient(180deg, transparent 9%, rgba(255, 255, 255, .22) 9% 10%, transparent 10% 90%, rgba(255, 255, 255, .22) 90% 91%, transparent 91%),
    linear-gradient(90deg, transparent, rgba(222, 200, 150, .14) 18%, rgba(222, 200, 150, .14) 82%, transparent);
}

.nrl-field-wrap::before, .nrl-field-wrap::after {
  content: ""; position: absolute; top: 0; width: 40%; height: 34%; pointer-events: none; z-index: 0;
  background: radial-gradient(circle at 50% 0%, rgba(255, 214, 160, .10), transparent 70%);
}
.nrl-field-wrap::before { left: 0; }
.nrl-field-wrap::after { right: 0; }
.nrl-field-inner .fpos { z-index: 2; }
@media (min-width: 900px) { .nrl-field-wrap { height: auto !important; } }


.ptag { padding-left: 8px; padding-right: 8px; letter-spacing: 0; }
.ptag-B { background: #1e3a8a; color: #bfdbfe; }
.ptag-A { background: #4c1d95; color: #ddd6fe; }
.ptag-K { background: #14532d; color: #bbf7d0; }
.ptag-W { background: #7c2d12; color: #fed7aa; }
.game-row .game-scorers + .game-scorers { margin-top: 1px; }
.so-tag { display: inline-block; margin-top: 1px; padding: 0 5px; border-radius: 999px; background: rgba(var(--acc-rgb), .16); color: var(--gold); font: 800 8px/1.5 Inter, system-ui, sans-serif; letter-spacing: .3px; white-space: nowrap; }


.fl-chips { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.fl-chips .wc-chip small { font-size: 9px; }


body[data-mode="hard"] { --mode: #f87171; --mode-rgb: 248, 113, 113; }
body[data-mode="hard"] .cp-skin-strip { background: linear-gradient(90deg, #7f1d1d, #dc2626 50%, #7f1d1d); }
body[data-mode="hard"] #spinBtn { background: linear-gradient(135deg, #b91c1c, #f87171) !important; color: #fff !important; box-shadow: 0 4px 20px rgba(220, 38, 38, .4) !important; }
.cp-mode-mini.is-hard { --mm: #f87171; }


.cp-mode-card.cp-mode-main .cp-mode-go { background: linear-gradient(135deg, var(--acc-btn), var(--acc-btn-hi)) !important; color: #fff !important; }
@media (hover: hover) { .cp-mode-main:hover .cp-mode-go { background: linear-gradient(135deg, var(--acc-btn-hi), var(--gold)) !important; } }


.fixture-grid { align-content: start; grid-auto-rows: min-content; }
.fixture-grid .game-row { min-height: 40px; }

@media (max-width: 480px) {
  .fixture-grid .game-opp-name { font-size: 10.5px; }
  .fixture-grid .game-club-badge { width: 24px; min-width: 24px; font-size: 7px; }
}


.nrl-field-inner.bbl-oval .fpos-circle.fp-filled { padding-top: 9px; gap: 1px; }
.nrl-field-inner.bbl-oval .fp-filled .fpos-pname { margin-top: 0 !important; }
.nrl-field-inner.bbl-oval .fpos-code { top: 2px; font-size: 7.5px; }


.season-record-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:34px;gap:4px 8px;align-items:center;padding:6px 14px;flex-wrap:nowrap}
.season-record-bar>*{min-width:0;height:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.season-record-bar>.srb-sep{display:none}
.season-record-bar .srb-record{font-size:18px;line-height:20px;min-width:0;width:100%;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.season-record-bar .srb-val,.season-record-bar .srb-pos{display:block;width:100%;line-height:18px;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.season-record-bar .srb-label{display:block;width:100%;line-height:12px;text-align:center;white-space:nowrap}
@media (min-width:600px){.season-record-bar{grid-template-columns:repeat(6,minmax(0,1fr))}}
.season-controls .btn{min-height:36px}


.result-meta-row .result-badge-val.rb-ladder { font-variant-numeric: tabular-nums; }


.bbl-tbl{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px;font-variant-numeric:tabular-nums}
.bbl-tbl th{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:4px 0;text-align:center}
.bbl-tbl td{padding:5px 0;text-align:center;border-top:1px solid rgba(255,255,255,.06);white-space:nowrap}
.bbl-tbl th:nth-child(n+2),.bbl-tbl td:nth-child(n+2){width:28px}
.bbl-tbl .t-team{text-align:left;padding-left:4px;overflow:hidden;text-overflow:ellipsis;width:auto}
.bbl-tbl .t-pts{color:var(--gold);font-weight:700}
.bbl-tbl tr.is-me td{background:rgba(var(--acc-rgb),.12);font-weight:700}
.bbl-tbl tr.is-cut td{border-bottom:2px solid var(--gold)}


.cp-footer-credit a { padding: 1px 6px; border-radius: 6px; background: rgba(255, 255, 255, .08); color: #d6d6e4; font-weight: 700; text-decoration: none; }


.wc-big-score.fl-cricket { gap: 10px; }
.wc-big-score.fl-cricket small { font: 800 13px/1 Inter, system-ui, sans-serif; color: var(--muted); font-variant-numeric: tabular-nums; }
.fl-target { min-height: 16px; text-align: center; font: 800 11px/1.4 Inter, system-ui, sans-serif; letter-spacing: .4px; color: var(--gold); }
.fl-how { margin: 2px 0 8px; text-align: center; font-size: 12px; font-weight: 700; color: #d6d6e4; text-wrap: balance; }


.fl .wc-ft-score { font-size: 30px; gap: 8px; }
.fl .wc-ft-score .wc-badge-xl { width: 40px; height: 40px; font-size: 11px; }
.fl .wc-ft-score i { font-size: 16px; font-style: normal; opacity: .7; }


.fixture-grid .game-opp { flex: 1; min-width: 0; }
.game-opp-sc { font: 800 10.5px/1.25 Inter, system-ui, sans-serif; color: var(--muted); font-variant-numeric: tabular-nums; white-space: normal; }
.game-opp-sc.win { color: #4ade80; }
.game-opp-sc.loss { color: #f87171; }
.game-opp-sc .so-tag { margin-top: 0; vertical-align: 1px; }


.spin-slots > .spin-slot { flex: 1 1 0; min-width: 0; box-sizing: border-box; border-width: 1px; }
.spin-slots > .spin-slot .spin-slot-val { min-width: 0; text-wrap: balance; overflow-wrap: break-word;  line-height: 1.15; }


.wc-chip .wc-badge.is-emo, .wc-badge.is-emo { font-size: 13px; font-weight: 400; letter-spacing: 0; }


.ca-spot-src { padding: 2px 4px; letter-spacing: 0; text-overflow: clip; }
@supports (font-size: 1cqw) { .ca-pitch .ca-spot .ca-spot-src { font-size: min(9px, calc((100cqw - 8px) / 6.4)); } }


.ca-pitch.is-ground { grid-auto-rows: 1fr; }
.ca-pitch.is-ground .ca-pitch-row, .ca-pitch.is-ground .ca-pitch-row:first-child, .ca-pitch.is-ground .ca-pitch-row:last-child { justify-content: center; padding: 0; }
.ca-pitch.is-ground .ca-spot { flex: 0 0 min(30%, 124px); max-width: min(30%, 124px); box-sizing: border-box; }
