/* gold-grid — 2×4 Family Feud board (flex, TV-safe; rem/vh/vw) */

.ggtv-board,
.ggtv-board *,
.ggtv-board *::before,
.ggtv-board *::after {
  box-sizing: border-box;
}

.ggtv-board {
  --ggtv-bg: #000000;
  --ggtv-gold: #d0d8e4;
  --ggtv-gold-hi: #f2f6fc;
  --ggtv-gold-lo: #788498;
  --ggtv-slot-hi: #4d90e8;
  --ggtv-slot-cover: var(--ggtv-slot-hi);
  --ggtv-slot-cover-lo: #0038a8;
  --ggtv-slot-open: #3d82d8;
  --ggtv-slot-open-hi: #689ee1;
  --ggtv-slot-open-lo: #224877;
  --ggtv-slot-open-glow: rgba(104, 158, 225, 0.38);
  --ggtv-slot-pts: #2a68b8;
  --ggtv-slot-mid: #2a68cb;
  --ggtv-slot-rim: #dce4f0;
  --ggtv-num-fill: #0a2868;
  --ggtv-num-fill-hi: #a2adc6;
  --ggtv-num-fill-lo: #05173a;
  --ggtv-num-rim: #e8f0fc;
  --ggtv-rim-hi: #f9fbfe;
  --ggtv-rim-mid: #898a96;
  --ggtv-rim-lo: #3b404a;
  --ggtv-pts-hi: #689ee1;
  --ggtv-pts-lo: #224877;
  --ggtv-pts-border: rgba(220, 228, 240, 0.85);
  --ggtv-wall-glow: #192e4a;
  --ggtv-wall-bottom: #001c54;
  --ggtv-panel-bg-start: rgba(210, 220, 236, 0.92);
  --ggtv-panel-bg-end: rgba(120, 132, 152, 0.96);
  --ggtv-stage-bg-start: rgba(242, 246, 252, 0.9);
  --ggtv-stage-bg-end: rgba(120, 132, 152, 0.96);
  --ggtv-stage-glow: rgba(208, 216, 228, 0.28);
  --ggtv-stage-well-start: #788498;
  --ggtv-stage-well-end: #000000;
  --ggtv-frame-inner: #001c54;
  --ggtv-text: #ffffff;
  --ggtv-text-answer: var(--ggtv-text);
  --ggtv-text-num: var(--ggtv-text);
  --ggtv-text-pts: var(--ggtv-text);
  --ggtv-text-score: var(--ggtv-text);
  --ggtv-team-1: #ffffff;
  --ggtv-team-2: #c8e4ff;
  --ggtv-wallpaper: none;
  --ggtv-wallpaper-opacity: 1;
  --ggtv-chrome-alpha: 1;
  --ggtv-ui-pad: 0%;
  --ggtv-ans-font: "Oswald", "Arial Narrow", Impact, sans-serif;
  --ggtv-ans-shadow: 55;
  --ggtv-tube: clamp(0.55rem, 1.55vw, 1.15rem);
  --ggtv-slot-gap: clamp(0.45rem, 1.1vw, 0.85rem);
  --ggtv-header-overlap: 0;
  --ggtv-header-text-safe-bottom: 0.85vh;
  --ggtv-team-glow: rgba(77, 144, 232, 0.42);

  position: relative;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  min-width: 0;
  overflow: hidden;
  color: var(--ggtv-text);
  font-family: var(--ggtv-ans-font);
  background: transparent;
}

.ggtv-wall {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  pointer-events: none;
}

.ggtv-wall::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--ggtv-bg);
  background-image:
    radial-gradient(ellipse 75% 60% at 50% 48%, var(--ggtv-wall-glow) 0%, transparent 62%),
    radial-gradient(ellipse 100% 90% at 50% 110%, var(--ggtv-wall-bottom) 0%, transparent 55%);
}

.ggtv-wall::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--ggtv-wallpaper) center / contain no-repeat;
  opacity: var(--ggtv-wallpaper-opacity, 1);
  transition: opacity 0.35s ease;
}

