:root{--bg-primary: #080808;--bg-secondary: #0f0f0f;--bg-panel: #141414;--bg-card: #1a1a1a;--accent: #00e5a0;--accent-dim: rgba(0, 229, 160, .25);--accent-glow: rgba(0, 229, 160, .08);--text-primary: #d8d8d8;--text-secondary: #787878;--text-dim: #484848;--border: #1e1e1e;--border-light: #2a2a2a;--highlight: #003520;--danger: #e04040;--white-panel: #f5f5f0;--white-panel-text: #1a1a1a;--font-mono: "Courier New", "Fira Code", "Cascadia Code", monospace;--font-display: "Courier New", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono);-webkit-font-smoothing:antialiased}.app-error-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg-primary);color:var(--text-primary)}.app-error-screen section{width:min(520px,100%);border:1px solid var(--border-light);background:var(--bg-secondary);padding:20px}.app-error-screen strong{display:block;color:var(--bd-green, var(--accent));font-size:18px;margin-bottom:10px}.app-error-screen p{color:var(--text-secondary);line-height:1.7;margin-bottom:14px}.app-error-screen code{display:block;overflow-wrap:anywhere;color:#ff6b62;font-size:12px}.radio-shell{width:100%;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--bg-primary)}.radio-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(26,26,26,.8) 1px,transparent 1px);background-size:22px 22px;pointer-events:none;z-index:0}.radio-shell>*{position:relative;z-index:1}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;min-height:48px;border-bottom:1px solid var(--border);flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--accent);letter-spacing:2.5px;text-transform:uppercase}.brand-logo{width:22px;height:22px;border-radius:3px;background:var(--bg-secondary);border:1px solid var(--accent-dim);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--accent)}.top-status{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--text-dim);letter-spacing:1px}.on-air-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:2px}.on-air-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:onAirPulse 1.6s ease-in-out infinite}.live-status{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--accent);letter-spacing:1px}.live-dot{width:4px;height:4px;border-radius:50%;background:var(--accent)}@keyframes onAirPulse{0%,to{opacity:1;box-shadow:0 0 3px var(--accent)}50%{opacity:.25;box-shadow:0 0 0 var(--accent)}}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 20px 40px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.main-content::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar-track{background:transparent}.main-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.time-hero{text-align:center;padding:12px 0 4px}.time-digits{font-family:var(--font-display);font-size:76px;line-height:1;letter-spacing:8px;font-weight:700;color:var(--text-primary)}.time-sub{font-size:12px;color:var(--text-secondary);margin-top:6px;letter-spacing:1.5px}.time-on-air{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:3px;margin-top:6px}.player-bar{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.player-track-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.player-info{display:flex;flex-direction:column;gap:2px;min-width:0}.player-title{font-size:13px;color:var(--text-primary);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-artist{font-size:11px;color:var(--text-secondary)}.player-info-top{display:flex;align-items:center;gap:10px}.player-cover-thumb{width:36px;height:36px;border-radius:3px;overflow:hidden;flex-shrink:0;border:1px solid var(--border)}.player-cover-thumb img{width:100%;height:100%;object-fit:cover}.player-info-text{display:flex;flex-direction:column;gap:2px;min-width:0}.player-tags{display:flex;align-items:center;gap:6px;margin-top:5px}.player-slot-tag{font-size:8px;padding:1px 6px;border-radius:2px;text-transform:uppercase;letter-spacing:1px}.player-slot-tag.speech{background:rgba(0,229,160,.12);color:var(--accent);border:1px solid rgba(0,229,160,.25)}.player-slot-tag.music{background:rgba(120,120,220,.12);color:#9b9bdd;border:1px solid rgba(120,120,220,.25)}.player-quality-tag{font-size:8px;padding:1px 5px;border-radius:2px;background:var(--bg-secondary);color:var(--text-dim);border:1px solid var(--border);letter-spacing:1px;text-transform:uppercase}.q-quality{font-size:7px;padding:1px 4px;border-radius:2px;background:var(--bg-secondary);color:var(--text-dim);border:1px solid var(--border);letter-spacing:1px;text-transform:uppercase;flex-shrink:0}.player-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.player-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);min-width:44px;height:30px;padding:0 8px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .15s ease;letter-spacing:1px}.player-btn:hover{border-color:var(--accent-dim);color:var(--accent)}.player-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg-primary);font-size:14px}.player-progress-row{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-dim)}.progress-track{flex:1;height:12px;background:var(--border);border-radius:2px;overflow:hidden;position:relative}.progress-fill{height:3px;width:34%;background:var(--accent);border-radius:2px;transition:width .5s ease;position:absolute;left:0;top:50%;transform:translateY(-50%)}.progress-slider{-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;height:12px;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;position:absolute;width:100%}.dj-mode-badge{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:9px;color:var(--accent);letter-spacing:1.5px;text-transform:uppercase}.dj-mode-badge.unsupported{color:var(--danger)}.dj-mode-label{opacity:.8}.dj-mode-label.unsupported{color:var(--danger);opacity:1;cursor:help}.speech-unsupported-banner{background:rgba(224,64,64,.1);border:1px solid rgba(224,64,64,.3);border-radius:4px;padding:6px 10px;font-size:10px;color:var(--danger);margin-bottom:4px}.live-dot.pulse{animation:live-dot-pulse 1.4s ease-in-out infinite}@keyframes live-dot-pulse{0%,to{opacity:1}50%{opacity:.25}}.desktop-transcript{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;font-size:12px;line-height:1.7}.desktop-transcript-header{font-size:10px;color:var(--text-dim);letter-spacing:2px}.desktop-transcript .transcript-line{color:var(--text-secondary);border-left:2px solid transparent;padding:4px 8px}.desktop-transcript .transcript-line.active{color:var(--text-primary);background:var(--highlight);border-left-color:var(--accent)}.desktop-transcript .ts{color:var(--text-dim);font-size:10px;margin-right:8px}.lyrics-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.lyrics-panel-header{font-size:10px;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase}.lyrics-scroll{max-height:280px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent;display:flex;flex-direction:column;gap:4px}.lyrics-scroll::-webkit-scrollbar{width:4px}.lyrics-scroll::-webkit-scrollbar-track{background:transparent}.lyrics-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.lyric-line{font-size:13px;color:var(--text-secondary);padding:4px 8px;border-left:2px solid transparent;transition:all .25s ease;line-height:1.6}.lyric-line.active{color:var(--accent);background:var(--highlight);border-left-color:var(--accent);font-weight:700}.lyrics-empty{font-size:12px;color:var(--text-dim);padding:16px 0;text-align:center}.mnp-lyrics{display:flex;flex-direction:column;gap:3px;font-size:13px;line-height:1.6;font-family:var(--font-mono);color:#333;max-height:150px;overflow-y:auto}.mnp-lyrics .lyric-line{color:#888;padding:2px 6px;border-radius:2px;border-left:2px solid transparent;transition:all .15s ease}.mnp-lyrics .lyric-line.active{background:rgba(0,229,160,.1);border-left-color:var(--accent);color:#0a0a0a;font-weight:700}.mnp-lyrics-empty{font-size:11px;color:#aaa;padding:8px 0;text-align:center}.queue-section{display:flex;flex-direction:column;gap:6px}.queue-header{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;padding-bottom:4px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.queue-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:3px;font-size:12px;transition:background .12s ease;border-left:2px solid transparent}.queue-item.active{background:var(--highlight);border-left-color:var(--accent)}.queue-item .q-type{font-size:9px;color:var(--accent);min-width:32px;text-transform:uppercase;letter-spacing:.5px}.queue-item .q-title{flex:1;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item .q-artist{font-size:10px;color:var(--text-secondary);flex-shrink:0}.dj-chat-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:14px;display:flex;flex-direction:column;gap:12px}.dj-message{display:flex;gap:10px;align-items:flex-start}.dj-avatar{width:26px;height:26px;border-radius:3px;flex-shrink:0;background:var(--bg-secondary);border:1px solid var(--accent-dim);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--accent);font-weight:700}.dj-avatar.speaking{border-color:var(--accent);box-shadow:0 0 6px var(--accent-dim)}.dj-bubble{background:var(--bg-secondary);border:1px solid var(--border);border-radius:5px;padding:10px 12px;font-size:12px;line-height:1.7;color:var(--text-primary);max-width:88%}.dj-bubble .source-url{display:inline-block;font-size:10px;color:var(--accent-dim);margin-top:6px;text-decoration:none;cursor:pointer}.dj-bubble .source-url:hover{color:var(--accent)}.chat-row{display:flex;gap:8px;align-items:center}.chat-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border);border-radius:3px;padding:9px 12px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary);outline:none;transition:border-color .15s}.chat-input::placeholder{color:var(--text-dim)}.chat-input:focus{border-color:var(--accent-dim)}.chat-send-btn{background:none;border:1px solid var(--border);color:var(--text-dim);width:34px;height:34px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .15s}.chat-send-btn:hover{border-color:var(--accent-dim);color:var(--accent)}.terminal-boot{background:var(--bg-primary);border:1px solid var(--border);border-radius:5px;padding:14px 16px;font-size:11px;line-height:1.9;color:var(--accent);font-family:var(--font-mono)}.terminal-boot .boot-line{opacity:0;animation:bootFade .35s ease-out forwards}.terminal-boot .boot-line:nth-child(1){animation-delay:.08s}.terminal-boot .boot-line:nth-child(2){animation-delay:.22s}.terminal-boot .boot-line:nth-child(3){animation-delay:.36s}.terminal-boot .boot-line:nth-child(4){animation-delay:.5s}.terminal-boot .boot-line:nth-child(5){animation-delay:.64s}.terminal-boot .boot-line:nth-child(6){animation-delay:.78s}.terminal-boot .boot-line:nth-child(7){animation-delay:.92s}.terminal-boot .boot-line:nth-child(8){animation-delay:1.06s}.terminal-boot .boot-line:nth-child(9){animation-delay:1.2s}.terminal-boot .boot-line:nth-child(10){animation-delay:1.34s}.terminal-boot .boot-line:nth-child(11){animation-delay:1.48s}.terminal-boot .boot-line:nth-child(12){animation-delay:1.62s}@keyframes bootFade{to{opacity:1}}.terminal-boot .boot-prompt{color:var(--text-dim)}.terminal-boot .boot-ok{color:var(--accent)}.mobile-now-playing{display:none;flex:1;flex-direction:column;background:var(--bg-primary);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}@media(max-width:767px){.radio-shell>.top-bar,.radio-shell>.main-content{display:none}.mobile-now-playing{display:flex}}.program-shell>.top-bar,.program-shell>.main-content{display:none}.program-shell .mobile-now-playing{display:flex;width:100%;max-width:980px;margin:0 auto}.mnp-header{display:flex;align-items:center;gap:10px;padding:12px 16px;flex-shrink:0;border-bottom:1px solid var(--border)}.mnp-avatar{width:28px;height:28px;border-radius:3px;background:var(--bg-secondary);border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--accent);font-weight:700;flex-shrink:0;box-shadow:0 0 8px var(--accent-dim)}.mnp-header-info{display:flex;flex-direction:column;gap:1px;flex:1}.mnp-brand{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:2px;text-transform:uppercase}.mnp-status{font-size:10px;color:var(--accent);letter-spacing:1px;display:flex;align-items:center;gap:4px}.mnp-waveform-area{position:relative;height:120px;background:var(--bg-primary);display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:0 16px;overflow:hidden;flex-shrink:0}.mnp-waveform-area:not(.active) .waveform-bar,.mnp-mini-wave:not(.active) .mw-bar{animation-play-state:paused;opacity:.25}.waveform-bar{width:3px;border-radius:1px 1px 0 0;background:var(--accent);opacity:.55;animation:waveAnim var(--wave-dur, .9s) ease-in-out infinite alternate;animation-delay:var(--wave-delay, 0s)}@keyframes waveAnim{0%{height:var(--wave-min, 15%);opacity:.35}to{height:var(--wave-max, 90%);opacity:.8}}.mnp-card{margin:-8px 14px 16px;background:var(--white-panel);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:10px;color:var(--white-panel-text);box-shadow:0 2px 16px rgba(0,0,0,.5);position:relative;z-index:2}.mnp-card-title{font-size:11px;color:#666;letter-spacing:2px;text-transform:uppercase}.mnp-card-track{font-size:15px;font-weight:700;font-family:var(--font-mono);display:flex;align-items:center;gap:10px}.mnp-cover-thumb{width:42px;height:42px;border-radius:4px;overflow:hidden;flex-shrink:0;border:1px solid #ddd}.mnp-cover-thumb img{width:100%;height:100%;object-fit:cover}.mnp-track-info{display:flex;flex-direction:column;gap:2px}.mnp-track-name{font-size:15px;font-weight:700}.mnp-track-artist{font-size:12px;font-weight:400;color:#666}.mnp-quality-tag{display:inline-block;font-size:8px;padding:1px 5px;border-radius:2px;background:#e8e8e8;color:#888;letter-spacing:1px;text-transform:uppercase;align-self:flex-start;margin-top:2px}.mnp-card-progress{display:flex;align-items:center;gap:8px;font-size:10px;color:#888}.mnp-card-progress .progress-track{background:#ddd}.mnp-card-progress .progress-fill{height:100%;width:34%;background:var(--accent)}.mnp-transcript{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.6;font-family:var(--font-mono);color:#333;max-height:150px;overflow-y:auto}.mnp-transcript .transcript-line{padding:2px 6px;border-radius:2px;border-left:2px solid transparent;transition:all .15s ease}.mnp-transcript .transcript-line.active{background:rgba(0,229,160,.1);border-left-color:var(--accent);color:#0a0a0a}.mnp-transcript .transcript-line .ts{font-size:9px;color:#aaa;margin-right:6px}.mnp-footer{display:flex;align-items:center;gap:12px;padding:12px 16px;flex-shrink:0;border-top:1px solid var(--border);background:var(--bg-primary)}.mnp-mini-wave{flex:1;height:20px;display:flex;align-items:flex-end;gap:1px;opacity:.4}.mnp-mini-wave .mw-bar{width:2px;background:var(--accent);border-radius:1px 1px 0 0;animation:miniWave var(--mw-dur, .7s) ease-in-out infinite alternate;animation-delay:var(--mw-delay, 0s)}@keyframes miniWave{0%{height:30%}to{height:90%}}.mnp-footer-controls{display:flex;align-items:center;gap:8px}.mnp-footer-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);min-width:44px;height:32px;padding:0 7px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .15s;letter-spacing:1px}.mnp-footer-btn:hover{border-color:var(--accent-dim);color:var(--accent)}.mnp-footer-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.dj-profile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;animation:overlayIn .15s ease}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.dj-profile-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;padding:24px;width:320px;max-width:90vw;display:flex;flex-direction:column;gap:16px;position:relative;animation:cardIn .18s ease}@keyframes cardIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.dj-profile-header{display:flex;align-items:center;gap:12px}.dj-profile-avatar{width:48px;height:48px;border-radius:6px;background:var(--bg-primary);border:1px solid var(--accent-dim);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:var(--accent)}.dj-profile-name{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:3px;color:var(--accent);text-transform:uppercase}.dj-profile-tagline{font-size:11px;color:var(--text-secondary);margin-top:2px}.dj-profile-stats{display:flex;gap:16px;font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1.5px}.dj-profile-stats span{color:var(--accent);font-weight:700;font-size:13px;display:block}.dj-profile-genres{display:flex;flex-wrap:wrap;gap:6px}.genre-tag{font-size:9px;padding:3px 8px;border-radius:2px;border:1px solid var(--border);color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase}.dj-profile-close{position:absolute;top:12px;right:12px;background:none;border:1px solid var(--border);color:var(--text-dim);width:26px;height:26px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .15s}.dj-profile-close:hover{border-color:var(--danger);color:var(--danger)}@media(min-width:1024px){.main-content{max-width:640px;margin:0 auto;padding:28px 0 48px}.time-digits{font-size:96px;letter-spacing:12px}}@media(min-width:768px)and (max-width:1023px){.main-content{max-width:540px;margin:0 auto}}@media(max-height:700px)and (max-width:767px){.mnp-waveform-area{height:80px}.mnp-card{padding:12px;gap:6px}.mnp-transcript{max-height:100px}}.generate-section{text-align:center;padding:32px 20px;display:flex;flex-direction:column;align-items:center;gap:20px}.generate-btn{background:var(--accent);border:none;color:var(--bg-primary);font-family:var(--font-mono);font-size:14px;font-weight:700;letter-spacing:2px;padding:14px 36px;border-radius:4px;cursor:pointer;transition:all .15s ease}.generate-btn:hover{box-shadow:0 0 20px var(--accent-dim);transform:translateY(-1px)}.generate-btn:active{transform:translateY(0)}.generate-hint{font-size:10px;color:var(--text-dim);letter-spacing:1px;max-width:320px;line-height:1.8}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 20px}.spinner-dots{display:flex;gap:6px}.spinner-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:spinnerBounce .7s ease-in-out infinite alternate}.spinner-dot:nth-child(2){animation-delay:.18s}.spinner-dot:nth-child(3){animation-delay:.36s}@keyframes spinnerBounce{to{opacity:.15;transform:translateY(4px)}}.loading-label{font-size:11px;color:var(--text-dim);letter-spacing:2px}.error-state{text-align:center;padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:14px}.error-icon{font-size:28px;color:var(--danger)}.error-message{font-size:12px;color:var(--danger);line-height:1.7;max-width:380px}.error-retry-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;padding:8px 20px;border-radius:3px;cursor:pointer;transition:all .15s}.error-retry-btn:hover{border-color:var(--accent-dim);color:var(--accent)}.refresh-btn{background:none;border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);font-size:10px;padding:6px 14px;border-radius:3px;cursor:pointer;letter-spacing:1px;transition:all .15s;align-self:center}.refresh-btn:hover{border-color:var(--accent-dim);color:var(--accent)}.empty-state{text-align:center;padding:40px 20px;font-size:11px;color:var(--text-dim);line-height:1.8}.cache-badge{font-size:9px;color:var(--text-dim);letter-spacing:1px;text-align:center;padding:2px 0}@keyframes progressPulse{0%,to{width:32%}50%{width:36%}}.progress-fill.animating{animation:progressPulse 3s ease-in-out infinite}@media(min-width:768px){.mobile-only-center{display:none!important}}@media(max-width:767px){.mobile-only-center{display:flex!important;flex:1;align-items:center;justify-content:center;background:var(--bg-primary);flex-direction:column}}.radio-mode-row{display:flex;align-items:center;gap:6px;justify-content:center;padding:0 0 4px}.radio-mode-btn{background:none;border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);font-size:9px;padding:3px 10px;border-radius:3px;cursor:pointer;letter-spacing:1px;transition:all .15s ease}.radio-mode-btn:hover{border-color:var(--accent-dim);color:var(--text-secondary)}.radio-mode-btn.active{background:var(--highlight);border-color:var(--accent);color:var(--accent)}.tts-debug-fab{position:fixed;bottom:16px;right:16px;z-index:90;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-light);background:var(--bg-panel);color:var(--text-secondary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;box-shadow:0 2px 8px rgba(0,0,0,.4)}.tts-debug-fab:hover{border-color:var(--accent-dim);color:var(--accent);box-shadow:0 2px 12px rgba(0,229,160,.15)}.tts-debug-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;animation:overlayIn .15s ease}.tts-debug-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;padding:20px;width:340px;max-width:92vw;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:14px;position:relative;animation:cardIn .18s ease}.tts-debug-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;color:var(--accent);letter-spacing:1px}.tts-debug-close{background:none;border:1px solid var(--border);color:var(--text-dim);width:28px;height:28px;border-radius:3px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s}.tts-debug-close:hover{border-color:var(--danger);color:var(--danger)}.tts-debug-row{display:flex;flex-direction:column;gap:4px}.tts-debug-row label{font-size:10px;color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}.tts-debug-val{font-size:11px;color:var(--accent);font-weight:700}.tts-debug-select{background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;padding:6px 8px;font-family:var(--font-mono);font-size:11px;color:var(--text-primary);outline:none;cursor:pointer}.tts-debug-select:focus{border-color:var(--accent-dim)}.tts-debug-row input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--border);border-radius:2px;outline:none;cursor:pointer}.tts-debug-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-secondary);cursor:pointer;box-shadow:0 0 4px var(--accent-dim)}.tts-debug-row input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-secondary);cursor:pointer;box-shadow:0 0 4px var(--accent-dim)}.tts-debug-range-labels{display:flex;justify-content:space-between;font-size:8px;color:var(--text-dim)}.tts-debug-actions{display:flex;align-items:center;gap:8px;padding-top:4px;flex-wrap:wrap}.tts-debug-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:3px;cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:1px;transition:all .15s}.tts-debug-btn:hover{border-color:var(--accent-dim);color:var(--accent)}.tts-debug-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.tts-debug-hint{font-size:10px;color:var(--danger);letter-spacing:.5px}.tts-debug-section-label{font-size:10px;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;padding-top:6px;border-top:1px solid var(--border)}.tts-debug-status{font-size:10px;color:var(--accent);letter-spacing:.5px}.tts-debug-error{font-size:10px;color:var(--danger);background:rgba(224,64,64,.08);border:1px solid rgba(224,64,64,.2);border-radius:3px;padding:6px 8px;word-break:break-all}.tts-debug-audio-url{font-size:9px;color:var(--text-dim);word-break:break-all}.tts-debug-audio-url code{background:var(--bg-primary);padding:2px 4px;border-radius:2px}.tts-debug-provider-status{font-size:10px;margin-bottom:4px}.tts-debug-provider-row{display:flex;justify-content:space-between;align-items:center;padding:2px 0}.tts-debug-provider-active{font-weight:600;color:var(--accent)}.tts-debug-provider-ok{color:var(--success, #4caf50)}.tts-debug-provider-err{color:var(--danger);max-width:60%;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tts-debug-input{flex:1;height:24px;padding:2px 6px;font-size:11px;background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;color:var(--text-primary);outline:none}.tts-debug-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px rgba(0,163,255,.15)}.broadcast-shell>.top-bar,.broadcast-shell>.main-content,.broadcast-shell>.mobile-only-center,.broadcast-shell>.mobile-now-playing{display:none!important}.broadcast-dashboard{--bd-panel: #1c1f1e;--bd-line: #3a4944;--bd-ink: #f4f5f1;--bd-muted: #98a39f;--bd-green: #1effd1;width:100%;height:100%;overflow:auto;padding:24px 32px 32px;color:var(--bd-ink);background:radial-gradient(circle,rgba(255,255,255,.08) 1.2px,transparent 1.2px) 0 0/22px 22px,#0b0d0c;font-family:var(--font-mono)}.bd-icp-footer{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;justify-content:center;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);font-size:11px;line-height:1.4;text-align:center}.bd-icp-footer a,.bd-icp-footer span{color:var(--bd-muted);text-decoration:none}.bd-icp-footer a:hover{color:var(--bd-green)}.bd-footer-divider{opacity:.45}.bd-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--bd-line)}.bd-logo{font-family:Impact,Haettenschweiler,Arial Black,sans-serif;font-size:clamp(40px,5vw,74px);line-height:.9;letter-spacing:0;text-shadow:3px 3px 0 #000}.bd-mobile-clock{display:none}.bd-top nav{display:flex;gap:22px}.bd-top button{background:transparent;border:0;color:var(--bd-ink);font:700 12px var(--font-mono);letter-spacing:2px;cursor:pointer}.bd-top button:first-child{color:var(--bd-green)}.bd-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,.95fr);gap:18px;padding-top:18px}.bd-hero{grid-column:1/-1;min-height:320px;border:1px solid var(--bd-line);background:rgba(24,27,26,.72);position:relative;padding:28px;overflow:hidden}.bd-hero>span{color:var(--bd-green);font-size:12px;letter-spacing:2px}.bd-live-dot{width:10px;height:10px;display:inline-block;margin-right:10px;border-radius:99px;background:var(--bd-green);box-shadow:0 0 18px var(--bd-green)}.bd-clock{position:absolute;inset:62px 0 auto;text-align:center;font:400 clamp(76px,11vw,150px)/1 Impact,Haettenschweiler,"Arial Black",sans-serif;letter-spacing:4px}.bd-date{position:absolute;inset:210px 0 auto;text-align:center;font-size:13px;letter-spacing:6px}.bd-wave{position:absolute;right:28px;bottom:28px;height:58px;display:flex;align-items:flex-end;gap:4px}.bd-left,.bd-right{display:flex;flex-direction:column;gap:18px}.bd-card{border:1px solid var(--bd-line);background:rgba(30,33,32,.93)}.bd-player{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:20px;align-items:center;padding:28px}.bd-cover{width:78px;height:78px;display:grid;place-items:center;border:1px solid var(--bd-line);background:#101211;color:var(--bd-green);font-weight:900;overflow:hidden}.bd-cover img{width:100%;height:100%;object-fit:cover}.bd-kicker{color:var(--bd-green);font-size:11px;letter-spacing:2px;margin-bottom:8px}.bd-track-copy h2{display:flex;align-items:center;gap:10px;font-size:clamp(22px,2.3vw,34px);margin:0 0 8px;letter-spacing:0}.bd-track-copy p{color:var(--bd-muted);font-size:18px;margin:0}.bd-tags{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.bd-tags span{border:1px solid rgba(30,255,209,.35);color:var(--bd-green);padding:3px 10px;font-size:10px;letter-spacing:1px}.bd-status-strip{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--bd-green);font-size:12px;font-weight:800}.bd-status-strip .bd-spinner{width:13px;height:13px;border-width:2px}.bd-controls{display:flex;align-items:center;gap:18px}.bd-controls button{width:42px;height:42px;border:0;background:transparent;color:var(--bd-ink);font-size:28px;cursor:pointer}.bd-controls .bd-play{width:62px;height:62px;border-radius:14px;background:var(--bd-ink);color:#080a09;font-size:26px}.bd-cli-panel{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(160px,220px);gap:12px;align-items:center;padding:12px;border:1px solid rgba(30,255,209,.22);background:#101211}.bd-cli-panel strong{display:block;color:var(--bd-green);font-size:11px;letter-spacing:1px;text-transform:uppercase}.bd-cli-panel span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--bd-ink)}.bd-cli-panel small{color:var(--bd-muted);margin-right:10px;font-size:11px}.bd-cli-panel p{grid-column:1/-1;margin:0;color:var(--bd-muted);font-size:12px}.bd-cli-actions{display:flex;gap:6px}.bd-cli-actions button{min-width:30px;height:30px;border:1px solid var(--bd-line);background:#171a19;color:var(--bd-ink);cursor:pointer}.bd-cli-volume{display:grid;grid-template-columns:auto 1fr 28px;gap:8px;align-items:center;color:var(--bd-muted);font-size:11px}.bd-cli-volume input{width:100%}.bd-progress{grid-column:1/-1;display:grid;grid-template-columns:84px 1fr 52px;gap:12px;align-items:center;color:var(--bd-muted);font-size:13px}.bd-progress-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.bd-progress-meta b{color:var(--bd-ink);font-size:11px;letter-spacing:1px}.bd-progress-meta span,.bd-progress-duration{font-variant-numeric:tabular-nums}.bd-progress-track{height:16px;position:relative;background:#333735;overflow:hidden}.bd-progress-track>div{height:3px;background:var(--bd-green);position:absolute;top:50%;transform:translateY(-50%)}.bd-progress-track input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.bd-copy{padding:22px;height:360px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--bd-green) rgba(255,255,255,.08)}.bd-copy::-webkit-scrollbar{width:6px}.bd-copy::-webkit-scrollbar-track{background:rgba(255,255,255,.08)}.bd-copy::-webkit-scrollbar-thumb{background:var(--bd-green)}.bd-section-title{display:flex;justify-content:space-between;color:var(--bd-ink);font-weight:800;letter-spacing:2px;font-size:13px;margin-bottom:18px}.bd-section-title span,.bd-muted{color:var(--bd-muted)}.bd-spinner{width:16px;height:16px;display:inline-block;flex:0 0 auto;border:2px solid rgba(30,255,209,.18);border-top-color:var(--bd-green);border-radius:50%;animation:bd-spin .85s linear infinite}.bd-spinner-title{width:22px;height:22px;border-width:3px}.bd-loading-inline{display:inline-flex;align-items:center;justify-content:center;gap:8px}.bd-loading-row{min-height:96px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px dashed rgba(30,255,209,.22);color:var(--bd-muted);font-size:13px;line-height:1.5;text-align:center}@keyframes bd-spin{to{transform:rotate(360deg)}}.bd-line{padding:10px 0 12px;border-bottom:1px dotted rgba(255,255,255,.14);color:rgba(244,245,241,.42)}.bd-line span{display:block;color:rgba(154,163,159,.55);font-size:10px;margin-bottom:6px}.bd-line p{margin:0;font-size:20px;line-height:1.45}.bd-line.active{color:#101211;background:var(--bd-green);margin-inline:-10px;padding-inline:10px}.bd-line.active span{color:rgba(0,0,0,.55)}.bd-copy-auto{display:flex;flex-direction:column;justify-content:center;text-align:center;scroll-behavior:auto;overflow:hidden}.bd-copy-auto .bd-section-title{justify-content:center;margin-bottom:14px;color:#c8c8dc}.bd-copy-auto .bd-line{border:0;padding:2px 0;color:rgba(200,200,220,.3);transition:color .2s ease,transform .2s ease}.bd-copy-auto .bd-line span{display:none}.bd-copy-auto .bd-line.active{background:transparent;margin:0;padding:4px 0;transform:scale(1.02)}.bd-copy-auto .bd-line-spacer{visibility:hidden;pointer-events:none}.bd-copy-auto .bd-line.distance-1{color:rgba(232,232,246,.82)}.bd-copy-auto .bd-line.distance-2{color:rgba(196,196,220,.56)}.bd-copy-auto .bd-line.distance-3{color:rgba(160,160,190,.4)}.bd-copy-auto .bd-line.distance-4,.bd-copy-auto .bd-line.distance-5{color:rgba(128,128,162,.28)}.bd-copy-lyrics .bd-line p{font-size:clamp(18px,1.75vw,26px);font-weight:800;line-height:1.25;letter-spacing:1px}.bd-copy-lyrics .bd-line.active p{display:block;background:transparent;color:#ff554b;padding:0;text-shadow:0 0 18px rgba(255,85,75,.18)}.bd-copy-speech .bd-line p{font-size:clamp(18px,1.55vw,24px);font-weight:750;line-height:1.38}.bd-copy-speech .bd-line.active p{color:var(--bd-green);text-shadow:0 0 18px rgba(30,255,209,.18)}.bd-queue{overflow:hidden}.bd-queue .bd-section-title{padding:18px 24px;margin:0;border-bottom:1px solid var(--bd-line)}.bd-queue-row{display:grid;grid-template-columns:52px 1fr auto;gap:24px;align-items:center;min-height:74px;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.bd-queue-row.active{background:rgba(30,255,209,.11);border-left:6px solid var(--bd-green)}.bd-queue-row b{color:var(--bd-green);font-size:20px}.bd-queue-row strong{display:block;font-size:20px}.bd-queue-row span{display:block;color:var(--bd-muted);margin-top:4px}.bd-queue-row em{color:var(--bd-muted);font-style:normal;font-size:12px}.bd-chat{min-height:430px;display:flex;flex-direction:column}.bd-chat .bd-section-title{padding:18px 22px;border-bottom:1px solid var(--bd-line);margin:0}.bd-dj-bubble{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:24px;flex:1}.bd-avatar{width:48px;height:48px;border:1px solid var(--bd-green);color:var(--bd-green);display:grid;place-items:center;border-radius:12px;box-shadow:0 0 18px rgba(30,255,209,.25)}.bd-dj-bubble>div:last-child{border:1px solid var(--bd-line);border-radius:8px;padding:18px;background:rgba(255,255,255,.035);line-height:1.65}.bd-user-msg{color:var(--bd-green)}.bd-chat-input{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:0 22px 22px;padding:14px;border:1px solid var(--bd-line);background:#0f1110}.bd-chat-input span,.bd-chat-input button{color:var(--bd-green)}.bd-chat-input input{background:transparent;border:0;outline:none;color:var(--bd-ink);caret-color:var(--bd-green);font:15px var(--font-mono);-webkit-appearance:none;appearance:none}.bd-chat-input button{background:transparent;border:0;cursor:pointer;font-weight:800}.bd-stats{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:26px}.bd-stats span{display:block;color:var(--bd-muted);font-size:11px;margin-bottom:8px}.bd-stats strong{font-size:20px;font-weight:400}.bd-library{padding:22px;display:flex;flex-direction:column;gap:14px}.bd-library .bd-section-title{margin-bottom:4px}.bd-runtime{padding:22px}.bd-runtime-mobile{display:none}.bd-runtime-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bd-runtime-grid div{min-width:0;border:1px solid rgba(255,255,255,.1);background:#0f1312;padding:12px}.bd-runtime-grid div.wide,.bd-runtime-grid p{grid-column:1 / -1}.bd-runtime-grid span{display:block;color:#f0bd66;font-size:10px;font-weight:900;letter-spacing:1px;margin-bottom:7px;text-transform:uppercase}.bd-runtime-grid strong{display:block;color:var(--bd-ink);font-size:13px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bd-runtime-grid p{margin:0;color:var(--bd-muted);font-size:12px;line-height:1.65}.bd-runtime-grid .bd-voice-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px}.bd-voice-switch button{min-width:0;border:1px solid rgba(255,255,255,.14);background:#151918;color:var(--bd-muted);padding:8px 6px;font:900 10px var(--font-mono);letter-spacing:1px;cursor:pointer}.bd-voice-switch button.active{border-color:var(--bd-green);background:rgba(30,255,209,.12);color:var(--bd-green)}.bd-runtime-grid .bd-tts-alert{border:1px solid rgba(240,189,102,.32);background:rgba(240,189,102,.08);color:#ffd990;padding:10px 12px}.bd-upload-box{display:block;border:1px dashed rgba(30,255,209,.45);background:#0f1110;padding:18px;cursor:pointer}.bd-upload-box input{display:none}.bd-upload-box span{display:block;color:var(--bd-green);font-size:12px;font-weight:800;letter-spacing:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bd-upload-btn{align-self:flex-start;border:0;background:var(--bd-green);color:#07100d;padding:12px 18px;font:900 12px var(--font-mono);letter-spacing:2px;cursor:pointer}.bd-upload-btn:disabled{opacity:.45;cursor:not-allowed}.bd-upload-status{margin:0;color:var(--bd-muted);line-height:1.6;font-size:13px}.bd-upload-status.done{color:var(--bd-green)}.bd-upload-status.error{color:#ff8f8f}.bd-empty{min-height:220px;padding:34px;display:flex;flex-direction:column;justify-content:center}.bd-empty h2{font-size:32px;margin-bottom:12px}.bd-empty p{color:var(--bd-muted);line-height:1.8;max-width:620px}.bd-empty button{align-self:flex-start;margin-top:22px;background:var(--bd-green);color:#07100d;border:0;padding:14px 22px;font-weight:900;letter-spacing:2px;cursor:pointer}.bd-mobile-tabs{display:none}.bd-subtitle{color:#f0bd66;font-size:12px;letter-spacing:2px;margin-top:10px}.bd-clock-small{color:#f4f5f1;font-size:28px;font-weight:800;letter-spacing:1px}.bd-mode-switch{display:flex;gap:6px;padding:6px;border:1px solid var(--bd-line);background:#111513}.bd-mode-switch button,.bd-section-title button,.bd-settings-btn{border:1px solid rgba(30,255,209,.24);background:transparent;color:#c8cfca;cursor:pointer;font:800 11px var(--font-mono);letter-spacing:1px;padding:8px 10px}.bd-mode-switch button.active,.bd-mode-switch button:hover,.bd-section-title button:hover,.bd-settings-btn:hover{background:#1effd1;border-color:#1effd1;color:#07100d}.bd-three-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:18px;padding-top:18px;min-height:calc(100vh - 150px)}.bd-song-rail,.bd-news-rail,.bd-center{min-width:0;display:flex;flex-direction:column;gap:18px}.bd-song-rail,.bd-news-rail{border:1px solid var(--bd-line);background:rgba(20,24,23,.92);padding:18px;overflow:auto}.bd-news-rail{position:sticky;top:18px;max-height:calc(100vh - 42px)}.bd-rail-meta,.bd-rail-error{margin:0 0 14px;color:var(--bd-muted);font-size:11px;line-height:1.5}.bd-rail-error{color:#ff9f87}.bd-source-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 16px}.bd-source-switch button{min-width:0;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.16);color:#c8cfca;cursor:pointer;font:800 10px var(--font-mono);letter-spacing:1px;padding:8px 6px}.bd-source-switch button.active,.bd-source-switch button:hover:not(:disabled){border-color:#1effd1;background:#1effd1;color:#07100d}.bd-source-switch button:disabled{cursor:not-allowed;opacity:.52}.bd-auth-state{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}.bd-auth-state span,.bd-auth-state small{border:1px solid rgba(255,255,255,.12);color:var(--bd-muted);font-size:10px;font-weight:800;letter-spacing:1px;padding:4px 7px}.bd-auth-state span.ready{border-color:rgba(30,255,209,.38);color:var(--bd-green)}.bd-auth-state small{flex-basis:100%;font-weight:600}.bd-netease-auth{border:1px solid rgba(255,255,255,.1);background:#0f1312;display:flex;flex-direction:column;gap:10px;margin:0 0 16px;padding:12px}.bd-mini-title{color:#f0bd66;font-size:10px;font-weight:900;letter-spacing:2px}.bd-auth-actions,.bd-grant-row{display:grid;gap:8px;grid-template-columns:1fr 1fr}.bd-auth-actions{grid-template-columns:repeat(3,1fr)}.bd-netease-auth button{border:1px solid rgba(30,255,209,.28);background:transparent;color:var(--bd-green);cursor:pointer;font:900 10px var(--font-mono);letter-spacing:1px;padding:8px}.bd-netease-auth button:disabled{cursor:not-allowed;opacity:.45}.bd-netease-auth img{background:#fff;height:auto;max-width:100%}.bd-netease-auth textarea,.bd-netease-auth input{background:#080a09;border:1px solid rgba(255,255,255,.1);color:#f4f5f1;font:11px var(--font-mono);min-width:0;outline:none}.bd-netease-auth textarea{min-height:70px;padding:8px;resize:vertical}.bd-netease-auth input{padding:8px}.bd-netease-auth p{color:var(--bd-muted);font-size:11px;line-height:1.5;margin:0}.bd-song-group{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.bd-song-group h3{color:#f0bd66;font-size:12px;letter-spacing:2px;margin:0 0 4px}.bd-song-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:4px 10px;text-align:left;border:1px solid rgba(255,255,255,.08);background:#0f1312;color:#f4f5f1;padding:11px 12px;cursor:pointer}.bd-song-row:hover{border-color:#1effd1;background:#17211f}.bd-song-row.active{border-color:#ff554b;background:rgba(255,85,75,.12);box-shadow:inset 4px 0 #ff554b}.bd-song-row b{color:#8d93aa;font-size:12px;grid-row:1 / span 2;align-self:center}.bd-song-row.active b,.bd-song-row.active span{color:#ff554b}.bd-song-row span,.bd-song-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bd-song-row span{font-size:13px;font-weight:800}.bd-song-row small{color:var(--bd-muted);grid-column:2;font-size:11px}.bd-song-row em{color:#f0bd66;grid-column:3;grid-row:1 / span 2;align-self:center;font-size:10px;font-style:normal;font-weight:900}.bd-news-row{border-bottom:1px solid rgba(255,255,255,.1);padding:15px 0}.bd-news-row b{color:#f0bd66;font-size:13px}.bd-news-row h3{color:#f4f5f1;font-size:16px;line-height:1.35;margin:8px 0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.bd-news-row p{color:var(--bd-muted);font-size:12px;line-height:1.65;margin:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.bd-news-rail .bd-queue{margin-top:8px}.bd-news-rail .bd-queue-row{grid-template-columns:34px minmax(0,1fr);gap:12px;min-height:auto;padding:12px 0}.bd-news-rail .bd-queue-row em{grid-column:2}.bd-news-rail .bd-queue-row strong,.bd-news-rail .bd-queue-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bd-news-rail .bd-queue-row strong{font-size:13px}.bd-news-rail .bd-queue-row span{font-size:11px}.bd-settings-btn{margin-top:6px}@media(max-width:820px){html,body,#root{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.radio-shell.broadcast-shell{height:auto;min-height:100dvh;overflow:visible}.broadcast-dashboard{padding:28px 28px 112px;overflow-x:hidden}.bd-top{border:0;padding-bottom:28px}.bd-logo{font-family:var(--font-mono);font-size:34px;letter-spacing:0}.bd-clock-small{display:none}.bd-top nav{display:none}.bd-grid{display:block;padding-top:0}.bd-hero{min-height:310px;border:0;background:transparent;padding:0}.bd-live-dot,.bd-hero>span,.bd-date{display:none}.bd-clock{display:block;z-index:2;inset:42px 0 auto;color:var(--bd-ink);font-size:clamp(78px,22vw,128px);line-height:1;text-shadow:3px 3px 0 #000}.bd-wave{left:50%;right:auto;bottom:44px;transform:translate(-50%);height:150px;gap:8px;opacity:.86}.bd-player{background:rgba(30,33,32,.93);color:var(--bd-ink);border:1px solid var(--bd-line);border-radius:18px 18px 0 0;display:flex;flex-direction:column;gap:26px;padding:38px 36px 28px}.bd-cover,.bd-kicker,.bd-tags{display:none}.bd-track-copy h2{font-size:48px;line-height:1.08;letter-spacing:0}.bd-track-copy p{color:var(--bd-muted);font-size:26px;line-height:1.35}.bd-controls{margin-top:0;justify-content:center;gap:22px;order:2}.bd-controls button{width:54px;height:54px;border:1px solid var(--bd-line);border-radius:16px;color:var(--bd-ink);background:#171a19;font-size:28px}.bd-controls .bd-play{width:72px;height:72px;background:var(--bd-green);color:#07100d;border-color:var(--bd-green)}.bd-progress{grid-template-columns:88px minmax(0,1fr) 54px;gap:12px;margin:0;order:3;width:min(100%,410px);align-self:center;color:#9aa39f}.bd-progress-meta b{color:var(--bd-green);font-size:12px}.bd-progress-meta span,.bd-progress-duration{font-size:13px;color:#9aa39f}.bd-progress-track{height:22px;background:#333735}.bd-progress-track>div{background:var(--bd-green);height:6px}.bd-copy{background:rgba(30,33,32,.93);color:var(--bd-ink);border:1px solid var(--bd-line);padding:22px 44px 72px;height:520px;overflow-y:auto}.bd-copy .bd-section-title{display:none}.bd-line{color:rgba(244,245,241,.42);border:0}.bd-line span{color:rgba(154,163,159,.55)}.bd-line p{font-size:30px;line-height:1.38}.bd-line.active{background:transparent;color:var(--bd-green);margin:0;padding:10px 0 12px}.bd-line.active p{display:inline;background:var(--bd-green);color:#07100d;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 8px}.bd-copy-lyrics{justify-content:center;text-align:center;overflow:hidden;background:#080911;color:#c8c8dc}.bd-copy-lyrics .bd-line p{font-size:clamp(22px,6vw,34px);line-height:1.22}.bd-copy-lyrics .bd-line.active p{background:transparent;color:#ff554b;padding:0}.bd-copy-auto{display:flex;justify-content:center;text-align:center;overflow:hidden}.bd-copy-speech .bd-line p{font-size:clamp(22px,5.4vw,32px);line-height:1.28}.bd-copy-speech .bd-line.active p{background:transparent;color:var(--bd-green);padding:0;text-shadow:0 0 18px rgba(30,255,209,.18)}.bd-queue,.bd-right,.bd-stats{display:none}.broadcast-dashboard.tab-air .bd-hero,.broadcast-dashboard.tab-air .bd-player,.broadcast-dashboard.tab-air .bd-copy{display:flex}.broadcast-dashboard.tab-air .bd-hero{display:block}.broadcast-dashboard.tab-air .bd-copy{display:flex}.broadcast-dashboard.tab-queue .bd-hero,.broadcast-dashboard.tab-queue .bd-player,.broadcast-dashboard.tab-queue .bd-copy,.broadcast-dashboard.tab-queue .bd-empty{display:none}.broadcast-dashboard.tab-queue .bd-queue{display:block;margin-top:8px}.broadcast-dashboard.tab-chat .bd-hero,.broadcast-dashboard.tab-chat .bd-left{display:none}.broadcast-dashboard.tab-chat .bd-right{display:flex}.broadcast-dashboard.tab-chat .bd-chat{min-height:calc(100vh - 170px)}.broadcast-dashboard.tab-settings .bd-hero,.broadcast-dashboard.tab-settings .bd-left,.broadcast-dashboard.tab-settings .bd-chat,.broadcast-dashboard.tab-settings .bd-stats{display:none}.broadcast-dashboard.tab-settings .bd-right{display:flex}.broadcast-dashboard.tab-settings .bd-library{display:flex;min-height:calc(100vh - 170px);justify-content:center}.bd-mobile-tabs{position:fixed;z-index:50;left:0;right:0;bottom:0;height:106px;display:grid;grid-template-columns:repeat(4,1fr);background:#252a28;border-top:1px solid var(--bd-line)}.bd-mobile-tabs button{background:transparent;border:0;color:#c8cfca;font:13px var(--font-mono);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.bd-mobile-tabs button:first-child,.bd-mobile-tabs button.active{color:var(--bd-green)}.tts-debug-fab{bottom:116px}}@media(max-width:1180px){.bd-three-grid{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}.bd-news-rail{grid-column:auto}}@media(max-width:820px){.broadcast-dashboard{max-width:100vw;padding:24px 16px 112px}.bd-top{align-items:flex-start;flex-wrap:wrap;gap:16px;width:100%}.bd-logo{font-size:30px;letter-spacing:0}.bd-clock-small{display:none}.bd-mode-switch{box-sizing:border-box;display:grid;grid-template-columns:1fr;order:3;gap:4px;max-width:none;padding:4px;width:100%;overflow:visible}.bd-mode-switch button{letter-spacing:0;min-width:0;padding:8px 6px}.bd-clock-small{margin-left:auto}.bd-three-grid{display:flex;flex-direction:column;gap:18px}.bd-center{order:1}.bd-song-rail{order:2}.bd-news-rail{order:3}.bd-song-rail,.bd-news-rail,.bd-center{box-sizing:border-box;max-height:none;max-width:none;min-width:0;overflow:visible;width:100%}.bd-song-rail,.bd-news-rail{min-height:auto}.bd-news-rail{position:static;max-height:none}.bd-icp-footer{align-items:center;flex-direction:column;gap:5px}.bd-footer-divider{display:none}.bd-runtime-mobile{display:block}.bd-news-rail .bd-runtime{display:none}.bd-song-row{grid-template-columns:28px minmax(0,1fr);min-height:58px}.bd-song-row em{grid-column:2;grid-row:auto;justify-self:start;margin-top:4px;max-width:100%}}
