/* Modo TV: diapositivas a pantalla completa. Tipografía grande, alto contraste y márgenes para el sobrebarrido de las TV. */
:root { --tv-fondo: #0b1220; --tv-panel: #162036; --tv-texto: #f8fafc; --tv-tenue: #a7b4c8; --tv-linea: #2a3853; --bloque: #64748b;
  --serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Georgia, Cambria, serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: var(--tv-fondo); color: var(--tv-texto); font-family: var(--sans); }
body { font-size: clamp(18px, 2.2vw, 40px); line-height: 1.3; }
a { color: inherit; }
.tv { min-height: 100vh; display: grid; grid-template-rows: 1fr auto; padding: 4vh 5vw 3vh; border-top: .9vh solid var(--bloque); }
.tv-cuerpo { display: grid; align-content: center; gap: 2.5vh; }
.tv-sup { margin: 0; color: var(--tv-tenue); text-transform: uppercase; letter-spacing: .12em; font-size: .62em; }
.tv-titulo { margin: 0; font-family: var(--serif); font-size: 2.6em; line-height: 1.05; }
.tv-sub { margin: 0; font-size: 1.05em; color: var(--tv-tenue); }
.tv-portada { grid-template-columns: auto 1fr; align-items: center; column-gap: 4vw; }
.tv-foto { width: 28vh; height: 28vh; border-radius: 50%; object-fit: cover; object-position: top; border: .6vh solid var(--bloque); background: var(--tv-panel); }
.tv-foto-vacia { display: grid; place-items: center; font-family: var(--serif); font-size: 7vh; color: var(--tv-tenue); }
.tv-chip { display: inline-block; padding: .15em .7em; border-radius: 999px; background: var(--bloque); color: #fff; font-size: .72em; font-weight: 600; }
.tv-nums { display: grid; grid-template-columns: repeat(auto-fit, minmax(10em, 1fr)); gap: 2vw; }
.tv-num { background: var(--tv-panel); border-left: .7vh solid var(--bloque); padding: 2vh 1.5vw; }
.tv-num b { display: block; font-family: var(--serif); font-size: 2.2em; line-height: 1.05; }
.tv-num span { color: var(--tv-tenue); font-size: .72em; }
.tv-gran { font-family: var(--serif); font-size: 3.4em; line-height: 1; margin: 0; }
.tv-lista { margin: 0; padding: 0; list-style: none; display: grid; gap: 1.4vh; }
.tv-lista li { padding: 1.4vh 1.5vw; background: var(--tv-panel); border-left: .5vh solid var(--tv-linea); font-size: .8em; }
.tv-lista small { display: block; color: var(--tv-tenue); font-size: .75em; }
.tv-nota { margin: 0; color: var(--tv-tenue); font-size: .62em; max-width: 60em; }
.tv-pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1vh 2vw; padding-top: 2vh; border-top: 1px solid var(--tv-linea); font-size: .55em; color: var(--tv-tenue); }
.tv-pie strong { color: var(--tv-texto); }
.tv-ctl { display: flex; flex-wrap: wrap; gap: 1vw; }
.tv-ctl a { padding: .35em .9em; border: 1px solid var(--tv-linea); border-radius: .4em; text-decoration: none; color: var(--tv-texto); }
.tv-ctl a:focus, .tv-ctl a:hover { background: var(--bloque); outline: .3vh solid #fff; }
.tv-puntos { display: flex; gap: .5em; }
.tv-puntos i { width: .7em; height: .7em; border-radius: 50%; background: var(--tv-linea); }
.tv-puntos i.on { background: var(--bloque); }
.tv-indice { max-width: 52em; margin: 0 auto; padding: 6vh 5vw; }
.tv-indice h1 { font-family: var(--serif); font-size: 2.4em; margin: 0 0 1vh; }
.tv-indice label { display: block; margin: 2vh 0 .6vh; color: var(--tv-tenue); }
.tv-indice select, .tv-indice button { font: inherit; padding: .5em .8em; border-radius: .4em; border: 1px solid var(--tv-linea); background: var(--tv-panel); color: var(--tv-texto); }
.tv-indice button { background: var(--bloque, #1e3a8a); border-color: #fff; cursor: pointer; margin-top: 3vh; font-weight: 600; }
@media (max-width: 40rem) { .tv-portada { grid-template-columns: 1fr; } .tv-foto { width: 22vh; height: 22vh; } body { font-size: 18px; } }
