:root{--ink:#263340;--muted:#6e7885;--paper:#f4f3f0;--surface:#fff;--line:#e0e3e7;--accent:#ad2339;--green:#377461;--header:76px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 17px;color:var(--ink);font-weight:650}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #a7353955;outline-offset:3px}[hidden]{display:none!important}.meeting-header{height:var(--header);position:relative;z-index:5;display:flex;align-items:center;gap:20px;padding:12px 28px;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:17px;font-weight:700}.brand small{font-size:13px;color:var(--muted);font-weight:500;padding-left:10px;margin-left:10px;border-left:1px solid var(--line)}.room-status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-left:auto}.room-status i,.qr-label i{width:7px;height:7px;border-radius:50%;background:var(--green)}.room-status.offline i{background:#b58b49}.end{color:var(--accent);border-color:#dfc4c7}.setup{max-width:960px;margin:70px auto;padding:0 36px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--accent);font-weight:700}.setup h1{font-family:"Songti SC","STSong",serif;font-size:48px;line-height:1.35;letter-spacing:1px;margin:20px 0}.intro{max-width:590px;color:var(--muted);line-height:1.9}.start-panel{max-width:680px;margin:34px 0 30px;padding:25px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px}.start-panel label{grid-column:1/-1;font-size:12px;font-weight:650}.start-panel select{width:100%;height:48px;padding:0 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fafafa;min-width:0}.primary{background:var(--accent);border-color:var(--accent);color:#fff;min-width:150px;display:flex;align-items:center;gap:18px;justify-content:space-between}.start-panel p{grid-column:1/-1;font-size:12px;color:var(--muted);margin:4px 0 0}.features{display:flex;flex-wrap:wrap;gap:20px;color:var(--muted);font-size:13px}.features b{color:#9f8d7b;font-size:12px;margin-right:9px}.error{color:var(--accent);margin-top:18px}.setup>a{color:var(--accent)}.stage{height:calc(100dvh - var(--header));position:relative;padding-right:204px}.stage iframe{width:100%;height:100%;display:block;border:0;background:var(--paper)}body.viewer .stage{padding-right:0}.qr-card{position:fixed;right:17px;top:calc(var(--header) + 16px);width:174px;padding:10px 8px 9px;text-align:center;background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);box-shadow:0 5px 20px #2633400a;z-index:10}.qr-label{display:flex;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:700}.qr-card img{width:156px;height:156px;display:block;max-width:100%;object-fit:contain;margin:6px auto}.qr-card>span{font-size:11px;color:var(--muted)}.qr-card button{padding:5px 6px;font-size:12px;width:100%;margin-top:9px}.qr-card p{font-size:10px;color:var(--muted);margin:7px 0 0}.closed{max-width:600px;margin:15vh auto;padding:30px;text-align:center}.closed h1{font-size:27px}.closed p{color:var(--muted)}.closed-mark{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#e6efe9;color:var(--green);font-size:25px}.closed a{display:inline-block;margin-top:18px;color:var(--accent)}body.live .meeting-header{padding-right:220px}body.viewer.live .meeting-header{padding-right:18px}body.live .end{position:fixed;right:34px;top:16px;z-index:12;width:140px}#follow{color:var(--accent);font-size:13px;padding:8px 12px;white-space:nowrap}.meeting-header .brand small{white-space:nowrap}@media(max-width:680px){:root{--header:64px}.meeting-header{padding:10px 16px;gap:10px}.brand{font-size:15px}.brand small{display:none}.room-status{font-size:11px;line-height:1.35}.setup{margin:38px auto;padding:0 23px}.setup h1{font-size:34px}.intro{font-size:14px}.start-panel{padding:19px;grid-template-columns:minmax(0,1fr)}.start-panel label,.start-panel p{grid-column:auto}.primary{justify-content:center}.features{gap:10px;font-size:12px}.stage{padding-right:0}.qr-card{width:110px;right:10px;top:72px;padding:7px 5px}.qr-card img{width:96px;height:96px}.qr-label{font-size:10px;gap:4px}.qr-card>span,.qr-card p{font-size:9px}.qr-card button{font-size:10px;padding:4px}body.live:not(.viewer) .stage{padding-top:206px}body.live .meeting-header{padding-right:124px}body.live .end{right:10px;top:14px;width:104px;font-size:12px;padding:8px}body.viewer.live .meeting-header{padding-right:12px}.viewer .brand{font-size:13px}.viewer .room-status{max-width:100px}#follow{font-size:11px;padding:7px 8px}.closed{margin-top:12vh}}
/* Portrait phones use a rotated landscape canvas; no device-rotation permission is required. */
@media (orientation:portrait) and (max-width:680px){
 html:has(body.viewer){overflow:hidden;background:var(--paper)}
 body.viewer{--header:48px;position:fixed;left:100dvw;top:0;width:100dvh;height:100dvw;transform:rotate(90deg);transform-origin:top left;overflow:hidden}
 body.viewer .meeting-header{width:100%;height:var(--header);padding:7px 16px;gap:14px}
 body.viewer .brand{font-size:13px}.viewer .room-status{max-width:none}
 body.viewer .stage{width:100%;height:calc(100dvw - var(--header));padding:0}
 body.viewer .closed{max-width:600px;margin:24px auto;padding:15px}
 body.viewer .closed h1{font-size:22px;margin:10px 0}.viewer .closed p{margin:6px 0}
}
@media (orientation:landscape) and (max-height:500px){body.viewer{--header:48px}body.viewer .meeting-header{height:48px;padding:6px max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left));gap:12px}body.viewer .brand{font-size:13px}body.viewer .brand small{font-size:11px}body.viewer .stage{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}
@media (orientation:portrait) and (max-width:680px){body.viewer .meeting-header{padding-left:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-bottom))}body.viewer .stage{padding-left:env(safe-area-inset-top);padding-right:env(safe-area-inset-bottom)}}

