/* ═══════════════════════════════════════════════════════════════
   FULL REVEAL — pitch crowd vs you (ανεξάρτητο από vote flow)
═══════════════════════════════════════════════════════════════ */

#view-full-reveal {
  display: none;
  flex-direction: column;
  background: var(--bg0, #06080e);
  overflow: hidden;
  position: fixed;
  inset: 0;
  z-index: 110;
  /* Verdict chip — κάθετη στοίβα · score hero · glow από απόδοση κόσμου */
  --fr-chip-w: 56px;
  --fr-chip-h: 86px;
  --fr-chip-radius: 8px;
  --fr-unit-w: var(--fr-chip-w);
  --fp-player-pad-top: 6px;
  --fp-name-size: 9px;
  --fr-players-scale: 1;
}

#view-full-reveal.view--active {
  display: flex;
}

/* Match-detail panels (gmdP0…) must not steal clicks while Full Reveal is open */
body:has(#view-full-reveal.view--active) .gmd-panel,
body:has(#view-full-reveal.view--active) .gmd-modal,
body:has(#view-full-reveal.view--active) .gmd-overlay {
  pointer-events: none !important;
}

#frViewWrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Preview FAB — home */
.fr-preview-fab {
  position: fixed;
  right: 14px;
  bottom: 78px;
  z-index: 90;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(64, 196, 255, 0.45);
  background: linear-gradient(145deg, rgba(10, 22, 40, 0.95), rgba(6, 16, 32, 0.98));
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45), 0 0 24px rgba(64, 196, 255, 0.15);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}
.fr-preview-fab:hover {
  transform: scale(1.06);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.5), 0 0 32px rgba(64, 196, 255, 0.25);
}
.fr-preview-fab:active {
  transform: scale(0.94);
}
body:not(.theme-home) .fr-preview-fab {
  display: none;
}

/* Top bar */
.fr-top-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px 6px;
  flex-shrink: 0;
  z-index: 40;
}
.fr-back-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  cursor: pointer;
  flex-shrink: 0;
}
.fr-top-title {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.fr-top-badge {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #40C4FF;
}
.fr-top-score {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 22px;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.9);
}
.fr-top-spacer {
  width: 32px;
  flex-shrink: 0;
}

.fr-prog-wrap {
  flex-shrink: 0;
}

.fr-pitch-canvas {
  flex: 1;
}

/* ── Team focus chips (πάνω/κάτω · tap = μία ομάδα + αλλαγές) ── */
#view-full-reveal .fp-team-hdr {
  pointer-events: none;
  z-index: 22;
  height: auto;
  min-height: 0;
  align-items: flex-start;
}
#view-full-reveal .fp-team-hdr-top {
  top: 3px;
  align-items: flex-start;
  justify-content: flex-end;
}
#view-full-reveal .fp-team-hdr-bot {
  bottom: 3px;
  align-items: flex-end;
  justify-content: flex-start;
}
#view-full-reveal .fp-team-hdr .fp-team-hdr-spacer {
  flex: 1;
  min-width: 38%;
  pointer-events: none;
}
#view-full-reveal .fp-team-hdr .fp-team-fullname {
  display: none;
}

