.meeting-popover[hidden],#reactions[hidden],#host-key-dialog [hidden]{display:none!important}
.meeting-popover{position:fixed;z-index:70;width:min(450px,calc(100vw - 16px));max-height:calc(100dvh - 130px);overflow:auto;overscroll-behavior:contain;padding:16px;background:#242426;color:#f7f7fa;border:1px solid #525258;border-radius:12px;box-shadow:0 12px 36px #0008}
.meeting-popover h3{font-size:14px;margin:4px 4px 10px}.meeting-popover hr{border:0;border-top:1px solid #444;margin:10px 0}
.meeting-popover>button,.device-choice{width:100%;display:block;min-height:38px;border:0;background:transparent;color:#f5f5fa;text-align:left;padding:9px 12px;font-size:13px;line-height:1.4;border-radius:6px;overflow-wrap:anywhere}
.meeting-popover button:hover:enabled{background:#ffffff16;filter:none}.meeting-popover button[aria-pressed=true]{background:#343b49}.device-choice[aria-pressed=true]::before{content:'✓ ';color:#b9d9ff}.device-choice:disabled{opacity:.55}
.meeting-popover p{font-size:11px;color:#c8cbd3;line-height:1.5;margin:10px 4px 0}.meeting-popover label{color:#f5f5fa}
.menu-switch{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:15px;padding:10px 5px;font-size:13px}.menu-switch input{width:34px;height:20px;flex:none;accent-color:#0b75ed}
.media-tool-group{display:contents}
body.is-connected .media-tool-group{display:flex;flex:0 1 125px;align-items:center;min-width:68px;max-width:145px}
body.is-connected .media-tool-group>button:not(.media-options){display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:48px;height:68px;background:transparent;color:#f9f9fb;border:1px solid transparent;padding:4px 3px;border-radius:8px;font-size:12px;line-height:1.2;white-space:normal}
body.is-connected .media-tool-group>button:not(.media-options)::before{content:'';display:block;width:28px;height:28px;flex:none;background:currentColor;mask-size:contain;mask-position:center;mask-repeat:no-repeat}
body.is-connected .media-tool-group .media-options{flex:none;width:24px;min-width:24px;min-height:32px;padding:4px 0;background:transparent;border:0;color:#fff;border-radius:6px;font-size:18px;margin-bottom:23px}
body.is-connected .media-tool-group button:hover:enabled{background:#ffffff1a;filter:none}body.is-connected .media-tool-group button:disabled{opacity:.55}
body.is-connected #meeting-toolbar-actions>#reactions::before{display:none}#reactions .tool-icon{width:28px;height:28px;flex:none}
.reaction-menu{width:min(420px,calc(100vw - 16px));text-align:center}.reaction-menu h3{font-size:13px;font-weight:500}.reaction-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:8px 0 13px}.reaction-grid button{min-width:0;min-height:48px;padding:6px;background:#343438;border:0;border-radius:10px;font-size:25px;color:#fff}.feedback-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.feedback-grid button{font-size:22px}
#reaction-hand-home button,.reaction-menu>#reaction-away{width:100%;min-height:42px;margin:5px 0;padding:8px;background:#36363a;color:#fff;border:0;border-radius:18px;font-size:14px;text-align:center}
#reaction-overlay{position:fixed;inset:64px 0 88px;z-index:15;pointer-events:none;overflow:hidden}.reaction-effect,.reaction-float{position:absolute;bottom:10px;font-size:60px;animation:reaction-rise 3.5s ease-out forwards}.reaction-effect{font-size:110px;animation:reaction-burst 3.5s ease-out forwards}.reaction-badge{position:absolute;right:16px;top:16px;z-index:8;font-size:38px;padding:4px 8px;border-radius:8px;background:#0008}.people-feedback{display:block;font-size:12px;color:#cee2ff;margin-top:4px}
@keyframes reaction-rise{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-55vh)}}@keyframes reaction-burst{0%{opacity:0;transform:scale(.2)}25%{opacity:1;transform:scale(1.2) translateY(-22vh)}100%{opacity:0;transform:scale(1) translateY(-65vh)}}
#host-key-dialog,#audio-test-dialog{width:min(630px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:22px;background:#242426;color:#f8f8fb;border:1px solid #626269;border-radius:10px}#host-key-dialog::backdrop,#audio-test-dialog::backdrop{background:#0004}
#host-key-dialog h2,#audio-test-dialog h2{font-size:19px;margin:0}#host-key-dialog p,#audio-test-dialog p{font-size:13px;line-height:1.6;color:#e5e5eb}#host-key-dialog button,#audio-test-dialog button{font-size:13px;min-height:38px;padding:8px 12px}#host-key-form>p{text-align:center}.host-key-entry{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0}.host-key-entry input{width:165px;min-width:0;text-align:center;letter-spacing:2px;font-size:20px;background:#1c1d21;color:#fff;border:1px solid #4096ff;border-radius:7px;padding:9px}.host-key-entry button{background:#0b70e8;color:white;flex:1;max-width:300px}.host-key-entry button:disabled{background:#45464d;color:#bfc1ca;opacity:.65}.host-key-entry button:not(:disabled){background:#0b70e8}.host-key-entry button:disabled{cursor:default}#host-key-alternative{text-align:center;margin:25px 0}#host-key-login{display:block;margin:12px;color:#75b9ff;font-size:13px}#host-key-secret{font-size:19px!important;letter-spacing:1px}#host-key-error{color:#ffadb5!important;min-height:20px}#host-key-help{font-size:12px!important;color:#bcc0cb!important}#host-key-form .live-check{justify-content:center}
#audio-test-level{display:block;width:100%;height:25px;margin:10px 0}#audio-test-dialog label{display:block;font-size:13px;margin-top:16px}
.audio-test-actions{display:flex;gap:10px;flex-wrap:wrap}#audio-test-playback{display:block;width:100%;margin:16px 0}#audio-test-playback[hidden]{display:none}
#audio-test-dialog .live-popover-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}#audio-test-title{flex:1;min-width:0}#audio-test-close{flex:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body.is-connected .people-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}body.is-connected .people-footer>button{font-size:11px;line-height:1.4;min-width:0;min-height:46px;padding:8px 5px;border-radius:20px}body.is-connected .people-footer>p{grid-column:1/-1}
@media(max-width:620px){.meeting-popover{max-height:calc(100dvh - 120px)}.reaction-grid{gap:4px}.reaction-grid button{font-size:22px;min-height:42px}body.is-connected .media-tool-group{flex:0 1 80px;min-width:60px}body.is-connected .media-tool-group>button:not(.media-options){font-size:10px;min-width:38px}body.is-connected .media-tool-group .media-options{min-width:18px;width:18px}.host-key-entry{flex-wrap:wrap}.host-key-entry button{flex-basis:100%;max-width:100%}.host-key-entry input{width:100%}}
@media(prefers-reduced-motion:reduce){.reaction-effect,.reaction-float{animation:none;bottom:30%;font-size:50px}}

.menu-switch input{appearance:none;position:relative;display:block;background:#65656c;border:1px solid #77777f;border-radius:12px;padding:0;cursor:pointer}.menu-switch input::before{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#f8f8fa;transition:transform .15s}.menu-switch input:checked{background:#0b75ed;border-color:#0b75ed}.menu-switch input:checked::before{transform:translateX(14px)}.menu-switch input:disabled{opacity:.45;cursor:default}.reaction-extra summary{font-size:12px;text-align:right;color:#e8e8ed;cursor:pointer;margin:4px 0 10px}

/* The host departure choices share the meeting's charcoal palette. */
#host-leave-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;background:#202124;color:#f5f6f8;border:1px solid #4d5058;border-radius:16px;box-shadow:0 24px 80px #0008}
#host-leave-dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}
#host-leave-dialog .leave-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
#host-leave-dialog .leave-eyebrow{margin:0 0 6px;color:#b7c9e5;font-size:11px;letter-spacing:.07em;font-weight:600;text-transform:uppercase}
#host-leave-dialog h2{margin:0;font-size:23px;line-height:1.3;letter-spacing:-.02em}
#host-leave-dialog p{font-size:13px;line-height:1.55}
#host-leave-description{color:#c3c7d0;margin:0 0 20px}
#host-leave-dialog button{font-size:12px;line-height:1.4;min-height:40px;padding:10px 14px;border-radius:8px}
#host-leave-dialog #close-host-leave{flex:none;width:36px;min-height:36px;padding:0;border:0;background:transparent;color:#c3c7d0;font-size:27px;font-weight:400;line-height:1}
#host-leave-dialog h3{font-size:14px;line-height:1.4;font-weight:650;margin:0 0 5px;color:#f5f6f8}
#host-leave-dialog .leave-transfer{padding:18px;background:#282e38;border:1px solid #485870;border-radius:11px;margin:0 0 8px}
#host-leave-dialog .leave-transfer p{color:#c3cbd8;margin:0 0 14px}
#host-leave-dialog .leave-transfer label{font-size:12px;font-weight:500;margin-bottom:7px;color:#e2e7ef}
#host-leave-dialog .leave-transfer-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
#host-leave-dialog #next-host{background:#181b22;color:#f5f6fa;border:1px solid #727d8e;border-radius:8px;padding:10px 12px;font-size:13px;min-height:42px}
#host-leave-dialog #leave-and-transfer{background:#0866d9;border:1px solid #0866d9;color:#fff}
#host-leave-dialog #leave-and-transfer:disabled{background:#3b4453;border-color:#596475;color:#c2c8d2;opacity:1}
#host-leave-dialog #leave-transfer-empty{margin:12px 0 0;font-size:12px;color:#cbd3df}
#host-leave-dialog .leave-option{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:18px;align-items:center;padding:18px 0}
#host-leave-dialog .leave-option p{color:#bfc3cc;margin:0}
#host-leave-dialog .leave-end{border-top:1px solid #42454c}
#host-leave-dialog #leave-without-transfer,#host-leave-dialog #cancel-host-leave{background:#2c3038;color:#f5f6fa;border:1px solid #656b78}
#host-leave-dialog #end-for-everyone{background:#c93848;color:#fff;border:1px solid #c93848}
#host-leave-dialog #host-leave-error{margin:0}
#host-leave-dialog #host-leave-error:empty{display:none}
#host-leave-dialog #host-leave-error:not(:empty){margin:0 0 16px;padding:12px;border-radius:8px}
#host-leave-dialog .leave-footer{display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid #42454c}
#host-leave-dialog :focus-visible{outline:3px solid #9ac8ff;outline-offset:3px}
@media(max-width:560px){#host-leave-dialog{padding:18px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:12px}#host-leave-dialog h2{font-size:21px}#host-leave-dialog .leave-transfer{padding:14px}#host-leave-dialog .leave-transfer-controls,#host-leave-dialog .leave-option{grid-template-columns:minmax(0,1fr)}#host-leave-dialog .leave-option{gap:12px;padding:16px 0}#host-leave-dialog .leave-footer button{width:100%}}

/* Touch controls: five primary actions, with secondary actions in Plus. */
#media-help-dialog{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;background:#182132;color:#f0f5ff;border:1px solid #52667f;border-radius:18px;padding:22px;line-height:1.65}
#media-help-dialog::backdrop{background:#0009}#media-help-dialog h2{font-size:20px}#media-help-dialog li{margin:12px 0}#media-help-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}
@media(max-width:620px){
 body.is-connected{--mobile-toolbar:calc(86px + env(safe-area-inset-bottom,0px));--mobile-header:60px}
 body.is-connected #meeting-toolbar{height:var(--mobile-toolbar);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:#10141cf7;border-top:1px solid #29313d}
 body.is-connected #meeting-toolbar-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;align-items:stretch}
 body.is-connected .media-tool-group{min-width:0;max-width:none;position:relative;display:flex;align-items:stretch}
 body.is-connected .media-tool-group>button:not(.media-options),body.is-connected #meeting-toolbar-actions>button{width:100%;min-width:0;max-width:none;height:70px;min-height:70px;padding:6px 2px;gap:6px;font-size:10px;line-height:1.3;word-break:normal;overflow-wrap:normal;border-radius:12px}
 body.is-connected .media-tool-group .media-options{position:absolute;right:-2px;top:0;width:24px;min-width:24px;min-height:24px;height:24px;font-size:14px;margin:0;padding:0;background:#252c37;border-radius:8px;z-index:2}
 body.is-connected #meeting-toolbar-actions>button::before,body.is-connected .media-tool-group>button:not(.media-options)::before{width:25px;height:25px}
 body.is-connected #meeting-toolbar-actions>[data-workspace=people]::after{top:0;left:auto;right:0;min-width:16px;font-size:10px;border:2px solid #10141c}
 body.is-connected #meeting-toolbar-actions #mic[aria-pressed=false]::after,body.is-connected #meeting-toolbar-actions #cam[aria-pressed=false]::after{top:23px;width:29px}
 body.is-connected #videos{inset:var(--mobile-header) 6px var(--mobile-toolbar);gap:7px}
 body.is-connected #videos .tile{border-radius:14px;border:1px solid #262d39}
 body.is-connected .tile-heading{padding:20px 8px 8px;flex-wrap:wrap;gap:4px}
 body.is-connected .tile-heading p{max-width:100%;font-size:11px}
 body.is-connected #videos[data-visible-count="1"] .tile-heading{bottom:0}
 body.is-connected .room-header{height:var(--mobile-header);padding:6px 10px;gap:8px}
 body.is-connected .room-header .brand{font-size:14px}body.is-connected .room-header strong{font-size:12px}
 body.is-connected #live-header-actions{gap:4px}body.is-connected #live-display{max-width:none}body.is-connected #live-fullscreen{max-width:90px;min-width:62px}
 body.is-connected #meeting-toolbar .toolbar-status{bottom:calc(var(--mobile-toolbar) + 6px);right:10px;font-size:10px}
 body.is-connected #workspace-content{top:var(--mobile-header);bottom:var(--mobile-toolbar);width:100%;border:0;border-radius:18px 18px 0 0;padding:18px}
 body.is-connected .live-popover,body.is-connected .meeting-popover{bottom:calc(var(--mobile-toolbar) + 8px);max-height:calc(100dvh - var(--mobile-toolbar) - 85px)}
 body.is-connected #live-extra-tools #tool-restrictions{position:static;max-width:none;font-size:12px;line-height:1.6;margin:8px 0 0;border:0;background:transparent;padding:12px}
 body.is-connected #people-list li{gap:10px;padding:14px 8px}body.is-connected #people-list .people-media{width:40px;min-width:40px;height:44px}
 body.is-connected #people-list .people-menu summary{min-width:40px;min-height:44px}
 body.is-connected #meeting-notice{max-height:38dvh;font-size:13px;line-height:1.6}
}
@media(max-width:620px) and (orientation:portrait){
 body.is-connected #videos[data-visible-count="2"]:not(.has-focus){grid-template-columns:minmax(0,1fr)!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
}
@media(max-height:450px) and (max-width:900px){body.is-connected .room-header{height:48px}body.is-connected #meeting-toolbar{height:68px}body.is-connected #meeting-toolbar-actions>button,body.is-connected .media-tool-group>button:not(.media-options){height:54px;min-height:54px;font-size:10px}}
@media(max-width:620px){body.is-connected #meeting-toolbar-actions>#leave{grid-column:auto;grid-row:auto}}

@media(max-width:700px){body.is-connected #videos[data-sharing=true]{inset:var(--mobile-header,64px) 0 var(--mobile-toolbar,88px)}}
@media(max-height:450px) and (max-width:900px){body.is-connected #videos[data-sharing=true]{inset:48px 0 68px}}
body.is-connected.live-controls-hidden #videos[data-sharing=true]{inset:0}

@media(max-width:620px){body.is-connected .room-header .brand{display:none}}

/* Zoom is confined to the shared document, so meeting controls stay usable. */
.screen-surface{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}
.screen-canvas{position:relative;width:calc(var(--share-zoom,1)*100%);height:calc(var(--share-zoom,1)*100%)}
#share-view-controls{position:absolute;right:12px;bottom:calc(var(--mobile-toolbar,88px) + 12px);z-index:8;display:flex;gap:1px;padding:3px;background:#1c2533ed;border:1px solid #566176;border-radius:12px}
#share-view-controls>button{min-width:44px;min-height:44px;padding:8px;background:transparent;color:#fff;font-size:16px;border:0;border-radius:8px}
#share-view-controls>#share-zoom-fit{min-width:62px;font-size:12px}
body.live-controls-hidden #share-view-controls{opacity:0;pointer-events:none}
@media(max-height:450px) and (max-width:900px){#share-view-controls{bottom:78px}}

body.is-connected:has(#videos[data-sharing=true]) #meeting-toolbar .toolbar-status{display:none}

/* No live controls before the room is joined, including legacy partner entry. */
body:not(.is-connected) #meeting-toolbar{display:none!important}
body.partner-auth-pending #workspace-tabs,body.partner-auth-pending #room-layout,
body.partner-direct:not(.is-connected) #workspace-tabs,body.partner-direct:not(.is-connected) #room-layout{display:none!important}
body.partner-auth-pending #meeting-entry,body.partner-auth-pending #meeting-settings,
body.partner-direct #meeting-entry,body.partner-direct:not(.is-connected) #meeting-settings{display:none!important}
body.partner-embedded #copy-room-link,body.partner-embedded #copy-invite,
body.partner-embedded #live-invite,body.partner-embedded #people-invite,
body.partner-embedded #live-info-copy,body.partner-embedded #live-info-dialog label:has(#live-info-link){display:none!important}
#partner-entry-state{padding:28px 20px;margin:24px auto;max-width:640px;text-align:center;color:#d8e4f4;line-height:1.6}
#partner-audio-unlock{position:fixed;z-index:28;top:calc(var(--mobile-header,64px) + 10px);left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px)}
#partner-audio-unlock>button{min-height:44px;white-space:normal;padding:12px 18px;border:1px solid #a3e9d7;box-shadow:0 6px 24px #0007;background:#75e4c6;color:#092a23;border-radius:12px;font-size:14px}

body.partner-embedded #title-info-invite,body.partner-embedded #title-info-copy,body.partner-embedded #title-info-panel dt:has(+dd #title-info-invite){display:none!important}

#meeting-diagnostics{width:min(640px,calc(100vw - 24px));max-height:85dvh;overflow:auto;background:#202328;color:#eef4ff;border:1px solid #56606d;border-radius:16px;padding:20px;box-sizing:border-box}#meeting-diagnostics::backdrop{background:#0009}.diagnostics-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.diagnostics-actions button{min-height:44px}#diagnostics-video{max-width:100%;max-height:220px;width:100%;object-fit:contain}#diagnostics-level{display:block;width:100%;margin:10px 0}#diagnostics-result{line-height:1.6}