/* chrome-alpha: tło + chrom siatki — header (drużyny, logo) zawsze pełna czytelność */
.ggtv-wall::before,
.ggtv-frame__chrome,
.ggtv-slot__chrome,
.ggtv-slot__points::before {
  opacity: var(--ggtv-chrome-alpha);
}

.ggtv-ui {
  position: absolute;
  top: var(--ggtv-ui-pad);
  right: var(--ggtv-ui-pad);
  bottom: var(--ggtv-ui-pad);
  left: var(--ggtv-ui-pad);
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  padding: 1.2vh 1.8vw 2vh;
  min-width: 0;
  min-height: 0;
  overflow: visible;
}

/* ─── Header ─── */

.ggtv-header {
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 18vh;
  max-height: 18vh;
  min-height: 0;
  -webkit-flex: 0 0 18vh;
  flex: 0 0 18vh;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  gap: 0.6vw;
}

.ggtv-team {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 28%;
  flex: 1 1 28%;
  max-width: 28%;
  min-width: 0;
  min-height: 0;
  gap: 0.35vh;
  overflow: visible;
  padding: 0.75vh 1.1vw;
  border-radius: 0.5rem;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.ggtv-team__chrome {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  overflow: hidden;
  border: 2px solid var(--ggtv-gold-hi);
  background: linear-gradient(
    165deg,
    var(--ggtv-gold-hi) 0%,
    var(--ggtv-gold) 46%,
    var(--ggtv-gold-lo) 100%
  );
  box-shadow:
    inset 0 2px 3px rgba(255, 255, 255, 0.62),
    inset 0 -2px 4px rgba(0, 0, 0, 0.55),
    0 1px 2px rgba(0, 0, 0, 0.35);
}

.ggtv-team__chrome::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(
    118deg,
    rgba(255, 255, 255, 0.72) 0%,
    rgba(255, 255, 255, 0.18) 14%,
    transparent 38%,
    rgba(0, 0, 0, 0.22) 100%
  );
}

.ggtv-team.is-active .ggtv-team__chrome {
  border-color: var(--ggtv-gold-hi);
  background: linear-gradient(
    165deg,
    var(--ggtv-gold-hi) 0%,
    var(--ggtv-gold) 40%,
    var(--ggtv-gold-lo) 100%
  );
  box-shadow:
    0 0 14px var(--ggtv-team-glow),
    inset 0 2px 4px rgba(255, 255, 255, 0.72),
    inset 0 -2px 3px rgba(0, 0, 0, 0.32),
    inset 0 0 0 1px rgba(255, 255, 255, 0.38);
}

.ggtv-team--left {
  text-align: left;
}

.ggtv-team--right {
  text-align: right;
}

.ggtv-team__name {
  position: relative;
  z-index: 1;
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  flex: 0 1 auto;
  min-width: 0;
  min-height: 0;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  font-family: "Oswald", "Arial Narrow", Impact, sans-serif;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.08;
  overflow: hidden;
  white-space: nowrap;
  transform-origin: center center;
  font-size: clamp(1.05rem, 5.8vh, 4.25rem);
  -webkit-text-stroke: 0.03em var(--ggtv-header-stroke, rgba(0, 0, 0, 0.45));
  text-shadow:
    0 0.04em 0 var(--ggtv-header-highlight, rgba(255, 255, 255, 0.28)),
    0 0.06em 0.12em var(--ggtv-header-shadow, rgba(0, 0, 0, 0.55));
}