.fr-team-chip {
  pointer-events: auto;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: max-content;
  min-width: 0;
  max-width: min(var(--fr-team-chip-w, 96px), 32vw);
  min-height: var(--fr-team-chip-h, 28px);
  padding: 0;
  border-radius: 7px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--fr-focus-color, #888) 62%, rgba(255, 255, 255, 0.12));
  background:
    linear-gradient(
      165deg,
      color-mix(in srgb, var(--fr-focus-color, #888) 14%, rgba(8, 10, 16, 0.96)) 0%,
      color-mix(in srgb, var(--fr-focus-color, #888) 5%, rgba(4, 6, 10, 0.98)) 55%,
      rgba(2, 4, 8, 0.99) 100%
    );
  box-shadow:
    0 0 10px color-mix(in srgb, var(--fr-focus-color, #888) 18%, transparent),
    0 3px 12px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  cursor: pointer;
  transition:
    opacity 0.32s ease,
    transform 0.24s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.24s ease,
    box-shadow 0.28s ease,
    filter 0.32s ease;
  -webkit-tap-highlight-color: transparent;
}
.fr-team-chip--label {
  padding: 4px 9px 4px 5px;
  gap: 6px;
  max-width: min(var(--fr-team-chip-w, 96px), 32vw);
}
.fr-team-chip__crest {
  flex-shrink: 0;
  width: var(--fr-team-crest-size, 22px);
  height: var(--fr-team-crest-size, 22px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}
.fr-team-chip__crest .hv2-mark {
  width: var(--fr-team-crest-size, 22px);
  height: var(--fr-team-crest-size, 22px);
}
.fr-team-chip__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.45));
}
.fr-team-chip__letter {
  font-family: 'Bebas Neue', sans-serif;
  font-size: calc(var(--fr-team-crest-size, 22px) * 0.42);
  letter-spacing: 0.04em;
  color: var(--fr-focus-color, #fff);
  line-height: 1;
}
.fr-team-chip__label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: var(--fr-team-name-size, 11px);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fr-arrow-color, var(--fr-focus-color, #fff));
  line-height: 1;
  white-space: nowrap;
  text-shadow: 0 0 10px color-mix(in srgb, var(--fr-arrow-color, var(--fr-focus-color, #888)) 40%, transparent);
}
.fr-team-chip--home {
  --fr-arrow-color: #4ade80;
}
.fr-team-chip--away {
  --fr-arrow-color: #f87171;
}
.fr-team-chip--left {
  margin-right: auto;
  margin-left: 2px;
}
.fr-team-chip--right {
  margin-left: auto;
  margin-right: 2px;
}
.fr-team-chip--active {
  transform: scale(1.04);
  border-color: color-mix(in srgb, var(--fr-focus-color, #888) 88%, white);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--fr-focus-color, #40c4ff) 45%, transparent),
    0 0 22px color-mix(in srgb, var(--fr-focus-color, #888) 38%, transparent),
    0 6px 20px rgba(0, 0, 0, 0.52);
}
.fr-team-chip--dimmed {
  opacity: 0.34;
  transform: scale(0.96);
  filter: saturate(0.4) brightness(0.78);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}
.fr-team-chip:active:not(.fr-team-chip--active) {
  transform: scale(0.98);
}
@keyframes fr-team-chip-discover {
  0%, 100% {
    box-shadow:
      0 0 14px color-mix(in srgb, var(--fr-focus-color, #888) 22%, transparent),
      0 4px 16px rgba(0, 0, 0, 0.45);
  }
  50% {
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--fr-focus-color, #40c4ff) 55%, transparent),
      0 0 24px color-mix(in srgb, var(--fr-focus-color, #888) 42%, transparent),
      0 6px 18px rgba(0, 0, 0, 0.5);
  }
}
.fr-team-chip--discover {
  animation: fr-team-chip-discover 1.35s ease-in-out 3;
}

/* Solo mode — κάρτες & layout (ρυθμίζονται από solo tuner όταν zoom) */
#view-full-reveal.fr-solo-home,
#view-full-reveal.fr-solo-away {
  --fr-chip-w: var(--fr-solo-chip-w, 52px);
  --fr-chip-h: var(--fr-solo-chip-h, 82px);
  --fr-unit-w: var(--fr-chip-w);
  --fp-name-size: 8.5px;
  --fp-player-pad-top: 5px;
  --fr-players-scale: var(--fr-solo-players-scale, 0.97);
  --fr-chip-radius: 7px;
  --fr-sub-out-h: 13px;
}
#view-full-reveal.fr-solo-home .fp-logo-home,
#view-full-reveal.fr-solo-away .fp-logo-away {
  height: var(--fr-solo-logo-zone-h, 92%);
  z-index: 0;
}
/* Focused team watermark — ρυθμίζεται από solo tuner */
#view-full-reveal.fr-solo-home .fp-logo-home.fp-logo-bg--visible .fp-logo-bg-img,
#view-full-reveal.fr-solo-away .fp-logo-away.fp-logo-bg--visible .fp-logo-bg-img {
  width: min(var(--fr-solo-logo-size, 96%), var(--fr-solo-logo-max, 400px));
  height: min(var(--fr-solo-logo-size, 96%), var(--fr-solo-logo-max, 400px));
  opacity: var(--fr-solo-logo-opacity, 0.42);
  transform: translate(var(--fr-solo-logo-x, 0%), var(--fr-solo-logo-y, 0%));
}
#view-full-reveal.fr-solo-home .fp-logo-home.fp-logo-bg--visible .fp-logo-bg-text,
#view-full-reveal.fr-solo-away .fp-logo-away.fp-logo-bg--visible .fp-logo-bg-text {
  font-size: clamp(
    var(--fr-solo-logo-text-min, 180px),
    var(--fr-solo-logo-text-vw, 48vw),
    var(--fr-solo-logo-text-max, 300px)
  );
  opacity: var(--fr-solo-logo-text-opacity, 0.28);
  letter-spacing: 6px;
  transform: translate(var(--fr-solo-logo-x, 0%), var(--fr-solo-logo-y, 0%));
}
#view-full-reveal.fr-solo-home .fr-pitch-canvas .fp-players#frPlayers,
#view-full-reveal.fr-solo-away .fr-pitch-canvas .fp-players#frPlayers {
  bottom: 0;
}

/* Διαχωριστής αλλαγών — κουτί + γραμμές (solo zoom) */
.fr-solo-subs-divider {
  position: absolute;
  left: var(--fr-solo-subs-line-l, 6%);
  right: var(--fr-solo-subs-line-r, 6%);
  top: var(--fr-solo-subs-line-y, 38%);
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 10px;
  pointer-events: none;
  transform: translateY(-50%);
}
.fr-solo-subs-divider[hidden] {
  display: none !important;
}
.fr-solo-subs-divider__seg {
  flex: 1;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.18) 35%,
    rgba(255, 255, 255, 0.18) 65%,
    transparent 100%
  );
}
.fr-solo-subs-divider__box {
  flex-shrink: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid rgba(64, 196, 255, 0.32);
  background: rgba(6, 10, 18, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 4px 14px rgba(0, 0, 0, 0.32);
}
.fr-solo-subs-divider__arrow {
  font-size: 9px;
  line-height: 1;
  color: rgba(160, 220, 255, 0.78);
  flex-shrink: 0;
}
.fr-solo-subs-divider__title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(160, 220, 255, 0.92);
  line-height: 1;
  white-space: nowrap;
}

/* ── Αλλαγές στο γήπεδο — 2 σειρές στην αντίπαλη εστία (solo zoom) ── */
#frSubsPitch.fr-subs-pitch {
  z-index: 7;
  pointer-events: none;
}
#frSubsPitch.fr-subs-pitch[hidden] {
  display: none !important;
}
#frSubsPitch .fr-sub-pitch-unit {
  z-index: 7;
  filter: none !important;
  --fp-dot-anchor-y: calc(-1 * var(--fp-player-pad-top)) !important;
}
#frSubsPitch .fr-sub-pitch-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  width: 100%;
}
#frSubsPitch .fr-card-flip-wrap {
  width: 100%;
}
#frSubsPitch .fr-verdict-scores {
  opacity: 1;
  visibility: visible;
}
#frSubsPitch .fr-sub-out-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 100%;
  min-height: var(--fr-sub-out-h);
  padding: 0 2px;
  box-sizing: border-box;
}
#frSubsPitch .fr-sub-out-min {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 7px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(255, 183, 77, 0.72);
  line-height: 1;
  flex-shrink: 0;
}
#frSubsPitch .fr-sub-out-name {
  font-family: 'Rajdhani', sans-serif;
  font-size: 7.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.38);
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: line-through;
  text-decoration-color: rgba(255, 255, 255, 0.22);
}
#view-full-reveal.fr-solo-home .fr-legend,
#view-full-reveal.fr-solo-away .fr-legend {
  bottom: 8px;
  top: auto;
  opacity: 0.55;
}
#view-full-reveal.fr-solo-home .fr-footer,
#view-full-reveal.fr-solo-away .fr-footer {
  padding: 2px 12px 8px;
}
#view-full-reveal.fr-solo-home .fr-footer-hint,
#view-full-reveal.fr-solo-away .fr-footer-hint {
  font-size: 8px;
  opacity: 0.45;
}
#view-full-reveal.fr-solo-home .fr-verdict-you,
#view-full-reveal.fr-solo-away .fr-verdict-you { font-size: 22px; }
#view-full-reveal.fr-solo-home .fr-verdict-v,
#view-full-reveal.fr-solo-away .fr-verdict-v { font-size: 10px; }
#view-full-reveal.fr-solo-home .fr-verdict-delta,
#view-full-reveal.fr-solo-away .fr-verdict-delta { font-size: 8px; }
#view-full-reveal.fr-solo-home .fr-verdict-id,
#view-full-reveal.fr-solo-away .fr-verdict-id { font-size: 0; }
#view-full-reveal.fr-solo-home .fr-verdict-nat,
#view-full-reveal.fr-solo-away .fr-verdict-nat { font-size: 9px; }
#view-full-reveal.fr-solo-home .fr-verdict-age,
#view-full-reveal.fr-solo-away .fr-verdict-age { font-size: 7.5px; }
#view-full-reveal.fr-solo-home .fr-verdict-pos,
#view-full-reveal.fr-solo-away .fr-verdict-pos { font-size: 6.5px; }