/* Keep the content viewport stable when the toolbar is folded. */
.header-hide{font-size:12px;padding:7px 10px;white-space:nowrap}
.header-reveal{position:fixed;z-index:20;top:0;left:50%;transform:translateX(-50%);border-top:0;border-radius:0 0 10px 10px;padding:2px 14px;background:#fffffff2;box-shadow:0 2px 8px #26334015;font-size:13px;line-height:24px}
.header-reveal:active{transform:translateX(-50%)}.header-reveal span{font-size:11px;margin-left:5px}
body.header-collapsed .meeting-header{visibility:hidden;pointer-events:none}
body.header-collapsed .stage{height:100dvh;margin-top:calc(-1 * var(--header))}
body.header-collapsed .qr-card{top:16px}
body.live .end{position:static;width:auto;white-space:nowrap}
body.live .meeting-header{padding-right:28px}
body.viewer .header-hide{margin-left:0}
@media(max-width:680px){body.live .meeting-header{padding-right:12px}body.live .end{width:auto;font-size:11px;padding:7px 9px}.header-hide{font-size:11px;padding:6px 8px}}
@media(orientation:portrait) and (max-width:680px){body.viewer.header-collapsed .stage{height:100dvw}}
@media(prefers-reduced-motion:no-preference){.header-reveal{animation:reveal-toolbar .18s ease-out}@keyframes reveal-toolbar{from{opacity:0}to{opacity:1}}}
/* Overlay the QR; the analysis always receives the full canvas width. */
body.live .stage{padding-right:0!important}body.live:not(.viewer) .stage{padding-top:0!important}
.qr-card{width:154px;right:14px;top:calc(var(--header) + 12px);padding:7px;border-radius:11px;box-shadow:0 6px 24px #172b4426;border-top:1px solid var(--line);background:#fffffff7}
.qr-card img{width:138px;height:138px}.qr-toggle{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;border:0!important;padding:3px 2px!important;background:transparent;font-size:10px;min-height:28px}.qr-label{font-size:11px;gap:4px}#qr-toggle-label{font-size:10px;color:var(--muted);white-space:nowrap}.qr-card.is-collapsed{width:150px}.qr-card button#copy{margin-top:5px}.qr-card p{margin:5px 0 0}
.zoom-tools{display:flex;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;flex:none}.zoom-tools button{padding:6px 11px;border:0;border-radius:0;min-width:34px;min-height:34px}.zoom-tools button+button{border-left:1px solid var(--line)}#zoom-reset{min-width:58px;font-size:12px;font-variant-numeric:tabular-nums}
body.header-collapsed .qr-card{top:12px}
@media(max-width:680px){.qr-card{width:138px;right:10px}.qr-card img{width:122px;height:122px}.zoom-tools button{padding:5px 7px;min-width:28px}#zoom-reset{min-width:43px}.meeting-header{gap:7px}body.live:not(.viewer) .brand{font-size:12px}body.live:not(.viewer) .room-status{display:none}}

.title-editor{margin-top:32px}.title-editor h2{font-size:24px}.title-editor fieldset{border:0;padding:0;margin:0 0 22px}.title-editor legend{font-weight:650;margin-bottom:12px}.title-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.title-choices label{cursor:pointer;border:2px solid transparent;background:#fff;border-radius:12px;padding:8px;display:grid;gap:6px;position:relative}.title-choices label:has(input:checked){border-color:var(--accent)}.title-choices input{position:absolute;left:12px;top:12px;accent-color:var(--accent)}.title-choices img{width:100%;aspect-ratio:16/9;object-fit:contain}.title-choices span{text-align:center;font-size:13px}.title-fields{display:grid;grid-template-columns:2fr 2fr 1fr;gap:16px}.title-fields label{display:grid;gap:7px;font-size:13px;font-weight:600}.title-fields input,.title-fields textarea{width:100%;font:inherit;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;color:var(--ink)}.title-preview{margin-top:22px;aspect-ratio:16/9;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fffaf0}.meeting-title-canvas{position:absolute;width:1920px;height:1080px;background:#fffaf0;transform-origin:top left;overflow:hidden;color:#243d33}.meeting-title-canvas .title-art{position:absolute;width:1080px;height:608px;object-fit:contain;right:0;bottom:-10px;mix-blend-mode:multiply}.meeting-title-canvas .title-logo{position:absolute;left:72px;top:48px;width:290px;height:auto}.meeting-title-copy{position:absolute;top:176px;left:180px;width:1560px;text-align:center}.meeting-title-copy h1{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:84px;font-weight:650;line-height:1.25;letter-spacing:5px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.meeting-title-copy h1.long{font-size:58px}.meeting-title-copy p{margin:34px 0 0;font-size:36px;letter-spacing:3px;line-height:1.5}.meeting-title-copy time{display:block;margin-top:23px;font-size:28px;letter-spacing:3px}.title-live{position:absolute;inset:0;background:#e7e6e1;overflow:hidden;z-index:2}.title-live .meeting-title-canvas{left:50%;top:50%;transform-origin:center center}#meeting-section{max-width:125px;padding:7px;border:1px solid var(--line);border-radius:8px}.setup{margin-top:36px}.setup>h1{font-size:36px}.setup .intro{max-width:none}@media(max-width:680px){.title-fields{grid-template-columns:1fr}.title-choices{gap:6px}.title-choices label{padding:4px}.title-choices span{font-size:11px}.meeting-header{gap:8px}#meeting-section{max-width:95px;font-size:12px}}
/* Blend the diorama's studio backdrop into the slide, with no rectangular seam. */
.meeting-title-canvas .title-art{width:1000px;height:563px;right:-12px;bottom:-16px;mix-blend-mode:multiply;mask-image:linear-gradient(to right,transparent 0%,#000 24%),linear-gradient(to bottom,transparent 0%,#000 24%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 24%),linear-gradient(to bottom,transparent 0%,#000 24%);-webkit-mask-composite:source-in}
.meeting-title-copy{top:155px}.meeting-title-copy h1{font-weight:600}.meeting-title-copy p{margin-top:28px}.meeting-title-copy time{margin-top:18px}

.meeting-title-canvas .title-art{width:970px;height:546px;right:0;bottom:0;mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none;object-fit:contain}.meeting-title-copy{top:150px}.meeting-title-copy h1{font-size:120px;line-height:1.2;font-weight:650;letter-spacing:4px}.meeting-title-copy p{margin-top:26px;font-size:40px}.meeting-title-copy time{margin-top:18px;font-size:30px}
/* Meeting preparation workbench */
.prep-workspace{max-width:1600px;margin:0 auto;padding:32px 32px 112px}.prep-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.prep-heading h1{font-size:32px;line-height:1.2;margin:8px 0}.prep-heading p{color:var(--muted);margin:8px 0}.prep-save{display:flex;align-items:center;gap:14px}.prep-save span{font-size:12px;color:var(--muted)}.meeting-meta{display:grid;grid-template-columns:1fr 220px;gap:20px;margin:24px 0}.prep-workspace label{display:grid;gap:8px;font-size:13px;font-weight:600}.prep-workspace input:not([type=radio]),.prep-workspace textarea,.prep-workspace select{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-width:0}.prep-grid{display:grid;grid-template-columns:260px minmax(280px,.8fr) minmax(360px,1.2fr);gap:16px;align-items:start}.agenda-panel,.column-editor,.preview-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel-heading h2{font-size:17px;margin:0}.panel-heading>span{font-size:12px;color:var(--muted)}.panel-heading button{font-size:12px;padding:6px 9px}.panel-heading .pending{color:#9a6718}.panel-heading .ready{color:var(--green)}#agenda-list{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px}#agenda-list li{border:1px solid var(--line);border-radius:10px;overflow:hidden}#agenda-list li.selected{border-color:var(--accent);background:#fbf2f3}.agenda-item{width:100%;border:0;background:transparent;text-align:left;display:flex;gap:12px;padding:12px;align-items:start;line-height:1.5}.agenda-index{font-size:12px;color:#99898b;padding-top:3px}.agenda-item b{font-size:14px;display:block;overflow-wrap:anywhere}.agenda-item small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}.agenda-actions{display:flex;padding:0 8px 8px;gap:5px;justify-content:flex-end}.agenda-actions button{padding:3px 7px;font-size:11px;background:transparent;border:0}.agenda-actions button:hover{background:#ece7e6}.add-column{width:100%;margin-top:10px;border-style:dashed;color:var(--accent)}.small-note{font-size:12px;color:var(--muted);line-height:1.7;margin:14px 0 0}.info-note{font-size:13px;line-height:1.8;padding:14px;background:#f4f6f5;border-radius:8px;color:#53665e}.column-editor>label{margin-bottom:22px}#column-config{display:grid;gap:18px}.title-picker{border:0;margin:0;padding:0;min-width:0}.title-picker legend{font-size:13px;font-weight:600;margin-bottom:10px}.title-choices{gap:6px}.title-choices label{padding:5px;font-size:11px;border:1px solid var(--line);border-radius:8px}.title-choices label:has(input:checked){border:2px solid var(--accent);padding:4px}.title-choices input{left:7px;top:7px}.title-choices span{font-size:10px}.title-preview{margin:0;border-radius:8px}#source-preview{min-height:260px;border-radius:8px;overflow:hidden;background:#f3f4f4;text-align:center;display:grid;place-items:center}#source-preview canvas{display:block;max-width:100%;max-height:480px;object-fit:contain}.preview-placeholder{padding:32px 18px;color:var(--muted);line-height:1.8}.preview-placeholder b{display:block;font-size:20px;color:var(--ink)}.preview-placeholder span{font-size:12px}.preview-placeholder p{overflow-wrap:anywhere}.file-picker{padding:16px;border:1px dashed #b4c4bb;border-radius:9px;background:#f7faf8}.file-picker input{font-size:12px!important;padding:8px 0!important;border:0!important;background:none!important}.file-meta{font-size:12px;overflow-wrap:anywhere;margin:0;color:var(--green)}#file-error{color:var(--accent);font-size:13px}.pdf-preview-tools{display:flex;gap:16px;align-items:center;justify-content:center;padding:10px}.pdf-preview-tools button{padding:5px 12px;font-size:12px}.prep-footer{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:16px max(32px,calc((100vw - 1536px)/2));background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid var(--line);gap:20px}.prep-footer p{font-size:12px;color:var(--accent);margin:3px 0}.prep-footer b{font-size:14px}.prep-footer button{padding:13px 24px}.preview-panel:fullscreen{display:grid;grid-template-rows:auto 1fr auto;border:0;border-radius:0;background:#ecebe6;padding:20px}.preview-panel:fullscreen .title-preview{width:min(calc((100dvh - 120px)*16/9),100%);margin:auto;max-height:calc(100dvh - 120px)}.preview-panel:fullscreen #source-preview{height:100%}.preview-panel:fullscreen #source-preview canvas{max-height:calc(100dvh - 160px)}#document-live{position:absolute;inset:0;background:#222831;z-index:2;display:flex;align-items:center;justify-content:center;overflow:hidden}#document-canvas,#screen-live{max-width:100%;max-height:100%;object-fit:contain}#document-message{position:absolute;left:15%;right:15%;text-align:center;top:45%;color:white;font-size:18px}#document-tools{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:12px;background:#fff;padding:7px 12px;border-radius:12px;box-shadow:0 4px 20px #0003;white-space:nowrap}#document-tools button{font-size:13px;padding:7px 12px}.meeting-header #meeting-section{max-width:210px}.meeting-header .zoom-tools{gap:4px}
@media(max-width:1200px){.prep-grid{grid-template-columns:230px 1fr}.preview-panel{grid-column:2}.column-editor{grid-column:2;grid-row:1}.agenda-panel{grid-row:1/3}.prep-heading{align-items:start}.prep-save{flex-direction:column;align-items:end}}
@media(max-width:700px){.prep-workspace{padding:20px 16px 115px}.prep-heading h1{font-size:27px}.prep-heading{display:block}.prep-save{flex-direction:row;align-items:center;justify-content:space-between;margin-top:20px}.meeting-meta{grid-template-columns:1fr}.prep-grid{grid-template-columns:1fr}.agenda-panel,.column-editor,.preview-panel{grid-column:auto;grid-row:auto}.agenda-panel{padding:15px}.prep-footer{padding:12px 16px}.prep-footer button{min-width:120px}.prep-footer b{font-size:12px}.meeting-header .brand{display:none}.meeting-header #meeting-section{max-width:140px}.prep-save button{padding:8px 12px;font-size:12px}}
#custom-live{position:absolute;inset:0;width:100%;height:100%;border:0;background:white;z-index:2}#source-preview>iframe{width:100%;height:380px;border:0;background:white}.preview-panel:fullscreen #source-preview>iframe{height:calc(100dvh - 120px)}

.meeting-confirm{width:min(440px,calc(100vw - 32px));border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 20px 90px #0003;font:16px/1.8 -apple-system,"PingFang SC",sans-serif;color:var(--ink)}.meeting-confirm::backdrop{background:#17222966}.meeting-confirm p{margin:0 0 24px}.meeting-confirm footer{display:flex;gap:12px;justify-content:flex-end}.meeting-confirm .primary{min-width:100px;justify-content:center}
#meeting-ink{position:absolute;z-index:6;pointer-events:none;touch-action:none}#annotation-tools{position:absolute;left:18px;bottom:18px;z-index:9;max-width:calc(100% - 36px);color:#263340}#annotation-toggle{box-shadow:0 3px 16px #0002;padding:9px 15px}#annotation-panel{position:absolute;bottom:52px;left:0;background:#fff;border:1px solid var(--line);padding:12px;border-radius:14px;box-shadow:0 6px 30px #0002;width:440px;max-width:calc(100vw - 36px)}.ink-modes{display:grid;grid-template-columns:repeat(8,1fr);gap:3px}.ink-modes button{display:grid;place-items:center;padding:5px 3px;border:1px solid transparent;border-radius:7px}.ink-modes button b{font-size:22px;line-height:1.3}.ink-modes button span{font-size:10px}.ink-modes button[aria-pressed=true]{background:#f8e9ec;color:#ad2339;border-color:#e6b7c0}.ink-settings{display:flex;align-items:center;gap:10px;margin-top:12px}.ink-settings label{display:flex;align-items:center;gap:5px;font-size:11px}.ink-settings select{padding:4px;border:1px solid var(--line);border-radius:5px;font-size:12px}.ink-settings button{padding:5px 8px;font-size:11px}#ink-status{font-size:11px;color:var(--muted);margin:10px 2px 0}.meeting-confirm textarea{display:block;box-sizing:border-box;width:100%;margin:12px 0 18px;font:inherit;padding:10px;border:1px solid var(--line);border-radius:7px}.meeting-confirm label{font-size:15px}@media(max-width:650px){#annotation-tools{left:10px;bottom:10px}#annotation-panel{width:360px;max-width:calc(100vw - 20px)}.ink-settings{gap:6px}.ink-settings select{max-width:65px}}
.stage:fullscreen{width:100dvw!important;height:100dvh!important;padding:0!important;background:var(--paper)}.stage:fullscreen .qr-card{top:16px}.ink-settings{flex-wrap:wrap}
#ink-text-hits{position:absolute;inset:0;z-index:7;pointer-events:none}.ink-text-hit{position:absolute;pointer-events:auto;cursor:text;border:1px dashed transparent}.ink-text-hit:hover{border-color:#8d9aa5}.ink-text-editor{position:absolute;z-index:15;border:1.5px dashed #6e8090;background:#fff8;box-shadow:0 2px 10px #0001;min-width:150px;max-width:90%;min-height:105px;max-height:90%;resize:both;overflow:hidden;box-sizing:border-box}.ink-text-handle{height:28px;display:flex;align-items:center;gap:5px;padding:0 5px;background:#eef2f6ed;font-size:11px;color:#546574;cursor:move;touch-action:none;user-select:none}.ink-text-handle button{font:inherit;padding:1px 6px;border:0;background:#fff;line-height:20px;border-radius:4px}.ink-text-handle button:first-of-type{margin-left:auto}.ink-text-editor textarea{display:block;box-sizing:border-box;width:100%;height:calc(100% - 28px);min-height:65px;min-width:0;padding:7px;border:0;outline:0;background:transparent;resize:none;overflow:auto;line-height:1.35;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-weight:600;word-break:break-all;white-space:pre-wrap}.ink-text-editor:focus-within{border-color:#385f8b}

/* Single-screen presenter controls stay available when the header folds. */
.external-share-entry{margin-top:22px;border-top:1px solid var(--line);padding-top:14px}.external-share-entry summary{cursor:pointer;font-size:12px;color:var(--muted)}.external-share-entry button{margin-top:12px;font-size:12px;width:100%}
#presenter-dock{position:absolute;z-index:12;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:7px;background:#fffffff5;border:1px solid var(--line);border-radius:13px;box-shadow:0 4px 24px #0002;max-width:calc(100% - 28px)}
#presenter-dock>button{font-size:22px;line-height:26px;padding:6px 12px}#presenter-dock>label{display:grid;gap:2px;min-width:0}#presenter-dock>label span{font-size:10px;color:var(--muted);padding-left:6px}#presenter-section{font:inherit;font-size:13px;border:0;background:transparent;max-width:250px;min-width:160px;padding:3px;color:var(--ink)}.dock-separator{height:28px;border-left:1px solid var(--line);margin:0 4px}
#presenter-dock #annotation-tools{position:relative;left:auto;bottom:auto;max-width:none}#presenter-dock #annotation-toggle{box-shadow:none;border-color:transparent;white-space:nowrap}#presenter-dock #annotation-panel{left:auto;right:0;bottom:58px}#document-tools{bottom:92px}body.viewer #document-tools,body.viewer #presenter-dock{display:none!important}
body.external-sharing #document-message{font-size:17px;line-height:1.8;max-width:660px;left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 60px)}
@media(max-width:650px){#presenter-dock{bottom:10px;gap:3px;padding:5px}#presenter-section{min-width:110px;max-width:160px}#presenter-dock>button{padding:5px 7px}#presenter-dock #annotation-toggle{padding:7px 9px}#presenter-dock #annotation-panel{right:-5px;max-width:calc(100vw - 24px)}#document-tools{bottom:82px;gap:5px;padding:6px}#document-tools button{font-size:11px;padding:6px 8px}}

/* Keep document navigation separate from the expanded annotation palette. */
#document-tools{z-index:13;top:14px;bottom:auto;max-width:calc(100% - 340px);flex-wrap:wrap;justify-content:center}#capture-status{font-size:11px;color:var(--muted);flex-basis:100%;text-align:center}body.external-sharing #document-message{top:18%;padding:14px;background:#222831e8;border-radius:8px;pointer-events:none}
@media(max-width:800px){#document-tools{top:10px;left:12px;transform:none;max-width:calc(100% - 172px)}}

/* Viewers watch the presenter viewport; mobile does not reflow the score UI. */
body.viewer.live .meeting-header,body.viewer.live #show-header{display:none!important}body.viewer.live{--header:0px;background:#171b20}body.viewer.live .stage{height:100%;overflow:hidden;background:#171b20;padding:0!important}body.viewer.live #analysis{max-width:none!important;max-height:none!important}body.viewer.live.header-collapsed .stage{height:100%}

/* One source viewport, scaled as a whole on every device. Controls never reflow it. */
body.live .stage{overflow:hidden;background:#171b20}#meeting-canvas{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform-origin:center center;overflow:hidden;background:#f4f3f0}#meeting-canvas>iframe{position:absolute!important;inset:0!important;width:1920px!important;height:1080px!important;max-width:none!important;max-height:none!important;transform:none!important}#meeting-canvas #title-live{position:absolute;inset:0;width:1920px;height:1080px}#meeting-canvas #document-live{inset:0;width:1920px;height:1080px}#meeting-canvas #document-canvas,#meeting-canvas #screen-live{max-width:1920px;max-height:1080px}#meeting-frame{position:absolute;inset:0;width:1920px;height:1080px;object-fit:contain;z-index:5;background:#f4f3f0}#meeting-canvas.viewer-canvas>:not(#meeting-frame):not(#meeting-ink):not(#ink-text-hits):not(#frame-waiting){display:none!important}#meeting-canvas.is-frozen>iframe{pointer-events:none}#freeze-frame{font-size:13px!important;white-space:nowrap;background:#ad2339;color:white;border-color:#ad2339}#freeze-frame[aria-pressed=true]{background:#377461;border-color:#377461}#frame-status{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);background:#18212be8;color:white;padding:5px 12px;border-radius:7px;font-size:12px;white-space:nowrap;pointer-events:none}#annotation-toggle:disabled{cursor:default}body.viewer.live #meeting-canvas{pointer-events:none}#presenter-dock{max-width:calc(100% - 24px)}

#save-lecture-frame{font-size:12px!important;white-space:nowrap}#meeting-canvas .ink-text-editor{min-width:180px;min-height:105px}

#frame-waiting{position:absolute;z-index:8;left:0;right:0;top:45%;font-size:36px;text-align:center;color:#536170;pointer-events:none}

.prep-save{flex-wrap:wrap;justify-content:flex-end}.prep-save #draft-status{font-size:12px;line-height:1.5;max-width:320px}.draft-backup-menu{position:relative;font-size:12px}.draft-backup-menu summary{cursor:pointer;padding:8px 10px;list-style:none;border:1px solid #d9dfe5;border-radius:7px;background:white}.draft-backup-menu[open]{z-index:5}.draft-backup-menu button,.draft-backup-menu label{display:block;font-size:12px;margin-top:6px;white-space:nowrap;padding:9px;background:white;border:1px solid #d9dfe5;border-radius:6px;cursor:pointer}.draft-backup-menu input{display:none}

.meeting-workspace{font-size:12px;font-weight:650;border:1px solid var(--line);border-radius:6px;padding:4px 8px;color:var(--muted);white-space:nowrap}.meeting-header .brand{flex-shrink:0}
