.hour-playlist{box-sizing:border-box;width:100%;min-width:0;margin:14px 0;padding:14px;border:1px solid var(--line,#50606c);border-radius:14px;background:var(--panel,rgba(130,150,160,.08));overflow-wrap:anywhere}
.hour-playlist h2{font-size:1rem!important;margin:0 0 4px;text-transform:uppercase;letter-spacing:.05em}
.hour-playlist p{font-size:.875rem;margin:6px 0}
.hour-playlist ol{list-style:none;margin:10px 0;padding:0;max-height:200px;overflow-y:auto;overscroll-behavior:contain}
.hour-track{padding:9px 8px;display:flex;flex-wrap:wrap;gap:4px 10px;border-radius:8px;font-size:.9375rem;line-height:1.4}
.hour-track__state{font-size:.8125rem;flex:none}.hour-track__text{min-width:0;flex:1}.hour-track--playing .hour-track__state{flex-basis:100%}
.hour-track__artist{opacity:.85}.hour-track--played{opacity:.65}
.hour-track--playing{border-left:3px solid #bdda21;background:rgba(189,218,33,.12)}
.hour-track--playing .hour-track__state{font-weight:700}
.hour-playlist [data-hour-note]:empty{display:none}
.hour-playlist .hour-track__state{min-width:1.4em;font-variant-numeric:tabular-nums;color:var(--accent,#bdda21)}
.site-header.has-upcoming{grid-template-columns:minmax(240px,320px) minmax(0,1fr) auto;align-items:center}
.site-header.has-upcoming #headerPlayer{grid-column:1/-1;grid-row:1}
.site-header.has-upcoming>.hour-playlist{grid-column:1;grid-row:2;margin:0;padding:12px;align-self:stretch;background:var(--surface,#fff)}
.site-header.has-upcoming>.nav{grid-column:2;grid-row:2;min-width:0}
.site-header.has-upcoming>.radio-header-identity{grid-column:3;grid-row:2;display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:0}
.radio-header-identity .brand-logo{min-width:0;max-width:188px;align-self:flex-end}
.radio-header-identity .brand-logo img{width:100%;max-width:188px;height:auto;max-height:58px;object-fit:contain}
.site-header.has-upcoming .hour-playlist ol{max-height:112px;margin-top:6px}
.site-header.has-upcoming .hour-track{font-size:.82rem;padding:5px 2px}
.site-header.has-upcoming .hour-playlist h2{font-size:.85rem!important}
.site-header.has-upcoming .hour-playlist p{font-size:.8rem}
@media(max-width:900px){
 .site-header.has-upcoming{grid-template-columns:minmax(0,1fr) minmax(130px,180px);gap:12px}
 .site-header.has-upcoming>.radio-header-identity{grid-column:2;grid-row:2}
 .site-header.has-upcoming>.nav{grid-column:1/-1;grid-row:3;width:100%;justify-content:flex-start}
}
@media(max-width:420px){
 .site-header.has-upcoming{grid-template-columns:minmax(0,1fr) 132px;gap:10px}
 .radio-header-identity .brand-logo img{max-width:132px}
 .radio-header-identity .rh-language summary{padding:8px;font-size:.82rem;min-height:44px}
}
