/* Neutral dark console. Accent colors are kept separate from surface colors. */
:root{color-scheme:dark;--navy:var(--canvas);--navy2:var(--text-muted);--gold:var(--accent);--lime:var(--accent);--brand-slate:var(--surface-raised);--brand-ink:var(--canvas);--surface-light:var(--surface);--border-light:var(--line);--shadow-panel:0 14px 36px #0005}
body{background:var(--canvas)}
body[data-page]{background:var(--canvas)}
body :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
input[type=checkbox]{accent-color:var(--accent)}
input[type=radio]{accent-color:var(--accent)}
input[type=range]{accent-color:var(--accent)}
body :is(.eyebrow,.small-cap,.show-kicker,.track-kicker,.admin-eyebrow){color:var(--text-muted)}
.eyebrow-line{background:var(--accent);border-color:var(--accent)}
.underlined:after{border-color:var(--accent)}.about-symbol{color:var(--accent)}
.site-header nav a:hover{color:var(--cream)}
.icon-button:hover{background:var(--surface-raised);color:var(--cream)}
.site-footer{color:var(--text-muted)}
.location-line{color:var(--text-muted)}
.radio-foot{color:var(--text-muted)}
.radio-foot span:last-child{color:var(--text-muted)}
.screen-label-row{color:var(--text-muted)}
.track-timing{color:var(--text-muted)}
.home-backdrop{background-color:var(--canvas)}
.background-toggle{background:#101015b3;border-color:var(--line)}.background-toggle:hover{border-color:var(--accent)}
.radio-shell{border-color:var(--line)}
.track-art{color:var(--cream)}
.dj-avatar{background:var(--surface-raised);color:var(--cream);box-shadow:none}
.admin-album{background:var(--surface-raised);color:var(--cream);box-shadow:none}
.live-dot{border-color:var(--brand-orange)}
.status-led{border-color:var(--brand-orange)}
.red-dot{border-color:var(--brand-orange)}
@keyframes dark-on-air{50%{box-shadow:0 0 12px #ff8a0060}}
.play-button:hover{color:var(--cream)}
.start-overlay button:hover{color:var(--cream)}
.info-button:hover{color:var(--cream)}
.contact-form button:hover{color:var(--cream)}
.info-header .listen-live-link:hover{color:var(--cream)}
.credits-header .listen-live-link:hover{color:var(--cream)}
.schedule-section{color:var(--cream);border-block:1px solid var(--line)}
.schedule-section .eyebrow{color:var(--cream)}
.schedule-section h2 em{color:var(--cream)}
.schedule-section .text-link{color:var(--cream)}
.section-heading p{color:var(--text-muted)}
.schedule-time{color:var(--text-muted)}
.schedule-host{color:var(--text-muted)}
.schedule-name span{color:var(--text-muted)}
.schedule-footer{color:var(--text-muted)}
.schedule-tabs{background:var(--surface);border-color:var(--line)}.schedule-tabs button{color:var(--text-muted)}
.schedule-tabs button:hover{background:var(--surface-raised)}
.schedule-list{border-color:var(--line)}
.schedule-row{border-color:var(--line)}.schedule-row:hover{background:#ffffff03}.schedule-row.current{border-color:var(--line)}
.schedule-row.current .schedule-time{color:var(--accent)}
.home-page .schedule-days{background:var(--surface-raised);color:var(--text-muted);border-color:var(--line)}
.start-overlay{border-color:#b79aef55}
.broadcast-page .centerpiece .small-cap{color:var(--text-muted)}
.broadcast-page .track-data .small-cap{color:var(--text-muted)}
.broadcast-page .dj-identity .small-cap{color:var(--text-muted)}
.info-main .eyebrow{color:var(--accent)}
.about-signature span{color:var(--accent)}
.info-page a:hover{color:var(--accent)}
.credits-header a:hover{color:var(--accent)}
.contact-form input{background:var(--surface-input);color:var(--cream);border-color:var(--line)}
.contact-form select{background:var(--surface-input);color:var(--cream);border-color:var(--line)}
.contact-form textarea{background:var(--surface-input);color:var(--cream);border-color:var(--line)}
.credits-filters input{background:var(--surface-input);color:var(--cream);border-color:var(--line)}
.credits-filters select{background:var(--surface-input);color:var(--cream);border-color:var(--line)}
.credit-links a{text-underline-offset:4px}.credits-page button{background:var(--surface-raised);color:var(--button-text);border-color:var(--button-border)}.credits-page button:hover{color:#fff;border-color:var(--button-border);box-shadow:none}
/* Administration stays dark throughout forms, tables, import previews and dialogs. */
body[data-page] .admin-header{border-bottom:1px solid var(--line)}
body[data-page] .admin-nav a{color:var(--text-muted)}
body[data-page] .admin-nav a:hover{color:#fff}body[data-page] .admin-mode{color:var(--text-muted);border-color:var(--line)}
body[data-page] :is(.admin-panel,.day-card,.library-scroll,.bulk-bar,.library-actions,.upload-batch,.upload-item,.upload-zone,.fade-field,.show-pick,.show-track-dialog,.branding-preview,.visual-preview){background:var(--surface);color:var(--cream);border-color:var(--line)}
body[data-page] :is(.panel-top,.day-card h2,.library-table th){background:var(--surface-raised);color:var(--text-muted);border-color:var(--line)}
body[data-page] :is(.panel-separator,.queue-item,.day-block,.library-table th,.library-table td,.playlist-row,.track-form,.visual-settings,.visual-slot,.admin-footer,.playlist-coverage,.admin-credit-row,.credits-admin fieldset,.library-show-filter){border-color:var(--line)}
body[data-page] .panel-separator{background:var(--line)}
body[data-page] :is(.admin-heading p,.panel-body p,.panel-top,.library-count,.source-note,.day-block .host,.playlist-name small,.playlist-original,.track-summary small,.progress-times,.queue-item .time,.queue-item span:last-child,.timeline-content>div>span:last-child,.visual-slot-actions small,.visual-placeholder,.show-pick small,.library-empty,.empty,.admin-footer,.playlist-coverage>small,.library-show-filter p){color:var(--text-muted)}
body[data-page] :is(.admin-heading h1,.panel-body h2,.panel-kicker,.queue-item strong,.now-row strong,.library-table,.playlist-coverage,.track-summary strong,.timeline-content strong,.check-line,.show-pick .check-line,.bulk-bar .check-line){color:var(--cream)}
body[data-page] .library-table td:first-child strong{color:var(--cream)}
body[data-page] :is(.form-field,.form-field>label,.field-label,.library-tools label,.edit-block label,.show-pick legend,.library-show-filter legend,.library-tools .library-show-filter label){color:var(--text-muted)}
body[data-page] :is(.admin-heading h1 em,.text-button,.panel-top a,.queue-number,.timeline-arrow,.day-block .hours){color:var(--accent)}
body[data-page] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]){background:var(--surface-input);color:var(--cream);border-color:var(--line);box-shadow:none}
body[data-page] select{background:var(--surface-input);color:var(--cream);border-color:var(--line);box-shadow:none}
body[data-page] textarea{background:var(--surface-input);color:var(--cream);border-color:var(--line);box-shadow:none}
body[data-page] input[type=checkbox]{accent-color:var(--accent)}
body[data-page] input[type=radio]{accent-color:var(--accent)}
body[data-page] input[type=range]{accent-color:var(--accent)}
body[data-page] button{background:var(--surface-raised);color:var(--button-text);border-color:var(--button-border)}
body[data-page] .credit-file{background:var(--surface-raised);color:var(--cream);border-color:var(--line)}
body[data-page] button:hover{color:#fff;border-color:var(--button-border);box-shadow:none}
body[data-page] .credit-file:hover{border-color:#b79aef80;box-shadow:0 0 12px #b79aef18}
body[data-page] .preview-link{color:var(--cream)}
body[data-page] .text-button{background:transparent}
body[data-page] .playlist-row button{background:transparent;color:var(--button-text)}
body[data-page] .text-button:hover{background:#b79aef0f}
body[data-page] .notice{background:#b79aef0b;color:var(--text-muted);border-color:var(--accent)}body[data-page] .notice strong{color:var(--cream)}
body[data-page] .notice.bad{background:#ff879512;color:#ffb3b9;border-color:#ff879550}
body[data-page] .danger-button{background:#ff879512;color:#ffb3b9;border-color:#ff879550}
body[data-page] [data-editor-error]{color:#ffb3b9}
body[data-page] .library-table tbody tr.library-row:hover{background:#ffffff05}
body[data-page] .library-table tbody tr.library-row.selected{background:#b79aef0d}
body[data-page] .library-table .track-detail>td{background:var(--surface-input)}
body[data-page] .library-table th button{background:transparent;color:inherit;box-shadow:none}
body[data-page] .library-table th[aria-sort=ascending]{color:var(--accent)}
body[data-page] .library-table th[aria-sort=descending]{color:var(--accent)}
body[data-page] .library-table th button:hover{color:var(--accent)}
body[data-page] .library-table td:first-child small{color:var(--text-muted)}
body[data-page] .library-status{color:var(--text-muted)}
body[data-page] .show-chip{background:var(--surface-raised);color:var(--text-muted);border-color:var(--line)}
body[data-page] .track-type{background:#ffffff08;color:var(--text-muted);border-color:var(--line)}
body[data-page] .playlist-row.current{background:#b79aef0b}.playlist-row.played{color:var(--text-muted)}
body[data-page] .credit-status{background:var(--surface-raised);color:var(--text-muted);border-color:var(--line)}
body[data-page] .show-track-dialog::backdrop{background:#000b}
body[data-page] .upload-report{background:var(--surface);color:var(--text-muted);border-color:var(--line)}
body[data-page] .show-choices{border-color:var(--line)}
body[data-page] .upload-visuals{border-color:var(--line)}
body[data-page] .coverage-heading span{color:var(--text-muted)}
body[data-page] .coverage-slot span{color:var(--text-muted)}.mark-orbit{text-shadow:0 0 12px #b79aef35}
@media(max-width:600px){}
@media(max-width:570px){.schedule-badge{background:transparent;color:var(--accent)}}
@media(prefers-reduced-motion:reduce){}

/* Modern night console: neutral surfaces, vivid signal colors. */
@font-face{font-family:Inter;src:url('/brand/inter-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
html{--font-sans:Inter,Arial,sans-serif}
:root{--canvas:#090a0e;--surface:#17181f;--surface-raised:#22232e;--surface-input:#0e1017;--cream:#f5f5f8;--brand-paper:#f5f5f8;--text-muted:#e3e3ed;--muted:var(--text-muted);--line:#ffffff14;--accent-blue:#72b5ff;--brand-orange:var(--accent);--brand-orange-ink:var(--accent);--signal-start:#28caff;--signal-color:#8d54ff;--signal-end:#f244b5;--gradient-control:linear-gradient(#00000045,#00000045),var(--gradient-heading);--button-text:#f0f0f5;--button-border:#ffffff24;--gradient-signal:linear-gradient(100deg,#28caff,#8d54ff 52%,#f244b5);--gradient-warm:linear-gradient(115deg,#ff9448,#ff487a 55%,#f244b5)}
body{color:var(--cream);font-family:Inter,Arial,sans-serif}
body[data-page]{color:var(--cream);font-family:Inter,Arial,sans-serif}
body:not(.home-page):not(.broadcast-page){background:radial-gradient(ellipse at 5% 0%,#7634f514,transparent 46%),radial-gradient(ellipse at 100% 25%,#15bddb09,transparent 50%),var(--canvas);background-attachment:fixed}
.grain{display:none}
.broadcast-page .texture{display:none}
.station-logo{filter:none;mix-blend-mode:normal}
.station-icon{filter:none;mix-blend-mode:normal}
.hero h1{font-weight:650;letter-spacing:-.045em}
.section-heading h2{font-weight:650;letter-spacing:-.045em}
.about-section h2{font-weight:650;letter-spacing:-.045em}
.hero h1 em{font-weight:inherit}
.section-heading h2 em{font-weight:inherit}
.about-section h2 em{font-weight:inherit}
.hero-copy>p{color:var(--text-muted)}
.host-line{color:var(--text-muted)}
.track-meta>span:last-child{color:var(--text-muted)}
.radio-top-right{color:var(--text-muted)}
.serial{color:var(--text-muted)}
.track-demo{color:var(--text-muted)}
.site-header nav{color:var(--text-muted)}
.info-main p{color:var(--text-muted)}
.info-main li{color:var(--text-muted)}
.contact-form label small{color:var(--text-muted)}
.credits-intro{color:var(--text-muted)}
.credit-album{color:var(--text-muted)}
.credit-notices p{color:var(--text-muted)}
.credits-disclaimer{color:var(--text-muted)}
.info-page .site-footer{color:var(--text-muted)}
.location-icon{color:var(--accent)}
.signal-icon{color:var(--accent)}
.underlined:after{transform:none;height:3px;border:0;background:var(--gradient-signal);border-radius:3px;box-shadow:0 0 14px #9749ff60}
.radio-shell{transform:none;border:1px solid #ffffff20;border-radius:20px;background:linear-gradient(145deg,#1d1e28,#12131b);box-shadow:0 24px 64px #0008,0 0 32px #7b3cee14,inset 0 1px #ffffff09}
.radio-screen{background:#0e1017;border-color:#ffffff14;border-radius:12px;box-shadow:inset 0 1px #ffffff04}
.track-art{background:#232330;border-color:#ffffff14;border-radius:10px;box-shadow:none}
.record{border-color:#a780ff80;box-shadow:0 0 14px #9149ff50;background:repeating-radial-gradient(circle,#10121a 0 2px,#30313e 2.6px 3.4px)}
.record-label{background:var(--gradient-signal);color:#090a0e;box-shadow:0 0 9px #9149ff50}
.play-button{background:var(--gradient-control);color:var(--button-text)!important;border:1px solid var(--button-border);border-radius:10px;box-shadow:inset 0 1px #ffffff20}
.start-overlay button{background:var(--gradient-control);color:var(--button-text)!important;border:1px solid var(--button-border);border-radius:10px;box-shadow:inset 0 1px #ffffff20}
.info-button{background:var(--gradient-control);color:var(--button-text)!important;border:1px solid var(--button-border);border-radius:10px;box-shadow:inset 0 1px #ffffff20}
.contact-form button{background:var(--gradient-control);color:var(--button-text)!important;border:1px solid var(--button-border);border-radius:10px;box-shadow:inset 0 1px #ffffff20}
.info-header .listen-live-link{border:1px solid var(--button-border);border-radius:10px}
.credits-header .listen-live-link{border:1px solid var(--button-border);border-radius:10px}
body[data-page] .preview-link{background:var(--gradient-control);color:var(--button-text)!important;border:1px solid var(--button-border);border-radius:10px;box-shadow:inset 0 1px #ffffff20}
.play-button svg{color:currentColor}
.listen-live-link svg{color:currentColor}
.play-button:hover{background:var(--gradient-control);color:#fff!important;border-color:var(--button-border);box-shadow:inset 0 1px #ffffff20}
.start-overlay button:hover{background:var(--gradient-control);color:#fff!important;border-color:var(--button-border);box-shadow:inset 0 1px #ffffff20}
.info-button:hover{background:var(--gradient-control);color:#fff!important;border-color:var(--button-border);box-shadow:inset 0 1px #ffffff20}
.contact-form button:hover{background:var(--gradient-control);color:#fff!important;border-color:var(--button-border);box-shadow:inset 0 1px #ffffff20}
body[data-page] .preview-link:hover{background:var(--gradient-control);color:#fff!important;border-color:var(--button-border);box-shadow:inset 0 1px #ffffff20}
body :is(button,a,input,select,textarea):focus-visible{outline-color:#b99aff;box-shadow:0 0 0 5px #974cff22}
.progress-line div{background:var(--gradient-signal);box-shadow:0 0 12px #9b42ff75}
.progress span{background:var(--gradient-signal);box-shadow:0 0 12px #9b42ff75}
.admin-progress>div{background:var(--gradient-signal);box-shadow:0 0 12px #9b42ff75}
body[data-page] .coverage-meter span{background:var(--gradient-signal);box-shadow:0 0 12px #9b42ff75}
.equalizer-icon i{background:var(--gradient-signal);box-shadow:0 0 12px #9b42ff75}
.progress-line{background:#ffffff12}
.progress{background:#ffffff12}
.admin-progress{background:#ffffff12}
body[data-page] .coverage-meter{background:#ffffff12}
.live-dot{border:0}
.status-led{border:0}
.red-dot{border:0}
.header-live{box-shadow:none}
.live-mark{box-shadow:none}
.broadcast-page .live-mark .live-label{background:none;-webkit-text-fill-color:currentColor}
@keyframes dark-on-air{50%{box-shadow:0 0 8px #28dfb690,0 0 17px #28dfb644}}
.schedule-section{background:#0e1017}.schedule-tabs{border-radius:10px}.schedule-tabs button{border-radius:7px}
.schedule-tabs button[aria-selected=true]{background:var(--surface-raised);color:var(--button-text);box-shadow:inset 0 0 0 1px #a877ff55}
.schedule-row.current{background:#8247f00c;box-shadow:inset 3px 0 #9856ff}
.text-link{border-color:#995aff}.text-link:hover{color:#c4a5ff}
.home-backdrop:after{background:linear-gradient(90deg,#090a0ee6,#090a0e94 50%,#090a0e75),linear-gradient(180deg,#090a0e44,transparent 35%,#090a0ed9)}
.broadcast-page .backdrop{background:radial-gradient(ellipse at 12% 15%,#6832e61c,transparent 55%),radial-gradient(ellipse at 90% 65%,#13b4d313,transparent 60%),var(--canvas)}
.broadcast-page .backdrop:after{background:linear-gradient(90deg,#090a0ee0,transparent 72%),linear-gradient(0deg,#090a0eeb,transparent 49%)}
.broadcast-page .horizon{background:var(--canvas)}.broadcast-page .sun{background:radial-gradient(ellipse,#9b45ff18,transparent 70%)}
.broadcast-page .centerpiece p{color:var(--text-muted)}
.broadcast-page #track-artist{color:var(--text-muted)}
.broadcast-page #track-album{color:var(--text-muted)}
.listener-call-in em{color:var(--text-muted)}
.broadcast-page .dj-avatar{border-color:#ffffff22;box-shadow:none}
.start-overlay{border:1px solid #ffffff25;background:#15161ff5;border-radius:16px;box-shadow:0 14px 50px #0009,0 0 30px #8847ed22}
.show-rule{background:var(--gradient-signal);box-shadow:0 0 13px #9456ff70}
.about-invitation{background:linear-gradient(135deg,#232032,#17181f);border-color:#ffffff18}.about-quote{border-color:#995aff}.founder-photo{border-color:#ffffff1c;box-shadow:none}
body[data-page] .admin-header{background:#0e1017;box-shadow:0 4px 24px #0004}
body[data-page] :is(.admin-panel,.day-card,.library-scroll,.show-track-dialog){background:linear-gradient(145deg,#1b1c26,#15161f);border-color:#ffffff14;border-radius:14px;box-shadow:0 12px 30px #0005,inset 0 1px #ffffff05}
body[data-page] .panel-top{background:#1e1f29;border-color:#ffffff12}
body[data-page] .library-table th{background:#1e1f29;border-color:#ffffff12}
body[data-page] .admin-nav a.selected{text-shadow:none}
body[data-page] button:not(.text-button):not(.danger-button):not(.preview-link):not(:disabled):hover{background:var(--surface-raised);color:#fff;border-color:var(--button-border);box-shadow:none}
body[data-page] :is(input,select,textarea):focus-visible{border-color:#a278ff;box-shadow:0 0 0 3px #9149ff1a}
.contact-form :is(input,select,textarea):focus-visible{border-color:#a278ff;box-shadow:0 0 0 3px #9149ff1a}
.credits-filters :is(input,select):focus-visible{border-color:#a278ff;box-shadow:0 0 0 3px #9149ff1a}
body[data-page] .day-card.today{border-color:#9b5dff66;box-shadow:0 0 18px #9149ff1a}
body[data-page] .day-card.today h2{background:#743be822;color:#c9b0ff}
body[data-page] .track-type.type-station-id{background:#28caff12;color:#68d9ff;border-color:#28caff35}
body[data-page] .track-type.type-stinger{background:#ffb65b14;color:#ffc077;border-color:#ffb65b45}
body[data-page] .track-type.type-bed{background:#28dfb611;color:#61e5c6;border-color:#28dfb630}
body[data-page] .library-status.active{color:#61e5c6}
body[data-page] .upload-zone.dragging{background:#9149ff15;border-color:#a56bff;box-shadow:inset 0 0 25px #9149ff10}
body[data-page] .warning-panel{border-color:#ffb66a45}body[data-page] .warning-panel p{color:#ffbf84}body[data-page] .warning-panel a{color:#ffbf84}
body[data-page] .library-table .library-row.selected .library-actions{background:#211a32}
@media(max-width:600px){.home-backdrop:after{background:linear-gradient(180deg,#090a0ea6,#090a0ec9)}.radio-shell{box-shadow:0 18px 36px #0007,0 0 22px #9149ff15}}
@media(prefers-reduced-motion:reduce){}

/* Deeper purple accents and warm live signals. */
:root{--accent:#a877ff;--gradient-heading:linear-gradient(110deg,#568cff,#984cff 54%,#c32ce7);--gradient-brand-cool:linear-gradient(110deg,#3585ff,#8032f2 58%,#ad2be6);--gradient-brand-warm:linear-gradient(105deg,#ff8b42,#ff477c 52%,#ee38bc);--gradient-warm-control:linear-gradient(110deg,#ff8948,#ff527d 55%,#f14ba9)}
body[data-page] .admin-heading h1 em{background:var(--gradient-heading);background-clip:text;-webkit-background-clip:text;color:transparent;font-style:normal}
.hero h1 em{background:var(--gradient-heading);background-clip:text;-webkit-background-clip:text;color:transparent;font-style:normal}
.section-heading h2 em{background:var(--gradient-heading);background-clip:text;-webkit-background-clip:text;color:transparent;font-style:normal}
.about-section h2 em{background:var(--gradient-heading);background-clip:text;-webkit-background-clip:text;color:transparent;font-style:normal}
.about-page h1 em{background:var(--gradient-heading);background-clip:text;-webkit-background-clip:text;color:transparent;font-style:normal}
body[data-page] .admin-nav a.selected{color:#fff;border-color:transparent;background:transparent}
body[data-page] .show-chip.all-shows{background:#7926e52b;color:#c49bff;border-color:#8735ee66}
body[data-page] .track-type.type-promo{background:#7926e52b;color:#c49bff;border-color:#8735ee66}
body[data-page] .notice:not(.bad){background:#7731de10;border-color:#8b37f0;color:var(--text-muted)}
body[data-page] .text-button{color:var(--button-text)}
body[data-page] .panel-top a{color:#b383ff}
.text-link span{color:#b383ff}
.credit-links a{color:#b383ff}
body[data-page] input::placeholder{color:#d6d5e0}
body[data-page] textarea::placeholder{color:#d6d5e0}
input::placeholder{color:#d6d5e0}
textarea::placeholder{color:#d6d5e0}
.broadcast-page #visualizer{filter:none;box-shadow:none}
.live-dot{background:var(--gradient-brand-warm);box-shadow:0 0 6px #ff5b8385,0 0 15px #ff467c40;animation:station-led-pulse 2.8s ease-in-out infinite}
.status-led{background:var(--gradient-brand-warm);box-shadow:0 0 6px #ff5b8385,0 0 15px #ff467c40;animation:station-led-pulse 2.8s ease-in-out infinite}
.red-dot{background:var(--gradient-brand-warm);box-shadow:0 0 6px #ff5b8385,0 0 15px #ff467c40;animation:station-led-pulse 2.8s ease-in-out infinite}
.header-live{color:#fff;background:linear-gradient(110deg,#fb723218,#ef2f7618);border-color:#ff58814d;animation:station-live-pulse 2.8s ease-in-out infinite}
.live-mark{color:#fff;background:linear-gradient(110deg,#fb723218,#ef2f7618);border-color:#ff58814d;animation:station-live-pulse 2.8s ease-in-out infinite}
.broadcast-page .live-mark .live-label{color:#ff6b86}.broadcast-page .live-mark .subtle{color:#f1e9ed}
.schedule-badge{background:linear-gradient(110deg,#fa753229,#f02f7829);color:#ffadba;border-color:#ff58814d;animation:station-live-pulse 2.8s ease-in-out infinite}
.schedule-row.current .schedule-badge{background:linear-gradient(110deg,#fa753229,#f02f7829);color:#ffadba;border-color:#ff58814d;animation:station-live-pulse 2.8s ease-in-out infinite}
.info-header .listen-live-link{background:var(--gradient-control);color:var(--button-text)!important;border-color:var(--button-border);box-shadow:inset 0 1px #ffffff20;animation:none}
.credits-header .listen-live-link{background:var(--gradient-control);color:var(--button-text)!important;border-color:var(--button-border);box-shadow:inset 0 1px #ffffff20;animation:none}
.info-header .listen-live-link svg{color:currentColor}
.credits-header .listen-live-link svg{color:currentColor}
.info-header .listen-live-link:hover{background:var(--gradient-control);color:#fff!important;border-color:var(--button-border);box-shadow:inset 0 1px #ffffff20}
.credits-header .listen-live-link:hover{background:var(--gradient-control);color:#fff!important;border-color:var(--button-border);box-shadow:inset 0 1px #ffffff20}
@keyframes station-led-pulse{50%{box-shadow:0 0 9px #ff5b8399,0 0 22px #ff467c65;opacity:.78}}
@keyframes station-live-pulse{0%,100%{box-shadow:0 0 8px #ff467c15}50%{box-shadow:0 0 20px #ff467c38}}
@media(prefers-reduced-motion:reduce){.live-dot{animation:none}.status-led{animation:none}.red-dot{animation:none}.header-live{animation:none}.live-mark{animation:none}.schedule-badge{animation:none}.info-header .listen-live-link{animation:none}.credits-header .listen-live-link{animation:none}}


/* Final spacing and interaction details shared by the night interface. */
.home-page{--muted:var(--text-muted)}
.broadcast-page{--muted:var(--text-muted)}
.home-page .track-meta #track-artist{color:var(--text-muted)}
.home-page .track-meta #track-album{color:var(--text-muted)}
.home-page .listen-destination{color:var(--text-muted)}
.broadcast-page .start-overlay p{color:var(--text-muted)}
.about-copy{color:var(--text-muted)}
.home-page .background-toggle{position:static;display:inline-flex;align-items:center;gap:8px;margin-top:18px;min-height:44px;padding:10px 14px;max-width:100%;border-radius:8px;background:#15161fba;color:var(--text-muted);font-size:12px;line-height:1.4}
.home-page .background-toggle[hidden]{display:none}
.home-page .background-toggle:hover{background:var(--surface-raised);color:var(--cream);border-color:var(--accent)}
.site-header nav a{display:inline-flex;align-items:center;min-height:44px;border-radius:8px}
.site-header nav a:hover{background:transparent}
.site-footer{gap:18px 24px;letter-spacing:.02em}
.site-footer a{display:inline-flex;align-items:center;min-height:44px;margin-left:0;font-size:13px;letter-spacing:.01em}
.site-footer>span{font-size:11px;margin-left:auto;margin-right:0}
body[data-page] .schedule-block-head>span{color:var(--text-muted)}
body[data-page] .schedule-empty{color:var(--text-muted)}
body[data-page] #schedule-warning{color:var(--text-muted)}
body[data-page] .schedule-block-actions{border-color:var(--line)}
body[data-page] .track-type.type-listener-message{background:#f244b512;color:#ffabdb;border-color:#f244b538}
body[data-page] .playlist-row.current .playlist-state{color:#ffadba}
body[data-page] .panel-top{flex-wrap:wrap}
body[data-page] .queue-item>div{min-width:0}
body[data-page] .timeline-content>div{min-width:0}
body[data-page] .queue-item strong{overflow-wrap:anywhere}
body[data-page] .timeline-content strong{overflow-wrap:anywhere}
body[data-page] .text-button:disabled{box-shadow:none;cursor:not-allowed}
body[data-page] button:disabled{box-shadow:none;cursor:not-allowed}
body[data-page] .text-button:not(:disabled):hover{background:#8432ea18}
@media(max-width:900px){.home-page .site-header{height:auto;min-height:80px;flex-wrap:wrap;gap:0 14px;padding-top:14px;padding-bottom:13px}.home-page .site-header nav{display:flex;order:3;width:100%;margin:10px 0 0;padding-top:8px;border-top:1px solid var(--line);gap:4px 16px;flex-wrap:wrap;font-size:13px}.home-page .header-live{margin-left:auto}}
@media(max-width:600px){.site-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;align-items:start;padding-block:26px}.site-footer>.station-logo{grid-column:1/-1;width:170px;max-width:100%;margin-bottom:12px}.site-footer>span{display:none}.site-footer a{margin-left:0;white-space:normal}.home-page .background-toggle{margin-top:16px}.credits-filters{gap:14px}.credits-page .credit-links{gap:12px 20px}.credit-links a{display:inline-flex;align-items:center;min-height:44px}}
@media(max-width:380px){.home-page .site-header .station-logo{width:175px}.home-page .header-live{padding:9px 10px;font-size:10px;letter-spacing:.08em}.info-header .station-logo{width:155px}.credits-header .station-logo{width:155px}.info-header .listen-live-link{padding-inline:11px;font-size:12px}.credits-header .listen-live-link{padding-inline:11px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.play-button:hover{transform:none}}

/* Underlined navigation, consistent controls, and readable track states. */
.site-header nav a,body[data-page] .admin-nav a{position:relative;background:transparent;border-color:transparent;box-shadow:none;text-shadow:none;transition:color .18s ease}
.site-header nav a:after,body[data-page] .admin-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--gradient-heading);opacity:0;transition:opacity .18s ease;pointer-events:none}
.site-header nav a:hover,body[data-page] .admin-nav a:hover,body[data-page] .admin-nav a.selected{color:#fff;background:transparent;font-weight:700;border-color:transparent;box-shadow:none}
.site-header nav a:hover:after,.site-header nav a:focus-visible:after,body[data-page] .admin-nav a:hover:after,body[data-page] .admin-nav a:focus-visible:after,body[data-page] .admin-nav a.selected:after{opacity:1}
body[data-page] .library-table td.library-actions{background:#17181f}
body[data-page] .library-table .library-row:hover .library-actions{background:#20212b}
body[data-page] .library-table .library-row.selected .library-actions{background:#211a32}
body[data-page] .text-button:not(:disabled):hover{background:#292136;color:#fff;box-shadow:none}
body[data-page] .danger-button:hover{background:#ff879512;color:#fff;border-color:#ff879550;box-shadow:none}
body[data-page] button:not(.text-button):not(.danger-button):not(.preview-link):not(:disabled):hover{box-shadow:none}
body[data-page] .small-button,body[data-page] .small-button:not(:disabled):hover{background:var(--surface-raised);color:var(--button-text);border-color:var(--button-border);box-shadow:none}
body[data-page] .small-button:not(:disabled):hover{color:#fff}
body[data-page] .small-button:disabled{opacity:.45}
body[data-page] .track-type.type-music{background:#36d87814;color:#76eda5;border-color:#36d87845}
body[data-page] .track-type.type-other{background:#c6cadc12;color:#dde0ed;border-color:#c6cadc40}
.schedule-badge,.schedule-row.current .schedule-badge,body[data-page] .control-live,body[data-page] .playlist-row.current .playlist-state{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;min-width:0;border:1px solid #ff58814d;border-radius:30px;background:linear-gradient(110deg,#fb723218,#ef2f7618);color:#fff;font-size:10px;font-weight:700;line-height:1.4;letter-spacing:.06em;white-space:nowrap}
.schedule-badge .live-label,body[data-page] .control-live .live-label,body[data-page] .playlist-state .live-label{color:#ff6b86}
.schedule-badge .red-dot,body[data-page] .control-live .red-dot,body[data-page] .playlist-state .red-dot{display:inline-block;width:6px;height:6px;flex:none;border-radius:50%;margin:0}
.schedule-badge:empty{display:none}
body[data-page] .playlist-row.current .playlist-state{animation:station-live-pulse 2.8s ease-in-out infinite}
@media(max-width:570px){.schedule-badge{grid-column:2;grid-row:3;justify-self:start;font-size:10px;padding:6px 10px}.schedule-badge:not(:empty):after{content:none}}
@media(prefers-reduced-motion:reduce){body[data-page] .playlist-row.current .playlist-state{animation:none}}

/* Reserve bold label width so navigation never moves on hover. */
.site-header nav a,body[data-page] .admin-nav a{display:inline-grid;grid-template-columns:auto;align-items:center}
.site-header nav a:before,body[data-page] .admin-nav a:before{content:attr(data-label);grid-area:1/1;font-weight:700;visibility:hidden;pointer-events:none}
.site-header nav a>.nav-label,body[data-page] .admin-nav a>.nav-label{grid-area:1/1}
.site-header nav a[hidden],body[data-page] .admin-nav a[hidden]{display:none}
.schedule-tabs button,.schedule-tabs button:hover{color:var(--button-text);background:transparent}
.schedule-tabs button:hover,.schedule-tabs button[aria-selected=true]:hover{color:#fff}
.schedule-tabs button[aria-selected=true]{background:var(--gradient-control);box-shadow:inset 0 1px #ffffff20}
body[data-page] :is(.control-actions,.bulk-actions,.track-edit-actions,.schedule-block-actions,.visual-slot-actions,.credit-actions) .preview-link{background:var(--surface-raised);color:var(--button-text)!important;border-color:var(--button-border);box-shadow:none}
body[data-page] :is(.control-actions,.bulk-actions,.track-edit-actions,.schedule-block-actions,.visual-slot-actions,.credit-actions) .preview-link:hover{color:#fff!important;border-color:var(--button-border)}
body[data-page] .credit-file,body[data-page] .credit-file:hover{background:var(--surface-raised);color:var(--button-text);border-color:var(--button-border);box-shadow:none}
body[data-page] .credit-file:hover{color:#fff}

.broadcast-page .call-in-phone{font-family:Inter,Arial,sans-serif!important;font-weight:600;font-style:normal;letter-spacing:.01em}

/* Keep each configured show mark beside its readable schedule details. */
.schedule-identity{display:flex;align-items:center;gap:18px;min-width:0}
.schedule-logo{display:flex;align-items:center;justify-content:center;flex:0 0 86px;width:86px;height:72px;overflow:hidden;font-size:0}
.schedule-logo .show-branding{display:block;width:auto!important;height:auto!important;max-width:100%;max-height:100%;object-fit:contain}
.schedule-identity .schedule-name{display:block;min-width:0;flex:1}
.schedule-identity .schedule-name strong{white-space:normal}
@media(max-width:1100px){.schedule-identity{gap:12px}.schedule-logo{flex-basis:68px;width:68px;height:62px}}
@media(max-width:570px){.schedule-logo{flex-basis:52px;width:52px;height:54px}.schedule-identity .schedule-name strong{font-size:19px}.schedule-row:has(.schedule-logo) .schedule-host,.schedule-row:has(.schedule-logo) .schedule-badge{margin-left:64px}}

a.header-live,a.schedule-badge{text-decoration:none;cursor:pointer}
a.header-live:hover,a.schedule-badge:hover{color:#fff}

/* Give the live marker its own place and keep DJ portraits discreet. */
.home-page .schedule-row{grid-template-columns:135px minmax(0,1fr) minmax(0,200px)}
.home-page .schedule-time .schedule-badge{display:flex;width:max-content;margin-top:10px;grid-column:auto;grid-row:auto;margin-left:0;justify-self:auto}
.home-page .schedule-host{display:flex;align-items:center;gap:8px;min-width:0;line-height:1.4}
.schedule-dj-photo{width:24px;height:24px;flex:0 0 24px;border-radius:50%;object-fit:cover;object-position:center;border:1px solid var(--line)}
.schedule-dj-photo[hidden]{display:none}
@media(max-width:1100px){.home-page .schedule-row{grid-template-columns:105px minmax(0,1fr) minmax(0,180px)}}
@media(max-width:570px){.home-page .schedule-row{grid-template-columns:76px minmax(0,1fr)}.home-page .schedule-time{grid-row:1 / span 2;align-self:center}.home-page .schedule-host{grid-column:2;grid-row:2}.home-page .schedule-time .schedule-badge{font-size:9px;padding:5px 7px;gap:4px}.home-page .schedule-time .schedule-badge .live-label{display:none}}
