*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;background:#000;font-family:system-ui,sans-serif}.player-container{position:relative;width:100vw;height:100vh;background:#000;display:flex;align-items:center;justify-content:center}.player-media{width:100%;height:100%;object-fit:contain;display:block}.fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding-bottom:28px;cursor:pointer;background:transparent;transition:opacity .4s}.fullscreen-overlay.hidden{opacity:0;pointer-events:none}.fullscreen-hint{background:#0009;color:#fff;font-size:.8rem;font-weight:500;letter-spacing:.05em;padding:7px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;flex-shrink:0}.status-dot.offline{background:#f97316;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.cursor-hidden,.cursor-hidden *{cursor:none!important}iframe.player-media{border:none}.player-empty{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#111}.player-empty-inner{text-align:center;color:#666}.offline-indicator{position:fixed;bottom:16px;right:16px;background:#ff3c00d9;color:#fff;font-size:11px;font-weight:700;letter-spacing:1px;padding:4px 10px;border-radius:4px;pointer-events:none}.offline-badge{color:#f60;margin-top:8px;font-size:13px}.pairing-screen{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a0a}.pairing-box{text-align:center;color:#fff}.pairing-label{font-size:1.2rem;color:#aaa;margin-bottom:24px}.pairing-code{font-size:6rem;font-weight:700;letter-spacing:.2em;color:#fff;font-variant-numeric:tabular-nums;margin-bottom:24px}.pairing-hint{font-size:.9rem;color:#666;margin-top:8px}.pairing-org{font-size:.8rem;color:#444;margin-top:16px}.pairing-error{font-size:1rem;color:#f44;padding:16px}.ticker-bar{position:fixed;bottom:0;left:0;right:0;z-index:50;background:#000000d1;border-top:1px solid rgba(255,200,0,.3);height:36px;overflow:hidden;display:flex;align-items:center}.ticker-track{display:flex;align-items:center;white-space:nowrap;will-change:transform;color:#fde68a;font-size:1rem;font-weight:500;letter-spacing:.02em;padding-left:100%}.ticker-track.speed-slow{animation:ticker-scroll 60s linear infinite}.ticker-track.speed-normal{animation:ticker-scroll 40s linear infinite}.ticker-track.speed-fast{animation:ticker-scroll 20s linear infinite}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}
