/* ORATOR Buddy Rooms Lift Dock R3 — approved B / dock-only presentation.
 * Source: Lift Dock AB R2, variant B. No geometry, native click or business-state replacements.
 * Activation is local to ONE existing toolbar wrapper, never html/body/global buttons.
 */
#roomView .toolbar-wrap[data-orator-lift-dock="r3"]{
 --ld-lift:-3px;--ld-motion:460ms;--ld-ease:cubic-bezier(.25,.1,.25,1);
 --ld-rest:linear-gradient(145deg,#284b70 0%,#1c3653 48%,#13283f 100%);
 --ld-hover:radial-gradient(65px 56px at 12% -12%,rgba(174,215,255,.22),rgba(174,215,255,0) 72%),linear-gradient(145deg,#3b6793 0%,#2b506f 48%,#1b3855 100%);
 --ld-border:#3d6082;--ld-hover-border:#7da8ce;--ld-ink:#e6f2ff;--ld-off:#ff8494;
 --ld-shadow:inset 0 1px 0 rgba(188,220,255,.17),inset 0 -1px 0 rgba(1,8,18,.25),0 2px 4px rgba(0,0,0,.16);
 --ld-hover-shadow:inset 0 1px 0 rgba(204,229,255,.26),inset 0 -1px 0 rgba(1,8,18,.22),0 7px 12px -6px rgba(0,0,0,.5);
 --ld-tray:linear-gradient(180deg,#101f30,#07111d);--ld-tray-line:#2a425d;
}
html[data-theme="light"] #roomView .toolbar-wrap[data-orator-lift-dock="r3"]{
 --ld-rest:linear-gradient(145deg,#fffdf9 0%,#efeeea 48%,#dad9d5 100%);
 --ld-hover:radial-gradient(65px 56px at 12% -12%,rgba(255,255,255,.9),rgba(255,255,255,0) 72%),linear-gradient(145deg,#fffefa 0%,#f5f4f0 48%,#e6e5e1 100%);
 --ld-border:#c3c3bf;--ld-hover-border:#929791;--ld-ink:#43505a;--ld-off:#bc3549;
 --ld-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(54,58,53,.08),0 2px 4px rgba(35,39,34,.08);
 --ld-hover-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(54,58,53,.08),0 7px 12px -6px rgba(35,39,34,.22);
 --ld-tray:linear-gradient(180deg,#f9f8f5,#e9e8e3);--ld-tray-line:#c9cac4;
}
/* Explicit IDs beat historical native state !important rules only within this dock. */
html[data-theme] #roomView .toolbar-wrap[data-orator-lift-dock="r3"] :is(#toggleMicBtn,#toggleCameraBtn,#togglePlaybackBtn,#screenShareBtn,#whiteboardBtn,#presentationsBtn,#raiseHandBtn,#memeReactionsBtn,#gridViewBtn,#participantsBtn,#chatBtn,#aiAssistantBtn,#mobileMoreBtn,#settingsBtn,#fullscreenBtn,#leaveBtn){
 position:relative!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important;transform:none!important;overflow:visible!important;isolation:isolate;-webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
html[data-theme] #roomView .toolbar-wrap[data-orator-lift-dock="r3"]>.toolbar{background:var(--ld-tray)!important;border-color:var(--ld-tray-line)!important}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button::after{content:"";position:absolute;inset:-4px 0 0;border-radius:inherit;z-index:4}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-face{
 position:absolute;inset:-1px;display:grid;place-items:center;isolation:isolate;pointer-events:none;
 border:1px solid var(--ld-border);border-radius:inherit;background:var(--ld-rest);color:var(--ld-ink);box-shadow:var(--ld-shadow);
 transform:translate3d(0,0,0);transition:transform var(--ld-motion) var(--ld-ease),border-color var(--ld-motion) var(--ld-ease),box-shadow var(--ld-motion) var(--ld-ease),color 200ms ease;
}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-face::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:var(--ld-hover);opacity:0;transition:opacity var(--ld-motion) var(--ld-ease)}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-face>svg{position:relative;z-index:2;fill:none;stroke:currentColor}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #memeReactionsBtn .ld-face>svg{width:24px;height:24px;stroke-width:1.9}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button.is-peek .ld-face{transform:translate3d(0,var(--ld-lift),0);border-color:var(--ld-hover-border);box-shadow:var(--ld-hover-shadow)}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button.is-peek .ld-face::before{opacity:1}
/* Approved B persistent .active treatment: no R1 bottom marker, no universal selected flag. */
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button.active .ld-face{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);box-shadow:none}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button.active .ld-face::before{opacity:0}
html[data-theme="light"] #roomView .toolbar-wrap[data-orator-lift-dock="r3"] :is(#chatBtn,#participantsBtn,#aiAssistantBtn).active .ld-face{color:#f5a04f;background:linear-gradient(145deg,#fff9ee,#f4e5d3)}
/* R3: special native states are not generic .active flags. Hover MUST NOT erase them. */
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #raiseHandBtn.hand-raised .ld-face{
 color:var(--accent,#f5a04f);border-color:var(--accent,#f5a04f);
 background:var(--accent-soft,rgba(245,160,79,.12));box-shadow:none;
}
html[data-theme="light"] #roomView .toolbar-wrap[data-orator-lift-dock="r3"] #raiseHandBtn.hand-raised .ld-face{
 color:#f5a04f;background:linear-gradient(145deg,#fff9ee,#f4e5d3);
}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #raiseHandBtn.hand-raised .ld-face::before{opacity:0}
/* Share is a green in-progress operation, not an orange open panel. */
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #screenShareBtn.screen-sharing .ld-face{
 color:#c8f7df;border-color:#2c7658;background:#174a36;box-shadow:none;
}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #screenShareBtn.screen-sharing .ld-face::before{opacity:0}
/* Local icon only. The shared #i-settings symbol elsewhere is deliberately untouched. */
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #settingsBtn .ld-face>.ld-settings-icon{
 width:22px;height:22px;min-width:22px;display:block;margin:0;
 fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
