:root{
  --pp-accent-rgb:124,58,237;
  --pp-accent:#7c3aed;
  --pp-accent-2:#a855f7;
  --pp-accent-border:rgba(124,58,237,.62);
  --pp-accent-action:linear-gradient(135deg,rgba(124,58,237,.88),rgba(42,32,65,.96));
  --pp-accent-soft:linear-gradient(135deg,rgba(124,58,237,.28),rgba(20,22,30,.94));
}

html[data-pp-accent="purple"]{--pp-accent-rgb:124,58,237;--pp-accent:#7c3aed;--pp-accent-2:#a855f7;--pp-accent-border:rgba(124,58,237,.62);--pp-accent-action:linear-gradient(135deg,rgba(124,58,237,.88),rgba(42,32,65,.96));--pp-accent-soft:linear-gradient(135deg,rgba(124,58,237,.28),rgba(20,22,30,.94));}
html[data-pp-accent="gold"]{--pp-accent-rgb:217,154,30;--pp-accent:#d99a1e;--pp-accent-2:#facc15;--pp-accent-border:rgba(250,204,21,.58);--pp-accent-action:linear-gradient(135deg,rgba(217,154,30,.92),rgba(42,35,20,.96));--pp-accent-soft:linear-gradient(135deg,rgba(217,154,30,.28),rgba(20,22,30,.94));}
html[data-pp-accent="blue"]{--pp-accent-rgb:37,99,235;--pp-accent:#2563eb;--pp-accent-2:#38bdf8;--pp-accent-border:rgba(56,189,248,.58);--pp-accent-action:linear-gradient(135deg,rgba(37,99,235,.90),rgba(18,28,48,.96));--pp-accent-soft:linear-gradient(135deg,rgba(37,99,235,.28),rgba(20,22,30,.94));}
html[data-pp-accent="emerald"]{--pp-accent-rgb:16,185,129;--pp-accent:#10b981;--pp-accent-2:#34d399;--pp-accent-border:rgba(16,185,129,.58);--pp-accent-action:linear-gradient(135deg,rgba(16,185,129,.88),rgba(18,36,34,.96));--pp-accent-soft:linear-gradient(135deg,rgba(16,185,129,.24),rgba(20,22,30,.94));}
html[data-pp-accent="red"]{--pp-accent-rgb:225,29,72;--pp-accent:#e11d48;--pp-accent-2:#fb7185;--pp-accent-border:rgba(251,113,133,.58);--pp-accent-action:linear-gradient(135deg,rgba(225,29,72,.88),rgba(45,22,30,.96));--pp-accent-soft:linear-gradient(135deg,rgba(225,29,72,.24),rgba(20,22,30,.94));}
html[data-pp-accent="pink"]{--pp-accent-rgb:219,39,119;--pp-accent:#db2777;--pp-accent-2:#f0abfc;--pp-accent-border:rgba(240,171,252,.52);--pp-accent-action:linear-gradient(135deg,rgba(219,39,119,.88),rgba(43,24,43,.96));--pp-accent-soft:linear-gradient(135deg,rgba(219,39,119,.24),rgba(20,22,30,.94));}

.pp-accent-v2-setting{
  margin:12px 0;
  padding:14px;
  border:1px solid var(--pp-accent-border);
  background:rgba(16,18,26,.72);
  border-radius:8px;
}

.pp-accent-v2-setting label{
  display:block;
  margin:0 0 10px;
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:rgba(255,255,255,.58);
  font-weight:800;
}

.pp-accent-v2-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

@media (min-width:760px){
  .pp-accent-v2-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

.pp-accent-v2-choice{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.74);
  font-weight:850;
}

.pp-accent-v2-choice span{
  width:18px;
  height:18px;
  border-radius:999px;
  flex:0 0 auto;
  box-shadow:0 0 0 3px rgba(255,255,255,.06);
}

.pp-accent-v2-purple span{background:#7c3aed;}
.pp-accent-v2-gold span{background:#d99a1e;}
.pp-accent-v2-blue span{background:#2563eb;}
.pp-accent-v2-emerald span{background:#10b981;}
.pp-accent-v2-red span{background:#e11d48;}
.pp-accent-v2-pink span{background:#db2777;}

.pp-accent-v2-choice.active{
  background:var(--pp-accent-action);
  border-color:var(--pp-accent-border);
  color:#fff;
}

/* Known action controls only */
#refreshBtn,
#ppPrevResultsBtn,
.pp-prev-results-btn,
[data-pp-more-props],
button[data-pp-more-props],
[data-pp-toggle],
button[data-pp-toggle]{
  background:var(--pp-accent-action) !important;
  border-color:var(--pp-accent-border) !important;
}

/* Known bars/tabs only */
#ppFiltersBtn,
.pp-filters-toggle,
.pp-top-toggle,
.pp-parlay-builder,
#ppParlayBuilder,
[data-pp-view].active,
[data-pp-sort].active{
  background:var(--pp-accent-soft) !important;
  border-color:var(--pp-accent-border) !important;
}

/* Borders only */
.pp-results-card,
.pp-results-section,
.pp-results-empty,
.pp-results-preview,
#ppTopEdges,
.pp-top-edges,
.pp-display-mode-setting,
.pp-accent-v2-setting{
  border-color:var(--pp-accent-border) !important;
}

/* Do not alter background/cards/semantic result colors */
.pp-top-item b,
.pp-best-edge b,
[class*="edge" i] b,
[class*="edge" i] strong{
  color:#34e681 !important;
}

.hit{color:#34e681 !important;}
.miss{color:#fb7185 !important;}

/* Exact accent targets for known stubborn buttons */
html[data-pp-accent] button#ppPrevResultsBtn.pp-prev-results-btn,
html[data-pp-accent] #ppPrevResultsBtn.pp-prev-results-btn,
html[data-pp-accent] .pp-compact-topstrip #ppPrevResultsBtn{
  background:var(--pp-accent-action) !important;
  background-image:var(--pp-accent-action) !important;
  border-color:var(--pp-accent-border) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), 0 8px 20px rgba(var(--pp-accent-rgb),.16) !important;
}

html[data-pp-accent] button#ppParlayBtn.pp-parlay-open,
html[data-pp-accent] #ppParlayBtn.pp-parlay-open{
  background:var(--pp-accent-action) !important;
  background-image:var(--pp-accent-action) !important;
  border-color:var(--pp-accent-border) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), 0 8px 20px rgba(var(--pp-accent-rgb),.16) !important;
}

html[data-pp-accent] button#ppParlayBtn.pp-parlay-open *,
html[data-pp-accent] #ppParlayBtn.pp-parlay-open *{
  color:#fff !important;
}

/* Accent theme: View Props expand buttons only */
html[data-pp-accent] button[data-pp-toggle],
html[data-pp-accent] [data-pp-toggle].pp-view-props,
html[data-pp-accent] .pp-event-card button[data-pp-toggle]{
  background: var(--pp-accent-action) !important;
  border-color: var(--pp-accent-border) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pp-accent) 55%, transparent),
              0 8px 18px color-mix(in srgb, var(--pp-accent) 18%, transparent) !important;
}

html[data-pp-accent] button[data-pp-toggle]:active,
html[data-pp-accent] .pp-event-card button[data-pp-toggle]:active{
  filter: brightness(1.08) !important;
}

/* Accent theme: Top 10 Edges panel background */
html[data-pp-accent] #ppTopEdges,
html[data-pp-accent] .pp-top-edges{
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--pp-accent) 22%, #171821) 0%,
      color-mix(in srgb, var(--pp-accent-2) 13%, #151720) 48%,
      #151720 100%) !important;
  border-color: color-mix(in srgb, var(--pp-accent) 58%, transparent) !important;
}

html[data-pp-accent] #ppTopEdges .pp-top-toggle,
html[data-pp-accent] .pp-top-edges .pp-top-toggle{
  background: var(--pp-accent-action) !important;
  border-color: var(--pp-accent-border) !important;
}

html[data-pp-accent] #ppTopEdges .pp-top-item,
html[data-pp-accent] .pp-top-edges .pp-top-item{
  background:
    linear-gradient(90deg,
      color-mix(in srgb, var(--pp-accent) 15%, rgba(20,21,30,.86)),
      rgba(20,21,30,.88)) !important;
  border-color: color-mix(in srgb, var(--pp-accent) 26%, rgba(255,255,255,.08)) !important;
}

/* Accent theme: Parlay Builder modal */
html[data-pp-accent] .pp-parlay-open,
html[data-pp-accent] .pp-parlay-result,
html[data-pp-accent] .pp-parlay-section,
html[data-pp-accent] .pp-parlay-market-box{
  border-color: color-mix(in srgb, var(--pp-accent) 52%, rgba(255,255,255,.12)) !important;
}

html[data-pp-accent] .pp-parlay-open{
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pp-accent) 38%, transparent),
              0 18px 50px rgba(0,0,0,.42) !important;
}

html[data-pp-accent] .pp-parlay-head button,
html[data-pp-accent] #ppParlayClose{
  border-color: var(--pp-accent-border) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pp-accent) 45%, transparent) !important;
}

html[data-pp-accent] .pp-parlay-grid label em,
html[data-pp-accent] .pp-parlay-note,
html[data-pp-accent] .pp-parlay-head p{
  color: color-mix(in srgb, var(--pp-accent) 52%, #d8d3e8) !important;
}

html[data-pp-accent] .pp-parlay-check:has(input:checked),
html[data-pp-accent] .pp-parlay-markets label:has(input:checked){
  border-color: var(--pp-accent-border) !important;
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--pp-accent) 24%, rgba(28,24,42,.92)),
      rgba(24,25,34,.94)) !important;
}

