/* ===== NEW PITCH-BASED RATING UI ===== */
/* Drop this in a <style> block in your Django template, or save as a .css and link it. */

.pr-eyebrow {
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  opacity: 0.6;
  margin-bottom: 0.35rem;
}

/* Match/ref/team overview vote */
.pr-overview-vote {
  display: grid;
  gap: 0.75rem;
  margin: 0.5rem 0 1.2rem;
}
.pr-overview-vote__row,
.pr-team-vote-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.9rem;
  min-width: 0;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.62);
  border: 1px solid rgba(255,255,255,0.09);
  box-shadow: 0 10px 24px rgba(8, 15, 32, 0.2);
}
.pr-overview-vote__row--match {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.78), rgba(30, 41, 59, 0.54));
}
.pr-overview-vote__row--match .pr-overview-vote__copy,
.pr-overview-vote__row--ref .pr-overview-vote__copy {
  text-align: center;
  flex: 1 1 auto;
}
.pr-overview-vote__row--match .pr-overview-vote__title,
.pr-overview-vote__row--ref .pr-overview-vote__title {
  justify-content: center;
}
.pr-overview-vote__copy {
  min-width: 0;
  text-align: left;
}
.pr-overview-vote__title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: #f8fafc;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.15;
}
.pr-overview-vote__meta,
.pr-team-vote-card__note {
  margin-top: 0.25rem;
  color: rgba(226, 232, 240, 0.68);
  font-size: 0.82rem;
  line-height: 1.2;
}
.pr-overview-vote__row--ref .pr-overview-vote__meta {
  font-size: 1rem;
}
.pr-overview-vote__row--ref .pr-ref-name {
  display: inline-block;
  font-size: 1.26rem !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}
.pr-overview-vote__controls {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  gap: 0.15rem;
}
.pr-overview-vote__controls label.btn[for*="btnradi"] {
  width: 38px !important;
  height: 38px !important;
  margin: 0 1px !important;
  font-size: 19px !important;
}
.pr-overview-vote__controls .btn-check:checked + label.btn[for*="btnradi"] {
  transform: scale(1.08) !important;
  border-width: 2px !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.2), 0 5px 12px rgba(0,0,0,0.24) !important;
}
.pr-team-vote-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
.pr-team-vote-card {
  position: relative;
  overflow: hidden;
  border-left-width: 4px;
}
.pr-team-vote-card--home { border-left-color: oklch(0.6 0.18 25); }
.pr-team-vote-card--away { border-left-color: oklch(0.78 0.13 50); }
.pr-team-vote-card__team {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-width: 0;
  flex: 1 1 auto;
  max-width: 100%;
}
.pr-team-vote-card__team img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  flex: 0 0 auto;
}
.pr-team-vote-card__name {
  color: #f8fafc;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.15;
  white-space: normal;
  text-align: center;
  overflow-wrap: anywhere;
}
.light-theme .pr-overview-vote__row,
[data-bs-theme="light"] .pr-overview-vote__row,
.light-theme .pr-team-vote-card,
[data-bs-theme="light"] .pr-team-vote-card {
  background: rgba(248, 250, 252, 0.88);
  border-color: rgba(15, 23, 42, 0.09);
  box-shadow: 0 10px 22px rgba(148, 163, 184, 0.18);
}
.light-theme .pr-overview-vote__row--match,
[data-bs-theme="light"] .pr-overview-vote__row--match {
  background: linear-gradient(135deg, rgba(248, 250, 252, 0.96), rgba(226, 232, 240, 0.76));
}
.light-theme .pr-overview-vote__title,
[data-bs-theme="light"] .pr-overview-vote__title,
.light-theme .pr-team-vote-card__name,
[data-bs-theme="light"] .pr-team-vote-card__name {
  color: #0f172a;
}
.light-theme .pr-overview-vote__meta,
[data-bs-theme="light"] .pr-overview-vote__meta,
.light-theme .pr-team-vote-card__note,
[data-bs-theme="light"] .pr-team-vote-card__note {
  color: rgba(15, 23, 42, 0.62);
}
@media (max-width: 720px) {
  .pr-team-vote-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1200px) {
  .pr-team-vote-card {
    align-items: stretch;
    flex-direction: column;
  }
  .pr-team-vote-card .pr-overview-vote__controls {
    justify-content: center;
    width: 100%;
  }
}
@media (min-width: 992px) {
  .pr-overview-vote {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 540px) {
  .pr-overview-vote__row,
  .pr-team-vote-card {
    align-items: stretch;
    flex-direction: column;
    padding: 0.8rem;
  }
  .pr-overview-vote__controls {
    justify-content: center;
    width: 100%;
  }
  .pr-overview-vote__controls label.btn[for*="btnradi"] {
    width: 34px !important;
    height: 34px !important;
    font-size: 17px !important;
  }
}

/* Top progress + match face card */
.pr-progress-card {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: center;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 0.9rem 1.2rem;
  margin: 0.5rem 0 1.2rem;
}
.light-theme .pr-progress-card { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.08); }
.pr-progress-card__divider { width: 1px; height: 36px; background: rgba(255,255,255,0.12); }
.light-theme .pr-progress-card__divider { background: rgba(0,0,0,0.12); }
.pr-progress-card__match { text-align: right; }
.pr-progress-count { font-size: 1.6rem; font-weight: 800; font-feature-settings: "tnum"; line-height: 1; }
.pr-progress-total { font-weight: 500; opacity: 0.55; font-size: 1rem; }
.pr-progress-bar { margin-top: 0.55rem; height: 6px; border-radius: 3px; background: rgba(255,255,255,0.1); overflow: hidden; }
.light-theme .pr-progress-bar { background: rgba(0,0,0,0.08); }
.pr-progress-bar__fill { height: 100%; width: 0%; background: linear-gradient(90deg, oklch(0.7 0.15 145), oklch(0.75 0.16 80)); transition: width 0.3s ease; }
@media (max-width: 540px) {
  .pr-progress-card { grid-template-columns: 1fr; text-align: center; }
  .pr-progress-card__match { text-align: center; }
  .pr-progress-card__divider { display: none; }
}

