@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&family=Fraunces:opsz,wght@9..144,500;9..144,650&display=swap";:root,[data-theme=studio]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14110d;--panel:#1c1812;--board-top:#241e16;--ink:#efe6d4;--muted:#b7a78c;--amber:#e2a54a;--red:#d4453a;--line:#efe6d41f;--shadow:0 24px 60px #00000059;--glow:#e2a54a1f;--preset-bg:#15110c;--preset-active:#2a2116;--select-bg:#15110c;--screen:#0b0a08;--lamp-off:#4a2a27;--log-bg:#d9cbb0;--log-ink:#2a241b;--log-muted:#6d5e45;--log-line:#2a241b1f;--log-link:#6b3f12;--viz:#e2a54a;--viz-peak:#d4453a;--display:Fraunces, Georgia, serif;font-family:IBM Plex Sans,Segoe UI,sans-serif}[data-theme=midnight]{--bg:#070b14;--panel:#0d1422;--board-top:#121c30;--ink:#dce7f7;--muted:#8aa0c2;--amber:#6ec8ff;--red:#5b8cff;--line:#6ec8ff24;--glow:#5096ff29;--preset-bg:#0a101c;--preset-active:#16253c;--select-bg:#0a101c;--screen:#05080f;--lamp-off:#1a2740;--log-bg:#c5d4ea;--log-ink:#152033;--log-muted:#4a5e7a;--log-line:#1520331f;--log-link:#1c4f8a;--viz:#6ec8ff;--viz-peak:#fff;--display:Fraunces, Georgia, serif}[data-theme=afterhours]{--bg:#140812;--panel:#1d0e1a;--board-top:#2a1426;--ink:#f4ddef;--muted:#c49ab8;--amber:#ff7ad9;--red:#ff5c8a;--line:#ff7ad924;--glow:#ff5aa024;--preset-bg:#160910;--preset-active:#35182e;--select-bg:#160910;--screen:#0c050b;--lamp-off:#3a1a2c;--log-bg:#ecd2e4;--log-ink:#2c1424;--log-muted:#6e4560;--log-line:#2c14241f;--log-link:#8a245e;--viz:#ff7ad9;--viz-peak:#ffe08a;--display:Fraunces, Georgia, serif}[data-theme=daylight]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#efe6d6;--panel:#f7f0e4;--board-top:#fffaf1;--ink:#2a241b;--muted:#6d5e45;--amber:#b56b12;--red:#c43c3c;--line:#2a241b1f;--shadow:0 18px 40px #5a3c141f;--glow:#b56b121a;--preset-bg:#efe4d2;--preset-active:#ffe2b8;--select-bg:#efe4d2;--screen:#1c1812;--lamp-off:#c9b8a2;--log-bg:#2a241b;--log-ink:#efe6d4;--log-muted:#b7a78c;--log-line:#efe6d41f;--log-link:#e2a54a;--viz:#e2a54a;--viz-peak:#c43c3c;--display:Fraunces, Georgia, serif}[data-theme=chrome]{--bg:#121416;--panel:#1c1f24;--board-top:#2a2e35;--ink:#e8eaee;--muted:#9aa3ae;--amber:#d6dde6;--red:#e23b32;--line:#d6dde624;--glow:#dce4ec14;--preset-bg:#15181c;--preset-active:#2f343c;--select-bg:#15181c;--screen:#0a0b0d;--lamp-off:#4a2a27;--log-bg:#d5dbe3;--log-ink:#1c1f24;--log-muted:#5c6570;--log-line:#1c1f241f;--log-link:#8a1f1a;--viz:#d6dde6;--viz-peak:#e23b32;--display:"IBM Plex Sans", "Segoe UI", sans-serif}[data-theme=neon]{--bg:#04110f;--panel:#071a16;--board-top:#0b2822;--ink:#d7fff4;--muted:#7dbeb0;--amber:#3dffc8;--red:#ff4fd8;--line:#3dffc829;--glow:#3dffc824;--preset-bg:#051412;--preset-active:#0e332b;--select-bg:#051412;--screen:#020908;--lamp-off:#14352f;--log-bg:#c8f5e8;--log-ink:#06221c;--log-muted:#3d6f64;--log-line:#06221c1f;--log-link:#0a7a62;--viz:#3dffc8;--viz-peak:#ff4fd8;--display:"IBM Plex Mono", ui-monospace, monospace}[data-theme=velvet]{--bg:#12080c;--panel:#1b0d12;--board-top:#2a141c;--ink:#f7e4c8;--muted:#c4a07a;--amber:#e8b85a;--red:#c45cff;--line:#e8b85a24;--glow:#c45cff1f;--preset-bg:#14090e;--preset-active:#3a1a24;--select-bg:#14090e;--screen:#0a0507;--lamp-off:#3a2030;--log-bg:#ead4b0;--log-ink:#2a1410;--log-muted:#6e4e32;--log-line:#2a14101f;--log-link:#8a3a12;--viz:#e8b85a;--viz-peak:#c45cff;--display:Fraunces, Georgia, serif}*{box-sizing:border-box}html,body{background:radial-gradient(1200px 500px at 10% -10%, var(--glow), transparent 50%), var(--bg);min-height:100dvh;color:var(--ink);margin:0;overflow-x:hidden}button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#app{max-width:1100px;padding:max(24px, env(safe-area-inset-top)) 20px max(40px, env(safe-area-inset-bottom));margin:0 auto}@media (width>=1200px){#app{max-width:min(1560px,100%)}.board{grid-template-columns:200px minmax(280px,1fr) minmax(480px,1.45fr);gap:20px}}.shell{gap:24px;display:grid}.mast{justify-content:space-between;align-items:center;gap:16px;display:flex}.mast-end{align-items:center;gap:14px;display:flex}.settings{position:relative}.settings-toggle{letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;font-size:.78rem}.settings-scrim{display:none}.settings-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.settings-head .label{margin:0}.settings-close{padding:6px 12px;font-size:.78rem}.settings-panel{z-index:20;border:1px solid var(--line);background:var(--panel);width:min(300px,100vw - 40px);max-height:min(70vh,640px);box-shadow:var(--shadow);border-radius:14px;padding:14px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.settings-panel .themes{margin-top:0}.settings-panel .talk-every{flex-wrap:wrap;margin-top:14px;margin-bottom:12px}.settings-panel .talk-every select{flex:1;min-width:0}.feedback-scrim{z-index:29;background:#00000073;display:block;position:fixed;inset:0}.feedback-scrim[hidden]{display:none}.feedback-panel{z-index:30;border:1px solid var(--line);background:var(--panel);width:min(360px,100vw - 32px);box-shadow:var(--shadow);border-radius:14px;padding:14px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.feedback-panel[hidden]{display:none}.feedback-panel .yours-paste{min-height:7rem}.weather-status{color:var(--muted);margin:0 0 10px;font-size:.82rem}.weather-geo{width:100%;margin-bottom:8px}#news-place-row{margin:0 0 8px}#news-place-row .weather-geo{margin-top:8px}.weather-city{gap:6px;display:flex}.weather-city input{min-width:0;font:inherit;color:var(--ink);background:var(--select-bg);border:1px solid var(--line);border-radius:8px;flex:1;padding:6px 8px}.weather-test{width:100%;margin-top:8px}.yours-paste{width:100%;min-height:4.6rem;font:inherit;color:var(--ink);background:var(--select-bg);border:1px solid var(--line);resize:vertical;border-radius:8px;margin:0 0 8px;padding:6px 8px;font-size:.78rem;line-height:1.35;display:block}.yours-actions{gap:6px;display:flex}.yours-actions .ghost{flex:1}.volume{color:var(--muted);align-items:center;gap:10px;font-size:.82rem;display:flex}.volume input{accent-color:var(--amber);flex:1}.callsign{letter-spacing:.42em;color:var(--amber);margin:0;font-size:.78rem;font-weight:600}.clock{color:var(--muted);margin:0;font-family:IBM Plex Mono,ui-monospace,monospace}.sleep-bug{letter-spacing:.06em;text-transform:uppercase;color:var(--amber);margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem}.board{background:linear-gradient(180deg, var(--board-top), var(--panel));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:176px minmax(240px,1fr) minmax(280px,.95fr);grid-template-areas:"tuner now monitor""tuner coming-up monitor";gap:16px;min-width:0;padding:16px;display:grid;position:relative}.tuner{grid-area:tuner;min-width:0}.tuner-summary{cursor:default;pointer-events:none;align-items:baseline;gap:10px;margin:0 0 10px;list-style:none;display:flex}.tuner-summary::-webkit-details-marker{content:none;display:none}.tuner-summary::marker{content:none;display:none}.tuner-summary .label{margin:0}.tuner-current{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:.82rem;display:none;overflow:hidden}.now{grid-area:now;min-width:0;padding:4px 4px 0}.station,.playback{min-width:0}.monitor{flex-direction:column;grid-area:monitor;min-width:0;display:flex}.label{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:.72rem}.presets{gap:4px;display:grid}.presets button{text-align:left;border:1px solid var(--line);background:var(--preset-bg);color:var(--ink);border-radius:8px;grid-template-columns:3.6em 1fr;align-items:baseline;gap:8px;padding:5px 7px;display:grid}.presets button.active{border-color:var(--amber);background:var(--preset-active)}.preset-freq{color:var(--amber);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.7rem}.preset-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:500;overflow:hidden}.now-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.bugs{flex-direction:column;align-items:flex-end;gap:4px;min-width:0;display:flex}.weather-chip{text-align:right;min-width:0;margin:0}.weather-chip p{color:var(--muted);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;max-width:240px;margin:0;font-size:.82rem;overflow:hidden}.weather-chip .ghost{padding:4px 10px;font-size:.75rem}.setting-toggle{width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;padding:0;font-size:.82rem;display:flex}.switch{border:1px solid var(--line);background:var(--select-bg);border-radius:999px;flex-shrink:0;width:36px;height:20px;position:relative}.switch:after{content:"";background:var(--muted);border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px}.setting-toggle[aria-checked=true] .switch{border-color:var(--amber);background:color-mix(in srgb, var(--amber) 28%, var(--select-bg))}.setting-toggle[aria-checked=true] .switch:after{background:var(--amber);transform:translate(16px)}.news-chip{text-align:right;min-width:0;margin:0}.news-chip p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:240px;margin:0;font-size:.78rem;overflow:hidden}.on-air{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;margin:0;padding:8px 10px 8px 8px;font-size:.78rem;display:inline-flex}button.on-air:hover,button.on-air:focus-visible{border-color:var(--line)}.lamp{background:var(--lamp-off);border-radius:50%;width:10px;height:10px;box-shadow:inset 0 0 4px #000}.on-air.lit{color:var(--red);cursor:default}.on-air.lit .lamp{background:var(--red);box-shadow:0 0 12px var(--red)}.on-air.paused{color:var(--amber);cursor:default}.on-air.paused .lamp{background:var(--amber);box-shadow:0 0 10px var(--amber)}.freq{color:var(--amber);margin:12px 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1rem}h1{font-family:var(--display);letter-spacing:-.03em;margin:2px 0 0;font-size:2.1rem;font-weight:650;line-height:1.1}.tagline{color:var(--muted);margin:6px 0 0;font-size:.9rem}.install-chip,.whats-new{border:1px solid var(--line);background:var(--preset-bg);border-radius:10px;margin:12px 0 0;padding:10px 12px}.install-chip p{color:var(--muted);margin:0;font-size:.82rem}.whats-new .label{margin:0}.whats-new ul{color:var(--muted);margin:8px 0 0;padding:0 0 0 1.1em;font-size:.82rem}.whats-new li+li{margin-top:4px}.install-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.install-actions .ghost{padding:4px 10px;font-size:.75rem}.now-label{margin:22px 0 6px}.now-playing{color:var(--ink);gap:2px;margin:0;font-size:1.05rem;display:grid}.now-artist{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.now-title{font-family:var(--display);letter-spacing:-.03em;font-size:1.55rem;font-weight:650;line-height:1.15}.now-credit{letter-spacing:.04em;color:var(--muted);margin:6px 0 0;font-size:.75rem}.now-credit a{color:var(--amber)}.progress{color:var(--muted);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:12px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem;display:grid}.progress input[type=range]{width:100%;accent-color:var(--amber)}.coming-up{border-top:1px solid var(--line);grid-area:coming-up;min-width:0;margin-top:8px;padding-top:16px}.coming-up .label{margin-bottom:4px}.upcoming{color:var(--muted);margin:0;padding:0;font-size:.85rem;list-style:none}.upcoming li{border-top:1px solid var(--line);padding:5px 0}.upcoming li:first-child{color:var(--ink)}.coming-up.has-subcrates .chip-row,.coming-up.has-library .chip-row,.coming-up.has-order .chip-row{flex-wrap:wrap;gap:8px;max-height:none;margin:0 0 12px;display:flex}.coming-up.has-subcrates .chip-row li,.coming-up.has-library .chip-row li,.coming-up.has-order .chip-row li{border:none;padding:0}.coming-up.has-subcrates .chip-row li:first-child,.coming-up.has-library .chip-row li:first-child,.coming-up.has-order .chip-row li:first-child{color:inherit}.coming-up.is-channels .upcoming{flex-wrap:wrap;gap:8px;display:flex}.coming-up.is-channels .upcoming li{border:none;padding:0}.coming-up.is-channels .upcoming li:first-child{color:inherit}.channel{border:1px solid var(--line);min-height:36px;color:var(--muted);font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:6px 12px;font-size:.82rem;display:inline-flex}.channel:hover,.channel.is-current{border-color:var(--amber);color:var(--ink)}.transport{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.transport .volume{flex:140px;min-width:120px}.icon-btn{justify-content:center;align-items:center;min-width:44px;padding:10px 12px;display:inline-flex}.icon-btn svg{fill:currentColor;width:20px;height:20px;display:block}#play-pause .icon-play,#play-pause.is-paused .icon-pause{display:none}#play-pause.is-paused .icon-play{display:block}.now:not(.live) .progress,.now:not(.live) #prev,.now:not(.live) #play-pause,.now:not(.live) #skip,.now:not(.live) #talk-now,.now.is-cluster #prev,.now.is-cluster #skip,.now.live #go{display:none}.talk-every{color:var(--muted);align-items:center;gap:8px;margin-top:16px;font-size:.85rem;display:flex}.talk-every select{font:inherit;color:var(--ink);background:var(--select-bg);border:1px solid var(--line);border-radius:8px;padding:6px 8px}.settings-panel .keys{color:var(--muted);margin:12px 0 0;font-size:.75rem}.go,.ghost{border:1px solid var(--line);border-radius:999px;padding:10px 16px}.go{background:var(--red);color:#fff;border-color:#0000;align-items:center;gap:8px;font-weight:600;display:inline-flex}.go-icon{fill:currentColor;flex-shrink:0;width:16px;height:16px}.go:disabled{opacity:.45}.ghost{color:var(--ink);background:0 0}.ghost:disabled{opacity:.35}.board.is-audio .screen{display:none}.board.is-audio.has-art .screen{display:block}.board.is-audio.has-art #player{display:none}.screen{background:var(--screen);border:1px solid var(--line);border-radius:12px;min-height:225px;overflow:hidden}.screen iframe,#player{aspect-ratio:16/9;width:100%;display:block}.cover{aspect-ratio:16/9;object-fit:contain;background:var(--screen);width:100%;display:none}.board.has-art .cover:not([hidden]){display:block}.viz{background:var(--screen);border:1px solid var(--line);border-radius:10px;width:100%;height:72px;margin-top:10px;display:block}.themes{grid-template-columns:1fr 1fr;gap:6px;display:grid}.themes button{text-align:left;border:1px solid var(--line);background:var(--preset-bg);color:var(--ink);border-radius:10px;padding:8px 12px;font-size:.85rem}.themes button.active{border-color:var(--amber);background:var(--preset-active)}.log{background:var(--log-bg);color:var(--log-ink);border-radius:14px;padding:16px 18px 8px}.log-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.log-head .label{margin:0}.log-copy{color:var(--log-ink);border-color:var(--log-line);flex-shrink:0;padding:4px 10px;font-size:.72rem}.log .label{color:var(--log-muted)}#transcript{max-height:220px;margin:0;padding:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.82rem;list-style:none;overflow:auto}#transcript li{border-top:1px solid var(--log-line);padding:8px 0}#transcript li[data-kind=dj]{font-style:italic}#transcript a{color:var(--log-link);word-break:break-all}@media (width<=920px){.board{box-shadow:none;background:0 0;border:none;grid-template-columns:1fr;grid-template-areas:"now""monitor""coming-up""tuner";gap:12px;padding:0}.now{padding:0}.pane{border:1px solid var(--line);background:linear-gradient(180deg, var(--board-top), var(--panel));border-radius:14px;padding:14px 12px}.coming-up{border-top:none;margin-top:0;padding-top:14px}.now-label{margin-top:18px}.presets{grid-template-columns:1fr 1fr}.tuner.pane{padding:4px 12px 6px}.tuner:has(.tuner-fold[open]){padding:10px 12px 14px}.tuner-summary{cursor:pointer;pointer-events:auto;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin:0}.tuner-summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex-shrink:0;width:.42em;height:.42em;margin-left:4px;transition:transform .15s;transform:rotate(45deg)}.tuner-fold[open] .tuner-summary{margin-bottom:10px}.tuner-fold[open] .tuner-summary:after{margin-bottom:-2px;transform:rotate(-135deg)}.tuner-current{text-align:right;flex:1;display:block}.tuner-fold[open] .tuner-current,.monitor .label{display:none}.screen{width:100%;min-height:0}.viz{height:56px}}@media (pointer:coarse){.settings-panel .keys{display:none}}@media (width<=720px){#app{padding:max(12px, env(safe-area-inset-top)) 12px max(20px, env(safe-area-inset-bottom))}.shell{gap:14px}.mast{gap:10px}.callsign{letter-spacing:.28em;font-size:.7rem}.clock{font-size:.85rem}.sleep-bug{font-size:.7rem}.settings-toggle{min-height:44px;padding:10px 14px}.settings-panel{top:max(58px, calc(env(safe-area-inset-top) + 48px));width:auto;max-height:calc(100dvh - 68px - env(safe-area-inset-top) - env(safe-area-inset-bottom));position:fixed;left:10px;right:10px}.settings-scrim{z-index:19;background:#00000073;display:block;position:fixed;inset:0}.settings-scrim[hidden]{display:none}.settings-close{min-height:44px;padding:10px 14px}button.on-air{min-height:44px}.weather-city input,.yours-paste,.talk-every select{font-size:16px}.board{gap:12px}.presets{gap:6px}.presets button{align-items:center;min-height:44px;padding:10px}.preset-name{white-space:normal;text-overflow:unset;font-size:.88rem;line-height:1.25;overflow:visible}h1{font-size:1.7rem}.now-title{font-size:1.28rem}.weather-chip .ghost{min-height:36px;padding:8px 12px}.weather-chip p,.news-chip p{max-width:46vw}.transport{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.transport .go{grid-column:1/-1;min-height:48px;padding:14px 16px}.transport .ghost{min-height:44px;padding:12px 8px}.transport .volume{grid-column:1/-1;min-width:0;min-height:44px}.progress input[type=range],.volume input[type=range]{min-height:28px}.coming-up.is-channels .upcoming{max-height:none}.upcoming{max-height:9rem;overflow:auto}.monitor.pane{padding:10px}.log{display:none}}html.is-fs,html.is-fs body{height:100%;overflow:hidden}html.is-fs #app{max-width:none;min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));display:flex}html.is-fs .shell{flex:1;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:100%;min-height:0}html.is-fs .board{grid-template-columns:minmax(160px,200px) minmax(240px,.85fr) minmax(0,1.5fr);min-height:0}html.is-fs .monitor .screen{aspect-ratio:16/9;flex:1;width:100%;min-height:0;max-height:100%;margin-block:auto}html.is-fs .screen iframe,html.is-fs #player,html.is-fs .board.has-art .cover:not([hidden]){height:100%;max-height:100%}html.is-fs .log{max-height:7.5rem;margin:0;overflow:auto}@media (width<=920px){html.is-fs .board{grid-template-columns:1fr}html.is-fs .log{display:none}}html.is-wet .board:after,html.is-wet .viz:after{content:"";pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(185deg, transparent 0 11px, color-mix(in srgb, var(--ink) 14%, transparent) 11px 12px);opacity:.45;z-index:3;background-size:100% 28px;animation:.55s linear infinite rain-fall;position:absolute;inset:0}html.is-wet .viz{position:relative}html.is-storm .screen{animation:5.5s ease-in-out infinite storm-flicker}html.is-storm .on-air.lit .lamp{animation:5.5s ease-in-out infinite storm-lamp}@keyframes rain-fall{0%{background-position:0 0}to{background-position:0 28px}}@keyframes storm-flicker{0%,86%,to{filter:none}88%{filter:brightness(1.35)}90%{filter:brightness(.82)}92%{filter:brightness(1.2)}}@keyframes storm-lamp{0%,86%,to{opacity:1}88%{opacity:.35}91%{opacity:1}93%{opacity:.5}}@media (prefers-reduced-motion:reduce){html.is-wet .board:after,html.is-wet .viz:after,html.is-storm .screen,html.is-storm .on-air.lit .lamp{animation:none}}
