/* Preview only: Priority 2 editorial strip. The existing homepage stays intact. */
#app:has(.schedule-upcoming) .presentation{padding-bottom:48px}
#app:has(.schedule-upcoming) .home-editorial{
  margin:0 0 74px;
  border-top:1px solid rgba(204,217,230,.16);
  padding-top:25px;
}
#app:has(.schedule-upcoming) .home-editorial__head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin-bottom:14px;
}
#app:has(.schedule-upcoming) .home-editorial__head-note{
  color:#899bac;letter-spacing:.18em;font-size:9px;font-weight:650;
}
#app:has(.schedule-upcoming) .home-editorial__grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;
}
#app:has(.schedule-upcoming) .home-editorial__item{
  display:grid;grid-template-columns:106px minmax(0,1fr) 17px;
  gap:20px;align-items:center;min-width:0;
  padding:16px 8px 18px 0;
  border-bottom:1px solid rgba(218,230,240,.2);
  transition:background .22s ease,border-color .22s ease;
}
#app:has(.schedule-upcoming) .home-editorial__item:hover{
  border-color:rgba(var(--accent-rgb),.66);
  background:linear-gradient(90deg,rgba(var(--accent-rgb),.06),transparent 74%);
}
#app:has(.schedule-upcoming) .home-editorial__image{
  width:106px;height:106px;object-fit:cover;display:block;aspect-ratio:1;
  border-radius:7px;border:1px solid rgba(234,241,248,.15);
  background:#151b27;
}
#app:has(.schedule-upcoming) .home-editorial__image--fallback{
  display:grid;place-items:center;color:#8495aa;letter-spacing:-.08em;
  font-weight:800;font-size:29px;
  background:radial-gradient(circle at 70% 20%,rgba(var(--accent-rgb),.17),transparent 72%),#141c2b;
}
#app:has(.schedule-upcoming) .home-editorial__copy{
  min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:9px;
}
#app:has(.schedule-upcoming) .home-editorial__eyebrow{
  color:var(--accent);font-size:9px;letter-spacing:.16em;font-weight:750;
}
#app:has(.schedule-upcoming) .home-editorial__copy strong{
  font-size:clamp(18px,1.55vw,23px);line-height:1.17;letter-spacing:-.035em;
  font-weight:700;color:#f1f4f6;overflow-wrap:anywhere;
}
#app:has(.schedule-upcoming) .home-editorial__meta{
  font-size:12px;line-height:1.5;color:#a2b2bf;overflow-wrap:anywhere;
}
#app:has(.schedule-upcoming) .home-editorial__arrow{
  width:17px;height:17px;color:#8b9cab;transition:transform .22s ease,color .22s ease;
}
#app:has(.schedule-upcoming) .home-editorial__item:hover .home-editorial__arrow{
  color:var(--accent);transform:translateX(4px);
}
@media(max-width:1000px){
  #app:has(.schedule-upcoming) .home-editorial__grid{gap:18px}
  #app:has(.schedule-upcoming) .home-editorial__item{
    grid-template-columns:86px minmax(0,1fr) 16px;gap:13px;
  }
  #app:has(.schedule-upcoming) .home-editorial__image{width:86px;height:86px}
  #app:has(.schedule-upcoming) .home-editorial__meta{font-size:11px}
}
@media(max-width:680px){
  #app:has(.schedule-upcoming) .presentation{padding-bottom:34px}
  #app:has(.schedule-upcoming) .home-editorial{
    padding-top:22px;margin-bottom:48px;
  }
  #app:has(.schedule-upcoming) .home-editorial__head{margin-bottom:7px}
  #app:has(.schedule-upcoming) .home-editorial__head-note{font-size:8px;letter-spacing:.1em}
  #app:has(.schedule-upcoming) .home-editorial__grid{
    grid-template-columns:1fr;gap:0;
  }
  #app:has(.schedule-upcoming) .home-editorial__item{
    grid-template-columns:78px minmax(0,1fr) 16px;
    gap:15px;padding:13px 0;
  }
  #app:has(.schedule-upcoming) .home-editorial__image{width:78px;height:78px}
  #app:has(.schedule-upcoming) .home-editorial__copy{gap:7px}
  #app:has(.schedule-upcoming) .home-editorial__copy strong{font-size:19px}
}
@media(max-width:350px){
  #app:has(.schedule-upcoming) .home-editorial__item{
    grid-template-columns:65px minmax(0,1fr) 13px;gap:10px;
  }
  #app:has(.schedule-upcoming) .home-editorial__image{width:65px;height:65px}
  #app:has(.schedule-upcoming) .home-editorial__meta{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  #app:has(.schedule-upcoming) .home-editorial__item,
  #app:has(.schedule-upcoming) .home-editorial__arrow{transition:none!important}
  #app:has(.schedule-upcoming) .home-editorial__item:hover .home-editorial__arrow{transform:none}
}


