/* ORATOR DESIGN SYSTEM v1.51 / Patch28 — Buddy Rooms R14 native restore visual adapter.
   Asset path retained for native delivery compatibility. Approved owner rollout.
   Source owns all UI; no backend, media, viewport or admission policy lives here.
   Room Dark = approved Deep Navy native material; home Dark retains the established warm effects.
   Light = approved A / Porcelain Slate, with stable edges and seamless moving glaze. */
:root {
  font-family:"Open Sans","Segoe UI",Arial,sans-serif;
  --bg:rgb(var(--rooms-rgb-030914,3,9,20)); --bg-soft:rgb(var(--rooms-rgb-05101c,5,16,28)); --panel:rgb(var(--rooms-rgb-0e182b,14,24,43)); --panel-strong:rgb(var(--rooms-rgb-12223c,18,34,60));
  --line:rgb(var(--rooms-rgb-253c5a,37,60,90)); --line-strong:rgb(var(--rooms-rgb-304b69,48,75,105)); --text:rgb(var(--rooms-rgb-f4f7fb,244,247,251)); --muted:rgb(var(--rooms-rgb-9caec3,156,174,195)); --muted-strong:rgb(var(--rooms-rgb-c4cfde,196,207,222));
  --accent:#f5a04f; --accent-strong:#ed9140; --accent-soft:rgba(245,160,79,.12);
  --cyan:rgb(var(--rooms-rgb-75adeb,117,173,235)); --green:#55d29a; --yellow:#e5c365; --red:#ff8494;
  --room-section:rgb(var(--rooms-rgb-0e182b,14,24,43)); --room-control:rgb(var(--rooms-rgb-17283e,23,40,62)); --room-dock:rgb(var(--rooms-rgb-05101c,5,16,28)); --room-inset:rgb(var(--rooms-rgb-081321,8,19,33));
  --shadow:0 18px 48px rgba(0,0,0,.24); --edge:inset 0 1px 0 rgba(var(--rooms-rgb-75adeb,117,173,235),0.12);
  --radius-xl:26px; --radius-lg:22px; --radius-md:16px;
  --orator-motion:550ms; --orator-ease:cubic-bezier(.22,.8,.2,1);
  --scroll-track:rgb(var(--rooms-rgb-07111d,7,17,29)); --scroll-thumb:rgb(var(--rooms-rgb-52657a,82,101,122)); --scroll-hover:rgb(var(--rooms-rgb-6d8198,109,129,152));
}
html[data-theme="light"] {
  --bg:#f6f4ef; --bg-soft:#f0eee9; --panel:#fffdf9; --panel-strong:#f1f0ed;
  --line:rgb(var(--rooms-rgb-d7dee8,215,222,232)); --line-strong:rgb(var(--rooms-rgb-bac7d5,186,199,213)); --text:rgb(var(--rooms-rgb-182230,24,34,48)); --muted:rgb(var(--rooms-rgb-637183,99,113,131)); --muted-strong:rgb(var(--rooms-rgb-435366,67,83,102));
  --accent:#e99043; --accent-strong:#d67d31; --accent-soft:rgba(233,144,67,.12);
  --cyan:rgb(var(--rooms-rgb-326aa6,50,106,166)); --green:#227a57; --yellow:#896512; --red:#cb3345;
  --room-section:#fffdf9; --room-control:#f1f0ed; --room-dock:#f0eee9; --room-inset:#f6f4ef;
  --shadow:0 14px 34px rgba(var(--rooms-rgb-2c3138,44,49,56),0.1); --edge:inset 0 1px 0 rgba(255,255,255,.85);
  --scroll-track:#f0eee9; --scroll-thumb:rgb(var(--rooms-rgb-9aa8b7,154,168,183)); --scroll-hover:rgb(var(--rooms-rgb-7f8fa0,127,143,160));
}
html[data-theme="dark"][data-buddy-room-view="active"] {
  --bg:rgb(var(--rooms-rgb-050b14,5,11,20)); --bg-soft:rgb(var(--rooms-rgb-081321,8,19,33)); --panel:rgb(var(--rooms-rgb-0b1829,11,24,41)); --panel-strong:rgb(var(--rooms-rgb-10233a,16,35,58));
  --room-section:rgb(var(--rooms-rgb-0d1a2c,13,26,44)); --room-control:rgb(var(--rooms-rgb-162940,22,41,64)); --room-dock:rgb(var(--rooms-rgb-07111d,7,17,29)); --room-inset:rgb(var(--rooms-rgb-091626,9,22,38));
  --line:rgb(var(--rooms-rgb-263c55,38,60,85)); --line-strong:rgb(var(--rooms-rgb-36516d,54,81,109));
}
html,html[data-theme] body{background:var(--bg);color:var(--text)}
html[data-theme] body::before{background:none}
html[data-theme] :is(button,input,select,textarea){font-family:"Open Sans","Segoe UI",Arial,sans-serif}
html[data-theme] :is(.eyebrow,.badge,.room-summary,.room-slug,.room-version,.my-settings-version,.participant-row-role,.participant-role,.ai-panel-kicker,.ai-meta,.meta){font-family:"PT Sans","Segoe UI",Arial,sans-serif}
html[data-theme] :is(h1,h2,h3,h4){color:var(--text)}
html[data-theme] :is(.topbar,.card,.glass-card,.my-rooms,.product-modal-card,.confirm-card,.settings-card,.breakouts-card,.whiteboard-shell){color:var(--text);border-color:var(--line);background:var(--panel);box-shadow:var(--edge),var(--shadow)}
html[data-theme] .topbar{background:color-mix(in srgb,var(--bg-soft) 90%,transparent);box-shadow:var(--edge),0 12px 28px rgba(0,0,0,.1)}
html[data-theme] .brand-mark{color:var(--accent);filter:none}
html[data-theme] .launch-symbol{color:var(--text);filter:none;transition:color var(--orator-motion) var(--orator-ease)}
html[data-theme] .brand-mark svg,html[data-theme] .launch-symbol svg{filter:none}
html[data-theme] :is(.brand-copy small,.launch-title small,.rooms-empty,.my-room-copy small,.my-room-copy .room-slug,.home-preferences-status,.room-history-row small){color:var(--muted)}
/* Shared launcher material: whole-card Soft Float, no independently moving icon/text. */
html[data-theme] .launch-card{
  color:var(--text);border-color:var(--line-strong);
  background:linear-gradient(145deg,rgb(var(--rooms-rgb-1a3150,26,49,80)) 0%,rgb(var(--rooms-rgb-112139,17,33,57)) 48%,rgb(var(--rooms-rgb-0b1627,11,22,39)) 100%);
  box-shadow:var(--edge),var(--shadow);
  transition:transform var(--orator-motion) var(--orator-ease),border-color var(--orator-motion) var(--orator-ease),box-shadow var(--orator-motion) var(--orator-ease);
}
html[data-theme] .launch-card::before{background:radial-gradient(ellipse at 20% 0%,rgba(var(--rooms-rgb-eef4ff,238,244,255),0.09),transparent 70%);opacity:.4;transition:opacity var(--orator-motion) var(--orator-ease)}
html[data-theme] .launch-card:focus-visible:not(:disabled){transform:translateY(-4px);box-shadow:var(--edge),0 18px 42px rgba(0,0,0,.28)}
html[data-theme] .launch-card:focus-visible .launch-symbol{color:var(--accent)}
html[data-theme] .launch-card:focus-visible::before{opacity:1}
@media(hover:hover) and (pointer:fine){
 html[data-theme] .launch-card:hover:not(:disabled){transform:translateY(-4px);border-color:var(--line-strong);box-shadow:var(--edge),0 18px 42px rgba(0,0,0,.28)}
 html[data-theme] .launch-card:hover:not(:disabled) .launch-symbol{color:var(--accent)}
 html[data-theme] .launch-card:hover:not(:disabled)::before{opacity:1}
}
html[data-theme] .launch-card:active:not(:disabled){transform:translateY(-1px)}
html[data-theme] .launch-card:active:not(:disabled) .launch-symbol{color:var(--accent)}
html[data-theme="light"] .launch-card{background:linear-gradient(145deg,#fefaf4,#f4f0eb 48%,#e2e1df);border-color:rgb(var(--rooms-rgb-ccd1d6,204,209,214))}
html[data-theme="light"] .launch-card:is(:hover,:focus-visible):not(:disabled){box-shadow:var(--edge),0 18px 38px rgba(var(--rooms-rgb-333a43,51,58,67),0.12)}
html[data-theme] :is(.my-room-row,.room-history-row,.room-created,.my-settings-section,.setting-section,.breakout-room,.ai-job,.ai-assignment,.speech-history-card){background:var(--room-section);border-color:var(--line);color:var(--text);box-shadow:var(--edge)}
html[data-theme] :is(.my-room-quick,.room-history-quick,.account-button,.my-settings-button){background:var(--room-control);color:var(--text);border-color:var(--line-strong)}
html[data-theme] :is(.my-room-quick-enter,.room-action-button,.room-history-action){color:var(--text)}
html[data-theme] .account-button.authenticated{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,var(--line));background:color-mix(in srgb,var(--green) 7%,var(--panel))}
html[data-theme] .account-button.unavailable{color:var(--yellow);border-color:var(--yellow)}
html[data-theme] .my-room-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:start}
html[data-theme] .my-room-copy>b{grid-column:1;grid-row:1;white-space:normal;overflow-wrap:anywhere}
html[data-theme] .my-room-copy>.room-pending-label{grid-column:2;grid-row:1;align-self:start;max-width:140px;white-space:normal;color:var(--yellow)}
html[data-theme] .my-room-copy>:is(small,.room-slug){grid-column:1/-1;overflow-wrap:anywhere}
html[data-theme] :is(.badge,.status-pill,.room-history-state){border-color:var(--line-strong);background:transparent;color:var(--muted-strong)}
html[data-theme] .neutral{color:var(--muted-strong)}
html[data-theme] :is(.ok,.success){color:var(--green)}
html[data-theme] :is(.wait,.warning){color:var(--yellow)}
html[data-theme] :is(.bad,.error-text){color:var(--red)}
/* Shared controls: neutral at rest, selected/live ember, off/error/danger red. */
html[data-theme] :is(.secondary,.icon-button,.tool,.theme-toggle,.room-info-button,.panel-action,.participant-action,.tile-action,.ai-panel-close,.board-window-actions button,.room-head-overflow-button,.buddy-room-theme-control,.buddy-room-connection-control){
  background:var(--room-control);border-color:var(--line-strong);color:var(--text);box-shadow:var(--edge);
}
html[data-theme] :is(.secondary,.icon-button,.tool,.theme-toggle,.room-info-button,.panel-action,.participant-action,.tile-action):hover:not(:disabled){background:color-mix(in srgb,var(--room-control) 88%,var(--text));color:var(--text);border-color:var(--line-strong);box-shadow:var(--edge)}
/* Soft Halo matches Cabinet primary CTA, and overrides the old blue hover shadow. */
html[data-theme] :is(.primary,button.primary,a.primary){background:var(--accent);border-color:var(--accent);color:#1d160f;box-shadow:0 6px 22px rgba(245,160,79,.13);font-weight:700;filter:none;transition:transform var(--orator-motion) var(--orator-ease),box-shadow var(--orator-motion) var(--orator-ease),background-color var(--orator-motion) var(--orator-ease)}
html[data-theme] :is(.primary,button.primary,a.primary):is(:hover,:focus-visible):not(:disabled){background:var(--accent);border-color:var(--accent);color:#1d160f;transform:translateY(-2px);box-shadow:0 12px 34px rgba(245,160,79,.24);filter:none}
html[data-theme] :is(.primary,button.primary,a.primary):active:not(:disabled){transform:translateY(0);box-shadow:0 3px 12px rgba(245,160,79,.16)}
html[data-theme] :is(.primary,button.primary,a.primary):disabled{box-shadow:none;transform:none}
html[data-theme] :is(.tool.active,.tool.on,.ai-tool.active,.board-tool.active,.board-control.active){color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
html[data-theme] :is(#toggleMicBtn.on,#toggleCameraBtn.on,#togglePlaybackBtn.on){color:var(--text);border-color:var(--line-strong);background:var(--room-control);box-shadow:var(--edge)}
html[data-theme] :is(.tool.off,.preview-toggle.off,.media-state .off,.participant-row-status .off){color:var(--red);border-color:color-mix(in srgb,var(--red) 65%,var(--line));background:color-mix(in srgb,var(--red) 8%,var(--room-control))}
html[data-theme] :is(.danger,.tool.danger,.secondary.danger,.room-delete,.room-history-delete,.participant-action.remove,.tile-action.remove,.ai-delete-button,.ai-job-delete,.ai-thesis-delete){color:var(--red);border-color:color-mix(in srgb,var(--red) 58%,transparent);background:transparent;box-shadow:none}
html[data-theme] :is(.danger,.tool.danger,.secondary.danger,.room-delete,.room-history-delete,.danger-button,.participant-action.remove,.tile-action.remove,.ai-delete-button,.ai-job-delete,.ai-thesis-delete):hover:not(:disabled){color:var(--red);background:color-mix(in srgb,var(--red) 9%,transparent);border-color:var(--red);box-shadow:none}
html[data-theme] :is(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--cyan);outline-offset:3px;box-shadow:0 0 0 5px color-mix(in srgb,var(--cyan) 14%,transparent)}
html[data-theme] :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]){background:var(--room-inset);color:var(--text);border-color:var(--line-strong)}
html[data-theme] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
html[data-theme] :is(input[type="checkbox"],input[type="radio"],input[type="range"]){accent-color:var(--accent)}
html[data-theme] :is(.product-field>span,.format-fieldset legend,.join-form>label,.home-pref-name>span,.home-pref-timezone>span,.settings-card label,.my-settings-card label){color:var(--muted-strong)}
html[data-theme] .format-option>input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:var(--edge)}
html[data-theme] :is(.product-modal,.confirm-modal,.settings-modal,.workspace-modal:not(#whiteboardModal),.ai-panel-backdrop){background:rgba(var(--rooms-rgb-03070c,3,7,12),0.55);backdrop-filter:blur(12px)}
html[data-theme] :is(.confirm-card p,.product-modal-head p,.my-settings-head p,.room-settings-head p,.breakouts-card p){color:var(--muted);line-height:1.55}
html[data-theme] :is(.home-message,.breakout-prerequisite){background:color-mix(in srgb,var(--red) 7%,var(--panel));color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,var(--line))}
/* Live shell inherits existing single-viewport and safe-area layout unchanged. */
html[data-theme] :is(.room-head,.room-main,.participant-panel,.panel-topbar,.chat-composer,.room-info-popover,.layout-menu,.mobile-more-menu,.room-head-overflow-menu,.buddy-room-account-popover){background:var(--panel);border-color:var(--line);color:var(--text);box-shadow:var(--edge)}
html[data-theme] :is(.participants-pane,.chat-panel){background:var(--room-section);border-color:var(--line)}
html[data-theme] :is(.video-grid,.participant-tile,.chat-messages,.chat-empty,.participant-empty){background:var(--room-inset);color:var(--muted);border-color:var(--line)}
html[data-theme] .participant-empty-avatar{background:var(--room-control);color:var(--muted-strong);border-color:var(--line-strong)}
html[data-theme] .participant-tile{box-shadow:var(--edge)}
html[data-theme] .participant-tile.active-speaker{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 20px rgba(245,160,79,.10)}
html[data-theme] :is(.participant-meta,.participant-row,.participant-row.is-focused){background:var(--room-control);border-color:var(--line);color:var(--text)}
html[data-theme] :is(.participant-row-name,.participant-name,.participants-head h3,.chat-head h3){color:var(--text)}
html[data-theme] :is(.participant-row-role,.participant-role,.participants-head p,.chat-head p,.chat-time,.room-summary,.room-message,.prejoin-card .muted){color:var(--muted)}
html[data-theme] :is(.toolbar,.toolbar-wrap .toolbar){background:var(--room-dock);border-color:var(--line);box-shadow:var(--edge),var(--shadow)}
html[data-theme] .toolbar-wrap{background:transparent}
html[data-theme] :is(.chat-composer input,.chat-composer textarea){background:var(--room-control);color:var(--text);border-color:var(--line-strong)}
html[data-theme] :is(.chat-bubble,.attachment-card,.admission-item,.transcript-session,.recording-preview-video){background:var(--room-control);border-color:var(--line);color:var(--text)}
html[data-theme] :is(.chat-message.own .chat-bubble,.chat-message.local .chat-bubble){background:color-mix(in srgb,var(--room-control) 88%,var(--accent));border-color:color-mix(in srgb,var(--line) 70%,var(--accent))}
html[data-theme] :is(.presence-dot.speaking,.live-dot){background:var(--accent);box-shadow:0 0 14px rgba(245,160,79,.22)}
html[data-theme] :is(.room-info-popover dd,.room-info-capacity-select){color:var(--text)}
/* TAB C: one continuous frame, warm lower corners; no detached underline. */
html[data-theme] :is(.panel-tab,.ai-tab,.room-history-tab){position:relative;background:transparent;border:1px solid transparent;color:var(--muted);border-radius:12px}
html[data-theme] :is(.panel-tab.active,.panel-tab[aria-selected="true"],.ai-tab.active,.room-history-tab.active){color:var(--accent);border:1px solid transparent;background:linear-gradient(var(--room-control),var(--room-control)) padding-box,linear-gradient(to bottom,var(--line-strong) 40%,var(--accent)) border-box;box-shadow:var(--edge)}
html[data-theme] :is(.panel-tab.active,.ai-tab.active,.room-history-tab.active)::after{content:none}
/* AI, assignments, speech, debate and presentation panels use the same material family. */
html[data-theme] :is(.ai-assistant-panel,.ai-panel-head,.ai-panel-tabs,.presentation-panel,.presentation-panel-head,.board-window-head,.board-toolbar,.board-bottom-bar){background:var(--panel);border-color:var(--line);color:var(--text)}
html[data-theme] :is(.ai-panel-body,.ai-thesis-controls,.ai-generator,.ai-exercise-card,.ai-job-card,.ai-assignment-card,.speech-analysis-card,.presentation-card,.presentation-dropzone,.presentation-upload-card,.recording-source-option,.transcription-scope-option){background:var(--room-section);border-color:var(--line);color:var(--text)}
html[data-theme] :is(.ai-panel-head p,.ai-panel-subtitle,.ai-empty,.ai-note,.ai-job-meta,.ai-job-body,.ai-assignment-body,.ai-assignment-meta,.speech-analysis-copy,.presentation-description,.presentation-empty,.presentation-current-counter){color:var(--muted-strong)}
html[data-theme] :is(.ai-panel-kicker,.ai-tool,.ai-filter.active,.ai-scope-button.active,.ai-recipient-chip.active,.presentation-card.selected){color:var(--accent)}
html[data-theme] .ai-badge{background:var(--accent)!important;color:#1d160f!important}
html[data-theme] :is(.ai-job-title,.ai-assignment-title,.ai-thesis-text,.presentation-title,.transcript-body){color:var(--text)}
html[data-theme] :is(.ai-job-card,.ai-assignment-card,.ai-exercise-card,.speech-analysis-card,.presentation-card){border-radius:16px}
html[data-theme] :is(.ai-panel-status,.presentation-panel-status,.transcription-consent-note,.recording-compatibility){background:var(--room-inset);color:var(--muted-strong);border-color:var(--line)}
html[data-theme] :is(.ai-panel-status.error,.presentation-panel-status.error){color:var(--red);border-color:var(--red)}
html[data-theme] .transcript-body{background:var(--room-inset);font-family:"Open Sans","Segoe UI",Arial,sans-serif}
/* Board canvas and slide image pixels are content, not themed UI. */
html[data-theme] .presentation-stage{background:var(--room-inset);border-color:var(--line)}
html[data-theme] :is(.presentation-stage-head,.presentation-presenter-dock,.presentation-controls){background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-theme] .presentation-viewer-hint{background:var(--room-control);color:var(--muted-strong)}
html[data-theme] :is(.room-settings-version,.my-settings-version){color:var(--muted);font-size:11px;font-family:"PT Sans",sans-serif}
/* Shared quiet scrollbar. Never selected-ember for an ordinary scroll position. */
*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--scroll-track)}
::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px;border:2px solid var(--scroll-track)}
::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}
@media(max-width:767px){
  html[data-theme] .product-modal-head h2{font-size:23px}
  html[data-theme] .my-room-copy>.room-pending-label{max-width:110px;font-size:11px}
  html[data-theme] :is(.join-form input,.product-field input,.product-field select,.my-settings-card input,.my-settings-card select){font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  html[data-theme] :is(.launch-card,.secondary,.primary,.tool,.panel-tab,.ai-tab,.my-room-row){transition:none!important;animation:none!important}
  html[data-theme] .launch-card:hover:not(:disabled){transform:none}
}

/* Native class names for primary chat actions and Quiet Outline leave. */
html[data-theme] :is(.leave-tool,#leaveBtn){background:transparent;color:var(--red);border:1px solid color-mix(in srgb,var(--red) 58%,transparent);box-shadow:none}
html[data-theme] :is(.leave-tool,#leaveBtn):hover{background:color-mix(in srgb,var(--red) 9%,transparent);color:var(--red);border-color:var(--red)}
html[data-theme] :is(.chat-attach,.chat-speech,.preview-toggle,.layout-option,.room-head-action,.board-tool,.board-window-action){background:var(--room-control);color:var(--text);border-color:var(--line-strong)}
html[data-theme] :is(.chat-send,#chatSendBtn){background:var(--accent);color:#1d160f;border-color:var(--accent)}
html[data-theme] :is(.chat-speech.recording,.chat-speech.active){color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}
html[data-theme] .layout-option.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}
/* Real native AI/transcript/recording selectors, including loaded result states. */
html[data-theme] :is(.ai-panel-tab,.ai-filter-chip,.presentation-filter-button,.presentation-mini-action,.ai-disclosure-button,.ai-assignment-status-toggle,.ai-recipient-status,.ai-thesis-recipient-option,.transcript-session-toggle,.recording-scope-option,.recording-library-button){color:var(--text);background:var(--room-control);border-color:var(--line-strong)}
html[data-theme] :is(.ai-panel-tab,.ai-filter-chip){border-radius:12px;border:1px solid transparent}
html[data-theme] :is(.ai-panel-tab.active,.ai-filter-chip.active){color:var(--accent);border:1px solid transparent;background:linear-gradient(var(--room-control),var(--room-control)) padding-box,linear-gradient(to bottom,var(--line-strong) 40%,var(--accent)) border-box;box-shadow:var(--edge)}
html[data-theme] :is(.ai-panel-tab.active,.ai-filter-chip.active)::after{content:none}
html[data-theme] :is(.ai-card-meta,.ai-thesis-controls-copy p,.ai-thesis-audience-row,.ai-assignment-content p,.ai-result-text,.ai-speech-empty,.speech-result-body,.speech-transcript,.transcript-session-text,.transcript-session-footer,.recording-destination-row,.recording-compatibility-note){color:var(--muted-strong)}
html[data-theme] :is(.ai-job-status.failed,.danger-button,.danger-text){color:var(--red);background:transparent;border-color:color-mix(in srgb,var(--red) 58%,var(--line))}
html[data-theme] :is(.ai-job-status.queued,.ai-job-status.processing,.ai-job-status.retry,.presentation-card-state.processing){color:var(--yellow)}
html[data-theme] :is(.ai-assignment-status-toggle.is-completed,.ai-recipient-status-label,.presentation-card-state.ready,.transcript-session-status.ready){color:var(--green)}
html[data-theme] :is(.ai-job-head,.ai-assignment-head,.transcript-session-toggle){align-items:flex-start;flex-wrap:nowrap}
html[data-theme] :is(.ai-job-summary,.ai-assignment-summary,.transcript-session-heading){flex:1;min-width:0;overflow-wrap:anywhere}
html[data-theme] :is(.ai-card-header-controls,.transcript-session-right){flex:0 0 auto;align-items:flex-start;max-width:50%;flex-wrap:wrap;justify-content:flex-end}
html[data-theme] :is(.transcription-scope-option.selected,.recording-scope-option.selected){color:var(--text);border-color:var(--accent);background:var(--accent-soft)}
html[data-theme] :is(.transcription-scope-option em,.recording-scope-option em){color:var(--accent)}
html[data-theme] :is(.presentation-card-preview,.presentation-upload-choice,.presentation-editor-slide,.presentation-sort){background:var(--room-inset);border-color:var(--line);color:var(--text)}
html[data-theme] .presentation-card-info{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:start}
html[data-theme] .presentation-card-title{grid-row:1;grid-column:1;white-space:normal;overflow-wrap:anywhere;color:var(--text)}
html[data-theme] .presentation-card-state{grid-row:1;grid-column:2;max-width:100px;white-space:normal;text-align:right;font-family:"PT Sans",sans-serif}
html[data-theme] .presentation-card-meta{grid-column:1/-1;color:var(--muted)}
html[data-theme] :is(.presentation-mini-action.primary){background:var(--accent);color:#1d160f;border-color:var(--accent)}
html[data-theme] :is(.orator-debate-panel,.debate-panel-head){color:var(--text)}
html[data-theme] .orator-debate-panel details{background:var(--room-section);border-color:var(--line);border-radius:16px}
html[data-theme] .orator-debate-panel details summary{color:var(--text)}
html[data-theme] :is(.debate-panel-head p,.orator-debate-panel details>div,.orator-debate-panel details>p){color:var(--muted-strong)}
html[data-theme] :is(.orator-debate-status.error,.transcript-session-status.failed){color:var(--red)}
html[data-theme] .settings-version{color:var(--muted);font:11px "PT Sans",sans-serif}

/* Legacy AI stylesheet has explicit !important primary values; replace exactly these. */
html[data-theme] .ai-thesis-action{background:var(--accent)!important;color:#1d160f!important;border-color:var(--accent)!important;box-shadow:none}
html[data-theme] .ai-thesis-action:hover:not(:disabled),html[data-theme] .ai-thesis-action:focus-visible:not(:disabled){background:var(--accent-strong)!important;border-color:var(--accent-strong)!important;color:#1d160f!important}
html[data-theme] :is(.ai-participant-filters,.ai-panel-handle,.ai-panel-status,.presentation-panel-toolbar){background:var(--panel);border-color:var(--line)}
html[data-theme] :is(.ai-result-list li,.ai-thesis-audience-row,.ai-thesis-recipient-editor,.ai-assignment-recipient,.speech-group,.speech-item,.speech-result,.speech-result-card){background:var(--room-inset);border-color:var(--line);color:var(--text)}
html[data-theme] .ai-result-index{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
html[data-theme] :is(.ai-result-text,.recording-scope-option span,.recording-destination p,.transcription-scope-option span){color:var(--muted-strong)}
html[data-theme] .buddy-board-popout-shell{background:var(--bg)}
html[data-theme] .buddy-board-popout-bar{background:var(--panel);border-color:var(--line);color:var(--text)}
html[data-theme] .buddy-board-popout-bar button{background:var(--room-control);border-color:var(--line-strong);color:var(--text)}
html[data-theme] :is(.buddy-board-popout-loading,.buddy-board-popout-error){color:var(--muted)}
html[data-theme] :is(.buddy-board-popout-loading strong,.buddy-board-popout-error strong){color:var(--text)}

/* Light overlays remain legible on live video and on camera-off placeholders. */

html[data-theme] .participant-meta{background:transparent;border:0}
html[data-theme] .participant-name{background:var(--room-control);color:var(--text);border-color:var(--line-strong);backdrop-filter:none}
html[data-theme] .tile-focus-btn{background:var(--room-control);border-color:var(--line-strong);color:var(--text);backdrop-filter:none}
html[data-theme] .room-message{background:var(--room-inset);color:var(--muted-strong);border:1px solid var(--line)}
html[data-theme] :is(.slug-field,.access-fieldset label>span){background:var(--room-inset);color:var(--text);border-color:var(--line)}
html[data-theme] .access-fieldset input:checked+span{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}
html[data-theme] .ai-panel-close{background:var(--room-control)!important;border-color:var(--line-strong)!important;color:var(--text)!important}
html[data-theme] .ai-panel-close:hover:not(:disabled){background:var(--panel-strong)!important;border-color:var(--accent)!important}
html.buddy-board-popout[data-theme="dark"]{--bg:rgb(var(--rooms-rgb-070b10,7,11,16));--panel:rgb(var(--rooms-rgb-0d131a,13,19,26));--room-control:rgb(var(--rooms-rgb-1a2634,26,38,52));--line:rgb(var(--rooms-rgb-2b3b4d,43,59,77));--line-strong:rgb(var(--rooms-rgb-3a4d63,58,77,99))}
html.buddy-board-popout body{background:var(--bg);font-family:"Open Sans","Segoe UI",Arial,sans-serif;color:var(--text)}
@media(max-width:767px){
 html[data-theme] .ai-thesis-controls{grid-template-columns:minmax(0,1fr)}
 html[data-theme] .ai-thesis-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 html[data-theme] .ai-thesis-action{min-height:44px;white-space:normal;overflow-wrap:anywhere;font-size:12px}
}
/* Presentation chrome is themed; imported slide pixels are deliberately untouched. */
html[data-theme] .presentation-panel{border-color:var(--line-strong)!important;box-shadow:var(--shadow),var(--edge)!important}
html[data-theme] :is(.presentation-search,.presentation-title-input,.presentation-source-card,.presentation-slide-card,.presentation-filter,.presentation-next-preview,.presentation-switch-note,.presentation-takeover){background:var(--room-inset);color:var(--text);border-color:var(--line)}
html[data-theme] :is(.presentation-source-card:hover,.presentation-source-card.active,.presentation-filter.active,.presentation-action.primary,.presentation-mini-action.primary){background:var(--accent-soft);color:var(--text);border-color:var(--accent)}
html[data-theme] :is(.presentation-action:hover,.presentation-mini-action:hover){background:var(--room-control);border-color:var(--accent);color:var(--text)}
html[data-theme] :is(.presentation-action.primary,.presentation-action.primary:hover){background:var(--accent);color:#1d160f;border-color:var(--accent)}
html[data-theme] :is(.presentation-private-label b,.presentation-nav-controls span,.presentation-format-note strong){color:var(--text)}
html[data-theme] :is(.presentation-private-label span,.presentation-source-card .source-icon,.presentation-dropzone .drop-icon){color:var(--accent)}
html[data-theme] :is(.presentation-presenter-dock>small,.presentation-next-preview span){color:var(--muted-strong)}
html[data-theme] :is(.presentation-stop,.presentation-action.danger,.presentation-mini-action.danger){color:var(--red)}
html[data-theme] .presentation-thumb-rail{background:var(--room-dock);border-color:var(--line)}
html[data-theme] .presentation-thumb-button.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
html[data-theme] .presentation-card-state{margin-top:0}
/* Secondary labels must remain readable in both themes, not pale legacy blue. */
html[data-theme] :is(.product-field small,.format-option small,.access-fieldset small,.permission-probe-hint,.panel-title small,.meter-caption small,.switch-row small,.product-modal-head p){color:var(--muted)}
html[data-theme] :is(.format-fieldset legend,.access-fieldset legend,.device-field>span){color:var(--muted-strong)}

/* Phone tile geometry: camera-off copy must not collide with the nameplate.
   Keep the native no-extra-row notice, but move it away from participant labels. */
@media(max-width:760px){
 html[data-theme] .video-grid:not(.focus-mode) .participant-empty{gap:5px;transform:translateY(-10px)}
 html[data-theme] .video-grid:not(.focus-mode) .participant-empty-avatar{width:48px;height:48px;border-radius:17px;font-size:21px}
 html[data-theme] .room-message{top:6px;bottom:auto;max-width:calc(100% - 112px);opacity:1}
}
@media(max-width:760px){
 html[data-theme] .video-grid:not(.focus-mode) .tile-actions{top:auto;bottom:9px;flex-direction:row;gap:4px}
 html[data-theme] .video-grid:not(.focus-mode) .participant-meta{max-width:calc(100% - 136px)}
}

/* Patch16: complete button geometry for navigation anchors, not just a painted link. */
html[data-theme] a.home-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:11px 16px;border:1px solid var(--line-strong);border-radius:14px;font:600 14px/1.4 "Open Sans","Segoe UI",Arial,sans-serif;text-decoration:none;text-align:center;transition:background-color 280ms ease,border-color 280ms ease,transform 280ms ease;white-space:normal}
html[data-theme] :is(.owner-choice-card,.guest-join-card) a.home-link{background:transparent;color:var(--muted-strong);box-shadow:none}
html[data-theme] a.home-link:hover{color:var(--text);background:var(--room-control)}
html[data-theme] .error-actions{align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px}
html[data-theme] .error-actions :is(button,.home-link){min-height:48px;margin:0}
html[data-theme] .owner-choice-actions .primary :is(b,small){color:#1d160f}

/* Custom tracks do not inherit accent-color from their hidden input: theme both. */
html[data-theme] .switch-row{min-height:52px}
html[data-theme] .switch-row i{background:var(--room-control);border-color:var(--line-strong);transition:background-color 280ms ease,border-color 280ms ease}
html[data-theme] .switch-row i::after{background:var(--muted);transition:transform 280ms ease,background-color 280ms ease}
html[data-theme] .switch-row input:checked+i{background:var(--accent);border-color:var(--accent)}
html[data-theme] .switch-row input:checked+i::after{background:#1d160f}
html[data-theme] .switch-row input:focus-visible+i{outline:2px solid var(--accent);outline-offset:4px}
html[data-theme] .switch-row:has(input:disabled){cursor:not-allowed}
html[data-theme] .breakout-select-row input:checked{background:var(--accent);border-color:var(--accent)}
html[data-theme] .breakout-select-row input:checked::before{border-color:#1d160f}
html[data-theme] :is(.format-option,.access-fieldset label)>input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}

/* Entry/home supporting copy and icons must not inherit pale-blue Dark literals
   in Light. The camera preview remains a dark media surface in either theme. */
html[data-theme] .owner-choice-mark{color:var(--text);background:var(--room-control);border-color:var(--line-strong)}
html[data-theme] .my-rooms-head p{color:var(--muted)}
html[data-theme] :is(.section-collapse-chevron,.meter-caption){color:var(--muted-strong)}
html[data-theme] #previewPlaceholder small{color:rgb(var(--rooms-rgb-9caec3,156,174,195))}

/* Actions: keyboard focus is an outline, not an accidental blue glow. Text fields
   retain the existing cool focus role; semantic red/green states stay distinct. */
html[data-theme] :is(button,a,[role="button"]):focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:none}
html[data-theme] :is(.primary,button.primary,a.primary,.chat-send,#chatSendBtn):is(:hover,:focus-visible):not(:disabled){color:#1d160f;background:var(--accent);border-color:var(--accent);box-shadow:0 12px 34px rgba(245,160,79,.24)}
html[data-theme] :is(.chat-attach,.chat-speech,.board-tool,.board-window-action,.layout-option,.recording-library-button):hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--room-control) 88%,var(--text));border-color:var(--line-strong);box-shadow:var(--edge)}
html[data-theme] :is(.primary,button.primary,a.primary,.chat-send,#chatSendBtn):disabled{box-shadow:none;transform:none}

/* Recent/Saved: the renderer measures the actual first three cards, so long names,
   font changes and viewport changes never clip card 3. Remaining cards scroll. */
html[data-theme] .room-history-list{overflow-y:auto;overflow-x:hidden;max-height:var(--room-history-limit,none);padding:5px 4px 6px;scroll-padding-block:5px;overscroll-behavior-y:contain;scrollbar-gutter:stable;min-width:0}
html[data-theme] .room-history-row{flex-shrink:0;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;min-height:82px;align-items:center}
html[data-theme] .room-history-copy b{white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.4}
html[data-theme] .room-history-copy small{font-size:11px;line-height:1.4;overflow-wrap:anywhere}
html[data-theme] .room-history-copy .room-slug{font-size:11px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;color:var(--muted)}
html[data-theme] .room-history-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:auto}
html[data-theme] .room-history-action{flex:0 0 40px;width:40px;height:40px;min-height:40px;padding:0;border-radius:12px;display:inline-grid;place-items:center;font-size:20px;line-height:1}
html[data-theme] .room-history-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html[data-theme] .room-history-star{color:var(--muted-strong);background:var(--room-control);border:1px solid var(--line-strong);box-shadow:var(--edge)}
html[data-theme] .room-history-star.saved{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
html[data-theme] .room-history-action-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
html[data-theme] .room-history-tab span{color:var(--muted-strong)}
html[data-theme] .room-history-feedback{margin:0 4px;min-height:0;font-size:12px;color:var(--muted-strong)}
html[data-theme] .room-history-feedback:empty{display:none}
@media(max-width:640px){
 html[data-theme] .room-history-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}
 html[data-theme] .room-history-copy b{font-size:12px}
 html[data-theme] .room-history-copy small,html[data-theme] .room-history-copy .room-slug{font-size:10px}
 html[data-theme] .room-history-actions{justify-content:flex-end;width:auto}
 html[data-theme] .room-history-actions{gap:5px}
 html[data-theme] .room-history-action{flex:0 0 36px;width:36px;height:36px;min-height:36px;border-radius:11px}
 html[data-theme] .room-history-head .my-rooms-head-controls{flex-direction:row;align-items:center}
 html[data-theme] .room-history-head{gap:8px}
 html[data-theme] .room-history-head h2{font-size:18px;line-height:1.3}
}
@media(max-width:374px){
 html[data-theme] .room-history-row{grid-template-columns:minmax(0,1fr);gap:8px}
 html[data-theme] .room-history-action{flex-basis:40px;width:40px;height:40px;min-height:40px}
}
@media(prefers-reduced-motion:reduce){
 html[data-theme] .launch-card::before,html[data-theme] .switch-row i::after,
 html[data-theme] :is(button,a.home-link,.launch-symbol,.switch-row i){transition:none!important;animation:none!important}
 html[data-theme] :is(button,a.home-link):is(:hover,:focus-visible,:active){transform:none!important}
}


/* ===== v1.43 OWNER REVIEW PATCH 20 · APPROVED LIGHT A / SWITCHES / ACTIVE ROOM ===== */
/* Seamless Light launcher glaze: oversized layer means its hard edge never crosses the card. */
html[data-theme="light"] .launch-card{position:relative;isolation:isolate;overflow:hidden;border-color:rgb(var(--rooms-rgb-ccd1d6,204,209,214))!important}
html[data-theme="light"] .launch-card>*{position:relative;z-index:1}
html[data-theme="light"] .launch-card::before{z-index:0!important;inset:-75%!important;border-radius:inherit!important;background:radial-gradient(ellipse at 12% 8%,rgba(255,255,255,.78) 0%,rgba(255,255,255,.56) 20%,rgba(255,255,255,0) 56%),linear-gradient(145deg,rgba(255,255,255,0) 48%,rgba(190,183,174,.18) 100%)!important;opacity:0!important;transform:translateX(-6%)!important;transition:opacity 550ms cubic-bezier(.22,.8,.2,1),transform 550ms cubic-bezier(.22,.8,.2,1)!important}
html[data-theme="light"] .launch-card:is(:hover,:focus-visible):not(:disabled){border-color:rgb(var(--rooms-rgb-ccd1d6,204,209,214))!important;box-shadow:var(--edge),0 18px 38px rgba(var(--rooms-rgb-333a43,51,58,67),0.12)!important}
html[data-theme="light"] .launch-card:is(:hover,:focus-visible):not(:disabled)::before{opacity:.6!important;transform:translateX(0)!important}
/* Light controls keep their resting edge on hover; focus remains deliberately visible. */
html[data-theme="light"] :is(.secondary,.icon-button,.tool,.theme-toggle,.room-info-button,.panel-action,.participant-action,.tile-action):hover:not(:disabled){border-color:var(--line-strong)!important;box-shadow:var(--edge)!important}
/* One switch grammar: 48×28 / 20 px thumb / 20 px travel. No redundant grey ring in Light. */
html[data-theme] .switch-row i{width:48px!important;height:28px!important;min-width:48px!important;border-radius:999px!important;padding:0!important;background:var(--room-control)!important;border:1px solid var(--line-strong)!important;box-shadow:none!important}
html[data-theme] .switch-row i::after{width:20px!important;height:20px!important;left:3px!important;top:3px!important;background:rgb(var(--rooms-rgb-101b2a,16,27,42))!important}
html[data-theme] .switch-row input:checked+i{background:var(--accent)!important;border-color:var(--accent)!important}
html[data-theme] .switch-row input:checked+i::after{transform:translateX(20px)!important;background:rgb(var(--rooms-rgb-101b2a,16,27,42))!important}
html[data-theme="light"] .switch-row i{background:#b6b3ad!important;border-color:transparent!important}
html[data-theme="light"] .switch-row input:checked+i{background:var(--accent)!important;border-color:transparent!important}
html[data-theme="light"] .switch-row i::after,html[data-theme="light"] .switch-row input:checked+i::after{background:#fffaf0!important}
html[data-theme] .switch-row input:focus-visible+i{outline:2px solid var(--accent)!important;outline-offset:4px!important;box-shadow:none!important}
/* Approved active-room grammar: flat dock, separate Quiet Outline exit, neutral live devices; open panels/AI stay amber. */
html[data-theme="dark"][data-buddy-room-view="active"] :is(.room-head,.participant-panel,.ai-assistant-panel,.presentation-panel,.whiteboard-shell){background:linear-gradient(145deg,var(--panel-strong),var(--panel) 68%,var(--room-inset))!important;border-color:var(--line)!important}
html[data-theme="dark"][data-buddy-room-view="active"] :is(.toolbar,.toolbar-wrap .toolbar){background:var(--room-dock)!important;border-color:var(--line)!important;box-shadow:0 16px 46px rgba(0,0,0,.34)!important}
html[data-theme="dark"][data-buddy-room-view="active"] :is(#toggleMicBtn.on,#toggleCameraBtn.on,#togglePlaybackBtn.on){color:var(--text)!important;border-color:var(--line-strong)!important;background:var(--room-control)!important;box-shadow:var(--edge)!important}
html[data-theme="dark"][data-buddy-room-view="active"] :is(#participantsPanelBtn.active,#chatPanelBtn.active,#aiToolbarBtn.active){color:var(--accent)!important;border-color:color-mix(in srgb,var(--accent) 58%,var(--line))!important;background:var(--accent-soft)!important;box-shadow:0 0 18px rgba(245,160,79,.08)!important}
@media(prefers-reduced-motion:reduce){html[data-theme="light"] .launch-card::before{transition:none!important}}

/* ===== v1.44 OWNER REVIEW PATCH 21 · R14 NATIVE RESTORE =====
   Restore the accepted R14 interaction mechanics in production-owned HTML/JS/CSS.
   Backend preferred_layout stays grid/focus/sidebar/speaker/content. Pair geometry is local UI state. */

/* Home launcher: Light gets the same subtle material shift as Dark, but without a grey hover ring. */
html[data-theme="light"] .launch-card{
  background:linear-gradient(145deg,#fffdf9 0%,#f4f0eb 50%,#e5e2dd 100%)!important;
  background-size:112% 112%!important;
  background-position:42% 48%!important;
  transition:transform var(--orator-motion) var(--orator-ease),box-shadow var(--orator-motion) var(--orator-ease),background-position var(--orator-motion) var(--orator-ease)!important;
}
html[data-theme="light"] .launch-card::before{
  inset:-90%!important;
  background:radial-gradient(ellipse at 18% 12%,rgba(255,255,255,.82) 0%,rgba(255,255,255,.52) 21%,rgba(255,255,255,0) 58%),linear-gradient(145deg,rgba(255,255,255,0) 42%,rgba(182,174,165,.15) 100%)!important;
  opacity:.18!important;
  transform:translate3d(-7%,0,0) scale(1.03)!important;
}
@media(hover:hover) and (pointer:fine){
  html[data-theme="light"] .launch-card:hover:not(:disabled){
    background-position:53% 52%!important;
    border-color:rgb(var(--rooms-rgb-ccd1d6,204,209,214))!important;
    transform:translateY(-3px)!important;
    box-shadow:var(--edge),0 18px 38px rgba(var(--rooms-rgb-333a43,51,58,67),0.12)!important;
  }
  html[data-theme="light"] .launch-card:hover:not(:disabled)::before{
    opacity:.72!important;
    transform:translate3d(2%,0,0) scale(1.03)!important;
  }
}
html[data-theme="light"] .launch-card:focus-visible:not(:disabled){
  background-position:53% 52%!important;
  border-color:rgb(var(--rooms-rgb-ccd1d6,204,209,214))!important;
  box-shadow:var(--edge),0 18px 38px rgba(var(--rooms-rgb-333a43,51,58,67),0.12)!important;
}
html[data-theme="light"] .launch-card:focus-visible:not(:disabled)::before{opacity:.72!important;transform:translate3d(2%,0,0) scale(1.03)!important}

/* Recent/Saved: same information density as My Rooms. URL is shown only in copy feedback. */
html[data-theme] .room-history-feedback{overflow-wrap:anywhere;word-break:break-word}
@media(min-width:761px){
  html[data-theme] .room-history-row{min-height:76px;padding:10px 12px;gap:12px}
  html[data-theme] .room-history-actions{width:auto;min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px}
  html[data-theme] .room-history-action{
    flex:0 0 auto!important;width:auto!important;min-width:max-content!important;height:40px!important;min-height:40px!important;
    padding:0 10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
    border-radius:11px!important;font-size:9px!important;line-height:1.1!important;white-space:nowrap!important;
  }
  html[data-theme] .room-history-star{flex:0 0 40px!important;width:40px!important;min-width:40px!important;padding:0!important;font-size:19px!important}
  html[data-theme] .room-history-action-label{
    position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;clip-path:none!important;white-space:nowrap!important;border:0!important;
  }
  html[data-theme] .room-history-action svg{width:15px;height:15px;flex:0 0 15px}
}
@media(max-width:760px){
  html[data-theme] :is(.home-owned-rooms,.home-room-history){width:min(540px,100%)!important}
  html[data-theme] .room-history-row{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;min-height:72px!important;padding:10px 11px!important}
  html[data-theme] .room-history-copy{gap:3px!important;min-width:0}
  html[data-theme] .room-history-actions{width:auto!important;display:flex!important;justify-content:flex-end!important;gap:5px!important}
  html[data-theme] .room-history-action{flex:0 0 36px!important;width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;border-radius:11px!important;display:inline-grid!important;place-items:center!important}
  html[data-theme] .room-history-action-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
  html[data-theme] .room-history-action svg{width:16px;height:16px}
  html[data-theme] .room-history-star{font-size:18px!important}
}
@media(max-width:340px){
  html[data-theme] .room-history-row{grid-template-columns:minmax(0,1fr)!important}
  html[data-theme] .room-history-actions{width:100%!important;justify-content:flex-end!important}
}

/* Participant overlays: no common opaque slab around name + controls. */
html[data-theme] .participant-meta{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:0!important}
html[data-theme] .participant-name{
  color:rgb(var(--rooms-rgb-f4f7fb,244,247,251))!important;
  background:linear-gradient(90deg,rgba(var(--rooms-rgb-03080f,3,8,15),0.55),rgba(var(--rooms-rgb-03080f,3,8,15),0.2))!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 3px 14px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  padding:5px 8px!important;
}
html[data-theme] .participant-role{color:rgb(var(--rooms-rgb-d0dae7,208,218,231))!important}
html[data-theme] .media-state{background:transparent!important;border:0!important;box-shadow:none!important}
html[data-theme] .media-state span{
  color:rgb(var(--rooms-rgb-f4f7fb,244,247,251))!important;background:rgba(var(--rooms-rgb-03080f,3,8,15),0.58)!important;border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 3px 12px rgba(0,0,0,.20)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;
}
html[data-theme] .media-state span.off{color:#ff9aa7!important;background:rgba(74,18,27,.60)!important;border-color:rgba(255,132,148,.38)!important}

/* 105 checkpoint: open = selected; attention = a separate dot, never selected. */
html[data-theme] #aiAssistantBtn.ai-tool:not(.active){color:var(--text)!important}
html[data-theme] #roomView #aiAssistantBtn.active{
 color:var(--accent)!important;border-color:var(--accent)!important;
 background:var(--accent-soft)!important;box-shadow:none!important;
}
html[data-theme] #aiAssistantBtn #aiToolbarBadge{
 width:10px!important;min-width:10px!important;height:10px!important;
 padding:0!important;border-radius:50%!important;right:0!important;top:0!important;
 background:var(--accent,#f5a04f)!important;border:2px solid var(--room-control,rgb(var(--rooms-rgb-202630,32,38,48)))!important;
 pointer-events:none;font-size:0!important;line-height:0!important;z-index:6;
}

/* R14 layout registry. Menu distinguishes backend mode from local pair geometry. */
html[data-theme] .layout-menu{width:min(430px,calc(100vw - 28px))!important;max-height:min(650px,calc(var(--app-viewport-height,100dvh) - 118px));overflow:auto;padding:12px!important;gap:14px!important}
html[data-theme] .layout-menu-group{display:flex;flex-direction:column;gap:8px;min-width:0}
html[data-theme] .layout-menu-group h4{margin:0 0 1px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
html[data-theme] .layout-mode-grid,html[data-theme] .layout-geometry-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
html[data-theme] .layout-mode-grid .layout-option:last-child,html[data-theme] .layout-geometry-grid .layout-geometry-option:last-child{grid-column:1/-1}
html[data-theme] :is(.layout-option,.layout-geometry-option){
  width:100%;min-height:54px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;
  border:1px solid transparent;border-radius:12px;color:var(--muted-strong);background:transparent;text-align:left;
}
html[data-theme] :is(.layout-option,.layout-geometry-option) svg{width:21px;height:21px;justify-self:center;fill:none;stroke:currentColor;stroke-width:1.7}
html[data-theme] :is(.layout-option,.layout-geometry-option)>span{display:flex;flex-direction:column;gap:2px;min-width:0}
html[data-theme] :is(.layout-option,.layout-geometry-option) b{color:inherit;font-size:10px}
html[data-theme] :is(.layout-option,.layout-geometry-option) small{color:var(--muted);font-size:8px;line-height:1.3}
html[data-theme] :is(.layout-option,.layout-geometry-option).active{
  color:var(--accent);border:1px solid transparent;
  background:linear-gradient(var(--room-control),var(--room-control)) padding-box,linear-gradient(to bottom,var(--line-strong) 38%,var(--accent)) border-box;
  box-shadow:var(--edge);
}
@media(hover:hover) and (pointer:fine){
  html[data-theme] :is(.layout-option,.layout-geometry-option):hover:not(.active){color:var(--text);background:color-mix(in srgb,var(--room-control) 72%,transparent);border-color:var(--line)!important}
}
html[data-theme] .layout-geometry-note{margin:2px 0 0;color:var(--muted);font:10px/1.45 "PT Sans","Segoe UI",Arial,sans-serif}

/* Pair fitting: exact dimensions are measured by app.js from BOTH scene width and height. */
html[data-theme] .video-grid.pair-geometry-mode{
  display:grid!important;
  grid-template-columns:repeat(var(--pair-cols),var(--pair-width))!important;
  grid-template-rows:repeat(var(--pair-rows),var(--pair-height))!important;
  grid-auto-rows:unset!important;
  gap:var(--pair-gap)!important;
  justify-content:center!important;
  align-content:center!important;
  overflow:hidden!important;
}
html[data-theme] .video-grid.pair-geometry-mode>.participant-tile{
  width:var(--pair-width)!important;height:var(--pair-height)!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;
}
html[data-theme] .video-grid.pair-geometry-mode>.participant-tile video{object-fit:cover}

/* Room material parity: Deep Navy keeps depth; Light becomes a complete Porcelain/Slate surface family. */
html[data-theme="dark"][data-buddy-room-view="active"] :is(.room-head,.participant-panel,.ai-assistant-panel,.layout-menu,.mobile-more-menu,.room-head-overflow-menu){
  background:linear-gradient(145deg,rgb(var(--rooms-rgb-10233a,16,35,58)) 0%,rgb(var(--rooms-rgb-0b1829,11,24,41)) 67%,rgb(var(--rooms-rgb-081321,8,19,33)) 100%)!important;border-color:var(--line)!important;
}
html[data-theme="light"][data-buddy-room-view="active"] :is(.room-head,.participant-panel,.ai-assistant-panel,.layout-menu,.mobile-more-menu,.room-head-overflow-menu){
  background:linear-gradient(145deg,#fffdf9 0%,#f4f0eb 66%,#ebe8e3 100%)!important;border-color:rgb(var(--rooms-rgb-d7dee8,215,222,232))!important;color:var(--text)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 14px 36px rgba(var(--rooms-rgb-2c3138,44,49,56),0.1)!important;
}
html[data-theme="light"][data-buddy-room-view="active"] :is(.participants-pane,.chat-panel,.chat-messages){background:#f8f5f0!important}
html[data-theme="light"][data-buddy-room-view="active"] :is(.toolbar,.toolbar-wrap .toolbar){background:#ece9e3!important;border-color:rgb(var(--rooms-rgb-d4d7db,212,215,219))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 13px 34px rgba(var(--rooms-rgb-2c3138,44,49,56),0.13)!important}
html[data-theme][data-buddy-room-view="active"] :is(.panel-tab.active,.panel-tab[aria-selected="true"]){
  color:var(--accent)!important;border:1px solid transparent!important;
  background:linear-gradient(var(--room-control),var(--room-control)) padding-box,linear-gradient(to bottom,var(--line-strong) 38%,var(--accent)) border-box!important;
  box-shadow:var(--edge)!important;
}

/* R14 dock grouping: exit stays a sibling; toolbar itself is quiet and distributed by semantic groups. */
html[data-theme][data-buddy-room-view="active"] .toolbar{overflow:visible!important;justify-content:center!important;gap:6px!important;padding:7px!important;border-radius:19px!important}
html[data-theme][data-buddy-room-view="active"] .toolbar-separator{display:block;width:1px;height:25px;margin:0 4px;background:var(--line);flex:0 0 1px}
html[data-theme][data-buddy-room-view="active"] .leave-tool{background:transparent!important;color:var(--red)!important;border-color:color-mix(in srgb,var(--red) 58%,transparent)!important;box-shadow:none!important}
html[data-theme][data-buddy-room-view="active"] .leave-tool:hover:not(:disabled){background:color-mix(in srgb,var(--red) 8%,transparent)!important;border-color:var(--red)!important}

/* Phone: chat/participants are a bottom sheet OVER the room, never another grid row. */
.room-panel-backdrop{display:none}
@media(max-width:760px){
  html[data-theme][data-buddy-room-view="active"] .room-shell,html[data-theme][data-buddy-room-view="active"] .room.panel-closed .room-shell,html[data-theme][data-buddy-room-view="active"] .room.panel-detached .room-shell{
    display:block!important;height:var(--room-workspace-height)!important;min-height:min(var(--room-workspace-height),100%)!important;max-height:none!important;overflow:hidden!important;
  }
  html[data-theme][data-buddy-room-view="active"] .room-main{height:100%!important;min-height:0!important}
  html[data-theme][data-buddy-room-view="active"] .mobile-panel-resizer{display:none!important}
  html[data-theme][data-buddy-room-view="active"] .room-panel-backdrop:not(.hidden){
    display:block!important;position:fixed;z-index:68;inset:0;background:rgba(var(--rooms-rgb-020710,2,7,16),0.58);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  }
  html[data-theme="light"][data-buddy-room-view="active"] .room-panel-backdrop:not(.hidden){background:rgba(var(--rooms-rgb-1f262f,31,38,47),0.28)}
  html[data-theme][data-buddy-room-view="active"] .participant-panel,
  html[data-theme][data-buddy-room-view="active"] .participant-panel.detached,
  html[data-theme][data-buddy-room-view="active"] .room.panel-closed .participant-panel{
    display:grid!important;position:fixed!important;z-index:70!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;
    width:100%!important;height:min(72dvh,680px)!important;max-width:none!important;max-height:calc(var(--app-viewport-height,100dvh) - 24px)!important;
    min-width:0!important;min-height:300px!important;margin:0!important;resize:none!important;
    border-radius:24px 24px 0 0!important;border-width:1px 1px 0!important;
    padding-bottom:env(safe-area-inset-bottom,0px)!important;
    transform:translateY(0)!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
    transition:transform .46s cubic-bezier(.22,.8,.2,1),opacity .22s ease!important;
    box-shadow:0 -20px 60px rgba(0,0,0,.42)!important;
  }
  html[data-theme][data-buddy-room-view="active"] .participant-panel::before{
    content:"";position:absolute;z-index:2;top:8px;left:50%;width:36px;height:4px;border-radius:999px;transform:translateX(-50%);background:var(--line-strong);pointer-events:none;
  }
  html[data-theme][data-buddy-room-view="active"] .room.panel-closed .participant-panel{
    transform:translateY(104%)!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
  }
  html[data-theme][data-buddy-room-view="active"] .panel-topbar{padding-top:18px!important;min-height:62px!important;cursor:default!important}
  html[data-theme][data-buddy-room-view="active"] .panel-tab:first-child{display:inline-flex!important}
  html[data-theme][data-buddy-room-view="active"] :is(#panelDetachBtn,#panelFullscreenBtn){display:none!important}
  html[data-theme][data-buddy-room-view="active"] .participant-panel.panel-mode-hybrid{grid-template-rows:auto minmax(116px,38fr) 9px minmax(176px,62fr)!important}
  html[data-theme][data-buddy-room-view="active"] .participant-panel.panel-mode-participants{grid-template-rows:auto minmax(0,1fr)!important}
  html[data-theme][data-buddy-room-view="active"] .participant-panel.panel-mode-chat{grid-template-rows:auto minmax(0,1fr)!important}
  html[data-theme][data-buddy-room-view="active"] .room.keyboard-active .participant-panel{height:calc(var(--app-viewport-height,100dvh) - 8px)!important;max-height:calc(var(--app-viewport-height,100dvh) - 8px)!important;border-radius:18px 18px 0 0!important}
  html[data-theme][data-buddy-room-view="active"] .layout-menu{position:fixed!important;z-index:78!important;left:8px!important;right:8px!important;bottom:max(74px,calc(62px + env(safe-area-inset-bottom)))!important;transform:none!important;width:auto!important;max-height:calc(var(--app-viewport-height,100dvh) - 100px)!important;border-radius:20px!important}
  html[data-theme][data-buddy-room-view="active"] .layout-mode-grid,html[data-theme][data-buddy-room-view="active"] .layout-geometry-grid{grid-template-columns:1fr 1fr!important}
  html[data-theme][data-buddy-room-view="active"] .layout-menu :is(.layout-option,.layout-geometry-option){min-height:50px!important;padding:8px!important}

  /* Quick dock: six primary controls. Secondary actions live in More. */
  html[data-theme][data-buddy-room-view="active"] .toolbar-wrap{width:calc(100% - 14px)!important;max-width:none!important;gap:8px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;align-items:end!important;bottom:max(7px,env(safe-area-inset-bottom))!important}
  html[data-theme][data-buddy-room-view="active"] .toolbar{
    width:max-content!important;max-width:100%!important;justify-self:center!important;display:grid!important;grid-template-columns:repeat(6,40px)!important;gap:4px!important;padding:6px!important;overflow:visible!important;
  }
  html[data-theme][data-buddy-room-view="active"] .toolbar .tool{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;flex:0 0 40px!important;padding:0!important;border-radius:12px!important}
  html[data-theme][data-buddy-room-view="active"] .toolbar-separator{display:none!important}
  html[data-theme][data-buddy-room-view="active"] :is(#togglePlaybackBtn,#screenShareBtn,#whiteboardBtn,#presentationsBtn,#raiseHandBtn,#gridViewBtn,#settingsBtn,#fullscreenBtn,#transcriptionBtn,#recordingBtn){display:none!important}
  html[data-theme][data-buddy-room-view="active"] :is(#toggleMicBtn,#toggleCameraBtn,#participantsBtn,#chatBtn,#aiAssistantBtn,#mobileMoreBtn){display:flex!important}
  html[data-theme][data-buddy-room-view="active"] .toolbar-button-hidden{display:none!important}
  html[data-theme][data-buddy-room-view="active"] .leave-tool{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;align-self:end!important}
  html[data-theme][data-buddy-room-view="active"] .mobile-more-menu{position:fixed!important;z-index:76!important;right:7px!important;bottom:max(58px,calc(52px + env(safe-area-inset-bottom)))!important;width:min(300px,calc(100vw - 14px))!important}
}
@media(max-width:374px){
  html[data-theme][data-buddy-room-view="active"] .toolbar-wrap{grid-template-columns:minmax(0,1fr) 42px!important;gap:7px!important}
  html[data-theme][data-buddy-room-view="active"] .toolbar{grid-template-columns:repeat(3,40px)!important;grid-template-rows:repeat(2,40px)!important;gap:5px!important;padding:6px!important}
  html[data-theme][data-buddy-room-view="active"] .leave-tool{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
}

@media(prefers-reduced-motion:reduce){
  html[data-theme] .participant-panel,html[data-theme="light"] .launch-card,html[data-theme="light"] .launch-card::before{transition:none!important}
}

/* Patch21 corrective: category2-0.18.49 hid Together on every stacked width.
   Phone R14 sheet restores the three-tab model; tablet keeps its existing two-tab contract. */
@media(max-width:760px){
  html[data-theme][data-buddy-room-view="active"] #participantPanel #hybridTabBtn,
  html[data-theme][data-buddy-room-view="active"] #participantPanel.panel-fullscreen #hybridTabBtn{display:flex!important;width:100%!important;min-width:0!important;min-height:34px!important;height:34px!important;align-items:center!important;justify-content:center!important}
  html[data-theme][data-buddy-room-view="active"] #participantPanel .panel-tabs,
  html[data-theme][data-buddy-room-view="active"] #participantPanel.panel-fullscreen .panel-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  html[data-theme][data-buddy-room-view="active"] #participantPanel.panel-mode-hybrid .participants-pane{display:block!important}
  html[data-theme][data-buddy-room-view="active"] #participantPanel.panel-mode-hybrid .chat-panel{display:grid!important}

  /* Layout is itself an R14 bottom-sheet, not a floating tooltip. */
  html[data-theme][data-buddy-room-view="active"] .layout-menu{
    left:0!important;right:0!important;bottom:0!important;width:100%!important;height:min(88dvh,720px)!important;max-height:calc(var(--app-viewport-height,100dvh) - 18px)!important;
    padding:18px 14px calc(16px + env(safe-area-inset-bottom,0px))!important;border-radius:24px 24px 0 0!important;border-width:1px 1px 0!important;
    align-content:start!important;box-shadow:0 -20px 60px rgba(0,0,0,.46)!important;
  }
  html[data-theme][data-buddy-room-view="active"] .layout-menu::before{content:"";position:absolute;top:8px;left:50%;width:36px;height:4px;border-radius:999px;background:var(--line-strong);transform:translateX(-50%)}
}
html[data-theme] .layout-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 1px 3px}
html[data-theme] .layout-menu-head h3{margin:0;color:var(--text);font-size:15px}
html[data-theme] .layout-menu-close{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important}

/* ===== v1.45 PATCH22 · measured Patch21 corrective audit =====
   No percentage width inside an intrinsic action grid column; labelled buttons
   own their content width. At narrow TABLET widths labels use a second row. */
@media(min-width:761px) and (max-width:900px){
 html[data-theme] :is(.my-room-row,.room-history-row){grid-template-columns:minmax(0,1fr)!important}
 html[data-theme] :is(.my-room-actions,.room-history-actions){justify-self:end;max-width:100%}
}
/* The same compact metadata grammar as My Rooms, rather than tall history cards. */
@media(max-width:760px){
 html[data-theme] .room-history-row{min-height:62px!important}
 html[data-theme] .room-history-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
 html[data-theme] .room-history-copy b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 html[data-theme] .room-history-actions{flex-wrap:nowrap}
 html[data-theme] .participant-panel{min-height:0!important}
}
/* Six quick controls become 3x2 below 374px; reserve its REAL second row. */
@media(max-width:374px){
 html.buddy-room-active [data-buddy-room-root="true"]{padding-bottom:max(114px,calc(var(--buddy-safe-bottom) + 107px))!important}
}

/* v1.46 PATCH23: the layout sheet lives inside the dock stacking context.
   Raise that context while its modal is open, not just the child z-index. */
@media(max-width:760px){
 html[data-theme][data-buddy-room-view="active"] .toolbar-wrap:has(#layoutMenu:not(.hidden)){z-index:79!important}
}

/* v1.47 / Patch24: fixed-size video children must not outrun animated grid tracks. */
html[data-theme] .video-grid.pair-geometry-mode{transition-property:background-color,border-color,box-shadow!important}

/* v1.49 / Patch26 — owner review: compact rows, explicit PiP and finished Light.
   Keep source geometry; remove only the premature tablet single-column override. */
@media(min-width:761px){
 html[data-theme] :is(.home-owned-rooms,.home-room-history){width:min(860px,100%)!important;max-width:860px!important}
 html[data-theme] :is(.my-room-row,.room-history-row){grid-template-columns:minmax(0,1fr) max-content!important;align-items:center!important}
 html[data-theme] :is(.my-room-actions,.room-history-actions){width:auto!important;max-width:none!important;flex-wrap:nowrap!important;align-items:center!important;justify-self:end!important}
 html[data-theme] .my-room-actions button{flex:0 0 auto!important;width:auto!important;white-space:nowrap}
}
/* Seven ROOM tools, not the six destinations in Cabinet / Buddy Web navigation. */
@media(max-width:760px){
 html[data-theme][data-buddy-room-view="active"] .toolbar{grid-template-columns:repeat(7,40px)!important}
 html[data-theme][data-buddy-room-view="active"] #gridViewBtn{display:flex!important;order:4}
 html[data-theme][data-buddy-room-view="active"] #toggleMicBtn{order:0}
 html[data-theme][data-buddy-room-view="active"] #toggleCameraBtn{order:1}
 html[data-theme][data-buddy-room-view="active"] #participantsBtn{order:2}
 html[data-theme][data-buddy-room-view="active"] #chatBtn{order:3}
 html[data-theme][data-buddy-room-view="active"] #aiAssistantBtn{order:5}
 html[data-theme][data-buddy-room-view="active"] #mobileMoreBtn{order:6}
 html[data-theme][data-buddy-room-view="active"] #mobileGridAction{display:none!important}
}
@media(max-width:383px){
 html[data-theme][data-buddy-room-view="active"] .toolbar{grid-template-columns:repeat(4,40px)!important;grid-template-rows:repeat(2,40px)!important;gap:5px!important}
 html.buddy-room-active [data-buddy-room-root="true"]{padding-bottom:max(114px,calc(var(--buddy-safe-bottom) + 107px))!important}
}
/* Tile actions use the same neutral, legible controls in both themes. */
html[data-theme] .tile-pip-btn{position:absolute;right:9px;top:49px;z-index:6;opacity:1;background:var(--room-control);border-color:var(--line-strong);color:var(--text);backdrop-filter:none}
html[data-theme] .tile-pip-btn:disabled{opacity:.42;cursor:not-allowed}
html[data-theme] .tile-pip-btn.is-pip-active{color:var(--accent);background:var(--accent-soft)}
@media(min-width:761px){html[data-theme] .participant-tile:has(.tile-pip-btn) .tile-actions{top:89px!important}}
html[data-theme] .focus-thumbnail-rail .tile-pip-btn{width:26px!important;height:26px!important;right:5px;top:35px;border-radius:8px}

html[data-theme] .tile-geometry-btn{position:absolute;right:9px;top:49px;z-index:6;display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:11px;background:var(--room-control);border:1px solid var(--line-strong);color:var(--text);backdrop-filter:none;opacity:1}
html[data-theme] .tile-geometry-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
html[data-theme] .tile-geometry-btn:disabled{opacity:.42;cursor:not-allowed}
html[data-theme] .tile-geometry-btn:hover:not(:disabled){background:color-mix(in srgb,var(--room-control) 88%,var(--text));color:var(--text);border-color:var(--line-strong);box-shadow:var(--edge)}
html[data-theme] .tile-geometry-btn.hidden{display:none!important}
@media(min-width:761px){html[data-theme] .participant-tile:has(.tile-geometry-btn:not(.hidden)) .tile-actions{top:89px!important}}
html[data-theme] .participant-tile:has(.tile-pip-btn):has(.tile-geometry-btn:not(.hidden)) .tile-pip-btn{top:89px!important}
@media(min-width:761px){html[data-theme] .participant-tile:has(.tile-pip-btn):has(.tile-geometry-btn:not(.hidden)) .tile-actions{top:129px!important}}
html[data-theme] .focus-thumbnail-rail .tile-geometry-btn{width:26px!important;height:26px!important;right:5px;top:35px;border-radius:8px}
html[data-theme] .focus-thumbnail-rail .participant-tile:has(.tile-geometry-btn:not(.hidden)) .tile-pip-btn{top:64px!important}
/* No opaque label capsule on an empty tile. Actual video retains local contrast. */
html[data-theme] .participant-tile:not(:has(video)) .participant-name{background:transparent!important;color:var(--text)!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
html[data-theme] .participant-tile:not(:has(video)) .participant-role{color:var(--muted)!important}
html[data-theme] .participant-tile:not(:has(video)) .media-state span{background:var(--room-control)!important;color:var(--muted-strong)!important;border-color:var(--line)!important;box-shadow:none!important;backdrop-filter:none!important}
html[data-theme] .participant-tile:not(:has(video)) .media-state span.off{color:var(--red)!important;background:color-mix(in srgb,var(--red) 8%,var(--room-control))!important}

/* ORATOR v1.50 / Patch27 — frozen Light A: Mineral Satin / platinum.
   Neutral mineral shades, never a blue flood on hover. Whole-card actions only.
   The two diffuse lobes move across an oversized layer; no hard sweep boundary. */
html[data-theme="light"] {
  --orator-platinum-base:linear-gradient(145deg,#fefaf4 0%,#f4f0eb 48%,#e2e1df 100%);
  --orator-platinum-glaze:radial-gradient(ellipse at 30% 28%,rgba(255,255,255,.88) 0%,rgba(255,255,255,.46) 24%,rgba(255,255,255,0) 60%),radial-gradient(ellipse at 76% 74%,rgba(132,127,119,.22) 0%,rgba(132,127,119,0) 58%);
}
html[data-theme="light"] .launch-card{background:var(--orator-platinum-base)!important;background-size:100% 100%!important;background-position:0 0!important;border-color:rgb(var(--rooms-rgb-ccd1d6,204,209,214))!important}
html[data-theme="light"] .launch-card::before{content:"";position:absolute;inset:-60%!important;width:auto!important;height:auto!important;z-index:0;pointer-events:none;border-radius:inherit;background:var(--orator-platinum-glaze)!important;opacity:.24!important;transform:translate(-8%,-4%)!important;transition:opacity 550ms cubic-bezier(.22,.8,.2,1),transform 550ms cubic-bezier(.22,.8,.2,1)!important}
@media(hover:hover) and (pointer:fine){
 html[data-theme="light"] .launch-card:hover:not(:disabled)::before{opacity:.9!important;transform:translate(6%,4%)!important}
 html[data-theme="light"] .launch-card:hover:not(:disabled){background:var(--orator-platinum-base)!important;border-color:rgb(var(--rooms-rgb-ccd1d6,204,209,214))!important}
}
html[data-theme="light"] .launch-card:focus-visible:not(:disabled)::before{opacity:.9!important;transform:translate(6%,4%)!important}
@media(prefers-reduced-motion:reduce){html[data-theme="light"] .launch-card::before{transition:none!important;transform:none!important}}
@media(hover:none){html[data-theme="light"] .launch-card::before{opacity:.24!important;transform:none!important}}

/* R14's actual panel material. Child panes are transparent so they cannot
   erase the gradient of their parent as happened in earlier adapters. */
html[data-theme="dark"][data-buddy-room-view="active"]{
 --orator-room-material:linear-gradient(145deg,rgb(var(--rooms-rgb-14273f,20,39,63)) 0%,rgb(var(--rooms-rgb-0e1c30,14,28,48)) 65%,rgb(var(--rooms-rgb-0b1627,11,22,39)) 100%);
 --orator-room-tab:linear-gradient(145deg,rgb(var(--rooms-rgb-253f5b,37,63,91)) 0%,rgb(var(--rooms-rgb-1b2d45,27,45,69)) 50%,rgb(var(--rooms-rgb-102038,16,32,56)) 100%);
 --orator-room-tile:linear-gradient(140deg,rgb(var(--rooms-rgb-1c3455,28,52,85)) 0%,rgb(var(--rooms-rgb-091525,9,21,37)) 100%);
}
html[data-theme="light"][data-buddy-room-view="active"]{
 --room-section:#f4f0eb;--room-control:#eeede9;--room-inset:#f6f4ef;--line:#d4d3cf;--line-strong:#bcbdbb;
 --orator-room-material:linear-gradient(140deg,#fffdf9 0%,#f4f0eb 62%,#e9e7e3 100%);
 --orator-room-tab:linear-gradient(140deg,#fffdf9 0%,#eeeae4 55%,#dbd9d4 100%);
 --orator-room-tile:linear-gradient(140deg,#fffdf9 0%,#eeeae4 52%,#d9d8d4 100%);
}
html[data-theme][data-buddy-room-view="active"]{
 --orator-room-stage:var(--orator-room-material);
}
html[data-theme][data-buddy-room-view="active"] :is(.room-head,.participant-panel,.ai-assistant-panel,.layout-menu,.mobile-more-menu,.room-head-overflow-menu){background:var(--orator-room-material)!important;border-color:var(--line)!important}
html[data-theme][data-buddy-room-view="active"] .room-main{background:var(--orator-room-stage)!important;border:1px solid var(--line)!important;border-radius:24px!important;box-shadow:var(--edge)!important;padding:14px!important;overflow:hidden!important}
html[data-theme][data-buddy-room-view="active"] .video-grid{background:transparent!important;box-shadow:none!important}
html[data-theme][data-buddy-room-view="active"] :is(.participants-pane,.chat-panel,.chat-messages,.chat-empty,.participant-empty){background:transparent!important}
html[data-theme][data-buddy-room-view="active"] .panel-topbar{background:var(--orator-room-material)!important}
html[data-theme][data-buddy-room-view="active"] .participant-tile{background:var(--orator-room-tile)!important;border-color:var(--line-strong)!important;box-shadow:var(--edge)!important}
html[data-theme][data-buddy-room-view="active"] .participant-tile.active-speaker{border-color:var(--green)!important;box-shadow:var(--edge),0 0 16px color-mix(in srgb,var(--green) 16%,transparent)!important}
html[data-theme][data-buddy-room-view="active"] :is(.panel-tab,.ai-panel-tab,.layout-option,.layout-geometry-option).active{
 background:var(--orator-room-tab) padding-box,linear-gradient(180deg,var(--line-strong) 38%,var(--accent)) border-box!important;border:1px solid transparent!important;color:var(--accent)!important;box-shadow:var(--edge)!important;
}
html[data-theme="light"][data-buddy-room-view="active"] :is(.panel-tab,.ai-panel-tab,.layout-option,.layout-geometry-option).active{color:#a35920!important}
html[data-theme="light"][data-buddy-room-view="active"] .participant-empty-avatar{background:var(--orator-room-tab)!important;color:var(--text)!important;border-color:var(--line-strong)!important;box-shadow:0 8px 24px rgba(64,61,56,.08)!important}
html[data-theme="light"][data-buddy-room-view="active"] .participant-row{background:linear-gradient(140deg,#fffdf9,#eeede9)!important}
html[data-theme="light"][data-buddy-room-view="active"] .chat-bubble{background:#ffffff!important;border-color:rgba(var(--rooms-rgb-4a586a,74,88,106),0.14)!important;box-shadow:0 7px 20px rgba(var(--rooms-rgb-484e57,72,78,87),0.07)!important}
html[data-theme="light"][data-buddy-room-view="active"] .chat-message.local .chat-bubble{background:var(--room-chat-own-bg)!important;border-color:var(--room-chat-own-border)!important}
html[data-theme="light"][data-buddy-room-view="active"] .chat-message.ai-message .chat-bubble{background:#ffffff!important;border-color:rgba(var(--rooms-rgb-4a586a,74,88,106),0.14)!important}
html[data-theme="dark"][data-buddy-room-view="active"] .chat-bubble{background:rgb(var(--rooms-rgb-091525,9,21,37))!important;border-color:rgba(var(--rooms-rgb-89a0bf,137,160,191),0.16)!important;box-shadow:0 8px 22px rgba(0,0,0,.18)!important}
html[data-theme="dark"][data-buddy-room-view="active"] .chat-message.local .chat-bubble{background:var(--room-chat-own-bg)!important;border-color:var(--room-chat-own-border)!important}
html[data-theme="dark"][data-buddy-room-view="active"] .chat-message.ai-message .chat-bubble{background:rgb(var(--rooms-rgb-091525,9,21,37))!important;border-color:rgba(var(--rooms-rgb-89a0bf,137,160,191),0.16)!important}

@media(hover:hover) and (pointer:fine){
 html[data-theme="light"] :is(.layout-option,.layout-geometry-option,.presentation-upload-choice):hover:not(:disabled):not(.active){background:var(--orator-platinum-base)!important;border-color:transparent!important}
}
/* Real chat form (not the nonexistent .chat-composer selector).
   Expanded text occupies the full first row; file left, voice+send right. */
html[data-theme] #chatForm{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px 44px!important;grid-template-areas:"attach input voice send";gap:7px!important;align-items:end!important;min-width:0}
html[data-theme] #chatFormAttachBtn{grid-area:attach}
html[data-theme] #chatInput{grid-area:input;min-width:0!important;width:100%!important;min-height:44px!important;max-height:var(--chat-composer-max,220px)!important;box-sizing:border-box;resize:none!important;font-size:14px!important;line-height:1.5!important;padding:9px 12px!important;color:var(--text)!important;background:var(--room-inset)!important;border:1px solid var(--line-strong)!important;transition:border-color .16s,box-shadow .16s!important}
html[data-theme] #chatSpeechBtn{grid-area:voice}
html[data-theme] #chatSendBtn{grid-area:send}
html[data-theme] #chatForm :is(.chat-attach,.chat-speech,.chat-send){width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;display:flex!important;align-items:center;justify-content:center;padding:0!important;box-sizing:border-box;border-radius:12px!important;border:1px solid var(--line-strong);flex-shrink:0}
html[data-theme] #chatForm :is(.chat-attach,.chat-speech){background:var(--room-control)!important;color:var(--text)!important;box-shadow:var(--edge)!important}
html[data-theme] #chatForm :is(.chat-attach,.chat-speech,.chat-send) svg{display:block;width:20px!important;height:20px!important;stroke:currentColor;fill:none;stroke-width:1.7;flex:0 0 20px}
html[data-theme] #chatForm #chatSendBtn{background:var(--accent)!important;border-color:var(--accent)!important;color:#1d160f!important}
html[data-theme] #chatForm #chatSpeechBtn.recording{color:var(--accent)!important;background:var(--accent-soft)!important;border-color:var(--accent)!important}
html[data-theme] #chatForm.is-expanded{grid-template-areas:"input input input input" "attach . voice send"}
html[data-theme] #chatForm.is-expanded #chatInput{min-height:var(--chat-composer-min,84px)!important}
html[data-theme] #chatForm :is(.chat-attach,.chat-speech):hover:not(:disabled){background:var(--orator-room-tab)!important;border-color:var(--line-strong)!important;transform:none!important}
html[data-theme] #chatInput:focus{outline:none!important;border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-soft)!important}
html[data-theme] .chat-bubble{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:379px){html[data-theme] #chatForm{grid-template-areas:"input input input input" "attach . voice send"}html[data-theme] #chatInput{font-size:16px!important}}
@media(max-width:760px){html[data-theme] #chatInput{font-size:16px!important}}

/* Patch28: 24px phone line + 18px vertical padding + 2px border = 44px.
   A width reflow after send must not inflate the collapsed editor to 46px. */

/* Patch30: inherited collapse label was pale-blue on Porcelain (unreadable).
   Both home sections share this control. Keep size and border stable on hover. */
html[data-theme="light"] .section-collapse-control{color:var(--text);background:#f5f3ee;border-color:rgb(var(--rooms-rgb-ccd1d6,204,209,214))}
html[data-theme="light"] .section-collapse-control:hover{color:var(--text);background:#eeede9;border-color:rgb(var(--rooms-rgb-ccd1d6,204,209,214))}
html[data-theme="light"] .section-collapse-control:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Patch35: a single measured header contract owns all five actions.
   .hidden remains permission/state-owned; data-head-overflow is presentation only. */
html[data-theme] #roomView .room-head[data-head-mode]{--head-label-width:172px;--head-icon-size:44px;--head-gap:6px;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:8px!important;min-height:64px!important;height:auto!important;padding:10px 12px!important;box-sizing:border-box!important}
html[data-theme] #roomView .room-head[data-head-mode] .room-title-group{flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important;overflow:hidden}
html[data-theme] #roomView .room-head[data-head-mode] .room-title-line{display:flex!important;gap:6px!important;min-width:0}
html[data-theme] #roomView .room-head[data-head-mode] #roomTitle{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important;max-width:none!important}
html[data-theme] #roomView .room-head[data-head-mode] #roomInfoBtn{display:grid!important;flex:0 0 32px!important;width:32px!important;height:32px!important;min-width:32px!important;padding:0!important}
html[data-theme] #roomView .room-head[data-head-mode] .room-head-actions{display:flex!important;flex:0 0 auto!important;flex-wrap:nowrap!important;min-width:0!important;max-width:none!important;width:auto!important;gap:var(--head-gap)!important;align-items:center!important;overflow:visible!important}
html[data-theme] #roomView .room-head[data-head-mode] .room-head-actions>.room-head-action:not(.hidden):not(.toolbar-button-hidden){display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 var(--head-icon-size)!important;width:var(--head-icon-size)!important;min-width:var(--head-icon-size)!important;max-width:var(--head-icon-size)!important;height:44px!important;min-height:44px!important;max-height:44px!important;padding:0!important;margin:0!important;box-sizing:border-box!important;gap:7px!important;font-size:11px!important;line-height:1.2!important;white-space:nowrap!important;border-radius:12px!important;position:relative!important;overflow:visible!important}
html[data-theme] #roomView .room-head[data-head-mode="labels"] .room-head-actions>.room-head-action:not(.hidden):not(#transcriptionRunBtn){flex-basis:var(--head-label-width)!important;width:var(--head-label-width)!important;min-width:var(--head-label-width)!important;max-width:var(--head-label-width)!important;padding:0 10px!important}
html[data-theme] #roomView .room-head[data-head-mode] .room-head-actions>.room-head-action>span{display:none!important}
html[data-theme] #roomView .room-head[data-head-mode="labels"] .room-head-actions>.room-head-action:not(#transcriptionRunBtn)>span{display:block!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
html[data-theme] #roomView .room-head[data-head-mode] .room-head-actions>.room-head-action>svg{display:block!important;width:18px!important;height:18px!important;min-width:18px!important;flex:0 0 18px!important;margin:0!important;fill:none;stroke:currentColor}
html[data-theme] #roomView .room-head[data-head-mode] .room-head-actions>.room-head-action[data-head-overflow="true"]:not(.hidden):not(.toolbar-button-hidden){display:none!important}
html[data-theme] #roomView .room-head[data-head-mode] #roomHeadOverflowBtn:not(.hidden){display:grid!important;flex:0 0 44px!important;width:44px!important;min-width:44px!important;height:44px!important;margin:0!important}
html[data-theme] #roomView .room-head[data-head-mode] #roomHeadOverflowBtn.hidden{display:none!important}
html[data-theme] #roomView .room-head[data-head-mode] #admissionNotice:not(.hidden){display:inline-flex!important;position:relative!important;width:44px!important;min-width:44px!important;flex:0 0 44px!important;height:44px!important;padding:0!important}
html[data-theme] #roomView .room-head[data-head-mode] #admissionNotice>span{display:none!important}
html[data-theme] #roomView .room-head[data-head-mode] #recordingRoomIndicator:not(.hidden){display:flex!important;flex:0 0 68px!important;width:68px!important;min-width:68px!important;padding:0!important;gap:4px!important}
html[data-theme] #roomView .room-head[data-head-mode] #recordingRoomIndicator>span{display:none!important}
html[data-theme] #roomView .room-head[data-head-wrap="true"]{flex-wrap:wrap!important}
html[data-theme] #roomView .room-head[data-head-wrap="true"] .room-title-group{flex-basis:100%!important}
html[data-theme] #roomView .room-head[data-head-mode] .transcription-action-state{position:absolute!important;right:-3px!important;top:-3px!important;bottom:auto!important;left:auto!important;margin:0!important;width:14px!important;min-width:14px!important;height:14px!important;padding:0!important;border-radius:50%!important;box-sizing:border-box!important;border:2px solid var(--panel)!important}
html[data-theme] #roomView .room-head[data-head-mode] .transcription-action-state-text{display:none!important}
html[data-theme] #roomView .room-head[data-head-mode] .transcription-action-state::before{font-size:8px!important}
html[data-theme] #roomHeadOverflowMenu{top:var(--room-head-menu-top,82px);z-index:90;max-width:calc(100% - 24px);max-height:calc(100dvh - 130px);overflow:auto}
/* Light material: a broader white highlight and neutral platinum mid/shadow,
   no blue channel dominance, bevel, extra hover ring or geometry animation. */
html[data-theme="light"][data-buddy-room-view="active"]{
 --orator-room-material:radial-gradient(ellipse at 12% 2%,rgba(255,255,255,.9),rgba(255,255,255,0) 70%),linear-gradient(145deg,#fffdf9 0%,#ede9e3 55%,#dcdad5 100%);
 --orator-room-tab:linear-gradient(145deg,#fffefa 0%,#f1ede6 45%,#dad7d1 100%);
 --orator-room-control:linear-gradient(145deg,#fffefa 0%,#f3f0eb 46%,#e0ded8 100%);
 --orator-room-control-hover:radial-gradient(ellipse at 75% 14%,rgba(255,255,255,.9),rgba(255,255,255,0) 66%),linear-gradient(145deg,#faf7f1,#e7e3dc);
}
html[data-theme="light"] #roomView :is(.room-head-action,.tool,.icon-button,.tile-focus-btn,.tile-geometry-btn,.tile-pip-btn,.chat-attach,.chat-speech):not(.active):not(.notice):not(.has-unread):not(.off):not(.danger):not(.recording):not(.is-active):not(.is-ready){background:var(--orator-room-control)!important;box-shadow:none!important}
@media(hover:hover) and (pointer:fine){html[data-theme="light"] #roomView :is(.room-head-action,.tool,.icon-button,.tile-focus-btn,.tile-geometry-btn,.tile-pip-btn,.chat-attach,.chat-speech):hover:not(:disabled):not(.active):not(.notice):not(.has-unread):not(.off):not(.danger):not(.recording):not(.is-active):not(.is-ready){background:var(--orator-room-control-hover)!important;transform:none!important;box-shadow:none!important}}
/* Native panel tools, not the retired participantsPanelBtn/chatPanelBtn aliases.
   A selected content mode must be visibly selected, not merely carry a class. */
html[data-theme] #roomView :is(#chatBtn.active,#participantsBtn.active){color:var(--accent)!important;border-color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:none!important}
html[data-theme="light"] #roomView :is(#chatBtn.active,#participantsBtn.active){color:#99511b!important;background:linear-gradient(145deg,#fff9ee,#f4e5d3)!important}

/* Patch38: group shapes use the existing Grid mode and live media elements.
   Half-column tracks centre incomplete rows without changing DOM/tab order. */
html[data-theme] .group-shape-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;min-width:0;margin-bottom:10px}
html[data-theme] .group-shape-controls.hidden{display:none!important}
html[data-theme] .group-shape-caption{font:12px/1.4 "PT Sans",Arial,sans-serif;color:var(--muted);margin-right:auto}
html[data-theme] .group-shape-cycle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;max-width:100%;padding:0 12px;border-radius:12px;white-space:nowrap;box-shadow:none}
html[data-theme] .group-shape-cycle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}
html[data-theme="light"] .group-shape-cycle{background:var(--orator-room-control)!important}
html[data-theme="light"] .group-shape-cycle:hover{background:var(--orator-room-control-hover)!important;transform:none!important}
.group-shape-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html[data-theme] .group-shape-options .layout-geometry-option:last-child{grid-column:auto}
html[data-theme] .group-shape-options .hidden{display:none!important}
html[data-theme] .video-grid.group-geometry-mode{
 display:grid!important;grid-template-columns:repeat(calc(var(--group-cols) * 2),calc((var(--group-width) - var(--group-gap)) / 2))!important;
 grid-template-rows:repeat(var(--group-rows),var(--group-height))!important;grid-auto-rows:unset!important;
 gap:var(--group-gap)!important;justify-content:center!important;align-content:center!important;overflow:hidden!important;
 transition-property:background-color,border-color,box-shadow!important;
}
html[data-theme] .video-grid.group-geometry-mode>.participant-tile{
 box-sizing:border-box!important;width:var(--group-width)!important;height:var(--group-height)!important;min-width:0!important;min-height:0!important;
 max-width:none!important;max-height:none!important;margin:0!important;transition-property:background-color,border-color,box-shadow!important;
}
/* On small group tiles moderation remains in Participants; never cover the name
   or avatar with a five-button column. Expand still opens the chosen participant. */
html[data-theme] .video-grid.group-geometry-mode>.group-tile-compact .tile-actions{display:none!important}
html[data-theme] .video-grid.group-geometry-mode>.group-tile-compact .tile-focus-btn{width:32px!important;height:32px!important;min-height:32px!important;right:7px!important;top:7px!important;opacity:1}
html[data-theme] .video-grid.group-geometry-mode>.group-tile-compact .tile-pip-btn{width:32px!important;height:32px!important;min-height:32px!important;right:43px!important;top:7px!important}
html[data-theme] .video-grid.group-geometry-mode>.group-tile-compact .participant-meta{left:8px!important;right:8px!important;bottom:7px!important;max-width:none!important}
html[data-theme] .video-grid.group-geometry-mode>.group-tile-compact .participant-name{padding:3px!important;font-size:10px!important;max-width:100%!important}
html[data-theme] .video-grid.group-geometry-mode>.group-tile-compact :is(.participant-role,.media-state){display:none!important}
html[data-theme] .video-grid.group-geometry-mode>.group-tile-compact .participant-empty{transform:none!important;gap:4px!important;font-size:10px!important}
html[data-theme] .video-grid.group-geometry-mode>.group-tile-compact .participant-empty-avatar{width:36px!important;height:36px!important;font-size:17px!important;border-radius:13px!important}
html[data-theme] .video-grid.group-geometry-mode>.group-tile-tiny :is(.tile-pip-btn,.participant-empty){display:none!important}
@media(max-width:360px){html[data-theme] .group-shape-caption{font-size:10px}html[data-theme] .group-shape-cycle{font-size:11px;padding:0 8px}}

/* Patch39: 10-person 320px grid produced 64px tiles: keep Expand above,
   not on top of, the one-line name. The whole tile also remains keyboard focusable. */
html[data-theme] .video-grid.group-geometry-mode>.group-tile-tiny .tile-focus-btn{width:28px!important;height:28px!important;min-height:28px!important;right:4px!important;top:4px!important}
html[data-theme] .video-grid.group-geometry-mode>.group-tile-tiny .participant-meta{left:4px!important;right:4px!important;bottom:4px!important}
html[data-theme] .video-grid.group-geometry-mode>.group-tile-tiny .participant-name{font-size:9px!important;line-height:16px!important;height:16px!important;max-height:16px!important;padding:0!important;border:0!important}
/* Patch41: the inherited phone status toast occupied the new shape-control row.
   In group Grid it is a measured footer, not an overlay on controls or video. */
html[data-theme] #roomView .room-main:has(.group-shape-controls:not(.hidden)) #roomMessage{
 position:static!important;inset:auto!important;transform:none!important;align-self:center!important;flex:0 0 auto!important;
 width:auto!important;max-width:100%!important;margin:8px auto 0!important;max-height:38px!important;overflow:auto!important;
}

/* PATCH48 · Owner-approved frame shape / focus independence and compact AI.
   Native product styles; the source-preview embeds this same file unchanged. */
html[data-theme] .group-shape-controls{margin-bottom:7px;min-height:30px;gap:0}
html[data-theme] .group-shape-caption{display:none}
html[data-theme] #groupTileShapeBtn{font:500 9px/1.25 "PT Sans","Segoe UI",sans-serif!important;min-height:30px;height:30px;min-width:64px;padding:0 8px;gap:5px;border-radius:9px;touch-action:manipulation}
html[data-theme] #groupTileShapeBtn svg{width:13px;height:13px;flex:0 0 13px}
html[data-theme] #groupTileShapeBtn.primary-frame-shape{position:absolute;right:9px;top:49px;z-index:7;max-width:calc(100% - 18px);background:var(--room-control)}
html[data-theme] .participant-tile:has(>#groupTileShapeBtn.primary-frame-shape)>.tile-pip-btn{top:85px!important}
html[data-theme] .participant-tile:has(>#groupTileShapeBtn.primary-frame-shape)>.tile-actions{top:125px!important;bottom:auto!important}
html[data-theme] .video-grid.primary-rail-mode{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important;grid-auto-rows:auto!important;gap:8px!important;overflow:hidden!important;align-content:stretch!important}
html[data-theme] .video-grid.primary-rail-mode>.participant-tile.is-focused{grid-column:1!important;grid-row:1!important;width:100%!important;height:100%!important;min-height:0!important;flex:none!important;order:0!important}
html[data-theme] .video-grid.primary-shape-mode.primary-rail-mode{grid-template-rows:var(--primary-height) auto!important;align-content:start!important;overflow-y:auto!important;overflow-x:hidden!important}
html[data-theme] .video-grid.primary-shape-mode>.participant-tile.is-focused{width:var(--primary-width)!important;height:var(--primary-height)!important;min-height:0!important;max-height:none!important;justify-self:center;align-self:start;margin-inline:auto!important}
html[data-theme] .video-grid.primary-shape-mode>.participant-tile.is-focused video[data-buddy-track-source="camera"]{object-fit:cover}
/* Desktop focus keeps a real thumbnail rail as well; no cloned media elements. */
@media(min-width:901px){
 html[data-theme] .focus-thumbnail-rail{grid-column:1;grid-row:2;min-width:0;display:grid;grid-auto-flow:column;grid-template-rows:84px;grid-auto-columns:140px;justify-content:start;gap:8px;overflow-x:auto;overflow-y:hidden;padding:0 0 3px}
 html[data-theme] .focus-thumbnail-rail .participant-tile{width:140px!important;height:84px!important;min-width:0!important;min-height:0!important;grid-column:auto!important;grid-row:auto!important}
 html[data-theme] .focus-thumbnail-rail :is(.participant-role,.media-state,.tile-actions){display:none!important}
 html[data-theme] .focus-thumbnail-rail .participant-meta{left:5px!important;bottom:5px!important;right:35px!important;max-width:none!important}
 html[data-theme] .focus-thumbnail-rail .participant-name{font-size:9px!important;padding:2px!important;max-width:100%!important}
 html[data-theme] .focus-thumbnail-rail .tile-focus-btn{width:26px!important;height:26px!important;right:5px!important;top:5px!important}
}
@media(max-width:760px){
 html[data-theme] .video-grid.group-geometry-mode{align-content:start!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain}
 html[data-theme] .video-grid.group-geometry-mode>.participant-tile video[data-buddy-track-source="camera"]{object-fit:cover}
}
/* A status line must never obscure the relocated shape control or primary video. */
html[data-theme] #roomView .room-main:has(#groupTileShapeBtn:not(.hidden)) #roomMessage{position:static!important;inset:auto!important;transform:none!important;align-self:center!important;flex:0 0 auto!important;width:auto!important;max-width:100%!important;margin:7px auto 0!important;max-height:38px!important;overflow:auto!important}
html[data-theme] .ai-panel-tabs{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:44px;gap:7px;padding-top:10px;padding-bottom:8px;flex-shrink:0}
html[data-theme] .ai-panel-tab{min-width:0;min-height:44px;height:44px;font-size:12px!important;line-height:1.25!important;padding:4px 8px!important;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:normal}
html[data-theme] .ai-participant-filters{display:flex;align-items:flex-start;gap:6px;overflow:hidden;flex:0 0 auto;padding-bottom:9px}
html[data-theme] .ai-participant-filter-list{display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0;overflow:hidden}
html[data-theme] .ai-participant-filter-list .ai-filter-chip{height:32px;min-height:32px;min-width:0;max-width:100%;padding:0 9px;font-size:11px!important;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme] .ai-participant-filter-list .ai-filter-chip[hidden]{display:none!important}
html[data-theme] .ai-participant-filter-toggle{flex:0 0 32px;width:32px;height:32px;min-height:32px;padding:0;display:grid;place-items:center;border-radius:9px}
html[data-theme] .ai-participant-filter-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform 220ms ease}
html[data-theme] .ai-participant-filters.expanded .ai-participant-filter-toggle svg{transform:rotate(180deg)}
html[data-theme] .ai-participant-filters.expanded .ai-participant-filter-list{max-height:176px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
html[data-theme] .speech-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:7px;align-items:center;width:100%}
html[data-theme] .speech-history-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-width:0}
html[data-theme] .speech-history-modes button{width:100%;min-width:0;min-height:40px;height:40px;padding:0 3px;font-size:10px!important;line-height:1.2;white-space:nowrap;text-align:center;border-radius:10px}
html[data-theme] #aiSpeechRecordBtn{width:40px;min-width:40px;height:40px;min-height:40px;padding:0;display:grid;place-items:center;border-radius:11px;background:var(--accent)!important;border-color:var(--accent)!important;color:rgb(var(--rooms-rgb-07101c,7,16,28))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
html[data-theme] #aiSpeechRecordBtn svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}
html[data-theme] #aiSpeechRecordBtn:hover:not(:disabled){background:var(--accent-strong)!important}
html[data-theme] #aiSpeechRecordBtn.recording{box-shadow:0 0 0 2px var(--accent-soft),inset 0 0 0 1px rgba(var(--rooms-rgb-07101c,7,16,28),0.2)}
html[data-theme] #aiSpeechRecordBtn:focus-visible,html[data-theme] .ai-participant-filter-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:360px){html[data-theme] .ai-panel-tab{font-size:11px!important;padding-inline:5px!important}html[data-theme] .speech-toolbar{gap:5px}html[data-theme] .speech-history-modes{gap:3px}html[data-theme] .speech-history-modes button{font-size:9px!important}}
@media(prefers-reduced-motion:reduce){html[data-theme] .ai-participant-filter-toggle svg{transition:none!important}}

/* Compact thumbnail chrome must not crop a 72px avatar into a 70px tile. */
html[data-theme] .focus-thumbnail-rail .participant-empty{transform:translateY(-6px)!important;gap:0!important}
html[data-theme] .focus-thumbnail-rail .participant-empty-avatar{width:28px!important;height:28px!important;border-radius:10px!important;font-size:14px!important}
html[data-theme] .focus-thumbnail-rail .participant-empty>span:not(.participant-empty-avatar){display:none!important}
html[data-theme] .focus-thumbnail-rail .participant-meta{left:6px!important;right:35px!important;bottom:5px!important;max-width:none!important}
html[data-theme] .focus-thumbnail-rail .participant-name{padding:0!important;max-width:100%!important;min-width:0!important;font-size:9px!important;line-height:13px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* The primary may be wide and only 156px tall on a 320px phone.
   Keep its complete chrome inside that frame: shape above Return; moderation
   stays a compact bottom row, not a vertical stack spilling below the video. */
html[data-theme] .participant-tile:has(>#groupTileShapeBtn.primary-frame-shape)>.tile-focus-btn{width:28px!important;height:28px!important;min-height:28px!important;right:8px!important;top:44px!important}
html[data-theme] #groupTileShapeBtn.primary-frame-shape{right:8px;top:8px}
html[data-theme] .participant-tile:has(>#groupTileShapeBtn.primary-frame-shape)>.tile-pip-btn{width:28px!important;height:28px!important;min-height:28px!important;right:8px!important;top:78px!important}
html[data-theme] .participant-tile:has(>#groupTileShapeBtn.primary-frame-shape)>.tile-actions{top:auto!important;bottom:8px!important;right:8px!important;display:flex!important;flex-direction:row!important;gap:4px!important}
html[data-theme] .participant-tile:has(>#groupTileShapeBtn.primary-frame-shape)>.tile-actions>button{width:28px!important;height:28px!important;min-height:28px!important;padding:0!important}
html[data-theme] .participant-tile:has(>#groupTileShapeBtn.primary-frame-shape):has(>.tile-actions)>.participant-meta{right:110px!important;left:10px!important;bottom:10px!important}
html[data-theme] .participant-tile:has(>#groupTileShapeBtn.primary-frame-shape)>.participant-meta .media-state{display:none!important}
html[data-theme] .video-grid.primary-rail-mode:not(.primary-shape-mode){grid-template-rows:minmax(156px,1fr) auto!important;overflow-y:auto!important;overflow-x:hidden!important}

/* Preserve usable pair controls in a short landscape viewport. */
html[data-theme] .video-grid.pair-geometry-mode.pair-short-stage{align-content:start!important;overflow-y:auto!important;overflow-x:hidden!important}
/* Leave room for All before a selected long name in the collapsed owner row. */
html[data-theme] .ai-participant-filters:not(.expanded) .ai-participant-filter-list:has([data-participant-id=""]) .ai-filter-chip:not([data-participant-id=""]){max-width:calc(100% - 64px)}

/* PATCH49 · Mobile meeting dock attaches to the viewport (including tablet
   stacked layouts). Desktop meeting toolbar keeps the accepted grouped design.
   Inner toolbar and separate Quiet Outline exit share one flat surface. */
@media(max-width:900px){
 html[data-theme][data-buddy-room-view="active"]{--room-dock-height:57px;--room-dock-safe-bottom:env(safe-area-inset-bottom,0px);--room-dock-space:calc(var(--room-dock-height) + var(--room-dock-safe-bottom))}
 html[data-theme][data-buddy-room-view="active"] .toolbar-wrap{position:fixed!important;left:0!important;right:0!important;bottom:0!important;transform:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:8px max(4px,env(safe-area-inset-right,0px)) calc(8px + var(--room-dock-safe-bottom)) max(4px,env(safe-area-inset-left,0px))!important;min-height:var(--room-dock-space)!important;display:grid!important;grid-template-columns:minmax(0,1fr) 40px!important;gap:8px!important;align-items:center!important;box-sizing:border-box!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:var(--room-dock)!important;box-shadow:none!important;pointer-events:auto!important}
 html[data-theme][data-buddy-room-view="active"] .toolbar-wrap>.toolbar{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;grid-template-rows:none!important;align-items:center!important}
 html[data-theme][data-buddy-room-view="active"] .toolbar-wrap>.leave-tool{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;align-self:center!important;justify-self:center!important;padding:0!important;border-radius:12px!important}
 html[data-theme][data-buddy-room-view="active"] .room{padding-bottom:calc(var(--room-dock-space) + 8px)!important}
 html[data-theme][data-buddy-room-view="active"] .mobile-more-menu{bottom:calc(var(--room-dock-space) + 8px)!important}
 html[data-theme][data-buddy-room-view="active"] .layout-menu{bottom:calc(var(--room-dock-space) + 8px)!important}
}
@media(max-width:760px){
 html[data-theme][data-buddy-room-view="active"] .toolbar-wrap{grid-template-columns:minmax(0,7fr) minmax(40px,1fr)!important;column-gap:0!important;padding-left:env(safe-area-inset-left,0px)!important;padding-right:env(safe-area-inset-right,0px)!important}
 html[data-theme][data-buddy-room-view="active"] .toolbar-wrap>.toolbar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:0!important;justify-items:center!important}
 html[data-theme][data-buddy-room-view="active"] .toolbar-wrap>.toolbar>.tool{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}
}

/* PATCH52: approved R6 local navigation. Old per-button surfaces are retired only here. */
html[data-theme][data-buddy-room-view] #participantPanel .panel-tabs.orator-segmented,
html[data-theme][data-buddy-room-view] #participantPanel.panel-fullscreen .panel-tabs.orator-segmented{grid-template-columns:repeat(var(--os-count,3),minmax(0,1fr))!important;gap:3px!important;flex:1 1 0%!important;padding:3px!important}
html[data-theme][data-buddy-room-view] #participantPanel :is(#hybridTabBtn,#participantsTabBtn,#chatTabBtn).os-button,
html[data-theme][data-buddy-room-view] #participantPanel.panel-fullscreen :is(#hybridTabBtn,#participantsTabBtn,#chatTabBtn).os-button{padding:0 3px!important;font-size:13px!important;min-width:0!important}
html[data-theme][data-buddy-room-view] #participantPanel .orator-segmented[data-os-narrow="true"] :is(#hybridTabBtn,#participantsTabBtn,#chatTabBtn).os-button,
html[data-theme][data-buddy-room-view] #participantPanel.panel-fullscreen .orator-segmented[data-os-narrow="true"] :is(#hybridTabBtn,#participantsTabBtn,#chatTabBtn).os-button{font-size:12px!important}
html[data-theme][data-buddy-room-view] #participantPanel :is(#participantsTabBtn,.os-label-copy) .os-count{position:static!important;inset:auto!important;transform:none!important;margin:0!important;font-size:10px!important;color:inherit!important}
html[data-theme] .ai-panel-tabs.orator-segmented{width:calc(100% - 28px)!important;margin:10px 14px 8px;flex-shrink:0}
html[data-theme] .speech-history-modes.orator-segmented{height:40px!important;border:0!important;grid-auto-rows:34px!important}
html[data-theme] .speech-history-modes.orator-segmented :is(.os-button,.os-label-copy){font-size:13px!important;height:34px!important;min-height:34px!important}
html[data-theme] .speech-history-modes.orator-segmented[data-os-narrow="true"] :is(.os-button,.os-label-copy){font-size:12px!important}
html[data-theme] .layout-menu .layout-menu-group:has([data-orator-segmented]){min-width:0}
html[data-theme] .layout-menu [data-orator-segmented] .os-label{font-size:inherit!important;color:inherit!important}
html[data-theme] .layout-menu .layout-geometry-note{margin-top:9px}
html[data-theme] .presentation-source-description{font-size:12px;line-height:1.5;color:var(--muted);margin:0}

/* P56 · owner-approved UI unification. Shared primitives live in orator-ui-foundations.css. */
html[data-theme="light"] {--accent:#F5A04F;--accent-strong:#F5A04F;--accent-soft:rgba(245,160,79,.12)}
html[data-theme] #roomView .room-head[data-head-mode] .room-head-actions>.room-head-action:not(.hidden){border-radius:var(--room-header-icon-radius,14px)!important}
html[data-theme] #roomView .room-head[data-head-mode="labels"] .room-head-actions>.room-head-action:not(.hidden):not(#transcriptionRunBtn){border-radius:var(--tabs-item-radius,14px)!important}
html[data-theme][data-buddy-room-view="active"] #roomView .participant-tile.raised-hand{border-color:#F5A04F!important;box-shadow:var(--edge),0 0 16px rgba(245,160,79,.12)!important}
html[data-theme][data-buddy-room-view="active"] #roomView .participant-tile.active-speaker{border-color:var(--green)!important;box-shadow:var(--edge),0 0 16px color-mix(in srgb,var(--green) 16%,transparent)!important}
html[data-theme] .tile-hand-badge{color:#F5A04F!important}
html[data-theme] :is(.settings-card,.my-settings-card,.presentation-panel-body){scrollbar-gutter:stable;overscroll-behavior:contain}
/* Wide tablet: every desktop action fits in the actual available tray. Preserve
   the existing compact More arrangement below 761px and UI-hidden preferences. */
@media(min-width:761px) and (max-width:1000px){
 html[data-theme][data-buddy-room-view="active"] #roomView .toolbar-wrap{display:flex!important;justify-content:center!important;align-items:center!important;gap:10px!important;width:100%!important;max-width:100%!important;padding-inline:10px!important;box-sizing:border-box!important}
 html[data-theme][data-buddy-room-view="active"] #roomView .toolbar-wrap>.toolbar{display:flex!important;flex:0 1 auto!important;justify-content:center!important;align-items:center!important;width:auto!important;max-width:calc(100% - 54px)!important;min-width:0!important;gap:5px!important;padding:7px!important;grid-template-columns:none!important;grid-template-rows:none!important}
 html[data-theme][data-buddy-room-view="active"] #roomView .toolbar-wrap>.toolbar>.tool:not(.hidden):not(.toolbar-button-hidden):not(#mobileMoreBtn){display:flex!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;flex:0 0 42px!important;padding:0!important;border-radius:14px!important}
 html[data-theme][data-buddy-room-view="active"] #roomView .toolbar-separator,html[data-theme][data-buddy-room-view="active"] #roomView #mobileMoreBtn{display:none!important}
 html[data-theme][data-buddy-room-view="active"] #roomView .toolbar-wrap>.leave-tool{flex:0 0 42px!important;width:42px!important;height:42px!important;min-height:42px!important;min-width:42px!important;border-radius:14px!important}
}
html[data-theme] #roomView .presentation-presenter-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
html[data-theme] #roomView #presentationStopBtn{width:auto!important;min-width:0!important;min-height:30px!important;height:30px!important;padding:0 10px!important;border:1px solid color-mix(in srgb,var(--red) 55%,transparent)!important;border-radius:10px!important;background:color-mix(in srgb,var(--red) 10%,var(--panel))!important;color:var(--red)!important;font-size:11px!important;font-weight:650!important;white-space:nowrap}
html[data-theme] #roomView #presentationStopBtn:hover{background:color-mix(in srgb,var(--red) 18%,var(--panel))!important}
html[data-theme] #presentationPanel .presentation-card-buttons{display:grid!important;grid-template-columns:100px!important;gap:5px!important;align-content:center!important}
html[data-theme] #presentationPanel .presentation-card-buttons>.presentation-mini-action{width:100%!important;min-width:0!important;height:30px!important;min-height:30px!important;padding:0 8px!important;border-radius:10px!important;font-size:11px!important;line-height:1.2!important;white-space:nowrap!important}
html[data-theme] #presentationPanel [data-presentation-action="new"]{min-height:32px!important;height:32px!important;padding:0 12px!important;white-space:nowrap}
html[data-theme] #presentationPanel [data-presentation-action="add-images"]{background:#F5A04F!important;border-color:#F5A04F!important;color:rgb(var(--rooms-rgb-182230,24,34,48))!important;min-height:34px!important}
html[data-theme="light"] #presentationPanel :is(.presentation-action,.presentation-mini-action):not(.primary):not(.danger){background:#f3f2ee!important;color:var(--text)!important;border-color:#d0d1cd!important}
html[data-theme="light"] #presentationPanel :is(.presentation-action,.presentation-mini-action).primary{background:#F5A04F!important;color:rgb(var(--rooms-rgb-182230,24,34,48))!important;border-color:#F5A04F!important}
html[data-theme="light"] #presentationPanel :is(.presentation-action,.presentation-mini-action).danger{background:rgba(203,51,69,.06)!important;color:var(--red)!important;border-color:rgba(203,51,69,.28)!important}
html[data-theme="light"] #presentationPanel :is(.presentation-source-description,.presentation-format-note){color:var(--muted)!important}
html[data-theme="light"] #presentationPanel :is(.presentation-search,.presentation-sort,.presentation-title-input,.presentation-dropzone,.presentation-slide-card){background:#f7f6f2!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-theme="light"] #presentationPanel .presentation-slide-thumb{background:#e9e8e4!important}
html[data-theme="light"] .presentation-panel-status[data-kind="busy"]{color:var(--muted-strong)}
html[data-theme="light"] .presentation-panel-status[data-kind="error"]{color:var(--red)}
html[data-theme="light"] .presentation-panel-status[data-kind="ok"]{color:var(--green)}


/* Explicit deletion dialog: the safe action receives initial focus. */
html[data-theme] .presentation-delete-dialog{width:min(440px,calc(100vw - 32px));padding:24px;border:1px solid var(--line-strong);border-radius:22px;background:var(--panel);color:var(--text);box-shadow:var(--shadow);max-height:calc(100dvh - 32px);overflow:auto}
html[data-theme] .presentation-delete-dialog::backdrop{background:rgba(var(--rooms-rgb-030914,3,9,20),0.66);backdrop-filter:blur(3px)}
html[data-theme] .presentation-delete-dialog h2{font-size:22px;line-height:1.25;margin:0 0 16px}
html[data-theme] .presentation-delete-dialog p{font-size:14px;line-height:1.55;margin:0 0 12px;overflow-wrap:anywhere}
html[data-theme] .presentation-delete-dialog .presentation-delete-note{color:var(--muted);font-size:12px}
html[data-theme] .presentation-delete-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
html[data-theme] .presentation-delete-actions button{min-height:42px;border-radius:12px;padding:8px 14px}
html[data-theme] .presentation-delete-actions .danger-button{border:1px solid color-mix(in srgb,var(--red) 50%,var(--line));background:color-mix(in srgb,var(--red) 12%,var(--panel));color:var(--red)}
html[data-theme] .presentation-delete-dialog .presentation-delete-error{color:var(--red)}
html[data-theme] .presentation-drag-handle{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;min-width:36px;min-height:36px;display:grid;place-items:center;z-index:3}
html[data-theme] .presentation-slide-card.dragging{opacity:.55;cursor:grabbing}
html[data-theme] .presentation-slide-thumb img{user-select:none;-webkit-user-drag:none}
html[data-theme] .presentation-slide-card.drop-before{box-shadow:-3px 0 0 var(--accent)!important}
html[data-theme] .presentation-slide-card.drop-after{box-shadow:3px 0 0 var(--accent)!important}
html[data-theme] .presentation-slides-grid[aria-busy="true"]{opacity:.7;cursor:progress}
/* Library keeps compact actions without squeezing long names behind oversized covers. */
html[data-theme] #presentationPanel .presentation-card{grid-template-columns:88px minmax(0,1fr) 100px;gap:10px}
html[data-theme] #presentationPanel .presentation-card-preview{width:88px}
html[data-theme] #presentationPanel .presentation-card-title{overflow-wrap:break-word;word-break:normal}
@media(max-width:600px){
 html[data-theme] #presentationPanel .presentation-card{grid-template-columns:88px minmax(0,1fr)}
 html[data-theme] #presentationPanel .presentation-card-buttons{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(94px,1fr))!important;grid-auto-rows:30px;overflow:visible}
 html[data-theme] #presentationPanel .presentation-card-buttons>.presentation-mini-action{padding-inline:4px!important}
}
/* Narrow presentation filters keep full labels alongside the native scrollbar. */
@media(max-width:360px){html[data-theme] #roomView #presentationPanel [data-orator-segmented="rooms-presentation-library"],html[data-theme] #roomView #presentationPanel [data-orator-segmented="rooms-presentation-library"] :is(.os-button,.os-label-copy){padding-inline:0!important}}

/* P57 · approved corrections, not a new button system. The existing segmented
   tab and dock remain the references; only the room header follows them. */
html[data-theme][data-buddy-room-view="active"] #roomView .room-head[data-head-mode] .room-head-actions>.room-head-action:not(.hidden){border-radius:var(--room-header-icon-radius,14px)!important}
html[data-theme][data-buddy-room-view="active"] #roomView .room-head[data-head-mode="labels"] .room-head-actions>.room-head-action:not(.hidden):not(#transcriptionRunBtn){border-radius:var(--tabs-item-radius,14px)!important}
@media(min-width:901px){
 html[data-theme][data-buddy-room-view="active"] #roomView .toolbar-wrap{bottom:max(6px,env(safe-area-inset-bottom,0px))!important}
}
/* P56's full tablet row is taller than the phone row: reserve its actual 73px. */
@media(min-width:761px) and (max-width:900px){
 html[data-theme][data-buddy-room-view="active"]{--room-dock-height:73px}
}
/* External window contains the SAME native panel. Override only the inherited
   room/page/mobile-sheet geometry, not the accepted tab material or typography. */
html[data-rooms-panel-window],html[data-rooms-panel-window] body{width:100%;height:100%;margin:0!important;padding:0!important;overflow:hidden!important;background:var(--room-bg,var(--bg))!important}
html[data-rooms-panel-window][data-theme][data-buddy-room-view="active"] #roomView.panel-window-host{display:block!important;width:100%!important;height:100dvh!important;min-height:0!important;max-width:none!important;margin:0!important;padding:8px!important;box-sizing:border-box!important}
html[data-rooms-panel-window][data-theme][data-buddy-room-view="active"] #roomView #roomShell{display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;resize:none!important;overflow:visible!important;margin:0!important;padding:0!important}
html[data-rooms-panel-window][data-theme][data-buddy-room-view="active"] #roomView #participantPanel{display:grid!important;position:relative!important;inset:auto!important;transform:none!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;min-width:0!important;min-height:0!important;resize:none!important;margin:0!important;border-radius:20px!important;overflow:hidden!important}
html[data-rooms-panel-window] #roomView #participantPanel::before{display:none!important}
html[data-rooms-panel-window] #roomView #panelDragHandle{cursor:default!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;min-width:0!important}
html[data-rooms-panel-window] #roomView #participantPanel .panel-tabs{display:grid!important;min-width:210px!important;flex:1 1 210px!important}
html[data-rooms-panel-window] #roomView #hybridTabBtn{display:flex!important}
html[data-rooms-panel-window] #roomView #participantPanel .panel-actions{display:flex!important;flex:0 0 auto!important}
html[data-rooms-panel-window] #roomView #panelFullscreenBtn{display:none!important}
html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-hybrid{grid-template-rows:auto minmax(80px,35fr) 9px minmax(120px,65fr)!important}
html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-hybrid .participants-pane{display:block!important;min-height:0!important;overflow:auto!important}
html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-hybrid .chat-resizer{display:block!important}
html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-hybrid .chat-panel{display:grid!important;min-height:0!important}
html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-participants,html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-chat{grid-template-rows:auto minmax(0,1fr)!important}
html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-participants .chat-panel,html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-participants .chat-resizer,html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-chat .participants-pane,html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-chat .chat-resizer{display:none!important}
html[data-rooms-panel-window] #roomView #participantPanel .participants-pane,html[data-rooms-panel-window] #roomView #participantPanel .chat-messages{min-height:0!important;overscroll-behavior:contain}
html[data-rooms-panel-window] #roomView #participantPanel .chat-panel{min-width:0!important;overflow:hidden!important}
html[data-rooms-panel-window] #roomView #participantPanel .chat-form{grid-template-columns:40px minmax(0,1fr) 40px 40px!important}
html[data-rooms-panel-window] #roomView #participantPanel .chat-form textarea{min-width:0!important}

html[data-rooms-panel-window][data-theme][data-buddy-room-view="active"] #roomView #participantPanel #panelDetachBtn{display:inline-flex!important;align-items:center!important;gap:6px!important;width:auto!important;min-width:34px!important;min-height:34px!important;padding:0 9px!important;white-space:nowrap;font-size:11px!important}
html[data-rooms-panel-window] #roomView #panelDetachBtn svg{width:16px;height:16px;flex:0 0 16px}
html[data-rooms-panel-window] #roomView #panelCloseBtn{display:grid!important}
html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-hybrid.chat-size-35{grid-template-rows:auto minmax(80px,65fr) 9px minmax(120px,35fr)!important}
html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-hybrid.chat-size-45{grid-template-rows:auto minmax(80px,55fr) 9px minmax(120px,45fr)!important}
html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-hybrid.chat-size-55{grid-template-rows:auto minmax(80px,45fr) 9px minmax(120px,55fr)!important}
html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-hybrid.chat-size-65{grid-template-rows:auto minmax(80px,35fr) 9px minmax(120px,65fr)!important}
html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-hybrid.chat-size-75{grid-template-rows:auto minmax(80px,25fr) 9px minmax(120px,75fr)!important}
html[data-rooms-panel-window] #roomView #participantPanel.panel-mode-hybrid.chat-size-85{grid-template-rows:auto minmax(80px,15fr) 9px minmax(120px,85fr)!important}

/* Live status stays visible in the OS window, without duplicating chat state. */
html[data-rooms-panel-window][data-theme][data-buddy-room-view="active"] #roomView.panel-window-host{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;gap:4px!important}
html[data-rooms-panel-window] #roomView .panel-window-status{font-size:11px;line-height:1.4;color:var(--text-muted,var(--muted));padding:2px 8px;max-height:48px;overflow:auto;overflow-wrap:anywhere}
html[data-rooms-panel-window] #roomView .panel-window-status:empty{display:none}

/* ===== WORKSPACE 1.81 / PATCH58 · OWNER-APPROVED AI PANEL CLEANUP =====
   Approved from Patch57 A/B with owner refinement:
   - Light AI empty/result states must never retain a dark inset surface.
   - Thesis generator controls lose the redundant nested frame entirely.
   - No replacement bottom divider is introduced. */
html[data-theme="light"][data-buddy-room-view="active"] #aiAssistantPanel .ai-empty{
  background:var(--room-inset)!important;
  color:var(--muted-strong)!important;
  border-color:var(--line-strong)!important;
  box-shadow:none!important;
}
html[data-theme][data-buddy-room-view="active"] #aiAssistantPanel .ai-thesis-controls{
  background:transparent!important;
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:8px 2px 14px!important;
}


/* Notification must not change the closed native AI surface in light theme. */

/* Buddy Rooms 0.21.108 Stage 10 — owner-approved Variant C assignment bundles with B-style numbering. */
html[data-theme] .ai-assignment-list{
  --assignment-action-width:88px;
}
html[data-theme] .ai-assignment-bundle{
  overflow:hidden;
  margin:0 3px 9px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--room-section);
  box-shadow:var(--edge);
}
html[data-theme] .ai-assignment-bundle-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px 9px;
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--room-control) 58%,transparent);
}
html[data-theme] .ai-assignment-bundle-head strong{
  min-width:0;
  color:var(--accent,#f5a04f);
  font-size:16px;
  line-height:1.2;
  font-weight:800;
  overflow-wrap:anywhere;
}
html[data-theme] .ai-assignment-bundle-head>span{
  flex:0 0 auto;
  color:var(--muted);
  font-size:10px;
  white-space:nowrap;
}
html[data-theme] .ai-assignment-bundle-list{
  display:grid;
  gap:0;
}
html[data-theme] .ai-assignment-bundle .ai-assignment-card{
  margin:0;
  padding:8px 9px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html[data-theme] .ai-assignment-bundle .ai-assignment-card+.ai-assignment-card{
  border-top:1px solid var(--line);
}
html[data-theme] .ai-assignment-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
}
html[data-theme] .ai-assignment-summary{
  display:grid;
  gap:3px;
  min-width:0;
}
html[data-theme] .ai-assignment-title-row{
  display:grid;
  grid-template-columns:23px minmax(0,1fr);
  align-items:center;
  gap:7px;
  min-width:0;
}
html[data-theme] .ai-assignment-title-row h3{
  min-width:0;
  margin:0;
  font-size:13px;
  line-height:1.25;
  font-weight:750;
  overflow-wrap:anywhere;
}
html[data-theme] .ai-assignment-number{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));
  border-radius:7px;
  background:var(--accent-soft);
  color:var(--accent,#f5a04f);
  font-size:10px;
  font-weight:800;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
html[data-theme] .ai-assignment-owner{
  padding-left:30px;
  color:var(--accent,#f5a04f);
  font-size:10px;
  line-height:1.22;
  font-weight:700;
  overflow-wrap:anywhere;
}
html[data-theme] .ai-assignment-progress{
  padding-left:30px;
  font-size:9px;
  line-height:1.18;
}
html[data-theme] .ai-assignment-head .ai-card-header-controls{
  width:max-content;
  max-width:100%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,var(--assignment-action-width))) auto;
  gap:5px;
  align-items:center;
  justify-items:stretch;
}
html[data-theme] .ai-assignment-head .ai-disclosure-button,
html[data-theme] .ai-assignment-status-toggle,
html[data-theme] .ai-assignment-status-display{
  box-sizing:border-box;
  width:var(--assignment-action-width);
  min-width:var(--assignment-action-width);
  height:30px;
  min-height:30px;
  padding:0 7px;
  border-radius:9px;
  font-size:9px;
  font-weight:750;
  line-height:1;
  white-space:nowrap;
}
html[data-theme] .ai-assignment-head .ai-disclosure-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
}
html[data-theme] .ai-assignment-status-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
html[data-theme] .ai-assignment-status-display{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line-strong);
  background:var(--room-control);
  color:var(--muted-strong);
}
html[data-theme] .ai-assignment-status-display:has(+ .ai-disclosure-button){
  margin-bottom:0;
}
html[data-theme] .ai-assignment-head .ai-delete-button{
  justify-self:end;
  width:28px;
  min-width:28px;
  height:28px;
  min-height:28px;
}
html[data-theme] .ai-assignment-content{
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid color-mix(in srgb,var(--line) 82%,transparent);
}
html[data-theme] .ai-assignment-body{
  color:var(--muted-strong);
  font-size:13px;
  line-height:1.5;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
html[data-theme] .ai-assignment-body :is(p,ul,ol,pre,blockquote){
  margin:0 0 8px;
}
html[data-theme] .ai-assignment-body :is(ul,ol){
  padding-left:20px;
}
html[data-theme] .ai-assignment-body :is(b,strong){
  color:var(--text);
  font-weight:800;
}
html[data-theme] .ai-assignment-body :is(i,em){
  color:var(--muted-strong);
}
html[data-theme] .ai-assignment-body code{
  padding:1px 4px;
  border-radius:5px;
  background:var(--room-inset);
  color:var(--text);
}
@media(max-width:680px){
  html[data-theme] .ai-assignment-list{--assignment-action-width:auto}
  html[data-theme] .ai-assignment-bundle{margin-inline:3px}
  html[data-theme] .ai-assignment-bundle-head{padding:10px 9px 8px}
  html[data-theme] .ai-assignment-bundle-head strong{font-size:15px}
  html[data-theme] .ai-assignment-bundle .ai-assignment-card{padding:7px 8px}
  html[data-theme] .ai-assignment-head{grid-template-columns:minmax(0,1fr);gap:7px;align-items:start}
  html[data-theme] .ai-assignment-title-row{grid-template-columns:22px minmax(0,1fr);gap:7px}
  html[data-theme] .ai-assignment-number{width:22px;height:22px;border-radius:6px;font-size:10px}
  html[data-theme] .ai-assignment-owner,html[data-theme] .ai-assignment-progress{padding-left:29px}
  html[data-theme] .ai-assignment-head .ai-card-header-controls{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:5px}
  html[data-theme] .ai-assignment-head .ai-disclosure-button,
  html[data-theme] .ai-assignment-status-toggle,
  html[data-theme] .ai-assignment-status-display{width:100%;min-width:0;height:30px;min-height:30px;padding:0 6px;font-size:9px}
}

/* Stage 11: preserve the approved Stage 10 labels over legacy mobile icon-only rules. */
html[data-theme] .ai-assignment-head .ai-disclosure-label{display:inline}
html[data-theme] .ai-assignment-status-toggle::after{content:none}

/* 0.21.143 · narrow assignment-card controls: react to the side-panel card width,
   not only the viewport. Text labels collapse to icon-sized squares before the
   summary is squeezed into a one-character column. */
html[data-theme] .ai-assignment-card{container-type:inline-size}
@container (max-width:330px){
  html[data-theme] .ai-assignment-head .ai-card-header-controls{width:max-content;max-width:100%;grid-template-columns:30px 30px auto;gap:4px}
  html[data-theme] .ai-assignment-head .ai-disclosure-button,
  html[data-theme] .ai-assignment-status-toggle,
  html[data-theme] .ai-assignment-status-display{width:30px;min-width:30px;height:30px;min-height:30px;padding:0;border-radius:9px;font-size:0}
  html[data-theme] .ai-assignment-head .ai-disclosure-button{gap:0}
  html[data-theme] .ai-assignment-head .ai-disclosure-label{display:none}
  html[data-theme] .ai-assignment-status-toggle::after,
  html[data-theme] .ai-assignment-status-display::after{content:'✓';font-size:14px;line-height:1}
  html[data-theme] .ai-assignment-status-display{justify-content:center}
}

/* NEXT PATCH K-O · approved transcription controls 1A + side panel 2A */
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-controls{
  display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:52px;margin:0 0 10px;padding:8px;
  border:1px solid var(--line);border-radius:12px;background:var(--room-inset)
}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-controls.hidden{display:none!important}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-state{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted-strong);font-size:11px;font-weight:700}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-state i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#ff8494;box-shadow:0 0 0 4px color-mix(in srgb,#ff8494 12%,transparent)}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-controls.is-paused .transcription-runtime-state i{border-radius:2px;background:var(--yellow);box-shadow:0 0 0 4px color-mix(in srgb,var(--yellow) 10%,transparent)}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-controls.is-completed .transcription-runtime-state i{background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 10%,transparent)}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions button{min-height:36px;border-radius:11px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:800;white-space:nowrap}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9}
html[data-theme][data-buddy-room-view="active"] .transcription-pause:hover:not(:disabled),html[data-theme][data-buddy-room-view="active"] .transcription-pause:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
html[data-theme][data-buddy-room-view="active"] .transcription-stop{color:#1d160f!important;background:var(--accent)!important;border-color:var(--accent)!important;box-shadow:0 6px 22px color-mix(in srgb,var(--accent) 18%,transparent)!important}
html[data-theme][data-buddy-room-view="active"] .transcription-stop:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 28%,transparent)!important}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-controls.is-paused .transcription-stop{color:var(--red)!important;background:transparent!important;border-color:color-mix(in srgb,var(--red) 58%,transparent)!important;box-shadow:none!important}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-controls.is-paused .transcription-stop:hover:not(:disabled){color:var(--red)!important;background:color-mix(in srgb,var(--red) 9%,transparent)!important;border-color:var(--red)!important;transform:none}
html[data-theme][data-buddy-room-view="active"] .transcription-continue{color:#1d160f!important;background:var(--accent)!important;border-color:var(--accent)!important;box-shadow:0 6px 22px color-mix(in srgb,var(--accent) 18%,transparent)!important}
html[data-theme][data-buddy-room-view="active"] .transcript-modal-slot{display:contents}

html[data-theme][data-buddy-room-view="active"] .transcript-side-panel{
  min-width:0;min-height:0;height:100%;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow-soft);display:flex
}
html[data-theme][data-buddy-room-view="active"] .transcript-side-panel.hidden{display:none!important}
html[data-theme][data-buddy-room-view="active"] .transcript-panel-slot{display:flex;width:100%;height:100%;min-width:0;min-height:0}
html[data-theme][data-buddy-room-view="active"] .transcript-side-panel .transcript-card{width:100%!important;height:100%!important;max-height:none!important;min-width:0!important;min-height:0!important;margin:0!important;border:0!important;border-radius:17px!important;box-shadow:none!important;background:var(--panel)!important;backdrop-filter:none!important}
html[data-theme][data-buddy-room-view="active"] .transcript-side-panel .transcript-modal-head{gap:10px!important;margin-bottom:10px!important}
html[data-theme][data-buddy-room-view="active"] .transcript-side-panel .transcript-head-actions{gap:5px!important}
html[data-theme][data-buddy-room-view="active"] .transcript-side-panel .transcript-head-actions .secondary.compact span{display:none}
html[data-theme][data-buddy-room-view="active"] .transcript-side-panel .transcript-head-actions .secondary.compact{width:34px;min-width:34px;padding:0}
html[data-theme][data-buddy-room-view="active"] .transcript-side-panel .transcript-sessions{min-height:0!important;max-height:none!important;flex:1 1 auto!important}

@media(min-width:1360px){
  html[data-theme][data-buddy-room-view="active"] .room.transcript-panel-open:not(.panel-closed) .room-shell{grid-template-columns:minmax(0,1fr) minmax(250px,290px) minmax(300px,360px)!important}
  html[data-theme][data-buddy-room-view="active"] .room.transcript-panel-open.panel-closed .room-shell{grid-template-columns:minmax(0,1fr) minmax(320px,380px)!important}
}
@media(min-width:901px) and (max-width:1359px){
  html[data-theme][data-buddy-room-view="active"] .room.transcript-panel-open .room-shell{grid-template-columns:minmax(0,1fr) minmax(310px,370px)!important}
  html[data-theme][data-buddy-room-view="active"] .room.transcript-panel-open .participant-panel{display:none!important}
}
@media(min-width:761px) and (max-width:900px){
  html[data-theme][data-buddy-room-view="active"] .room.transcript-panel-open .room-shell{grid-template-columns:1fr!important;grid-template-rows:minmax(250px,1fr) minmax(230px,340px)!important}
  html[data-theme][data-buddy-room-view="active"] .room.transcript-panel-open .participant-panel,html[data-theme][data-buddy-room-view="active"] .room.transcript-panel-open .mobile-panel-resizer{display:none!important}
  html[data-theme][data-buddy-room-view="active"] .room.transcript-panel-open .transcript-side-panel{grid-column:1;grid-row:2;height:100%!important}
}
@media(max-width:760px){
  html[data-theme][data-buddy-room-view="active"] .room.transcript-panel-open #participantPanelBackdrop,html[data-theme][data-buddy-room-view="active"] .room.transcript-panel-open .participant-panel{display:none!important}
  html[data-theme][data-buddy-room-view="active"] .transcript-side-panel:not(.hidden){display:flex!important;position:fixed!important;z-index:72!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;height:min(72dvh,680px)!important;max-height:calc(var(--app-viewport-height,100dvh) - 24px)!important;border-radius:24px 24px 0 0!important;border-width:1px 1px 0!important;padding-bottom:env(safe-area-inset-bottom,0px)!important;box-shadow:0 -20px 60px rgba(0,0,0,.42)!important}
  html[data-theme][data-buddy-room-view="active"] .transcript-side-panel::before{content:"";position:absolute;z-index:3;top:8px;left:50%;width:36px;height:4px;border-radius:999px;transform:translateX(-50%);background:var(--line-strong);pointer-events:none}
  html[data-theme][data-buddy-room-view="active"] .transcript-side-panel .transcript-card{padding-top:22px!important;border-radius:24px 24px 0 0!important}
  html[data-theme][data-buddy-room-view="active"] .transcript-side-panel .transcript-modal-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}
  html[data-theme][data-buddy-room-view="active"] .transcription-runtime-controls{align-items:stretch;flex-direction:column}
  html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions button{width:100%;min-width:0}
  html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions .transcription-continue:not(.hidden){grid-column:1/2}
}

/* 0.21.110: contain existing 1A controls and remove the inherited vertical flex spacer.
   New panel composition and AI docking remain in the separate visual decision gate. */
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-controls{flex:0 0 auto}
@media(max-width:760px){
  html[data-theme][data-buddy-room-view="active"] .transcript-session-footer-meta{flex:0 0 auto;width:100%;align-items:flex-start}
}

/* 0.21.111 · approved Variant A workspace panels */
html[data-theme][data-buddy-room-view="active"] .workspace-panel{
  min-width:0;min-height:0;height:100%;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow-soft);display:flex
}
html[data-theme][data-buddy-room-view="active"] .workspace-panel.hidden{display:none!important}
html[data-theme][data-buddy-room-view="active"] .workspace-panel-shell{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0}
html[data-theme][data-buddy-room-view="active"] .workspace-panel-topbar{min-width:0;padding:8px;border-bottom:1px solid var(--line);background:var(--room-inset)}
html[data-theme][data-buddy-room-view="active"] .workspace-panel-tabs{display:flex;align-items:center;gap:4px;min-width:0;padding:3px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--room-inset) 88%,transparent)}
html[data-theme][data-buddy-room-view="active"] .workspace-panel-tab{flex:1 1 0;min-width:0;height:34px;min-height:34px;padding:0 8px;border:0;border-radius:9px;background:transparent;color:var(--muted-strong);font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme][data-buddy-room-view="active"] .workspace-panel-tab:hover:not(:disabled),html[data-theme][data-buddy-room-view="active"] .workspace-panel-tab:focus-visible{color:var(--accent);background:var(--accent-soft)}
html[data-theme][data-buddy-room-view="active"] .workspace-panel-tab.active{color:#1d160f;background:var(--accent);border-color:var(--accent)}
html[data-theme][data-buddy-room-view="active"] .workspace-tool-slot{display:flex;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}
html[data-theme][data-buddy-room-view="active"] .workspace-tool-slot.hidden{display:none!important}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-panel-slot{display:flex;width:100%;height:100%;min-width:0;min-height:0}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-card{width:100%!important;height:100%!important;max-height:none!important;min-width:0!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--panel)!important;backdrop-filter:none!important}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-modal-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;margin-bottom:10px!important}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-head-actions{display:grid!important;grid-template-columns:repeat(2,34px)!important;grid-auto-rows:34px!important;gap:6px!important;align-content:start!important;justify-content:end!important;width:74px!important;flex:0 0 74px!important}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-head-actions button{position:static!important;width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:10px!important;display:grid!important;place-items:center!important}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-head-actions button svg{width:19px!important;height:19px!important;flex:0 0 19px!important}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-head-actions button span{display:none!important}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-sessions{min-height:0!important;max-height:none!important;flex:1 1 auto!important}
html[data-theme][data-buddy-room-view="active"] .ai-panel-head-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
html[data-theme][data-buddy-room-view="active"] :is(.ai-panel-dock,.ai-panel-close){width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;flex:0 0 34px!important;padding:0!important;border-radius:10px!important}
html[data-theme][data-buddy-room-view="active"] :is(.ai-panel-dock,.ai-panel-close) svg{width:19px!important;height:19px!important}
html[data-theme][data-buddy-room-view="active"] #aiAssistantPanel.is-docked{position:static!important;z-index:auto!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--panel)!important;padding-bottom:0!important}
html[data-theme][data-buddy-room-view="active"] #aiAssistantPanel.is-docked .ai-panel-handle{display:none!important}
html[data-theme][data-buddy-room-view="active"] #aiAssistantPanel.is-docked .ai-panel-head{padding:14px 14px 11px!important;background:transparent!important}
html[data-theme][data-buddy-room-view="active"] #aiAssistantPanel.is-docked .ai-panel-head h2{font-size:18px!important}
html[data-theme][data-buddy-room-view="active"] #aiAssistantPanel.is-docked .ai-panel-head p{font-size:10px!important;line-height:1.4!important}
html[data-theme][data-buddy-room-view="active"] #aiAssistantPanel.is-docked .ai-panel-tabs{padding:10px 12px 8px!important;background:transparent!important}
html[data-theme][data-buddy-room-view="active"] #aiAssistantPanel.is-docked .ai-participant-filters{padding:3px 12px 9px!important;background:transparent!important}
html[data-theme][data-buddy-room-view="active"] #aiAssistantPanel.is-docked .ai-panel-body{min-height:0!important;padding:5px 12px 16px!important}

@media(min-width:1360px){
  html[data-theme][data-buddy-room-view="active"] .room.workspace-panel-open:not(.panel-closed) .room-shell{grid-template-columns:minmax(0,1fr) minmax(250px,290px) minmax(300px,360px)!important}
  html[data-theme][data-buddy-room-view="active"] .room.workspace-panel-open.panel-closed .room-shell{grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important}
  html[data-theme][data-buddy-room-view="active"] .participant-tool-tab{display:none!important}
  html[data-theme][data-buddy-room-view="active"] .workspace-room-tab{display:none!important}
}

@media(max-width:1359px){
  html[data-theme][data-buddy-room-view="active"] .room.workspace-tools-available #hybridTabBtn{display:none!important}
  html[data-theme][data-buddy-room-view="active"] .room.workspace-tools-available #participantPanel .panel-tabs{display:flex!important;grid-template-columns:none!important;gap:4px!important}
  html[data-theme][data-buddy-room-view="active"] .room.workspace-tools-available #participantPanel .panel-tab{flex:1 1 0!important;width:auto!important;min-width:0!important;padding-inline:4px!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  html[data-theme][data-buddy-room-view="active"] .room.workspace-tools-available #participantPanel .participant-tool-tab:not(.hidden){display:flex!important}
  html[data-theme][data-buddy-room-view="active"] .workspace-room-tab{display:flex!important}
  html[data-theme][data-buddy-room-view="active"] .participant-panel.workspace-suppressed{display:none!important}
  html[data-theme][data-buddy-room-view="active"] .workspace-panel-tabs{gap:3px!important}
  html[data-theme][data-buddy-room-view="active"] .workspace-panel-tab{flex:1 1 auto!important;padding-inline:4px!important;font-size:9px!important}
}

@media(min-width:901px) and (max-width:1359px){
  html[data-theme][data-buddy-room-view="active"] .room.workspace-panel-open .room-shell{grid-template-columns:minmax(0,1fr) minmax(310px,370px)!important}
  html[data-theme][data-buddy-room-view="active"] .room.workspace-panel-open .workspace-panel{grid-column:2;height:100%!important}
}

@media(min-width:761px) and (max-width:900px){
  html[data-theme][data-buddy-room-view="active"] .room.workspace-panel-open .workspace-panel{display:flex!important;position:fixed!important;z-index:72!important;top:80px!important;right:10px!important;bottom:88px!important;left:10px!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;border-radius:20px!important;box-shadow:0 30px 90px rgba(0,0,0,.58)!important}
}

@media(max-width:760px){
  html[data-theme][data-buddy-room-view="active"] .room.workspace-panel-open .workspace-panel{display:flex!important;position:fixed!important;z-index:72!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;height:min(72dvh,680px)!important;max-height:calc(var(--app-viewport-height,100dvh) - 24px)!important;min-width:0!important;min-height:300px!important;border-radius:24px 24px 0 0!important;border-width:1px 1px 0!important;padding-bottom:env(safe-area-inset-bottom,0px)!important;box-shadow:0 -20px 60px rgba(0,0,0,.42)!important}
  html[data-theme][data-buddy-room-view="active"] .room.workspace-panel-open .workspace-panel::before{content:"";position:absolute;z-index:3;top:8px;left:50%;width:36px;height:4px;border-radius:999px;transform:translateX(-50%);background:var(--line-strong);pointer-events:none}
  html[data-theme][data-buddy-room-view="active"] .room.workspace-panel-open .workspace-panel-topbar{padding-top:18px!important}
  html[data-theme][data-buddy-room-view="active"] .room.workspace-panel-open .mobile-panel-resizer{display:none!important}
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-card{padding-top:10px!important}
  html[data-theme][data-buddy-room-view="active"] #aiAssistantPanel.is-docked .ai-panel-head{padding-top:11px!important}
}

/* 0.21.115 · approved compact transcription controls + role/video corrective UI */
html[data-theme][data-buddy-room-view="active"] .transcript-head-copy h2{
  font-size:clamp(19px,2vw,24px)!important;line-height:1.1!important
}
html[data-theme][data-buddy-room-view="active"] .transcript-head-actions{
  display:grid!important;grid-template-columns:repeat(4,34px)!important;grid-auto-rows:34px!important;
  gap:5px!important;align-items:center!important;justify-content:end!important;flex:0 0 auto!important;width:auto!important
}
html[data-theme][data-buddy-room-view="active"] .transcript-head-actions button{
  position:static!important;width:34px!important;min-width:34px!important;max-width:34px!important;
  height:34px!important;min-height:34px!important;max-height:34px!important;padding:0!important;
  border-radius:10px!important;display:grid!important;place-items:center!important;gap:0!important
}
html[data-theme][data-buddy-room-view="active"] .transcript-head-actions button span{display:none!important}
html[data-theme][data-buddy-room-view="active"] .transcript-head-actions button svg{
  width:17px!important;height:17px!important;flex:0 0 17px!important
}
html[data-theme][data-buddy-room-view="active"] #transcriptDockBtn{
  width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important
}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-controls{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;min-height:0!important;
  margin:0 0 9px!important;padding:7px!important;border-radius:13px!important;background:var(--room-inset)!important
}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-controls.hidden{display:none!important}
html[data-theme][data-buddy-room-view="active"] .transcription-scope-inline{
  width:100%!important;min-width:0!important;max-width:none!important
}
html[data-theme][data-buddy-room-view="active"] .transcription-scope-inline.orator-segmented{
  grid-auto-rows:34px!important;gap:5px!important;padding:3px!important;border-radius:16px!important
}
html[data-theme][data-buddy-room-view="active"] .transcription-scope-inline.orator-segmented>.os-button,
html[data-theme][data-buddy-room-view="active"] .transcription-scope-inline.orator-segmented .os-label-copy{
  min-height:34px!important;height:34px!important;border-radius:14px!important;font-size:12px!important;font-weight:800!important
}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-main{
  display:grid;grid-template-columns:minmax(92px,1fr) minmax(168px,208px);align-items:center;gap:8px;min-width:0
}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-state{
  min-width:0;gap:7px!important;font-size:10px!important;line-height:1.25!important
}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-state b{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;align-items:center!important;
  justify-content:stretch!important;min-width:0!important;width:100%!important;max-width:208px!important;margin-left:auto!important
}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions button{
  width:100%!important;min-width:0!important;max-width:none!important;height:34px!important;min-height:34px!important;
  padding:0 8px!important;border-radius:10px!important;gap:5px!important;font-size:10px!important;font-weight:850!important;line-height:1!important
}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions button svg{
  width:13px!important;height:13px!important;flex:0 0 13px!important
}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions .transcription-start:not(.hidden){
  grid-column:1 / -1;justify-self:end;width:min(132px,100%)!important;font-size:12px!important;font-weight:900!important
}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions .transcription-pause:not(.hidden){grid-column:1}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions #transcriptContinueBtn:not(.hidden){grid-column:1!important}
html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions .transcription-stop:not(.hidden){grid-column:2}
html[data-theme][data-buddy-room-view="active"] .transcript-session-actions{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;min-width:min(100%,220px)!important
}
html[data-theme][data-buddy-room-view="active"] .transcript-session-actions button{
  width:100%!important;min-width:0!important;max-width:none!important;justify-content:center!important
}
html[data-theme][data-buddy-room-view="active"] .transcript-session-actions .transcript-session-copy:only-child{grid-column:1 / -1}
html[data-theme][data-buddy-room-view="active"] .transcript-side-panel .transcript-session-footer{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:8px!important
}
html[data-theme][data-buddy-room-view="active"] .transcript-side-panel .transcript-session-footer-meta,
html[data-theme][data-buddy-room-view="active"] .transcript-side-panel .transcript-session-actions{
  width:100%!important;min-width:0!important;max-width:none!important
}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-head-actions{
  display:grid!important;grid-template-columns:repeat(4,34px)!important;grid-auto-rows:34px!important;gap:5px!important;
  width:auto!important;flex:0 0 auto!important
}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-head-copy h2{
  font-size:18px!important;line-height:1.1!important;white-space:nowrap!important
}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-head-actions button{
  width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important
}
@media(max-width:760px){
  html[data-theme][data-buddy-room-view="active"] .transcript-modal-head{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important
  }
  html[data-theme][data-buddy-room-view="active"] .transcript-head-copy{padding-right:0!important}
  html[data-theme][data-buddy-room-view="active"] #transcriptCloseBtn{position:static!important;right:auto!important;top:auto!important}
  html[data-theme][data-buddy-room-view="active"] .transcript-head-actions{
    grid-column:auto!important;width:auto!important;justify-content:end!important
  }
  html[data-theme][data-buddy-room-view="active"] .transcription-runtime-main{
    grid-template-columns:minmax(78px,1fr) minmax(160px,190px)!important;gap:6px!important
  }
  html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions{max-width:190px!important;gap:5px!important}
  html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions button{padding-inline:6px!important;font-size:9px!important}
  html[data-theme][data-buddy-room-view="active"] .transcript-session-actions{width:100%!important;max-width:none!important}
}
@media(max-width:390px){
  html[data-theme][data-buddy-room-view="active"] .transcript-head-actions{grid-template-columns:repeat(4,32px)!important;grid-auto-rows:32px!important;gap:4px!important}
  html[data-theme][data-buddy-room-view="active"] .transcript-head-actions button,
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-head-actions button,
  html[data-theme][data-buddy-room-view="active"] #transcriptDockBtn{width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important}
  html[data-theme][data-buddy-room-view="active"] .transcription-runtime-main{grid-template-columns:1fr!important;gap:6px!important}
  html[data-theme][data-buddy-room-view="active"] .transcription-runtime-actions{max-width:208px!important;justify-self:end!important;margin-left:auto!important}
  html[data-theme][data-buddy-room-view="active"] .transcription-runtime-state{min-height:18px}
}

/* 0.21.116 · ultra-narrow transcript title + audit contract corrective */
@media(max-width:350px){
  html[data-theme][data-buddy-room-view="active"] #transcriptModal #transcriptTitle{
    font-size:16px!important;line-height:1.1!important;white-space:nowrap!important;text-indent:-9999px!important;position:relative!important
  }
  html[data-theme][data-buddy-room-view="active"] #transcriptModal #transcriptTitle::after{
    content:'Транскрипт.';position:absolute;left:0;top:0;text-indent:0;font-size:16px;line-height:1.1;font-weight:inherit
  }
}

/* 2026-09-17 · Stage 3 — owner-approved Buddy Rooms Support UI shell (Variant A). */
html[data-theme][data-buddy-room-view="active"] .support-panel{
  position:fixed;z-index:1200;top:72px;right:18px;bottom:82px;width:min(580px,calc(100vw - 36px));
  display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;
  border:1px solid var(--line);border-radius:20px;background:var(--orator-room-material);color:var(--text);
  box-shadow:0 28px 90px rgba(0,0,0,.58)
}
html[data-theme="dark"][data-buddy-room-view="active"] .support-panel{
  background:linear-gradient(145deg,var(--panel-strong),var(--panel) 68%,var(--room-inset))
}
html[data-theme="light"][data-buddy-room-view="active"] .support-panel{
  background:var(--orator-room-material);box-shadow:0 24px 72px rgba(var(--rooms-rgb-242d3d,36,45,61),0.22)
}
html[data-theme][data-buddy-room-view="active"] .support-panel-handle{display:none}
html[data-theme][data-buddy-room-view="active"] .support-panel-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 15px;
  border-bottom:1px solid var(--line);background:transparent;flex:0 0 auto
}
html[data-theme][data-buddy-room-view="active"] .support-panel-title{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
html[data-theme][data-buddy-room-view="active"] .support-panel-kicker{
  color:var(--accent);font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase
}
html[data-theme][data-buddy-room-view="active"] .support-panel-head h2{margin:4px 0 7px;font-size:21px;line-height:1.12;color:var(--text)}
html[data-theme][data-buddy-room-view="active"] .support-panel-head p{
  margin:0;display:flex;flex-wrap:wrap;gap:4px 11px;color:var(--muted-strong);font-size:10px;line-height:1.45
}
html[data-theme][data-buddy-room-view="active"] .support-panel-head p span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-theme][data-buddy-room-view="active"] .support-panel-head p b{color:var(--text);font-weight:750}
html[data-theme][data-buddy-room-view="active"] .support-panel-head-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
html[data-theme][data-buddy-room-view="active"] :is(.support-panel-dock,.support-panel-close){
  width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;
  display:grid!important;place-items:center!important;border-radius:10px!important
}
html[data-theme][data-buddy-room-view="active"] :is(.support-panel-dock,.support-panel-close) svg{width:18px!important;height:18px!important}
html[data-theme][data-buddy-room-view="active"] .support-messages{
  flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px;
  display:flex;flex-direction:column;gap:10px;background:color-mix(in srgb,var(--room-inset) 72%,transparent)
}
html[data-theme][data-buddy-room-view="active"] .support-empty{
  margin:auto;width:min(360px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;
  padding:22px 18px;border:1px dashed var(--line-strong);border-radius:16px;background:var(--room-section);color:var(--muted-strong)
}
html[data-theme][data-buddy-room-view="active"] .support-empty-icon{
  width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));
  border-radius:12px;color:var(--accent);background:var(--accent-soft)
}
html[data-theme][data-buddy-room-view="active"] .support-empty-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html[data-theme][data-buddy-room-view="active"] .support-empty b{color:var(--text);font-size:13px}
html[data-theme][data-buddy-room-view="active"] .support-empty p{margin:0;max-width:300px;font-size:10px;line-height:1.5}
html[data-theme][data-buddy-room-view="active"] .support-composer{
  flex:0 0 auto;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-areas:"attach input send";gap:7px;align-items:end;padding:12px 14px 10px;
  border-top:1px solid var(--line);background:var(--panel);min-width:0
}
html[data-theme][data-buddy-room-view="active"] .support-attach{grid-area:attach}
html[data-theme][data-buddy-room-view="active"] .support-composer textarea{
  grid-area:input;min-width:0;width:100%;min-height:44px;max-height:var(--support-composer-max,220px);resize:none;padding:9px 12px;border:1px solid var(--line-strong);
  border-radius:12px;background:var(--room-inset);color:var(--text);font:600 14px/1.5 "Open Sans","Segoe UI",sans-serif;
  outline:none;box-sizing:border-box;transition:border-color .16s,box-shadow .16s
}
html[data-theme][data-buddy-room-view="active"] .support-send{grid-area:send}
html[data-theme][data-buddy-room-view="active"] .support-composer :is(.support-attach,.support-send){
  width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--line-strong);border-radius:12px;box-sizing:border-box;flex-shrink:0
}
html[data-theme][data-buddy-room-view="active"] .support-attach{background:var(--room-control);color:var(--text);box-shadow:var(--edge)}
html[data-theme][data-buddy-room-view="active"] .support-composer .support-send{background:var(--accent);border-color:var(--accent);color:#1d160f}
html[data-theme][data-buddy-room-view="active"] .support-composer :is(.support-attach,.support-send) svg{display:block;width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;flex:0 0 20px}
html[data-theme][data-buddy-room-view="active"] .support-composer.is-expanded{grid-template-areas:"input input input" "attach . send"}
html[data-theme][data-buddy-room-view="active"] .support-composer.is-expanded textarea{min-height:var(--support-composer-min,84px)}
html[data-theme][data-buddy-room-view="active"] .support-attach:hover:not(:disabled){background:var(--orator-room-tab);border-color:var(--line-strong);transform:none}
html[data-theme][data-buddy-room-view="active"] .support-composer textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
html[data-theme][data-buddy-room-view="active"] .support-status{
  flex:0 0 auto;padding:0 14px 11px;background:var(--panel);color:var(--muted);font-size:9px;line-height:1.4
}
html[data-theme][data-buddy-room-view="active"] .support-status.is-error{color:var(--red)}
html[data-theme][data-buddy-room-view="active"] .support-status.is-success{color:var(--green)}
html[data-theme][data-buddy-room-view="active"] #supportPanel.is-docked{
  position:static!important;z-index:auto!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;margin:0!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--panel)!important
}
html[data-theme][data-buddy-room-view="active"] #supportPanel.is-docked .support-panel-handle{display:none!important}
html[data-theme][data-buddy-room-view="active"] #supportPanel.is-docked .support-panel-head{padding:14px 14px 11px!important}
html[data-theme][data-buddy-room-view="active"] #supportPanel.is-docked .support-panel-head h2{font-size:18px!important}
html[data-theme][data-buddy-room-view="active"] #supportPanel.is-docked .support-panel-head p{font-size:9px!important}
html[data-theme][data-buddy-room-view="active"] #supportPanel.is-docked .support-messages{padding:12px!important}
html[data-theme][data-buddy-room-view="active"] #supportPanel.is-docked .support-composer{padding:10px 12px 8px!important;grid-template-columns:44px minmax(0,1fr) 44px!important}
html[data-theme][data-buddy-room-view="active"] #supportPanel.is-docked .support-status{padding:0 12px 9px!important}
html[data-theme][data-buddy-room-view="active"] .support-action.active{color:var(--accent)!important;border-color:color-mix(in srgb,var(--accent) 42%,var(--line))!important;background:var(--accent-soft)!important}

@media(max-width:820px){
  html[data-theme][data-buddy-room-view="active"] .support-panel-backdrop{background:rgba(var(--rooms-rgb-03070c,3,7,12),0.58);backdrop-filter:blur(10px)}
  html[data-theme][data-buddy-room-view="active"] .support-panel:not(.is-docked){
    top:auto;right:0;bottom:0;left:0;width:100%;height:min(76dvh,720px);max-height:calc(var(--app-viewport-height,100dvh) - 18px);
    border-radius:24px 24px 0 0;border-width:1px 1px 0;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -20px 60px rgba(0,0,0,.42)
  }
  html[data-theme][data-buddy-room-view="active"] .support-panel:not(.is-docked) .support-panel-handle{display:flex;justify-content:center;padding:8px 0 0;flex:0 0 auto}
  html[data-theme][data-buddy-room-view="active"] .support-panel-handle span{width:36px;height:4px;border-radius:999px;background:var(--line-strong)}
  html[data-theme][data-buddy-room-view="active"] .support-panel:not(.is-docked) .support-panel-head{padding:10px 14px 12px}
  html[data-theme][data-buddy-room-view="active"] .support-panel:not(.is-docked) .support-panel-head h2{font-size:19px}
  html[data-theme][data-buddy-room-view="active"] .support-messages{padding:12px}
  html[data-theme][data-buddy-room-view="active"] .support-composer{padding:10px 10px 8px;grid-template-columns:44px minmax(0,1fr) 44px}
  html[data-theme][data-buddy-room-view="active"] .support-status{padding:0 10px calc(9px + env(safe-area-inset-bottom,0px))}
}

@media(max-width:420px){
  html[data-theme][data-buddy-room-view="active"] .support-panel-head p{display:grid;gap:2px}
  html[data-theme][data-buddy-room-view="active"] .support-composer textarea{font-size:16px;min-height:44px}
  html[data-theme][data-buddy-room-view="active"] .support-empty{padding:18px 14px}
}

/* 0.21.126 · Support Variant A corrective: compact open, chat-parity responsive/send styling, draft preservation. */
html[data-theme][data-buddy-room-view="active"] .support-history-inline{align-self:center;display:flex;align-items:center;justify-content:center;gap:7px;max-width:min(100%,430px);padding:5px 9px;border:1px solid color-mix(in srgb,var(--line-strong) 75%,transparent);border-radius:999px;background:color-mix(in srgb,var(--room-section) 86%,transparent);color:var(--muted);font-size:9px;line-height:1.35}
html[data-theme][data-buddy-room-view="active"] .support-history-spinner{width:12px;height:12px;border:2px solid color-mix(in srgb,var(--muted) 35%,transparent);border-top-color:var(--accent);border-radius:50%;animation:supportHistorySpin .8s linear infinite;flex:0 0 12px}
@keyframes supportHistorySpin{to{transform:rotate(360deg)}}
html[data-theme][data-buddy-room-view="active"] .support-attachment-tray{flex:0 0 auto;display:flex;gap:6px;overflow-x:auto;padding:8px 14px 0;background:var(--panel);scrollbar-width:thin}
html[data-theme][data-buddy-room-view="active"] .support-attachment-chip{min-width:0;max-width:260px;display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:7px;padding:6px 7px;border:1px solid var(--line);border-radius:11px;background:var(--room-section)}
html[data-theme][data-buddy-room-view="active"] .support-attachment-chip-icon{width:28px;height:28px;display:grid;place-items:center;color:var(--accent);border-radius:8px;background:var(--accent-soft)}
html[data-theme][data-buddy-room-view="active"] .support-attachment-chip-icon svg,html[data-theme][data-buddy-room-view="active"] .support-message-attachment svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
html[data-theme][data-buddy-room-view="active"] .support-attachment-chip-copy{min-width:0;display:flex;flex-direction:column;gap:1px}
html[data-theme][data-buddy-room-view="active"] .support-attachment-chip-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}
html[data-theme][data-buddy-room-view="active"] .support-attachment-chip-copy small{color:var(--muted);font-size:8px}
html[data-theme][data-buddy-room-view="active"] .support-attachment-remove{width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted-strong);font-size:17px}
html[data-theme][data-buddy-room-view="active"] .support-attachment-remove:hover:not(:disabled){background:var(--room-control);color:var(--text)}
html[data-theme][data-buddy-room-view="active"] .support-message-attachments{display:flex;flex-wrap:wrap;gap:5px}
html[data-theme][data-buddy-room-view="active"] .support-message-attachment{min-width:0;max-width:280px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;align-items:center;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--room-section);color:var(--muted-strong)}
html[data-theme][data-buddy-room-view="active"] .support-message-attachment>span:first-child{width:24px;height:24px;display:grid;place-items:center;color:var(--accent)}
html[data-theme][data-buddy-room-view="active"] .support-message-attachment>span:last-child{min-width:0;display:flex;flex-direction:column}
html[data-theme][data-buddy-room-view="active"] .support-message-attachment b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:9px}
html[data-theme][data-buddy-room-view="active"] .support-message-attachment small{font-size:8px;color:var(--muted)}
@media(max-width:379px){html[data-theme][data-buddy-room-view="active"] .support-composer{grid-template-areas:"input input input" "attach . send"}}

/* 0.21.120 Stage 4: canonical Buddy Rooms support thread */
html[data-theme][data-buddy-room-view="active"] .support-messages{display:flex;flex-direction:column;gap:10px;overflow:auto;scrollbar-gutter:stable}
html[data-theme][data-buddy-room-view="active"] .support-message{display:flex;flex-direction:column;gap:4px;max-width:min(84%,390px);align-self:flex-start}
html[data-theme][data-buddy-room-view="active"] .support-message.is-account{align-self:flex-end}
html[data-theme][data-buddy-room-view="active"] .support-message-meta{display:flex;align-items:center;gap:7px;padding:0 5px;color:var(--muted);font-size:9px;line-height:1.2}
html[data-theme][data-buddy-room-view="active"] .support-message.is-account .support-message-meta{justify-content:flex-end}
html[data-theme][data-buddy-room-view="active"] .support-message-meta b{color:var(--text);font-size:10px}
html[data-theme][data-buddy-room-view="active"] .support-message-body{padding:9px 11px;border:1px solid var(--line);border-radius:12px 12px 12px 4px;background:var(--surface-2);color:var(--text);font-size:11px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
html[data-theme][data-buddy-room-view="active"] .support-message.is-account .support-message-body{border-radius:12px 12px 4px 12px;border-color:color-mix(in srgb,var(--accent) 24%,var(--line));background:color-mix(in srgb,var(--accent) 11%,var(--surface-2))}
html[data-theme][data-buddy-room-view="active"] .support-loading .support-empty-icon{animation:supportPulse 1.2s ease-in-out infinite}
html[data-theme][data-buddy-room-view="active"] .support-composer textarea:disabled{opacity:.58;cursor:not-allowed}
html[data-theme][data-buddy-room-view="active"] .support-send:disabled{opacity:.52;cursor:not-allowed;transform:none!important}
@keyframes supportPulse{0%,100%{opacity:.48;transform:scale(.94)}50%{opacity:1;transform:scale(1.03)}}
@media(max-width:760px){
  html[data-theme][data-buddy-room-view="active"] .support-message{max-width:88%}
  html[data-theme][data-buddy-room-view="active"] .support-message-body{font-size:12px}
}

/* 0.21.122 · Keep docked Support composer clear of the centered Lift Dock on medium desktop/tablet widths. */
@media (min-width:901px) and (max-width:1559px){
  html[data-theme][data-buddy-room-view="active"] #supportPanel.is-docked::after{
    content:"";display:block;flex:0 0 64px;min-height:64px;pointer-events:none
  }
}

/* 0.21.130 · owner-approved mobile unified panel navigation + transcript B. */
html[data-theme][data-buddy-room-view="active"] .panel-nav-stack{min-width:0;flex:1 1 auto}

@media(max-width:760px){
  /* Chat/participants/tools are one bottom-sheet navigation model. No room blur. */
  html[data-theme][data-buddy-room-view="active"] #participantPanel .panel-topbar{align-items:flex-start!important;gap:6px!important}
  html[data-theme][data-buddy-room-view="active"] #participantPanel .panel-nav-stack{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;width:100%!important}
  html[data-theme][data-buddy-room-view="active"] #participantPanel [data-orator-segmented="rooms-panel"] .participant-tool-tab{display:none!important}
  html[data-theme][data-buddy-room-view="active"] #participantMobileToolTabs:not(.hidden){display:grid!important}
  html[data-theme][data-buddy-room-view="active"] #participantPanel .panel-actions{flex:0 0 auto;padding-top:0!important}

  /* Both rows use the real R6 geometry. Text size never changes on selection. */
  html[data-theme][data-buddy-room-view="active"] #participantPanel [data-orator-segmented="rooms-panel"].orator-segmented :is(.os-button,.os-label-copy),
  html[data-theme][data-buddy-room-view="active"] #participantPanel [data-orator-segmented="rooms-panel"].orator-segmented[data-os-narrow="true"] :is(.os-button,.os-label-copy),
  html[data-theme][data-buddy-room-view="active"] #participantMobileToolTabs.orator-segmented :is(.os-button,.os-label-copy),
  html[data-theme][data-buddy-room-view="active"] #participantMobileToolTabs.orator-segmented[data-os-narrow="true"] :is(.os-button,.os-label-copy),
  html[data-theme][data-buddy-room-view="active"] #workspaceMobileNav [data-orator-segmented].orator-segmented :is(.os-button,.os-label-copy),
  html[data-theme][data-buddy-room-view="active"] #workspaceMobileNav [data-orator-segmented].orator-segmented[data-os-narrow="true"] :is(.os-button,.os-label-copy){font-size:13px!important}

  html[data-theme][data-buddy-room-view="active"] #workspacePanelTabs{display:none!important}
  html[data-theme][data-buddy-room-view="active"] #workspaceMobileNav:not(.hidden){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;width:100%!important}
  html[data-theme][data-buddy-room-view="active"] #workspaceMobileNav .workspace-panel-tabs{gap:5px!important;padding:3px!important}
  html[data-theme][data-buddy-room-view="active"] #workspaceMobileNav .workspace-panel-tab{height:34px!important;min-height:34px!important;padding:0 3px!important;font-size:13px!important;font-weight:700!important}

  /* B – readable transcript session status remains beside chevron in narrow panels. */
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-toggle{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:10px 11px!important
  }
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-heading{min-width:0!important}
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-right{
    display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;
    width:auto!important;max-width:none!important;flex:0 0 auto!important;flex-wrap:nowrap!important
  }
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-status{
    position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:auto!important;min-width:68px!important;height:24px!important;min-height:24px!important;padding:5px 8px!important;
    overflow:visible!important;border-radius:999px!important;color:var(--green)!important;font-size:8px!important;font-style:normal!important;font-weight:850!important;line-height:1!important
  }
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-status::after{content:none!important;display:none!important}
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-chevron{display:grid!important;place-items:center!important;width:18px!important;height:24px!important;grid-row:auto!important}

  /* Compact runtime: “Готово к запуску” and actions stay on one row. */
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-main{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important
  }
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-actions{
    display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;
    width:auto!important;max-width:196px!important;margin-left:0!important
  }
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-actions button{
    width:auto!important;min-width:0!important;max-width:none!important;flex:1 1 auto!important;padding-inline:9px!important
  }
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-actions .transcription-start:not(.hidden){
    grid-column:auto!important;width:auto!important;min-width:126px!important;justify-self:auto!important;margin:0!important
  }
}

@media(max-width:350px){
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-main{gap:5px!important}
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-actions{max-width:176px!important;gap:4px!important}
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-actions button{padding-inline:6px!important;font-size:9px!important}
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-actions .transcription-start:not(.hidden){min-width:112px!important}
}

/* 0.21.132 · control-pass cascade corrective for compact presentation controls.
   presentations-0.19.0.css intentionally hides the presenter head on phones and
   short landscape layouts, but this later design layer re-enables it. Keep the
   compact nav-only dock unless the explicit overflow sheet is open. */
@media (max-width:520px) {
  html[data-theme][data-buddy-room-view="active"] #roomView .presentation-presenter-dock:not(.presentation-mobile-overflow-open) > .presentation-presenter-head {
    display:none;
  }
}
@media (max-width:900px) and (max-height:560px) {
  html[data-theme][data-buddy-room-view="active"] #roomView .presentation-presenter-dock:not(.presentation-mobile-overflow-open) > .presentation-presenter-head {
    display:none;
  }
}


/* 0.21.136 · R6 segmented navigation restoration + state-preserving adaptive rows.
   Together / Participants / Chat remain one owner-approved sliding segmented block.
   Transcript / Orator AI / Support form a second sliding block containing only tools
   that are actually open. Closing a tool removes only that tool from the second row. */
html[data-theme][data-buddy-room-view="active"] #participantPanel [data-orator-segmented="rooms-panel"] .participant-tool-tab{display:none!important}
/* R6 itself is display:grid!important; product hidden state must stay authoritative. */
html[data-theme][data-buddy-room-view="active"] :is(#participantMobileToolTabs,#workspaceMobileNav,#workspaceMobileRoomTabs,#workspaceMobileToolTabs).hidden{display:none!important}
html[data-theme][data-buddy-room-view="active"] :is(#participantMobileToolTabs,#workspaceMobileToolTabs) > button.hidden{display:none!important}

@media(min-width:1360px){
  html[data-theme][data-buddy-room-view="active"] #participantMobileToolTabs,
  html[data-theme][data-buddy-room-view="active"] #workspaceMobileNav{display:none!important}
  html[data-theme][data-buddy-room-view="active"] #workspacePanelTabs .workspace-room-tab{display:none!important}
  html[data-theme][data-buddy-room-view="active"] .room.workspace-panel-open:not(.panel-closed) .room-shell,
  html[data-theme][data-buddy-room-view="active"] .room.transcript-panel-open:not(.panel-closed) .room-shell{
    grid-template-columns:minmax(0,1fr) minmax(320px,360px) minmax(320px,360px)!important
  }
  html[data-theme][data-buddy-room-view="active"] .room.workspace-panel-open.panel-closed .room-shell,
  html[data-theme][data-buddy-room-view="active"] .room.transcript-panel-open.panel-closed .room-shell{
    grid-template-columns:minmax(0,1fr) minmax(320px,360px)!important
  }
}

@media(max-width:1359px){
  html[data-theme][data-buddy-room-view="active"] #participantPanel .panel-topbar{align-items:flex-start!important;gap:6px!important}
  html[data-theme][data-buddy-room-view="active"] #participantPanel .panel-nav-stack{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;width:100%!important
  }
  html[data-theme][data-buddy-room-view="active"] #participantMobileToolTabs:not(.hidden){display:grid!important}
  html[data-theme][data-buddy-room-view="active"] #participantPanel .panel-actions{flex:0 0 auto;padding-top:0!important}
  html[data-theme][data-buddy-room-view="active"] #workspacePanelTabs{display:none!important}
  html[data-theme][data-buddy-room-view="active"] #workspaceMobileNav:not(.hidden){
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;width:100%!important
  }
  html[data-theme][data-buddy-room-view="active"] #workspaceMobileNav .workspace-panel-tabs{gap:5px!important;padding:3px!important}
  html[data-theme][data-buddy-room-view="active"] .participant-panel.workspace-suppressed{display:none!important}

  /* Exact R6 typography: selection never changes font size or weight. */
  html[data-theme][data-buddy-room-view="active"] #participantPanel [data-orator-segmented="rooms-panel"].orator-segmented :is(.os-button,.os-label-copy),
  html[data-theme][data-buddy-room-view="active"] #participantMobileToolTabs.orator-segmented :is(.os-button,.os-label-copy),
  html[data-theme][data-buddy-room-view="active"] #workspaceMobileNav [data-orator-segmented].orator-segmented :is(.os-button,.os-label-copy){font-size:13px!important;font-weight:700!important}
}


@media(min-width:901px) and (max-width:1359px){
  html[data-theme][data-buddy-room-view="active"] .room.workspace-tools-available #participantPanel #hybridTabBtn{display:flex!important}
}

@media(max-width:900px) and (min-width:761px){
  /* Hybrid is not a real stacked-tablet surface; do not expose a dead Together button. */
  html[data-theme][data-buddy-room-view="active"] #participantPanel #hybridTabBtn,
  html[data-theme][data-buddy-room-view="active"] #workspaceMobileTogetherTabBtn{display:none!important}
}

@media(max-width:760px){
  html[data-theme][data-buddy-room-view="active"] #participantPanelBackdrop{
    display:none!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important
  }
  html[data-theme][data-buddy-room-view="active"] .room.workspace-panel-open .workspace-panel-topbar{padding:18px 8px 8px!important}
}

/* Chat + Support composer parity: exactly one control row until focus, then grow for editing. */
html[data-theme][data-buddy-room-view="active"] #chatForm:not(:has(#chatInput:focus)){grid-template-areas:"attach input voice send"!important}
html[data-theme][data-buddy-room-view="active"] #chatForm:not(:has(#chatInput:focus)) #chatInput{
  height:44px!important;min-height:44px!important;max-height:44px!important;overflow:hidden!important
}
html[data-theme][data-buddy-room-view="active"] #supportForm:not(:has(#supportInput:focus)){grid-template-areas:"attach input send"!important}
html[data-theme][data-buddy-room-view="active"] #supportForm:not(:has(#supportInput:focus)) #supportInput{
  height:44px!important;min-height:44px!important;max-height:44px!important;overflow:hidden!important
}
@media(max-width:379px){
  html[data-theme][data-buddy-room-view="active"] #chatForm:not(:has(#chatInput:focus)){grid-template-areas:"attach input voice send"!important}
  html[data-theme][data-buddy-room-view="active"] #supportForm:not(:has(#supportInput:focus)){grid-template-areas:"attach input send"!important}
}

/* Transcript session status and chevron stay a single right-aligned group. */
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-toggle{
  display:grid!important;grid-template-columns:minmax(0,1fr) max-content!important;align-items:center!important;gap:8px!important;padding:10px 11px!important
}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-heading{min-width:0!important;width:auto!important}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-right{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;justify-self:end!important;align-self:center!important;
  gap:7px!important;width:auto!important;min-width:0!important;max-width:none!important;margin-left:auto!important;flex:0 0 auto!important;flex-wrap:nowrap!important
}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-status{
  position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;grid-row:auto!important;grid-column:auto!important;
  width:auto!important;min-width:64px!important;height:24px!important;min-height:24px!important;padding:5px 8px!important;overflow:visible!important;
  border-radius:999px!important;color:var(--green)!important;font-size:8px!important;font-style:normal!important;font-weight:850!important;line-height:1!important;white-space:nowrap!important
}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-status::after{content:none!important;display:none!important}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-chevron{
  display:grid!important;place-items:center!important;grid-row:auto!important;grid-column:auto!important;justify-self:auto!important;width:18px!important;height:24px!important;flex:0 0 18px!important
}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-main{
  display:grid!important;grid-template-columns:minmax(0,1fr) max-content!important;align-items:center!important;gap:8px!important
}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-state{min-width:0!important}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-state b{
  min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-actions{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;width:auto!important;max-width:none!important;margin:0!important;gap:5px!important
}
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-actions button,
html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-actions .transcription-start:not(.hidden){
  grid-column:auto!important;width:auto!important;min-width:112px!important;max-width:132px!important;margin:0!important;justify-self:auto!important
}
@media(max-width:340px){
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcript-session-status{min-width:58px!important;padding-inline:6px!important}
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-main{gap:5px!important}
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-actions button,
  html[data-theme][data-buddy-room-view="active"] .workspace-panel .transcription-runtime-actions .transcription-start:not(.hidden){
    min-width:104px!important;max-width:112px!important;padding-inline:6px!important;font-size:9px!important
  }
}

/* ===== PATCH109 STAGE 2 / 0.21.162 · OWNER-APPROVED HOVER AUTHORITY =====
   Ordinary controls: yellow edge + yellow foreground, no milky hover fill.
   Destructive controls: red fill + dark foreground. Primary CTA grammar remains separate. */
html[data-theme] :is(.secondary,.icon-button,.tool,.theme-toggle,.room-info-button,.panel-action,.participant-action,.tile-action,.ai-panel-close,.board-window-actions button,.room-head-overflow-button,.buddy-room-theme-control,.buddy-room-connection-control):hover:not(:disabled),
html[data-theme] .participant-action.participant-admin-toggle:hover:not(:disabled) {
  color:var(--accent)!important;
  border-color:var(--accent)!important;
  background:transparent!important;
  box-shadow:none!important;
}
html[data-theme] :is(.danger,.tool.danger,.secondary.danger,.room-delete,.room-history-delete,.danger-button,.participant-action.mute,.participant-action.remove,.tile-action.remove,.ai-delete-button,.ai-job-delete,.ai-thesis-delete):hover:not(:disabled) {
  color:#1b1011!important;
  border-color:var(--red)!important;
  background:var(--red)!important;
  box-shadow:none!important;
}
/* Read-only roster device state must never inherit control chrome, including OFF state. */
html[data-theme] .participant-row-status .participant-status-indicator,
html[data-theme] .participant-row-status .participant-status-indicator.off {
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:default!important;
}


/* P117 / 0.21.179 – approved P116 video overlay scope. Other hover owners are unchanged. */
html[data-theme] #roomView .participant-tile :is(.tile-focus-btn,.tile-geometry-btn,.tile-pip-btn,.tile-action):not(.remove),
html[data-theme] #roomView .participant-tile .tile-more-btn{
 background:rgba(0,0,0,.55)!important;color:#fff!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:none!important;backdrop-filter:blur(8px);transform:none!important;
 transition:color 160ms ease,border-color 160ms ease!important;
}
html[data-theme] #roomView .participant-tile .tile-action.remove:not(:hover){background:rgba(0,0,0,.55)!important;box-shadow:none!important}
html[data-theme] #roomView .participant-tile :is(.tile-focus-btn,.tile-geometry-btn,.tile-pip-btn,.tile-action):not(.remove):not(:disabled):is(:hover,:focus-visible),
html[data-theme] #roomView .participant-tile .tile-more-btn:is(:hover,:focus-visible){color:var(--segmented-yellow)!important;background:rgba(0,0,0,.55)!important;transform:none!important;box-shadow:none!important}
html[data-theme] #roomView .participant-tile :is(.tile-focus-btn,.tile-geometry-btn,.tile-pip-btn,.tile-action,.tile-more-btn):focus-visible{outline:2px solid var(--segmented-yellow)!important;outline-offset:2px}
html[data-theme] #roomView .participant-tile :is(.tile-focus-btn,.tile-geometry-btn,.tile-pip-btn,.tile-action):disabled{opacity:.45!important;cursor:not-allowed}
/* V02: compact tiles retain all native actions through an explicit menu. */
.tile-more-btn{display:none!important;position:absolute;top:8px;right:8px;width:34px;height:34px;min-height:34px;padding:0;border-radius:10px;font-size:24px;line-height:1;z-index:9}
html[data-theme] #roomView .participant-tile.tile-controls-compact>.tile-more-btn{display:grid!important;place-items:center}
html[data-theme] #roomView .participant-tile.tile-controls-compact>:is(.tile-pip-btn,.tile-geometry-btn,.tile-focus-btn,.tile-actions),
html[data-theme] #roomView .participant-tile.tile-controls-compact>#groupTileShapeBtn{display:none!important}
.tile-controls-menu{position:fixed;z-index:20000;display:grid;gap:4px;padding:7px;width:270px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;background:rgb(var(--rooms-rgb-0c1725,12,23,37));border:1px solid rgb(var(--rooms-rgb-344760,52,71,96));border-radius:15px;box-shadow:0 18px 55px #0008}
.tile-controls-menu button{display:flex;gap:10px;align-items:center;min-height:42px;padding:9px 10px;border-radius:9px;background:transparent;border:0;color:rgb(var(--rooms-rgb-f4f7fb,244,247,251));font-size:12px;text-align:left;box-shadow:none}
.tile-controls-menu button svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8}
.tile-controls-menu button:not(:disabled):hover{background:rgb(var(--rooms-rgb-19283c,25,40,60));color:var(--segmented-yellow)}
.tile-controls-menu .tile-action-danger{color:var(--red)}
.tile-controls-menu button:disabled{opacity:.4;cursor:not-allowed}

/* Destructive actions never inherit the ordinary yellow hover, including the compact menu. */
html[data-theme] #roomView .participant-tile .tile-action.remove:not(:disabled):is(:hover,:focus-visible),
html[data-theme] .tile-controls-menu button.tile-action-danger:not(:disabled):is(:hover,:focus-visible){background:var(--red)!important;border-color:var(--red)!important;color:#1b1011!important;outline-color:var(--red)!important;transform:none!important;box-shadow:none!important}
html[data-theme] .tile-controls-menu button:focus-visible{outline:2px solid var(--segmented-yellow);outline-offset:-2px}
html[data-theme] #roomView .participant-tile .tile-action.remove:focus-visible{outline-color:var(--red)!important}
html[data-theme] #roomView #groupTileShapeBtn{background:rgba(0,0,0,.55)!important;color:#fff!important;border-color:rgba(255,255,255,.15)!important;box-shadow:none!important;transform:none!important}
html[data-theme] #roomView #groupTileShapeBtn:not(:disabled):is(:hover,:focus-visible){background:rgba(0,0,0,.55)!important;color:var(--segmented-yellow)!important;transform:none!important}
html[data-theme] #roomView #groupTileShapeBtn:not(:disabled):is(:hover,:focus-visible)>svg{color:var(--segmented-yellow)!important}
/* V03–V04: one source for local message material, including detached tool windows. */
html[data-theme]{--room-chat-own-radius:12px 4px 12px 12px;--room-panel-width:clamp(340px,calc(20.833333vw + 40px),440px)}
html[data-theme="dark"]{--room-chat-own-bg:rgb(var(--rooms-rgb-0d1b2d,13,27,45));--room-chat-own-border:rgba(var(--rooms-rgb-89a0bf,137,160,191),0.18)}
html[data-theme="light"]{--room-chat-own-bg:#fffaf5;--room-chat-own-border:rgba(var(--rooms-rgb-58677a,88,103,122),0.15)}
html[data-theme] .chat-bubble{font-size:12px!important;line-height:1.6!important;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;box-sizing:border-box}
/* V07 A: retain the native R6 travel; a transparent outline must not duplicate glyphs. */
html[data-theme] #transcriptionScopeSwitch .os-indicator{background:transparent!important;border:1px solid var(--segmented-yellow)!important;box-sizing:border-box!important;border-radius:14px!important;box-shadow:none!important}
html[data-theme] #transcriptionScopeSwitch .os-label-strip{display:none!important}
html[data-theme] #transcriptionScopeSwitch>.os-button[aria-pressed="true"]{color:var(--text)!important}
/* V08 B: a single width budget for the ordinary desktop chat and tool columns. */
@media(min-width:1360px){
 html[data-theme][data-buddy-room-view="active"] #roomView:not(.panel-closed) .room-shell{grid-template-columns:minmax(0,1fr) var(--room-panel-width)!important}
 html[data-theme][data-buddy-room-view="active"] #roomView:is(.workspace-panel-open,.transcript-panel-open):not(.panel-closed) .room-shell{grid-template-columns:minmax(0,1fr) var(--room-panel-width) var(--room-panel-width)!important}
 html[data-theme][data-buddy-room-view="active"] #roomView:is(.workspace-panel-open,.transcript-panel-open).panel-closed .room-shell{grid-template-columns:minmax(0,1fr) var(--room-panel-width)!important}
 html[data-theme][data-buddy-room-view="active"] #roomView.panel-closed:not(.workspace-panel-open):not(.transcript-panel-open) .room-shell{grid-template-columns:minmax(0,1fr)!important}
}
@media(prefers-reduced-motion:reduce){html[data-theme] :is(.tile-action,.tile-focus-btn,.tile-geometry-btn,.tile-pip-btn){transition:none!important}}
