/* Homepage prize money (Admin → Prize Money) — a dark stage so the category colours glow. */
.pz-section { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(120% 80% at 10% 0%, #1b2a6b 0%, #0b1033 45%, #070a24 100%); color: #e8ecff; }
.pz-section h2, .pz-section .eyebrow-txt { color: #fff; }
.pz-section .muted { color: #b9c2ec; }
.pz-glow { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.pz-glow span { position: absolute; width: 46vw; height: 46vw; border-radius: 50%; filter: blur(90px); opacity: .35; animation: pzFloat 18s ease-in-out infinite alternate; }
.pz-glow span:nth-child(1) { background: #2563eb; top: -20%; left: -10%; }
.pz-glow span:nth-child(2) { background: #db2777; bottom: -25%; right: -10%; animation-delay: -6s; }
.pz-glow span:nth-child(3) { background: #f59e0b; top: 30%; left: 40%; width: 26vw; height: 26vw; opacity: .18; animation-delay: -12s; }
@keyframes pzFloat { to { transform: translate(6vw, 4vw) scale(1.15); } }
.pz-intro { margin: 10px 0 0; max-width: 52ch; }

.pz-pool { text-align: right; }
.pz-pool span { display: block; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: #b9c2ec; }
.pz-pool strong { display: block; font: 600 clamp(34px, 4.6vw, 58px)/1.05 var(--font); letter-spacing: -.03em; font-variant-numeric: tabular-nums;
  background: linear-gradient(100deg, #fde68a, #f59e0b 40%, #fb7185 75%, #f0abfc); -webkit-background-clip: text; background-clip: text; color: transparent; }

.pz-controls { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 26px; }
.pz-races { display: flex; flex-wrap: wrap; gap: 8px; }
.pz-race-tab { --h: 220; display: inline-flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 10px 16px; border-radius: 14px; cursor: pointer; font-family: inherit;
  border: 1px solid hsla(var(--h), 90%, 70%, .35); background: hsla(var(--h), 80%, 60%, .08); color: #fff; transition: transform .2s, background .2s, box-shadow .2s; }
.pz-race-tab span { font-size: 15px; font-weight: 600; }
.pz-race-tab small { font-size: 12.5px; color: hsl(var(--h), 95%, 80%); font-variant-numeric: tabular-nums; }
.pz-race-tab:hover { transform: translateY(-2px); background: hsla(var(--h), 80%, 60%, .18); }
.pz-race-tab.active { background: linear-gradient(135deg, hsl(var(--h), 85%, 55%), hsl(calc(var(--h) + 40), 85%, 55%)); border-color: transparent;
  box-shadow: 0 12px 28px -12px hsl(var(--h), 90%, 55%); }
.pz-race-tab.active small { color: rgba(255,255,255,.85); }
.pz-filter { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); }
.pz-chip { border: 0; border-radius: 999px; padding: 8px 14px; background: transparent; color: #cfd6ff; font: 500 14px var(--font); cursor: pointer; transition: background .2s, color .2s; }
.pz-chip.active { background: #fff; color: #0b1033; }

.pz-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 18px; perspective: 1200px; }
.pz-card { --h: 220; --rx: 0deg; --ry: 0deg; --mx: 50%; --my: 0%; position: relative; overflow: hidden; border-radius: 20px; padding: 18px 18px 16px; color: #fff;
  background: linear-gradient(150deg, hsl(var(--h), 88%, 56%) 0%, hsl(calc(var(--h) + 28), 85%, 42%) 100%);
  box-shadow: 0 18px 40px -22px hsl(var(--h), 90%, 50%), inset 0 1px 0 rgba(255,255,255,.25);
  transform: rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .25s ease, box-shadow .25s ease; }
.pz-card:hover { box-shadow: 0 26px 50px -20px hsl(var(--h), 95%, 55%), inset 0 1px 0 rgba(255,255,255,.3); }
.pz-card::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(260px circle at var(--mx) var(--my), rgba(255,255,255,.22), transparent 60%); opacity: 0; transition: opacity .3s; }
.pz-card:hover::before { opacity: 1; }
.pz-card.is-gold { color: #3b2300; background: linear-gradient(150deg, #fff3b0 0%, #fbbf24 38%, #f59e0b 70%, #d97706 100%); box-shadow: 0 18px 40px -20px #f59e0b, inset 0 1px 0 rgba(255,255,255,.6); }
.pz-card header { position: relative; margin-bottom: 12px; padding-right: 26px; }
.pz-card header small { display: block; font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; opacity: .8; }
.pz-card h3 { margin: 0; font-size: 20px; font-weight: 600; color: inherit; letter-spacing: -.01em; }
.pz-crown { position: absolute; top: 2px; right: 0; font-size: 18px; color: #7c4a03; animation: pzBob 2.4s ease-in-out infinite; }
@keyframes pzBob { 50% { transform: translateY(-3px) rotate(-6deg); } }
.pz-card ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pz-card li { position: relative; display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 12px; background: rgba(255,255,255,.14); overflow: hidden; }
.pz-card.is-gold li { background: rgba(255,255,255,.42); }
.pz-bar { position: absolute; left: 0; bottom: 0; height: 3px; width: var(--w); background: rgba(255,255,255,.75); border-radius: 3px; transform-origin: left; }
.pz-card.is-gold .pz-bar { background: #92400e; opacity: .55; }
.pz-anim .pz-bar { animation: pzGrow 1.1s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--d, 0ms) + 150ms); }
@keyframes pzGrow { from { transform: scaleX(0); } }
.pz-medal { flex: none; min-width: 38px; padding: 4px 8px; border-radius: 999px; text-align: center; font-size: 12px; font-weight: 700; color: #1f1300;
  background: linear-gradient(135deg, var(--m1), var(--m2)); box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 2px 6px rgba(0,0,0,.25); }
.pz-amt { margin-left: auto; font-size: 19px; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.pz-text { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; }
.pz-none { margin-left: auto; opacity: .6; }
.pz-card footer { margin-top: 12px; font-size: 12.5px; opacity: .85; display: flex; justify-content: space-between; gap: 8px; }
.pz-card footer strong { font-variant-numeric: tabular-nums; }
.pz-shine { position: absolute; inset: 0; pointer-events: none; }
.pz-card.is-gold .pz-shine::after { content: ''; position: absolute; top: -50%; left: -60%; width: 40%; height: 200%; transform: rotate(20deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent); animation: pzShine 3.6s ease-in-out infinite; }
@keyframes pzShine { 0%, 55% { left: -60%; } 85%, 100% { left: 130%; } }

.pz-anim { animation: pzIn .7s cubic-bezier(.2,.9,.25,1.15) both; animation-delay: var(--d, 0ms); }
@keyframes pzIn { from { opacity: 0; transform: translateY(26px) scale(.94) rotateX(10deg); } }

.pz-banner { display: flex; align-items: center; gap: 22px; padding: 26px 28px; border-radius: 22px; color: #fff;
  background: linear-gradient(120deg, #7c3aed, #db2777 55%, #f59e0b); box-shadow: 0 24px 50px -24px #db2777; }
.pz-banner-icon { flex: none; width: 74px; height: 74px; display: grid; place-items: center; border-radius: 50%; font-size: 32px; background: rgba(255,255,255,.18);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.35); animation: pzBob 2.6s ease-in-out infinite; }
.pz-banner-kicker { display: block; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.pz-banner strong { display: block; font-size: clamp(24px, 3vw, 34px); font-weight: 600; margin: 2px 0 10px; }
.pz-banner-cats { display: flex; flex-wrap: wrap; gap: 6px; }
.pz-banner-cats em { font-style: normal; font-size: 12.5px; padding: 3px 9px; border-radius: 999px; background: rgba(255,255,255,.16); }

.pz-table-wrap { margin-top: 28px; }
.pz-table-wrap summary { cursor: pointer; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); color: #fff; font-weight: 500; }
.pz-table-scroll { overflow-x: auto; margin-top: 16px; border-radius: 16px; border: 1px solid rgba(255,255,255,.12); }
.pz-full { border-collapse: collapse; width: 100%; min-width: 900px; font-size: 14px; }
.pz-full th, .pz-full td { padding: 9px 12px; border-bottom: 1px solid rgba(255,255,255,.08); text-align: right; white-space: nowrap; }
.pz-full thead th { background: rgba(255,255,255,.08); color: #fde68a; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.pz-full thead th:first-child { color: #fff; font-size: 14px; text-transform: none; letter-spacing: 0; text-align: left; }
.pz-full tbody th { text-align: left; color: #cfd6ff; font-weight: 600; }
.pz-full td.is-cash { color: #fff; font-variant-numeric: tabular-nums; font-weight: 600; }
.pz-full td.is-text { color: #f9a8d4; text-align: center; }

@media (max-width: 640px) {
  .pz-pool { text-align: left; }
  .pz-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .pz-card { padding: 14px 12px; border-radius: 16px; }
  .pz-card h3 { font-size: 16px; }
  .pz-card li { padding: 7px 8px; gap: 6px; }
  .pz-medal { min-width: 32px; font-size: 11px; padding: 3px 6px; }
  .pz-amt { font-size: 15px; }
  .pz-text { font-size: 12px; }
  .pz-banner { flex-direction: column; align-items: flex-start; padding: 22px; }
}
@media (max-width: 380px) { .pz-grid { grid-template-columns: 1fr; } }
