:root{--bg:#050505;--fade-splash:1s;--fade-splash-delay:.1s;--fade-video:2s;--fade-title:.5s;--ease:cubic-bezier(.4, 0, .2, 1);--text-primary:#ffffff8c;--text-muted:#ffffff80;--text-caption:#ffffffeb;--text-artist:#ffffffbd;--text-sm:13px;--text-xs:12px;--line-tight:1.4;--artist-gap:1px;--viz-w:min(46vw, 26rem);--viz-h:min(31vh, 14.75rem);--corner-mask:radial-gradient(125% 125% at 0% 100%, #000 0%, #000000e6 22%, transparent 68%);--corner-blur:7px;--caption-stroke:#000000eb;--caption-stroke-width:.07em;--caption-shadow:0 0 .15em #0000008c, 0 .05em .2em #00000073, 0 0 .6em #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button:not(:disabled){cursor:pointer}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;overflow:hidden}#app{background:var(--bg);touch-action:none;position:fixed;inset:0;overflow:hidden}#app.idle{cursor:none}#app.awaiting-sound{cursor:pointer}#feed{position:absolute;inset:0}.layer{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--fade-video) var(--ease);will-change:opacity;pointer-events:none;background:var(--bg);position:absolute;inset:0}.layer.visible{opacity:1}#lower{padding:0 max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));pointer-events:none;flex-direction:column;align-items:center;gap:1.5rem;display:flex;position:absolute;bottom:0;left:0;right:0}#cue-lane{justify-content:center;width:100%;min-height:4px;display:flex;position:relative}#now-playing{font-size:var(--text-sm);line-height:var(--line-tight);min-height:calc(var(--text-sm) * var(--line-tight) + var(--artist-gap) + var(--text-xs) * var(--line-tight));letter-spacing:.07em;text-transform:lowercase;color:var(--text-caption);paint-order:stroke;-webkit-text-stroke:var(--caption-stroke-width) var(--caption-stroke);text-shadow:var(--caption-shadow);opacity:0;transition:opacity var(--fade-title) var(--ease);pointer-events:none;-webkit-user-select:none;user-select:none;align-self:flex-start;max-width:min(70vw,30rem)}#now-playing.visible{opacity:1}#viz{width:var(--viz-w);height:var(--viz-h);pointer-events:none;opacity:0;transition:opacity var(--fade-title) var(--ease);-webkit-mask-image:var(--corner-mask);-webkit-mask-image:var(--corner-mask);mask-image:var(--corner-mask);position:absolute;bottom:0;left:0}#viz.visible{opacity:1}#scrim{width:var(--viz-w);height:var(--viz-h);pointer-events:none;opacity:0;transition:opacity var(--fade-title) var(--ease);-webkit-backdrop-filter:blur(var(--corner-blur));backdrop-filter:blur(var(--corner-blur));-webkit-mask-image:var(--corner-mask);-webkit-mask-image:var(--corner-mask);mask-image:var(--corner-mask);position:absolute;bottom:0;left:0}#scrim.visible{opacity:1}#now-playing .track,#now-playing .artist{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}@supports (overflow:clip) and (overflow-clip-margin:1em){#now-playing .track,#now-playing .artist{overflow-clip-margin:.8em;overflow:clip}}#now-playing .artist{margin-top:var(--artist-gap);font-size:var(--text-xs);color:var(--text-artist)}#splash{pointer-events:none;z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:1.15rem;display:flex;position:absolute;inset:0}#splash:before{content:"";opacity:1;transition:opacity var(--fade-splash) var(--ease);background:radial-gradient(#00000080 0%,#0000002e 38%,#0000 62%);position:absolute;inset:0}#splash.hidden:before{opacity:0}.wordmark{letter-spacing:.18em;text-transform:lowercase;color:var(--text-primary);text-shadow:0 1px 10px #000000e6;-webkit-user-select:none;user-select:none;opacity:1;filter:blur();transition:opacity var(--fade-splash) var(--ease), transform var(--fade-splash) var(--ease), filter var(--fade-splash) var(--ease);font-size:clamp(1.1rem,4vw,1.6rem);font-weight:400;transform:translateY(0)}#splash.hidden .wordmark{opacity:0;filter:blur(6px);transform:translateY(-14px)}.hint{appearance:none;font:inherit;font-size:var(--text-xs);letter-spacing:.06em;text-transform:lowercase;color:var(--text-muted);text-shadow:0 1px 8px #000000e6;-webkit-user-select:none;user-select:none;pointer-events:auto;opacity:1;filter:blur();min-width:44px;min-height:44px;transition:opacity var(--fade-splash) var(--ease) var(--fade-splash-delay), transform var(--fade-splash) var(--ease) var(--fade-splash-delay), filter var(--fade-splash) var(--ease) var(--fade-splash-delay);background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;padding:.35rem 1rem;display:inline-flex;transform:translateY(0)}#splash.hidden .hint{opacity:0;filter:blur(6px);transform:translateY(10px)}.hint:focus-visible{outline-offset:4px;outline:1px solid #ffffff59}.hint:disabled{visibility:hidden}.off-air-label,.noscript{letter-spacing:.18em;text-transform:lowercase;color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:clamp(1.1rem,4vw,1.6rem)}#splash.off-air .wordmark,#splash.off-air .hint{display:none}#subtitles{text-align:center;max-width:min(82vw,44rem);color:var(--text-caption);paint-order:stroke;-webkit-text-stroke:var(--caption-stroke-width) var(--caption-stroke);text-shadow:var(--caption-shadow);white-space:pre-line;opacity:0;transition:opacity var(--fade-title) var(--ease);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(15px,2.4vh,24px);line-height:1.5}#subtitles.visible{opacity:1}#loading{opacity:0;width:4px;height:4px;transition:opacity var(--fade-title) var(--ease);pointer-events:none;background:#fff6;border-radius:50%;position:absolute;bottom:0;left:calc(50% - 2px)}#loading.visible{animation:breathe 2.8s var(--ease) infinite}@keyframes breathe{0%,to{opacity:.15}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){:root{--fade-splash:.2s;--fade-splash-delay:0s;--fade-video:.2s;--fade-title:.2s}#splash.hidden .wordmark,#splash.hidden .hint{filter:none;transform:none}#loading.visible{opacity:.35;animation:none}#viz{display:none}}