html[data-pp-accent] .pp-parlay-actions button,
html[data-pp-accent] #ppParlayBuild,
html[data-pp-accent] #ppParlayCopy,
html[data-pp-accent] #ppParlayGambly{
  background: var(--pp-accent-action) !important;
  border-color: var(--pp-accent-border) !important;
}

/* Accent theme: selected slate controls + view props in light/dark */
html[data-pp-accent] [data-pp-view].active,
html[data-pp-accent] [data-pp-view][aria-pressed="true"],
html[data-pp-accent] [data-pp-sort].active,
html[data-pp-accent] [data-pp-sort][aria-pressed="true"],
html[data-pp-accent] button[data-pp-view].active,
html[data-pp-accent] button[data-pp-sort].active,
html[data-pp-accent] .pp-view-toggle button.active,
html[data-pp-accent] .pp-sort-row button.active,
html[data-pp-accent] .pp-sort-tabs button.active,
html[data-pp-accent] button[data-pp-toggle],
html[data-pp-accent] .event-card button[data-pp-toggle],
html[data-pp-accent] .pp-event-card button[data-pp-toggle]{
  background: var(--pp-accent-action) !important;
  border-color: var(--pp-accent-border) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pp-accent) 42%, transparent) !important;
}

html[data-pp-accent] body.light [data-pp-view].active,
html[data-pp-accent] body.light [data-pp-sort].active,
html[data-pp-accent] body.light button[data-pp-toggle],
html[data-pp-accent] body.light .event-card button[data-pp-toggle],
html[data-pp-accent] body.light .pp-event-card button[data-pp-toggle]{
  background: var(--pp-accent-action) !important;
  border-color: var(--pp-accent-border) !important;
  color: #fff !important;
}