/* Referee row */
.pr-ref-card {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 0.75rem 1.1rem;
  margin-bottom: 1rem;
}
.light-theme .pr-ref-card { background: rgba(0,0,0,0.025); border-color: rgba(0,0,0,0.08); }
.pr-ref-card__name { font-weight: 600; font-size: 1.05rem; }
.pr-ref-card__name a { text-decoration: none; }

/* Team rate strips */
.pr-team-strips { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-bottom: 1.25rem; }
.pr-team-strip {
  display: flex; align-items: center; justify-content: space-between;
  gap: 0.75rem; padding: 0.7rem 1rem;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-left-width: 4px;
}
.light-theme .pr-team-strip { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.08); }
.pr-team-strip--home { border-left-color: oklch(0.6 0.18 25); }
.pr-team-strip--away { border-left-color: oklch(0.78 0.13 50); }
.pr-team-strip__head { display: flex; align-items: center; gap: 0.55rem; min-width: 0; }
.pr-team-strip__logo { width: 28px; height: 28px; object-fit: contain; }
.pr-team-strip__name { font-weight: 700; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 540px) { .pr-team-strips { grid-template-columns: 1fr; } }

/* Faces row (3 emojis + optional MOM star) */
.pr-faces { display: inline-flex; gap: 4px; align-items: center; }
.pr-faces--inline { gap: 0; }
.pr-faces .btn-check { position: absolute; clip: rect(0,0,0,0); pointer-events: none; }
.pr-face {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.25);
  font-size: 16px; line-height: 1;
  cursor: pointer; user-select: none;
  transition: transform 0.12s ease, background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  filter: grayscale(0.4);
  font-family: "Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
}
.light-theme .pr-face { border-color: rgba(0,0,0,0.18); background: rgba(255,255,255,0.7); }
.pr-face:hover { transform: scale(1.1); filter: grayscale(0); }
.btn-check:checked + .pr-face { filter: none; transform: scale(1.12); border-color: currentColor; }
.pr-face--bad {
  color: #fff7ed;
  background: rgba(220, 38, 38, 0.9);
  border-color: rgba(255,255,255,0.68);
  box-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
.pr-face--ok {
  color: #1f2937;
  background: rgba(250, 204, 21, 0.92);
  border-color: rgba(255,255,255,0.72);
  box-shadow: 0 1px 4px rgba(0,0,0,0.32);
}
.pr-face--good {
  color: #ecfeff;
  background: rgba(20, 184, 166, 0.92);
  border-color: rgba(255,255,255,0.72);
  box-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
.btn-check:checked + .pr-face--bad  {
  background: #dc2626;
  border-color: #fff7ed;
  box-shadow: 0 0 0 2px rgba(255,247,237,0.36), 0 0 0 3px rgba(220,38,38,0.24);
}
.btn-check:checked + .pr-face--ok   {
  background: #facc15;
  border-color: #fffef0;
  box-shadow: 0 0 0 2px rgba(255,254,240,0.38), 0 0 0 3px rgba(250,204,21,0.22);
}
.btn-check:checked + .pr-face--good {
  background: #14b8a6;
  border-color: #f8fafc;
  box-shadow: 0 0 0 2px rgba(248,250,252,0.38), 0 0 0 3px rgba(20,184,166,0.22);
}

/* MOM star */
.pr-face--mom {
  margin-left: 0;
  color: #111827;
  background: rgba(245, 158, 11, 0.94);
  border-color: rgba(255,255,255,0.76);
  font-size: 18px;
  font-weight: 700;
  filter: grayscale(0.15);
  box-shadow: 0 1px 4px rgba(0,0,0,0.34);
}
.pr-face--mom:hover { filter: none; }
.btn-check:checked + .pr-face--mom {
  background: #f59e0b;
  border-color: #fff7ed;
  box-shadow: 0 0 0 2px rgba(255,247,237,0.38), 0 0 0 3px rgba(245,158,11,0.24);
  filter: none;
}

/* THE PITCH */
.pr-pitch-wrap { background: rgba(0,0,0,0.15); border-radius: 18px; padding: 8px; margin: 0 0 1.5rem; border: 1px solid rgba(255,255,255,0.08); }
.light-theme .pr-pitch-wrap { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.08); }
.pr-pitch-note {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0 0 0.45rem 0.15rem;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.84);
  font-size: 0.78rem;
  line-height: 1.15;
}
.pr-pitch-note i {
  font-size: 0.72rem;
  color: oklch(0.78 0.13 50);
}
.light-theme .pr-pitch-note {
  background: rgba(255,255,255,0.78);
  border-color: rgba(15,23,42,0.12);
  color: rgba(15,23,42,0.78);
}
.pr-empty-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 48px;
  padding: 0.85rem;
  border-radius: 10px;
  border: 1px dashed rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.035);
  color: rgba(255,255,255,0.72);
  font-size: 0.95rem;
  text-align: center;
}
.pr-empty-note i {
  color: oklch(0.78 0.13 50);
}
.light-theme .pr-empty-note {
  border-color: rgba(15,23,42,0.14);
  background: rgba(15,23,42,0.035);
  color: rgba(15,23,42,0.68);
}
.pr-pitch {
  position: relative;
  width: 100%;
  aspect-ratio: 3.25 / 5.65;
  border-radius: 12px;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(to bottom, #0b6623 0%, #228B22 25%, #2ca02c 50%, #2ca02c 50%, #228B22 75%, #0b6623 100%);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
@media (min-width: 992px) {
  .pr-pitch-wrap {
    max-width: 1096px;
    margin-left: auto;
    margin-right: auto;
  }
  .pr-pitch { aspect-ratio: 4.45 / 5.35; max-width: 1080px; margin: 0 auto; }
}
.pr-pitch::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0.045) 0,
      rgba(255, 255, 255, 0.045) 6%,
      transparent 6%,
      transparent 12%
    ),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='https://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 1;
}
.pr-pitch::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(50% - 10px);
  height: 20px;
  background:
    linear-gradient(to bottom, transparent 0%, rgba(255,255,255,0.08) 45%, rgba(255,255,255,0.18) 50%, rgba(255,255,255,0.08) 55%, transparent 100%);
  pointer-events: none;
  z-index: 1;
}
.pr-pitch__bg { position: absolute; inset: 0; z-index: 0; }
.pr-pitch__svg { width: 100%; height: 100%; display: block; position: relative; z-index: 0; }
.pr-pitch__half-tint {
  position: absolute;
  left: 0;
  right: 0;
  height: 50%;
  pointer-events: none;
  z-index: 1;
}
.pr-pitch__half-tint--home {
  top: 0;
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.18), transparent 46%);
}
.pr-pitch__half-tint--away {
  bottom: 0;
  background: linear-gradient(315deg, rgba(245, 158, 11, 0.18), transparent 46%);
}