.ggtv-team--left .ggtv-team__name {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.ggtv-team--right .ggtv-team__name {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.ggtv-team__name-line {
  display: block;
  line-height: 1.08;
  white-space: nowrap;
}

.ggtv-team--left .ggtv-team__name-line {
  text-align: left;
}

.ggtv-team--right .ggtv-team__name-line {
  text-align: right;
}

.ggtv-team--left .ggtv-team__name {
  color: var(--ggtv-team-1);
  transform-origin: left center;
}

.ggtv-team--right .ggtv-team__name {
  color: var(--ggtv-team-2);
  transform-origin: right center;
}

.ggtv-team__bottom {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  gap: 0.5vw;
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  flex: 0 1 auto;
  min-width: 0;
  min-height: 0;
  width: 100%;
  --team-score-size: clamp(1.65rem, 7.4vh, 5.25rem);
}

.ggtv-team__points {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-family: "Bebas Neue", "Oswald", sans-serif;
  font-size: var(--team-score-size, clamp(1.65rem, 7.4vh, 5.25rem));
  line-height: 0.9;
  letter-spacing: 0.04em;
  overflow: hidden;
  transform-origin: center center;
  -webkit-text-stroke: 0.028em var(--ggtv-header-stroke, rgba(0, 0, 0, 0.4));
  text-shadow:
    0 0.04em 0 var(--ggtv-header-highlight, rgba(255, 255, 255, 0.26)),
    0 0.06em 0.1em var(--ggtv-header-shadow, rgba(0, 0, 0, 0.5));
}

.ggtv-team--left .ggtv-team__points {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  color: var(--ggtv-team-1);
  transform-origin: left center;
}

.ggtv-team--right .ggtv-team__points {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  color: var(--ggtv-team-2);
  transform-origin: right center;
}

.ggtv-team__points-line {
  display: block;
  line-height: 0.9;
  white-space: nowrap;
}

.ggtv-team__strikes {
  position: relative;
  z-index: 2;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  gap: 0.4vw;
}

.ggtv-team--left .ggtv-team__strikes {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.ggtv-team__strike {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  width: var(--team-strike-size, calc(var(--team-score-size, 1.6rem) * 0.62));
  height: var(--team-strike-size, calc(var(--team-score-size, 1.6rem) * 0.62));
  filter: drop-shadow(0 0 0.28vw rgba(255, 30, 30, 0.85));
}

.ggtv-team__strike svg {
  width: 100%;
  height: 100%;
}

.ggtv-team__strike .x-bar {
  stroke: #ff2626;
  stroke-width: 14;
  stroke-linecap: round;
}

.ggtv-header-stage {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  border-radius: 0.5rem;
  overflow: visible;
}

.ggtv-header-stage__chrome {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  border: none;
  background: transparent;
  box-shadow:
    0 0 0 1px var(--ggtv-gold-lo),
    0 0 12px var(--ggtv-stage-glow),
    inset 0 2px 3px rgba(255, 255, 255, 0.7),
    inset 0 -2px 4px rgba(0, 0, 0, 0.5);
}

.ggtv-header-stage__chrome::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
  border-radius: inherit;
  background:
    linear-gradient(
      118deg,
      rgba(255, 255, 255, 0.42) 0%,
      rgba(255, 255, 255, 0.08) 18%,
      transparent 46%
    ),
    linear-gradient(
      165deg,
      var(--ggtv-gold-hi) 0%,
      var(--ggtv-gold-hi) 14%,
      var(--ggtv-gold) 42%,
      var(--ggtv-gold-lo) 78%,
      var(--ggtv-gold-lo) 100%
    );
}

.ggtv-header-stage__chrome::after {
  content: "";
  position: absolute;
  top: 0.32vw;
  right: 0.32vw;
  bottom: 0.32vw;
  left: 0.32vw;
  z-index: -1;
  border-radius: 0.35rem;
  background: linear-gradient(
    180deg,
    var(--ggtv-stage-well-start) 0%,
    var(--ggtv-stage-well-end) 100%
  );
  box-shadow:
    inset 0 0 0 1px var(--ggtv-gold-hi),
    inset 0 2px 4px rgba(255, 255, 255, 0.18),
    inset 0 -2px 5px rgba(0, 0, 0, 0.62),
    inset 0 0 16px rgba(0, 0, 0, 0.55);
}

.ggtv-header-slot {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  border-radius: inherit;
  overflow: visible;
  isolation: isolate;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}

.ggtv-header-slot.is-active {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition: none;
  transition: none;
}

.ggtv-header-slot[hidden] {
  display: none;
}

.ggtv-header-view {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 0.6vh 1.2vw;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: none;
  transition: none;
}

.ggtv-header-view.is-active {
  opacity: 1;
  pointer-events: auto;
}

.ggtv-header-view[hidden] {
  display: none;
}

.ggtv-header-view[data-view="LOGO"] {
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 0.45vh 0.5vw;
  overflow: visible;
  -webkit-transition: opacity 240ms ease;
  transition: opacity 240ms ease;
}

.ggtv-header-view[data-view="TEXT"],
.ggtv-header-view[data-view="ROUND_SUM"] {
  overflow: visible;
}

.ggtv-header-view[data-view="TEXT"] {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.ggtv-logo {
  display: block;
  width: auto;
  height: 78%;
  max-height: 78%;
  max-width: 100%;
  object-fit: contain;
  object-position: center center;
  filter: drop-shadow(0 0.35vh 0.8vw rgba(0, 0, 0, 0.55));
}

.ggtv-header-text {
  margin: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  width: 100%;
  max-height: 100%;
  text-align: center;
  font-size: clamp(0.75rem, 2.9vw, 3rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.1;
  text-wrap: balance;
  transform-origin: center center;
}

.ggtv-header-text-line {
  display: block;
  text-align: center;
  line-height: 1.1;
  white-space: nowrap;
}

.ggtv-round-sum {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  gap: 0.15vh;
}

.ggtv-round-sum__label {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  width: 100%;
  font-size: 1rem;
  letter-spacing: 0.28em;
  color: var(--ggtv-gold);
  text-transform: uppercase;
  overflow: hidden;
  transform-origin: center center;
}

.ggtv-round-sum__label-line {
  display: block;
  text-align: center;
  line-height: 1.1;
  white-space: nowrap;
}

.ggtv-round-sum__digits {
  font-family: "Bebas Neue", "Oswald", sans-serif;
  font-size: 1rem;
  line-height: 0.88;
  letter-spacing: 0.05em;
  color: var(--ggtv-gold-hi);
  text-shadow: 0 0 2vw rgba(255, 210, 0, 0.5);
  white-space: nowrap;
}

/* ─── Stage + frame ─── */

.ggtv-stage {
  position: relative;
  z-index: 2;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 0;
  margin-top: 0.55vh;
  overflow: visible;
}

.ggtv-frame {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-width: 0;
  border-radius: 2.2vw;
  padding: var(--ggtv-tube);
  isolation: isolate;
}

.ggtv-frame__chrome {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow:
    0 0 0 0.22vw #2a1c00,
    0 0 1.8vw 0.15vw rgba(255, 210, 30, 0.75),
    0 0 4.5vw 0.5vw rgba(255, 180, 0, 0.35),
    inset 0 0.18vw 0.25vw rgba(255, 255, 255, 0.75),
    inset 0 -0.25vw 0.4vw rgba(70, 45, 0, 0.65);
}

.ggtv-frame__chrome::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
  border-radius: inherit;
  background: linear-gradient(
    165deg,
    var(--ggtv-gold-hi) 0%,
    var(--ggtv-gold-hi) 14%,
    var(--ggtv-gold) 40%,
    var(--ggtv-gold-lo) 72%,
    var(--ggtv-gold-lo) 100%
  );
  pointer-events: none;
}

.ggtv-frame__chrome::after {
  content: "";
  position: absolute;
  top: calc(var(--ggtv-tube) * 0.42);
  right: calc(var(--ggtv-tube) * 0.42);
  bottom: calc(var(--ggtv-tube) * 0.42);
  left: calc(var(--ggtv-tube) * 0.42);
  z-index: -1;
  border-radius: calc(2.2vw - 0.35vw);
  background: var(--ggtv-frame-inner);
  box-shadow:
    inset 0 0 0 0.16vw var(--ggtv-gold-hi),
    inset 0 0 0 0.42vw #120e06,
    inset 0 0 3vw rgba(0, 0, 0, 0.8);
  pointer-events: none;
}

/* ─── Slots 2×4 (column-major) ─── */

.ggtv-slots {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0.55vw;
  overflow: hidden;
}

.ggtv-slots-col {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 50%;
  flex: 1 1 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  height: 100%;
}

.ggtv-slots-col--left {
  padding-right: calc(var(--ggtv-slot-gap) / 2);
}

.ggtv-slots-col--right {
  padding-left: calc(var(--ggtv-slot-gap) / 2);
}

.ggtv-slot {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 25%;
  flex: 1 1 25%;
  min-height: 0;
  margin: 0;
  border-radius: 0.42vw;
  overflow: visible;
  border: none;
  background: transparent;
  box-shadow: none;
}

.ggtv-slot__chrome {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    var(--ggtv-slot-cover-lo) 0%,
    var(--ggtv-slot-mid) 22%,
    var(--ggtv-slot-hi) 48%,
    var(--ggtv-slot-mid) 74%,
    var(--ggtv-slot-cover-lo) 100%
  );
  box-shadow:
    0 0.22vw 0.48vw rgba(0, 0, 0, 0.62),
    0 0.08vw 0.16vw rgba(0, 0, 0, 0.38);
}

.ggtv-slots-col .ggtv-slot + .ggtv-slot {
  margin-top: var(--ggtv-slot-gap);
}

.ggtv-slot__chrome::before {
  content: "";
  position: absolute;
  top: 0.34vw;
  right: 0.34vw;
  bottom: 0.34vw;
  left: 0.34vw;
  border-radius: 0.24vw;
  border: 0.1vw solid rgba(0, 0, 0, 0.68);
  background: transparent;
  box-shadow:
    inset 0 0.32vw 0.62vw rgba(0, 0, 0, 0.78),
    inset 0 -0.16vw 0.3vw rgba(255, 255, 255, 0.12),
    inset 0 0.1vw 0.16vw rgba(255, 255, 255, 0.22),
    inset 0 0 0 0.06vw rgba(0, 0, 0, 0.5);
  pointer-events: none;
  z-index: 0;
}

.ggtv-slot .ggtv-slot__chrome::after {
  content: "";
  position: absolute;
  top: -0.14vw;
  right: -0.14vw;
  bottom: -0.14vw;
  left: -0.14vw;
  border-radius: 0.5vw;
  background: linear-gradient(
    158deg,
    var(--ggtv-gold-hi) 0%,
    var(--ggtv-rim-hi) 18%,
    var(--ggtv-slot-rim) 42%,
    var(--ggtv-rim-mid) 68%,
    var(--ggtv-rim-lo) 100%
  );
  box-shadow:
    0 0.28vw 0.55vw rgba(0, 0, 0, 0.72),
    0 0.12vw 0.24vw rgba(0, 0, 0, 0.48),
    inset 0 0.14vw 0.22vw rgba(255, 255, 255, 0.78),
    inset 0 -0.18vw 0.3vw rgba(0, 0, 0, 0.58),
    inset 0 0 0 0.1vw rgba(255, 255, 255, 0.32);
  pointer-events: none;
  z-index: -1;
}

.ggtv-slot.is-revealed {
  position: relative;
  display: block;
  overflow: visible;
  animation: ggtvReveal 420ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.ggtv-board--instant-reveal .ggtv-slot.is-revealed {
  animation: none;
  -webkit-filter: none;
  filter: none;
  -webkit-transform: none;
  transform: none;
}

.ggtv-slot.is-revealed .ggtv-slot__chrome {
  background: transparent;
}

.ggtv-slot.is-revealed .ggtv-slot__chrome::before {
  border-color: rgba(255, 255, 255, 0.18);
  background: -webkit-linear-gradient(
    top,
    var(--ggtv-slot-open-hi) 0%,
    var(--ggtv-slot-open) 46%,
    var(--ggtv-slot-open-lo) 100%
  );
  background:
    radial-gradient(
      ellipse 90% 78% at 50% 28%,
      var(--ggtv-slot-open-hi) 0%,
      transparent 58%
    ),
    linear-gradient(
      180deg,
      var(--ggtv-slot-open-hi) 0%,
      var(--ggtv-slot-open) 46%,
      var(--ggtv-slot-open-lo) 100%
    );
  box-shadow:
    inset 0 0.32vw 0.7vw rgba(0, 0, 0, 0.58),
    inset 0 0.14vw 0.28vw rgba(0, 0, 0, 0.38),
    inset 0 -0.12vw 0.22vw rgba(255, 255, 255, 0.28),
    inset 0 0 0.9vw rgba(0, 0, 0, 0.22);
}

.ggtv-slot.is-revealed .ggtv-slot__chrome::after {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(
    158deg,
    var(--ggtv-slot-open-hi) 0%,
    var(--ggtv-slot-open) 42%,
    var(--ggtv-slot-open-lo) 100%
  );
  box-shadow:
    inset 0 0.16vw 0.28vw rgba(0, 0, 0, 0.5),
    inset 0 -0.1vw 0.18vw rgba(255, 255, 255, 0.22);
}

.ggtv-slot.is-revealed .ggtv-slot__text {
  position: absolute;
  top: 0.85vw;
  right: calc(16% + 1.8vw);
  bottom: 0.85vw;
  left: 0.85vw;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  min-width: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  z-index: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.ggtv-slot__points {
  display: none;
}

.ggtv-slot.is-revealed .ggtv-slot__points {
  position: absolute;
  top: 0.55vw;
  right: 0.55vw;
  bottom: 0.55vw;
  width: 16%;
  min-width: 12%;
  max-width: 18%;
  height: auto;
  margin: 0;
  padding: 0.3rem 0.65rem;
  overflow: hidden;
  z-index: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  overflow: hidden;
  border-left: none;
  color: var(--ggtv-text-pts);
  background: transparent;
  box-sizing: border-box;
  box-shadow:
    inset 1px 0 0 rgba(255, 255, 255, 0.42),
    inset 2px 0 0 rgba(0, 0, 0, 0.4);
  --sh: calc(var(--ggtv-ans-shadow) * 0.1);
  text-shadow:
    0 0.04em 0 rgba(255, 255, 255, calc(0.42 * var(--sh))),
    0 0.08em 0 rgba(0, 0, 0, calc(0.94 * var(--sh))),
    0 0.14em 0.06em rgba(0, 0, 0, calc(0.7 * var(--sh)));
}

.ggtv-slot.is-revealed .ggtv-slot__points::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  border: none;
  border-radius: 0;
  background: var(--ggtv-slot-pts);
  opacity: 0.5;
  box-shadow: none;
}

.ggtv-slot__number {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  width: var(--ggtv-badge-w, min(48%, 7.2vw));
  height: var(--ggtv-badge-h, min(58%, 4.8vh));
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-family: "Bebas Neue", "Oswald", sans-serif;
  font-size: var(--ggtv-number-fs, clamp(1.5rem, 4.8vh, 3.2rem));
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--ggtv-text);
  -webkit-text-stroke: 0.04em rgba(0, 0, 0, 0.35);
  text-shadow:
    0 0.04em 0 rgba(255, 255, 255, 0.45),
    0 0.08em 0 rgba(0, 0, 0, 0.92),
    0 0.14em 0.08em rgba(0, 0, 0, 0.68),
    0 0.22em 0.14em rgba(0, 0, 0, 0.42);
  pointer-events: none;
}

.ggtv-slot__number:empty {
  display: none;
}

/* Wewnętrzna elipsa — wgłębienie 3D */
.ggtv-slot__number:not(:empty)::before {
  content: "";
  position: absolute;
  top: 0.2vw;
  right: 0.2vw;
  bottom: 0.2vw;
  left: 0.2vw;
  border-radius: 50%;
  background: radial-gradient(
    ellipse 88% 72% at 36% 24%,
    var(--ggtv-num-fill-hi) 0%,
    var(--ggtv-num-fill) 36%,
    var(--ggtv-num-fill-lo) 100%
  );
  border: 0.06vw solid rgba(0, 0, 0, 0.72);
  box-shadow:
    inset 0 0.28vw 0.5vw rgba(0, 0, 0, 0.88),
    inset 0 -0.14vw 0.24vw rgba(255, 255, 255, 0.14),
    inset 0 0.08vw 0.14vw rgba(255, 255, 255, 0.28);
  z-index: -1;
}

.ggtv-slot__number:not(:empty)::after {
  content: "";
  position: absolute;
  top: -0.16vw;
  right: -0.16vw;
  bottom: -0.16vw;
  left: -0.16vw;
  border-radius: 50%;
  background: linear-gradient(
    158deg,
    var(--ggtv-gold-hi) 0%,
    var(--ggtv-rim-hi) 16%,
    var(--ggtv-num-rim) 38%,
    var(--ggtv-rim-mid) 68%,
    var(--ggtv-rim-lo) 100%
  );
  box-shadow:
    0 0.22vw 0.42vw rgba(0, 0, 0, 0.72),
    inset 0 0.1vw 0.16vw rgba(255, 255, 255, 0.72),
    inset 0 -0.12vw 0.2vw rgba(0, 0, 0, 0.55);
  z-index: -2;
}

.ggtv-slot__text,
.ggtv-slot__points {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 0;
  padding: 0.55vh 1.15vw;
  box-sizing: border-box;
  font-weight: 700;
  font-family: var(--ggtv-ans-font);
  text-transform: uppercase;
  letter-spacing: 0.045em;
  color: var(--ggtv-text-answer);
  --sh: calc(var(--ggtv-ans-shadow) * 0.1);
  -webkit-text-stroke: 0.02em rgba(0, 0, 0, calc(0.38 * var(--sh)));
  text-shadow:
    0 0.04em 0 rgba(255, 255, 255, calc(0.38 * var(--sh))),
    0 0.08em 0 rgba(0, 0, 0, calc(0.95 * var(--sh))),
    0 0.14em 0.06em rgba(0, 0, 0, calc(0.72 * var(--sh)));
  transform-origin: center center;
}

.ggtv-slot__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 1.08;
  text-align: center;
  overflow: hidden;
}

.ggtv-slot.is-revealed .ggtv-slot__text {
  width: auto;
  height: auto;
  max-width: none;
}

.ggtv-slot__text-line {
  display: block;
  text-align: center;
  line-height: 1.08;
  white-space: nowrap;
}

.ggtv-slot__points-line {
  display: block;
  text-align: center;
  line-height: 1;
  white-space: nowrap;
}

.ggtv-slot:not(.is-revealed) .ggtv-slot__text,
.ggtv-slot:not(.is-revealed) .ggtv-slot__points {
  visibility: hidden;
}

.ggtv-slot.is-empty .ggtv-slot__text,
.ggtv-slot.is-empty .ggtv-slot__points,
.ggtv-slot.is-empty .ggtv-slot__number {
  display: none;
}

.ggtv-slot.is-revealed .ggtv-slot__number {
  display: none;
}

.ggtv-slot:not(.is-revealed):not(.is-empty) .ggtv-slot__points::before {
  opacity: 0;
  background: transparent;
  box-shadow: none;
}

.ggtv-slot:not(.is-revealed):not(.is-empty) .ggtv-slot__chrome::before {
  z-index: 1;
}

.ggtv-slot:not(.is-revealed):not(.is-empty) .ggtv-slot__number {
  z-index: 3;
}

/* ─── Strike overlay ─── */

.ggtv-strike-overlay {
  --strike-red: #ff2626;
  --strike-red-hi: #ff8080;
  --strike-red-lo: #8a0808;
  --strike-red-glow: rgba(255, 38, 38, 0.45);
  --strike-overlay-cell: 22vw;

  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 5;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 650ms ease;
  transition: opacity 650ms ease;
}

.ggtv-strike-overlay.is-visible {
  opacity: 1;
  -webkit-transition: opacity 280ms ease;
  transition: opacity 280ms ease;
}

.ggtv-strike-overlay__backdrop {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.68);
  opacity: 0;
  -webkit-transition: opacity 650ms ease;
  transition: opacity 650ms ease;
}

