@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--font-sans: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--app-bg: #0f1115;--app-surface: #171b22;--app-surface-2: #202630;--app-surface-3: #29313c;--app-text: #f4f7fb;--app-muted: #aab3bf;--app-border: #343d49;--app-border-strong: #566172;--app-accent-default: #4fc3a7;--app-accent: var(--app-user-tint, var(--app-accent-default));--app-accent-soft: color-mix(in srgb, var(--app-accent) 18%, transparent);--app-warning: #f0b35a;--app-danger: #e47769;--app-ok: #76c78b;--app-panel: color-mix(in srgb, var(--app-surface) 92%, transparent);--app-panel-strong: color-mix(in srgb, var(--app-surface-2) 96%, transparent);--app-control-bg: color-mix(in srgb, var(--app-surface-2) 88%, transparent);--app-control-hover: color-mix(in srgb, var(--app-surface-3) 84%, transparent);--app-shadow-soft: 0 14px 40px rgba(0, 0, 0, .24);--app-shadow-strong: 0 24px 70px rgba(0, 0, 0, .36);--app-radius-card: 8px;--app-radius-control: 8px;--app-radius-shell: 10px;--app-page-max: 1220px;--app-bg-pattern: linear-gradient(180deg, color-mix(in srgb, var(--app-surface-2) 54%, transparent) 0%, transparent 330px), repeating-linear-gradient(90deg, color-mix(in srgb, var(--app-border) 14%, transparent) 0 1px, transparent 1px 42px), repeating-linear-gradient(0deg, color-mix(in srgb, var(--app-border) 10%, transparent) 0 1px, transparent 1px 42px), var(--app-bg);color-scheme:dark}:root[data-theme=day]{--app-bg: #f4f6f8;--app-surface: #ffffff;--app-surface-2: #eef2f5;--app-surface-3: #e1e7ed;--app-text: #15263f;--app-muted: #5d6875;--app-border: #cbd3dc;--app-border-strong: #929daa;--app-accent-default: #1b756b;--app-accent: var(--app-user-tint, var(--app-accent-default));--app-accent-soft: color-mix(in srgb, var(--app-accent) 14%, transparent);--app-warning: #b8752e;--app-danger: #b94c45;--app-ok: #347b4b;--app-panel: color-mix(in srgb, var(--app-surface) 96%, transparent);--app-panel-strong: color-mix(in srgb, var(--app-surface-2) 86%, #ffffff);--app-control-bg: color-mix(in srgb, var(--app-surface) 88%, var(--app-surface-2));--app-control-hover: color-mix(in srgb, var(--app-surface-3) 64%, #ffffff);--app-shadow-soft: 0 14px 34px rgba(27, 37, 49, .12);--app-shadow-strong: 0 24px 60px rgba(27, 37, 49, .18);--app-bg-pattern: linear-gradient(180deg, color-mix(in srgb, var(--app-surface-3) 52%, transparent) 0%, transparent 330px), repeating-linear-gradient(90deg, color-mix(in srgb, var(--app-border) 28%, transparent) 0 1px, transparent 1px 42px), repeating-linear-gradient(0deg, color-mix(in srgb, var(--app-border) 20%, transparent) 0 1px, transparent 1px 42px), var(--app-bg);color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%}html,body{margin:0;padding:0;scroll-behavior:smooth}body{font-family:var(--font-sans);line-height:1.45;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--app-bg-pattern);color:var(--app-text)}a{color:var(--app-accent);text-underline-offset:.16em}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:var(--app-radius-control);border:1px solid var(--app-border);background:color-mix(in srgb,var(--app-accent-soft) 80%,transparent);color:var(--app-text);padding:8px 12px;font-weight:600;text-decoration:none}.theme-toggle--compact{min-height:36px;border-radius:999px;padding:6px 10px;font-size:.8rem}.theme-toggle span[aria-hidden=true]{font-size:1rem;line-height:1}.theme-toggle:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}:where(a,button,input,select,textarea,summary,[role=button]):focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--app-accent) 34%,transparent);color:var(--app-text)}input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{border:1px solid var(--app-border);border-radius:var(--app-radius-control);background:var(--app-control-bg);color:var(--app-text)}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--app-muted) 76%,transparent)}input[type=range]{accent-color:var(--app-accent)}input[type=color]{cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.station-info{padding:20px;color:var(--app-text);overflow-y:auto;margin-top:20px;border:1px solid var(--app-border);border-radius:var(--app-radius-card);background:var(--app-panel);width:100%;box-sizing:border-box;text-align:center}.tracks-container{display:flex;flex-direction:column;gap:12px;align-items:center}.current-track{display:flex;align-items:center;justify-content:center;gap:15px;padding:15px 25px;border-radius:8px;border:1px solid color-mix(in srgb,var(--app-border) 78%,transparent);background:var(--app-panel-strong);margin-bottom:8px;transition:all .3s ease;width:100%;box-sizing:border-box}.previous-track{opacity:.8}.track-icon{display:none}.track-details{flex:1;display:flex;flex-direction:column;gap:5px;text-align:center}.track-label{font-size:.8rem;color:var(--app-accent);margin:0;text-transform:uppercase;font-weight:700}.track-name{font-size:1.2em;font-weight:700;margin:0;color:var(--app-text)}.artist-name{font-size:1em;color:var(--app-muted);margin:0}.album-name{font-size:.9em;color:color-mix(in srgb,var(--app-muted) 82%,transparent);margin:0}.now-playing{font-size:.8em;color:var(--app-muted)}.error-message{padding:15px;background:color-mix(in srgb,var(--app-danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--app-danger) 40%,transparent);border-radius:var(--app-radius-card)}.error-message p{margin:5px 0;color:color-mix(in srgb,var(--app-danger) 74%,var(--app-text))}.error-message p:first-child{color:var(--app-danger);font-weight:700}.current-program{border:1px solid color-mix(in srgb,var(--app-border) 78%,transparent);background:var(--app-panel-strong);border-radius:var(--app-radius-card);padding:15px 25px;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;width:100%;box-sizing:border-box}.program-icon{display:none}.program-info{display:flex;flex-direction:column;gap:5px;text-align:center;width:100%}.program-line{margin:0}.program-name{font-size:1.2em;font-weight:700;margin:0;color:var(--app-text)}.program-host{font-size:1em;color:var(--app-muted);margin:0}.program-time{font-size:.9em;color:color-mix(in srgb,var(--app-muted) 82%,transparent);margin:0;font-family:monospace}.next-program{margin-top:8px;font-size:.9em;color:color-mix(in srgb,var(--app-muted) 82%,transparent);opacity:.8}.current-program span{color:color-mix(in srgb,var(--app-muted) 82%,transparent)}.program-line:first-child span,.program-line:first-child .program-host{color:var(--app-text)!important}.location-sort-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;color:var(--app-muted);font-size:.82rem}.location-sort-status span{min-width:0}.location-sort-status button{min-height:32px;border-radius:8px;border:1px solid var(--app-border);background:var(--app-control-bg);color:var(--app-text);padding:0 10px}.route-loading{min-height:100vh;display:grid;place-items:center;padding:24px;color:var(--app-text);background:var(--app-bg);font-family:var(--font-sans)}.app-skip-link{position:fixed;top:10px;left:10px;z-index:1000;padding:10px 12px;border-radius:var(--app-radius-control);border:1px solid var(--app-border);background:var(--app-control-bg);color:var(--app-text);text-decoration:none;font-weight:700;transform:translateY(-140%);transition:transform .14s ease}.app-skip-link:focus-visible{transform:translateY(0);outline:2px solid var(--app-accent);outline-offset:2px}#app-main-content:focus{outline:none}.app-error-boundary{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:12px;padding:24px;text-align:center;color:var(--app-text);background:var(--app-bg-pattern)}.app-error-boundary-kicker{margin:0;color:var(--app-muted);letter-spacing:.08em;font-size:.8rem;text-transform:uppercase}.app-error-boundary h1{margin:0;font-size:clamp(1.85rem,2.8vw,2.35rem)}.app-error-boundary p{margin:0;max-width:56ch;color:var(--app-muted)}.app-error-boundary-message{color:color-mix(in srgb,var(--app-accent) 70%,var(--app-text))!important;font-weight:600}.app-error-boundary-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.app-error-boundary-actions button{min-height:40px;border-radius:var(--app-radius-control);border:1px solid var(--app-border);background:var(--app-control-bg);color:var(--app-text);padding:8px 12px;font-weight:600}.app-error-boundary-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.app-error-boundary-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:var(--app-radius-control);border:1px solid var(--app-border);background:var(--app-control-bg);color:var(--app-text);text-decoration:none;padding:8px 12px;font-weight:600}.not-found-page{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:10px;padding:24px;text-align:center;color:var(--app-text);background:var(--app-bg-pattern)}.not-found-kicker{margin:0;color:var(--app-muted);letter-spacing:.08em;font-size:.8rem;text-transform:uppercase}.not-found-page h1{margin:0;font-size:clamp(2rem,3vw,2.5rem)}.not-found-page p{margin:0;color:var(--app-muted);max-width:44ch}.not-found-links{margin-top:6px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.not-found-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:var(--app-radius-control);border:1px solid var(--app-border);background:var(--app-control-bg);color:var(--app-text);text-decoration:none;padding:8px 12px;font-weight:600}.stream-list-container{display:flex;flex-direction:column;height:100%}.stream-list-header{padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.keyboard-tip{font-size:12px;color:#999;opacity:.8;font-style:italic;display:block;text-align:center}.stream-list{display:flex;flex-direction:column;gap:8px;padding:16px;overflow-y:auto;flex:1}.stream-item{display:flex;align-items:center;justify-content:flex-start;padding:12px;border-radius:4px;cursor:pointer;transition:background-color .2s ease;color:#e0e0e0}.stream-item:hover{background-color:#ffffff1a}.stream-item.selected{background-color:#ffffff26}.stream-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:12px;cursor:pointer;text-align:left}.favorite-button{background:none;border:none;padding:4px;cursor:pointer;color:#a0a0a0;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;opacity:0;min-width:24px}.stream-item:hover .favorite-button,.stream-item.selected .favorite-button,.favorite-button.favorited{opacity:1}.favorite-button:hover{color:#fff;background-color:#ffffff1a}.favorite-button.favorited{color:#fff}.favorite-button:focus{outline:none;box-shadow:0 0 0 2px #ffffff4d;opacity:1}.stream-item:focus{outline:none}.site-network-footer{margin-top:18px;border-top:1px solid color-mix(in srgb,var(--app-border) 70%,transparent);padding-top:14px;text-align:center;font-size:.9rem;color:inherit}.site-network-footer p{margin:0;opacity:.82}.site-network-footer nav{margin-top:6px;display:inline-flex;flex-wrap:wrap;justify-content:center;gap:8px 12px}.site-network-footer nav a{color:inherit;text-decoration:none;opacity:.85}.site-network-footer nav a:hover{opacity:1;text-decoration:underline}.site-network-footer nav .is-current{border:1px solid color-mix(in srgb,var(--app-warning) 64%,var(--app-border));box-shadow:inset 0 -2px 0 var(--app-warning);border-radius:var(--app-radius-control);padding:3px 9px}.station-lander-page{--sl-bg: #0f151f;--sl-surface: #161f2d;--sl-surface-alt: #1d2a3b;--sl-text: #ecf2fc;--sl-muted: #9eb0c8;--sl-border: #31455e;--sl-accent: #78c0ff;--sl-accent-soft: #1f3f68;--sl-highlight: #ff9f43;--sl-highlight-strong: #ff6b00;min-height:100vh;padding:12px 12px 42px;text-align:left;color:var(--sl-text);background:radial-gradient(95% 80% at 100% -4%,rgba(120,192,255,.2),transparent 58%),radial-gradient(130% 96% at -10% 0%,rgba(84,120,171,.2),transparent 56%),var(--sl-bg)}.station-lander-page h1,.station-lander-page h2,.station-lander-page h3,.station-lander-page p,.station-lander-page li,.station-lander-page summary{color:inherit}.station-lander-hero,.station-lander-player,.station-lander-card{border:1px solid var(--sl-border);border-radius:14px;background:color-mix(in srgb,var(--sl-surface) 94%,transparent)}.station-lander-hero{padding:14px}.station-lander-kicker{margin:0;color:var(--sl-muted)!important;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem}.station-lander-hero h1{margin:8px 0 0;font-size:1.6rem;line-height:1.14}.station-lander-hero-copy{margin:8px 0 0;color:var(--sl-muted)!important}.station-lander-tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.station-lander-tags span{border:1px solid var(--sl-border);border-radius:999px;padding:4px 10px;font-size:.8rem;color:var(--sl-muted)}.station-lander-hero-links{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.station-lander-hero-links a,.station-lander-player-controls button,.station-lander-links-grid a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:10px;border:1px solid var(--sl-border);background:color-mix(in srgb,var(--sl-surface-alt) 90%,transparent);color:var(--sl-text);text-decoration:none;font-size:.9rem;font-weight:600;padding:8px 10px}.station-lander-hero-links a:last-child{grid-column:1 / -1}.station-lander-player{margin-top:10px;padding:10px;position:sticky;top:8px;z-index:20;border-color:color-mix(in srgb,var(--sl-highlight) 46%,var(--sl-border));box-shadow:0 10px 24px #0000003d,0 0 18px color-mix(in srgb,var(--sl-highlight-strong) 18%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--sl-highlight) 20%,var(--sl-surface)),color-mix(in srgb,var(--sl-highlight-strong) 14%,var(--sl-surface)))}.station-lander-player-now span{display:block;color:var(--sl-muted);font-size:.8rem}.station-lander-player-now strong{display:block;margin-top:2px;font-size:1rem}.station-lander-player-controls{margin-top:10px;display:grid;grid-template-columns:auto 1fr auto;gap:8px}.station-lander-player-controls .station-lander-primary{background:linear-gradient(120deg,#2a5f9c,#3d7dbf)}.station-lander-card{margin-top:10px;padding:12px}.station-lander-card h2{margin:0;font-size:1.18rem}.station-lander-card>p{margin:10px 0 0;color:var(--sl-muted)!important}.station-lander-meta{font-size:.84rem}.station-lander-now-next{margin-top:10px;border:1px solid var(--sl-border);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--sl-surface-alt) 86%,transparent)}.station-lander-now-next p{margin:0;color:var(--sl-muted)!important}.station-lander-now-next p+p{margin-top:5px}.station-lander-days{margin-top:10px;display:grid;gap:8px}.station-lander-day{border:1px solid var(--sl-border);border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--sl-surface-alt) 86%,transparent)}.station-lander-day summary{list-style:none;cursor:pointer;padding:10px;display:flex;justify-content:space-between;gap:10px;font-size:.9rem;font-weight:700}.station-lander-day summary::-webkit-details-marker{display:none}.station-lander-day summary span:last-child{color:var(--sl-muted);font-weight:500}.station-lander-day ul{list-style:none;margin:0;padding:0 10px 10px;display:grid;gap:6px}.station-lander-day li{border:1px solid var(--sl-border);border-radius:10px;padding:8px;background:color-mix(in srgb,var(--sl-surface) 80%,transparent)}.station-lander-slot-time,.station-lander-slot-show,.station-lander-slot-host{display:block}.station-lander-slot-time{font-size:.79rem;color:var(--sl-muted)}.station-lander-slot-show{margin-top:1px;font-size:.92rem;font-weight:700}.station-lander-slot-host{margin-top:1px;font-size:.8rem;color:var(--sl-muted)}.station-lander-list{margin:10px 0 0;padding-left:20px}.station-lander-list li+li{margin-top:5px}.station-lander-faq-list{margin-top:10px;display:grid;gap:8px}.station-lander-faq-item{border:1px solid var(--sl-border);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--sl-surface-alt) 86%,transparent)}.station-lander-faq-item h3{margin:0;font-size:.97rem}.station-lander-faq-item p{margin:6px 0 0;color:var(--sl-muted)!important}.station-lander-links-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.station-lander-links-grid a{justify-content:flex-start}.station-lander-footer-link{margin-top:12px!important;font-size:.9rem}.station-lander-footer-link a{color:var(--sl-accent)}.station-lander-page a:focus-visible,.station-lander-page button:focus-visible,.station-lander-page summary:focus-visible{outline:2px solid var(--sl-accent);outline-offset:2px}@media(min-width:900px){.station-lander-page{max-width:1100px;margin:0 auto;padding:18px 18px 48px}.station-lander-hero{padding:16px}.station-lander-hero-links{display:flex;flex-wrap:wrap}.station-lander-hero-links a:last-child{grid-column:auto}.station-lander-card{padding:14px}.station-lander-days{grid-template-columns:repeat(2,minmax(0,1fr))}.station-lander-links-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.station-lander-page{--sl-bg: var(--app-bg);--sl-surface: var(--app-panel);--sl-surface-alt: var(--app-panel-strong);--sl-text: var(--app-text);--sl-muted: var(--app-muted);--sl-border: color-mix(in srgb, var(--app-border) 88%, transparent);--sl-accent-base: var(--app-user-tint, var(--app-accent-default));--sl-accent: var(--sl-accent-base);--sl-accent-soft: var(--app-accent-soft);--sl-highlight: var(--app-warning);--sl-highlight-strong: color-mix(in srgb, var(--app-warning) 72%, var(--sl-accent));width:min(100%,var(--app-page-max));max-width:none;margin:0 auto;padding:clamp(12px,2vw,24px) clamp(12px,2vw,24px) 44px;background:var(--app-bg-pattern)}.station-lander-hero,.station-lander-player,.station-lander-card,.station-lander-now-next,.station-lander-day,.station-lander-faq-item{border-radius:var(--app-radius-card);border-color:var(--sl-border);background:var(--sl-surface);box-shadow:none}.station-lander-hero{position:relative;overflow:hidden;padding:clamp(14px,2.4vw,24px);background:linear-gradient(135deg,color-mix(in srgb,var(--sl-accent) 18%,transparent),transparent 50%),linear-gradient(180deg,var(--sl-surface-alt),var(--sl-surface));box-shadow:var(--app-shadow-soft)}.station-lander-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--sl-border) 28%,transparent) 0 1px,transparent 1px 44px),repeating-linear-gradient(0deg,color-mix(in srgb,var(--sl-border) 22%,transparent) 0 1px,transparent 1px 44px);opacity:.22}.station-lander-hero>*{position:relative;z-index:1}.station-lander-kicker{letter-spacing:.12em;color:color-mix(in srgb,var(--sl-accent) 66%,var(--sl-muted))!important}.station-lander-hero h1{font-size:clamp(2rem,4.5vw,3.65rem);line-height:1}.station-lander-tags span,.station-lander-hero-links a,.station-lander-player-controls button,.station-lander-links-grid a{border-radius:var(--app-radius-control);border-color:var(--sl-border);background:var(--app-control-bg)}.station-lander-hero-links a:hover,.station-lander-player-controls button:hover,.station-lander-links-grid a:hover{background:var(--app-control-hover)}.station-lander-hero-links .station-lander-official-link{grid-column:1 / -1}.station-lander-player{border-left:3px solid var(--sl-highlight);background:linear-gradient(135deg,color-mix(in srgb,var(--sl-highlight) 18%,transparent),transparent 56%),var(--sl-surface-alt);box-shadow:var(--app-shadow-soft)}.station-lander-player-controls{grid-template-columns:auto 1fr auto}.station-lander-player-controls .station-lander-primary{border-color:color-mix(in srgb,var(--sl-accent) 58%,var(--sl-border));background:linear-gradient(135deg,color-mix(in srgb,var(--sl-accent) 42%,var(--app-control-bg)),var(--app-control-bg))}.station-lander-card{background:color-mix(in srgb,var(--sl-surface) 94%,transparent)}.station-lander-now-next,.station-lander-day,.station-lander-faq-item{background:color-mix(in srgb,var(--sl-surface-alt) 72%,transparent)}.station-lander-day summary{border-bottom:1px solid color-mix(in srgb,var(--sl-border) 72%,transparent)}@media(min-width:900px){.station-lander-page{max-width:none}.station-lander-hero-links .station-lander-official-link{grid-column:auto}}
