/* Element Web 1.12.33 mobile enhancement, 2026-10-30. No upstream bundle changes. */
.embm-nav,.embm-scrim,.embm-back { display:none }
.embm-command-button { border:1px solid var(--cpd-color-border-interactive-secondary,#c8cdd3); border-radius:8px; background:var(--cpd-color-bg-canvas-default,#fff); color:var(--cpd-color-text-primary,#172b3a); padding:7px 10px; min-height:36px; cursor:pointer; font:inherit; }
.embm-command-button:focus-visible,.embm-palette button:focus-visible,.embm-nav button:focus-visible,.embm-back:focus-visible { outline:3px solid var(--cpd-color-border-focused,#0a8b68); outline-offset:2px }
.embm-palette { position:fixed; z-index:3500; bottom:16px; right:16px; width:min(430px,calc(100vw - 32px)); max-height:80vh; overflow:auto; padding:18px; box-sizing:border-box; border:1px solid var(--cpd-color-border-interactive-secondary,#d3d8df); border-radius:16px; background:var(--cpd-color-bg-canvas-default,#fff); color:var(--cpd-color-text-primary,#172b3a); box-shadow:0 8px 40px #0004; font:15px/1.5 system-ui,sans-serif }
.embm-palette { inset:auto 16px 16px auto; margin:0 }
.embm-palette::backdrop { background:#0005 }
.embm-palette:not([open]),.embm-palette[hidden],.embm-palette [hidden],.embm-suggestions[hidden] { display:none!important }
.embm-palette header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; gap:8px }
.embm-palette h2 { font:600 18px/1.4 system-ui,sans-serif; margin:0 }
.embm-palette label { display:block; margin-top:10px }
.embm-palette input,.embm-palette select { display:block; width:100%; min-height:44px; box-sizing:border-box; font:16px system-ui,sans-serif; margin-top:4px; border:1px solid var(--cpd-color-border-interactive-secondary,#c4cbd1); border-radius:8px; padding:8px; color:inherit; background:var(--cpd-color-bg-canvas-default,#fff) }
.embm-palette button { min-height:44px; font:inherit; cursor:pointer; padding:8px 12px; border-radius:8px; border:1px solid var(--cpd-color-border-interactive-secondary,#c4cbd1); background:var(--cpd-color-bg-canvas-default,#fff); color:inherit }
.embm-palette footer { display:flex; gap:8px; margin-top:16px }
.embm-palette .embm-primary { background:var(--cpd-color-bg-action-primary-rest,#087f62); color:#fff; flex:1 }
.embm-palette p { margin:10px 0 0; font-size:13px; color:var(--cpd-color-text-secondary,#526171) }
.embm-suggestions { position:fixed; z-index:3490; border:1px solid var(--cpd-color-border-interactive-secondary,#c4cbd1); border-radius:12px; box-shadow:0 4px 20px #0002; background:var(--cpd-color-bg-canvas-default,#fff); color:var(--cpd-color-text-primary,#172b3a); max-height:240px; overflow:auto; width:min(390px,calc(100vw - 16px)) }
.embm-suggestions button { display:block; width:100%; border:0; border-bottom:1px solid #8882; background:none; color:inherit; min-height:44px; padding:9px 12px; text-align:left; font:15px/1.4 system-ui,sans-serif; cursor:pointer }
.embm-suggestions button[aria-selected=true] { background:var(--cpd-color-bg-subtle-secondary,#e9f2ee) }
@media(max-width:768px) {
 html.embm { --embm-height:100vh; --embm-top:0px; --embm-safe-b:env(safe-area-inset-bottom,0px); --embm-nav-h:calc(56px + var(--embm-safe-b)); -webkit-text-size-adjust:100%; text-size-adjust:100%; }
 @supports(height:100dvh) { html.embm { --embm-height:100dvh } }
 html.embm,html.embm body { width:100%; min-width:0; height:100%; margin:0; overscroll-behavior:none }
 html.embm #matrixchat { width:100%; height:var(--embm-height)!important; min-width:0 }
 html.embm .mx_MatrixChat_wrapper { height:var(--embm-height)!important; overflow:hidden; }
 html.embm.embm-authenticated .mx_MatrixChat_wrapper { padding-top:env(safe-area-inset-top,0px); box-sizing:border-box; }
 html.embm .mx_MatrixChat { height:100%!important; min-width:0; width:100%!important; }
 html.embm .mx_MatrixChat>div { width:100%!important; min-width:0!important; }
 html.embm.embm-authenticated.embm-view-list .mx_MatrixChat_wrapper { height:calc(var(--embm-height) - var(--embm-nav-h))!important }
 html.embm .mx_Separator { display:none!important }
 html.embm .mx_SpacePanel { display:flex!important; position:fixed!important; inset:var(--embm-top) auto auto 0!important; height:var(--embm-height)!important; width:72px!important; min-width:72px!important; max-width:72px!important; z-index:3100; transform:translateX(-110%); transition:transform .18s ease; box-shadow:4px 0 20px #0003; padding-top:env(safe-area-inset-top,0px); padding-bottom:var(--embm-safe-b); box-sizing:border-box }
 html.embm.embm-spaces .mx_SpacePanel { transform:translateX(0) }
 html.embm .mx_SpacePanel_toggleCollapse { display:none!important }
 html.embm .embm-scrim { position:fixed; inset:0; z-index:3090; border:0; background:#0007; width:100%; height:100%; cursor:pointer }
 html.embm.embm-spaces .embm-scrim { display:block }
 html.embm #left-panel { width:100%!important; min-width:0!important; max-width:100%!important; flex:1 1 100%!important }
 html.embm #left-panel :is(.mx_LeftPanel_panel,.mx_LeftPanel_outerWrapper,.mx_LeftPanel_wrapper,.mx_LeftPanel,.mx_LeftPanel_roomListContainer,.mx_RoomListPanel) { width:100%!important; min-width:0!important; max-width:100%!important; flex-shrink:1!important }
 html.embm.embm-view-room #left-panel { display:none!important }
 html.embm.embm-view-list [data-embm-room-pane] { display:none!important }
 html.embm [data-embm-room-pane],html.embm .mx_RoomView_wrapper,html.embm .mx_RoomView { min-width:0!important; max-width:100%!important; width:100%!important; flex:1 1 100%!important }
 html.embm .mx_RoomView_body,html.embm .mx_MainSplit { min-width:0!important; min-height:0!important }
 html.embm .mx_RoomHeader { min-height:56px!important; height:56px!important; padding:0 max(4px,env(safe-area-inset-right,0px)) 0 max(4px,env(safe-area-inset-left,0px))!important; gap:2px!important; flex-shrink:0 }
 html.embm .embm-back { display:inline-flex; flex:0 0 40px; align-items:center; justify-content:center; width:40px; height:44px; border:0; border-radius:8px; background:none; color:var(--cpd-color-text-primary,#172b3a); font-size:26px; cursor:pointer; }
 html.embm .mx_RoomHeader_infoWrapper { min-width:0!important; flex:1 1 auto!important; padding:0 4px!important; overflow:hidden }
 html.embm .mx_RoomHeader_info { min-width:0; overflow:hidden }
 html.embm .mx_RoomHeader_heading { font-size:16px!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
 html.embm .mx_RoomHeader>.mx_BaseAvatar { display:none!important }
 html.embm .mx_RoomHeader button:not(.mx_RoomHeader_infoWrapper):not(.embm-back) { flex-shrink:0; min-height:44px; }
 html.embm .mx_RoomHeader>div:has(.mx_FacePile) { display:none!important }
 html.embm .mx_RoomView_timeline,html.embm .mx_RoomView_messagePanel { min-width:0!important; min-height:0!important }
 html.embm .mx_RoomView_messageListWrapper { padding-inline:0!important }
 html.embm .mx_RoomView_MessageList { padding-inline:8px!important }
 html.embm .mx_EventTile .mx_MTextBody { overflow-wrap:anywhere }
 html.embm .mx_EventTile pre { max-width:100%; overflow-x:auto; white-space:pre }
 html.embm .mx_EventTile img,html.embm .mx_EventTile video { max-width:100%; object-fit:contain }
 html.embm .mx_MessageComposer { padding:4px max(6px,env(safe-area-inset-right,0px)) max(6px,var(--embm-safe-b)) max(6px,env(safe-area-inset-left,0px))!important; flex-shrink:0; }
 html.embm .mx_MessageComposer_wrapper { min-width:0; padding:4px!important }
 html.embm .mx_MessageComposer_row { gap:2px!important; min-width:0; flex-wrap:wrap }
 html.embm .mx_SendMessageComposer { min-width:0; flex:1 1 150px!important }
 html.embm .mx_MessageComposer :is([contenteditable=true],textarea) { font-size:16px!important; line-height:1.45!important; min-height:24px; max-height:30vh; overflow-y:auto; }
 html.embm :is(input,textarea,select) { font-size:16px!important }
 html.embm .mx_MessageComposer_actions { flex-shrink:0; gap:0!important }
 html.embm .mx_MessageComposer_actions>*,html.embm .mx_MessageComposer_button { min-height:40px; min-width:36px }
 html.embm .embm-command-button { min-height:40px; padding:4px 7px; font-size:13px }
 html.embm .mx_RightPanel { position:absolute!important; inset:0!important; width:100%!important; max-width:100%!important; z-index:2000; background:var(--cpd-color-bg-canvas-default,#fff) }
 html.embm .mx_Dialog_wrapper { align-items:flex-end!important; height:var(--embm-height)!important; top:var(--embm-top)!important }
 html.embm .mx_Dialog_border { max-width:100%!important; width:100%!important; max-height:100%!important; box-sizing:border-box }
 html.embm .mx_Dialog { width:100%!important; max-width:100%!important; min-width:0!important; max-height:calc(var(--embm-height) - 12px)!important; border-radius:16px 16px 0 0; box-sizing:border-box; overflow:auto; padding:20px 16px max(20px,var(--embm-safe-b)) }
 html.embm :is(.mx_Dialog_fixedWidth,.mx_CompleteSecurityBody,.mx_EncryptionCard,.mx_EncryptionCard_wrapper) { min-width:0!important; width:100%!important; max-width:100%!important; box-sizing:border-box }
 html.embm .mx_Dialog_content { min-width:0; overflow:auto; max-width:100% }
 html.embm .mx_Dialog_buttons { display:flex; flex-wrap:wrap; gap:8px }
 html.embm .mx_Dialog_buttons button { min-height:44px; white-space:normal; flex:1 1 auto; margin:0 }
 html.embm .mx_UserSettingsDialog { height:calc(var(--embm-height) - 12px)!important; padding:12px 8px!important }
 html.embm .mx_TabbedView { padding:0!important; flex-direction:column!important; overflow:hidden }
 html.embm .mx_TabbedView_tabLabels { display:flex!important; flex-direction:row; overflow-x:auto; flex:0 0 auto!important; width:100%!important; min-width:0!important; padding:4px!important; gap:4px; }
 html.embm .mx_TabbedView_tabLabel { white-space:nowrap; min-height:44px; flex:0 0 auto }
 html.embm .mx_TabbedView_tabPanel { width:100%!important; min-width:0; padding:12px 8px!important; box-sizing:border-box }
 html.embm .mx_AuthPage { min-width:0!important; width:100%!important; min-height:100%; box-sizing:border-box; padding:16px max(12px,env(safe-area-inset-right,0px)) max(16px,var(--embm-safe-b)) max(12px,env(safe-area-inset-left,0px))!important }
 html.embm :is(.mx_AuthPage_modal,.mx_AuthPage_modalContent) { width:100%!important; max-width:100%!important; min-width:0!important; box-sizing:border-box; margin-inline:0!important; }
 html.embm .mx_AuthPage_modal { margin-top:16px!important; flex-direction:column }
 html.embm .mx_AuthPage_modalContent { padding:20px 16px!important; display:block!important }
 html.embm .mx_AuthPage_modalContent>div { width:100%!important; max-width:100%!important; min-width:0!important; box-sizing:border-box!important; padding:20px 16px!important; }
 html.embm .mx_DefaultWelcome,html.embm .mx_DefaultWelcome_buttons { width:100%!important; max-width:100%!important; min-width:0!important; box-sizing:border-box!important; }
 html.embm .mx_DefaultWelcome_buttons>a { width:100%!important; max-width:100%!important; box-sizing:border-box!important; }
 html.embm .mx_AuthFooter { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; padding:16px 8px!important; box-sizing:border-box; max-width:100%; }
 html.embm .mx_AuthFooter>a { margin:0!important; }
 html.embm :is(.mx_AuthBody,.mx_AuthBody_language,.mx_Login,.mx_Welcome) { max-width:100%!important; min-width:0!important; width:auto!important; box-sizing:border-box }
 html.embm .mx_AuthHeader { margin:0!important; padding:12px!important; box-sizing:border-box; max-width:100% }
 html.embm .mx_AuthPage .mx_Dialog { padding:16px; border-radius:12px }
 html.embm .mx_AuthPage button { max-width:100%; min-height:44px; white-space:normal }
 html.embm :is(.mx_ContextualMenu,.mx_EmojiPicker,.mx_Autocomplete) { max-width:calc(100vw - 16px)!important; box-sizing:border-box }
 html.embm :is(.mx_EmojiPicker,.mx_Autocomplete_Completion_container) { max-height:45vh!important; overflow-y:auto }
 html.embm .embm-nav { position:fixed; inset:auto 0 0; height:var(--embm-nav-h); padding:0 max(4px,env(safe-area-inset-right,0px)) var(--embm-safe-b) max(4px,env(safe-area-inset-left,0px)); box-sizing:border-box; background:var(--cpd-color-bg-canvas-default,#fff); border-top:1px solid var(--cpd-color-border-interactive-secondary,#d3d8df); z-index:3000; grid-template-columns:repeat(3,1fr); }
 html.embm.embm-authenticated.embm-view-list .embm-nav { display:grid }
 html.embm .embm-nav button { border:0; border-radius:8px; background:none; color:var(--cpd-color-text-secondary,#526171); font:13px/1.3 system-ui,sans-serif; padding:6px; display:flex; gap:3px; align-items:center; justify-content:center; flex-direction:column; cursor:pointer }
 html.embm .embm-nav button span { font-size:20px; line-height:22px }
 html.embm .embm-nav button[aria-current=page] { color:var(--cpd-color-text-action-accent,#087f62); background:var(--cpd-color-bg-subtle-secondary,#edf6f1) }
 html.embm .embm-palette { top:auto; bottom:calc(var(--embm-safe-b) + 8px); left:8px; right:8px; width:auto; max-height:calc(var(--embm-height) - 24px); padding:16px; }
 html.embm.embm-keyboard .mx_MessageComposer { padding-bottom:4px!important }
 html.embm.embm-keyboard .embm-nav { display:none!important }
 html.embm.embm-keyboard.embm-view-list .mx_MatrixChat_wrapper { height:var(--embm-height)!important }
}
@media(prefers-reduced-motion:reduce) { html.embm .mx_SpacePanel { transition:none } }
