.grid-wrap{border:1px solid var(--line);border-radius:var(--r-xl);background:linear-gradient(#1228488c,#0c1b358c);position:relative;overflow:hidden}.grid-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d9aa4566 transparent;scroll-padding-inline:60px;overflow-x:auto}.grid-scroll.is-drag{cursor:grabbing;-webkit-user-select:none;user-select:none}.grid-scroll.is-drag *{pointer-events:none}@media (hover:hover) and (pointer:fine){.grid-scroll:not(.is-drag){cursor:grab}}.tvgrid{--hw:280px;height:250px;width:calc(var(--hours) * var(--hw));position:relative}.grid-offair{color:var(--ink-2);align-items:center;gap:8px;margin:0 0 12px;font-size:14px;display:flex}.grid-offair:before{content:"";border:1.5px solid var(--muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.grid-offair span{font-family:var(--font-display);letter-spacing:.02em;color:var(--ink);font-weight:700}.ruler{border-bottom:1px solid var(--line);height:44px;position:absolute;inset:0 0 auto}.ruler span{top:13px;left:calc(var(--x) * var(--hw) / 60);font:600 12.5px var(--font-display);color:var(--muted);font-variant-numeric:tabular-nums;position:absolute;transform:translate(10px)}.ruler span:before{content:"";background:var(--line);width:1px;height:44px;position:absolute;top:-13px;left:-10px}.ruler i{bottom:0;left:calc(var(--x) * var(--hw) / 60);background:var(--line-2);width:1px;height:8px;position:absolute}.tvgrid__list{animation:tvg-in .45s var(--ease-out);position:absolute;inset:0}.tvgrid__item{height:176px;top:58px;left:calc(var(--s) * var(--hw) / 60 + 4px);width:max(6px, calc(var(--w) * var(--hw) / 60 - 8px));position:absolute;container-type:inline-size}.tvgrid__item:hover,.tvgrid__item:focus-within{z-index:2}.blk{background:var(--surface-2);border:1px solid var(--line);isolation:isolate;text-align:left;transition:transform .45s var(--ease), border-color .3s, box-shadow .45s;border-radius:16px;flex-direction:column;justify-content:flex-end;padding:14px 16px;display:flex;position:absolute;inset:0;overflow:hidden}.blk:hover{border-color:#d9aa4580;transform:translateY(-4px);box-shadow:0 22px 40px -22px #000000e6}.blk:focus-visible{outline-offset:-2px;border-radius:16px}.blk img{z-index:-2;object-fit:cover;opacity:.55;width:100%;height:100%;transition:opacity .45s, transform 1s var(--ease);position:absolute;inset:0}.blk:hover img{opacity:.8;transform:scale(1.06)}.blk:after{content:"";z-index:-1;background:linear-gradient(#040a161a,#040a16e0);position:absolute;inset:0}.blk time{font:800 15px var(--font-display);color:var(--ink-2);font-variant-numeric:tabular-nums}.blk strong{font-family:var(--font-display);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:16px;font-weight:700;line-height:1.22;display:-webkit-box;overflow:hidden}.blk small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12.5px;display:block;overflow:hidden}.blk.is-past{opacity:.55}.blk.is-now{border-color:#d9aa45bf;box-shadow:0 0 0 1px #d9aa4559,0 24px 50px -24px #d9aa4580}.blk.is-now time{color:var(--gold-light)}.blk .pfill{background:var(--gold-grad);width:100%;height:3px;transform:scaleX(var(--p,0));transform-origin:0;position:absolute;bottom:0;left:0}.blk .badge{position:absolute;top:12px;left:12px}.blk.is-cut-l{border-left-style:dashed;border-top-left-radius:5px;border-bottom-left-radius:5px}.blk.is-cut-r{border-right-style:dashed;border-top-right-radius:5px;border-bottom-right-radius:5px}@container (max-width:120px){.blk{padding:12px 10px}.blk__genre{display:none}.blk time{font-size:13.5px}.blk strong{font-size:14px}.blk small{font-size:11.5px}.blk .badge{border-radius:50%;justify-content:center;width:22px;height:22px;padding:0;top:8px;left:8px}.blk .badge span{display:none}}@container (max-width:64px){.blk{align-items:center;padding:10px 0}.blk strong,.blk small,.blk .badge{display:none}.blk time{writing-mode:vertical-rl;font-size:13px;transform:rotate(180deg)}}.nowline{z-index:3;top:0;bottom:0;left:calc(var(--now) * var(--hw) / 60);background:var(--gold-grad);pointer-events:none;width:2px;margin-left:-1px;position:absolute;box-shadow:0 0 18px #f3d58acc}.nowline span{background:var(--gold-grad);color:var(--on-gold);font:800 12px var(--font-display);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 9px;position:absolute;top:9px;left:50%;transform:translate(-50%)}.nowline.is-start span{left:0;transform:none}.nowline.is-end span{left:auto;right:0;transform:none}.grid-fade{pointer-events:none;z-index:4;width:60px;transition:opacity .3s;position:absolute;top:0;bottom:0}.grid-fade.l{background:linear-gradient(90deg,#0c1b35f2,#0000);left:0}.grid-fade.r{background:linear-gradient(-90deg,#0c1b35f2,#0000);right:0}.grid-wrap[data-at-start] .grid-fade.l,.grid-wrap[data-at-end] .grid-fade.r{opacity:0}.grid-wrap[data-paused] .badge--live i{animation-play-state:paused}.grid-empty{z-index:5;border:1px dashed var(--line-2);border-radius:var(--r-lg);width:min(470px,100% - 32px);color:var(--ink-2);background:#071224eb;align-items:center;gap:16px;padding:20px 22px;font-size:14.5px;display:flex;position:absolute;top:60px;left:50%;transform:translate(-50%)}.grid-empty svg{width:36px;height:36px;color:var(--gold);flex-shrink:0}.grid-empty b{font-family:var(--font-display);color:var(--ink);font-size:16.5px;display:block}@keyframes tvg-in{0%{opacity:0}}.tvd{border:1px solid var(--line-2);border-radius:var(--r-xl);background:var(--surface);width:min(560px,100% - 32px);max-width:none;max-height:min(88dvh,820px);color:var(--ink);overscroll-behavior:contain;margin:auto;padding:0;overflow:auto;box-shadow:0 40px 90px -30px #000000e6}.tvd[open]{animation:tvd-in .45s var(--ease-out)}.tvd::backdrop{background:#040a16c2;animation:.3s ease-out tvd-fade}.tvd__in{position:relative}.tvd__media{aspect-ratio:16/9;background:var(--surface-2);position:relative;overflow:hidden}.tvd__media img{object-fit:cover}.tvd__media:after{content:"";background:linear-gradient(180deg, #0c1b3500 45%, var(--surface));position:absolute;inset:0}.tvd__badges{z-index:1;flex-wrap:wrap;gap:8px;display:flex;position:absolute;bottom:12px;left:22px}.tvd__close{z-index:2;border-color:var(--line-2);background:#040a169e;position:absolute;top:14px;right:14px}.tvd__close:hover{background:#040a16db}.tvd__body{padding:8px 24px 26px}.tvd__body h2{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin-top:6px;font-size:clamp(22px,2.6vw,28px);font-weight:800;line-height:1.12}.tvd__when{color:var(--ink-2);flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:14.5px;display:flex}.tvd__when li{align-items:center;gap:7px;display:inline-flex}.tvd__when svg{width:17px;height:17px;color:var(--gold);flex-shrink:0}.tvd__progress{margin-top:16px}.tvd__bar{background:#ffffff24;border-radius:4px;height:4px;overflow:hidden}.tvd__bar span{background:var(--gold-grad);height:100%;transform:scaleX(var(--p,0));transform-origin:0;display:block}.tvd__progress p{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:7px;font-size:13px}.tvd__night{color:var(--muted);font-size:13px}.tvd__desc{color:var(--ink-2);margin-top:16px;font-size:15.5px;line-height:1.65}.tvd__actions{margin-top:20px}@keyframes tvd-in{0%{opacity:0;transform:translateY(18px)scale(.98)}}@keyframes tvd-up{0%{opacity:0;transform:translateY(40px)}}@keyframes tvd-fade{0%{opacity:0}}.tvl-days [aria-current=page]{background:var(--gold-grad);color:var(--on-gold);font-weight:600;box-shadow:0 8px 22px -10px #d9aa45cc}.tvl{gap:30px;display:grid}.tvl__part h3{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);align-items:center;gap:12px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.tvl__part h3:after{content:"";background:var(--line);flex:1;height:1px}.tvl__part ol{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);overflow:hidden}.tvl__row{grid-template-columns:92px 168px minmax(0,1fr);grid-template-areas:"time thumb body";align-items:center;gap:22px;padding:16px 22px;display:grid}.tvl__row+.tvl__row{border-top:1px solid var(--line)}.tvl__row:has(.tvl__past) .tvl__thumb{opacity:.45}.tvl__row:has(.tvl__past) :is(.tvl__time,.tvl__title){color:var(--ink-2)}.tvl__time{font:800 19px var(--font-display);font-variant-numeric:tabular-nums;grid-area:time}.tvl__time>span{color:var(--muted);margin-top:2px;font-size:13.5px;font-weight:500;display:block}.tvl__night{color:var(--muted);font:500 12px var(--font-body);margin-top:4px;display:block}.tvl__thumb{aspect-ratio:16/9;background:var(--surface-2);border-radius:12px;grid-area:thumb;position:relative;overflow:hidden}.tvl__thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tvl__body{grid-area:body;min-width:0}.tvl__meta{flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:21px;display:flex}.tvl__title{font-family:var(--font-display);letter-spacing:-.01em;margin-top:4px;font-size:18px;font-weight:700;line-height:1.25}.tvl__desc{max-width:75ch;color:var(--ink-2);margin-top:6px;font-size:14.5px;line-height:1.55}.tvl__dur{color:var(--muted);align-items:center;gap:6px;margin-top:8px;font-size:13px;display:inline-flex}.tvl__dur svg{width:15px;height:15px}.tvl__past{color:var(--muted);font-size:12px}@media (max-width:760px){.tvgrid{--hw:210px;height:230px}.tvgrid__item{height:160px}.grid-fade{width:36px}.grid-scroll{scroll-padding-inline:36px}.tvd{border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-height:90dvh;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;margin:auto 0 0}.tvd[open]{animation-name:tvd-up}.tvd__body{padding:6px 18px 24px}.tvl__row{grid-template-columns:54px minmax(0,1fr) 88px;grid-template-areas:"time body thumb";align-items:start;gap:12px 14px;padding:14px 16px}.tvl__time{font-size:16px}.tvl__time>span{font-size:12px}.tvl__night{font-size:11px}.tvl__thumb{border-radius:10px;margin-top:3px}.tvl__title{font-size:16px}.tvl__desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13.5px;display:-webkit-box;overflow:hidden}}@media (hover:none){.blk:hover,.blk:hover img{transform:none}}@media (prefers-reduced-motion:reduce){.blk:hover,.blk:hover img{transform:none}}
