.tv[data-fx] .slide{transition:none}.tv[data-fx] .slide.is-on{z-index:2}.tv[data-fx] .slide.was-on{opacity:1;z-index:1}.tv[data-fx=print] .slide{--plate:var(--pink);--off:.4}.tv[data-fx=print] :is(h2,li>span){--off:.15}.tv[data-fx=print] .slide.headliner{--plate:#0a6cc0}.tv[data-fx=print] .slide.is-on{animation:.7s cubic-bezier(.6,0,.3,1) fx-pull-in}.tv[data-fx=print] .slide.was-on{animation:.7s cubic-bezier(.6,0,.3,1) forwards fx-pull-out}@keyframes fx-pull-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes fx-pull-out{0%{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}.tv[data-fx=print] .slide.is-on:before{content:"";z-index:5;pointer-events:none;background:linear-gradient(90deg, transparent calc(100% - 1.8vw), var(--plate) calc(100% - 1.8vw) calc(100% - .7vw), #f3ede1 calc(100% - .7vw));animation:.7s cubic-bezier(.6,0,.3,1) both fx-blade;position:absolute;inset:0}@keyframes fx-blade{0%{transform:translate(-100%)}92%{opacity:1}to{opacity:0;transform:translate(0)}}.tv[data-fx=print] .slide.is-on :is(h2,.hosts,.time,.where,.going,.dow,.mon,li>span,.qr span,.ev-kicker){animation:1.3s ease-out backwards fx-plate;animation-delay:calc(.2s + var(--i,0) * 70ms)}@keyframes fx-plate{0%{color:#0000;text-shadow:calc(var(--off) * 1em) calc(var(--off) * .4em) 0 var(--plate)}45%{color:#0000;text-shadow:calc(var(--off) * .1em) calc(var(--off) * .05em) 0 var(--plate)}70%{text-shadow:calc(var(--off) * -.15em) calc(var(--off) * -.08em) 0 var(--plate)}to{text-shadow:0 0 #0000}}.tv[data-fx=print] .slide.is-on .misprint{animation:1.2s ease-out .2s backwards fx-ink}@keyframes fx-ink{0%,45%{color:#0000}}.tv[data-fx=print] .slide.is-on .misprint:before{animation:1.2s cubic-bezier(.2,.8,.2,1) .2s backwards fx-register,5s ease-in-out 1.4s infinite alternate fx-creep}.tv[data-fx=print] .tv-logo:before{animation:7s ease-in-out infinite alternate fx-creep}@keyframes fx-register{0%{transform:translate(-.3em,.1em)}55%{transform:translate(-.01em)}to{transform:translate(.035em,.025em)}}@keyframes fx-creep{0%{transform:translate(.035em,.025em)}to{transform:translate(.07em,-.01em)}}.tv[data-fx=print] .slide:after{content:"";z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(circle, var(--plate) 1.3px, transparent 2px) 0 0 / 9px 9px;position:absolute;inset:0;-webkit-mask:linear-gradient(200deg,#000,#0000 55%);mask:linear-gradient(200deg,#000,#0000 55%)}.tv[data-fx=print] .slide.is-on:after{animation:2.6s ease-out .3s forwards fx-dry}@keyframes fx-dry{0%{opacity:0}15%{opacity:.45}to{opacity:.1}}html:has(.tv){cursor:none;background:#141217}.tv{--bg:#1d1c22;--ink:#ece6da;--soft:#bdb6aa;--pink:#e0609f;--blue:#93c2ff;--misprint:#c04f87;background:var(--bg);color:var(--ink);font-family:var(--sans);grid-template-rows:auto 1fr auto;padding:3vh 4vw 2vh;animation:600s ease-in-out infinite alternate tv-drift;display:grid;position:fixed;inset:0;overflow:hidden}@keyframes tv-drift{0%{translate:-6px -4px}to{translate:6px 4px}}.tv .misprint:before{color:var(--misprint);mix-blend-mode:normal}.tv-top{border-bottom:3px solid #5d5966;align-items:baseline;gap:2vw;padding-bottom:1.2vh;display:flex}.tv-logo{font:900 5vh/.9 var(--display);text-transform:uppercase;color:var(--blue)}.tv-site{font:700 2.2vh/1 var(--mono);color:var(--soft)}.tv-clock{font:700 3vh/1 var(--mono);margin-left:auto}.tv-stage{min-height:0;position:relative}.slide{opacity:0;transition:opacity .8s;display:flex;position:absolute;inset:0}.slide.is-on{opacity:1}.overview{flex-direction:column;gap:2vh;padding-top:3vh}.overview-head{justify-content:space-between;align-items:flex-start;gap:3vw;display:flex}.site-qr .qr-code svg{width:13vh;height:13vh}.overview h1{font:900 9vh/.85 var(--display);text-transform:uppercase;color:var(--ink);margin:0}.tv-empty{font:600 3.4vh/1.3 var(--sans);color:var(--soft);margin:0}.overview ol{gap:1.4vh;margin:0;padding:0;list-style:none;display:grid}.overview li{border-bottom:2px dashed #5d5966;grid-template-columns:14vw 14vw 1fr auto;align-items:baseline;gap:2vw;padding-bottom:1.2vh;font-size:3.2vh;display:grid}.overview li.headliner .row-title{color:var(--pink)}.overview .row-date{font:700 2.8vh/1 var(--mono)}.overview .row-date b{color:var(--blue)}.overview .row-date span{white-space:nowrap}.overview .row-group{font:900 3.4vh/1 var(--display);text-transform:uppercase;color:var(--pink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overview .row-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.overview .row-time{font:600 2.6vh/1 var(--mono);color:var(--soft)}.poster-slide{align-items:center;gap:4vw;padding:3vh 0}.poster-slide.headliner{background:var(--pink);color:#1d1b2b;margin:2vh -4vw;padding:3vh 4vw}.date-block{flex-direction:column;align-items:center;gap:1.6vh;min-width:16vw;display:flex}.date-block .dow,.date-block .mon{font:900 6vh/1 var(--display);text-transform:uppercase}.date-block .num{font:900 30vh/.8 var(--display);color:var(--blue)}.poster-slide.headliner .date-block .num{color:#1d1b2b}.poster-slide.headliner .date-block .num:before{color:#0a6cc0}.date-block .when-tag{font:400 3.6vh/1 var(--marker);background:var(--pink);color:#1d1b2b;margin-top:2vh;padding:.6vh 1vw .2vh;transform:rotate(-3deg)}.poster-slide.headliner .when-tag{color:var(--pink);background:#1d1b2b}.info{flex:1;min-width:0}.info .hosts{font:900 6vh/.95 var(--display);text-transform:uppercase;color:var(--pink);margin:0 0 1vh}.poster-slide.headliner .info .hosts{color:#1d1b2b}.info h2{font:700 6.4vh/1.08 var(--sans);text-wrap:balance;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 2.5vh;display:-webkit-box;overflow:hidden}.info .time{font:700 4vh/1.2 var(--mono);margin:0}.info .where{font:500 3vh/1.3 var(--mono);color:var(--soft);margin:.6vh 0 0}.poster-slide.headliner .info .where{color:inherit}.info .going{font:600 3vh/1 var(--mono);margin:2.5vh 0 0}.info .going b{font:900 6vh/1 var(--display);vertical-align:-.6vh;margin-right:.6vw}.tv-side{flex-direction:column;align-items:center;gap:3vh;width:28vw;display:flex}.tv-side .tv-photo{object-fit:contain;border:3px solid var(--ink);background:#000;width:100%;max-height:38vh;transform:rotate(-1deg)}.qr{color:#1d1b2b;background:#f3ede1;flex-direction:column;align-items:center;gap:1vh;padding:1.6vh;display:flex}.qr-code svg{width:20vh;height:20vh;display:block}.qr span{font:900 2.6vh/1 var(--display);text-transform:uppercase}.ev-slide{align-items:center;gap:4vw;padding:3vh 0}.ev-slide .qr-code{width:22vh;height:22vh}.ev-slide .qr-code svg{width:100%;height:100%}.ev-slide .qr-big .qr-code{width:34vh;height:34vh}.ev-slide .qr-big span{text-align:center;max-width:34vh;font-size:3vh;line-height:1.1}.ev-slide .site-qr .qr-code{width:13vh;height:13vh}.ev-kicker{font:700 2.8vh/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--blue);margin:0 0 2vh}.ev-kicker:before{content:"";vertical-align:middle;background:var(--pink);width:4vw;height:.6vh;margin-right:1vw;display:inline-block}.ev-title{font:900 11vh/.85 var(--display);text-transform:uppercase;margin:0}.ev-huge{font:900 17vh/.82 var(--display);text-transform:uppercase;color:var(--ink);margin:0 0 3vh}.ev-event .date-block .num{font-size:34vh}.ev-stamp{font:400 4.4vh/1.05 var(--marker);text-align:center;background:var(--pink);color:#1d1b2b;max-width:18vw;margin-top:2vh;padding:1vh 1.2vw .6vh;transform:rotate(-3deg)}.ev-stamp:empty{display:none}.ev-stamp.live{background:var(--blue)}.ev-event .info .hosts{font-size:7vh}.ev-event .info h2{font-size:7.4vh}.ev-event .info.has-lineup h2{-webkit-line-clamp:4;margin-bottom:1.6vh;font-size:5.6vh}.ev-event .info .time{font-size:4.4vh}.ev-lineup{border-top:3px solid #5d5966;grid-template-columns:auto 1fr;gap:1.4vh 1.6vw;margin:3vh 0 0;padding:2vh 0 0;list-style:none;display:grid}.ev-lineup li{grid-template-columns:subgrid;grid-column:1/-1;align-items:baseline;display:grid}.ev-lineup .lt-time{font:700 3vh/1 var(--mono);color:var(--blue)}.ev-lineup .lt-title{font:600 3.4vh/1.2 var(--sans);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ev-event .tv-side{width:auto;min-width:26vh;max-width:30vw}.ev-event .tv-side .qr-code{width:26vh;height:26vh}.ev-event .tv-side .tv-photo{max-height:30vh}.ev-slide>.qr{flex:none;align-self:center}.ev-closing,.ev-gone{justify-content:space-between}.ev-closing-text{flex:1;min-width:0}.ev-closing-text .hosts{font:900 5vh/1 var(--display);text-transform:uppercase;color:var(--pink);margin:0 0 1vh}.ev-closing-text .where{font:600 3.6vh/1.3 var(--sans);color:var(--soft);margin:0}.ev-gone .ev-title{text-wrap:balance;margin-bottom:3vh;font-size:9vh}.ev-next-all{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:3vh;padding-top:3vh}.ev-head{justify-content:space-between;align-items:flex-start;gap:3vw;display:flex}.ev-next-all .ev-title{font-size:9vh}.ev-next{gap:1.6vh;margin:0;padding:0;list-style:none;display:grid}.ev-next li{border-bottom:2px dashed #5d5966;grid-template-columns:15vw 16vw 1fr;align-items:baseline;gap:2vw;padding-bottom:1.4vh;display:grid}.ev-next .row-date{font:700 3.2vh/1 var(--mono);color:var(--blue)}.ev-next .row-group{font:900 4vh/1 var(--display);text-transform:uppercase;color:var(--pink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ev-next .row-title{font:600 3.6vh/1.15 var(--sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ev-next-group .ev-head{flex-direction:column;flex:1;align-items:stretch;gap:0;min-width:0}.ev-next-group .ev-head>.ev-closing-text{margin-top:2vh}.ev-next-group .ev-kicker{font-size:4vh}.ev-poster{align-items:center;gap:4vw;display:flex}.ev-poster .date-block .num{font-size:30vh}.ev-next-group .info h2{font-size:7.4vh}.tv-progress{background:#2c2a33;height:6px;margin-top:1.4vh}.tv-progress span{background:var(--pink);width:0;height:100%;display:block}.tv-progress span.run{animation:linear forwards tv-bar}@keyframes tv-bar{to{width:100%}}@media (orientation:portrait){.tv{padding:2vh 5vw 1.6vh}.tv-top{flex-wrap:wrap;row-gap:1vh}.tv-logo{font-size:6vw}.tv-site{font-size:2.6vw}.tv-clock{margin-left:auto;font-size:3.4vw}.tv-logo:before{transform:translate(.06em,.04em)}.overview{gap:2vh;overflow:hidden}.site-qr .qr-code,.ev-slide .site-qr .qr-code,.site-qr .qr-code svg{width:22vw;height:22vw}.overview h1{font-size:10vw}.tv-empty{font-size:4.4vw}.overview ol{gap:1.2vh}.overview li{grid-template-columns:auto minmax(0,1fr) auto;gap:.6vh 3vw;padding-bottom:1vh;font-size:3.6vw}.overview .row-date{font-size:3.2vw}.overview .row-group{font-size:3.6vw}.overview .row-time{text-align:right;font-size:3.2vw}.overview .row-title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:2/1/auto/-1;line-height:1.15;display:-webkit-box}.poster-slide{flex-direction:column;justify-content:center;align-items:stretch;gap:3vh}.poster-slide.headliner{margin:1.5vh -5vw;padding:3vh 5vw}.date-block{flex-flow:wrap;align-items:center;gap:1vh 4vw;min-width:0}.date-block .dow,.date-block .mon{font-size:9vw}.date-block .num{font-size:26vw}.date-block .when-tag{margin:0;padding:.6vh 2vw .2vh;font-size:5vw}.info{flex:none}.info .hosts{font-size:8vw}.info h2{-webkit-line-clamp:4;font-size:8vw}.info .time{font-size:5vw}.info .where,.info .going{font-size:3.8vw}.info .going b{margin-right:1.5vw;font-size:7vw}.tv-side{flex-direction:row;justify-content:center;align-items:center;gap:5vw;width:auto}.tv-side .tv-photo{width:auto;max-width:52vw;max-height:26vh}.qr{padding:2vw}.qr-code svg{width:30vw;height:30vw}.qr span{font-size:3.6vw}.ev-slide,.ev-poster{flex-direction:column;justify-content:center;align-items:stretch;gap:3vh}.ev-slide .qr{align-self:center}.ev-slide .qr-code,.ev-slide .qr-big .qr-code,.ev-event .tv-side .qr-code{width:30vw;height:30vw}.ev-event .tv-side{max-width:none}.ev-event .date-block .num,.ev-poster .date-block .num{font-size:26vw}.ev-stamp{max-width:none;margin:0;font-size:5vw}.ev-event .info .hosts{font-size:8vw}.ev-event .info h2,.ev-next-group .info h2,.ev-event .info.has-lineup h2{font-size:7vw}.ev-lineup li{grid-template-columns:14vw 1fr}.ev-lineup .lt-time,.ev-lineup .lt-title{font-size:3.6vw}.ev-title,.ev-next-all .ev-title,.ev-gone .ev-title{text-wrap:balance;font-size:10vw}.ev-huge{font-size:14vw}.ev-next li{grid-template-columns:auto minmax(0,1fr);gap:.6vh 3vw}.ev-next .row-date,.ev-next .row-group{font-size:3.6vw}.ev-next .row-title{white-space:normal;grid-column:1/-1;font-size:4vw}}@media (prefers-reduced-motion:reduce){.tv{animation:none}.slide{transition:none}}
