.meeting-screen-stage[hidden]{display:none!important}
.meeting-screen-stage{flex:1;min-height:160px;min-width:0;overflow:hidden;background:#111820;border-radius:12px}
.meeting-screen-panel{height:100%;display:flex;flex-direction:column;color:#e7eef5}
/* 标题与工具同一行，多留一行给共享画面。 */
.meeting-screen-head{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 8px 6px 14px;box-sizing:border-box;flex-shrink:0}
.meeting-screen-title{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meeting-screen-tools{display:flex;align-items:center;gap:2px;flex-shrink:0}
.meeting-screen-tool{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:#c9d3de;cursor:pointer}
.meeting-screen-tool svg{width:18px;height:18px}
.meeting-screen-tool:hover,.meeting-screen-tool:focus-visible{background:rgba(255,255,255,.12);color:#fff}
.meeting-screen-tool-sep{width:1px;height:20px;margin:0 6px;background:rgba(255,255,255,.16)}
.meeting-screen-action{display:inline-flex;align-items:center;gap:5px;height:30px;margin-left:4px;padding:0 12px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:12px;white-space:nowrap;cursor:pointer}
.meeting-screen-action svg{width:13px;height:13px}
.meeting-screen-action:hover{background:rgba(255,255,255,.16)}
.meeting-screen-action.stop{border-color:transparent;background:#e5484d}
.meeting-screen-action.stop:hover{background:#d13b40}
.meeting-screen-action.allow{border-color:transparent;background:#2f7ff0}
/* 画面以 transform 缩放平移：手势/滚轮/按钮都以指针或中心为锚点，不再靠滚动条。 */
.meeting-screen-viewport{position:relative;flex:1;min-height:100px;overflow:hidden;touch-action:none;background:#080c12;-webkit-user-select:none;user-select:none}
.meeting-screen-viewport.zoomed{cursor:grab}
.meeting-screen-viewport.dragging{cursor:grabbing}
.meeting-screen-video{position:absolute;inset:0;transform-origin:0 0;will-change:transform}
.meeting-screen-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:16px;text-align:center;color:#9eafc3}
.meeting-screen-placeholder.warning{color:#ffcb7c}
.meeting-screen-owner-status{max-width:420px;display:flex;flex-direction:column;align-items:center;gap:16px;line-height:1.65}
.meeting-screen-owner-status>svg{width:56px;height:56px;color:#55d9aa}
.meeting-screen-owner-status>strong{font-size:20px;color:#e7eef5}
.meeting-screen-owner-status>p{margin:0;font-size:14px}
.meeting-room.minimized .meeting-screen-owner-status{gap:4px;line-height:1.3}
.meeting-room.minimized .meeting-screen-owner-status>svg{width:24px;height:24px}
.meeting-room.minimized .meeting-screen-owner-status>strong{font-size:11px}
.meeting-room.minimized .meeting-screen-owner-status>p{display:none}
.meeting-screen-placeholder[hidden],.meeting-screen-video[hidden]{display:none!important}
/* 底部共享按钮：自己共享时为红色“结束共享”；仅主持人可共享时，成员看到带锁的禁用样式。 */
.meeting-room .meeting-room-btn.screen-share-btn{color:#39bb8b}
.meeting-room .meeting-room-btn.screen-share-btn.sharing{color:#e5484d}
.meeting-room .meeting-room-btn.screen-share-btn.locked{color:#8a94a0}
.screen-share-btn .meeting-room-btn-icon{position:relative}
.screen-share-btn .meeting-room-btn-icon svg{width:24px;height:24px}
.meeting-share-lock{position:absolute;right:-7px;bottom:-3px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#59616b;color:#fff}
.meeting-share-lock svg{width:10px!important;height:10px!important}
.meeting-room-bar.meeting-screen-enabled{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.meeting-share-menu{width:260px}
.meeting-share-menu .meeting-device-row{font-size:14px}
.meeting-recording-share-note{flex:none;font-style:normal;color:#ffcb7c;white-space:nowrap}
.meeting-recording-share-note::before{content:'·';margin-right:6px;color:#8a94a0}
.meeting-recording-share-note[hidden]{display:none}
/* 共享时画面优先：隐藏视图切换与视频计数，摄像头改为紧凑胶片栏，不再叠在画面上。 */
.meeting-room.screen-sharing .meeting-room-views{display:none!important}
.meeting-room.screen-sharing .meeting-room-main{min-height:0;overflow:hidden}
.meeting-room.screen-sharing #meetingScreenStage{margin:8px 8px 0}
.meeting-room.screen-sharing .meeting-room-stage{flex:0 0 auto!important;height:auto!important;min-height:0!important;max-height:none;margin:0;padding:8px;display:flex;flex-wrap:nowrap!important;justify-content:flex-start;align-content:normal;align-items:stretch;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.meeting-room.screen-sharing .meeting-room-stage::-webkit-scrollbar{display:none}
.meeting-room.screen-sharing .meeting-room-stage > .meeting-tile{position:relative!important;inset:auto!important;flex:0 0 auto;width:136px!important;height:76px!important;max-height:none;box-shadow:none;z-index:auto}
.meeting-room.screen-sharing .meeting-tile-pin{display:none}
.meeting-room.screen-sharing .meeting-room-stage .meeting-tile-label{left:4px;bottom:4px;max-width:calc(100% - 8px);padding:2px 6px;font-size:11px}
@media(min-width:900px){
  /* 桌面：共享画面占主区域，参会人画面竖排在右侧。 */
  .meeting-room.wide.screen-sharing .meeting-room-main{display:grid;grid-template-columns:minmax(0,1fr) 216px;grid-template-rows:auto minmax(0,1fr) repeat(6,auto)}
  .meeting-room.wide.screen-sharing .meeting-room-main > *{grid-column:1 / -1;min-width:0}
  .meeting-room.wide.screen-sharing .meeting-room-banner{grid-row:1}
  .meeting-room.wide.screen-sharing #meetingScreenStage{grid-column:1;grid-row:2;margin:10px 0 10px 12px;min-height:0}
  .meeting-room.wide.screen-sharing #meetingStage{grid-column:2;grid-row:2;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:10px 12px}
  .meeting-room.wide.screen-sharing #meetingStage > .meeting-tile{width:100%!important;height:auto!important;aspect-ratio:16/9}
  .meeting-room.wide.screen-sharing .meeting-room-deadline{grid-row:3}
  .meeting-room.wide.screen-sharing .meeting-room-views{grid-row:4}
  .meeting-room.wide.screen-sharing .meeting-video-queue{grid-row:5}
  .meeting-room.wide.screen-sharing .meeting-video-requests{grid-row:6}
  .meeting-room.wide.screen-sharing .meeting-speak-queue:not(.meeting-video-queue):not(.meeting-video-requests){grid-row:7}
  .meeting-room.wide.screen-sharing .meeting-room-bar{grid-row:8}
}
/* 悬浮会议：190×130 小窗，可拖动并吸边；仅显示共享画面或当前画面。 */
.meeting-room.minimized{height:130px!important;z-index:1000;cursor:pointer;touch-action:none;box-shadow:0 8px 32px #0006}
.meeting-room.minimized.float-snapping{transition:left .18s ease,top .18s ease}
.meeting-room.minimized .meeting-room-top,.meeting-room.minimized .meeting-room-bar,.meeting-room.minimized .meeting-room-views,.meeting-room.minimized .meeting-room-sheet,.meeting-room.minimized .meeting-recording-status,.meeting-room.minimized .meeting-screen-tools,.meeting-room.minimized .meeting-room-deadline,.meeting-room.minimized .meeting-speak-queue{display:none!important}
.meeting-room.minimized .meeting-room-body,.meeting-room.minimized .meeting-room-main{display:flex!important;flex-direction:column;height:100%;padding:0;width:100%}
.meeting-room.minimized .meeting-screen-head{min-height:0;padding:4px 6px}
.meeting-room.minimized .meeting-screen-title{font-size:10px}
.meeting-room.minimized.screen-sharing .meeting-room-stage{display:none!important}
/* 未共享时小窗只放主画面：不显示“定住”和自己的小预览，主画面铺满。 */
.meeting-room.minimized .meeting-room-stage{padding:0!important;gap:0}
.meeting-room.minimized .meeting-room-stage > .meeting-tile:not(:first-child),.meeting-room.minimized .meeting-tile-pin{display:none!important}
.meeting-room.minimized .meeting-room-stage > .meeting-tile:first-child{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;border-radius:0}
.meeting-room.minimized #meetingScreenStage{margin:0!important;border-radius:0}
.meeting-room.minimized .meeting-screen-stage{min-height:0}
.meeting-room.minimized .meeting-screen-viewport{min-height:0}
.meeting-screen-stage:fullscreen{border-radius:0;width:100vw;height:100vh}
@media(max-width:600px){.meeting-screen-head{padding:4px 4px 4px 10px;gap:4px}.meeting-screen-tool{width:30px;height:30px}.meeting-screen-action{padding:0 10px}.meeting-screen-action svg{display:none}.meeting-room-bar{overflow-x:auto}.meeting-room-bar .meeting-room-btn{min-width:48px}.meeting-room.screen-sharing .meeting-room-stage > .meeting-tile{width:112px!important;height:63px!important}}
@media(max-width:380px){.meeting-screen-tool[data-screen-action=fit]{display:none}}
