*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#000;color:#fff;cursor:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body{display:grid;place-items:center}
.tv-root{container-type:size;position:relative;width:100vw;height:100vh;overflow:hidden;background:#050505;transform-origin:center;transition:transform .4s ease}
body[data-rotation="90"] .tv-root,body[data-rotation="-90"] .tv-root{position:absolute;left:50%;top:50%;width:100vh;height:100vw}
body[data-rotation="90"] .tv-root{transform:translate(-50%,-50%) rotate(90deg)}
body[data-rotation="-90"] .tv-root{transform:translate(-50%,-50%) rotate(-90deg)}
.scene{position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;transition:opacity .7s cubic-bezier(.4,0,.2,1);background:#050505;will-change:opacity}
.scene.preparing{z-index:3;opacity:0}
.scene.active{z-index:3;opacity:1}
.scene.leaving{z-index:2;opacity:0}
.schedule-stage{position:relative;width:100%;height:100%}
.schedule-page{position:absolute;inset:clamp(14px,2.4cqmin,36px);display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s linear .45s;will-change:opacity}
.schedule-page.active{opacity:1;visibility:visible;transition-delay:0s}
.top{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:1fr;align-items:center;column-gap:clamp(5px,1cqmin,16px);flex:0 0 auto;min-height:clamp(50px,8cqmin,86px);margin-bottom:clamp(6px,1cqmin,14px)}
.title,.clock{font-family:"Arial Narrow","Roboto Condensed","Impact",sans-serif;font-weight:800;white-space:nowrap}
.title{grid-column:1;grid-row:1;min-width:0;font-size:clamp(15px,3.3cqmin,46px);display:flex;align-items:center;gap:clamp(4px,.8cqmin,11px)}
.page-number{font:inherit;color:#888}
.clock{position:absolute;left:60%;top:50%;transform:translate(-50%,-50%);font-size:clamp(15px,3.2cqmin,44px);display:flex;align-items:center;gap:clamp(4px,.7cqmin,10px)}
.clock-time{color:#888}
.sep{font-family:Arial,sans-serif;font-size:.55em;color:#e00000}
.logo{grid-column:3;grid-row:1;justify-self:end;position:relative;width:clamp(100px,20cqmin,250px);height:clamp(34px,6.6cqmin,82px);overflow:hidden}
.logo img{position:absolute;left:50%;top:50%;width:118%;height:auto;display:block;transform:translate(-50%,-50%)}
table{width:100%;height:auto;flex:1 1 auto;min-height:0;border-collapse:collapse;table-layout:fixed}
th,td{border:1px solid #565656;text-align:center;vertical-align:middle}
thead{height:7.142857%}
tbody{height:92.857143%}
tbody tr{height:7.692307%}
.section-ems tbody tr{height:8.333333%}
.section-ems-week .title{font-size:clamp(14px,2.8cqmin,38px)}
.section-ems-week th{font-size:clamp(10px,1.65cqmin,22px);line-height:1.05}
.section-ems-week th:first-child{width:13%}
.day-date{display:block;margin-top:clamp(2px,.25cqmin,4px);font-size:.78em;color:rgba(255,255,255,.8)}
.ems-week-cell{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1px,.2cqmin,3px);font-size:clamp(10px,1.6cqmin,22px);font-weight:850;line-height:1.08;white-space:normal;text-transform:uppercase}
.ems-week-cell>div{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ems-week-cell span{color:#aaa}
th{background:#e00000;font-size:clamp(12px,2.05cqmin,27px);font-weight:900;white-space:nowrap}
th:first-child{width:16%}
td{background:#101010;font-size:clamp(12px,2.1cqmin,28px);font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 clamp(2px,.3cqmin,5px)}
tbody tr:nth-child(even)>td{background:#1d1d1d}
.section-training tbody tr:nth-child(4n+1)>td:not(.booking),
.section-training tbody tr:nth-child(4n+2)>td:not(.booking){background:#101010}
.section-training tbody tr:nth-child(4n+3)>td:not(.booking),
.section-training tbody tr:nth-child(4n+4)>td:not(.booking){background:#1d1d1d}
td.time{font-weight:900;font-size:clamp(13px,2.25cqmin,30px)}
tbody tr>td.booking{padding:0;background:#151515}
tbody tr>td.booking.booking-alt{background:#242424}
.card{height:100%;display:flex;align-items:center;justify-content:center;padding:clamp(2px,.45cqmin,7px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}
.scene-message{height:100%;display:grid;place-items:center;color:#777;font-size:clamp(16px,2.8cqmin,38px);font-weight:700;text-align:center;padding:4cqmin}
.video-scene{background:#000}
.video-scene video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;background:#000;opacity:0;visibility:hidden;transform:translateZ(0);backface-visibility:hidden;will-change:transform,opacity}
.video-scene video.active-video{opacity:1;visibility:visible}
.tv-status{position:absolute;z-index:4;right:clamp(6px,1cqmin,16px);bottom:clamp(5px,.8cqmin,12px);font-size:clamp(9px,1.2cqmin,16px);color:#555;pointer-events:none}
@media (prefers-reduced-motion:reduce){.scene{transition:none}}