.ggtv-strike-overlay.is-visible .ggtv-strike-overlay__backdrop {
  opacity: 1;
  -webkit-transition: opacity 280ms ease;
  transition: opacity 280ms ease;
}

.ggtv-strike-overlay__panel {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  gap: 0.85rem;
  padding: 0;
  width: auto;
  max-width: none;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  outline: none;
  -webkit-transform: scale(0.84);
  transform: scale(0.84);
  opacity: 0;
  -webkit-transition: opacity 650ms ease, -webkit-transform 650ms ease;
  transition: opacity 650ms ease, transform 650ms ease;
}

.ggtv-strike-overlay .strike-overlay-cell {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: var(--strike-overlay-cell);
  height: var(--strike-overlay-cell);
  min-width: var(--strike-overlay-cell);
  min-height: var(--strike-overlay-cell);
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  padding: calc(var(--strike-overlay-cell) * 0.13);
  border: 0.58rem solid var(--strike-red);
  border-radius: 0.55rem;
  background:
    linear-gradient(
      165deg,
      rgba(88, 10, 10, 0.96) 0%,
      rgba(28, 0, 0, 0.98) 46%,
      rgba(52, 6, 6, 0.96) 100%
    );
  box-shadow:
    0 0.85rem 2rem rgba(0, 0, 0, 0.86),
    0 0 1.4rem var(--strike-red-glow),
    inset 0 0.28rem 0.62rem rgba(255, 130, 130, 0.34),
    inset 0 -0.45rem 0.75rem rgba(0, 0, 0, 0.78),
    inset 0 0.18rem 0.36rem rgba(255, 200, 200, 0.18);
  outline: 0.14rem solid rgba(255, 150, 150, 0.36);
  outline-offset: -0.36rem;
}