.pr-pitch__badge {
  position: absolute; left: 12px;
  display: flex; align-items: center; gap: 0.5rem;
  background: rgba(0,0,0,0.55); backdrop-filter: blur(8px);
  border-radius: 999px; padding: 4px 10px 4px 4px;
  font-size: 0.78rem; font-weight: 700; color: #fff;
  z-index: 5;
}
.pr-pitch__badge strong {
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(255,255,255,0.18);
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.pr-pitch__badge--top { top: 42px; border-left: 3px solid rgba(220, 38, 38, 0.9); }
.pr-pitch__badge--bottom { bottom: 42px; border-left: 3px solid rgba(245, 158, 11, 0.95); }
.pr-pitch__badge img { width: 22px; height: 22px; object-fit: contain; }
.pr-pitch__badge--top,
.pr-pitch__badge--top span {
  color: #fecaca !important;
}
.pr-pitch__badge--bottom,
.pr-pitch__badge--bottom span {
  color: #fde68a !important;
}

.pr-player { position: absolute; transform: translate(-50%, -50%); z-index: 2; }
.pr-player__chip { display: flex; flex-direction: column; align-items: center; gap: 4px; pointer-events: auto; }
.pr-player__stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 16px;
  margin-bottom: -1px;
}
.pr-player__pill {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(0,0,0,0.7); backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.12);
  border-left-width: 3px;
  font-size: 1rem; font-weight: 600;
  color: #fff;
  white-space: nowrap;
  max-width: none;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}
