
:root {
  --gold: #e0453a;
  --gold-dark: #b8322a;
  --gold-glow: rgba(224, 69, 58, 0.10);
  --border-gold: rgba(224, 69, 58, 0.22);
  --acc-rgb: 224, 69, 58;
  --acc-btn: #b8322a;
  --acc-btn-hi: #d43c31;
  --accent: #b8322a;
  --bg: #06140f;
  --card: #0c2219;
  --card2: #113024;
}
html { background: #06140f; }
body { background: #06140f; background-image: radial-gradient(ellipse 80% 40% at 50% 0%, rgba(224, 69, 58, 0.08) 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 90% 80% at 50% 50%, #0d2a1b 0%, #071a10 100%) !important;
  height: min(86vw, 420px) !important;
}
.nrl-field-inner.t140-oval {
  position: absolute !important; inset: 3px 2% !important; width: auto !important; height: auto !important; border-radius: 50%;
  background:
    linear-gradient(90deg, transparent, rgba(222, 200, 150, .13) 25%, rgba(222, 200, 150, .13) 75%, transparent) 50% 52% / 7% 22% no-repeat,
    radial-gradient(ellipse at 50% 50%, transparent 55%, rgba(0, 0, 0, .28) 100%),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, .035) 0 7%, transparent 7% 14%),
    linear-gradient(180deg, #17512f, #0f3b22);
  border: 2px solid #2f7a4a; box-sizing: border-box; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25);
}
.t140-mark { position: absolute; pointer-events: none; z-index: 0; border-radius: 50%; }
.t140-rope { inset: 7px; border: 2px solid rgba(255, 255, 255, .26); }
.t140-ring { inset: 22% 17%; border: 1.5px dashed rgba(255, 255, 255, .2); }
.t140-strip { left: 50%; top: 52%; width: 9%; height: 24%; transform: translate(-50%, -50%); border-radius: 2px;
  border-top: 2px solid rgba(255, 255, 255, .22); border-bottom: 2px solid rgba(255, 255, 255, .22); }
.nrl-field-inner .fpos { z-index: 2; }
@media (min-width: 900px) { .nrl-field-wrap { height: auto !important; } }