/* Accent theme: Refresh button */
html[data-pp-accent] #refreshBtn,
html[data-pp-accent] button#refreshBtn,
html[data-pp-accent] body.light #refreshBtn,
html[data-pp-accent] body.light button#refreshBtn{
  background: var(--pp-accent-action) !important;
  border-color: var(--pp-accent-border) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pp-accent) 42%, transparent) !important;
}

/* Prop details modal: exact accent surfaces, no broad matching */
html[data-pp-accent] #ppDetailsOverlay .pp-modal{
  border-color: color-mix(in srgb, var(--pp-accent) 46%, rgba(255,255,255,.16)) !important;
}

html[data-pp-accent] #ppDetailsOverlay .pp-modal-pick,
html[data-pp-accent] #ppDetailsOverlay .pp-detail-grid > div,
html[data-pp-accent] #ppDetailsOverlay .pp-detail-section,
html[data-pp-accent] #ppDetailsOverlay .pp-premium-wide,
html[data-pp-accent] #ppDetailsOverlay .pp-ai-premium,
html[data-pp-accent] #ppDetailsOverlay .pp-card,
html[data-pp-accent] #ppDetailsOverlay .pp-line-shop-premium,
html[data-pp-accent] #ppDetailsOverlay .pp-line-shop-clean{
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--pp-accent) 22%, #171923),
      #101119 92%) !important;
  border-color: color-mix(in srgb, var(--pp-accent) 58%, rgba(255,255,255,.14)) !important;
}