.pr-player--home .pr-player__pill { border-left-color: oklch(0.6 0.18 25); }
.pr-player--away .pr-player__pill { border-left-color: oklch(0.78 0.13 50); }
.pr-player--home .pr-player__pill {
  border-right: 3px solid oklch(0.6 0.18 25);
}
.pr-player--away .pr-player__pill {
  border-right: 3px solid oklch(0.78 0.13 50);
}
.pr-pitch .pr-player--home .pr-player__name,
.pr-pitch-sub-strip .pr-player--home .pr-player__name {
  color: #fff1f1 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.38);
}
.pr-pitch .pr-player--away .pr-player__name,
.pr-pitch-sub-strip .pr-player--away .pr-player__name {
  color: #fff7df !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.38);
}
.pr-player__chip:has(.btn-check[value="2"]:checked) .pr-player__pill { box-shadow: 0 0 0 2px oklch(0.7 0.18 145 / 0.7), 0 2px 6px rgba(0,0,0,0.3); }
.pr-player__chip:has(.btn-check[value="1"]:checked) .pr-player__pill { box-shadow: 0 0 0 2px oklch(0.78 0.13 80 / 0.7), 0 2px 6px rgba(0,0,0,0.3); }
.pr-player__chip:has(.btn-check[value="0"]:checked) .pr-player__pill { box-shadow: 0 0 0 2px oklch(0.65 0.2 28 / 0.7), 0 2px 6px rgba(0,0,0,0.3); }
.pr-player__name { color: #fff; text-decoration: none; max-width: none; overflow: visible; text-overflow: clip; white-space: nowrap; }
.pr-player__name:hover { color: #fff; text-decoration: underline; }
.pr-player__icon { display: inline-flex; align-items: center; gap: 1px; font-size: 0.65rem; font-family: inherit; }
.pr-player__icon--goal  { color: oklch(0.92 0.05 95); }
.pr-player__icon--assist { color: oklch(0.85 0.1 220); }
.pr-player__icon--yc::before { content: "▌"; color: oklch(0.85 0.18 95); font-size: 1rem; line-height: 0.5; }
.pr-player__icon--rc::before { content: "▌"; color: oklch(0.65 0.22 28); font-size: 1rem; line-height: 0.5; }
.pr-player__icon--sub { color: oklch(0.78 0.13 50); font-size: 0.6rem; }

.pr-faces--inline .pr-face {
  width: 35px; height: 35px;
  font-size: 19px;
  border-width: 1px;
  background: rgba(0,0,0,0.6);
  border-color: rgba(255,255,255,0.18);
}
.pr-faces--inline .pr-face--mom { width: 35px; height: 35px; font-size: 21px; margin-left: 0; }

@media (max-width: 760px) {
  .pr-pitch-wrap { margin-left: -6px; margin-right: -6px; padding: 6px; }
  .pr-pitch { aspect-ratio: 1.08 / 2.25; }
  .game-detail-pitch-page .pr-pitch { aspect-ratio: 1.08 / 2.55; }
  .game-detail-pitch-page .pr-pitch .pr-faces--inline {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    justify-content: center;
    gap: 2px;
  }
  .game-detail-pitch-page .pr-pitch .pr-faces--inline .pr-face--mom {
    grid-column: 1 / -1;
    justify-self: center;
    margin-left: 0;
    margin-top: 1px;
  }
  .pr-pitch__badge {
    left: 8px;
    gap: 0.32rem;
    padding: 3px 7px 3px 3px;
    font-size: 0.64rem;
  }
  .pr-pitch__badge--top { top: 34px; }
  .pr-pitch__badge--bottom { bottom: 34px; }
  .pr-pitch__badge img { width: 18px; height: 18px; }
  .pr-player__pill { font-size: 0.74rem; padding: 2px 6px; max-width: none; }
  .pr-player__name { max-width: none; }
  .pr-player__icon { font-size: 0.56rem; }
  .pr-player__stats { min-height: 13px; gap: 1px; }
  .pr-faces--inline .pr-face { width: 23px; height: 23px; font-size: 12px; }
  .pr-faces--inline .pr-face--mom { width: 23px; height: 23px; font-size: 14px; margin-left: 0; }
}

@media (max-width: 540px) {
  .pr-pitch-wrap { margin-left: -10px; margin-right: -10px; padding: 5px; }
  .pr-pitch { aspect-ratio: 1.08 / 2.42; }
  .game-detail-pitch-page .pr-pitch { aspect-ratio: 1.08 / 2.72; }
  .pr-pitch__badge {
    left: 6px;
    gap: 0.24rem;
    padding: 2px 6px 2px 2px;
    font-size: 0.54rem;
    max-width: 42%;
  }
  .pr-pitch__badge--top { top: 28px; }
  .pr-pitch__badge--bottom { bottom: 28px; }
  .pr-pitch__badge img { width: 15px; height: 15px; }
  .pr-player__pill { font-size: 0.62rem; padding: 2px 4px; max-width: none; }
  .pr-player__name { max-width: none; }
  .pr-player__stats { min-height: 12px; }
  .pr-faces--inline .pr-face { width: 19px; height: 19px; font-size: 10px; }
  .pr-faces--inline .pr-face--mom { width: 19px; height: 19px; font-size: 11px; margin-left: 0; }
}

/* Substitutes grid */
.pr-pitch-sub-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem 0.55rem;
  width: 100%;
  max-width: 980px;
  margin: 0 auto 0.75rem;
  padding: 0.6rem;
  border-radius: 14px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.08);
}
.pr-pitch-sub-strip:empty,
.pr-pitch-sub-strip:not(:has(.pr-sub-row)) { display: none; }
.pr-pitch-sub-strip--away { margin-top: -0.75rem; margin-bottom: 1.5rem; }
.light-theme .pr-pitch-sub-strip { background: rgba(0,0,0,0.02); border-color: rgba(15,23,42,0.09); }