/* Priority 3: restrained, real broadcast history and scroll reveals. */
#app:has(.schedule-upcoming) .home-editorial{margin-bottom:47px}
#app:has(.schedule-upcoming) .home-recent{margin:0 0 73px;padding:24px 0 0;border-top:1px solid #d7e5f21c}
#app:has(.schedule-upcoming) .home-recent__head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:19px}
#app:has(.schedule-upcoming) .home-recent__head h2{font-size:clamp(23px,2.65vw,32px);line-height:1.1;letter-spacing:-.05em;font-weight:690;margin:11px 0 6px}
#app:has(.schedule-upcoming) .home-recent__head p{font-size:12px;line-height:1.5;color:#97a9b6;margin:0}
#app:has(.schedule-upcoming) .home-recent__all{display:inline-flex;align-items:center;gap:9px;flex:none;font-size:11px;color:#acbac6;padding:5px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
#app:has(.schedule-upcoming) .home-recent__all:hover{color:#f0f3f6;border-color:var(--accent)}
#app:has(.schedule-upcoming) .home-recent__all svg{width:15px;height:15px}
#app:has(.schedule-upcoming) .home-recent__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #d7e5f229}
#app:has(.schedule-upcoming) .home-recent__item{display:grid;grid-template-columns:56px minmax(0,1fr) 16px;gap:13px;align-items:center;min-width:0;min-height:104px;padding:17px 16px 17px 0;transition:background .24s}
#app:has(.schedule-upcoming) .home-recent__item+.home-recent__item{border-left:1px solid #d7e5f222;padding-left:17px}
#app:has(.schedule-upcoming) .home-recent__item:hover{background:linear-gradient(90deg,rgba(var(--accent-rgb),.07),transparent)}
#app:has(.schedule-upcoming) .home-recent__art{display:block;width:56px;height:56px;overflow:hidden;border:1px solid #eff6ff31;border-radius:6px;background:#141b2a}
#app:has(.schedule-upcoming) .home-recent__art .cover-surface.small{width:100%;height:100%;border:0;box-shadow:none}
#app:has(.schedule-upcoming) .home-recent__detail{display:flex;flex-direction:column;min-width:0;gap:5px}
#app:has(.schedule-upcoming) .home-recent__time{font-size:10px;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--accent)}
#app:has(.schedule-upcoming) .home-recent__detail strong{font-size:clamp(15px,1.45vw,20px);line-height:1.2;letter-spacing:-.025em;color:#f2f4f7;overflow-wrap:anywhere}
#app:has(.schedule-upcoming) .home-recent__show{color:#a3b0bd;font-size:11px;line-height:1.4;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
#app:has(.schedule-upcoming) .home-recent__arrow{width:16px;height:16px;color:#889aa9;transition:color .2s,transform .2s}
#app:has(.schedule-upcoming) .home-recent__item:hover .home-recent__arrow{color:var(--accent);transform:translateX(4px)}
#app:has(.schedule-upcoming) .home-recent__status{padding:17px 0 19px;margin:0;font-size:12px;color:#95a8b6;border-block:1px solid #d7e5f229}
@media(max-width:980px){
 #app:has(.schedule-upcoming) .home-recent__item{grid-template-columns:47px minmax(0,1fr) 14px;gap:9px;padding:15px 11px 15px 0}
 #app:has(.schedule-upcoming) .home-recent__item+.home-recent__item{padding-left:10px}
 #app:has(.schedule-upcoming) .home-recent__art{width:47px;height:47px}
}
@media(max-width:680px){
 #app:has(.schedule-upcoming) .home-editorial{margin-bottom:40px}
 #app:has(.schedule-upcoming) .home-recent{padding-top:20px;margin-bottom:51px}
 #app:has(.schedule-upcoming) .home-recent__head{gap:10px;margin-bottom:15px}
 #app:has(.schedule-upcoming) .home-recent__head h2{font-size:25px}
 #app:has(.schedule-upcoming) .home-recent__head p{font-size:11px}
 #app:has(.schedule-upcoming) .home-recent__all{font-size:10px;gap:5px}
 #app:has(.schedule-upcoming) .home-recent__grid{grid-template-columns:1fr}
 #app:has(.schedule-upcoming) .home-recent__item,
 #app:has(.schedule-upcoming) .home-recent__item+.home-recent__item{grid-template-columns:55px minmax(0,1fr) 16px;gap:13px;min-height:83px;padding:12px 3px;border-left:0}
 #app:has(.schedule-upcoming) .home-recent__item+.home-recent__item{border-top:1px solid #d7e5f21d}
 #app:has(.schedule-upcoming) .home-recent__art{width:55px;height:55px}
 #app:has(.schedule-upcoming) .home-recent__detail strong{font-size:17px}
}
@media(max-width:350px){
 #app:has(.schedule-upcoming) .home-recent__head h2{font-size:22px}
 #app:has(.schedule-upcoming) .home-recent__item,
 #app:has(.schedule-upcoming) .home-recent__item+.home-recent__item{grid-template-columns:47px minmax(0,1fr) 14px;gap:9px}
 #app:has(.schedule-upcoming) .home-recent__art{width:47px;height:47px}
}
/* Enhanced bidirectional scroll reveals.
   Sections are visible by default until the JS observer explicitly activates
   them. The observer never unregisters a visible section: scrolling upward
   replays the entrance. No motion for users requesting reduced motion. */