.ptag-B { background: #1e3a8a; color: #bfdbfe; }
.ptag-A { background: #5b21b6; color: #ddd6fe; }
.ptag-K { background: #78350f; color: #fde68a; }
.ptag-W { background: #7f1d1d; color: #fecaca; }
.pos-option .slot-badge.ptag-B, .pos-option .slot-badge.ptag-A, .pos-option .slot-badge.ptag-K, .pos-option .slot-badge.ptag-W { border-radius: 6px; padding: 3px 8px; font-weight: 900; }


.game-row.draw { border-left: 3px solid #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; }


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


.fixture-grid { grid-template-columns: 1fr !important; }
.fixture-grid .game-row { min-height: 40px; }
.fixture-grid .game-opp-name { font-size: 13px; white-space: nowrap; }
.fixture-grid .game-score { font-size: 12px; min-width: 76px; white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
@media (min-width: 700px) { .fixture-grid { grid-template-columns: repeat(2, 1fr) !important; } }


.result-meta-row.is-three .result-badge { padding: 14px 6px; min-width: 0; }
.result-meta-row.is-three .result-badge.rb-wide { flex: 1.55; }
.result-meta-row.is-three .result-badge-label { letter-spacing: 1.2px; white-space: nowrap; }
.result-meta-row.is-three .result-badge-val.rb-ladder { font-size: 28px; font-variant-numeric: tabular-nums; }
.result-meta-row.is-three .result-badge-val.rb-result { font-size: 14px; white-space: nowrap; }
@media (max-width: 360px) { .result-meta-row.is-three .result-badge-val.rb-result { font-size: 12px; } }


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


.epl-tbl-wrap{width:100%}
.epl-tbl{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px;font-variant-numeric:tabular-nums}
.epl-tbl th{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:4px 0;text-align:center}
.epl-tbl td{padding:5px 0;text-align:center;border-top:1px solid rgba(255,255,255,.06);white-space:nowrap}
.epl-tbl th:nth-child(n+3),.epl-tbl td:nth-child(n+3){width:20px}
.epl-tbl .t-pos{width:24px;position:relative;font-weight:700;color:var(--muted)}
.epl-tbl td.t-pos::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:2px;background:transparent}
.epl-tbl td.z-ucl::before{background:#22c55e}.epl-tbl td.z-uel::before{background:#3b82f6}.epl-tbl td.z-rel::before{background:#ef4444}
.epl-tbl .t-team{text-align:left;padding-left:4px;overflow:hidden;text-overflow:ellipsis}
.epl-tbl td.t-team{display:table-cell}
.epl-tbl .t-em{display:inline-block;width:18px}
.epl-tbl .t-nm{font-weight:500}
.epl-tbl th.t-gfa,.epl-tbl td.t-gfa{width:50px}
.epl-tbl th.t-gd,.epl-tbl td.t-gd{width:34px}
.epl-tbl th.t-pts,.epl-tbl td.t-pts{width:28px;font-weight:800}
.epl-tbl td.t-pts{color:var(--gold)}
.epl-tbl tr.is-me td{background:rgba(var(--acc-rgb),.16)}
.epl-tbl tr.is-me .t-nm{font-weight:800;color:var(--text)}
.epl-tbl-key{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:10px;color:var(--muted)}
.epl-tbl-key span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.epl-tbl-key i{display:inline-block;width:3px;height:11px;border-radius:2px}
.epl-tbl-key .z-ucl{background:#22c55e}.epl-tbl-key .z-uel{background:#3b82f6}.epl-tbl-key .z-rel{background:#ef4444}
@media (max-width:370px){.epl-tbl{font-size:10.5px}.epl-tbl th.t-gfa,.epl-tbl td.t-gfa{width:44px}.epl-tbl th.t-gd,.epl-tbl td.t-gd{width:32px}}

.season-controls .btn{height:34px;line-height:16px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}



.game-venue { font-size: 9px; color: var(--muted); font-weight: 700; letter-spacing: .3px; }
.game-rnd-badge.is-ko { background: rgba(var(--acc-rgb), .18); border-color: rgba(var(--acc-rgb), .5); }
.game-rnd-badge.is-ko .game-rnd-num { color: var(--gold); }
.game-row.is-ko.pending { border-left-color: var(--gold) !important; }

.t-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 15px; padding: 0 2px; margin-right: 5px; border-radius: 3px; font-size: 7.5px; font-weight: 900; letter-spacing: .2px; vertical-align: 1px; box-sizing: border-box; }
.t140-tbl th:nth-child(n+3), .t140-tbl td:nth-child(n+3) { width: 24px; }
.t140-tbl th.t-pts, .t140-tbl td.t-pts { width: 34px; }

.t140-ko { display: flex; flex-direction: column; gap: 6px; }
.t140-ko-h { font-size: 10px; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase; color: var(--gold); margin-top: 4px; }
.t140-ko-row { display: grid; grid-template-columns: 1fr auto 1fr; gap: 2px 8px; align-items: center; padding: 8px 10px; border-radius: 10px; background: rgba(255, 255, 255, .04); font-size: 12px; }
.t140-ko-row.is-me { background: rgba(var(--acc-rgb), .14); }
.t140-ko-w { font-weight: 800; color: #fff; }
.t140-ko-m { font-size: 10px; color: var(--muted); font-weight: 700; }
.t140-ko-l { color: #b8c4bc; text-align: right; }
.t140-ko-by { grid-column: 1 / -1; font-size: 10.5px; color: var(--muted); text-wrap: balance; }

.t140-ko-toast { position: fixed; left: 50%; top: 18%; transform: translateX(-50%); z-index: 9800; padding: 14px 22px; border-radius: 18px;
  background: #0c2219; border: 2px solid var(--gold); color: #fff; font: 800 14px/1.35 Inter, system-ui, sans-serif; text-align: center;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .55); animation: t140In .35s ease both; max-width: 88vw; text-wrap: balance; }
.t140-ko-toast small { display: block; font-size: 11px; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gold); margin-bottom: 3px; }
@keyframes t140In { from { opacity: 0; transform: translate(-50%, 8px); } to { opacity: 1; transform: translate(-50%, 0); } }
@media (prefers-reduced-motion: reduce) { .t140-ko-toast { animation: none; } }


.screen.active { background: #06140f; background-image: radial-gradient(ellipse 80% 40% at 50% 0%, rgba(224, 69, 58, 0.07) 0%, transparent 70%); }
.ps-footer, #packOpeningFooter { background: #081a12 !important; }
.first-steps li, .cp-team-row { background: #0c2219 !important; border-color: #1b4532 !important; }

#spinBtn:disabled { opacity: .45 !important; cursor: not-allowed; filter: saturate(.6); }

.player-row .pr-tags .ptag { padding: 6px 10px; font-size: 12px; }
.player-row .pr-tags:has(> .ptag:nth-child(3)) { flex-direction: column; align-items: stretch; gap: 3px; width: 54px; }
.player-row .pr-tags:has(> .ptag:nth-child(3)) .ptag { padding: 3px 0; font-size: 10.5px; text-align: center; }
.player-row .pr-info { min-width: 0; }
.player-row .pr-name, .player-row .pr-club { text-wrap: balance; }



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

.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: #ffb3bb; }
.fl .wc-banner span { padding: 0 12px; font-size: 16px; line-height: 1.2; text-align: center; text-wrap: balance; }
.fl .wc-feed li.is-end { opacity: 1; border-style: dashed; }
.fl .wc-feed li.is-end .wc-min { font-size: 11px; }
.fl-how { margin: 10px 0 8px; text-align: center; font-size: 13px; font-weight: 800; color: #e5e7eb; text-wrap: balance; }

.fl-ft-sides { display: grid; gap: 6px; max-width: 420px; margin: 8px auto 0; }
.fl-ft-side { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px;
  background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08); text-align: left; }
.fl-ft-side.is-won { border-color: rgba(74, 222, 128, .45); background: rgba(74, 222, 128, .06); }
.fl-ft-side > b { min-width: 0; font: 900 14px/1.2 Inter, system-ui, sans-serif; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fl-ft-sc { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0 5px; max-width: 58vw; font: 900 17px/1.2 Inter, system-ui, sans-serif; color: #fff; font-variant-numeric: tabular-nums; text-align: right; }
.fl-ft-sc > span { white-space: nowrap; }

.fl-also { padding: 6px 4px; }
.fl-also .fl-also-t { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.fl-also > b { color: var(--muted); font-weight: 700; }
.fl-also .fl-by { flex-basis: 100%; text-align: center; font-size: 11px; color: var(--muted); }

.fl .wc-feed .fl-at { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.fl .wc-feed .fl-at small { font: 800 8.5px/1 Inter, system-ui, sans-serif; letter-spacing: .4px; color: var(--muted); text-transform: uppercase; }
.fl .wc-feed li.is-miss.is-me .wc-pts { color: #f87171; }
.fl .fl-nw { white-space: nowrap; }


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