.pr-pitch-coach-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  max-width: 980px;
  margin: -0.25rem auto 0.55rem;
  padding: 0.5rem 0.65rem;
  border-radius: 14px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.08);
}
.pr-pitch-coach-strip:empty { display: none; }
.pr-pitch-coach-strip--away { margin-top: -0.65rem; margin-bottom: 0.85rem; }
.light-theme .pr-pitch-coach-strip { background: rgba(0,0,0,0.02); border-color: rgba(15,23,42,0.09); }
.pr-pitch-coach-strip .pr-player__chip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0;
}
.pr-pitch-coach-strip .pr-player__pill--coach {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  max-width: 210px;
  padding: 4px 11px;
  font-size: 0.96rem;
  font-weight: 600;
  color: #fff;
  background: rgba(0,0,0,0.68);
  border: 1px solid rgba(255,255,255,0.12);
  border-left: 3px solid oklch(0.85 0.15 90);
  box-shadow: 0 2px 6px rgba(0,0,0,0.28);
}
.pr-pitch-coach-strip .pr-coach-tag {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  border-radius: 50%;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1;
  color: rgba(15,23,42,0.95);
  background: oklch(0.86 0.15 90);
}
.pr-pitch-coach-strip .pr-player__name {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: inherit;
}
.pr-pitch-coach-strip .pr-faces--inline .pr-face {
  width: 28px;
  height: 28px;
  font-size: 15px;
}
.pr-pitch-coach-strip .pr-faces--inline .pr-face--mom {
  width: 28px;
  height: 28px;
  font-size: 16px;
}
.pr-pitch-sub-strip .pr-sub-row .pr-player__chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 0;
}
.pr-pitch-sub-strip .pr-sub-row .pr-player__stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 13px;
  margin-bottom: -1px;
}
.pr-pitch-sub-strip .pr-sub-row .pr-player__pill {
  justify-self: auto;
  font-size: 0.98rem !important;
  padding: 3px 9px !important;
  max-width: 132px;
  background: rgba(0,0,0,0.7);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.12);
  border-left-width: 3px;
  backdrop-filter: blur(6px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
.pr-pitch-sub-strip .pr-player--home .pr-player__pill {
  border-left-color: oklch(0.6 0.18 25);
  border-right: 3px solid oklch(0.6 0.18 25);
}
.pr-pitch-sub-strip .pr-player--away .pr-player__pill {
  border-left-color: oklch(0.78 0.13 50);
  border-right: 3px solid oklch(0.78 0.13 50);
}
.pr-pitch-sub-strip .pr-sub-row .pr-faces--inline {
  justify-self: auto;
  gap: 0;
}
.pr-pitch-sub-strip .pr-sub-row .pr-player__name {
  font-size: inherit !important;
  max-width: 92px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
}
.pr-pitch-sub-strip .pr-sub-row .player-icon {
  font-size: 0.65rem;
}
.pr-pitch-sub-strip .pr-sub-row .substitution {
  background: transparent;
  color: oklch(0.78 0.13 50);
  border: 0;
  box-shadow: none;
  font-size: 0.6rem;
}
.pr-pitch-sub-strip .pr-sub-row .pr-faces--inline .pr-face {
  width: 25px;
  height: 25px;
  font-size: 14px;
}
.pr-pitch-sub-strip .pr-sub-row .pr-faces--inline .pr-face--mom {
  width: 25px;
  height: 25px;
  font-size: 15px;
}
@media (min-width: 992px) {
  .pr-pitch-coach-strip .pr-player__pill--coach {
    font-size: 1.02rem;
    padding: 5px 12px;
  }
  .pr-pitch-coach-strip .pr-faces--inline .pr-face {
    width: 31px;
    height: 31px;
    font-size: 17px;
  }
  .pr-pitch-coach-strip .pr-faces--inline .pr-face--mom {
    width: 31px;
    height: 31px;
    font-size: 18px;
  }
  .pr-pitch-sub-strip .pr-sub-row .pr-player__pill {
    font-size: 1.08rem !important;
    padding: 4px 10px !important;
    max-width: 150px;
  }
  .pr-pitch-sub-strip .pr-sub-row .pr-player__name {
    max-width: 108px;
  }
  .pr-pitch-sub-strip .pr-sub-row .pr-faces--inline .pr-face {
    width: 31px;
    height: 31px;
    font-size: 17px;
  }
  .pr-pitch-sub-strip .pr-sub-row .pr-faces--inline .pr-face--mom {
    width: 31px;
    height: 31px;
    font-size: 18px;
  }
}
@media (max-width: 720px) {
  .pr-pitch-coach-strip {
    padding: 0.45rem 0.5rem;
  }
  .pr-pitch-coach-strip .pr-player__chip {
    gap: 0.32rem;
  }
  .pr-pitch-coach-strip .pr-player__pill--coach {
    max-width: 124px;
    padding: 3px 8px;
    font-size: 0.58rem;
    gap: 0.24rem;
  }
  .pr-pitch-coach-strip .pr-coach-tag {
    width: 15px;
    height: 15px;
    font-size: 0.52rem;
  }
  .pr-pitch-coach-strip .pr-player__name {
    max-width: 82px;
    font-size: 0.58rem !important;
    line-height: 1.05;
  }
  .pr-pitch-coach-strip .pr-faces--inline .pr-face {
    width: 23px;
    height: 23px;
    font-size: 12px;
  }
  .pr-pitch-coach-strip .pr-faces--inline .pr-face--mom {
    width: 23px;
    height: 23px;
    font-size: 13px;
  }
  .pr-pitch-sub-strip {
    padding: 0.5rem;
  }
  .pr-pitch-sub-strip .pr-sub-row .pr-player__pill {
    font-size: 0.7rem !important;
    padding: 2px 5px !important;
    max-width: 90px;
  }
  .pr-pitch-sub-strip .pr-sub-row .pr-player__name {
    max-width: 58px;
  }
  .pr-pitch-sub-strip .pr-sub-row .pr-faces--inline .pr-face {
    width: 20px;
    height: 20px;
    font-size: 10px;
  }
  .pr-pitch-sub-strip .pr-sub-row .pr-faces--inline .pr-face--mom {
    width: 20px;
    height: 20px;
    font-size: 11px;
  }
}

@media (max-width: 540px) {
  .pr-pitch-coach-strip .pr-player__pill--coach {
    max-width: 108px;
    padding: 2px 6px;
    font-size: 0.52rem !important;
  }
  .pr-pitch-coach-strip .pr-player__name {
    max-width: 70px;
    font-size: 0.52rem !important;
  }
}

@media (max-width: 720px) {
  .game-detail-pitch-page .pr-pitch-coach-strip .pr-player__pill--coach {
    max-width: 112px;
    font-size: 0.52rem !important;
    padding: 2px 6px;
    gap: 0.2rem;
  }
  .game-detail-pitch-page .pr-pitch-coach-strip .pr-player__name {
    max-width: 72px;
    font-size: 0.52rem !important;
    line-height: 1.05;
  }
  .pr-results-shell .pr-pitch-coach-strip .pr-player__pill--coach {
    max-width: 148px;
    font-size: 0.68rem !important;
    padding: 3px 8px;
    gap: 0.28rem;
  }
  .pr-results-shell .pr-pitch-coach-strip .pr-player__name {
    max-width: 104px;
    font-size: 0.68rem !important;
    line-height: 1.08;
  }
}

@media (max-width: 540px) {
  .game-detail-pitch-page .pr-pitch-coach-strip .pr-player__pill--coach {
    max-width: 100px;
    font-size: 0.48rem !important;
  }
  .game-detail-pitch-page .pr-pitch-coach-strip .pr-player__name {
    max-width: 64px;
    font-size: 0.48rem !important;
  }
  .pr-results-shell .pr-pitch-coach-strip .pr-player__pill--coach {
    max-width: 132px;
    font-size: 0.62rem !important;
  }
  .pr-results-shell .pr-pitch-coach-strip .pr-player__name {
    max-width: 92px;
    font-size: 0.62rem !important;
  }
}

.pr-subs-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  width: 100%;
  max-width: 980px;
  margin: 0 auto 1.5rem;
}
.pr-subs-grid .pr-subs-card--home { order: 1; }
.pr-subs-grid .pr-subs-card--away { order: 2; }
@media (min-width: 992px) { .pr-subs-grid { grid-template-columns: 1fr 1fr; } }
.pr-unused-subs-grid {
  gap: 0.8rem;
  max-width: 980px;
  margin-top: -0.15rem;
}
.pr-unused-subs-grid .pr-subs-card {
  padding: 0.7rem 0.85rem 0.8rem;
  background: rgba(255,255,255,0.018);
  border-color: rgba(255,255,255,0.07);
}
.light-theme .pr-unused-subs-grid .pr-subs-card {
  background: rgba(0,0,0,0.018);
  border-color: rgba(15,23,42,0.075);
}
.pr-unused-subs-grid .pr-subs-card__head {
  margin-bottom: 0.45rem;
  padding-bottom: 0.45rem;
  font-size: 0.72rem;
}
.pr-unused-subs-grid .pr-subs-card__list {
  gap: 0.18rem;
}
.pr-unused-subs-grid .pr-player__chip--static {
  justify-content: flex-start;
  gap: 0;
}
.pr-unused-subs-grid .pr-sub-row .pr-player__pill {
  padding: 3px 0 !important;
  max-width: 100%;
  font-size: 0.96rem !important;
  font-weight: 500;
  color: rgba(248,250,252,0.84);
  background: transparent;
  border: 0;
  box-shadow: none;
}
.light-theme .pr-unused-subs-grid .pr-sub-row .pr-player__pill {
  color: rgba(15,23,42,0.74);
  background: transparent;
}
.pr-unused-subs-grid .pr-sub-row .pr-player__name {
  max-width: none;
  color: inherit;
}
.pr-unused-subs-grid .pr-sub-row .player-icon {
  font-size: 0.72rem;
  margin-inline-end: 0.16rem;
}
.pr-starters-fallback {
  margin-left: auto;
  margin-right: auto;
}
.pr-starters-fallback .pr-subs-card--home { order: 1; }
.pr-starters-fallback .pr-subs-card--away { order: 2; }
.pr-fallback-team-stack {
  width: 100%;
}
@media (max-width: 991.98px) {
  .pr-fallback-team-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    max-width: 980px;
    margin: 0 auto 1.5rem;
  }
  .pr-fallback-team-stack > .pr-subs-grid {
    display: contents;
  }
  .pr-fallback-team-stack > .pr-subs-grid > .pr-subs-card {
    width: 100%;
  }
  .pr-fallback-team-stack > .pr-starters-fallback > .pr-subs-card--home { order: 1; }
  .pr-fallback-team-stack > .pr-subs-grid:not(.pr-starters-fallback) > .pr-subs-card--home { order: 2; }
  .pr-fallback-team-stack > .pr-starters-fallback > .pr-subs-card--away { order: 3; }
  .pr-fallback-team-stack > .pr-subs-grid:not(.pr-starters-fallback) > .pr-subs-card--away { order: 4; }
}
.pr-subs-card { display: flex; flex-direction: column; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 0.85rem 1rem 1rem; }
.light-theme .pr-subs-card { background: rgba(0,0,0,0.025); border-color: rgba(0,0,0,0.08); }
.pr-subs-card__head {
  display: flex; align-items: center; gap: 0.5rem;
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em;
  text-transform: uppercase; opacity: 0.85;
  margin-bottom: 0.7rem; padding-bottom: 0.55rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.light-theme .pr-subs-card__head { border-bottom-color: rgba(0,0,0,0.08); }
.pr-subs-card__head img { width: 22px; height: 22px; object-fit: contain; }
.pr-subs-card__list { display: flex; flex: 1 1 auto; flex-direction: column; gap: 0.4rem; }
.pr-sub-row { position: static; transform: none; }
.pr-player__chip--static { flex-direction: row; align-items: center; justify-content: space-between; gap: 0.75rem; }
.pr-sub-row .pr-player__pill { background: rgba(0,0,0,0.25); font-size: 1.1rem; font-weight: 600; padding: 7px 13px; max-width: 100%; }
.light-theme .pr-sub-row .pr-player__pill { background: rgba(0,0,0,0.05); color: inherit; }
.light-theme .pr-sub-row .pr-player__name { color: inherit; }
.pr-subs-card .pr-sub-row .pr-player__name { max-width: none; font-size: inherit !important; line-height: 1.15; }
.pr-sub-row .substitution {
  background: #0ea5e9;
  color: #f8fafc;
  border-color: rgba(255,255,255,0.82);
  box-shadow: 0 0 0 2px rgba(14,165,233,0.28), 0 1px 4px rgba(0,0,0,0.35);
}
.pr-sub-row .substitution i { color: inherit; }
.pr-sub-row .pr-faces--inline .pr-face { width: 40px; height: 40px; font-size: 21px; }
.pr-sub-row .pr-faces--inline .pr-face--mom { width: 40px; height: 40px; font-size: 23px; margin-left: 0; }

.pr-results-shell {
  width: min(100%, 1096px);
  margin: 0 auto;
}
.pr-results-predictions {
  max-width: 980px;
  margin: 0 auto 1.1rem;
}
.pr-results-overview {
  margin-bottom: 1.2rem;
}
.pr-result-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  min-width: 118px;
  padding: 0.62rem 0.95rem;
  border-radius: 999px;
  color: #f8fafc;
  background: rgba(15, 23, 42, 0.72);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 8px 18px rgba(0,0,0,0.22);
  font-size: 1.22rem;
  font-weight: 700;
}
.light-theme .pr-result-score {
  color: #0f172a;
  background: rgba(255,255,255,0.9);
  border-color: rgba(15,23,42,0.1);
  box-shadow: 0 8px 18px rgba(15,23,42,0.09);
}
.pr-result-score i {
  color: oklch(0.76 0.12 245);
}
.pr-result-score--team {
  min-width: 108px;
}
.pr-result-mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.04rem;
  color: #f8fafc;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
}
.pr-result-mini span {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  padding: 4px 6px;
  border-radius: 999px;
  background: rgba(15,23,42,0.76);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 2px 6px rgba(0,0,0,0.22);
}
.pr-result-mini i {
  color: oklch(0.76 0.12 245);
}
.pr-result-mini__mvp i {
  color: #facc15;
}
.light-theme .pr-result-mini__mvp {
  color: #f8fafc;
  background: rgba(15,23,42,0.76);
  border-color: rgba(255,255,255,0.12);
  box-shadow: 0 2px 6px rgba(0,0,0,0.22);
}
.light-theme .pr-result-mini__mvp i {
  background: transparent !important;
  color: #facc15;
}
.pr-pitch-sub-strip .pr-result-mini,
.pr-pitch-coach-strip .pr-result-mini {
  font-size: 0.96rem;
}
.pr-pitch-coach-strip .pr-coach-row .pr-result-mini {
  font-size: 1.12rem;
}
.pr-subs-card .pr-result-mini {
  font-size: 1rem;
}
.pr-unused-subs-grid .pr-result-mini {
  display: none;
}

