:root{--page:min(1800px, calc(100vw - 32px));--now-min:340px;--bezel:16px}body[data-size=standard]{--w:min(960px, calc(var(--page) - var(--now-min) - 20px - 2 * var(--bezel)), calc(70vh * 4 / 3))}body[data-size=large]{--w:min(1440px, calc(var(--page) - var(--now-min) - 20px - 2 * var(--bezel)), calc((100vh - 210px) * 4 / 3))}header,.stage,.guide{width:var(--page)}.stage{grid-template-columns:calc(var(--w) + 2 * var(--bezel)) minmax(0, 1fr);align-items:start;gap:20px;display:grid}@media (width<=1100px){body[data-size]{--w:min(960px, calc(var(--page) - 2 * var(--bezel)), calc(70vh * 4 / 3))}.stage{grid-template-columns:1fr;justify-items:center}.now{width:100%}}.player{width:var(--w);margin-inline:var(--bezel);flex-direction:column;gap:26px;display:flex;position:relative}.tv{aspect-ratio:4/3;isolation:isolate;background:#000;border-radius:34px/28px;width:100%;position:relative;overflow:hidden;box-shadow:0 0 0 3px #050505,0 0 0 14px #1c1c1f,0 0 0 15px #3a3a40,0 0 0 16px #0a0a0c,0 24px 70px #000000b3,0 0 120px #7896ff0f}.tv video,.tv canvas,.tv .testcard{width:100%;height:100%;position:absolute;inset:0}.tv video.standby{visibility:hidden}.tv video{object-fit:contain;filter:contrast(1.12)saturate(1.2)brightness(1.06)blur(.35px)}.tv canvas{image-rendering:pixelated;display:none}.tv.snow canvas{display:block}.crt{pointer-events:none;z-index:5;border-radius:inherit;background:repeating-linear-gradient(#0000004d 0 1px,#0000 2px 3px),repeating-linear-gradient(90deg,#ff28280d 0 1px,#28ff280a 1px 2px,#2850ff0f 2px 3px),radial-gradient(#0000 58%,#00000059 80%,#000c 100%);animation:.12s steps(2,end) infinite flicker,40ms steps(2,end) infinite interlace;position:absolute;inset:0;box-shadow:inset 0 0 40px 8px #000000bf,inset 0 0 4px 2px #000000e6}.crt:before{content:"";border-radius:inherit;background:radial-gradient(70% 45% at 28% 18%,#ffffff12,#0000 70%),linear-gradient(160deg,#ffffff0a,#0000 40%);position:absolute;inset:0}.crt:after{content:"";background:linear-gradient(#0000,#ffffff0d,#0000);height:30%;animation:7s linear infinite roll;position:absolute;inset:0}.grain{z-index:4;pointer-events:none;opacity:.07;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.5s steps(5,end) infinite grain;position:absolute;inset:-50%}@keyframes flicker{0%{opacity:.93}to{opacity:1}}@keyframes interlace{0%{background-position:0 0,0 0,0 0}to{background-position:0 1px,0 0,0 0}}@keyframes roll{0%{transform:translateY(-100%)}to{transform:translateY(400%)}}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-7%,4%)}40%{transform:translate(5%,-6%)}60%{transform:translate(-3%,8%)}80%{transform:translate(8%,2%)}}.power{z-index:8;pointer-events:none;background:#000;display:none;position:absolute;inset:0}.power:after{content:"";background:#fff;height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0;box-shadow:0 0 18px 6px #c8dcffcc}.tv.powering .power{animation:.7s ease-out forwards power-bg;display:block}.tv.powering .power:after{animation:.7s ease-out forwards power-line}@keyframes power-bg{0%,55%{opacity:1}to{opacity:0}}@keyframes power-line{0%{transform:scaleX(0)}30%{transform:scale(1)}60%{opacity:.9;transform:scaleY(200)}to{opacity:0;transform:scaleY(300)}}.zap{z-index:8;pointer-events:none;background:#000;display:none;position:absolute;inset:0}.zap:after{content:"";background:#dce6ffd9;height:2px;margin-top:-1px;position:absolute;top:50%;left:8%;right:8%;box-shadow:0 0 10px 3px #c8dcff80}.tv.zapping .zap{animation:.28s ease-out forwards zap-bg;display:block}.tv.zapping .zap:after{animation:.28s ease-out forwards zap-line}@keyframes zap-bg{0%,35%{opacity:1}to{opacity:0}}@keyframes zap-line{0%{opacity:1;transform:scale(1)}60%{opacity:.6;transform:scaleX(.2)}to{opacity:0;transform:scaleX(0)}}.tv.settle video{animation:.45s ease-out settle}@keyframes settle{0%{filter:brightness(1.8)contrast(.7)blur(1px);transform:translateY(-6%)skew(4deg)}40%{transform:translateY(2%)skew(-1.5deg)}to{transform:none}}.caption{z-index:6;text-align:center;letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 0 12px #000000e6,2px 2px #0009;pointer-events:none;opacity:0;font:800 clamp(22px,4.6vw,52px)/1 Inter,Arial,sans-serif;transition:opacity .5s;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.caption.show{opacity:1}.nextup{z-index:6;pointer-events:none;align-items:stretch;max-width:70%;font:600 clamp(13px,2vw,22px)/1.2 Inter,Arial,sans-serif;transition:transform .6s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;bottom:9%;left:6%;transform:translate(-120%)}.nextup.show{transform:none}.nextup b{background:var(--tt-yellow);color:#000;letter-spacing:.08em;padding:.45em .7em}.nextup span{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#0a0a1ed9;padding:.45em .8em;overflow:hidden}.testcard{z-index:3;background:#000;display:none}.tv.testcard-on .testcard{flex-direction:column;display:flex}.bars{flex:1;grid-template-columns:repeat(8,1fr);display:grid}.bars i:first-child{background:silver}.bars i:nth-child(2){background:#c0c000}.bars i:nth-child(3){background:#00c0c0}.bars i:nth-child(4){background:#00c000}.bars i:nth-child(5){background:#c000c0}.bars i:nth-child(6){background:#c00000}.bars i:nth-child(7){background:#0000c0}.bars i:nth-child(8){background:#101010}.testcard p{text-align:center;color:#fff;background:#000;margin:0;padding:4% 0;font-family:VT323,monospace;font-size:clamp(18px,4vw,40px)}.osd{z-index:6;color:#7cfc00;text-shadow:2px 0 #ff000080,-2px 0 #0000ff80;pointer-events:none;font-family:VT323,monospace;font-size:clamp(20px,3.5vw,36px);transition:opacity .4s;position:absolute;top:4%;left:4%}.osd.hide{opacity:0}.tunein{z-index:7;cursor:pointer;color:#fff;background:#0000008c;flex-direction:column;justify-content:center;align-items:center;font-family:VT323,monospace;display:flex;position:absolute;inset:0}.tunein b{color:var(--tt-yellow);font-size:clamp(32px,7vw,72px)}.tunein small{color:#ccc;font-size:clamp(16px,2.5vw,24px)}.tunein.hidden{display:none}.vol{z-index:6;pointer-events:none;gap:3px;height:clamp(10px,2vw,18px);transition:opacity .4s;display:flex;position:absolute;bottom:6%;left:4%;right:4%}.vol i{opacity:.18;background:#7cfc00;flex:1}.vol i.on{opacity:1}.vol.hide{opacity:0}.controls{background:#000;border-radius:4px;align-items:center;gap:10px;padding:6px 10px;font-family:VT323,monospace;transition:opacity .3s;display:flex;box-shadow:0 0 0 2px #111,0 0 0 3px #222}.controls button{color:#fff;letter-spacing:1px;cursor:pointer;background:#0000d0;border:none;border-radius:0;align-items:center;gap:6px;padding:4px 12px;font:22px/1 VT323,monospace;display:inline-flex}.controls button:hover{color:#f0f000}.controls button:focus-visible{outline-offset:2px;outline:3px solid #f0f000}.controls button[aria-pressed=true]{color:#000;background:#f0f000}.controls svg{fill:currentColor;width:20px;height:20px}.controls .icon{color:#00e0e0;background:0 0;padding:2px}.controls input[type=range]{appearance:none;cursor:pointer;background:repeating-linear-gradient(90deg, #20e020 0 8px, transparent 8px 11px) 0 0 / var(--fill,80%) 100% no-repeat, repeating-linear-gradient(90deg, #063 0 8px, transparent 8px 11px);width:140px;height:14px}.controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:none;border-radius:0;width:8px;height:20px}.controls input[type=range]::-moz-range-thumb{background:#fff;border:none;border-radius:0;width:8px;height:20px}.controls .pct{color:#20e020;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;flex:0 0 4ch;width:4ch;min-width:0;font-size:22px}.vol-ctl,.chan-ctl{align-items:center;gap:6px;display:flex}.controls .vol-ctl button{background:#0000d0}.controls .chan-ctl button{background:#e00000}.controls .spacer{flex:1}.sizes{gap:6px;display:flex}:is(.player:fullscreen,.player.fill){background:#000;justify-content:center;align-items:center;width:100vw;height:100vh}.player.fill{z-index:100;position:fixed;inset:0}body:has(.player.fill){overflow:hidden}:is(.player:fullscreen .tv,.player.fill .tv){width:min(100vw,133.333vh);box-shadow:none;border-radius:0}:is(.player:fullscreen .controls,.player.fill .controls){z-index:10;background:#16161fe6;width:min(720px,100vw - 32px);position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.player.idle .controls{opacity:0;pointer-events:none}.player.idle{cursor:none}.now>:not(.ttbar),.guide>:not(.ttbar){margin-left:14px;margin-right:14px}.head{color:var(--tt-cyan);align-items:center;gap:10px;margin-top:10px;font-size:20px;display:flex}.head .spacer{flex:1}.tag{background:var(--tt-red);color:#fff;flex:none;padding:0 8px;font-size:20px}.tag.next{background:var(--tt-blue);color:var(--tt-yellow)}.now a,.pick a{color:var(--tt-green)}.ptitle{color:#fff;letter-spacing:.5px;margin:8px 0 2px;font-size:34px;line-height:1.05}.ep{color:var(--tt-yellow);margin-top:2px;font-size:22px}.ep:empty,.sum:empty{display:none}.sum{color:var(--tt-cyan);max-width:70ch;margin:8px 0 0;font-size:21px;line-height:1.15}.sum small{color:var(--tt-green);font-size:18px}.sum a{color:var(--tt-green)}#tapeInfo{color:var(--tt-green);border-top:2px dotted #333;margin-top:12px;padding-top:8px;font-size:20px}#tapeInfo summary{cursor:pointer}#tapeInfo summary b{color:#fff;font-weight:400}.desc{white-space:pre-wrap;color:#fff;max-height:280px;margin-top:8px;font-size:19px;line-height:1.15;overflow:auto}.pick{border:2px solid var(--tt-blue);background:#000;margin-top:14px;padding:0 12px 12px}.pick[hidden]{display:none}.pick ul{padding-left:2ch}.guide h2{color:var(--tt-yellow);background:var(--tt-blue);letter-spacing:1px;margin:10px 0;padding:2px 10px;font-size:26px;font-weight:400}.scale,.lane{position:relative}.scale{height:24px;color:var(--tt-cyan);font-size:20px}.scale span{white-space:nowrap;position:absolute;transform:translate(-50%)}.scale span:first-child{transform:none}.lane{background:#000;height:56px;overflow:hidden}.grow{grid-template-columns:3ch 1fr;gap:6px;margin-bottom:3px;display:grid}.grow .ch{color:#fff;cursor:pointer;background:#0000a8;justify-content:center;align-items:center;font-size:26px;display:flex}.grow.on .ch{background:var(--tt-yellow);color:#000}.grow.on .lane{box-shadow:inset 0 0 0 2px var(--tt-yellow)}#lanes .prog .t{-webkit-line-clamp:1}#lanes .prog .s{white-space:nowrap}.lane .empty{color:#555;align-items:center;padding-left:8px;font-size:19px;display:flex;position:absolute;inset:0}.prog{background:var(--tt-blue);cursor:pointer;color:#fff;border-right:3px solid #000;padding:4px 8px;font-size:19px;line-height:1.05;position:absolute;top:0;bottom:0;overflow:hidden}.prog:hover,.prog.sel{outline:3px solid var(--tt-yellow);outline-offset:-3px;z-index:1}.prog:nth-child(2n){background:#0000a8}.prog.short{background:var(--tt-magenta)}.prog .t{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.prog .s{color:var(--tt-yellow)}.ticks{pointer-events:none;position:absolute;inset:0}.ticks i{border-left:2px dotted #ffffff2e;position:absolute;top:0;bottom:0}.nowline{background:var(--tt-red);z-index:2;width:3px;box-shadow:0 0 8px var(--tt-red);position:absolute;top:0;bottom:0;left:0}@media (width<=600px){.lane{height:60px}.controls{flex-wrap:wrap}.controls input[type=range]{flex:1;width:auto}.controls .spacer{display:none}.sizes{flex-basis:100%}.vol-ctl,.chan-ctl{flex:40%}.vol-ctl button,.chan-ctl button,.sizes button{flex:1;justify-content:center}}.timeline{color:var(--tt-cyan);align-items:center;gap:1ch;margin-top:10px;font-size:20px;display:flex}.timeline .bar{background:repeating-linear-gradient(90deg,#003060 0 10px,#0000 10px 13px);flex:1;height:14px}.timeline .bar i{background:repeating-linear-gradient(90deg, var(--tt-yellow) 0 10px, transparent 10px 13px);width:0;height:100%;transition:width 1s linear;display:block}.tl-left{color:var(--tt-green);text-align:right;font-size:18px}.now .ttbar,.guide .ttbar{font-size:26px}.now .head,.now .tag,.timeline{font-size:24px}.tl-left{font-size:20px}.scale{height:30px;font-size:24px}.prog .s{font-size:21px}:is(.player:fullscreen,.player.fill){margin:0}
