.production-stage,.egress-canvas{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}.production-stage .video-grid,.egress-canvas .video-grid{position:relative;z-index:2;width:100%;height:100%;min-height:100%;background:transparent}.stage-background{position:absolute;inset:0;background-position:center;background-repeat:no-repeat;background-size:cover;z-index:1}.stage-overlay,.stage-lower-third{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none;z-index:5}.stage-lower-third{object-position:center bottom}.production-stage[data-layout=full_screen_asset] .stage-background,.egress-canvas[data-layout=full_screen_asset] .stage-background{background-size:contain}.production-stage[data-layout=full_screen_asset] .video-grid,.egress-canvas[data-layout=full_screen_asset] .video-grid{visibility:hidden}.production-stage[data-layout=gameplay_host_pip] .screen-share-tile,.egress-canvas[data-layout=gameplay_host_pip] .screen-share-tile{position:absolute;inset:0;width:100%;height:100%}.production-stage[data-layout=gameplay_host_pip] .camera-tile,.egress-canvas[data-layout=gameplay_host_pip] .camera-tile{position:absolute;right:2.5%;bottom:10%;width:23%;height:23%;min-height:0;border:3px solid var(--lime);z-index:4}.video-tile video{width:100%;height:100%;object-fit:cover}.mic-meter{width:110px;height:9px;background:#252825;overflow:hidden}.mic-meter i{display:block;width:0;height:100%;background:var(--lime);transition:width .08s}.is-off{background:#5b6159;border-color:#5b6159}.destination-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:14px 0}.destination-row small{display:block;color:var(--muted);margin-top:5px}.danger{background:#a33;color:white;border-color:#a33}.check-row{display:flex;gap:10px;align-items:center;margin:10px 0}.check-row input{width:auto}.egress-body{width:100%;height:100%;margin:0;overflow:hidden;background:#000}.egress-canvas{width:100vw;height:100vh;aspect-ratio:auto}.egress-canvas .video-grid{border:0}fieldset{border:1px solid var(--line);margin:18px 0;padding:14px}.live-control{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.production-stage[data-layout=host_guest_feature] .video-grid,.egress-canvas[data-layout=host_guest_feature] .video-grid{display:grid;grid-template-columns:2fr 1fr;align-items:center;padding:3%;gap:2%}.production-stage[data-layout=host_guest_feature] .video-tile,.egress-canvas[data-layout=host_guest_feature] .video-tile{width:100%;height:70%;min-height:0}
.mic-meter.wide{display:block;width:240px;height:12px;margin:.6rem 0}.media-preflight{margin-bottom:1.5rem}.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.preflight-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:1rem 0}.preflight-preview{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:1.2rem;align-items:center}.preflight-preview video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#050706;border:1px solid var(--line)}.media-state{font-size:.8rem;color:var(--muted)}button.is-on{box-shadow:inset 0 0 0 2px #fff}.error-text{color:#ff7777}.program-status{border:1px solid var(--line);padding:1rem;margin:1rem 0;display:grid;gap:.3rem}.program-status span{color:#ff6262;font-weight:800;letter-spacing:.15em}.program-status small{color:var(--muted)}.silent-confirm{margin:.9rem 0;padding:.7rem;border:1px solid #544b21}.live-control button{margin-right:.5rem}
@media(max-width:800px){.device-grid,.preflight-preview{grid-template-columns:1fr}.preflight-preview video{max-width:100%}}
.production-stage[data-layout=solo] .video-tile,.egress-canvas[data-layout=solo] .video-tile{display:none}.production-stage[data-layout=solo] .video-tile.role-owner,.production-stage[data-layout=solo] .video-tile.role-host,.egress-canvas[data-layout=solo] .video-tile.role-owner,.egress-canvas[data-layout=solo] .video-tile.role-host{display:block;width:100%;height:100%}
.production-stage[data-layout=gameplay_host_pip] .camera-tile,.egress-canvas[data-layout=gameplay_host_pip] .camera-tile{display:none}.production-stage[data-layout=gameplay_host_pip] .camera-tile.role-owner,.production-stage[data-layout=gameplay_host_pip] .camera-tile.role-host,.egress-canvas[data-layout=gameplay_host_pip] .camera-tile.role-owner,.egress-canvas[data-layout=gameplay_host_pip] .camera-tile.role-host{display:block}
.production-stage[data-layout=host_guest_feature] .role-owner,.production-stage[data-layout=host_guest_feature] .role-host,.egress-canvas[data-layout=host_guest_feature] .role-owner,.egress-canvas[data-layout=host_guest_feature] .role-host{grid-column:1}.production-stage[data-layout=host_guest_feature] .role-guest,.egress-canvas[data-layout=host_guest_feature] .role-guest{grid-column:2}
[hidden]{display:none!important}
.stage-overlay[data-kind="logo"]{inset:3% 3% auto auto;width:13%;height:auto;max-height:18%;object-fit:contain;object-position:right top}
.stage-lower-third{inset:auto auto 3% 3%;width:64%;height:34%;object-fit:contain;object-position:left bottom}
.production-stage[data-layout=solo] .video-grid,.egress-canvas[data-layout=solo] .video-grid{padding:4.5% 6% 8%}
.production-stage[data-layout=solo] .video-tile.role-owner,.production-stage[data-layout=solo] .video-tile.role-host,.egress-canvas[data-layout=solo] .video-tile.role-owner,.egress-canvas[data-layout=solo] .video-tile.role-host{width:100%;height:100%;min-height:0;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 30px rgba(0,0,0,.35)}
.production-stage[data-layout=host_guest_feature] .video-grid,.egress-canvas[data-layout=host_guest_feature] .video-grid{grid-template-columns:1.65fr 1fr;padding:4.5% 5% 10%;gap:2.5%}

