/* Plató del canal 09. Se carga después de app.css para aislar el diseño de televisión. */
html.tc-tv-document,
body.tc-tv-page {
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #080b10 !important;
}

body.tc-tv-page {
  position: fixed;
  inset: 0;
}

.tc-tv-page .stf-crosspromo { display: none !important; }

.tc-tv-live-layer,
.tc-tv-preview-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.tc-tv-live-layer {
  isolation: isolate;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.tc-tv-topbar { grid-row: 1; grid-column: 1; }
.tc-tv-main-screen,
.tc-tv-game-layer { grid-row: 2; grid-column: 1; }
.tc-tv-score-bay { grid-row: 3; grid-column: 1; }
.tc-tv-main-screen[hidden],
.tc-tv-game-layer[hidden],
.tc-tv-score-bay[hidden] { display: none !important; }

.tc-tv-preview-layer {
  z-index: 20;
  display: grid;
  place-items: center;
  background: #070a0e;
}

.tc-tv-live-layer[hidden],
.tc-tv-preview-layer[hidden] { display: none !important; }

.tc-tv-cover {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: #f3f8fb;
  background:
    linear-gradient(90deg, transparent 49.95%, rgba(112, 179, 205, .12) 50%, transparent 50.05%),
    repeating-linear-gradient(90deg, transparent 0 11.95%, rgba(175, 207, 220, .035) 12% 12.08%),
    radial-gradient(circle at 50% 48%, rgba(73, 185, 235, .16), transparent 38%),
    linear-gradient(180deg, #101923 0%, #081019 52%, #04080d 100%);
}
.tc-tv-cover::before,
.tc-tv-cover::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.tc-tv-cover::before {
  inset: 0;
  opacity: .55;
  background: linear-gradient(118deg, rgba(255,255,255,.035), transparent 24%, transparent 74%, rgba(73,185,235,.035));
}
.tc-tv-cover::after {
  left: 17%;
  right: 17%;
  bottom: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(73,185,235,.4), transparent);
  box-shadow: 0 0 36px rgba(73,185,235,.24);
}
.tc-tv-cover__channel,
.tc-tv-cover > footer {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: clamp(20px, 3vh, 36px) clamp(26px, 4vw, 68px);
  color: rgba(225, 238, 245, .58);
  font-size: clamp(8px, .65vw, 12px);
  font-weight: 850;
  letter-spacing: .2em;
}
.tc-tv-cover__channel span {
  display: grid;
  width: clamp(38px, 3.2vw, 58px);
  height: clamp(38px, 3.2vw, 58px);
  place-items: center;
  color: #eef9fd;
  border: 1px solid rgba(73, 185, 235, .58);
  border-radius: 50%;
  background: rgba(73, 185, 235, .08);
  font-size: clamp(12px, 1vw, 18px);
  letter-spacing: 0;
  box-shadow: 0 0 28px rgba(73, 185, 235, .12);
}
.tc-tv-cover__channel strong { color: #8fd6ef; }
.tc-tv-cover__channel i {
  margin-left: auto;
  color: rgba(240, 247, 250, .56);
  font-style: normal;
}
.tc-tv-cover__content {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: clamp(9px, 1.4vh, 18px);
  min-height: 0;
  padding: 0 7vw;
  text-align: center;
}
.tc-tv-cover__content > p:first-child {
  margin: 0;
  color: rgba(221, 236, 243, .6);
  font-size: clamp(8px, .68vw, 12px);
  font-weight: 850;
  letter-spacing: .34em;
}
.tc-tv-cover__content > img {
  display: block;
  width: min(55vw, 790px);
  max-height: min(43vh, 450px);
  object-fit: contain;
  filter: drop-shadow(0 26px 42px rgba(0,0,0,.38));
}
.tc-tv-cover__message {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(12px, 1.4vw, 24px);
}
.tc-tv-cover__message > span {
  width: clamp(7px, .6vw, 11px);
  height: clamp(7px, .6vw, 11px);
  flex: 0 0 auto;
  border-radius: 50%;
  background: #49b9eb;
  box-shadow: 0 0 0 7px rgba(73,185,235,.1), 0 0 30px rgba(73,185,235,.62);
  animation: tc-cover-pulse 1.8s ease-in-out infinite;
}
.tc-tv-cover__message h1 {
  margin: 0;
  color: #f3f8fb;
  font-size: clamp(24px, 3.05vw, 58px);
  font-weight: 860;
  line-height: .96;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.tc-tv-cover__wait {
  margin: clamp(5px, 1vh, 12px) 0 0 !important;
  color: #49b9eb !important;
  font-size: clamp(8px, .7vw, 13px) !important;
  font-weight: 850 !important;
  letter-spacing: .25em !important;
}
.tc-tv-cover > footer {
  justify-content: space-between;
  border-top: 1px solid rgba(170, 207, 221, .09);
}
.tc-tv-cover > footer span:first-child { color: rgba(241, 247, 250, .82); }
@keyframes tc-cover-pulse { 50% { opacity: .46; transform: scale(.78); } }

@media (max-width: 700px) {
  .tc-tv-cover__channel,
  .tc-tv-cover > footer { padding: 18px; }
  .tc-tv-cover__channel { gap: 9px; }
  .tc-tv-cover__channel i { font-size: 7px; }
  .tc-tv-cover__content { padding: 0 22px; }
  .tc-tv-cover__content > img { width: min(88vw, 620px); max-height: 39vh; }
  .tc-tv-cover__message h1 { font-size: clamp(22px, 7.2vw, 38px); }
  .tc-tv-cover__message { align-items: flex-start; }
  .tc-tv-cover__message > span { margin-top: 8px; }
}

/* Portada 16:9 emitida automáticamente cuando el directo no tiene concursantes activos. */
.tc-tv-cover__art {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Llamada de casting en la portada previa del Canal 09. */
.tc-tv-cover__casting {
  position: absolute;
  z-index: 4;
  left: 8%;
  right: 8%;
  bottom: 8%;
  display: grid;
  justify-items: center;
  gap: clamp(6px, .7vw, 12px);
  padding: clamp(16px, 2vw, 32px) clamp(18px, 3vw, 54px);
  border: 2px solid rgba(73, 185, 235, .72);
  border-radius: clamp(14px, 1.8vw, 28px);
  background: linear-gradient(135deg, rgba(5, 11, 19, .98), rgba(10, 39, 57, .97) 58%, rgba(52, 16, 22, .96));
  box-shadow: 0 0 0 1px rgba(243, 229, 202, .14), 0 14px 42px rgba(0, 0, 0, .48), 0 0 34px rgba(73, 185, 235, .19);
  text-align: center;
}

.tc-tv-cover__casting::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 12%;
  right: 12%;
  height: 3px;
  border-radius: 0 0 8px 8px;
  background: linear-gradient(90deg, transparent, #ff5a3a 22%, #f3e5ca 50%, #49b9eb 78%, transparent);
}

.tc-tv-cover__casting span {
  color: #49b9eb;
  font-size: clamp(11px, 1.05vw, 19px);
  font-weight: 900;
  letter-spacing: .18em;
}

.tc-tv-cover__casting strong {
  color: #f3e5ca;
  font-size: clamp(20px, 3vw, 56px);
  font-weight: 950;
  letter-spacing: .035em;
  line-height: 1.02;
  text-shadow: 0 0 22px rgba(243, 229, 202, .19);
}

.tc-tv-cover__casting a {
  color: #ff8a74;
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: clamp(13px, 1.45vw, 27px);
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration: none;
}

.tc-tv-cover__casting a:hover,
.tc-tv-cover__casting a:focus-visible { color: #fff3d6; text-decoration: underline; }

/* Cierre de gala: retira todo el contenido editorial y conserva los relojes. */
body[data-tc-screen-mode="clocks"] .tc-tv-live-layer {
  grid-template-rows: auto minmax(0, 1fr);
}
body[data-tc-screen-mode="clocks"] .tc-tv-main-screen,
body[data-tc-screen-mode="clocks"] .tc-tv-game-layer {
  display: none !important;
}
body[data-tc-screen-mode="clocks"] .tc-tv-score-bay {
  grid-row: 2;
  align-self: center;
  justify-self: center;
  width: min(92vw, 1540px);
  max-height: calc(100vh - 132px);
  margin: 0;
  padding: clamp(20px, 3.1vh, 42px) clamp(24px, 3.5vw, 58px);
  overflow: hidden;
  border-color: rgba(197,216,229,.2);
  background: rgba(7,11,15,.86);
  box-shadow: 0 28px 90px rgba(0,0,0,.58), inset 0 1px rgba(220,232,240,.06);
}
body[data-tc-screen-mode="clocks"] .tc-tv-score-bay__header {
  margin-bottom: clamp(12px, 2vh, 24px);
}
body[data-tc-screen-mode="clocks"] .tc-tv-score-bay__header h2,
body[data-tc-screen-mode="clocks"] .tc-tv-score-bay__header p {
  font-size: clamp(9px, .8vw, 15px);
}
body[data-tc-screen-mode="clocks"] .tc-board__row {
  padding-top: clamp(9px, 1.25vh, 16px);
  padding-bottom: clamp(9px, 1.25vh, 16px);
}

.tc-tv-page .tc-tv-shell {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: 100vh;
  max-height: 100dvh;
  margin: 0 !important;
  background:
    radial-gradient(ellipse at 50% 35%, rgba(115, 145, 171, .16), transparent 34%),
    radial-gradient(ellipse at 50% 68%, rgba(196, 211, 222, .08), transparent 30%),
    linear-gradient(180deg, #11161d 0%, #080b10 56%, #030507 100%);
}

.tc-tv-set::before {
  inset: 0 0 29%;
  opacity: 1;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.035) 0 1px,
      transparent 1px 12%,
      rgba(255,255,255,.055) 12% calc(12% + 1px),
      transparent calc(12% + 1px) 24%,
      rgba(255,255,255,.035) 24% calc(24% + 1px),
      transparent calc(24% + 1px) 76%,
      rgba(255,255,255,.035) 76% calc(76% + 1px),
      transparent calc(76% + 1px) 88%,
      rgba(255,255,255,.055) 88% calc(88% + 1px),
      transparent calc(88% + 1px)),
    repeating-linear-gradient(180deg, transparent 0 70px, rgba(255,255,255,.025) 71px 72px),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 46%);
}

.tc-tv-set__halo {
  top: 11%;
  width: 56vw;
  height: 48vh;
  background: radial-gradient(ellipse, rgba(145, 176, 201, .2), rgba(105, 132, 156, .035) 50%, transparent 72%);
  filter: blur(22px);
}

.tc-tv-set__ceiling,
.tc-tv-set__column,
.tc-tv-set__platform {
  position: absolute;
  pointer-events: none;
}

.tc-tv-set__ceiling {
  top: 8.5%;
  left: 20%;
  right: 20%;
  height: 28px;
  border-top: 2px solid rgba(205, 219, 230, .22);
  border-bottom: 2px solid rgba(0, 0, 0, .75);
  background: repeating-linear-gradient(135deg, rgba(190, 205, 217, .18) 0 2px, transparent 2px 22px);
  box-shadow: 0 7px 18px rgba(0,0,0,.48);
}
.tc-tv-set__ceiling::before,
.tc-tv-set__ceiling::after {
  content: "";
  position: absolute;
  top: 27px;
  width: 64px;
  height: 32vh;
  opacity: .22;
  filter: blur(5px);
  background: linear-gradient(180deg, rgba(203, 224, 238, .45), transparent 78%);
  clip-path: polygon(42% 0, 58% 0, 100% 100%, 0 100%);
}
.tc-tv-set__ceiling::before { left: 13%; }
.tc-tv-set__ceiling::after { right: 13%; }

.tc-tv-set__column {
  top: 13%;
  bottom: 27%;
  width: 24px;
  border: 1px solid rgba(214, 225, 233, .12);
  background:
    linear-gradient(90deg, rgba(255,255,255,.11), transparent 38% 67%, rgba(0,0,0,.42)),
    #141a21;
  box-shadow: 0 0 30px rgba(0,0,0,.45);
}
.tc-tv-set__column::after {
  content: "";
  position: absolute;
  top: 6%;
  bottom: 6%;
  left: 50%;
  width: 1px;
  background: rgba(173, 205, 228, .35);
  box-shadow: 0 0 9px rgba(141, 192, 228, .38);
}
.tc-tv-set__column--left { left: 19%; transform: skewY(-3deg); }
.tc-tv-set__column--right { right: 19%; transform: skewY(3deg); }

.tc-tv-set__wing {
  top: 14%;
  bottom: 28%;
  width: 18vw;
  border-color: rgba(205, 220, 232, .1);
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), transparent 24%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 42px),
    linear-gradient(90deg, #19212a, #0d1117);
  box-shadow: inset 0 0 70px rgba(0,0,0,.58), 0 18px 50px rgba(0,0,0,.38);
}
.tc-tv-set__wing::before {
  content: "";
  position: absolute;
  top: 9%;
  bottom: 9%;
  width: 3px;
  background: rgba(155, 195, 222, .58);
  box-shadow: 0 0 18px rgba(131, 188, 227, .42);
}
.tc-tv-set__wing::after {
  inset: 9% 10%;
  border-color: rgba(205, 220, 232, .09);
  background:
    linear-gradient(135deg, rgba(255,255,255,.035), transparent 42%),
    repeating-linear-gradient(180deg, transparent 0 44px, rgba(255,255,255,.025) 45px 46px);
}
.tc-tv-set__wing--left {
  left: -3vw;
  transform: perspective(480px) rotateY(10deg) skewY(-2deg);
}
.tc-tv-set__wing--left::before { right: 8%; }
.tc-tv-set__wing--right {
  right: -3vw;
  transform: perspective(480px) rotateY(-10deg) skewY(2deg);
  background:
    linear-gradient(215deg, rgba(255,255,255,.075), transparent 24%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 42px),
    linear-gradient(270deg, #19212a, #0d1117);
}
.tc-tv-set__wing--right::before { left: 8%; }

.tc-tv-set__platform {
  left: 50%;
  bottom: 24%;
  width: min(70vw, 1320px);
  height: 13vh;
  transform: translateX(-50%);
  border: 1px solid rgba(194, 213, 228, .14);
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(128, 154, 174, .14), rgba(21, 27, 34, .78) 48%, rgba(3,5,7,.94) 72%);
  box-shadow: 0 -7px 34px rgba(140, 180, 208, .08), inset 0 4px 14px rgba(255,255,255,.035);
}

.tc-tv-set__floor {
  bottom: -22%;
  height: 59%;
  background:
    linear-gradient(90deg, transparent 49.94%, rgba(173, 200, 219, .16) 50%, transparent 50.06%),
    repeating-linear-gradient(90deg, transparent 0 9.95%, rgba(199, 216, 228, .04) 10% 10.08%),
    repeating-linear-gradient(180deg, transparent 0 13.9%, rgba(199, 216, 228, .045) 14% 14.15%),
    linear-gradient(180deg, #1a2027, #06080b 77%);
  border-top-color: rgba(207, 222, 232, .13);
  box-shadow: 0 -24px 72px rgba(118, 151, 175, .07);
}

.tc-tv-topbar {
  border-bottom-color: rgba(207, 222, 232, .12);
}
.tc-tv-channel span {
  color: #f4fbff;
  border-color: rgba(120, 210, 231, .56);
  background: linear-gradient(145deg, #187a91, #0c4355);
  box-shadow: 0 0 22px rgba(48, 164, 191, .22), inset 0 1px rgba(255,255,255,.18);
}
.tc-tv-channel strong { color: #86cee0; text-shadow: 0 0 18px rgba(76, 180, 204, .18); }

.tc-tv-main-screen {
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(54vw, 980px);
  height: min(43vh, 450px);
  place-content: stretch;
  align-items: center;
  padding: clamp(20px, 3vh, 34px) clamp(32px, 4vw, 72px);
  border: 7px solid #20262d;
  border-radius: 7px;
  outline: 1px solid rgba(218, 229, 237, .24);
  background:
    radial-gradient(ellipse at 50% 55%, rgba(127, 157, 179, .1), transparent 48%),
    linear-gradient(145deg, #11151b, #05070a);
  box-shadow:
    0 30px 90px rgba(0,0,0,.62),
    0 0 0 2px rgba(0,0,0,.72),
    0 0 58px rgba(118, 164, 197, .11),
    inset 0 0 80px rgba(128, 159, 183, .04);
}
.tc-tv-main-screen::before {
  inset: 0;
  opacity: .42;
  border: 1px solid rgba(215, 228, 237, .055);
  background:
    repeating-linear-gradient(180deg, transparent 0 4px, rgba(197, 218, 231, .018) 4px 5px),
    linear-gradient(120deg, rgba(255,255,255,.035), transparent 28%);
}
.tc-tv-main-screen::after {
  left: 24%;
  right: 24%;
  bottom: -17px;
  height: 5px;
  border-radius: 50%;
  background: rgba(157, 195, 220, .23);
  box-shadow: 0 0 28px rgba(132, 185, 221, .3);
}
.tc-tv-main-screen > p {
  margin: 0;
  color: rgba(218, 229, 237, .58);
}
.tc-tv-main-screen__logo {
  display: block;
  align-self: center;
  justify-self: center;
  width: min(39vw, 650px);
  max-width: 100%;
  max-height: min(31vh, 330px);
  object-fit: contain;
  filter: drop-shadow(0 18px 24px rgba(0,0,0,.32));
}
.tc-tv-main-screen > div {
  margin-top: 0;
  color: rgba(213, 225, 233, .72);
}

.tc-tv-score-bay {
  border-color: rgba(197, 216, 229, .14);
  background: rgba(10, 14, 18, .79);
  box-shadow: 0 22px 60px rgba(0,0,0,.44), inset 0 1px rgba(220,232,240,.045);
}

/* Grafismo dinámico de pruebas controlado por La Voz Cero. */
.tc-tv-game-layer {
  z-index: 5;
  align-self: center;
  justify-self: center;
  width: min(68vw, 1240px);
  height: min(49vh, 560px);
}
.tc-tv-game {
  --game-accent: #61c4da;
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: #f6fbfd;
  border: 7px solid #20262d;
  border-radius: 7px;
  outline: 1px solid rgba(218,229,237,.28);
  background:
    radial-gradient(circle at 50% 116%, color-mix(in srgb, var(--game-accent) 34%, transparent), transparent 54%),
    linear-gradient(145deg,#121820,#040609);
  box-shadow: 0 34px 100px rgba(0,0,0,.68),0 0 65px color-mix(in srgb,var(--game-accent) 17%,transparent),inset 0 0 90px rgba(155,185,204,.04);
  animation: tc-game-enter .38s cubic-bezier(.2,.8,.2,1) both;
}
.tc-tv-game::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.28;
  pointer-events:none;
  background:repeating-linear-gradient(180deg,transparent 0 4px,rgba(220,236,245,.035) 4px 5px),linear-gradient(120deg,rgba(255,255,255,.045),transparent 25%);
}
.tc-tv-game[data-accent="red"] { --game-accent:#e14550; }
.tc-tv-game[data-accent="gold"] { --game-accent:#d7aa4e; }
.tc-tv-game[data-accent="white"] { --game-accent:#dfeaf0; }
.tc-tv-game > * { position:relative; z-index:1; }
.tc-tv-game__header,
.tc-tv-game > footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:clamp(13px,1.7vh,20px) clamp(22px,2.4vw,44px); color:rgba(230,241,247,.66); font-size:clamp(8px,.62vw,11px); font-weight:850; letter-spacing:.18em; text-transform:uppercase; }
.tc-tv-game__header { border-bottom:1px solid rgba(216,231,240,.11); }
.tc-tv-game__header span { color:var(--game-accent); }
.tc-tv-game__header i { font-style:normal; }
.tc-tv-game > footer { border-top:1px solid rgba(216,231,240,.09); }
.tc-tv-game > footer span:first-child { color:#fff; }
.tc-tv-game__content { display:grid; align-content:center; justify-items:center; gap:clamp(7px,1.1vh,14px); min-height:0; padding:clamp(20px,3vh,40px) clamp(34px,5vw,90px); text-align:center; }
.tc-tv-game__type { margin:0; color:var(--game-accent); font-size:clamp(9px,.68vw,12px); font-weight:900; letter-spacing:.2em; }
.tc-tv-game h1 { max-width:100%; margin:0; color:#fff; font-size:clamp(38px,4.3vw,80px); line-height:.92; letter-spacing:-.055em; text-wrap:balance; }
.tc-tv-game h2 { max-width:90%; margin:0; color:rgba(228,238,244,.8); font-size:clamp(15px,1.35vw,25px); font-weight:540; line-height:1.15; text-wrap:balance; }
.tc-tv-game__body { max-width:900px; margin:2px 0 0; color:rgba(213,226,234,.72); font-size:clamp(12px,.95vw,18px); line-height:1.45; white-space:pre-line; text-wrap:balance; }
.tc-tv-game__options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(7px,.8vw,13px); width:min(100%,980px); margin:clamp(5px,1vh,12px) 0 0; padding:0; list-style:none; counter-reset:game-option; }
.tc-tv-game__options li { counter-increment:game-option; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; min-height:46px; padding:10px 16px; color:#f1f7fa; border:1px solid rgba(213,230,240,.14); background:rgba(213,230,240,.055); font-size:clamp(11px,.86vw,16px); font-weight:650; text-align:left; }
.tc-tv-game__options li::before { content:counter(game-option,upper-alpha); display:grid; width:24px; height:24px; place-items:center; color:#071016; border-radius:50%; background:var(--game-accent); font-size:10px; font-weight:950; }
.tc-tv-game__duel { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:clamp(16px,2vw,34px); width:min(100%,930px); margin-top:9px; }
.tc-tv-game__duel article { display:grid; align-content:center; gap:5px; min-width:0; min-height:110px; padding:17px 22px; border:1px solid rgba(219,234,243,.15); background:linear-gradient(145deg,rgba(222,237,245,.075),rgba(255,255,255,.018)); }
.tc-tv-game__duel article span { overflow:hidden; color:#edf6fa; font-size:clamp(14px,1.18vw,22px); font-weight:760; text-overflow:ellipsis; white-space:nowrap; }
.tc-tv-game__duel article strong { color:var(--game-accent); font-size:clamp(38px,3.5vw,66px); line-height:.9; font-variant-numeric:tabular-nums; }
.tc-tv-game__duel article time { min-height:1em; color:rgba(224,235,241,.56); font-size:clamp(10px,.7vw,13px); font-variant-numeric:tabular-nums; }
.tc-tv-game__duel > b { color:rgba(229,239,245,.56); font-size:clamp(12px,.9vw,17px); letter-spacing:.14em; }
.tc-tv-game__timer { color:#fff; font-size:clamp(54px,6vw,112px); font-weight:900; line-height:.85; letter-spacing:-.07em; font-variant-numeric:tabular-nums; text-shadow:0 0 38px color-mix(in srgb,var(--game-accent) 42%,transparent); }
.tc-tv-game__timer.is-critical { color:#ffd4d7; animation:tc-game-pulse 1s ease-in-out infinite; }
.tc-tv-game__timer.is-zero { color:#ff5964; }
.tc-tv-game[data-template="countdown"] h1 { font-size:clamp(28px,3vw,56px); }
.tc-tv-game[data-template="quiz"] h1 { font-size:clamp(30px,3.4vw,62px); }
.tc-tv-game[data-template="scoreboard"] .tc-tv-game__options { grid-template-columns:1fr; width:min(100%,820px); }
.tc-tv-game[data-template="rules"] .tc-tv-game__options { grid-template-columns:1fr; }
.tc-tv-game[data-template="pause"] { --game-accent:#dfeaf0; }
.tc-game-on-air .tc-tv-score-bay { padding-top:9px; padding-bottom:9px; }
.tc-game-on-air .tc-tv-score-bay__header { margin-bottom:7px; }
.tc-game-on-air .tc-board__row { padding-top:6px; padding-bottom:6px; }
@keyframes tc-game-enter { from { opacity:0; transform:translateY(20px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes tc-game-pulse { 50% { opacity:.65; transform:scale(.985); } }
.tc-tv-page .tc-board__row {
  border-color: rgba(197, 216, 229, .105);
  background: linear-gradient(145deg, rgba(189, 211, 226, .055), rgba(255,255,255,.014));
}

@media (max-aspect-ratio: 4/3) {
  .tc-tv-set__ceiling { left: 11%; right: 11%; }
  .tc-tv-set__column--left { left: 10%; }
  .tc-tv-set__column--right { right: 10%; }
  .tc-tv-main-screen { width: min(72vw, 780px); }
  .tc-tv-main-screen__logo { width: min(54vw, 560px); }
  .tc-tv-game-layer { width:min(82vw,900px); }
}

@media (max-width: 700px) {
  .tc-tv-set__ceiling { left: 8%; right: 8%; }
  .tc-tv-set__column { display: none; }
  .tc-tv-set__wing { width: 25vw; }
  .tc-tv-main-screen { width: calc(100% - 68px); height: 35vh; padding: 20px 24px; border-width: 5px; }
  .tc-tv-main-screen__logo { width: min(66vw, 440px); max-height: 25vh; }
  .tc-tv-game-layer { width:calc(100% - 38px); height:43vh; }
  .tc-tv-game { border-width:5px; }
  .tc-tv-game__content { padding:18px 22px; }
  .tc-tv-game__options { grid-template-columns:1fr; }
}

/* Señal principal: doce retratos y doce cuentas atrás simultáneas. */
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-live-layer {
  grid-template-rows: clamp(76px, 10vh, 110px) clamp(58px, 8vh, 88px) minmax(0, 1fr);
  padding-bottom: clamp(18px, 2.5vh, 34px);
  background:
    linear-gradient(180deg, rgba(9,18,30,.22), rgba(3,8,15,.82)),
    radial-gradient(circle at 50% 20%, rgba(73,185,235,.13), transparent 38%);
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-set { opacity:.22; }
.tc-tv-program-logo {
  display:block;
  width:clamp(190px, 20vw, 360px);
  height:clamp(58px, 8vh, 86px);
  object-fit:contain;
  object-position:left center;
}
.tc-tv-channel-brand {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(10px, 1.2vw, 22px);
  min-width:clamp(290px, 31vw, 560px);
  color:#dce8ef;
}
.tc-tv-channel-brand img {
  display:block;
  width:clamp(92px, 8.5vw, 155px);
  height:clamp(54px, 7.2vh, 82px);
  object-fit:contain;
}
.tc-tv-channel-brand span {
  padding-left:clamp(10px, 1.2vw, 22px);
  border-left:1px solid rgba(221,235,243,.28);
  font-size:clamp(9px, .78vw, 15px);
  font-weight:850;
  letter-spacing:.17em;
  white-space:nowrap;
}
.tc-tv-channel-brand b {
  display:grid;
  min-width:clamp(40px, 3.2vw, 58px);
  height:clamp(32px, 3.2vw, 52px);
  place-items:center;
  padding:0 8px;
  border:1px solid rgba(243,229,202,.58);
  border-radius:8px;
  color:#f3e5ca;
  background:rgba(6,12,20,.64);
  font-size:clamp(13px, 1.25vw, 23px);
  line-height:1;
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-topbar {
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto minmax(340px,1fr);
  gap:24px;
  min-height:0;
  margin:clamp(10px, 1.8vh, 20px) clamp(26px, 3.2vw, 58px) 0;
  padding:0 0 clamp(8px, 1.2vh, 14px);
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-on-air {
  align-self:center;
  padding:9px 14px;
  border:1px solid rgba(214,231,239,.22);
  border-radius:7px;
  background:rgba(4,10,18,.56);
  font-size:clamp(9px, .8vw, 15px);
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-main-screen {
  grid-row:2;
  align-self:center;
  width:100%;
  min-width:0;
  height:auto;
  min-height:0;
  padding:0 clamp(28px, 4vw, 70px);
  overflow:visible;
  border:0;
  outline:0;
  background:none;
  box-shadow:none;
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-main-screen::before,
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-main-screen::after { display:none; }
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-main-screen h1 {
  display:block;
  margin:0;
  color:#f3e5ca;
  font-size:clamp(24px, 3.2vw, 58px);
  font-weight:900;
  line-height:1;
  letter-spacing:.075em;
  text-align:center;
  text-transform:uppercase;
  text-shadow:0 0 30px rgba(73,185,235,.08);
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-main-screen h1 span {
  display:inline;
  color:#f3e5ca;
  font:inherit;
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-score-bay {
  grid-row:3;
  align-self:stretch;
  width:100%;
  min-height:0;
  margin:0;
  padding:0 clamp(26px, 3vw, 54px);
  overflow:hidden;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-score-bay__header,
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board > header,
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board .tc-sync,
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board .tc-rank { display:none!important; }
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board,
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__rows { height:100%; }
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__rows {
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  grid-template-rows:repeat(3, minmax(0,1fr));
  align-content:stretch;
  gap:clamp(9px, 1.3vh, 16px) clamp(10px, 1.2vw, 22px);
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__row {
  --card-accent:#49b9eb;
  display:grid;
  grid-template-columns:clamp(62px, 5.7vw, 104px) minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr) auto;
  grid-template-areas:"avatar name" "avatar clock" "avatar status";
  align-items:center;
  gap:2px clamp(10px, .9vw, 17px);
  min-width:0;
  min-height:0;
  padding:clamp(8px, 1.05vh, 14px);
  opacity:1;
  border:1px solid color-mix(in srgb, var(--card-accent) 54%, #203443);
  border-radius:10px;
  background:linear-gradient(145deg, rgba(8,24,38,.94), rgba(3,10,18,.94));
  box-shadow:inset 3px 0 var(--card-accent), 0 10px 24px rgba(0,0,0,.24), 0 0 18px color-mix(in srgb, var(--card-accent) 9%, transparent);
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__row[data-zone="tension"] { --card-accent:#ff5a3a; }
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__row[data-zone="critical"] { --card-accent:#ff334e; }
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__row[data-status="paused"] { --card-accent:#f0c76f; }
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__row[data-status="zero"] { --card-accent:#65717a; opacity:.72; }
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__avatar {
  grid-area:avatar;
  width:min(100%, 104px);
  align-self:center;
  border:2px solid var(--card-accent);
  color:#f3e5ca;
  background:#0b1a29;
  box-shadow:0 0 22px color-mix(in srgb, var(--card-accent) 17%, transparent);
  font-size:clamp(17px, 1.6vw, 28px);
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__row strong {
  grid-area:name;
  align-self:end;
  color:#f3f8fb;
  font-size:clamp(12px, 1.12vw, 21px);
  font-weight:850;
  letter-spacing:.065em;
  text-transform:uppercase;
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__clock {
  grid-area:clock;
  align-self:center;
  color:var(--card-accent);
  font-size:clamp(25px, 2.45vw, 45px);
  font-weight:900;
  line-height:.95;
  letter-spacing:-.055em;
  text-shadow:0 0 22px color-mix(in srgb, var(--card-accent) 28%, transparent);
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__status {
  grid-area:status;
  align-self:start;
  color:var(--card-accent);
  font-size:clamp(7px, .62vw, 11px);
  font-weight:900;
  letter-spacing:.13em;
}
body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__status--running::before { content:"⌄"; margin-right:7px; font-size:1.5em; }

@media (max-width: 1000px) {
  body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-topbar { grid-template-columns:1fr auto; }
  body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-tv-on-air { display:none; }
  body.tc-tv-page:not(.tc-game-on-air):not([data-tc-screen-mode="clocks"]) .tc-board__rows { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(4,minmax(0,1fr)); }
}

/* Vista final independiente: solamente nombre y reloj, sin pantallas de personas. */
html[data-tc-screen-mode="clocks"],
body.tc-tv-page[data-tc-screen-mode="clocks"] {
  background: #06090d !important;
}
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-tv-live-layer {
  display: grid;
  grid-template: 1fr / 1fr;
  place-items: center;
  padding: clamp(28px, 5vh, 72px) clamp(26px, 5vw, 96px);
  background:
    radial-gradient(circle at 50% 48%, rgba(65, 124, 148, .14), transparent 43%),
    linear-gradient(180deg, #0d1319 0%, #06090d 100%);
}
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-tv-set,
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-tv-topbar,
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-tv-main-screen,
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-tv-game-layer,
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-tv-score-bay__header,
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board > header,
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board .tc-sync,
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board .tc-rank,
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board .tc-board__status {
  display: none !important;
}
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-tv-score-bay,
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-tv-score-bay--clocks-only {
  grid-row: 1;
  align-self: center;
  justify-self: stretch;
  width: 100%;
  max-width: 1680px;
  max-height: 90vh;
  margin: 0 auto;
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board--clocks-only {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board--clocks-only .tc-board__rows {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  align-content: center;
  justify-content: center;
  gap: clamp(18px, 2.3vw, 36px) clamp(26px, 3vw, 52px);
}
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board--clocks-only .tc-board__row,
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board--clocks-only .tc-board__row--clock-only {
  display: grid;
  grid-template: none;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: clamp(7px, 1vh, 13px);
  min-height: 0;
  padding: clamp(8px, 1.3vh, 15px) 8px clamp(13px, 1.8vh, 22px);
  overflow: visible;
  border: 0;
  border-bottom: 1px solid rgba(178, 207, 220, .19);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 1;
  text-align: center;
}
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board--clocks-only .tc-board__row strong {
  grid-area: auto;
  width: 100%;
  color: rgba(224, 237, 243, .74);
  font-size: clamp(13px, 1.15vw, 20px);
  font-weight: 720;
  letter-spacing: .08em;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
}
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board--clocks-only .tc-board__clock {
  grid-area: auto;
  align-self: auto;
  color: #f7fbfd;
  font-size: clamp(42px, 5vw, 86px);
  font-weight: 760;
  line-height: .9;
  letter-spacing: -.06em;
  text-shadow: 0 0 34px rgba(87, 171, 198, .16);
}
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board--clocks-only .tc-board__clock.is-critical {
  color: #f1c2c7;
}
body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board--clocks-only .tc-board__clock.is-zero {
  color: rgba(207, 218, 224, .46);
}

@media (max-width: 700px) {
  body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-tv-live-layer {
    padding: 24px 18px;
  }
  body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board--clocks-only .tc-board__rows {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 14px;
  }
  body.tc-tv-page[data-tc-screen-mode="clocks"] .tc-board--clocks-only .tc-board__clock {
    font-size: clamp(26px, 9vw, 48px);
  }
}
