/* Loco Radio schedule list: used by /schedule and the player page's schedule panel. Wrap it in .sched. */
  .sched h2.day { position: sticky; top: 0; z-index: 5; margin: 1.8rem 0 .6rem; padding: .45rem 0; background: var(--bg); border-bottom: 1px solid var(--line); font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
  .sched h2.day.today { color: var(--fg); }
  .sched h2.day .tdy { margin-left: .8em; padding: .08rem .5rem; border: 1px solid var(--fg); border-radius: 999px; font-size: .58rem; letter-spacing: .16em; }
  .sched ul.items { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
  .sched .item { display: grid; grid-template-columns: 4.4rem minmax(0, 1fr); gap: .15rem .8rem; padding: .7rem .8rem; border: 1px solid var(--line); border-left-width: 4px; border-radius: 8px; background: var(--panel); }
  .sched .item .t { color: var(--muted); font-size: .78rem; font-variant-numeric: tabular-nums; line-height: 1.5; }
  .sched .item .t b { display: block; color: var(--fg); font-weight: 700; }
  .sched .item .tag { display: flex; flex-wrap: wrap; align-items: center; gap: .1rem .5rem; font-size: .62rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
  .sched .item .ti { margin-top: .1rem; font-weight: 700; overflow-wrap: anywhere; }
  .sched .item .ti.tba { color: var(--muted); font-weight: 600; }
  .sched .item .sub { color: var(--muted); font-size: .8rem; overflow-wrap: anywhere; }
  .sched .item .sub a { text-decoration-color: var(--line); text-underline-offset: 3px; }
  .sched .item.live { border-left-color: var(--live); background: color-mix(in srgb, var(--live) 8%, var(--panel)); }
  .sched .item.live .tag { color: var(--live); }
  .sched .item.excl { border-left-color: var(--excl); }
  .sched .item.excl .tag { color: var(--excl); }
  .sched .item.arch { background: transparent; }
  .sched .item.tbc { border-style: dashed; border-left-style: solid; }
  .sched .item.now { box-shadow: 0 0 0 1px var(--fg); }
  .sched .ldot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--live); }
  .sched .nowpill { padding: .05rem .5rem; border: 1px solid currentColor; border-radius: 999px; font-size: .56rem; letter-spacing: .14em; }
  .sched details.lineup { margin-top: .4rem; }
  .sched details.lineup > summary { cursor: pointer; font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
  .sched details.lineup > summary:hover { color: var(--fg); }
  .sched details.lineup ol { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: .15rem; }
  .sched details.lineup li { display: grid; grid-template-columns: 5.4rem minmax(0, 1fr); gap: .6rem; font-size: .82rem; }
  .sched details.lineup li .lt { color: var(--muted); font-variant-numeric: tabular-nums; }
  .sched details.lineup li a { text-decoration-color: var(--line); text-underline-offset: 3px; }
  .sched .empty, .sched .err { margin-top: 2rem; text-align: center; color: var(--muted); font-size: .85rem; }
  .sched .err { color: var(--live); }
  @media (max-width: 420px) { .sched .item { grid-template-columns: 3.7rem minmax(0, 1fr); gap: .15rem .6rem; padding: .65rem .65rem; } .sched details.lineup li { grid-template-columns: 4.6rem minmax(0, 1fr); } }
