:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e0e0e0;background-color:#0a0a0a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:#000;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.app{position:fixed;inset:0;background:#000;--status-bar-height: 49px}.stage{position:absolute;top:0;left:0;right:0;bottom:var(--status-bar-height);z-index:0}.player-container{position:absolute;inset:0;width:100%;height:100%;background:#000;overflow:hidden;isolation:isolate;transform:translateZ(0)}.player-video{width:100%;height:100%;display:block;object-fit:contain;background:#000;transform:translateZ(0);will-change:transform}.player-offline{display:flex;position:absolute;inset:0;z-index:1;align-items:center;justify-content:center;font-size:1.5rem;color:#555;letter-spacing:.05em;pointer-events:none}.cast-button{position:absolute;top:16px;left:16px;z-index:3;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#0f0f0fb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f3f4f6;font-size:.9rem;font-weight:650;line-height:1;cursor:pointer;transition:opacity .15s ease,background .15s ease,border-color .15s ease}.cast-button:hover:not(.disabled){background:#232323d9;border-color:#ffffff57}.cast-button.disabled{opacity:.42}.cast-button.casting{border-color:#22c55eb3;color:#dcfce7;box-shadow:0 0 12px #22c55e38}.cast-launcher{width:24px;height:24px;--connected-color: #dcfce7;--disconnected-color: #f3f4f6}.cast-button-label{border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;line-height:inherit;cursor:pointer}.cast-button-label:disabled{cursor:not-allowed}.cast-error{position:absolute;top:62px;left:16px;z-index:3;max-width:min(420px,calc(100vw - 32px));padding:8px 10px;border:1px solid rgba(248,113,113,.45);border-radius:8px;background:#450a0adb;color:#fecaca;font-size:.8125rem}.sidebar-toggle{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:30;width:32px;height:64px;border:none;border-radius:8px 0 0 8px;background:#141414b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e0e0e0;font-size:1.4rem;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:right .25s ease,background .15s,opacity .3s ease}.sidebar-toggle.visible{opacity:1;pointer-events:auto}.sidebar-toggle:hover{background:#282828d9}.sidebar-toggle.open{right:340px}.sidebar{position:fixed;top:0;right:0;bottom:0;width:340px;z-index:20;background:#0f0f0fd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-left:1px solid rgba(255,255,255,.08);transition:transform .25s ease;overflow:hidden}.sidebar.collapsed{transform:translate(100%)}.sidebar.open{transform:translate(0)}.sidebar-inner{display:flex;flex-direction:column;gap:12px;height:100%;padding:16px 16px 64px;overflow-y:auto}.status-bar{position:fixed;left:0;right:0;bottom:0;z-index:25;height:var(--status-bar-height);display:flex;align-items:center;gap:10px;padding:0 16px;background:#0f0f0fd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.08);font-size:.875rem}.status-bar-main{min-width:0;display:flex;align-items:center;gap:10px;flex:1 1 auto;white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.admin-message{margin-left:auto;flex-shrink:0;max-width:min(44vw,520px);overflow:hidden;text-overflow:ellipsis;padding:5px 12px;border-radius:999px;border:1px solid rgba(250,204,21,.65);background:linear-gradient(135deg,#facc1547,#ea580c42);color:#fef3c7;box-shadow:0 0 18px #facc152e;font-size:.8125rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.status-bar-main::-webkit-scrollbar{display:none}@media(max-width:700px){.admin-message{max-width:50vw;padding-inline:9px;font-size:.6875rem}}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot.live{background:#22c55e;box-shadow:0 0 6px #22c55e80}.status-dot.offline{background:#555}.status-text{font-weight:600}.status-viewers{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#d1fadf;font-size:.8125rem;line-height:1;flex-shrink:0}.status-viewers-icon{font-size:.8125rem;opacity:.85}.status-viewers-count{font-weight:700;font-variant-numeric:tabular-nums;color:#fff}.status-viewers-label{color:#9ca3af}.status-separator{color:#444}.status-source,.status-source-detail{color:#aaa}.status-source-detail{font-size:.8125rem}.status-channel{color:#67e8f9;display:flex;align-items:center;gap:8px}.status-channel.channel-transitioning{animation:channel-pulse 1.2s ease-in-out infinite}.channel-switching{font-size:.75rem;font-weight:600;color:#fbbf24;background:#713f12;padding:1px 6px;border-radius:3px;animation:switching-blink 1s step-end infinite}.upstream-down-banner{color:#fecaca;background:#7f1d1d;border:1px solid #ef4444;border-radius:4px;padding:3px 10px;font-size:.8rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;box-shadow:0 0 12px #ef444459}@keyframes channel-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes switching-blink{0%,to{opacity:1}50%{opacity:.4}}.status-health{display:flex;align-items:center;gap:8px;font-size:.8rem;font-family:SF Mono,Fira Code,monospace}.health-indicator{padding:2px 8px;border-radius:3px;font-size:.75rem;font-weight:600}.health-good{background:#14532d;color:#4ade80}.health-warn{background:#713f12;color:#fbbf24}.health-bad{background:#7f1d1d;color:#f87171}.health-unknown{background:#333;color:#888}.health-stats{color:#888}.health-drops{color:#f87171}.admin-panel{background:#1a1a1ab3;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:16px;flex-shrink:0}.admin-title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:12px}.source-buttons{display:flex;gap:8px;margin-bottom:16px}.source-btn{flex:1;padding:8px 12px;border:1px solid #333;border-radius:4px;background:#2a2a2a;color:#ccc;font-size:.875rem;cursor:pointer;transition:all .15s}.source-btn:hover{background:#333}.source-btn.active{background:#164e63;border-color:#22d3ee;color:#67e8f9}.reload-btn{width:100%;padding:8px 12px;border:1px solid #333;border-radius:4px;background:#2a2a2a;color:#ccc;font-size:.8rem;cursor:pointer;transition:all .15s}.reload-btn:hover{background:#333}.channel-list{background:#1a1a1ab3;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:16px;display:flex;flex-direction:column;flex:1;min-height:0}.channel-list-title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:12px}.channel-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.channel-search{flex:1;padding:8px 10px;border:1px solid #333;border-radius:4px;background:#2a2a2a;color:#e0e0e0;font-size:.875rem;outline:none}.channel-search:focus{border-color:#555}.channel-search::placeholder{color:#666}.channel-group-filter{padding:8px 10px;border:1px solid #333;border-radius:4px;background:#2a2a2a;color:#e0e0e0;font-size:.875rem;outline:none;width:100%}.channel-items{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:4px}.channel-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid transparent;border-radius:4px;background:#2a2a2a;color:#e0e0e0;text-align:left;cursor:pointer;transition:all .15s;font-size:.875rem;width:100%}.channel-item:hover{background:#333}.channel-item.active{border-color:#22d3ee;background:#164e63}.channel-logo{width:32px;height:32px;border-radius:4px;object-fit:contain;background:#1a1a1a;flex-shrink:0}.channel-info{display:flex;flex-direction:column;min-width:0}.channel-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-group{font-size:.75rem;color:#888}.channel-empty{padding:24px;text-align:center;color:#666}@media(max-width:480px){.sidebar{width:100%}.sidebar-toggle.open{right:calc(100% - 32px)}}
