*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#fff;background:#0d0d0d;justify-content:center;min-height:100vh;padding:24px 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.desk{background:#1a1a1a;border:1px solid #333;border-radius:20px;width:100%;max-width:860px;padding:24px}.desk-header{text-align:center;margin-bottom:20px}.desk-header h1{color:#ff6b35;letter-spacing:3px;text-transform:uppercase;font-size:28px;font-weight:600}.desk-header p{color:#666;letter-spacing:4px;text-transform:uppercase;margin-top:4px;font-size:11px}.section-label{color:#555;letter-spacing:3px;text-transform:uppercase;text-align:center;margin-bottom:8px;font-size:10px}.jingle-section{background:#111;border:1px solid #2a2a2a;border-radius:14px;margin-bottom:12px;padding:14px}.jingle-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.jingle-btn{color:#bbb;cursor:pointer;text-align:center;background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:12px 6px;font-family:inherit;font-size:11px;line-height:1.3;transition:all .12s}.jingle-btn:hover{color:#fff;background:#ff6b35;border-color:#ff6b35;transform:scale(.97)}.jingle-btn.flash{color:#fff;background:#ff6b35;border-color:#ff9060;transform:scale(.94)}.jingle-btn.col-b{border-color:#35a8ff40}.jingle-btn.col-b:hover{background:#35a8ff;border-color:#35a8ff}.jingle-btn.col-b.flash{background:#35a8ff;border-color:#60c0ff}.pt-voice-section{background:#111;border:1px solid #2a2a2a;border-radius:14px;margin-bottom:12px;padding:14px}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.intro-badge{color:#ff6b35;background:#ff6b351f;border:1px solid #ff6b354d;border-radius:4px;margin:6px 0 10px;padding:3px 10px;font-size:10px;display:inline-block}.voice-input-row{gap:8px;display:flex}.voice-input{color:#fff;background:#0a0a0a;border:1px solid #333;border-radius:8px;outline:none;flex:1;padding:10px 14px;font-family:inherit;font-size:13px;transition:border-color .15s}.voice-input:focus{border-color:#ff6b35}.voice-input::placeholder{color:#3a3a3a}.speak-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ff6b35;border:none;border-radius:8px;padding:10px 18px;font-family:inherit;font-size:12px;font-weight:600;transition:background .1s}.speak-btn:hover{background:#ff8255}.last-spoken{color:#555;margin-top:10px;font-size:11px;font-style:italic;display:none}.spotify-connect-btn{color:#000;cursor:pointer;background:#1db954;border:none;border-radius:20px;width:100%;padding:10px 24px;font-family:inherit;font-size:13px;font-weight:600;transition:background .1s}.spotify-connect-btn:hover{background:#1ed760}.spotify-player.visible{display:block}.t-btn.play{color:#1db954;font-size:32px}.t-btn.play:hover{color:#1ed760}.status-bar{text-align:center;color:#444;letter-spacing:1px;border-top:1px solid #222;margin-top:14px;padding-top:14px;font-size:11px}.speak-btn:disabled{opacity:.6;cursor:progress}.voice-status{color:#888;font-style:italic}.voice-input.invalid{border-color:#f33}.text-count{color:#444;text-align:right;margin:4px 2px 0;font-size:10px}.spotify-embed{margin-top:14px;display:none}.spotify-embed.visible{display:block}.spotify-embed iframe{border-radius:12px}.text-count+.voice-input-row{margin-top:4px}.dedication{max-width:560px}.tap-hint{text-align:center;color:#aaa;margin:10px 0 0;font-size:12px}.dedication-play{width:100%;margin-top:8px;padding:18px;font-size:16px}.dedication-faded{text-align:center;color:#aaa;padding:24px 0}.dedication-faded a,.dedication-own a{color:#ff6b35}.dedication-own{text-align:center;margin-top:16px}.dedication-own a{color:inherit;text-decoration:none;display:inline-block}.desk-header h1 a{color:inherit;text-decoration:none}.send-btn{margin-top:12px}.sent-link{gap:8px;margin-top:12px;display:flex}.dedication-remove{text-align:center;margin-top:20px}.dedication-remove button{color:#555;cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:11px;text-decoration:underline}.dedication-remove button:hover{color:#f33}.playlist-box{margin-top:20px}.site-footer{text-align:center;color:#777;margin-top:20px;font-size:12px}.money-buttons{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:14px;display:flex}.money-btn{color:#fff;background:#ff6b35;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.money-btn:hover{background:#ff8255}.money-btn.charity{color:#ff6b35;background:#2a2a2a;border:1px solid #ff6b35}.money-btn.charity:hover{background:#333}.disclaimer{margin-bottom:8px}.footer-links a{color:#aaa}.page{max-width:680px}.page-body{color:#ccc;font-size:15px;line-height:1.6}.page-body h2{color:#ff6b35;letter-spacing:2px;text-transform:uppercase;margin:24px 0 8px;font-size:14px}.page-body p,.page-body ul{margin-bottom:12px}.page-body ul{padding-left:20px}.page-body a{color:#ff6b35}.money-btn.soon{opacity:.45;cursor:default}.money-btn.soon:hover{background:#ff6b35}.money-btn.charity.soon:hover{background:#2a2a2a}.intro-text{resize:vertical;line-height:1.4}.starters{gap:4px;margin-bottom:8px;display:flex}.starter-chip{color:#ddd;cursor:pointer;background:#222;border:1px solid #3a3a3a;border-radius:12px;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;min-width:0;padding:6px 2px;font-family:inherit;display:flex}.starter-emoji{font-size:18px;line-height:1}.starter-text{text-align:center;overflow-wrap:anywhere;font-size:9px;line-height:1.15}.starter-chip:hover{color:#fff;border-color:#ff6b35}@media (width<=460px){.starter-text{display:none}.starter-emoji{font-size:20px}}.lamps{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.lamp{background:#111;border:1px solid #2a2a2a;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;display:flex}.lamp-light{background:#2a2a2a;border:2px solid #3a3a3a;border-radius:50%;width:22px;height:22px}.lamp-name{letter-spacing:3px;text-transform:uppercase;color:#777;font-size:12px}.lamp-state{color:#666;font-size:11px}.lamp.lit .lamp-name,.lamp.lit .lamp-state{color:#eee}.lamp-onair.lit{border-color:#f33}.lamp-onair.lit .lamp-light{background:#f33;border-color:#f33;box-shadow:0 0 14px #f33}.lamp-tunes.lit{border-color:#2ecc71}.lamp-tunes.lit .lamp-light{background:#2ecc71;border-color:#2ecc71;box-shadow:0 0 14px #2ecc71}@media (width<=600px){.desk{padding:16px 12px}.lamps{gap:8px}.lamp{padding:12px 4px}.lamp-name{letter-spacing:2px}.jingle-grid{grid-template-columns:repeat(2,1fr)}}