#view-full-reveal .fp-player,
#view-full-reveal .fr-player-unit {
  transition:
    top 0.45s cubic-bezier(0.34, 1.1, 0.64, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.35s ease,
    visibility 0.35s ease,
    filter 0.35s ease;
}

/* Override vote_pitch.css — μην κόβει το ύψος / μην ξεφουσκώνει το πλάτος */
#view-full-reveal .fp-players {
  transform: scale(var(--fr-players-scale)) scaleX(var(--fr-players-scale-x, 1));
  transform-origin: center center;
}

#view-full-reveal .fp-player,
#view-full-reveal .fr-player-unit {
  width: var(--fr-unit-w) !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: calc(var(--fp-player-pad-top) + var(--fr-chip-h) + 10px) !important;
  padding: var(--fp-player-pad-top) 0 10px !important;
  gap: 0 !important;
  overflow: visible !important;
  align-items: flex-start !important;
  cursor: default !important;
  pointer-events: none !important;
  /* Κέντρο chip + ground glow στο pitch point */
  --fp-dot-anchor-y: calc(-1 * (var(--fp-player-pad-top) + var(--fr-chip-h) / 2 + 4px)) !important;
}

/* Interactive prototype: smaller pitch cards + tap for details */
#view-full-reveal .fr-interactive-canvas #frPlayers .fr-player-unit.fr-player--pending .fr-card-flip-wrap,
#view-full-reveal .fr-interactive-canvas #frSubsPitch .fr-player-unit .fr-card-flip-wrap {
  transform: scale(calc(var(--fr-card-scale, 1) * var(--fr-card-micro-scale, 0.82)));
  transform-origin: top center;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
#view-full-reveal .fr-interactive-canvas #frPlayers .fr-player-unit.fr-player--active .fr-card-flip-wrap,
#view-full-reveal .fr-interactive-canvas #frPlayers .fr-player-unit.fr-player--done .fr-card-flip-wrap {
  transform: scale(var(--fr-card-scale, 1));
  transform-origin: top center;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
#view-full-reveal .fr-interactive-canvas #frPlayers .fr-player-unit,
#view-full-reveal .fr-interactive-canvas #frSubsPitch .fr-player-unit {
  cursor: pointer;
}

#frViewWrap .fr-card-flip-wrap {
  width: 100%;
}

/* ── Verdict chip ── */
#frViewWrap .fr-verdict-chip {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-height: var(--fr-chip-h);
  box-sizing: border-box;
  border-radius: var(--fr-chip-radius);
  background: linear-gradient(180deg, rgba(10, 14, 22, 0.94) 0%, rgba(4, 8, 14, 0.98) 100%);
  border: 1.5px solid color-mix(in srgb, var(--fr-team, #888) 42%, rgba(255, 255, 255, 0.2));
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.45);
  overflow: visible;
  z-index: 1;
}