/* v0.2.3.4 producer UX and large framed solo */
.production-stage[data-layout=solo] .video-grid,.egress-canvas[data-layout=solo] .video-grid{padding:2.5% 3.5% 7.5%}
.production-stage[data-layout=solo] .video-tile,.egress-canvas[data-layout=solo] .video-tile{width:100%;height:100%;min-height:0;border:2px solid #1277ff}
.production-stage:not(.has-media) .video-grid{border-color:transparent;background:transparent}
.empty-stage{display:grid;place-content:center;gap:.55rem;text-align:center;color:var(--muted);padding:2rem}
.empty-stage strong{color:var(--ink);font-size:1.2rem}.empty-stage span{max-width:34rem}
.background-controls{display:grid;grid-template-columns:minmax(240px,1fr) 1.4fr;gap:1rem;align-items:end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.panel-title-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.scene-select.is-previewing{border-color:var(--lime);color:var(--lime)}
.scene-filter{display:grid;grid-template-columns:minmax(220px,360px) auto;gap:1rem;align-items:end;margin:1rem 0}.scene-filter label{display:grid;gap:.45rem}.scene-filter .muted{padding-bottom:.75rem}.scene-group-label{display:block;color:var(--lime);font-size:.72rem;letter-spacing:.08em;margin-top:.35rem;text-transform:uppercase}.scene-row[hidden]{display:none}.control-dock #switchScreenShare[hidden]{display:none}
.program-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}
.live-indicator{position:sticky;top:.75rem;z-index:40;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;margin:0 0 1rem;background:#120708e8;border:1px solid #ff3c49;box-shadow:0 10px 34px #0009;backdrop-filter:blur(8px)}
.live-indicator[hidden]{display:none}.live-badge{background:#ff2438;color:#fff;padding:.35rem .65rem;font-weight:900;letter-spacing:.16em}.live-indicator strong{font-variant-numeric:tabular-nums}.live-indicator span:last-child{margin-left:auto;color:var(--muted)}
@media(max-width:800px){.background-controls{grid-template-columns:1fr}.panel-title-row{display:block}.panel-title-row button{margin-bottom:1rem}.scene-filter{grid-template-columns:1fr}.scene-filter .muted{padding-bottom:0}.live-indicator{top:.25rem;gap:.5rem;flex-wrap:wrap}.live-indicator span:last-child{margin-left:0;width:100%}.production-stage:not(.has-media),.production-stage:not(.has-media) .video-grid{min-height:220px}.production-stage:not(.has-media) .empty-stage{padding:1rem}}
.production-stage[data-layout=gameplay_host_pip] .camera-tile.role-owner,.production-stage[data-layout=gameplay_host_pip] .camera-tile.role-host,.egress-canvas[data-layout=gameplay_host_pip] .camera-tile.role-owner,.egress-canvas[data-layout=gameplay_host_pip] .camera-tile.role-host{right:3%;bottom:7%;width:24%;height:27%}
/* v0.3.2 presentation controls; identical in browser preview and egress renderer. */
.production-stage[data-layout=gameplay_host_pip] .camera-tile,.egress-canvas[data-layout=gameplay_host_pip] .camera-tile{border:0}
.production-stage[data-pip-border=brand] .camera-tile,.egress-canvas[data-pip-border=brand] .camera-tile{border:3px solid var(--lime)}
.production-stage[data-pip-border=white] .camera-tile,.egress-canvas[data-pip-border=white] .camera-tile{border:3px solid #fff}
.production-stage[data-lower-third-size=compact] .stage-lower-third,.egress-canvas[data-lower-third-size=compact] .stage-lower-third{width:45%;height:25%}
.production-stage[data-lower-third-size=full_canvas] .stage-lower-third,.egress-canvas[data-lower-third-size=full_canvas] .stage-lower-third{inset:0;width:100%;height:100%;object-position:center}
.production-stage[data-lower-third-position=center] .stage-lower-third,.egress-canvas[data-lower-third-position=center] .stage-lower-third{left:50%;transform:translateX(-50%);object-position:center bottom}
.production-stage[data-lower-third-position=right] .stage-lower-third,.egress-canvas[data-lower-third-position=right] .stage-lower-third{left:auto;right:3%;object-position:right bottom}
/* v0.3.5.2: align host video with the transparent screen in the Upgrade Gameplay PiP frame. */
.production-stage[data-layout=gameplay_host_pip] .camera-tile.role-owner,.production-stage[data-layout=gameplay_host_pip] .camera-tile.role-host,.egress-canvas[data-layout=gameplay_host_pip] .camera-tile.role-owner,.egress-canvas[data-layout=gameplay_host_pip] .camera-tile.role-host{right:1.5%;bottom:8%;width:24%;height:27%}
.production-stage:not(.has-media) .video-grid{border:0;background:transparent;min-height:0}
.production-stage:not(.has-media) .empty-stage{display:none}
@media(max-width:800px){.production-stage:not(.has-media),.production-stage:not(.has-media) .video-grid{min-height:0}}
.live-return-link { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: .2rem; }
.studio-steps{display:flex;gap:.75rem;align-items:center;margin:0 0 1.5rem}.studio-steps a,.studio-steps span{display:flex;align-items:center;gap:.55rem;padding:.7rem 1rem;border:1px solid var(--line);color:var(--muted);text-decoration:none}.studio-steps b{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:#252825;color:var(--ink)}.studio-steps .is-active{border-color:var(--lime);color:var(--ink)}.studio-steps .is-active b{background:var(--lime);color:#0b0d0c}.preflight-next{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}.studio-join-setup{margin-bottom:1.5rem}.asset-guide-card{margin-bottom:1.5rem}.asset-guide-card .actions{flex-wrap:wrap}
/* v0.3.6 camera presentation modes. Immersive uses the already-processed LiveKit camera track as the full solo stage. */
.production-stage[data-camera-presentation=clean] .video-tile,.egress-canvas[data-camera-presentation=clean] .video-tile{border:0!important;box-shadow:none!important}
.production-stage[data-camera-presentation=clean] .video-tile>span,.egress-canvas[data-camera-presentation=clean] .video-tile>span{display:none}
.production-stage[data-layout=solo][data-camera-presentation=immersive] .video-grid,.egress-canvas[data-layout=solo][data-camera-presentation=immersive] .video-grid{padding:0}
.production-stage[data-layout=solo][data-camera-presentation=immersive] .video-tile.role-owner,.production-stage[data-layout=solo][data-camera-presentation=immersive] .video-tile.role-host,.egress-canvas[data-layout=solo][data-camera-presentation=immersive] .video-tile.role-owner,.egress-canvas[data-layout=solo][data-camera-presentation=immersive] .video-tile.role-host{position:absolute;inset:0;width:100%;height:100%;border:0;box-shadow:none}
.production-stage[data-camera-presentation=immersive] .video-tile>span,.egress-canvas[data-camera-presentation=immersive] .video-tile>span{display:none}
@media(max-width:800px){.studio-steps{align-items:stretch}.studio-steps a,.studio-steps span{flex:1;padding:.6rem}.preflight-next>*{width:100%;text-align:center}}
.invite-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.invite-qr{display:block;width:min(280px,100%);height:auto;background:#fff;padding:.5rem;margin-top:1rem}
/* v0.3.9 shared-set compositor. Camera videos remain active as hidden texture sources while WebGL keys the controlled green background onto one common scene. */
.shared-set-composite{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.production-stage[data-layout=shared_set_duo] .shared-set-composite,.egress-canvas[data-layout=shared_set_duo] .shared-set-composite{display:block}
.production-stage[data-layout=shared_set_duo] .video-grid,.egress-canvas[data-layout=shared_set_duo] .video-grid{position:absolute;inset:0;display:block;padding:0;border:0;opacity:0;pointer-events:none;z-index:2}
.production-stage[data-layout=shared_set_duo] .video-tile,.egress-canvas[data-layout=shared_set_duo] .video-tile{position:absolute;inset:0 auto auto 0;width:50%;height:72%;min-height:0;overflow:hidden;border:0;box-shadow:none}
.production-stage[data-layout=shared_set_duo] .video-tile.role-guest,.egress-canvas[data-layout=shared_set_duo] .video-tile.role-guest{left:50%}
.production-stage[data-layout=shared_set_duo] .video-tile>span,.egress-canvas[data-layout=shared_set_duo] .video-tile>span{display:none}
.production-stage[data-layout=shared_set_duo][data-shared-set-fallback=true] .shared-set-composite,.egress-canvas[data-layout=shared_set_duo][data-shared-set-fallback=true] .shared-set-composite{display:none}
.production-stage[data-layout=shared_set_duo][data-shared-set-fallback=true] .video-grid,.egress-canvas[data-layout=shared_set_duo][data-shared-set-fallback=true] .video-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2%;padding:5% 4% 12%;opacity:1}
.production-stage[data-layout=shared_set_duo][data-shared-set-fallback=true] .video-tile,.egress-canvas[data-layout=shared_set_duo][data-shared-set-fallback=true] .video-tile{position:relative;inset:auto;width:100%;height:100%;min-height:0}
.shared-set-notice{display:none;margin:.75rem 0 0;padding:.75rem;border:1px solid #2775d7;background:#08172b;color:#cfe5ff}
.production-stage[data-layout=shared_set_duo]+.control-dock .shared-set-notice{display:block}

/* v0.3.9.2 operator rail, countdown, and long-list controls. */
.collapsible-production-panel>summary,.countdown-controls>summary{cursor:pointer;color:var(--lime);font-size:1.05rem;font-weight:800;padding:.2rem 0 1rem}.collapsible-production-panel:not([open])>summary{padding-bottom:.2rem}.operator-rail-toggle{display:none}.countdown-overlay{position:absolute;z-index:18;display:flex;flex-direction:column;gap:.18em;align-items:center;justify-content:center;max-width:86%;padding:.22em .42em;background:rgba(0,0,0,.58);border:1px solid rgba(255,255,255,.32);color:#fff;font-size:clamp(24px,4vw,72px);font-weight:800;line-height:1.05;text-align:center;text-shadow:0 2px 8px #000;transform:translate(-50%,-50%);pointer-events:none}.countdown-overlay[hidden]{display:none!important}.countdown-overlay strong{font-size:1.25em;font-variant-numeric:tabular-nums}.countdown-overlay[data-anchor=top-left]{left:12%;top:14%;transform:none}.countdown-overlay[data-anchor=top-center]{left:50%;top:14%}.countdown-overlay[data-anchor=top-right]{right:4%;top:14%;transform:none}.countdown-overlay[data-anchor=middle-left]{left:12%;top:50%;transform:none}.countdown-overlay[data-anchor=middle-center]{left:50%;top:50%}.countdown-overlay[data-anchor=middle-right]{right:4%;top:50%;transform:none}.countdown-overlay[data-anchor=bottom-left]{left:12%;bottom:8%;transform:none}.countdown-overlay[data-anchor=bottom-center]{left:50%;bottom:8%;transform:translateX(-50%)}.countdown-overlay[data-anchor=bottom-right]{right:4%;bottom:8%;transform:none}.countdown-controls{margin-top:1rem;border-top:1px solid var(--line);padding-top:1rem}.countdown-controls .program-buttons button{padding:.65rem .8rem}
.operator-chat-launch{display:grid;gap:.35rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.operator-chat-launch .button{width:100%;text-align:center}.operator-chat-launch small{color:var(--muted);text-align:center}
@media(min-width:1101px){body:has(.operator-rail) .page{max-width:none;width:100%;margin:0;padding-left:320px}.operator-rail{position:fixed;z-index:45;left:0;top:112px;width:290px;max-height:calc(100vh - 132px);overflow:auto;overscroll-behavior:contain;padding:20px;box-shadow:0 18px 55px #000b}.operator-rail h2{font-size:1.25rem}.operator-rail label,.operator-rail p,.operator-rail button,.operator-rail a{font-size:.88rem}.operator-rail fieldset{padding:10px;margin:12px 0}.operator-rail input,.operator-rail select{padding:9px}.operator-rail .program-buttons>*{width:100%;margin:0}.operator-rail .live-control{margin-top:12px;padding-top:12px}}
@media(max-width:1100px){.operator-rail{position:fixed;z-index:60;left:0;right:0;bottom:0;max-height:58vh;overflow:auto;padding:12px 18px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -14px 45px #000d}.operator-rail-toggle{display:block;position:sticky;top:0;width:100%;z-index:2}.operator-rail.is-collapsed{max-height:64px;overflow:hidden}.operator-rail.is-collapsed>*:not(.operator-rail-toggle){display:none}.page{padding-bottom:95px}.control-dock{overflow-x:auto;flex-wrap:nowrap}.control-dock button{white-space:nowrap}.production-stage{min-height:0}.teleprompter-control-grid{grid-template-columns:1fr}.program-buttons>*{flex:1 1 42%}}
.media-presentation{position:absolute;inset:0;z-index:2;background:#000;overflow:hidden}.media-presentation video,.media-presentation img{width:100%;height:100%;object-fit:contain;background:#000}.production-stage[data-layout=media_host_pip] .video-grid,.egress-canvas[data-layout=media_host_pip] .video-grid{position:absolute;inset:0;display:block;padding:0;background:transparent;z-index:4;pointer-events:none}.production-stage[data-layout=media_host_pip] .camera-tile,.egress-canvas[data-layout=media_host_pip] .camera-tile{display:none}.production-stage[data-layout=media_host_pip] .camera-tile.role-owner,.production-stage[data-layout=media_host_pip] .camera-tile.role-host,.egress-canvas[data-layout=media_host_pip] .camera-tile.role-owner,.egress-canvas[data-layout=media_host_pip] .camera-tile.role-host{display:block;position:absolute;right:2.5%;bottom:7%;width:25%;height:27%;min-height:0;border:3px solid var(--lime);background:#111;pointer-events:auto}.production-stage[data-layout=media_host_pip][data-pip-swapped=true] .media-presentation,.egress-canvas[data-layout=media_host_pip][data-pip-swapped=true] .media-presentation{inset:auto 2.5% 7% auto;width:25%;height:27%;z-index:5;border:3px solid var(--lime)}.production-stage[data-layout=media_host_pip][data-pip-swapped=true] .camera-tile.role-owner,.production-stage[data-layout=media_host_pip][data-pip-swapped=true] .camera-tile.role-host,.egress-canvas[data-layout=media_host_pip][data-pip-swapped=true] .camera-tile.role-owner,.egress-canvas[data-layout=media_host_pip][data-pip-swapped=true] .camera-tile.role-host{inset:0;width:100%;height:100%;border:0}.production-stage[data-layout=gameplay_host_pip][data-pip-swapped=true] .screen-share-tile,.egress-canvas[data-layout=gameplay_host_pip][data-pip-swapped=true] .screen-share-tile{inset:auto 2.5% 7% auto;width:25%;height:27%;z-index:5;border:3px solid var(--lime)}.production-stage[data-layout=gameplay_host_pip][data-pip-swapped=true] .camera-tile.role-owner,.production-stage[data-layout=gameplay_host_pip][data-pip-swapped=true] .camera-tile.role-host,.egress-canvas[data-layout=gameplay_host_pip][data-pip-swapped=true] .camera-tile.role-owner,.egress-canvas[data-layout=gameplay_host_pip][data-pip-swapped=true] .camera-tile.role-host{inset:0;width:100%;height:100%;border:0;z-index:3}

/* v0.4.3 shared-set safety and two-presenter Gameplay/MediaPlay PiP. */
.audience-poll-overlay{position:absolute;z-index:24;left:3.2%;right:3.2%;bottom:5.5%;min-height:25%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding:1.4rem 1.7rem;background:rgba(5,7,6,.91);border:2px solid var(--lime);box-shadow:0 12px 40px #000c;color:#fff;pointer-events:none}.audience-poll-overlay[hidden]{display:none!important}.audience-poll-live{color:var(--lime);font-size:.7em;font-weight:900;letter-spacing:.18em}.audience-poll-overlay h3{margin:.25em 0 .65em;font-size:clamp(18px,2.3vw,42px);line-height:1.08}.audience-poll-options{display:grid;gap:.38rem}.audience-poll-option{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;overflow:hidden;padding:.3rem .45rem;background:#ffffff12;font-size:clamp(12px,1.25vw,22px)}.audience-poll-option>*{position:relative;z-index:1}.audience-poll-option i{position:absolute;z-index:0;inset:0 auto 0 0;background:#c7ff3d4d;transition:width .35s ease}.audience-poll-option.is-winner{box-shadow:inset 0 0 0 2px var(--lime)}.audience-poll-timer{margin:.6em 0 0;color:#d7d5cf;font-variant-numeric:tabular-nums}.audience-poll-overlay img{width:clamp(90px,12vw,210px);height:auto;background:#fff;padding:6px}
.production-stage[data-layout=shared_set_duo] .shared-set-composite,.egress-canvas[data-layout=shared_set_duo] .shared-set-composite{display:none}
.production-stage[data-layout=shared_set_duo][data-shared-set-ready=true] .shared-set-composite,.egress-canvas[data-layout=shared_set_duo][data-shared-set-ready=true] .shared-set-composite{display:block}
.production-stage[data-layout=shared_set_duo] .video-grid,.egress-canvas[data-layout=shared_set_duo] .video-grid{opacity:1}
.production-stage[data-layout=shared_set_duo][data-shared-set-ready=true] .video-grid,.egress-canvas[data-layout=shared_set_duo][data-shared-set-ready=true] .video-grid{opacity:0}
.video-tile .broadcast-identity{position:absolute;left:3%;bottom:4%;display:grid;gap:.12rem;max-width:92%;padding:.38rem .55rem;background:#000c;color:#fff;line-height:1.08;z-index:7}
.video-tile .broadcast-identity strong{font-size:clamp(12px,1.4vw,24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.video-tile .broadcast-identity small{color:var(--lime);font-size:clamp(9px,.85vw,15px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.production-stage[data-layout=gameplay_host_pip] .camera-tile.role-owner,.production-stage[data-layout=gameplay_host_pip] .camera-tile.role-host,.egress-canvas[data-layout=gameplay_host_pip] .camera-tile.role-owner,.egress-canvas[data-layout=gameplay_host_pip] .camera-tile.role-host,
.production-stage[data-layout=media_host_pip] .camera-tile.role-owner,.production-stage[data-layout=media_host_pip] .camera-tile.role-host,.egress-canvas[data-layout=media_host_pip] .camera-tile.role-owner,.egress-canvas[data-layout=media_host_pip] .camera-tile.role-host{display:block;position:absolute;left:2.5%;right:auto;bottom:6%;width:23%;height:24%;min-height:0;border:3px solid var(--lime);background:#111;z-index:6}
.production-stage[data-layout=gameplay_host_pip] .camera-tile.role-guest,.egress-canvas[data-layout=gameplay_host_pip] .camera-tile.role-guest,
.production-stage[data-layout=media_host_pip] .camera-tile.role-guest,.egress-canvas[data-layout=media_host_pip] .camera-tile.role-guest{display:block;position:absolute;left:auto;right:2.5%;bottom:6%;width:23%;height:24%;min-height:0;border:3px solid var(--lime);background:#111;z-index:6}
.production-stage[data-layout=gameplay_host_pip][data-pip-swapped=true] .camera-tile.role-owner,.production-stage[data-layout=gameplay_host_pip][data-pip-swapped=true] .camera-tile.role-host,.egress-canvas[data-layout=gameplay_host_pip][data-pip-swapped=true] .camera-tile.role-owner,.egress-canvas[data-layout=gameplay_host_pip][data-pip-swapped=true] .camera-tile.role-host,
.production-stage[data-layout=media_host_pip][data-pip-swapped=true] .camera-tile.role-owner,.production-stage[data-layout=media_host_pip][data-pip-swapped=true] .camera-tile.role-host,.egress-canvas[data-layout=media_host_pip][data-pip-swapped=true] .camera-tile.role-owner,.egress-canvas[data-layout=media_host_pip][data-pip-swapped=true] .camera-tile.role-host{inset:7% auto auto 2.5%;width:46%;height:72%;border:2px solid var(--lime);z-index:4}
.production-stage[data-layout=gameplay_host_pip][data-pip-swapped=true] .camera-tile.role-guest,.egress-canvas[data-layout=gameplay_host_pip][data-pip-swapped=true] .camera-tile.role-guest,
.production-stage[data-layout=media_host_pip][data-pip-swapped=true] .camera-tile.role-guest,.egress-canvas[data-layout=media_host_pip][data-pip-swapped=true] .camera-tile.role-guest{inset:7% 2.5% auto auto;width:46%;height:72%;border:2px solid var(--lime);z-index:4}
.production-stage[data-layout=gameplay_host_pip][data-pip-swapped=true] .screen-share-tile,.egress-canvas[data-layout=gameplay_host_pip][data-pip-swapped=true] .screen-share-tile,
.production-stage[data-layout=media_host_pip][data-pip-swapped=true] .media-presentation,.egress-canvas[data-layout=media_host_pip][data-pip-swapped=true] .media-presentation{inset:auto 37.5% 2% auto;width:25%;height:22%;border:3px solid var(--lime);z-index:8}
.program-output-details{margin:0 0 1rem;border-bottom:1px solid var(--line);padding-bottom:1rem}
.program-output-details>summary{cursor:pointer;color:var(--lime);font-size:1.25rem;font-weight:800;list-style-position:outside;padding:.15rem 0 .85rem}
.program-output-details:not([open])>summary{padding-bottom:0}

/* v0.4.5 MediaPlay/Gameplay compositor repair and large solo swapped view. */
.production-stage[data-layout=gameplay_host_pip] .video-grid,.egress-canvas[data-layout=gameplay_host_pip] .video-grid{z-index:4;pointer-events:none}
.production-stage[data-layout=gameplay_host_pip] .media-presentation,.egress-canvas[data-layout=gameplay_host_pip] .media-presentation{z-index:3}
.production-stage[data-layout=gameplay_host_pip][data-pip-swapped=true] .media-presentation,.egress-canvas[data-layout=gameplay_host_pip][data-pip-swapped=true] .media-presentation{inset:auto 37.5% 2% auto;width:25%;height:22%;border:3px solid var(--lime);z-index:8}
.production-stage[data-layout=gameplay_host_pip][data-pip-swapped=true] .video-grid:not(:has(.camera-tile.role-guest)) .camera-tile.role-owner,.production-stage[data-layout=gameplay_host_pip][data-pip-swapped=true] .video-grid:not(:has(.camera-tile.role-guest)) .camera-tile.role-host,.egress-canvas[data-layout=gameplay_host_pip][data-pip-swapped=true] .video-grid:not(:has(.camera-tile.role-guest)) .camera-tile.role-owner,.egress-canvas[data-layout=gameplay_host_pip][data-pip-swapped=true] .video-grid:not(:has(.camera-tile.role-guest)) .camera-tile.role-host,.production-stage[data-layout=media_host_pip][data-pip-swapped=true] .video-grid:not(:has(.camera-tile.role-guest)) .camera-tile.role-owner,.production-stage[data-layout=media_host_pip][data-pip-swapped=true] .video-grid:not(:has(.camera-tile.role-guest)) .camera-tile.role-host,.egress-canvas[data-layout=media_host_pip][data-pip-swapped=true] .video-grid:not(:has(.camera-tile.role-guest)) .camera-tile.role-owner,.egress-canvas[data-layout=media_host_pip][data-pip-swapped=true] .video-grid:not(:has(.camera-tile.role-guest)) .camera-tile.role-host{inset:3% 3% 6%;width:auto;height:auto;border:2px solid var(--lime);z-index:4}

/* v0.5.0-alpha.4: professional, wrapping control groups and a wider operator canvas. */
.control-dock-pro{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(420px,1.35fr) minmax(170px,.55fr) auto;gap:.8rem 1rem;align-items:center;overflow:visible}
.control-dock-pro .control-cluster{display:flex;gap:.6rem;align-items:center;min-width:0}
.control-dock-pro .device-controls,.control-dock-pro .sharing-controls{flex-wrap:wrap}
.control-dock-pro .avatar-controls{display:grid;grid-template-columns:auto minmax(130px,1fr) minmax(110px,.8fr) auto;gap:.55rem;align-items:end;padding:.6rem;border:1px solid var(--line);background:#0d100f}
.control-dock-pro .avatar-quick-select{display:grid;gap:.25rem;min-width:0;font-size:.72rem}.control-dock-pro .avatar-quick-select select{min-width:0;padding:.65rem}
.control-dock-pro .avatar-status{grid-column:2/3;margin:0;color:var(--muted);font-size:.76rem;line-height:1.35;overflow-wrap:anywhere}
.control-dock-pro .sharing-controls{justify-content:flex-end}.control-dock-pro .role-pill{margin-left:0;text-align:right}.control-dock-pro .shared-set-notice{grid-column:1/-1;margin:0}
.scene-auto-preview{margin:.7rem 0;padding:.7rem;border:1px solid var(--line);background:#101311}
#backgroundEffect:disabled{opacity:.78;border-color:var(--lime);cursor:not-allowed}
@media(min-width:1101px){body:has(.operator-rail) .page{max-width:none;width:100%;margin:0;padding-left:320px;padding-right:28px}.production-stage{width:100%}}
@media(max-width:1350px){.control-dock-pro{grid-template-columns:1fr 1.45fr}.control-dock-pro .sharing-controls{justify-content:flex-start}.control-dock-pro .role-pill{text-align:left}.control-dock-pro .avatar-status{grid-column:1/-1}}
@media(max-width:850px){.control-dock-pro{display:grid;grid-template-columns:1fr;overflow:visible}.control-dock-pro .control-cluster{width:100%}.control-dock-pro .avatar-controls{grid-template-columns:1fr 1fr}.control-dock-pro .avatar-controls>*{width:100%}.control-dock-pro .avatar-status,.control-dock-pro .shared-set-notice{grid-column:1}.control-dock-pro .role-pill{text-align:left}}
.youtube-chat-setup{margin:1.5rem 0}.youtube-chat-setup code{display:inline-block;max-width:100%;padding:.2rem .4rem;background:#090b0a;border:1px solid var(--line);color:var(--lime);overflow-wrap:anywhere}.setup-steps{list-style:decimal;padding-left:1.4rem}.setup-steps li{display:list-item;border-top:1px solid var(--line);padding:.75rem 0;color:var(--muted)}

/* v0.5.0-alpha.4.3: equal host/guest framing and compact production controls. */
.production-stage[data-layout=host_guest_feature] .video-grid,.egress-canvas[data-layout=host_guest_feature] .video-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;padding:8% 5% 12%;gap:4%}
.production-stage[data-layout=host_guest_feature] .video-tile,.egress-canvas[data-layout=host_guest_feature] .video-tile,.production-stage[data-layout=host_guest_feature] .video-tile.avatar-tile,.egress-canvas[data-layout=host_guest_feature] .video-tile.avatar-tile{position:relative;width:100%;height:auto;min-height:0;aspect-ratio:16/9;align-self:center;border:2px solid rgba(255,255,255,.2);background:#080a09}
.production-stage[data-layout=host_guest_feature] .video-tile video,.egress-canvas[data-layout=host_guest_feature] .video-tile video{width:100%;height:100%;object-fit:cover}
.control-dock-pro .teleprompter-quick-controls{justify-content:center}.control-dock-pro .teleprompter-quick-controls button{white-space:nowrap}
.live-return-global{color:var(--lime)!important;font-weight:800}.live-return-global::before{content:"●";margin-right:.4rem;color:#ff3548}
@media(max-width:800px){.production-stage[data-layout=host_guest_feature] .video-grid,.egress-canvas[data-layout=host_guest_feature] .video-grid{grid-template-columns:1fr 1fr;padding:7% 3% 12%;gap:2%}}
.countdown-start-button{font-size:.85rem;padding:.4rem .65rem;margin-top:.35rem}