html[data-pp-accent] body.light #ppDetailsOverlay .pp-modal-pick,
html[data-pp-accent] body.light #ppDetailsOverlay .pp-detail-grid > div,
html[data-pp-accent] body.light #ppDetailsOverlay .pp-detail-section,
html[data-pp-accent] body.light #ppDetailsOverlay .pp-premium-wide,
html[data-pp-accent] body.light #ppDetailsOverlay .pp-ai-premium,
html[data-pp-accent] body.light #ppDetailsOverlay .pp-card,
html[data-pp-accent] body.light #ppDetailsOverlay .pp-line-shop-premium,
html[data-pp-accent] body.light #ppDetailsOverlay .pp-line-shop-clean{
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--pp-accent) 8%, #ffffff),
      #ffffff 92%) !important;
  border-color: color-mix(in srgb, var(--pp-accent) 38%, rgba(0,0,0,.12)) !important;
}

html[data-pp-accent] #ppDetailsOverlay .pp-context-grid div,
html[data-pp-accent] #ppDetailsOverlay .pp-game-context div,
html[data-pp-accent] #ppDetailsOverlay .pp-matchup-pro-head,
html[data-pp-accent] #ppDetailsOverlay .pp-matchup-impact,
html[data-pp-accent] #ppDetailsOverlay .pp-matchup-scout,
html[data-pp-accent] #ppDetailsOverlay .pp-matchup-notes{
  background: color-mix(in srgb, var(--pp-accent) 12%, rgba(10,11,16,.88)) !important;
  border-color: color-mix(in srgb, var(--pp-accent) 34%, rgba(255,255,255,.10)) !important;
}

html[data-pp-accent] #ppDetailsOverlay .pp-detail-fav,
html[data-pp-accent] #ppDetailsOverlay button[data-pp-fav]{
  background: var(--pp-accent-action) !important;
  border-color: var(--pp-accent-border) !important;
  color: #fff !important;
}

html[data-pp-accent] #ppDetailsOverlay .pp-detail-openbook{
  border-color: color-mix(in srgb, var(--pp-accent) 40%, rgba(255,255,255,.14)) !important;
}

html[data-pp-accent] #ppDetailsOverlay #ppModalClose{
  border-color: var(--pp-accent-border) !important;
  color: var(--pp-accent) !important;
}

/* Keep grade colors semantic */
html[data-pp-accent] #ppDetailsOverlay .pp-ai-gradebox{
  background: rgba(15,17,24,.92) !important;
  border-color: rgba(255,255,255,.72) !important;
}

html[data-pp-accent] #ppDetailsOverlay .pp-ai-gradebox .grade-a-plus,
html[data-pp-accent] #ppDetailsOverlay .pp-ai-gradebox .grade-a,
html[data-pp-accent] #ppDetailsOverlay .pp-ai-gradebox strong{
  color: #34d399 !important;
}
