:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#182c3a;background:#10191e;--tv-text-scale:1;color-scheme:light}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}#tv-stage{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#10191e}.tv-message{width:100%;height:100%;padding:8vh 8vw;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f6f8f9}.tv-message img{width:min(30vw,280px);margin-bottom:3vh}.tv-message h1{font-size:clamp(28px,3vw,60px);margin:0 0 20px}.tv-message p{font-size:clamp(20px,1.7vw,36px);max-width:900px}.tv-media{display:block;max-width:100vw;max-height:100vh;max-height:100dvh;width:auto;height:auto;object-fit:contain}.tv-week{width:100%;height:100%;display:flex;flex-direction:column;gap:14px;padding:24px 30px 34px;background:#f4f7f9;overflow:hidden}.tv-week-header{display:flex;align-items:center;justify-content:space-between;gap:28px;flex:none}.tv-week-header h1{font-size:clamp(26px,2.1vw,44px);margin:0;font-weight:750}.tv-week-header p{font-size:clamp(16px,1.1vw,25px);margin:3px 0 0;color:#5c6c77}.tv-week-header img{width:clamp(110px,10vw,200px);max-height:70px;object-fit:contain}.tv-week-body{flex:1;min-height:0;overflow:hidden}.tv-week table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:calc(clamp(22px,1.8vw,42px)*var(--tv-text-scale));line-height:1.22}.tv-week th,.tv-week td{border:1px solid #b4c4d0;padding:var(--tv-row-padding,clamp(7px,.5vw,12px)) clamp(10px,.7vw,18px);text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:middle}.tv-week th{background:#f4cf3f;font-size:.72em;color:#172b39;font-weight:750}.tv-week tr:nth-child(odd) td{background:#e3effb}.tv-week tr:nth-child(even) td{background:#fff}.tv-week td:nth-child(odd){font-weight:650}.tv-week th:nth-child(3),.tv-week td:nth-child(3){border-left:4px solid #8a9ead}.tv-week-footer{display:flex;justify-content:space-between;gap:12px;flex:none;font-size:clamp(16px,1vw,24px);color:#536570}.tv-week-footer b{color:#182c3a}.tv-measure{position:fixed;top:0;right:0;bottom:0;left:0;visibility:hidden;pointer-events:none;z-index:-1}.tv-week table.tv-long-row{font-size:calc(clamp(19px,1.5vw,32px)*var(--tv-text-scale))}#tv-controls{position:fixed;top:15px;right:18px;left:auto;z-index:10;padding:10px 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;box-shadow:0 3px 22px #0003;border:1px solid #d7e0e5;border-radius:10px;transition:opacity .2s;opacity:0;pointer-events:none}body.tv-controls-visible #tv-controls{opacity:1;pointer-events:auto}#tv-controls button,#tv-controls select{font-weight:600;font-family:inherit;font-size:16px;border:1px solid #d5dfe5;border-radius:6px;background:#fff;color:#182c3a;padding:9px 13px;cursor:pointer}#tv-controls label{display:flex;align-items:center;gap:6px;font-size:14px}#tv-controls #tv-fullscreen{background:#f4cf3f;border-color:#f4cf3f}button:focus-visible,select:focus-visible{outline:3px solid #987300;outline-offset:2px}#tv-status{position:fixed;bottom:5px;left:12px;right:12px;z-index:9;pointer-events:none;font-size:13px;line-height:1.3;color:#526471;background:#ffffffed;border-radius:5px;padding:4px 9px;width:max-content;max-width:calc(100% - 24px);opacity:0;transition:opacity .2s}body.tv-controls-visible #tv-status,#tv-status.tv-warning{opacity:1}.tv-warning{color:#8c360e!important;background:#fff3de!important}body:not(.tv-controls-visible){cursor:none}@media(max-width:760px){.tv-week{padding:14px 14px 28px;gap:10px}.tv-week-header img{width:90px}.tv-week-header{gap:12px}.tv-week-header h1{font-size:24px}#tv-controls{left:10px;right:10px;top:10px}#tv-controls strong{display:none}.tv-week table{font-size:calc(22px*var(--tv-text-scale))}.tv-week th,.tv-week td{padding:var(--tv-row-padding,7px) 8px}.tv-week-footer{font-size:14px}}

/* Baselines for TV engines that ignore clamp()/min()/dynamic viewport units. */
@supports not (font-size:clamp(20px,2vw,40px)){.tv-week table{font-size:calc(28px * var(--tv-text-scale))}.tv-week-header h1{font-size:32px}.tv-week-header p{font-size:18px}.tv-week-footer{font-size:16px}.tv-week th,.tv-week td{padding:4px 10px}.tv-message h1{font-size:36px}.tv-message p{font-size:24px}.tv-message img{width:240px}.tv-week-header img{width:140px}}
