/* Use one viewport coordinate system while the mobile keyboard pans the page. */
body.chat-open{overflow:hidden}
#community>.chat-page~.bottom,#community>.chat-page~.shared-bottom-navigation{display:none}
#community>.chat-page{height:calc(100vh / 1.02);height:calc(100dvh / 1.02);min-height:0}
@media(max-width:899px), (hover:none) and (pointer:coarse){
 html.chat-open{zoom:1;overflow:hidden;overscroll-behavior:none;background:#f9faff}
 body.chat-open{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;background:#f9faff}
 #community>.chat-page{position:fixed;top:0;transform:translateY(var(--chat-viewport-top,0px));left:0;right:0;height:100vh;height:100dvh;width:100%;margin:0 auto;overflow:hidden;transition:none;overflow-anchor:none;background:#f9faff}
 .chat-page .history{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-behavior:auto}
 .chat-page.chat-keyboard-open>.composer{padding-bottom:8px}
}
.chat-page>.chat-header,.chat-page>.composer{flex-shrink:0}
.chat-page .composer{position:relative;padding:10px 8px max(10px,env(safe-area-inset-bottom));border-radius:8px 8px 0 0}
.chat-page .compose-line{display:flex;align-items:flex-end;gap:6px;min-width:0}
.chat-page .compose-line textarea{flex:1;min-width:0;width:0;min-height:44px;max-height:96px;padding:11px 12px;border-radius:8px;font-size:16px;line-height:22px;resize:none;overflow-y:auto}
.chat-page .compose-line textarea{transition:none}
.chat-page .compose-line .icon-btn{width:40px;height:44px;min-width:40px;min-height:44px;flex:none;padding:7px;background:transparent;color:var(--ink)}
.chat-page .compose-line .icon-btn svg{width:27px;height:27px}
.chat-page .compose-line [type=submit]{background:var(--accent);color:white;border-radius:8px}
.chat-page .compose-line [hidden]{display:none}
.attachment-menu{position:absolute;right:8px;bottom:calc(100% + 6px);z-index:12;width:164px;padding:5px;border:1px solid var(--line);border-radius:8px;background:white;box-shadow:0 8px 24px #20243724}
.attachment-menu[hidden]{display:none}
.attachment-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:9px 12px;background:transparent;text-align:left;font-size:14px}
.attachment-menu button svg{width:19px;height:19px;color:var(--accent)}
.attachment-menu button:hover,.attachment-menu button:focus-visible{background:#f2eefb;filter:none}
.chat-page #emoji-panel{position:absolute;bottom:calc(100% + 6px);right:8px;z-index:12;max-width:calc(100% - 16px);max-height:28dvh;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:8px;background:white;box-shadow:0 8px 24px #20243724}
.composer-upload-status{font-size:12px;line-height:18px;color:var(--muted);margin:0 0 6px;overflow-wrap:anywhere}
@media(max-width:360px){.chat-page .compose-line{gap:4px}.chat-page .compose-line .icon-btn{width:36px;min-width:36px;padding:6px}}