/* The existing mobile “More” proxy gets the same raised-hand indication, no new layout. */
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #mobileRaiseHandAction[data-ld-hand-raised="true"]{
 color:var(--accent,#f5a04f);border-color:var(--accent,#f5a04f);background:var(--accent-soft,rgba(245,160,79,.12));
}
html[data-theme="light"] #roomView .toolbar-wrap[data-orator-lift-dock="r3"] #mobileRaiseHandAction[data-ld-hand-raised="true"]{
 color:#f5a04f;background:linear-gradient(145deg,#fff9ee,#f4e5d3);
}

/* Active assignment is persistent product state, not unread attention. The corner belongs to
 * .ld-face itself so hover/peek transforms move the marker pixel-for-pixel with the button. */
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #aiAssistantBtn.has-active-assignment .ld-face::after{
 content:"";position:absolute;top:-1px;right:-1px;width:17px;height:17px;z-index:5;pointer-events:none;
 background:var(--accent,#f5a04f);clip-path:polygon(100% 0,0 0,100% 100%);border-top-right-radius:inherit;
 filter:drop-shadow(0 1px 2px color-mix(in srgb,var(--accent,#f5a04f) 26%,transparent));
}
/* A transient generation dot may coexist with the persistent task corner; keep both legible. */
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #aiAssistantBtn.has-active-assignment>#aiToolbarBadge{right:auto!important;left:0!important}
@media(forced-colors:active){
 #roomView .toolbar-wrap[data-orator-lift-dock="r3"] #aiAssistantBtn.has-active-assignment .ld-face::after{background:Highlight;clip-path:none;width:8px;height:8px;top:2px;right:2px;border-radius:1px}
}

/* AI uses the same active treatment as chat; unread events use aiToolbarBadge only. */
/* Owner-preserved OFF appearance from Lift Dock R1: blue face, red outline/icon/slash. */
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] :is(#toggleMicBtn,#toggleCameraBtn,#togglePlaybackBtn).off .ld-face{color:var(--ld-off);border-color:var(--ld-off)}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-face>.ld-off-slash{position:absolute;top:50%;left:50%;width:23px;height:23px;transform:translate(-50%,-50%);stroke-width:2.2;opacity:0;z-index:3}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button.off .ld-off-slash{opacity:1}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-face .tool-level-fill{z-index:1;border-radius:inherit}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button>.tool-badge{z-index:6}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #leaveBtn .ld-face{color:var(--ld-off);border-color:var(--ld-off);background:transparent;box-shadow:none;opacity:.82}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #leaveBtn .ld-face::before{background:rgba(213,66,87,.09)}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #leaveBtn.is-peek .ld-face{transform:translate3d(0,-2px,0);box-shadow:none;opacity:1}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button:focus-visible{outline:none!important}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button:focus-visible .ld-face{outline:2px solid var(--cyan);outline-offset:3px}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button:disabled .ld-face{transform:none!important;box-shadow:var(--ld-shadow)!important}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button:disabled .ld-face::before{opacity:0!important}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button:disabled::after{display:none}
.ld-accessible-hints[data-orator-lift-portal="r3"] .ld-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}
.ld-caption[data-orator-lift-portal="r3"]{position:fixed;left:0;top:0;width:max-content;max-width:min(275px,calc(100vw - 24px));z-index:95;opacity:0;pointer-events:none;text-align:center;user-select:none;transition:opacity 160ms ease}
.ld-caption[data-orator-lift-portal="r3"].is-visible{opacity:1;pointer-events:auto}
.ld-caption[data-orator-lift-portal="r3"] .ld-line{overflow:hidden;padding:2px 0}
.ld-caption[data-orator-lift-portal="r3"] .ld-title{margin:0;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--text);font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.005em}
.ld-caption[data-orator-lift-portal="r3"] .ld-title kbd{font-family:inherit;font-size:9px;font-weight:500;line-height:1;padding:3px 4px;border:1px solid var(--line-strong);border-radius:4px;color:var(--muted);background:var(--panel)}
.ld-caption[data-orator-lift-portal="r3"] .ld-description{margin:0;color:var(--muted);font-size:10px;line-height:1.45;font-weight:400}
.ld-caption[data-orator-lift-portal="r3"][data-placement="above"]{padding:7px 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 4px 16px rgba(0,0,0,.12)}
@media(max-width:900px){html[data-theme] #roomView .toolbar-wrap[data-orator-lift-dock="r3"]>.toolbar{background:transparent!important}html[data-theme] #roomView .toolbar-wrap[data-orator-lift-dock="r3"]{background:var(--ld-tray)!important}}
@media(hover:none),(pointer:coarse){#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button.is-peek:not(.is-demo) .ld-face{transform:none;box-shadow:var(--ld-shadow)}}
@media(prefers-reduced-motion:reduce){#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-face,#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-face::before,.ld-caption[data-orator-lift-portal="r3"]{transition:none!important}#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button .ld-face{transform:none!important}}
@media(forced-colors:active){#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-face{background:ButtonFace!important;color:ButtonText!important;border:1px solid ButtonText!important;box-shadow:none!important}#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-face::before{display:none}#roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button.active .ld-face{outline:2px solid Highlight}.ld-caption[data-orator-lift-portal="r3"]{background:Canvas;color:CanvasText}}

/* R3 high-contrast: states remain distinguishable from neutral/disabled. */
@media(forced-colors:active){
 #roomView .toolbar-wrap[data-orator-lift-dock="r3"] :is(#raiseHandBtn.hand-raised,#screenShareBtn.screen-sharing) .ld-face{outline:2px solid Highlight;outline-offset:-3px}
 #roomView .toolbar-wrap[data-orator-lift-dock="r3"] :is(#toggleMicBtn,#toggleCameraBtn,#togglePlaybackBtn).off .ld-face{border-style:dashed!important}
 #roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button:focus-visible .ld-face{outline:2px solid Highlight;outline-offset:3px}
 #roomView .toolbar-wrap[data-orator-lift-dock="r3"] #mobileRaiseHandAction[data-ld-hand-raised="true"]{outline:2px solid Highlight}
}

/* 0.21.70: meme mode is a binary camera effect, not an open-panel state. */
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #memeReactionsBtn.active .ld-face{
 color:#211506;border-color:#f5a04f;background:#f5a04f;box-shadow:0 8px 22px rgba(245,160,79,.20);
}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #memeReactionsBtn.active .ld-face::before{opacity:0}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #memeReactionsBtn.calibrating .ld-face{animation:ld-meme-calibrating 1.05s ease-in-out infinite alternate}
#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #mobileMemesAction.active{color:#211506!important;border-color:#f5a04f!important;background:#f5a04f!important}
@keyframes ld-meme-calibrating{from{box-shadow:0 0 0 0 rgba(245,160,79,.18)}to{box-shadow:0 0 0 5px rgba(245,160,79,.12)}}
@media(prefers-reduced-motion:reduce){#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #memeReactionsBtn.calibrating .ld-face{animation:none}}
@media(forced-colors:active){#roomView .toolbar-wrap[data-orator-lift-dock="r3"] #memeReactionsBtn.active .ld-face{outline:2px solid Highlight;outline-offset:-3px}}
