@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}.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}