.ggtv-strike-overlay .strike-overlay-cell svg.strike-overlay-x {
  width: 100%;
  height: 100%;
  display: block;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
}

.ggtv-strike-overlay.is-visible .ggtv-strike-overlay__panel {
  -webkit-animation: ggtvStrikePanelIn 320ms cubic-bezier(0.2, 0.85, 0.25, 1.15) both;
  animation: ggtvStrikePanelIn 320ms cubic-bezier(0.2, 0.85, 0.25, 1.15) both;
  opacity: 1;
  -webkit-transition: opacity 280ms ease, -webkit-transform 280ms ease;
  transition: opacity 280ms ease, transform 280ms ease;
}

@-webkit-keyframes ggtvStrikePanelIn {
  from {
    opacity: 0;
    -webkit-transform: scale(0.84);
    transform: scale(0.84);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes ggtvStrikePanelIn {
  from {
    opacity: 0;
    -webkit-transform: scale(0.84);
    transform: scale(0.84);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.ggtv-strike-overlay .x-bar {
  stroke-linecap: round;
}

@keyframes ggtvReveal {
  0% {
    filter: brightness(2.1);
    -webkit-transform: scale(0.97);
    transform: scale(0.97);
  }
  100% {
    filter: none;
    -webkit-transform: none;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ggtv-slot:not(.is-revealed):not(.is-empty),
  .ggtv-slot.is-revealed,
  .ggtv-header-view,
  .ggtv-header-view.is-active,
  .ggtv-header-slot,
  .ggtv-header-slot.is-active,
  .ggtv-strike-overlay,
  .ggtv-strike-overlay__panel {
    animation: none;
    -webkit-transition: none;
    transition: none;
  }
}

