/* Folien-Renderer: Bühne 1920x1080, wird skaliert. Gilt für TV, Vorschau, Editor und Folien-Übersicht. */
.rhost{position:absolute;inset:0;overflow:hidden;background:#000;color:#fff;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;user-select:none;-webkit-user-select:none}
.rhost *{box-sizing:border-box}
.rhost .stage{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;overflow:visible}
.rbg{position:absolute;inset:0;overflow:hidden}.rbgi{position:absolute;inset:-1px;background-position:center;background-repeat:no-repeat}.rdim{position:absolute;inset:0}
.rbm-zoom{animation:rb-zoom 24s ease-in-out infinite alternate}.rbm-pan{inset:-6%;animation:rb-pan 30s ease-in-out infinite alternate}
@keyframes rb-zoom{from{transform:scale(1)}to{transform:scale(1.12)}}@keyframes rb-pan{from{transform:translate(-3%,-1.5%)}to{transform:translate(3%,1.5%)}}
.re{position:absolute}.rl{width:100%;height:100%;overflow:hidden}
.redit .re,.redit .rl,.rthumb .re,.rthumb .rl,.redit .rbgi,.rthumb .rbgi,.rthumb *{animation:none!important}
.rt{width:100%;height:100%;display:flex;flex-direction:column;white-space:pre-wrap;overflow-wrap:anywhere;overflow:hidden}
.ri{width:100%;height:100%;display:block}.ri-empty{width:100%;height:100%;display:grid;place-items:center;font:600 36px system-ui;color:#fff9;border:4px dashed #fff5}
.rs{width:100%;height:100%}
/* Eingangs-Animationen (Dauer und Verzögerung kommen als Variablen) */
@keyframes rk-fade{from{opacity:0}}@keyframes rk-up{from{opacity:0;transform:translateY(80px)}}@keyframes rk-down{from{opacity:0;transform:translateY(-80px)}}
@keyframes rk-left{from{opacity:0;transform:translateX(-160px)}}@keyframes rk-right{from{opacity:0;transform:translateX(160px)}}@keyframes rk-zoom{from{opacity:0;transform:scale(.55)}}
@keyframes rk-bounce{0%{opacity:0;transform:translateY(-300px)}55%{opacity:1;transform:translateY(30px)}72%{transform:translateY(-16px)}86%{transform:translateY(7px)}100%{transform:none}}
@keyframes rk-flip{from{opacity:0;transform:perspective(900px) rotateX(-90deg)}}
@keyframes rl-pulse{50%{transform:scale(1.06)}}@keyframes rl-float{50%{transform:translateY(-16px)}}@keyframes rl-blink{50%{opacity:.25}}
@keyframes rl-glow{50%{filter:drop-shadow(0 0 22px #ffffffcc) brightness(1.15)}}@keyframes rl-sway{25%{transform:rotate(-2.5deg)}75%{transform:rotate(2.5deg)}}
.rloop-pulse{animation:rl-pulse 2s ease-in-out infinite}.rloop-float{animation:rl-float 3.4s ease-in-out infinite}.rloop-blink{animation:rl-blink 1.4s ease-in-out infinite}.rloop-glow{animation:rl-glow 2.2s ease-in-out infinite}.rloop-sway{animation:rl-sway 3s ease-in-out infinite;transform-origin:50% 100%}
/* Foliewechsel */
.rplayer{position:absolute;inset:0;overflow:hidden;background:#000}.rplayer>.rhost{position:absolute;inset:0}
@keyframes tr-fade-in{from{opacity:0}}@keyframes tr-slide-in{from{transform:translateX(100%)}}@keyframes tr-slide-out{to{transform:translateX(-35%);opacity:.4}}
@keyframes tr-zoom-in{from{opacity:0;transform:scale(1.18)}}@keyframes tr-zoom-out{to{opacity:0;transform:scale(.9)}}@keyframes tr-wipe-in{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.tr-in-fade{animation:tr-fade-in var(--tm,.7s) ease both}.tr-in-slide{animation:tr-slide-in var(--tm,.7s) cubic-bezier(.3,.7,.2,1) both}.tr-out-slide{animation:tr-slide-out var(--tm,.7s) cubic-bezier(.3,.7,.2,1) both}
.tr-in-zoom{animation:tr-zoom-in var(--tm,.7s) ease both}.tr-out-zoom{animation:tr-zoom-out var(--tm,.7s) ease both}.tr-in-wipe{animation:tr-wipe-in var(--tm,.7s) cubic-bezier(.6,0,.2,1) both}
/* Live-Ergebnis */
.wl{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:100%;gap:2%;padding:0 1%}
.wl-t{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25em;text-align:center;min-width:0;overflow:hidden}.wl-t img{width:var(--ls);height:var(--ls);object-fit:contain;border-radius:12%}
.wl-n{font-size:var(--ts);font-weight:var(--tw);color:var(--tc);line-height:1.1;overflow-wrap:anywhere}
.wl-m{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.wl-s{display:flex;align-items:center;gap:.1em;font-size:var(--ss);color:var(--sc);font-weight:800;font-variant-numeric:tabular-nums;padding:0 .14em;border-radius:.14em;font-family:var(--sf)}.wl-s i{font-style:normal;opacity:.55;font-size:.7em}
.wl-c{font-size:var(--cs);color:var(--cc);font-weight:700;font-variant-numeric:tabular-nums;margin-top:.06em}.wl-z{font-size:var(--zs);font-weight:800;letter-spacing:.08em;margin-top:.15em;color:var(--lc)}.wl-z.n{color:var(--rc)}.wl-r{font-size:calc(var(--zs) * .7);color:var(--rc);margin-top:.1em;font-weight:600}
.wl-idle{display:grid;place-items:center;height:100%;font-size:70px;font-weight:700;opacity:.8;text-align:center}
.sn{display:inline-block}.sa-pop{animation:sa-pop .8s cubic-bezier(.2,1.6,.4,1)}.sa-flash{animation:sa-flash 1s ease-out}.sa-shake{animation:sa-shake .7s}
@keyframes sa-pop{0%{transform:scale(2.2);filter:brightness(2)}100%{transform:none}}@keyframes sa-flash{0%,40%{background:#fff;color:#000}100%{}}@keyframes sa-shake{20%,60%{transform:translateX(-14px)}40%,80%{transform:translateX(14px)}}
/* Spielverlauf */
.wt{height:100%;overflow:hidden;font-size:var(--s);color:var(--tx);font-family:var(--ff);display:flex;flex-direction:column;gap:var(--gap);position:relative}
.wt-row{display:grid;grid-template-columns:1fr 2.4em 1fr;align-items:center;min-height:1.7em;position:relative}.wt.list .wt-row{grid-template-columns:2.4em 1fr}
.wt-row>div{padding:.18em .6em;line-height:1.2}.wt-l{text-align:right}.wt-r{text-align:left}
.wt-row .wt-x{background:var(--rb);border-radius:.4em}.wt-c{text-align:center;padding:0!important;position:relative;z-index:1}
.wt:not(.list)::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:var(--line);opacity:.5;transform:translateX(-50%)}
.wt-i{display:inline-grid;place-items:center;width:1.7em;height:1.7em;border-radius:50%;font-size:.85em;background:var(--ic);box-shadow:0 0 0 .18em #0b1220}.wt-i.g{--ic:var(--gc)}.wt-i i{display:block;width:.7em;height:1em;border-radius:.12em}.wt-i.y i{background:var(--yc)}.wt-i.r i{background:var(--rc2)}.wt-i.y,.wt-i.r{background:#0b1220}
.wt-empty{opacity:.55;text-align:center;padding:1em;font-size:.9em}
.wt-new-slide.h{animation:ev-l .7s cubic-bezier(.2,.9,.3,1)}.wt-new-slide.a{animation:ev-r .7s cubic-bezier(.2,.9,.3,1)}.wt-new-fade{animation:rk-fade .9s}.wt-new-pop{animation:sa-pop .8s cubic-bezier(.2,1.6,.4,1)}.wt-new-flash{animation:ev-flash 1.4s}
@keyframes ev-l{from{opacity:0;transform:translateX(-120px)}}@keyframes ev-r{from{opacity:0;transform:translateX(120px)}}@keyframes ev-flash{0%,30%{background:#ffffffaa}}
/* Tabelle, Begegnungen, Torjäger */
.wb{height:100%;display:flex;flex-wrap:wrap;gap:2%;align-content:flex-start;overflow:hidden;font-size:var(--s);color:var(--tx);font-family:var(--ff)}.wb-g{flex:1 1 40%;min-width:0}
.wb-cap{font-weight:700;color:var(--hc);padding:.2em .4em;font-size:.9em;letter-spacing:.04em;text-transform:uppercase}
table.wb-t{width:100%;border-collapse:separate;border-spacing:0 .18em;table-layout:auto}.wb-t th{color:var(--hc);font-weight:600;font-size:.62em;text-align:center;padding:.1em .5em;text-transform:uppercase;border:0}.wb-t th.l{text-align:left}
.wb-t td{background:var(--rb);padding:.28em .5em;text-align:center;border:0;font-variant-numeric:tabular-nums;white-space:nowrap}.wb-t td.tm{text-align:left;width:99%;overflow:hidden;text-overflow:ellipsis;max-width:0}.wb-t td:first-child{border-radius:.35em 0 0 .35em;color:var(--hc);font-weight:700}.wb-t td:last-child{border-radius:0 .35em .35em 0}
.wb-t tr.z td{box-shadow:inset 0 0 0 999px var(--zb)}.wb-t tr.hl td:first-child{box-shadow:inset .3em 0 0 var(--hlc)}.wb-t tr.hl.z td:first-child{box-shadow:inset .3em 0 0 var(--hlc),inset 0 0 0 999px var(--zb)}
.wb-t td.pt{color:var(--pc);font-weight:800}.wb-t img,.wm img,.wsc img.lg{height:1.25em;width:1.25em;object-fit:contain;vertical-align:middle;margin-right:.4em;border-radius:20%}
.wm{height:100%;overflow:hidden;font-size:var(--s);color:var(--tx);font-family:var(--ff);display:flex;flex-direction:column;gap:.18em}.wm-r{display:grid;grid-template-columns:var(--tcol) 1fr auto 1fr auto;align-items:center;gap:.5em;background:var(--rb);border-radius:.35em;padding:.3em .6em}
.wm-r .t{color:var(--mu);font-variant-numeric:tabular-nums}.wm-r .p{color:var(--mu);font-size:.6em;text-transform:uppercase;letter-spacing:.04em;grid-column:1/-1;margin-bottom:-.35em}.wm-r .h{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wm-r .a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wm-r .sc{font-weight:800;min-width:2.8em;text-align:center;font-variant-numeric:tabular-nums}.wm-r .s{font-size:.7em;min-width:3.4em;text-align:right;font-variant-numeric:tabular-nums}
.wm-r.live{color:var(--lc)}.wm-r.done{color:var(--dc)}.wm-pg{position:absolute;right:.6em;bottom:.2em;font-size:.45em;opacity:.55}
.wsc{height:100%;overflow:hidden;font-size:var(--s);color:var(--tx);font-family:var(--ff);display:flex;flex-direction:column;gap:.2em}.wsc-r{display:flex;align-items:center;gap:.6em;background:var(--rb);border-radius:.4em;padding:.25em .6em}
.wsc-r .rk{width:1.4em;text-align:center;color:var(--ac);font-weight:800}.wsc-r .ph{width:1.8em;height:1.8em;border-radius:50%;object-fit:cover;background:#fff2;flex:none}.wsc-r .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wsc-r small{display:block;font-size:.6em;opacity:.7}.wsc-r .g{color:var(--ac);font-weight:800;font-size:1.2em}
.wempty{display:grid;place-items:center;height:100%;opacity:.6;text-align:center;font-size:1.2em;padding:1em}
/* Nachrichten und RSS */
.wn{height:100%;overflow:hidden;font-family:var(--ff);position:relative}.wn.cards{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:2%}.wn.list{display:flex;flex-direction:column;gap:.5em}
.wn-c{background:var(--rb);border-radius:.4em;overflow:hidden;display:flex;flex-direction:column;min-width:0;animation:rk-fade .8s}.wn.list .wn-c{flex-direction:row;align-items:stretch;flex:1}.wn.single .wn-c{flex-direction:row;height:100%;background:var(--rb)}
.wn-i{background-size:cover;background-position:center;flex:none;min-height:30%}.wn.cards .wn-i{height:42%}.wn.list .wn-i{width:22%;min-height:0}.wn.single .wn-i{width:42%}
.wn-b{padding:.7em .9em;min-width:0;flex:1;overflow:hidden;display:flex;flex-direction:column;gap:.35em;justify-content:center}.wn-b h3{margin:0;font-size:var(--tsz);color:var(--tc);line-height:1.12;font-weight:750}.wn-b p{margin:0;font-size:var(--bsz);color:var(--bc);line-height:1.3}.wn-b small{font-size:calc(var(--bsz) * .8);opacity:.65;color:var(--bc)}
.wn-pg{position:absolute;right:.6em;bottom:.3em;font-size:22px;opacity:.5}
.wnote{font-size:.5em;opacity:.6;padding:.4em}
/* Uhr */
.wc{display:flex;flex-direction:column;justify-content:center;height:100%;font-family:var(--ff);line-height:1.05}.wc-t{font-size:var(--s);font-weight:var(--w);color:var(--c);font-variant-numeric:tabular-nums}.wc-l{font-size:var(--ls);color:var(--c);opacity:.85;margin-top:.25em}
/* Ticker */
.tk{display:flex;align-items:stretch;height:100%;overflow:hidden;font-family:var(--ff)}.tk-l{flex:none;display:flex;align-items:center;padding:0 .8em;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--lbg);color:var(--lfg);font-size:var(--s)}
.tk-v{flex:1;overflow:hidden;position:relative;display:flex;align-items:center;background:var(--bg);color:var(--fg);font-size:var(--s)}.tk-track{display:flex;white-space:nowrap;will-change:transform;animation:tk-run var(--dur,30s) linear infinite}.tk-i{padding:0 .1em}.tk-sp{white-space:pre;opacity:.7}.tk-half{display:flex}
@keyframes tk-run{to{transform:translateX(-50%)}}.tk-empty .tk-track{animation:none}
/* Konfetti */
.wcf{width:100%;height:100%;display:block}
/* Siegerpodest */
.wp{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:2.5%;font-family:var(--ff);color:var(--tx);padding:0 2%}
.wp-c{flex:1;max-width:32%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.wp-c.p1{flex:1.25;max-width:38%}
.wp-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.15em;padding-bottom:.4em;min-width:0;max-width:100%}.wp-top img{object-fit:contain;border-radius:12%;max-height:34vh}
.wp-m{font-size:calc(var(--s2) * 1.35);line-height:1}.wp-c.p1 .wp-m{font-size:calc(var(--s1) * 1.1)}.wp-l{font-size:var(--ls);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--col)}.wp-n{font-size:var(--s2);font-weight:800;line-height:1.05;overflow-wrap:anywhere;max-width:100%}.wp-c.p1 .wp-n{font-size:var(--s1);color:var(--col);text-shadow:0 0 .4em color-mix(in srgb,var(--col) 55%,transparent)}
.wp-ped{width:100%;border-radius:.3em .3em 0 0;background:linear-gradient(180deg,var(--col),color-mix(in srgb,var(--col) 55%,#000));display:grid;place-items:start center;font-size:calc(var(--s1) * 1.2);font-weight:900;color:#0006;padding-top:.1em;box-shadow:inset 0 .06em 0 #fff6}.wp-c.p1 .wp-ped{height:46%}.wp-c.p2 .wp-ped{height:32%}.wp-c.p3 .wp-ped{height:23%}
.wp-c.rv{animation:wp-in 1s cubic-bezier(.2,.9,.3,1.1) both;animation-delay:var(--d,0s)}.wp-c.p1.rv{animation-name:wp-win}
@keyframes wp-in{from{opacity:0;transform:translateY(120px) scale(.9)}}@keyframes wp-win{0%{opacity:0;transform:translateY(160px) scale(.6)}60%{opacity:1;transform:translateY(-14px) scale(1.06)}100%{transform:none}}
.wp-empty{margin:auto;font-size:56px;opacity:.6;text-align:center}
/* Vorschau-Fenster */
.roverlay{position:fixed;inset:0;z-index:2147483000;background:#000;display:block}.roverlay .rx{position:absolute;top:14px;right:14px;z-index:5;display:flex;gap:8px;opacity:0;transition:opacity .25s}.roverlay:hover .rx,.roverlay:focus-within .rx{opacity:1}
.roverlay .rx button{background:#000a;color:#fff;border:1px solid #fff4;border-radius:10px;padding:.5rem .8rem;font:600 15px system-ui;cursor:pointer}