@media (max-width: 760px) {
  .pr-unused-subs-grid .pr-subs-card .pr-sub-row .pr-player__pill {
    font-size: 1rem !important;
    padding: 3px 0 !important;
  }
  .pr-unused-subs-grid .pr-subs-card .pr-sub-row .pr-player__name {
    font-size: inherit !important;
  }
  .pr-subs-card .pr-sub-row .pr-player__pill { font-size: 1.18rem !important; padding: 7px 12px; }
  .pr-subs-card .pr-sub-row .pr-player__name { font-size: 1.18rem !important; }
  .pr-sub-row .pr-faces--inline .pr-face { width: 34px; height: 34px; font-size: 18px; }
  .pr-sub-row .pr-faces--inline .pr-face--mom { width: 34px; height: 34px; font-size: 20px; }
  .pr-result-score {
    min-width: 100px;
    padding: 0.52rem 0.75rem;
    font-size: 1.08rem;
  }
  .pr-result-mini,
  .pr-pitch-sub-strip .pr-result-mini,
  .pr-pitch-coach-strip .pr-result-mini {
    font-size: 0.66rem;
  }
  .pr-pitch-coach-strip .pr-coach-row .pr-result-mini {
    font-size: 0.82rem;
  }
  .pr-result-mini span {
    padding: 2px 4px;
  }
}