/* Ground glow — χρώμα απόδοσης κόσμου */
#frViewWrap .fr-verdict-chip::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -7px;
  transform: translateX(-50%);
  width: 155%;
  height: 14px;
  border-radius: 50%;
  background: radial-gradient(
    ellipse at center,
    color-mix(in srgb, var(--fr-perf, transparent) 72%, transparent) 0%,
    transparent 72%
  );
  opacity: 0;
  pointer-events: none;
  z-index: 0;
  transition: opacity 0.45s ease, transform 0.45s ease;
}
#frViewWrap .fr-verdict-chip--revealed::after {
  opacity: 1;
}
#frViewWrap .fr-verdict-chip--revealed.fr-verdict-chip--scores-locked::after {
  opacity: 0.15;
}

.fr-verdict-scores--pending {
  opacity: 1;
  visibility: visible;
  max-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 5px 2px;
}
.fr-verdict-pending-mark {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 24px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.14);
  text-shadow: none;
}

.fr-verdict-scores {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  padding: 4px 5px 2px;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, opacity 0.3s ease;
}
.fr-verdict-chip--revealed .fr-verdict-scores {
  opacity: 1;
  visibility: visible;
  max-height: 72px;
  animation: fr-verdict-scores-in 0.42s cubic-bezier(0.2, 0.85, 0.3, 1) forwards;
}
@keyframes fr-verdict-scores-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.fr-verdict-scores-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  width: 100%;
}
.fr-verdict-you {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: 0.02em;
  text-align: center;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55);
}
.fr-verdict-crowd {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 3px;
  width: 100%;
  margin-top: 1px;
}
.fr-verdict-k {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 5.5px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.32);
}
.fr-verdict-v {
  font-family: 'Rajdhani', sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}
.fr-verdict-delta {
  font-family: 'Rajdhani', sans-serif;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.1;
  padding: 1px 5px;
  border-radius: 4px;
  margin-top: 2px;
  text-align: center;
}
.fr-verdict-perfect {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: rgba(0, 230, 118, 0.88);
  margin-top: 2px;
  text-align: center;
}

.fr-verdict-id {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 100%;
  margin-top: 3px;
  padding-top: 3px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}
.fr-verdict-nat {
  font-size: 11px;
  line-height: 1;
}
.fr-verdict-age {
  font-family: 'Rajdhani', sans-serif;
  font-size: 8px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1;
}
.fr-verdict-pos {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 1px 4px;
  border-radius: 3px;
  text-transform: uppercase;
  line-height: 1.15;
  white-space: nowrap;
}

.fr-verdict-foot {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3px 4px 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.22);
  border-radius: 0 0 calc(var(--fr-chip-radius) - 1px) calc(var(--fr-chip-radius) - 1px);
}
.fr-verdict-name {
  font-family: 'Rajdhani', sans-serif;
  font-size: var(--fp-name-size);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.88);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  line-height: 1.1;
  text-transform: uppercase;
}

/* Θέση — ίδια χρώματα ζώνης με vote pitch */
.fr-pos-gk {
  background: rgba(245, 197, 24, 0.18);
  color: #f5c518;
  border: 1px solid rgba(245, 197, 24, 0.35);
}
.fr-pos-def {
  background: rgba(41, 121, 255, 0.18);
  color: #5b9fff;
  border: 1px solid rgba(41, 121, 255, 0.35);
}
.fr-pos-mid {
  background: rgba(0, 200, 83, 0.18);
  color: #00e676;
  border: 1px solid rgba(0, 200, 83, 0.35);
}
.fr-pos-att {
  background: rgba(255, 23, 68, 0.18);
  color: #ff5f7e;
  border: 1px solid rgba(255, 23, 68, 0.35);
}