@media (prefers-reduced-motion:no-preference){
  #app:has(.schedule-upcoming) .home-reveal-pending{
    opacity:.08;
    transform:translate3d(0,27px,0) scale(.988);
    transition:opacity .72s cubic-bezier(.2,.72,.2,1),
               transform .78s cubic-bezier(.18,.7,.18,1);
    transition-delay:0s;
  }
  #app:has(.schedule-upcoming) .home-reveal-pending.home-reveal-from-top{
    transform:translate3d(0,-23px,0) scale(.988);
  }
  #app:has(.schedule-upcoming) .home-reveal-pending.home-reveal-visible{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
  }
  /* Small stagger inside existing cards. Only transforms/opacity animate,
     so layout, audio controls, hover styling and interactions stay stable. */
  #app:has(.schedule-upcoming) .home-reveal-pending .upcoming-item,
  #app:has(.schedule-upcoming) .home-reveal-pending .home-editorial__item,
  #app:has(.schedule-upcoming) .home-reveal-pending .home-recent__item{
    opacity:.45;
    transform:translate3d(0,11px,0);
    transition:opacity .55s ease,transform .65s cubic-bezier(.2,.72,.2,1),
               background .2s ease,border-color .2s ease;
    transition-delay:0s;
  }
  #app:has(.schedule-upcoming) .home-reveal-pending.home-reveal-visible .upcoming-item,
  #app:has(.schedule-upcoming) .home-reveal-pending.home-reveal-visible .home-editorial__item,
  #app:has(.schedule-upcoming) .home-reveal-pending.home-reveal-visible .home-recent__item{
    opacity:1;
    transform:none;
  }
  #app:has(.schedule-upcoming) .home-reveal-visible .upcoming-item:nth-child(2),
  #app:has(.schedule-upcoming) .home-reveal-visible .home-editorial__item:nth-child(2),
  #app:has(.schedule-upcoming) .home-reveal-visible .home-recent__item:nth-child(2){
    transition-delay:.075s;
  }
  #app:has(.schedule-upcoming) .home-reveal-visible .upcoming-item:nth-child(3),
  #app:has(.schedule-upcoming) .home-reveal-visible .home-recent__item:nth-child(3){
    transition-delay:.14s;
  }
  /* Replace the old one-off history keyframe with reversible transitions. */
  #app:has(.schedule-upcoming) .home-recent__item{
    animation:none;
  }
}
@media (prefers-reduced-motion:reduce){
  #app:has(.schedule-upcoming) .home-reveal-pending,
  #app:has(.schedule-upcoming) .home-reveal-visible,
  #app:has(.schedule-upcoming) .home-reveal-pending :is(.upcoming-item,.home-editorial__item,.home-recent__item){
    opacity:1!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
  #app:has(.schedule-upcoming) .home-recent__item,
  #app:has(.schedule-upcoming) .home-recent__arrow,
  #app:has(.schedule-upcoming) .home-recent__all{
    animation:none!important;
    transition:none!important;
  }
}
