/* CSSTidy 2.0.3: Fri, 16 Jan 2026 19:03:46 -0600 */
:root {
--bg:#0f1115;
--border:#e9edf524;
--border2:#e9edf517;
--link:#e9edf5;
--max:1100px;
--muted:#e9edf5b8;
--panel:#141823;
--panel2:#10131b;
--pill:#e9edf514;
--pill-hover:#e9edf524;
--radius:14px;
--radius2:10px;
--shadow:0 10px 30px #00000059;
--text:#e9edf5
}

* {
box-sizing:border-box
}

html,body {
height:100%
}

body {
background:radial-gradient(1200px 800px at 20% -10%,#ffffff0f,transparent 60%),radial-gradient(1000px 700px at 90% 10%,#ffffff0a,transparent 55%),var(--bg);
color:var(--text);
font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
margin:0
}

a {
color:var(--link)
}

a:hover {
opacity:.92
}

img {
max-width:100%
}

.meta {
color:var(--muted);
font-size:12.5px
}

strong {
font-weight:650
}

.page {
min-height:100vh;
padding-bottom:92px
}

.container {
margin:0 auto;
max-width:var(--max);
padding:0 18px
}

.topbar {
align-items:center;
border-bottom:1px solid var(--border);
display:flex;
gap:16px;
height:98px;
justify-content:space-between;
margin:0 auto;
max-width:var(--max);
overflow:visible;
padding:10px 18px 14px
}

.brand {
align-items:flex-start;
display:flex;
flex-direction:column;
gap:6px;
margin-left:10rem;
min-width:0
}

.logo-link {
display:inline-block;
text-decoration:none
}

.site-logo {
display:block;
filter:drop-shadow(0 0 8px #ffffff26);
height:290px;
position:relative;
top:15px;
width:auto
}

.tagline {
color:var(--muted);
font-size:13px;
letter-spacing:.01em
}

.topnav {
display:flex;
flex-wrap:wrap;
gap:10px;
justify-content:flex-end
}

.pill {
align-items:center;
background:var(--pill);
border:1px solid var(--border2);
border-radius:999px;
color:var(--text);
display:inline-flex;
font-size:13px;
gap:8px;
padding:8px 11px;
text-decoration:none;
white-space:nowrap
}

.pill:hover {
background:var(--pill-hover)
}

.portal {
display:grid;
gap:18px;
grid-template-columns:280px 1fr;
margin:0 auto;
max-width:var(--max);
padding:18px
}

.sidebar {
padding-bottom:1rem;
padding-top:.5rem
}

.main {
min-width:0
}

.sidebox {
background:linear-gradient(180deg,#ffffff0a,#ffffff05);
border:1px solid var(--border);
border-radius:var(--radius);
box-shadow:var(--shadow);
margin-bottom:14px;
padding:14px
}

.sidebox h3 {
color:#e9edf5db;
font-size:13px;
letter-spacing:.06em;
margin:0 0 10px;
text-transform:uppercase
}

.side-link {
border:1px solid transparent;
border-radius:var(--radius2);
display:block;
margin:4px 0;
padding:8px 10px;
text-decoration:none
}

.side-link:hover {
background:#e9edf50f;
border-color:#e9edf514
}

.schedule .row {
align-items:start;
border-bottom:1px solid var(--border2);
display:grid;
gap:12px;
grid-template-columns:52px 1fr auto;
padding:10px 0
}

.schedule .row:last-child {
border-bottom:0
}

.schedule .days {
font-weight:700;
opacity:.92
}

.schedule .show .title {
font-weight:650
}

.schedule .meta {
font-size:12px;
opacity:.75
}

.schedule .time {
white-space:nowrap
}

.main-banner {
height:380px;
margin-bottom:18px;
overflow:hidden;
position:relative
}

.main-banner img {
border:1px solid var(--border);
border-radius:var(--radius);
box-shadow:var(--shadow);
display:block;
height:100%;
width:100%
}

.hero {
margin:0 0 18px;
padding:16px 16px 4px
}

.hero h1 {
font-size:28px;
letter-spacing:.01em;
margin:0 0 8px
}

.hero p {
color:var(--muted);
margin:0;
max-width:70ch
}

.grid {
display:grid;
gap:18px;
grid-template-columns:1fr 1fr
}

.card {
background:linear-gradient(180deg,#ffffff09,#ffffff05);
border:1px solid var(--border);
border-radius:var(--radius);
box-shadow:var(--shadow);
padding:16px
}

.card h2 {
font-size:16px;
letter-spacing:.01em;
margin:0 0 10px
}

.article-list {
display:grid;
gap:10px
}

.article {
background:#e9edf508;
border:1px solid #e9edf51a;
border-radius:var(--radius2);
display:block;
padding:10px 12px;
text-decoration:none
}

.article:hover {
background:#e9edf50f;
border-color:#e9edf529
}

.kicker {
color:var(--muted);
font-size:12px;
margin-bottom:2px
}

.name {
font-weight:650;
margin-bottom:3px
}

.blurb {
color:#e9edf5c7;
font-size:12.5px
}

.main h1,.main h2,.main h3 {
letter-spacing:.01em
}

.main h2 {
margin-top:26px
}

.main p {
max-width:80ch
}

.playerbar {
backdrop-filter:blur(10px);
background:#0a0c10eb;
border-top:1px solid #e9edf524;
bottom:0;
left:0;
padding:10px 14px;
position:fixed;
right:0;
z-index:9999
}

.player-inner {
align-items:center;
display:grid;
gap:14px;
grid-template-columns:auto 1fr auto;
margin:0 auto;
max-width:var(--max)
}

.btn {
background:#e9edf514;
border:1px solid #e9edf533;
border-radius:999px;
color:var(--text);
cursor:pointer;
font-weight:650;
padding:10px 14px
}

.btn:hover {
background:#e9edf524
}

.now .label {
color:var(--muted);
font-size:12px;
letter-spacing:.04em;
margin-bottom:3px;
text-transform:uppercase
}

.now .value {
font-size:14px;
font-weight:650;
line-height:1.25
}

.badge {
align-items:center;
background:#e9edf50d;
border:1px solid #e9edf529;
border-radius:999px;
color:#e9edf5d9;
display:inline-flex;
font-size:12px;
gap:8px;
padding:4px 10px
}

.dot {
background:#555;
border-radius:50%;
height:8px;
opacity:1;
width:8px
}

.dot.live {
background:#e53935;
box-shadow:0 0 6px #e5393599
}

.vol {
align-items:center;
color:var(--muted);
display:flex;
font-size:12.5px;
gap:10px;
white-space:nowrap
}

#vol {
accent-color:#e9edf5d9;
width:140px
}

@media (max-width: 900px) {
.portal {
grid-template-columns:1fr
}

.sidebar {
position:static
}

.grid {
grid-template-columns:1fr
}

.topbar {
align-items:flex-start;
flex-direction:column
}

.topnav {
justify-content:flex-start
}
}

@media (max-width: 600px) {
.site-logo {
height:56px
}

.player-inner {
grid-template-areas:"btn now" "vol vol";
grid-template-columns:auto 1fr
}

.btn {
grid-area:btn
}

.now {
grid-area:now
}

.vol {
grid-area:vol;
justify-content:space-between
}

#vol {
width:200px
}
}

.now {
align-items:center;
display:flex;
gap:12px
}

.art {
background:#e9edf50f;
border:1px solid #e9edf529;
border-radius:10px;
flex:0 0 auto;
height:56px;
object-fit:cover;
width:56px
}

.nowtext {
min-width:0
}

.now .value {
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap
}

.eq {
align-items:flex-end;
display:flex;
gap:4px;
height:28px;
opacity:.9
}

.eq span {
animation:eqBounce 900ms infinite ease-in-out;
animation-play-state:paused;
background:#e9edf5bf;
border-radius:6px;
height:6px;
transform-origin:bottom;
width:4px
}

.eq span:nth-child(1) {
animation-duration:700ms
}

.eq span:nth-child(2) {
animation-duration:900ms
}

.eq span:nth-child(3) {
animation-duration:650ms
}

.eq span:nth-child(4) {
animation-duration:1000ms
}

.eq span:nth-child(5) {
animation-duration:780ms
}

@keyframes eqBounce {
0% {
opacity:.6;
transform:scaleY(.25)
}

30% {
opacity:1;
transform:scaleY(1.0)
}

60% {
opacity:.75;
transform:scaleY(.45)
}

100% {
opacity:.6;
transform:scaleY(.25)
}
}

body.is-playing .eq span {
animation-play-state:running
}

body.is-live .eq span {
background:#e9edf5f2
}

.listenbox {
background:linear-gradient(180deg,#b4282847,#7814142e);
border-color:#dc50508c
}

.listenbox h3 {
color:#ffd6d6
}

.listenbox .meta {
color:#ffdcdcd9
}

.listenbox .side-link {
background:#ffffff0f;
border-color:#ffc8c840
}

.listenbox .side-link:hover {
background:#ff505040;
border-color:#ff8c8c73
}

body.is-playing .listenbox {
box-shadow:0 0 0 1px #ff787859 0 0 24px #ff505040
}

.schedulebox {
background:linear-gradient(180deg,#28785047,#1446322e);
border-color:#78c8a073
}

.schedulebox h3 {
color:#d8ffea
}

.schedulebox .meta {
color:#d2ffebd9
}

.schedulebox .schedule .row {
border-bottom-color:#c8ffe62e
}

.schedulebox .schedule .days {
color:#c8ffe6
}

.schedulebox .schedule .title {
color:#fff
}

.schedulebox .schedule .time {
color:#dcfff0e6
}

.schedulebox .schedule .row.today {
background:#78ffc82e;
border-radius:8px;
padding-left:6px;
padding-right:6px
}

.up-next {
background:#ffffff08;
border:1px solid #e9edf524;
border-radius:14px;
margin-top:14px;
padding:14px
}

.up-next-head {
align-items:baseline;
display:flex;
gap:12px;
justify-content:space-between;
margin-bottom:10px
}

.up-next h2 {
font-size:16px;
letter-spacing:.02em;
margin:0
}

.up-next-link {
font-size:13px;
opacity:.85;
text-decoration:none
}

.up-next-link:hover {
opacity:1;
text-decoration:underline
}

.up-next-list {
display:grid;
gap:10px
}

.up-next-item {
background:#ffffff05;
border:1px solid #e9edf51a;
border-radius:12px;
padding:10px 12px
}

.up-next-time {
font-size:12px;
margin-bottom:2px;
opacity:.8
}

.up-next-title {
font-size:14px;
font-weight:650;
margin-bottom:2px
}

.up-next-dj {
font-size:12px;
opacity:.85
}

.schedulebox .side-link:hover {
background:#78ffc838
}

.schedulebox #onAirText strong {
color:#d8ffea
}

.sidebar.wfmu {
background:#78aab9d9;
border:0;
border-radius:0;
box-shadow:none;
padding:14px 12px
}

.sidebar.wfmu .sidebox {
background:transparent;
border:0;
border-radius:0;
box-shadow:none;
margin:0 0 16px;
padding:0
}

.sidebar.wfmu .sidebox h3 {
color:#000000e0;
font-size:15px;
font-weight:800;
letter-spacing:0;
margin:0 0 8px;
text-transform:none
}

.sidebar.wfmu .sidebox h3::after {
border-top:1px solid #0000008c;
content:"";
display:block;
margin-top:6px
}

.sidebar.wfmu .meta {
color:#000000db;
font-size:14px;
line-height:1.2;
margin:0 0 10px
}

.sidebar.wfmu .side-link {
background:transparent;
border:0;
border-radius:0;
color:#000000f2;
display:block;
font-size:14px;
font-weight:650;
margin:3px 0;
padding:0;
text-decoration:underline;
text-underline-offset:2px
}

.sidebar.wfmu .side-link::after {
content:none!important
}

.sidebar.wfmu .side-link:hover {
opacity:.8
}

.sidebar.wfmu .listenbox,.sidebar.wfmu .schedulebox {
border:1px solid #00000059;
border-radius:0;
margin-bottom:18px;
padding:10px
}

.sidebar.wfmu .listenbox .side-link,.sidebar.wfmu .schedulebox .side-link {
background:transparent;
border:0;
margin:4px 0;
padding:0;
text-decoration:underline
}

.supportbox {
background:linear-gradient(180deg,#8cb4a02e,#00000040);
border-color:#8cb4a073
}

.supportbox h3 {
color:#bef0d7f2
}

.supportbox .side-link {
margin-top:6px
}

.supportbox h3::before {
content:"♥";
margin-right:6px;
opacity:.6
}

.home-excerpt {
background:#ffffff0a;
border:1px solid #e9edf524;
border-radius:16px;
font-size:15px;
line-height:1.55;
margin-top:14px;
padding:16px 18px
}

.home-excerpt p {
margin:0;
opacity:.92
}

.home-excerpt .excerpt-link {
font-size:14px;
margin-top:10px
}

.home-excerpt .excerpt-link a {
opacity:.85;
text-decoration:underline;
text-underline-offset:3px
}

.home-excerpt .excerpt-link a:hover {
opacity:1
}

.art-pop {
background:#ffffff0a;
border:1px solid #e9edf524;
border-radius:10px;
height:54px;
object-fit:cover;
width:54px
}

body.popup {
margin:0
}

.popup-wrap {
padding:10px
}

.popup-row {
align-items:center;
display:flex;
gap:10px
}

.art-pop {
background:#ffffff0a;
border:1px solid #e9edf524;
border-radius:10px;
height:64px;
object-fit:cover;
width:64px
}

.popup-now .value {
font-weight:650
}

.popup-controls {
align-items:center;
display:flex;
gap:10px;
justify-content:space-between;
margin-top:10px
}

.playerDrawer[hidden] {
display:none
}

.playerDrawer {
background:#000000eb;
bottom:0;
left:0;
padding:12px;
position:fixed;
right:0;
z-index:9999
}

.playerDrawer audio {
width:100%
}

.hidden {
display:none!important
}

#liveDot.live {
opacity:1
}

.djBadge {
background:#8b1e1e;
border-radius:999px;
color:#fff;
font-size:.75rem;
line-height:1;
padding:.25rem .6rem
}

.schedulePage h1 {
margin:0 0 12px
}

.scheduleTools {
display:flex;
gap:12px;
margin:10px 0 12px
}

#schedSearch {
background:#00000040;
border:1px solid #ffffff2e;
border-radius:10px;
color:inherit;
padding:10px 12px;
width:min(620px,100%)
}

.scheduleTableWrap {
background:#00000040;
border:1px solid #ffffff1f;
border-radius:14px;
overflow:auto
}

.scheduleTable {
border-collapse:collapse;
min-width:900px;
width:100%
}

.scheduleTable thead th {
background:#0f0f0ff2;
border-bottom:1px solid #ffffff1f;
cursor:pointer;
font-size:.85rem;
letter-spacing:.04em;
padding:10px 12px;
position:sticky;
text-align:left;
top:0
}

.scheduleTable tbody td {
border-bottom:1px solid #ffffff14;
padding:10px 12px;
vertical-align:top
}

.scheduleTable tbody tr:nth-child(even) {
background:#ffffff08
}

.scheduleTable tbody tr:hover {
background:#ffffff0f
}

.scheduleTable .desc {
max-width:520px
}

.schedulePage {
display:flex;
flex-direction:column;
height:calc(100vh - 32px)
}

.scheduleTableWrap {
flex:1
}

.now-playing-ribbon {
background:#111;
border-bottom:1px solid #222;
border-top:1px solid #222;
color:#eee;
font-size:.9rem;
letter-spacing:.05em;
overflow:hidden;
width:100%
}

.ticker {
animation:ticker-scroll 25s linear infinite;
display:inline-block;
padding-left:100%;
white-space:nowrap
}

.ticker span {
display:inline-block;
padding:.6rem 0
}

@keyframes ticker-scroll {
from {
transform:translateX(0)
}

to {
transform:translateX(-100%)
}
}

.now-playing-ribbon:hover .ticker {
animation-play-state:paused;
cursor:pointer
}

.sidebar-logo {
background:transparent!important;
display:inline-block;
line-height:0;
margin:0 auto .75rem;
padding:0!important
}

.sidebar-logo img {
display:block;
height:auto;
margin:0;
max-width:240px
}

.play-btn {
align-items:center;
background:#00000059;
border:2px solid #ffffff80;
border-radius:999px;
color:#fff;
cursor:pointer;
display:inline-flex!important;
height:44px;
justify-content:center;
width:44px
}

.play-btn:hover {
background:currentColor;
color:#000
}

.brandrow {
align-items:center;
display:flex;
gap:16px;
justify-content:center
}

.header-player {
align-items:center;
display:flex;
gap:.75rem;
max-width:50vw
}

.header-np {
font-size:.85rem;
opacity:.85;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap
}

.sidebar-section.up-next {
border-top:1px solid #333;
margin-top:1.5rem;
padding-top:1rem
}

.up-next h3 {
font-size:.85rem;
letter-spacing:.08em;
opacity:.8;
text-transform:uppercase
}

.up-next-show {
margin-top:.5rem
}

.up-next .show-title {
font-weight:600
}

.up-next .show-meta {
font-size:.85rem;
opacity:.75
}

.up-next .show-dj {
font-size:.85rem;
opacity:.6
}

.up-next-show::before {
color:#c33;
content:"▶";
margin-right:.4rem
}

.sidebox.up-next {
background:#1b0f12;
border-left:3px solid #c33
}

.sidebox.up-next h3 {
color:#ffb3b3
}

.sidebox.up-next .show-title {
color:#fff
}

.sidebox.up-next .show-meta,.sidebox.up-next .show-dj {
color:#ffffffbf
}
/* Up Next – mysterious, nocturnal */
.sidebox.up-next {
  background:
    linear-gradient(
      180deg,
      rgba(18, 14, 24, 0.95) 0%,
      rgba(10, 8, 14, 0.98) 100%
    );
  border-left: 2px solid rgba(130, 90, 160, 0.6);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 12px rgba(90, 40, 120, 0.15);
}

.sidebox.up-next h3 {
  color: rgba(200, 170, 220, 0.85);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sidebox.up-next .show-title {
  color: #f3ecff;
  font-weight: 500;
}

.sidebox.up-next .show-meta,
.sidebox.up-next .show-dj {
  color: rgba(210, 200, 230, 0.65);
}

/* subtle signal pulse */
.sidebox.up-next::before {
  content: "";
  display: block;
  height: 2px;
  width: 30%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(160, 120, 200, 0.6),
    transparent
  );
  margin-bottom: 0.6rem;
  opacity: 0.6;
}
.sidebox.up-next:hover {
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.06),
    0 0 16px rgba(120, 80, 180, 0.25);
}
/* SITE FOOTER */
.site-footer {
  margin-top: 4rem;
  padding: 2rem 1.5rem;
  background:
    linear-gradient(
      180deg,
      rgba(8, 6, 12, 0.95),
      rgba(4, 3, 6, 0.98)
    );
  border-top: 1px solid rgba(255,255,255,0.06);
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.footer-brand {
  font-weight: 600;
  color: #e6ddff;
  letter-spacing: 0.08em;
}

.footer-tagline {
  display: block;
  font-size: 0.85rem;
  color: rgba(200, 190, 220, 0.6);
  margin-top: 0.25rem;
}

.footer-right a {
  margin-left: 1rem;
  font-size: 0.85rem;
  color: rgba(200, 190, 220, 0.65);
  text-decoration: none;
}

.footer-right a:hover {
  color: #fff;
}
.site-footer::before {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  margin-bottom: 1.5rem;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(160, 120, 200, 0.4),
    transparent
  );
}
/* Footer tone variables (defaults: night) */
.site-footer {
  --f-bg-1: rgba(8, 6, 12, 0.95);
  --f-bg-2: rgba(4, 3, 6, 0.98);
  --f-accent: rgba(160, 120, 200, 0.40);
  --f-text: rgba(210, 200, 230, 0.70);
  --f-text-strong: #e6ddff;

  margin-top: 4rem;
  padding: 2rem 1.5rem;
  background: linear-gradient(180deg, var(--f-bg-1), var(--f-bg-2));
  border-top: 1px solid rgba(255,255,255,0.06);
}

.site-footer::before {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  margin-bottom: 1.25rem;
  background: linear-gradient(90deg, transparent, var(--f-accent), transparent);
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.footer-brand {
  font-weight: 650;
  color: var(--f-text-strong);
  letter-spacing: 0.08em;
}

.footer-tagline {
  display: block;
  font-size: 0.85rem;
  color: var(--f-text);
  margin-top: 0.25rem;
}

.footer-legalid {
  margin-top: 0.65rem;
  font-size: 0.85rem;
  color: rgba(210, 200, 230, 0.60);
  letter-spacing: 0.02em;
}

.footer-right a {
  margin-left: 1rem;
  font-size: 0.85rem;
  color: var(--f-text);
  text-decoration: none;
}

.footer-right a:hover {
  color: #fff;
}
.music-index .article-list{
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}

.music-index .article-row{
  margin: 0 0 .75rem 0;
}

.music-index .article-link{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  padding: .9rem 1rem;
}

.music-index .article-link:hover{
  border-color: rgba(255,255,255,.25);
}

.music-index .article-title{
  font-weight: 700;
  margin-bottom: .25rem;
}

.music-index .article-desc{
  opacity: .85;
  line-height: 1.3;
  font-size: .95rem;
}

.music-index .article-arrow{
  opacity: .75;
  font-size: 1.1rem;
}
.music-index{
  margin-top: 2rem;
}
.music-index .article-list{
  list-style:none; padding:0; margin:1rem 0 0;
}
.music-index .article-row{ margin:0 0 .75rem 0; }
.music-index .article-link{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; text-decoration:none;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:.9rem 1rem;
}
.music-index .article-link:hover{ border-color: rgba(255,255,255,.25); }
.music-index .article-title{ font-weight:700; margin-bottom:.25rem; }
.music-index .article-desc{ opacity:.85; line-height:1.3; font-size:.95rem; }
.music-index .article-arrow{ opacity:.75; font-size:1.1rem; }

.featured-row{ margin:1rem 0 1.25rem; }
.featured-link{
  display:block; text-decoration:none;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  padding:1.1rem 1.1rem .95rem;
}
.featured-link:hover{ border-color: rgba(255,255,255,.3); }
.featured-kicker{
  text-transform:uppercase; letter-spacing:.08em;
  font-size:.75rem; opacity:.75; margin-bottom:.4rem;
}
.featured-title{ font-weight:800; font-size:1.25rem; margin-bottom:.35rem; }
.featured-desc{ opacity:.88; line-height:1.35; margin-bottom:.6rem; }
.featured-cta{ opacity:.75; font-size:.9rem; }

.pager{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; margin-top:1.25rem;
}
.pager a{ text-decoration:none; opacity:.9; }
.pager a:hover{ opacity:1; }
.pager-count{ opacity:.75; font-size:.9rem; }