/* Locked — δεν ψήφισες */
.fr-verdict-scores-inner--locked {
  position: relative;
  min-height: 42px;
  justify-content: center;
}
.fr-verdict-scores-teaser {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  filter: blur(4px);
  opacity: 0.22;
  user-select: none;
  pointer-events: none;
}
.fr-verdict-scores-teaser .fr-verdict-you {
  font-size: 20px;
  color: rgba(255, 255, 255, 0.5);
}
.fr-verdict-scores-teaser .fr-verdict-v {
  color: rgba(255, 255, 255, 0.45);
}
.fr-verdict-locked-hint {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 5px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.25;
  text-align: center;
  color: rgba(255, 183, 77, 0.85);
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.9);
  padding: 0 3px;
  pointer-events: none;
}
.fr-verdict-chip--scores-locked.fr-verdict-chip--revealed {
  border-color: color-mix(in srgb, var(--fr-team, #888) 32%, rgba(255, 255, 255, 0.15));
}

/* Revealed — border tint από απόδοση */
.fr-verdict-chip--revealed:not(.fr-verdict-chip--scores-locked) {
  border-color: color-mix(in srgb, var(--fr-perf, var(--fr-team, #888)) 58%, white);
  box-shadow:
    0 4px 14px rgba(0, 0, 0, 0.5),
    0 0 12px 2px color-mix(in srgb, var(--fr-perf, var(--fr-team, #888)) 32%, transparent);
}
.fr-verdict-chip--perfect.fr-verdict-chip--revealed {
  border-color: color-mix(in srgb, #00e676 55%, white);
  box-shadow:
    0 4px 14px rgba(0, 0, 0, 0.5),
    0 0 16px 3px rgba(0, 230, 118, 0.28);
}

.fr-verdict-scores-inner--in .fr-verdict-you {
  animation: fr-score-pop 0.38s cubic-bezier(0.34, 1.4, 0.64, 1) backwards;
}
@keyframes fr-score-pop {
  from { opacity: 0; transform: scale(0.6); }
  to   { opacity: 1; transform: scale(1); }
}

/* ── Legend ── */
.fr-legend {
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
  display: flex;
  gap: 14px;
  z-index: 25;
  pointer-events: none;
  padding: 4px 10px;
  border-radius: 20px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.fr-legend-item {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 8px;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.45);
  display: flex;
  align-items: center;
  gap: 5px;
}
.fr-legend-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.fr-legend-dot--you { background: #4CAF50; }
.fr-legend-dot--crowd { background: #F9A825; }

.fr-footer {
  flex-shrink: 0;
  padding: 8px 16px 14px;
  text-align: center;
}
.fr-subs-strip {
  display: none;
}

.fr-footer-hint {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.35);
}

/* Player states */
.fr-player--pending {
  opacity: 0.48 !important;
  filter: none;
  transition: opacity 0.35s ease, filter 0.35s ease;
}
.fr-player--active {
  opacity: 1 !important;
  filter: none;
  z-index: 12 !important;
  transform: translate(-50%, var(--fp-dot-anchor-y)) scale(1.05) !important;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease !important;
}
.fr-player--active .fr-verdict-chip::after {
  opacity: 1;
  transform: translateX(-50%) scale(1.22);
  transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.fr-player--active .fr-verdict-chip {
  box-shadow:
    0 6px 20px rgba(0, 0, 0, 0.55),
    0 0 18px 4px color-mix(in srgb, var(--fr-perf, var(--fr-team, #888)) 45%, transparent);
}
.fr-player--done {
  opacity: 1 !important;
  filter: none;
  -webkit-filter: none;
}
.fr-player--selected {
  z-index: 16 !important;
}
.fr-player--selected .fr-verdict-chip {
  box-shadow:
    0 8px 26px rgba(0, 0, 0, 0.6),
    0 0 20px 4px color-mix(in srgb, var(--fr-perf, var(--fr-team, #888)) 48%, transparent);
}
#view-full-reveal .fp-player.fr-player--team-hidden,
#view-full-reveal .fr-player-unit.fr-player--team-hidden {
  display: none !important;
}

.fr-player-sheet-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(2, 6, 12, 0.64);
  opacity: 0;
  transition: opacity 0.18s ease;
  z-index: 115;
}
.fr-player-sheet-backdrop.is-open { opacity: 1; }

.fr-player-sheet {
  position: fixed;
  left: 10px;
  right: 10px;
  bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(12,16,24,0.98), rgba(4,8,14,0.98));
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 16px 50px rgba(0,0,0,0.5);
  transform: translateY(110%);
  transition: transform 0.2s ease;
  z-index: 116;
}
.fr-player-sheet.is-open { transform: translateY(0); }
.fr-player-sheet-close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 4;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.35);
  color: rgba(255,255,255,0.88);
  cursor: pointer;
}
.fr-player-sheet-media {
  position: relative;
  height: 180px;
  overflow: hidden;
}
.fr-player-sheet-media .fr-photo-card__img,
.fr-player-sheet-media .fr-photo-card__fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.fr-player-sheet-media-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.96) 0%, rgba(0,0,0,0.56) 45%, rgba(0,0,0,0.08) 100%);
}
.fr-player-sheet-head {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;
  z-index: 2;
}
.fr-player-sheet-name {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 28px;
  letter-spacing: 0.03em;
  color: rgba(255,255,255,0.96);
}
.fr-player-sheet-ident {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  color: rgba(255,255,255,0.55);
  letter-spacing: 0.06em;
}
.fr-player-sheet-body {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.fr-player-sheet-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.fr-player-sheet-stat {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  padding: 8px;
}
.fr-player-sheet-stat-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 8px;
  color: rgba(255,255,255,0.4);
  letter-spacing: 0.08em;
  margin-bottom: 4px;
}
.fr-player-sheet-stat-value {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 24px;
  line-height: 1;
  color: rgba(255,255,255,0.92);
}
.fr-player-sheet-stat-value--muted { color: rgba(255,255,255,0.56); }
.fr-player-sheet-emojis {
  display: flex;
  gap: 8px;
  font-size: 22px;
}
.fr-sheet-emoji,
.fr-player-sheet-empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
}
.fr-player-sheet-status {
  font-family: 'Rajdhani', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: rgba(255,255,255,0.82);
  line-height: 1.35;
}
@media (max-width: 380px) {
  .fr-player-sheet-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Layout tuner — σύρσιμο καρτών (?frLayout=1) */
#view-full-reveal.fr-layout-mode .fp-player,
#view-full-reveal.fr-layout-mode .fr-player-unit {
  pointer-events: auto !important;
  cursor: grab;
  touch-action: none;
}
#view-full-reveal.fr-layout-mode .fp-player.fr-layout-drag-target {
  cursor: grabbing;
  z-index: 50 !important;
  filter: none !important;
  opacity: 1 !important;
}
#view-full-reveal.fr-layout-mode .fp-player.fr-layout-drag-target .fr-verdict-chip {
  outline: 2px dashed rgba(64, 196, 255, 0.75);
  outline-offset: 2px;
}
#view-full-reveal.fr-layout-mode .fr-pitch-canvas {
  cursor: crosshair;
}
#view-full-reveal.fr-layout-mode .fr-team-chip {
  pointer-events: auto;
}

/* Reveal: spotlight + moment pop */
.fr-card-flip-wrap {
  transform-style: flat;
}

/* ── Pitch spotlight κατά την αποκάλυψη ── */
#frCanvas.fr-pitch-spotlight::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 6;
  pointer-events: none;
  background: radial-gradient(
    circle 26% at var(--fr-spot-x, 50%) var(--fr-spot-y, 50%),
    rgba(64, 196, 255, 0.07) 0%,
    rgba(0, 0, 0, 0.62) 72%,
    rgba(0, 0, 0, 0.82) 100%
  );
  animation: fr-spotlight-in 0.45s ease forwards;
}
@keyframes fr-spotlight-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
#frCanvas.fr-pitch-spotlight .fp-player:not(.fr-player--active):not(.fr-player--done) {
  opacity: 0.22 !important;
  filter: saturate(0.45) brightness(0.7) blur(0.3px);
  transition: opacity 0.38s ease, filter 0.38s ease;
}

.fr-reveal-ripple {
  position: absolute;
  z-index: 5;
  width: 18px;
  height: 18px;
  margin: -9px 0 0 -9px;
  border-radius: 50%;
  border: 2px solid rgba(64, 196, 255, 0.75);
  box-shadow: 0 0 24px rgba(64, 196, 255, 0.45);
  pointer-events: none;
  animation: fr-reveal-ripple 0.72s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes fr-reveal-ripple {
  0%   { transform: scale(0.2); opacity: 1; }
  100% { transform: scale(14); opacity: 0; }
}

/* ── Moment variants ── */
.fr-verdict-chip.fr-strip-reveal {
  animation: fr-strip-pop 0.55s cubic-bezier(0.34, 1.35, 0.64, 1) forwards;
}
.fr-verdict-chip.fr-reveal-moment--perfect.fr-strip-reveal {
  animation: fr-reveal-perfect 0.68s cubic-bezier(0.34, 1.45, 0.64, 1) forwards;
}
.fr-verdict-chip.fr-reveal-moment--far.fr-strip-reveal {
  animation: fr-reveal-far 0.62s cubic-bezier(0.36, 1.2, 0.64, 1) forwards;
}
.fr-verdict-chip.fr-reveal-moment--close.fr-strip-reveal {
  animation: fr-reveal-close 0.58s cubic-bezier(0.34, 1.3, 0.64, 1) forwards;
}

@keyframes fr-strip-pop {
  0%   { transform: scale(0.86); filter: brightness(0.75); }
  45%  { transform: scale(1.09); filter: brightness(1.1); }
  100% { transform: scale(1); filter: brightness(1); }
}
@keyframes fr-reveal-perfect {
  0%   { transform: scale(0.8); filter: brightness(0.7); }
  35%  { transform: scale(1.14); filter: brightness(1.35); box-shadow: 0 0 28px rgba(255, 215, 64, 0.55); }
  65%  { transform: scale(1.06); }
  100% { transform: scale(1); filter: brightness(1); }
}
@keyframes fr-reveal-far {
  0%   { transform: scale(0.88) rotate(0deg); }
  20%  { transform: scale(1.06) rotate(-2deg); }
  45%  { transform: scale(1.1) rotate(2deg); }
  70%  { transform: scale(1.04) rotate(-1deg); }
  100% { transform: scale(1) rotate(0deg); }
}
@keyframes fr-reveal-close {
  0%   { transform: scale(0.9) translateY(6px); opacity: 0.85; }
  50%  { transform: scale(1.07) translateY(-2px); }
  100% { transform: scale(1) translateY(0); opacity: 1; }
}

.fr-verdict-chip.fr-strip-reveal .fr-verdict-foot {
  animation: fr-name-flash 0.45s ease forwards;
}

/* Shimmer family — smooth rise instead of bouncy pop */
.fr-verdict-chip[class*="fr-openfx-shimmer"].fr-strip-reveal,
.fr-verdict-chip[class*="fr-openfx-shimmer"].fr-reveal-moment--perfect.fr-strip-reveal,
.fr-verdict-chip[class*="fr-openfx-shimmer"].fr-reveal-moment--far.fr-strip-reveal,
.fr-verdict-chip[class*="fr-openfx-shimmer"].fr-reveal-moment--close.fr-strip-reveal {
  animation: fr-shimmer-rise 0.64s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.fr-verdict-chip[class*="fr-openfx-shimmer"].fr-strip-reveal::before {
  content: "";
  position: absolute;
  inset: -15% auto -15% -30%;
  width: 42%;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.38), rgba(255,255,255,0));
  transform: skewX(-22deg);
  animation: fr-openfx-shimmer 0.72s ease forwards;
  pointer-events: none;
  z-index: 3;
}
.fr-verdict-chip.fr-openfx-shimmer-glide.fr-strip-reveal {
  animation: fr-shimmer-rise-glide 0.72s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.fr-verdict-chip.fr-openfx-shimmer-glide.fr-strip-reveal::before {
  width: 48%;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.32), rgba(255,255,255,0));
  animation: fr-openfx-shimmer 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.08s forwards;
}
.fr-verdict-chip.fr-openfx-shimmer-gold.fr-strip-reveal::before {
  background: linear-gradient(90deg, rgba(255,215,64,0), rgba(255,215,64,0.55), rgba(255,180,40,0.28), rgba(255,215,64,0));
  animation: fr-openfx-shimmer 0.78s ease forwards;
}
.fr-verdict-chip.fr-openfx-shimmer-cool.fr-strip-reveal::before {
  background: linear-gradient(90deg, rgba(56,189,248,0), rgba(125,211,252,0.52), rgba(56,189,248,0));
  animation: fr-openfx-shimmer 0.74s ease forwards;
}
.fr-verdict-chip.fr-openfx-shimmer-soft.fr-strip-reveal {
  animation: fr-shimmer-rise-soft 0.82s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.fr-verdict-chip.fr-openfx-shimmer-soft.fr-strip-reveal::before {
  width: 56%;
  inset: -20% auto -20% -35%;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.22), rgba(255,255,255,0));
  animation: fr-openfx-shimmer-soft 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.06s forwards;
}
.fr-verdict-chip.fr-openfx-shimmer-double.fr-strip-reveal {
  animation: fr-shimmer-rise 0.78s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.fr-verdict-chip.fr-openfx-shimmer-double.fr-strip-reveal::before {
  width: 58%;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,0.34),
    rgba(255,255,255,0),
    rgba(167,139,250,0.32),
    rgba(167,139,250,0)
  );
  animation: fr-openfx-shimmer-double 0.92s ease forwards;
}