@media (max-width: 420px) {
  .pr-result-mini,
  .pr-pitch-sub-strip .pr-result-mini,
  .pr-pitch-coach-strip .pr-result-mini {
    font-size: 0.58rem;
  }
  .pr-result-mini span {
    padding: 2px 3px;
  }
}

@media (max-width: 420px) {
  .pr-unused-subs-grid .pr-subs-card .pr-sub-row .pr-player__pill {
    font-size: 0.94rem !important;
    padding: 2px 0 !important;
  }
  .pr-unused-subs-grid .pr-subs-card .pr-sub-row .pr-player__name {
    font-size: inherit !important;
  }
  .pr-subs-card .pr-sub-row .pr-player__pill { font-size: 1.08rem !important; padding: 6px 10px; }
  .pr-subs-card .pr-sub-row .pr-player__name { font-size: 1.08rem !important; }
  .pr-sub-row .pr-faces--inline .pr-face { width: 31px; height: 31px; font-size: 16px; }
  .pr-sub-row .pr-faces--inline .pr-face--mom { width: 31px; height: 31px; font-size: 18px; }
}

/* Coach pill */
.pr-coach-separator {
  display: block;
  height: 1px;
  margin: 0.85rem 0 0.25rem;
  background: rgba(255,255,255,0.16);
}
@media (min-width: 992px) {
  .pr-subs-grid:not(.pr-unused-subs-grid) .pr-coach-separator {
    margin-top: auto;
  }
}
.light-theme .pr-coach-separator {
  background: rgba(15,23,42,0.14);
}
.pr-coach-row .pr-player__pill--coach { border-left: 3px solid oklch(0.85 0.15 90); display: inline-flex; align-items: center; gap: 0.5rem; }
.pr-pitch-coach-strip--home .pr-player__pill--coach {
  border-left-color: oklch(0.6 0.18 25) !important;
  border-right: 3px solid oklch(0.6 0.18 25) !important;
}
.pr-pitch-coach-strip--away .pr-player__pill--coach {
  border-left-color: oklch(0.78 0.13 50) !important;
  border-right: 3px solid oklch(0.78 0.13 50) !important;
}
.pr-player__role { font-size: 0.65rem; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.7; font-weight: 700; }
