/* Beamer-Ansicht: immer dunkel, Schriftgrößen relativ zur Bildschirmgröße, lesbar aus der letzten Hallenreihe */
body.live{--lv-bg:#04060c;--lv-card:#0c1220;--lv-line:#1c2638;--lv-text:#f2f5fb;--lv-muted:#8f9ab2;
  margin:0;height:100vh;overflow:hidden;background:radial-gradient(ellipse at 50% -20%,color-mix(in srgb,var(--blue) 35%,transparent),transparent 60%),var(--lv-bg);
  color:var(--lv-text);display:grid;grid-template-rows:auto 1fr auto;font-size:clamp(14px,1.45vw,30px)}
.lv-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2em;padding:1em 2em .8em;background:var(--blue);
  clip-path:polygon(0 0,100% 0,100% calc(100% - .9em),50% 100%,0 calc(100% - .9em));padding-bottom:1.6em}
.lv-crest{height:3.4em;filter:drop-shadow(.2em .2em 0 rgba(0,0,0,.35))}
.lv-org{font:700 .8em var(--body);text-transform:uppercase;letter-spacing:.2em;opacity:.9}
.lv-head h1{font:900 3em/1 var(--display);text-transform:uppercase;margin:.05em 0 0;color:#fff;overflow-wrap:normal}
.lv-clock{font-size:2.6em;color:var(--led);background:#000;padding:.15em .4em;border:.08em solid #000}
.lv-main{display:grid;grid-template-columns:1.25fr 1fr;gap:1.6em;padding:1.2em 2em;min-height:0}
.lv-main h2{font:900 1.5em/1 var(--display);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5em;display:flex;align-items:center;gap:.4em;color:var(--lv-text)}
.lv-main h2::before{content:"";width:.5em;height:.8em;background:var(--blue);transform:skewX(-14deg)}
.lv-games,.lv-side{min-height:0;overflow:hidden}
.lv-list{display:grid;gap:.6em;margin-bottom:1.1em}
.lv-game{background:var(--lv-card);border:.12em solid var(--lv-line);border-left:.4em solid var(--blue);padding:.55em .9em .65em}
.lv-list.next .lv-game{border-left-color:var(--lv-line);opacity:.85}
.lv-list.next .lv-row{font-size:.8em}
.lv-meta{display:flex;justify-content:space-between;font:700 .7em var(--body);text-transform:uppercase;letter-spacing:.14em;color:var(--lv-muted);margin-bottom:.2em}
.lv-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.7em}
.lv-team{font:800 1.5em/1.1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.lv-team.a{text-align:right}
.lv-score{font-size:2.2em;color:var(--led);background:#000;padding:.05em .35em;min-width:3.2em;text-align:center}
.lv-vs{color:var(--lv-muted);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.8em}
.lv-pen{text-align:center;color:var(--lv-muted);font-size:.75em;margin-top:.2em}
.lv-table{width:100%;border-collapse:collapse;font-size:1.05em}
.lv-table th{font:700 .62em var(--body);text-transform:uppercase;letter-spacing:.14em;color:var(--lv-muted);text-align:left;padding:.3em .4em}
.lv-table td{padding:.42em .4em;border-top:.08em solid var(--lv-line);font-weight:700}
.lv-table td.led{color:var(--led);font-size:1.15em;width:2em}
.lv-table tr:first-child td{border-top:.12em solid var(--blue)}
.lv-table td:nth-child(3),.lv-table td:nth-child(4),.lv-table th:nth-child(3),.lv-table th:nth-child(4){text-align:center}
.lv-final{list-style:none;margin:0;padding:0;display:grid;gap:.45em}
.lv-final li{display:flex;align-items:center;gap:.6em;font:800 1.4em var(--display);text-transform:uppercase;background:var(--lv-card);padding:.3em .6em;border:.1em solid var(--lv-line)}
.lv-final li .led{color:var(--led);width:1.4em;text-align:center}
.lv-final li.p1{font-size:2.1em;border-color:var(--led);box-shadow:0 0 .6em color-mix(in srgb,var(--led) 35%,transparent)}
.lv-final li.p2,.lv-final li.p3{font-size:1.7em}
.lv-upcoming{list-style:none;margin:0;padding:0;display:grid;gap:.35em}
.lv-upcoming li{display:flex;gap:.7em;align-items:baseline;font-weight:700;padding:.3em 0;border-top:.08em solid var(--lv-line)}
.lv-upcoming .led{color:var(--led);font-size:.95em}
.lv-empty{display:grid;place-content:center;text-align:center;gap:.6em}
.lv-empty .led{font-size:4em;color:var(--led)}
.lv-empty p{color:var(--lv-muted)}
.lv-foot{display:grid;grid-template-columns:1fr auto;align-items:center;background:#000;border-top:.12em solid var(--blue)}
.lv-ticker{overflow:hidden;white-space:nowrap;padding:.55em 0}
.lv-track{display:inline-flex;gap:3em;padding-left:2em}
.lv-track span{font-weight:700}
.lv-track b{color:var(--lv-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.8em;margin-right:.3em}
.lv-track em{font-style:normal;color:var(--led);margin:0 .3em}
.lv-dots{display:flex;gap:.4em;padding:0 1.2em}
.lv-dots i{width:.55em;height:.55em;background:var(--lv-line)}
.lv-dots i.on{background:var(--led)}
.lv-fs{position:fixed;right:1em;bottom:3.4em;opacity:.6}
.lv-fs:hover{opacity:1}
.lv-game.done .lv-score{color:#fff}
@media (prefers-reduced-motion:no-preference){
  .lv-track.run{animation:ticker 40s linear infinite}
  @keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .lv-main{animation:lvin .5s ease-out}
  @keyframes lvin{from{opacity:.4}to{opacity:1}}
}
@media (max-aspect-ratio:4/3){.lv-main{grid-template-columns:1fr}.lv-side{display:none}}
/* Feinschliff: Ticker einzeilig, nächste Spiele kompakt, Bedienelemente bei Stillstand ausblenden */
.lv-track span{white-space:nowrap}
.lv-team{font-size:1.35em}
.lv-score{font-size:1.9em}
.lv-list.next{gap:.35em}
.lv-list.next .lv-game{padding:.3em .8em}
.lv-list.next .lv-meta{display:none}
.lv-list.next .lv-score{font-size:1.4em}
.lv-list.next .lv-team{font-size:1.15em}
body.live.idle{cursor:none}
body.live.idle .lv-fs{opacity:0;pointer-events:none}
.lv-fs{transition:opacity .4s}
/* .led ist im Haupt-CSS ein Block; im Beamer inline bzw. als Tabellenzelle */
.live .lv-track em.led,.live .lv-upcoming .led,.live .lv-final .led{display:inline-block}
.live .lv-table td.led{display:table-cell}