@keyframes fr-shimmer-rise {
  0%   { transform: scale(0.96) translateY(4px); filter: brightness(0.9); opacity: 0.92; }
  100% { transform: scale(1) translateY(0); filter: brightness(1); opacity: 1; }
}
@keyframes fr-shimmer-rise-glide {
  0%   { transform: scale(0.95) translateY(6px); filter: brightness(0.88); opacity: 0.9; }
  100% { transform: scale(1) translateY(0); filter: brightness(1); opacity: 1; }
}
@keyframes fr-shimmer-rise-soft {
  0%   { transform: scale(0.97) translateY(3px); filter: brightness(0.94); opacity: 0.95; }
  100% { transform: scale(1) translateY(0); filter: brightness(1); opacity: 1; }
}
@keyframes fr-openfx-shimmer {
  0%   { transform: skewX(-22deg) translateX(0); opacity: 0; }
  20%  { opacity: 1; }
  100% { transform: skewX(-22deg) translateX(210%); opacity: 0; }
}
@keyframes fr-openfx-shimmer-soft {
  0%   { transform: skewX(-18deg) translateX(-8%); opacity: 0; }
  18%  { opacity: 0.85; }
  100% { transform: skewX(-18deg) translateX(195%); opacity: 0; }
}
@keyframes fr-openfx-shimmer-double {
  0%   { transform: skewX(-22deg) translateX(-12%); opacity: 0; }
  15%  { opacity: 1; }
  100% { transform: skewX(-22deg) translateX(185%); opacity: 0; }
}
@keyframes fr-name-flash {
  0%   { background: rgba(255, 255, 255, 0.04); }
  35%  { background: color-mix(in srgb, var(--fr-perf, var(--fr-team, #888)) 18%, rgba(0, 0, 0, 0.3)); }
  100% { background: rgba(0, 0, 0, 0.22); }
}

/* ── Staged score reveal (IA cards) ── */
.fr-reveal-staged .fr-ia-tier1,
.fr-reveal-staged .fr-ia-tier2,
.fr-reveal-staged .fr-ia-tier4,
.fr-reveal-staged .fr-ia-tier5,
.fr-reveal-staged .fr-ia-tier6,
.fr-reveal-staged .fr-ia-vs,
.fr-reveal-staged .fr-ia-crowd {
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 0.34s ease,
    transform 0.42s cubic-bezier(0.16, 1, 0.3, 1);
}
.fr-reveal-staged .fr-ia-you {
  opacity: 0;
  transform: scale(0.35);
  transition:
    opacity 0.28s ease,
    transform 0.45s cubic-bezier(0.34, 1.45, 0.64, 1);
}
.fr-reveal-staged.fr-staged-s-you .fr-ia-you {
  opacity: 1;
  transform: scale(1);
}
.fr-reveal-staged.fr-staged-s-crowd .fr-ia-vs,
.fr-reveal-staged.fr-staged-s-crowd .fr-ia-crowd {
  opacity: 1;
  transform: translateY(0);
}
.fr-reveal-staged.fr-staged-s-match .fr-ia-tier1 {
  opacity: 1;
  transform: translateY(0);
}
.fr-reveal-staged.fr-staged-s-meta .fr-ia-tier4,
.fr-reveal-staged.fr-staged-s-meta .fr-ia-tier5,
.fr-reveal-staged.fr-staged-s-meta .fr-ia-tier6 {
  opacity: 1;
  transform: translateY(0);
}

/* ── Staged score reveal (photo cards · photobar + generic) ── */
.fr-photo-reveal-staged .fr-pbar-match-badge,
.fr-photo-reveal-staged .fr-pbar-scores,
.fr-photo-reveal-staged .fr-cine-pct,
.fr-photo-reveal-staged .fr-cine-scores,
.fr-photo-reveal-staged .fr-diag-data,
.fr-photo-reveal-staged .fr-neon-pct,
.fr-photo-reveal-staged .fr-neon-bottom,
.fr-photo-reveal-staged .fr-stamp-pct-row,
.fr-photo-reveal-staged .fr-stamp-scores {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.32s ease, transform 0.38s ease;
}
.fr-photo-reveal-staged .fr-pbar-sc:first-child .fr-pbar-sv,
.fr-photo-reveal-staged .fr-cine-sc:first-child .fr-cine-sv,
.fr-photo-reveal-staged .fr-diag-sc:first-child .fr-diag-sv,
.fr-photo-reveal-staged .fr-neon-row:first-child .fr-neon-rv,
.fr-photo-reveal-staged .fr-stamp-sc:first-child .fr-stamp-sv,
.fr-photo-reveal-staged .fr-jersey-sc:first-child .fr-jersey-sv {
  opacity: 0;
  transform: scale(0.4);
  display: inline-block;
  transition: opacity 0.3s ease, transform 0.42s cubic-bezier(0.34, 1.4, 0.64, 1);
}
.fr-photo-reveal-staged.fr-photo-staged-you .fr-pbar-sc:first-child .fr-pbar-sv,
.fr-photo-reveal-staged.fr-photo-staged-you .fr-cine-sc:first-child .fr-cine-sv,
.fr-photo-reveal-staged.fr-photo-staged-you .fr-diag-sc:first-child .fr-diag-sv,
.fr-photo-reveal-staged.fr-photo-staged-you .fr-neon-row:first-child .fr-neon-rv,
.fr-photo-reveal-staged.fr-photo-staged-you .fr-stamp-sc:first-child .fr-stamp-sv,
.fr-photo-reveal-staged.fr-photo-staged-you .fr-jersey-sc:first-child .fr-jersey-sv {
  opacity: 1;
  transform: scale(1);
}
.fr-photo-reveal-staged.fr-photo-staged-crowd .fr-pbar-sc:last-child .fr-pbar-sv,
.fr-photo-reveal-staged.fr-photo-staged-crowd .fr-cine-sc:last-child .fr-cine-sv,
.fr-photo-reveal-staged.fr-photo-staged-crowd .fr-diag-sc:last-child .fr-diag-sv,
.fr-photo-reveal-staged.fr-photo-staged-crowd .fr-neon-row:last-child .fr-neon-rv,
.fr-photo-reveal-staged.fr-photo-staged-crowd .fr-stamp-sc:last-child .fr-stamp-sv,
.fr-photo-reveal-staged.fr-photo-staged-crowd .fr-jersey-sc:last-child .fr-jersey-sv {
  opacity: 1;
  transform: scale(1);
  transition-delay: 0.08s;
}
.fr-photo-reveal-staged.fr-photo-staged-match .fr-pbar-match-badge,
.fr-photo-reveal-staged.fr-photo-staged-match .fr-cine-pct,
.fr-photo-reveal-staged.fr-photo-staged-match .fr-diag-pct,
.fr-photo-reveal-staged.fr-photo-staged-match .fr-neon-pct,
.fr-photo-reveal-staged.fr-photo-staged-match .fr-stamp-pct-row,
.fr-photo-reveal-staged.fr-photo-staged-match .fr-jersey-pct {
  opacity: 1;
  transform: translateY(0);
}
.fr-photo-reveal-staged.fr-photo-staged-crowd .fr-pbar-scores,
.fr-photo-reveal-staged.fr-photo-staged-crowd .fr-cine-scores,
.fr-photo-reveal-staged.fr-photo-staged-crowd .fr-diag-data,
.fr-photo-reveal-staged.fr-photo-staged-crowd .fr-neon-bottom,
.fr-photo-reveal-staged.fr-photo-staged-crowd .fr-stamp-scores {
  opacity: 1;
  transform: translateY(0);
}

/* ── Mobile: μικρότερες κάρτες + λίγο scale down στο pitch layer ── */
@media (max-width: 430px) {
  #view-full-reveal {
    --fr-chip-w: 50px;
    --fr-chip-h: 78px;
    --fr-chip-radius: 7px;
    --fp-name-size: 8px;
    --fr-players-scale: 0.9;
  }
  #view-full-reveal.fr-solo-home,
  #view-full-reveal.fr-solo-away {
    --fr-chip-w: 48px;
    --fr-chip-h: 76px;
    --fp-name-size: 7.5px;
    --fr-players-scale: 0.94;
    --fr-sub-out-h: 12px;
  }
  #frSubsPitch .fr-sub-out-name { font-size: 7px; }
  #frSubsPitch .fr-sub-out-min { font-size: 6.5px; }
  .fr-solo-subs-divider__title { font-size: 11px; }
  .fr-solo-subs-divider__arrow { font-size: 8px; }
  .fr-verdict-you { font-size: 22px; }
  .fr-verdict-v { font-size: 10px; }
  .fr-verdict-delta { font-size: 8px; }
  .fr-verdict-nat { font-size: 10px; }
  .fr-verdict-age { font-size: 7px; }
  .fr-verdict-pos { font-size: 6px; padding: 0 3px; }
  .fr-verdict-k { font-size: 5px; }
  .fr-verdict-scores { padding: 3px 4px 2px; }
}

@media (max-width: 360px) {
  #view-full-reveal {
    --fr-chip-w: 46px;
    --fr-chip-h: 74px;
    --fp-name-size: 7.5px;
    --fr-players-scale: 0.84;
  }
  #view-full-reveal.fr-solo-home,
  #view-full-reveal.fr-solo-away {
    --fr-chip-w: 46px;
    --fr-chip-h: 72px;
    --fp-name-size: 7.5px;
    --fr-players-scale: 0.9;
    --fr-sub-out-h: 11px;
  }
  .fr-verdict-you { font-size: 20px; }
}
