
:root {
  --gold: #ff5c6c;
  --gold-dark: #a3192b;
  --gold-glow: rgba(255, 92, 108, 0.10);
  --border-gold: rgba(255, 92, 108, 0.22);
  --acc-rgb: 255, 92, 108;
  --acc-btn: #a3192b;
  --acc-btn-hi: #bd2236;
  --accent: #a3192b;
}
body { background-image: radial-gradient(ellipse 80% 40% at 50% 0%, rgba(163, 25, 43, 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:
    repeating-linear-gradient(180deg, rgba(255, 255, 255, .03) 0 36px, transparent 36px 72px),
    radial-gradient(ellipse 50% 50% at 50% 50%, #1f6a36 0%, #185a2c 60%, #134a24 100%) !important;
  height: min(86vw, 420px) !important; 
}
.nrl-field-inner.afl-oval::before {
  content: ""; position: absolute; inset: 1.5% 3%; border: 2px solid rgba(255, 255, 255, .22); border-radius: 50%;
  pointer-events: none;
}
.nrl-field-inner.afl-oval::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 30%; height: 18%; transform: translate(-50%, -50%);
  border: 2px solid rgba(255, 255, 255, .16);
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .18) 0 3%, transparent 3.5%),
    radial-gradient(circle at 50% 50%, transparent 0 27%, rgba(255, 255, 255, .16) 27.5% 29.5%, transparent 30%);
  pointer-events: none;
}
.nrl-field-inner .fpos { z-index: 1; }

.nrl-field-wrap::before, .nrl-field-wrap::after {
  content: ""; position: absolute; left: 22%; right: 22%; height: 26%; border: 2px solid rgba(255, 255, 255, .12); border-radius: 50%;
  pointer-events: none; z-index: 0;
}
.nrl-field-wrap::before { top: -13%; }
.nrl-field-wrap::after { bottom: -13%; }
@media (min-width: 900px) { .nrl-field-wrap { height: auto !important; } }


.ptag { padding-left: 10px; padding-right: 10px; letter-spacing: 0; }
.ptag-B { background: #1e3a8a; color: #93c5fd; }
.ptag-M { background: #14532d; color: #86efac; }
.ptag-F { background: #7f1d1d; color: #fca5a5; }


.game-row.draw { border-left-color: #a2a2b8 !important; }
.game-score.draw { color: #d4d4e0 !important; }
.game-result-badge.badge-draw { background: #3a3a4e; color: #fff; }
.game-row .game-scorers + .game-scorers { margin-top: 1px; }


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


body[data-mode="hard"] { --mode: #fb923c; --mode-rgb: 251, 146, 60; }
body[data-mode="hard"] .cp-skin-strip { background: linear-gradient(90deg, #7c2d12, #ea580c 50%, #7c2d12); }
body[data-mode="hard"] #spinBtn { background: linear-gradient(135deg, #c2410c, #fb923c) !important; color: #fff !important; box-shadow: 0 4px 20px rgba(234, 88, 12, .4) !important; }
.cp-mode-mini.is-hard { --mm: #fb923c; }


.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; } }


.afl-band { position: absolute; left: 0; right: 0; pointer-events: none; z-index: 0; }
.afl-band-F { background: linear-gradient(180deg, rgba(127, 29, 29, .26), rgba(127, 29, 29, .08)); }
.afl-band-M { background: linear-gradient(180deg, rgba(20, 83, 45, .30), rgba(20, 83, 45, .10)); border-top: 1px dashed rgba(255, 255, 255, .14); border-bottom: 1px dashed rgba(255, 255, 255, .14); }
.afl-band-B { background: linear-gradient(180deg, rgba(30, 58, 138, .10), rgba(30, 58, 138, .30)); }
.afl-line { position: absolute; left: 0; right: 0; transform: translateY(-50%); display: flex; justify-content: center; pointer-events: none; z-index: 1; }
.afl-line span { display: inline-block; padding: 1px 8px; border-radius: 999px; font: 900 8.5px/1.3 Inter, system-ui, sans-serif; letter-spacing: 1.4px; text-transform: uppercase; color: #fff; box-shadow: 0 1px 6px rgba(0, 0, 0, .45); }
.afl-line-F span { background: #7f1d1d; color: #fecaca; }
.afl-line-M span { background: #14532d; color: #bbf7d0; }
.afl-line-B span { background: #1e3a8a; color: #bfdbfe; }
.nrl-field-inner .fpos { z-index: 2; }


@media (max-width: 480px) {
  .fixture-grid .game-opp-name { font-size: 10px; }
  .fixture-grid .game-score { font-size: 9.5px; padding: 0 1px; }
  .fixture-grid .game-club-badge { width: 24px; min-width: 24px; font-size: 7px; }
}


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


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


.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)); } }
