:root{--color-bg: #000000;--color-bg-alt: #050805;--color-fg: #00ff41;--color-fg-dim: #00b32d;--color-fg-muted: #008020;--color-accent: #39ff7c;--color-warn: #ffb000;--color-error: #ff3030;--color-border: #00ff41;--font-display: "VT323", "Share Tech Mono", "Courier New", monospace;--font-mono: "Share Tech Mono", "VT323", "Courier New", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius: 0;--glow-sm: 0 0 4px rgba(0, 255, 65, .55);--glow-md: 0 0 8px rgba(0, 255, 65, .65), 0 0 16px rgba(0, 255, 65, .35);--glow-lg: 0 0 12px rgba(0, 255, 65, .8), 0 0 24px rgba(0, 255, 65, .4);--scanline-opacity: .18;--crt-curvature: .5%;--z-modal: 100;--z-toast: 200;--z-overlay: 50}.scanlines{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:var(--z-overlay);background:repeating-linear-gradient(to bottom,#0000 0,#0000 2px,rgba(0,0,0,var(--scanline-opacity)) 2px,rgba(0,0,0,var(--scanline-opacity)) 3px);mix-blend-mode:multiply}.glow{text-shadow:var(--glow-sm)}.glow-md{text-shadow:var(--glow-md)}.glow-title{position:relative;color:var(--color-accent);text-shadow:0 0 6px rgba(0,255,65,.95),0 0 14px rgba(0,255,65,.7),0 0 28px rgba(0,255,65,.45),0 0 44px rgba(0,255,65,.25);animation:title-pulse 3.4s ease-in-out infinite,title-jitter 2.6s steps(1) infinite}.glow-title:before,.glow-title:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;mix-blend-mode:screen}.glow-title:before{color:#f0a;animation:title-glitch-a 3.8s steps(1) infinite}.glow-title:after{color:#00e0ff;animation:title-glitch-b 3.8s steps(1) infinite}@keyframes title-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.18)}}@keyframes title-jitter{0%,to{transform:translate(0)}17%{transform:translate(.5px)}34%{transform:translate(-.5px)}51%{transform:translateY(.5px)}68%{transform:translate(.5px,-.5px)}85%{transform:translate(-.5px,.5px)}}@keyframes title-glitch-a{0%,14%,to{transform:translate(0);opacity:0;clip-path:inset(0 0 0 0)}15%{transform:translate(-3px,1px);opacity:.85;clip-path:inset(8% 0 65% 0)}17%{transform:translate(2px,-1px);opacity:.7;clip-path:inset(38% 0 28% 0)}19%{transform:translate(-2px);opacity:.6;clip-path:inset(72% 0 8% 0)}21%{transform:translate(0);opacity:0}47%{transform:translate(3px);opacity:.6;clip-path:inset(25% 0 50% 0)}49%{transform:translate(-3px);opacity:.7;clip-path:inset(60% 0 15% 0)}51%{transform:translate(0);opacity:0}82%{transform:translate(-2px,2px);opacity:.8;clip-path:inset(5% 0 75% 0)}84%{transform:translate(2px,-2px);opacity:.65;clip-path:inset(45% 0 25% 0)}86%{transform:translate(-1px);opacity:.5;clip-path:inset(78% 0 4% 0)}88%{transform:translate(0);opacity:0}}@keyframes title-glitch-b{0%,14%,to{transform:translate(0);opacity:0;clip-path:inset(0 0 0 0)}15%{transform:translate(3px,-1px);opacity:.85;clip-path:inset(55% 0 18% 0)}17%{transform:translate(-2px,1px);opacity:.7;clip-path:inset(18% 0 62% 0)}19%{transform:translate(2px);opacity:.6;clip-path:inset(32% 0 38% 0)}21%{transform:translate(0);opacity:0}47%{transform:translate(-3px);opacity:.6;clip-path:inset(50% 0 22% 0)}49%{transform:translate(3px);opacity:.7;clip-path:inset(10% 0 60% 0)}51%{transform:translate(0);opacity:0}82%{transform:translate(2px,-2px);opacity:.8;clip-path:inset(65% 0 12% 0)}84%{transform:translate(-2px,2px);opacity:.65;clip-path:inset(22% 0 50% 0)}86%{transform:translate(1px);opacity:.5;clip-path:inset(40% 0 35% 0)}88%{transform:translate(0);opacity:0}}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.blink{animation:blink 1s steps(2,start) infinite}@keyframes flicker{0%,to{opacity:1}50%{opacity:.92}}.flicker{animation:flicker 4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.scanlines{display:none}.blink{animation:none;opacity:1}.flicker{animation:none}.glow,.glow-md{text-shadow:none}.glow-title{animation:none}.glow-title:before,.glow-title:after{display:none}}:root[data-effects=off] .scanlines{display:none}:root[data-effects=off] .blink{animation:none;opacity:1}:root[data-effects=off] .flicker{animation:none}:root[data-effects=off] .glow,:root[data-effects=off] .glow-md{text-shadow:none}:root[data-effects=off] .glow-title{animation:none;text-shadow:var(--glow-md)}:root[data-effects=off] .glow-title:before,:root[data-effects=off] .glow-title:after{display:none}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;padding:0;height:100%;background:var(--color-bg);color:var(--color-fg);font-family:var(--font-mono);font-size:18px;line-height:1.4;-webkit-font-smoothing:none;font-smooth:never}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:.05em;text-transform:uppercase;margin:0 0 var(--space-3)}a{color:var(--color-fg);text-decoration:underline;text-underline-offset:2px}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button{font-family:var(--font-mono);background:transparent;color:var(--color-fg);border:none;cursor:pointer;padding:0;font-size:inherit}button:disabled{color:var(--color-fg-muted);cursor:not-allowed}pre,code{font-family:var(--font-mono)}.terminal-root{min-height:100%;padding:var(--space-4);max-width:960px;margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.primary-nav{display:flex;flex-wrap:nowrap;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px dashed var(--color-fg-dim);margin-bottom:var(--space-4);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.primary-nav::-webkit-scrollbar{display:none}.primary-nav a{text-decoration:none;white-space:nowrap;flex:0 0 auto}.primary-nav a[aria-current=page]{color:var(--color-accent);text-shadow:var(--glow-sm)}.ascii-frame{margin-bottom:var(--space-4)}.ascii-frame__top,.ascii-frame__bottom{white-space:pre;color:var(--color-fg-dim);overflow-x:hidden}.ascii-frame__body{padding:var(--space-3) 0}.now-playing h2{font-size:1.6rem}.now-playing .time{font-family:var(--font-display);font-size:1.4rem}.dim{color:var(--color-fg-dim)}.small{font-size:.85rem}.error{color:var(--color-error)}.track-list,.playlist-list,.device-list{list-style:none;padding:0;margin:var(--space-3) 0}.track-list li,.playlist-list li,.device-list li{padding:var(--space-1) 0;display:flex;align-items:baseline;gap:.5ch;white-space:nowrap;overflow:hidden;width:100%}.track-list li>.marquee,.playlist-list li>.marquee,.device-list li>.marquee{flex:1 1 0;min-width:0}.transport{display:flex;flex-wrap:nowrap;gap:var(--space-2);margin:var(--space-3) 0;overflow-x:auto}.shuffle-on{color:var(--color-accent);text-shadow:var(--glow-sm)}.like-on{color:#ff3b6b;text-shadow:0 0 4px rgba(255,59,107,.85),0 0 10px rgba(255,59,107,.5)}.up-next{margin-top:var(--space-4);border-top:1px dashed currentColor;padding-top:var(--space-3);opacity:.85}.up-next-list{list-style:none;padding:0;margin:var(--space-2) 0 0 0}.up-next-list li{display:flex;align-items:baseline;gap:.5ch;white-space:nowrap;overflow:hidden;padding:2px 0}.marquee{display:inline-block;max-width:100%;overflow:hidden;white-space:nowrap;vertical-align:bottom}.marquee__inner{display:inline-flex;white-space:nowrap}.marquee__copy{display:inline-block}.marquee--scroll .marquee__copy{padding-right:3ch}@keyframes marquee-slide{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee--scroll .marquee__inner{animation:marquee-slide 14s linear infinite}@media (prefers-reduced-motion: reduce){.marquee--scroll .marquee__inner{animation:none}}.app-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.app-header h1{margin:0}.settings-icon-btn{flex:0 0 auto;font-family:var(--font-mono);font-size:1rem;color:var(--color-fg-dim);background:transparent;border:none;cursor:pointer;padding:0;line-height:1;transition:color .15s}.settings-icon-btn:hover,.settings-icon-btn[aria-current=page]{color:var(--color-accent);text-shadow:var(--glow-sm)}.artist-header{margin:var(--space-3) 0}.artist-play-btn{margin-top:var(--space-2);display:inline-block}.search-input-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.search-input{background:transparent;border:none;border-bottom:1px solid var(--color-fg-dim);color:var(--color-fg);font-family:var(--font-mono);font-size:inherit;width:100%;padding:var(--space-1) 0;outline:none;caret-color:var(--color-accent)}.search-input:focus{border-bottom-color:var(--color-accent)}.search-section-label{margin:var(--space-3) 0 var(--space-1);text-transform:uppercase;letter-spacing:.1em}pre.boot{color:var(--color-fg);font-family:var(--font-display);font-size:1.2rem;padding:var(--space-4)}:root[data-font-size=s] body{font-size:16px}:root[data-font-size=l] body{font-size:20px}.skip-link{position:absolute;left:-9999px;top:0;padding:var(--space-2) var(--space-3);background:var(--color-bg);color:var(--color-accent);z-index:9999}.skip-link:focus{left:0}.log-panel{position:fixed;right:var(--space-2);bottom:var(--space-2);max-width:min(640px,90vw);background:#000000eb;border:1px solid var(--color-fg-dim);padding:var(--space-2);font-size:.8rem;z-index:50}.log-panel__list{list-style:none;padding:0;margin:var(--space-2) 0 0 0;max-height:40vh;overflow-y:auto}.log-panel__list .log-error{color:var(--color-error)}.log-panel__list .log-warn{color:#ffb000}.prefs{border:1px dashed var(--color-fg-dim);padding:var(--space-2) var(--space-3);margin:var(--space-3) 0}.prefs label{display:block;padding:var(--space-1) 0}.settings-list dt{color:var(--color-fg-dim);margin-top:var(--space-2)}.settings-list dd{margin:0 0 var(--space-1) 0}.scope-list{font-size:.75rem;word-break:break-all;color:var(--color-fg-dim)}
