/* Daily programme interface. Retains the original muted phosphor / amber terminal. */
html{scroll-behavior:smooth;scroll-padding-top:16px}body{font-size:14px;line-height:1.5}*{box-sizing:border-box}
.site-shell{width:min(1120px,calc(100% - 40px));min-height:0;margin:24px auto}.wrap{width:100%;max-width:none}
main{display:block;padding-top:20px}.masthead{grid-template-columns:1fr auto;gap:12px 24px}.brand{font-size:18px}.masthead nav{grid-column:1;grid-row:2;justify-content:flex-start;gap:22px}.place{grid-column:2;grid-row:1 / 3;font-size:11px}.brand img{width:40px;height:40px}.masthead .name-line{width:auto;letter-spacing:0}.brand-radio{letter-spacing:2px!important}
.hero{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);grid-template-rows:auto;align-items:stretch;padding:0;gap:0;background:var(--feed-panel);border:1px solid var(--feed-rule)}
.main-pane,.secondary-pane{min-width:0;padding:20px}.secondary-pane{border-left:1px solid var(--feed-rule)}
.session-card h1{font:400 30px/1.16 var(--mono);letter-spacing:-1px;margin:8px 0}.eyebrow{font-size:11px;letter-spacing:.6px;margin:0 0 8px}.session-card .eyebrow{color:var(--accent)}.session-time{font-size:12px;margin:6px 0 10px;color:var(--muted)}
.genre-tags{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.genre-tags:empty{display:none}.genre-tags span{border:1px solid var(--feed-rule);padding:2px 6px;font-size:11px;line-height:1.45}.small{font-size:12px;line-height:1.5}.session-card .small:empty{display:none}.playout-status{font-size:12px;color:var(--accent);margin:12px 0 0;padding-left:10px;border-left:2px solid var(--accent)}
.signal-card{display:block;padding:16px 0 0;margin-top:16px;border:0;border-top:1px solid var(--feed-rule)}
h2,.now-playing-title,.lower-grid h2,.schedule-view h2{font:400 16px/1.4 var(--mono);letter-spacing:0;margin:0 0 10px}.now-playing-title{padding:0}.now-playing-title::before{content:none}.signal-card>#track-kicker{font-size:11px;margin:0 0 8px;color:var(--muted)}
.track-panel,.track-panel:has(.cover:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) 108px;grid-template-areas:'artist cover' 'title cover' 'meta cover' 'genres cover' 'support cover';gap:4px 16px}
.track-panel h3,.track-panel #track-artist{font:400 20px/1.35 var(--mono);letter-spacing:-.3px;margin:0}.track-panel #track-meta{font-size:13px!important;line-height:1.5;margin:4px 0!important}.track-panel #artist-link{font-size:12px;margin:6px 0}.cover-frame{min-height:108px;align-self:start;aspect-ratio:1}.track-panel .cover{width:100%;height:100%;object-fit:contain}.track-panel #track-genres{grid-area:genres;margin:4px 0}
.player-section{display:block;padding:16px 0 0;margin-top:16px;border:0;border-top:1px solid var(--feed-rule)}.listen-controls{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap}.play-button,.play-button:disabled{font-size:14px;min-width:155px;min-height:36px}.volume-group{grid-template-columns:auto 100px;grid-template-rows:36px auto}.volume-group input{width:100px}.volume-group .normalise-toggle{font-size:11px;min-height:28px}.mute{font-size:11px}.player-message{font-size:12px;margin:6px 0 0}
.secondary-pane section+section{border-top:1px solid var(--feed-rule);padding-top:16px;margin-top:16px}.next-panel strong{font-size:18px;font-weight:400;display:block;line-height:1.4}.next-panel p{margin:6px 0}.upcoming-list,.history{padding:0;margin:0;list-style:none}.upcoming-list li{display:grid;gap:2px;margin:0 0 10px;font-size:13px}.upcoming-list time,.history time{font-size:11px;color:var(--muted)}
.recent{display:block;width:100%;margin:0;padding:0;border:0}.recent[hidden]{display:none}.history{display:block}.history li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;padding:5px 0;border:0}.history strong,.history div>span{display:block;font-size:12px;line-height:1.4;font-weight:400;overflow-wrap:anywhere}.history div>span{color:var(--muted)}
body[data-view] .schedule-view{display:block;max-width:none;margin-top:18px;padding:16px 0 0;border-top:1px solid var(--feed-rule)}.schedule-view>p{margin:6px 0 10px}.schedule-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:10px 0;list-style:none}.schedule-list li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;padding:6px;border-bottom:1px solid var(--feed-rule);font-size:12px;align-items:start}.timetable-time{color:var(--muted);white-space:nowrap}.schedule-list .is-current{background:#3b4234;box-shadow:inset 2px 0 var(--accent);color:var(--ink)}.schedule-list .is-current .timetable-time{color:var(--accent)}
body[data-view] .lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:18px 0 0;padding:16px 0;border-top:1px solid var(--feed-rule)}body[data-view] .about,body[data-view] .submission{display:block;min-width:0}.lower-grid p:not(.eyebrow){font-size:13px;line-height:1.55;margin:10px 0}.station-tagline{color:var(--accent)!important}.lower-grid .small{font-size:12px!important}.lower-grid h2{font-size:16px}.text-link,.submit-button{font-size:12px}#submission-form-panel{margin-top:14px;font-size:13px}summary{cursor:pointer;color:var(--ink)}#submission-frame{height:1760px}footer{border-top:1px solid var(--feed-rule);padding:10px 0;justify-content:space-between;font-size:10px;flex-wrap:wrap}#listen,#schedule,#about,#submit{scroll-margin-top:16px}a:hover{color:#e1f4db;text-shadow:0 0 8px #b5dac044}a:active{color:#7f9d88}
@media(max-width:760px){.site-shell{width:calc(100% - 24px);margin:12px auto}.hero{grid-template-columns:minmax(0,1fr)}.main-pane,.secondary-pane{padding:16px}.secondary-pane{border-left:0;border-top:1px solid var(--feed-rule)}.masthead{display:grid;grid-template-columns:1fr auto}.masthead nav{grid-column:1/-1;grid-row:2;gap:12px;justify-content:space-between;flex-wrap:wrap;font-size:12px}.masthead nav::before{content:none}.place{grid-column:2;grid-row:1;font-size:10px}.brand{font-size:16px}.session-card h1{font-size:28px}.schedule-list{grid-template-columns:1fr}.track-panel,.track-panel:has(.cover:not([hidden])){grid-template-columns:minmax(0,1fr) 84px;gap:4px 10px}.cover-frame{min-height:84px}.track-panel h3,.track-panel #track-artist{font-size:19px}body[data-view] .lower-grid{grid-template-columns:1fr;gap:20px}.submission{border-top:1px solid var(--feed-rule);padding-top:16px}.listen-controls{gap:8px}.play-button,.play-button:disabled{font-size:13px;min-width:140px}.volume-group{grid-template-columns:auto 90px}.volume-group input{width:90px}#submission-frame{height:2440px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.session-card h1{color:var(--ink);mask-image:none;text-shadow:none}.recent:not([hidden]){display:block!important}.recent[hidden]{display:none!important}.recent h2{font-size:16px;line-height:1.4;margin:0 0 10px}.signal-card{max-width:none}.lower-grid p:not(.eyebrow){max-width:none}.submission{padding-left:0}.place{display:flex}.listen-controls{margin:0;padding:0}.volume-group{display:grid}.masthead{min-height:0}
.feed-identity{font-size:12px;color:var(--muted);margin:0 0 12px}.main-pane,.secondary-pane,.schedule-list li,.track-panel{overflow-wrap:anywhere}.session-card h1{overflow-wrap:normal}.volume-group{flex-shrink:0}
@media(max-width:760px){.masthead nav{font-size:11px;gap:7px}.masthead nav a{padding-inline:0}.feed-identity{font-size:11px}.upcoming-list li{margin-bottom:8px}}
/* Keep the original live player immediately accessible before programme details. */
.main-pane>.player-section{margin:0 0 18px;padding:0 0 14px;border-top:0;border-bottom:1px solid var(--feed-rule)}
.history a.record-link{color:inherit;text-decoration:none}.history a.record-link:hover{color:var(--accent);text-shadow:0 0 7px #b5dac044}.history a.record-link:focus-visible{outline:1px solid var(--accent);outline-offset:3px}

/* A tighter phone layout, without clipping programme names or player controls. */
@media(max-width:760px){
 .site-shell{width:calc(100% - 20px);margin:8px auto}
 .masthead{gap:5px 10px;padding-bottom:6px}.brand{font-size:14px;gap:8px}.brand img{width:30px;height:30px}.brand-radio{font-size:9px!important;margin-top:4px}.place{font-size:9px;line-height:1.3}
 .masthead nav{gap:3px;flex-wrap:nowrap;font-size:10px}.masthead nav a{padding-block:7px}
 main{padding-top:8px}.feed-identity{font-size:10px;line-height:1.35;margin-bottom:8px}
 .main-pane,.secondary-pane{padding:12px}
 .main-pane>.player-section{margin-bottom:10px;padding-bottom:8px}
 .listen-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
 .play-button,.play-button:disabled{min-width:0;min-height:40px;font-size:13px;gap:7px}
 .volume-group{grid-template-columns:26px 72px;grid-template-rows:28px 24px;gap:0 5px}.volume-group input{width:72px;height:28px}.volume-group .mute{padding:0;min-height:28px;font-size:10px}.volume-group .normalise-toggle{min-height:24px;font-size:10px;padding:0}
 .player-message{font-size:11px;line-height:1.35;margin:3px 0 0}.player-message:empty{display:none}
 .session-card .eyebrow{font-size:10px;line-height:1.3;letter-spacing:.2px;margin-bottom:4px}
 .session-card h1{font-size:25px;line-height:1.12;letter-spacing:-.6px;margin:4px 0}
 .session-time{font-size:11px;margin:5px 0 6px}.genre-tags{gap:4px;margin:6px 0}.genre-tags span{padding:1px 5px;font-size:10px;line-height:1.35}
 #session-description{font-size:11px;line-height:1.4;margin:6px 0}.playout-status{font-size:11px;line-height:1.4;margin-top:7px;padding-left:7px}
 .signal-card{margin-top:10px;padding-top:10px}.now-playing-title{font-size:14px;margin-bottom:7px}
 .track-panel,.track-panel:has(.cover:not([hidden])){grid-template-columns:minmax(0,1fr) 64px;gap:2px 8px}.cover-frame{min-height:64px}.track-panel h3,.track-panel #track-artist{font-size:17px;line-height:1.25;letter-spacing:-.3px}.track-panel #track-meta{font-size:11px!important;line-height:1.35;margin:3px 0!important}.track-panel #track-genres{margin:3px 0}
 .secondary-pane section+section{padding-top:10px;margin-top:10px}.secondary-pane h2,.recent h2{font-size:14px;margin-bottom:6px}.next-panel strong{font-size:16px;line-height:1.3}.next-panel p{font-size:11px;line-height:1.4;margin:4px 0}
 .upcoming-list li{grid-template-columns:104px minmax(0,1fr);gap:7px;margin-bottom:6px;font-size:12px;line-height:1.35}.upcoming-list time{font-size:10px}
 .history li{grid-template-columns:34px minmax(0,1fr);gap:7px;padding:4px 0}.history time{font-size:10px}.history strong,.history div>span{font-size:11px;line-height:1.35}.history div>span{margin-top:1px}
 body[data-view] .schedule-view{margin-top:12px;padding-top:10px}.schedule-view h2{font-size:15px;margin-bottom:6px}.schedule-view>p{font-size:11px;line-height:1.4}.schedule-list li{grid-template-columns:88px minmax(0,1fr);gap:7px;padding:5px;font-size:11px}
 body[data-view] .lower-grid{margin-top:12px;padding-top:10px;gap:12px}.lower-grid p:not(.eyebrow){font-size:12px;line-height:1.45;margin:7px 0}.lower-grid h2{font-size:15px;margin:5px 0}.submission{padding-top:10px}footer{font-size:9px;padding:8px 0}
}

/* Listen first; one compact console, with longer lists available on request. */
.main-pane .play-button,.main-pane .play-button:disabled{
 min-height:56px;min-width:230px;padding:7px 15px;border:1px solid var(--accent);
 font-size:25px;line-height:1.3;justify-content:center;gap:10px;mask-image:none;
}
.main-pane .play-button:not(:disabled):hover{background:#3b4234;color:var(--accent)}
.main-pane .play-button:disabled{opacity:.65}
.play-button span:first-child{transform:none;mask-image:none}
.main-pane .listen-controls{align-items:center}
.session-card h1{font-size:25px;letter-spacing:-.6px}
.session-time{margin:5px 0}.schedule-source{color:var(--muted);font-size:10px;margin:4px 0 7px}
.playout-status{font-size:11px;line-height:1.4;margin-top:8px}
.main-pane,.secondary-pane{padding:16px}
.main-pane>.player-section{margin-bottom:12px;padding-bottom:10px}
.secondary-pane section+section,.secondary-pane details+section,.secondary-pane .upcoming-panel{border-top:1px solid var(--feed-rule);padding-top:10px;margin-top:10px}
.upcoming-panel>summary{display:flex;justify-content:space-between;gap:10px;font-size:12px;list-style:none;min-height:26px;align-items:center}
.upcoming-panel>summary::-webkit-details-marker{display:none}.upcoming-panel>summary span{color:var(--accent)}
.upcoming-panel[open]>summary span{transform:rotate(45deg)}.upcoming-panel[open] .upcoming-list{margin-top:8px}
.upcoming-panel>a{font-size:11px;display:inline-block;margin-top:6px}
.history li{padding:3px 0}.history strong,.history div>span{line-height:1.35}
#discussion-preview{padding:9px 12px;margin-top:10px}
#discussion-preview h2{font-size:13px;margin-bottom:2px}
#discussion-preview .small,#discussion-preview .empty-state{font-size:10px;margin:3px 0;padding:0}
#discussion-preview .terminal-action{border:0;padding:0;font-size:11px;margin:3px 0}
#discussion-preview .discussion-note{display:none}
.site-shell{margin-block:16px}main{padding-top:12px}.feed-identity{margin-bottom:9px}
.track-panel:not(:has(.cover:not([hidden]))){grid-template-columns:minmax(0,1fr);grid-template-areas:'artist' 'title' 'meta' 'genres' 'support'}
.track-panel:not(:has(.cover:not([hidden]))) .cover-frame{display:none}
@media(min-width:761px){
 .next-panel strong{font-size:16px}.next-panel .small{font-size:11px;line-height:1.4}.next-panel p:empty{display:none}
 .secondary-pane h2,.recent h2{font-size:14px;margin-bottom:6px}
 .masthead{gap:8px 24px}.masthead nav a{padding-block:5px}
}
@media(max-width:760px){
 .site-shell{margin-block:8px}.main-pane,.secondary-pane{padding:12px}
 .main-pane .play-button,.main-pane .play-button:disabled{min-width:0;min-height:54px;font-size:21px;padding:6px;gap:6px}
 .session-card h1{font-size:22px}.schedule-source{font-size:10px}
 .main-pane .listen-controls{grid-template-columns:minmax(0,1fr) 105px}
 .upcoming-panel>summary{font-size:12px}
}
@media(max-width:359px){
 .main-pane .play-button,.main-pane .play-button:disabled{font-size:18px;gap:4px}
 .masthead nav{column-gap:6px;font-size:9px}
}
@media(max-width:760px){
 .main-pane .listen-controls{grid-template-columns:minmax(0,1fr);gap:7px}
 .main-pane .play-button,.main-pane .play-button:disabled{width:100%;font-size:23px;min-height:52px}
 .volume-group{width:100%;grid-template-columns:42px minmax(60px,1fr) auto;grid-template-rows:30px;gap:7px}
 .volume-group .mute{white-space:nowrap;min-height:30px}
 .volume-group input{width:100%;min-width:0}
 .volume-group .normalise-toggle{grid-column:3;grid-row:1;min-height:30px;font-size:10px}
 .main-pane>.player-section{padding-bottom:7px;margin-bottom:9px}
 .session-card .small{line-height:1.35}.signal-card{padding-top:10px;margin-top:10px}
}
/* Fit an ordinary laptop screen; opened lists and larger text can still scroll. */
@media(min-width:761px) and (max-height:800px){
 .site-shell{margin-block:10px}.masthead{padding-block:8px;gap:4px 24px}
 main{padding-top:8px}.feed-identity{margin-bottom:6px;font-size:11px}
 .main-pane,.secondary-pane{padding:12px}
 .main-pane .play-button,.main-pane .play-button:disabled{min-height:48px;font-size:24px}
 .main-pane>.player-section{margin-bottom:8px;padding-bottom:7px}
 .audience-counters{margin-top:6px}
 .session-card .eyebrow{margin-bottom:4px}.session-card h1{margin:4px 0;font-size:24px}
 .session-time{display:inline;font-size:11px}.schedule-source{display:inline;font-size:10px;margin-left:10px}
 .session-card .genre-tags{margin:6px 0}.session-card .genre-tags span{padding:1px 5px;font-size:10px}
 #session-description{font-size:11px;line-height:1.35;margin:6px 0}
 .playout-status{font-size:10px;margin-top:6px}
 .signal-card{padding-top:10px;margin-top:10px}.now-playing-title{font-size:14px;margin-bottom:7px}
 .track-panel,.track-panel:has(.cover:not([hidden])){grid-template-columns:minmax(0,1fr) 96px;gap:3px 12px}
 .track-panel h3,.track-panel #track-artist{font-size:18px}.track-panel #track-meta{font-size:11px!important}
 .cover-frame{min-height:96px}
 .track-panel #track-genres span{font-size:10px;padding:1px 5px}
 #discussion-preview{margin-top:8px;padding:7px 10px;display:flex!important;align-items:center;justify-content:space-between;gap:10px}
 #discussion-preview .section-heading{flex:1;align-items:center}#discussion-preview h2{margin:0}
 #discussion-preview-current,#discussion-preview-messages{display:none}
 #discussion-preview .terminal-action{margin:0;white-space:nowrap}
 footer{padding-block:7px}
}
