/* Approved 16:9 three-person layout. Switcher and individual zoom retain their own rules. */
#theater[data-program-layout=all]:not(.is-focused) .stages{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 280px!important;grid-template-rows:auto auto!important;height:auto!important;gap:12px!important;margin:0 24px 20px;align-items:start;position:relative}
#theater[data-program-layout=all]:not(.is-focused) .stage{height:auto!important;min-height:0!important;max-height:none!important;max-width:none!important;aspect-ratio:16/9!important;margin:0!important;align-self:start!important;justify-self:center!important}
#theater[data-program-layout=all]:not(.is-focused) .stage-a{grid-column:1/3!important;grid-row:1!important;width:38%!important}
#theater[data-program-layout=all]:not(.is-focused) .stage-b{grid-column:1!important;grid-row:2!important;width:100%!important}
#theater[data-program-layout=all]:not(.is-focused) .stage-c{grid-column:2!important;grid-row:2!important;width:100%!important}
#theater[data-program-layout=all]:not(.is-focused) .stage>.video-mount{width:100%!important;height:100%!important;aspect-ratio:auto!important}
#theater[data-program-layout=all]:not(.is-focused) .studio-live-video{object-fit:contain!important;background:#171b21}
#theater[data-program-layout=all]:not(.is-focused) #studio-conversation{grid-column:3!important;grid-row:1/3!important;align-self:stretch;height:100%!important;min-height:420px;max-height:600px!important}
.program-all-overlay{position:relative;grid-column:1/3;grid-row:1;align-self:stretch;min-width:0;z-index:4;pointer-events:none}
.program-all-overlay[hidden]{display:none!important}
#theater .program-all-overlay .host-support{inset:0;position:absolute}
#theater .program-all-overlay .support-goal{width:29%!important;max-width:190px!important}
#theater .program-all-overlay .support-ranking{width:29%;max-width:190px}
#theater .program-all-overlay #screen-chat{display:none}
#theater .program-all-overlay #support-mine{display:none}
#theater[data-program-layout=all]:not(.is-focused).is-immersive{overflow-y:auto}
#theater[data-program-layout=all]:not(.is-focused).is-immersive .stages{flex:none!important}
@media(max-width:600px){
 #theater[data-program-layout=all]:not(.is-focused) .stages{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto auto auto auto auto!important;margin:0 10px 10px;gap:8px!important}
 #theater[data-program-layout=all]:not(.is-focused) .stage-a{width:68%!important}
 #theater[data-program-layout=all]:not(.is-focused) .stage .nameplate{padding:20px 6px 6px;padding-right:28px;font-size:10px}
 #theater[data-program-layout=all]:not(.is-focused) .stage .affiliation{font-size:8px}
 #theater[data-program-layout=all]:not(.is-focused) .stage .studio-speaking-indicator{font-size:8px;padding:3px;bottom:30px;left:5px;max-width:calc(100% - 10px)}
 #theater[data-program-layout=all]:not(.is-focused) .stage-expand{width:26px;min-height:26px;padding:4px;bottom:3px;right:1px}
 #theater .program-all-overlay{display:contents}
 #theater .program-all-overlay .host-support{position:relative;inset:auto;grid-column:1/3;grid-row:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;pointer-events:none}
 #theater .program-all-overlay .host-support .support-goal,#theater .program-all-overlay .host-support .support-ranking{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;margin:0!important;align-self:start;min-height:75px;padding:8px!important;box-sizing:border-box}
 #theater .program-all-overlay .support-goal{grid-column:1}
 #theater .program-all-overlay .support-ranking{grid-column:2}
 #theater .program-all-overlay #screen-chat{display:flex;position:relative;inset:auto;transform:none;grid-column:1/3;grid-row:4;width:100%;max-width:none;height:180px;max-height:180px;font-size:12px;padding:5px 0;align-items:flex-start}
 #theater .program-all-overlay .screen-chat-message{max-width:94%;width:fit-content;padding:6px 9px}
 #theater[data-program-layout=all]:not(.is-focused) #studio-conversation{grid-column:1/3!important;grid-row:5!important;height:auto!important;min-height:0!important;max-height:none!important}
 #theater[data-program-layout=all]:not(.is-focused).mobile-chat-typing .stages{margin:0!important;gap:4px!important;overflow:auto;flex:1!important}
 #theater[data-program-layout=all]:not(.is-focused).mobile-chat-typing .stage-a{width:44%!important}
 #theater[data-program-layout=all]:not(.is-focused).mobile-chat-typing .program-all-overlay .host-support{display:none}
 #theater[data-program-layout=all]:not(.is-focused).mobile-chat-typing #screen-chat{height:42px;max-height:42px}
}
@media(max-height:550px) and (orientation:landscape) and (max-width:1100px){
 #theater[data-program-layout=all]:not(.is-focused) .stages{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:78px auto auto!important;margin:0 10px 8px;gap:6px!important}
 #theater[data-program-layout=all]:not(.is-focused) .stage-a{width:138px!important;max-width:30%!important}
 #theater[data-program-layout=all]:not(.is-focused) :is(.stage-b,.stage-c){width:100%!important;max-width:350px!important}
 #theater .program-all-overlay{display:block;grid-column:1/3;grid-row:1;align-self:stretch}
 #theater .program-all-overlay .host-support{position:absolute;inset:0;display:block}
 #theater .program-all-overlay .host-support .support-goal{position:absolute!important;inset:0 auto auto 0!important;width:18%!important;max-width:150px!important;min-height:0;padding:5px!important}
 #theater .program-all-overlay .host-support .support-ranking{position:absolute!important;inset:0 0 auto auto!important;width:18%!important;max-width:150px!important;min-height:0;padding:5px!important;display:block}
 #theater .program-all-overlay #screen-chat{display:flex;position:absolute;left:20%;top:0;bottom:auto;width:20%;height:72px;max-height:72px;max-width:160px;transform:none;font-size:9px;gap:3px;padding:0}
 #theater .program-all-overlay .screen-chat-message{padding:3px 5px}
 #theater .program-all-overlay .screen-chat-badge{width:12px;height:12px}
 #theater .program-all-overlay .support-ranking #support-top{gap:3px}
 #theater .program-all-overlay .support-rank-item b,#theater .program-all-overlay .support-rank-item em{font-size:8px}
 #theater[data-program-layout=all]:not(.is-focused) #studio-conversation{grid-column:1/3!important;grid-row:3!important;height:auto!important;min-height:0!important;max-height:none!important;position:relative}
 #theater[data-program-layout=all]:not(.is-focused) #studio-conversation :is(.chat-heading,.chat-pinned,.chat-host-controls,.chat-scroll-area,.heart-toolbar,.heart-pending,.heart-speech-status){display:none!important}
 #theater[data-program-layout=all]:not(.is-focused) .chat-body{display:block!important;padding:0}
 #theater[data-program-layout=all]:not(.is-focused) #chat-form{display:flex!important;padding:4px 5px 4px 72px;margin:0;border:0;gap:5px}
 #theater[data-program-layout=all]:not(.is-focused) #chat-input{height:30px;min-height:30px;padding:4px 8px;font-size:16px}
 #theater[data-program-layout=all]:not(.is-focused) #chat-send{min-height:30px;padding:4px 9px}
 #theater[data-program-layout=all]:not(.is-focused) #mobile-chat-menu{display:block;position:absolute;left:4px;bottom:5px;width:63px;min-height:28px;padding:3px;font-size:10px;z-index:5}
 #theater[data-program-layout=all]:not(.is-focused).mobile-chat-expanded #studio-conversation :is(.heart-toolbar,.chat-scroll-area,.chat-heading,.chat-host-controls:not([hidden]),.chat-pinned:not([hidden])){display:flex!important}
 #theater[data-program-layout=all]:not(.is-focused).mobile-chat-expanded .chat-scroll-area{height:90px;overflow:auto}
}

/* Publisher controls remain explicit in normal and fullscreen viewing. */
#theater.can-broadcast:not(.mobile-chat-typing) .theater-heading{display:flex!important;flex-shrink:0}
#broadcast-start{min-height:42px;font-size:14px;white-space:nowrap}
#broadcast-start.danger{background:#b73743;border-color:#b73743;color:#fff}
#publisher-entry-hint:empty{display:none}
@media(max-width:600px){#publisher-entry-hint{margin:0 12px 10px!important;font-size:12px!important}#broadcast-start{min-height:40px;padding:8px 12px;font-size:13px}}

/* Extend the nameplate gradient to the frame edge, including the voice-status rail. */
#theater .stage-b .nameplate,#theater .stage-c .nameplate{bottom:0!important;padding-top:24px!important;padding-bottom:42px!important}
@media(max-width:600px){#theater .stage-b .nameplate,#theater .stage-c .nameplate{padding-top:18px!important;padding-bottom:38px!important}}
