/* Two independent in-app chat windows. No browser popups or external document state. */
body.chat-popup-open{overflow:hidden}
#chat-popup-layer[hidden],#chat-popup-layer [hidden]{display:none!important}
#chat-popup-layer{position:fixed;inset:0;z-index:55;pointer-events:none}
#chat-popup-layer .chat-popup-backdrop{position:absolute;inset:0;background:#102b2c45;backdrop-filter:blur(2px);pointer-events:auto}
#chat-popup-layer[data-active=false] .chat-popup-backdrop,#chat-popup-layer[data-active=false] .chat-popup-stage{display:none}
#chat-popup-layer .chat-popup-stage{position:absolute;inset:56px 28px 74px;display:flex;justify-content:center;align-items:center;pointer-events:none}
#chat-popup-layer .chat-popup-close-all{position:absolute;top:-36px;right:0;min-height:30px;min-width:30px;border:1px solid var(--ps-line);border-radius:50%;background:transparent;color:var(--ps-ink);padding:0;font-size:24px;line-height:1;pointer-events:auto}
#chat-popup-layer #messenger{height:auto;min-height:0;width:min(869px,100%);pointer-events:none}
#chat-popup-layer .messenger-layout,#chat-popup-layer .messenger-layout.has-detail{position:relative;height:auto;align-items:start;grid-template-columns:minmax(265px,416px) minmax(330px,388px);grid-template-rows:auto;gap:65px;border:0;border-radius:0;overflow:visible;background:transparent;pointer-events:none}
#chat-popup-layer[data-list=false] .messenger-layout{grid-template-columns:minmax(0,388px);justify-content:center}
#chat-popup-layer[data-conversation=false] .messenger-layout{grid-template-columns:minmax(0,416px);justify-content:center}
#chat-popup-layer .messenger-sidebar,#chat-popup-layer .messenger-main{pointer-events:auto;border:1px solid var(--ps-line);border-radius:18px;box-shadow:0 18px 64px #102b2c30;overflow:hidden;min-height:0;background:var(--ps-surface)}
#chat-popup-layer .messenger-sidebar{height:min(610px,calc(100dvh - 130px))}
#chat-popup-layer .messenger-main{height:min(553px,calc(100dvh - 232px));margin-top:102px;background:var(--ps-mint-wash)}
#chat-popup-layer[data-list=false] .messenger-main{margin-top:0}
#chat-popup-layer .messenger-list-title{padding:15px 13px;gap:7px;flex-wrap:wrap;border-bottom:1px solid var(--ps-line)}
#chat-popup-layer .messenger-list-title h2{margin-right:auto;font-size:16px}
#chat-popup-layer .messenger-list-title .chat-read-all{font-size:11px;min-height:32px;order:1;padding:4px 7px}
#chat-popup-layer .messenger-list-title>[data-chat-action=new]{font-size:22px;min-height:32px;min-width:32px}
#chat-popup-layer .chat-window-controls{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}
#chat-popup-layer .chat-window-controls button{display:grid;place-items:center;min-width:30px;min-height:32px;padding:0;border:1px solid var(--ps-line);border-radius:8px;font-size:20px;line-height:1;background:transparent;color:var(--ps-ink)}
#chat-popup-layer .chat-window-controls button:hover{background:transparent;border-color:transparent}
#chat-popup-layer .messenger-title{height:auto;min-height:68px;padding:12px 14px;gap:8px;flex-wrap:wrap;background:var(--ps-surface)}
#chat-popup-layer .messenger-title>div{min-width:0;flex:1}
#chat-popup-layer .messenger-title nav{display:flex;align-items:center;gap:8px;margin-left:auto}
#chat-popup-layer .messenger-title nav>button{min-width:30px;min-height:32px}
#chat-popup-layer .messenger-title b{max-width:280px}
#chat-popup-layer #messenger-messages{min-height:80px;padding:18px;flex:1}
#chat-popup-layer #messenger-send{flex-shrink:0}
#chat-popup-layer #messenger-detail{position:absolute;top:70px;right:8px;bottom:10px;z-index:18;width:min(300px,calc(100% - 20px));border:1px solid var(--ps-line);border-radius:12px;box-shadow:0 10px 30px #102b2c25;pointer-events:auto;background:var(--ps-surface)}
#chat-popup-layer #messenger-send .composer-emoji-picker{z-index:25;max-height:min(390px,55dvh)}
#chat-popup-layer .chat-popup-minibar{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom));right:20px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;max-width:calc(100% - 40px);pointer-events:auto}
#chat-popup-layer .chat-popup-minibar button{display:flex;align-items:center;gap:8px;min-height:44px;max-width:300px;padding:10px 14px;background:var(--ps-mint);border:1px solid var(--ps-action);color:var(--ps-on-mint);border-radius:12px;box-shadow:0 6px 24px #102b2c25;font-size:13px}
#chat-popup-layer .chat-popup-minibar [data-i18n-ignore]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}
#chat-popup-layer .chat-popup-minibar b{border-radius:12px;padding:1px 6px;background:var(--ps-on-mint);color:var(--ps-mint);font-size:11px}
#messenger .message-read-counts{display:inline-flex;flex-wrap:wrap;gap:6px;min-height:28px;padding:3px 5px;border:1px solid var(--ps-line);border-radius:7px;background:var(--ps-surface);color:var(--ps-muted);font-size:12px;line-height:1.45;text-align:left;white-space:nowrap}
#messenger .message-read-counts:hover{background:var(--ps-mint-soft);border-color:var(--ps-action)}
#messenger .message-read-counts span{color:inherit}
#messenger .unread.is-zero{color:var(--ps-muted);background:var(--ps-input);border:1px solid var(--ps-line)}
#messenger .unread{max-width:none;min-width:22px;width:auto;white-space:nowrap}
.chat-read-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.chat-read-summary>span{padding:7px 10px;border:1px solid var(--ps-line);border-radius:8px;background:var(--ps-input);color:var(--ps-ink);font-size:13px}
@media(max-width:900px){#chat-popup-layer .chat-popup-stage{inset:45px 16px 70px}#chat-popup-layer .messenger-layout,#chat-popup-layer .messenger-layout.has-detail{gap:32px;grid-template-columns:minmax(235px,416px) minmax(0,388px)}#chat-popup-layer .messenger-title b{max-width:210px}#chat-popup-layer .messenger-title .chat-avatar{display:none}}
@media(max-width:760px){#chat-popup-layer .chat-popup-stage{inset:calc(8px + env(safe-area-inset-top)) 8px calc(68px + env(safe-area-inset-bottom));align-items:center}#chat-popup-layer .chat-popup-close-all{display:none}#chat-popup-layer #messenger{height:auto;width:min(416px,100%);min-height:0}#chat-popup-layer .messenger-layout,#chat-popup-layer .messenger-layout.has-detail,#chat-popup-layer[data-list=false] .messenger-layout,#chat-popup-layer[data-conversation=false] .messenger-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;height:auto;gap:0}#chat-popup-layer .messenger-sidebar,#chat-popup-layer .messenger-main{display:flex;flex-direction:column;min-height:0;border-radius:14px;margin-top:0;height:min(610px,calc(100dvh - 130px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}#chat-popup-layer .messenger-list-title{padding:12px 14px;flex-wrap:nowrap}#chat-popup-layer #messenger-rooms{display:block;overflow-y:auto;overflow-x:hidden;min-height:0;flex:1}#chat-popup-layer .messenger-room{width:100%;min-width:0;min-height:76px;padding:12px 15px}#chat-popup-layer .chat-room-search{display:flex;margin-top:12px}#chat-popup-layer .chat-list-filters{display:flex}#chat-popup-layer .room-trailing small{display:block}#chat-popup-layer .messenger-title{min-height:62px;padding:10px 12px}#chat-popup-layer .messenger-title>div{max-width:calc(100% - 42px)}#chat-popup-layer .messenger-title b{max-width:min(240px,65vw)}#chat-popup-layer .messenger-title nav{gap:5px}#chat-popup-layer .mobile-chat-back{display:grid;place-items:center;min-width:32px;min-height:36px;margin:0}#chat-popup-layer .chat-window-controls button{min-width:34px;min-height:36px}#chat-popup-layer .chat-popup-minibar{bottom:calc(10px + env(safe-area-inset-bottom));right:8px;max-width:calc(100% - 16px);gap:6px}#chat-popup-layer .chat-popup-minibar button{font-size:12px;padding:8px 10px;max-width:45vw}#chat-popup-layer .chat-popup-minibar [data-i18n-ignore]{display:none}#chat-popup-layer #messenger-detail{top:115px;right:6px;bottom:6px;width:calc(100% - 12px)}#messenger .message-read-counts{font-size:11px;padding:4px}#chat-popup-layer .messenger-main #messenger-text{min-height:54px;max-height:100px}}

#messenger .message-read-row{margin-top:4px}#messenger .mine .message-read-row{text-align:right}
#chat-popup-layer .chat-popup-close-all:hover{background:transparent}

/* Reference-led messenger refinement: layout/paint only, no added chat capabilities. */
#chat-popup-layer{
 --chat-surface:var(--ps-surface,#fff);--chat-canvas:var(--ps-canvas,#f7f7f8);--chat-ink:var(--ps-ink,#202124);--chat-muted:var(--ps-muted,#62656e);
 --chat-line:var(--ps-line,#e2e2e8);--chat-hover:var(--ps-input,#f1f1f4);--chat-selected:var(--ps-mint-soft,#eeeafb);--chat-accent:var(--ps-accent,#6554d9);
 --chat-outgoing:var(--ps-mint-soft,#eeeafb);--chat-avatar:var(--ps-input,#f1f1f4);--chat-badge:#e24a52;
}
html[data-theme=dark] #chat-popup-layer{--chat-badge:#ed6470}
html[data-theme] #chat-popup-layer .chat-popup-backdrop{background:#10101466;backdrop-filter:none}
html[data-theme] #chat-popup-layer :is(.messenger-sidebar,.messenger-main){background:var(--chat-surface);color:var(--chat-ink);border:0;border-radius:14px;box-shadow:0 14px 48px #00000024,0 1px 5px #0000000d}
html[data-theme] #chat-popup-layer .messenger-main{background:var(--chat-canvas)}
html[data-theme] #chat-popup-layer :is(.chat-window-controls button,.chat-popup-close-all,.messenger-title nav button,.mobile-chat-back){background:transparent;border:0;color:var(--chat-muted);box-shadow:none;font-weight:400}
html[data-theme] #chat-popup-layer :is(.chat-window-controls button,.messenger-title nav button):hover{color:var(--chat-ink);background:transparent}
#chat-popup-layer .messenger-list-title{min-height:62px;padding:14px 18px;gap:8px;flex-wrap:nowrap;border:0}
#chat-popup-layer .messenger-list-title h2{font-size:17px;line-height:24px;font-weight:650;letter-spacing:-.3px;white-space:nowrap}
#chat-popup-layer .messenger-list-title h2 small{font-size:11px;font-weight:400;color:var(--chat-muted);margin-left:4px}
html[data-theme] #chat-popup-layer .messenger-list-title .chat-read-all{order:0;font-size:11px;font-weight:400;height:44px;min-height:44px;padding:3px 5px;color:var(--chat-muted);background:transparent;border:0}
html[data-theme] #chat-popup-layer .messenger-list-title>[data-chat-action=new]{width:44px;height:44px;min-height:44px;min-width:44px;background:transparent;color:var(--chat-ink);border:0;border-radius:6px;font-weight:400}
#chat-popup-layer .chat-window-controls{gap:2px}
#chat-popup-layer .chat-window-controls button{min-width:26px;min-height:30px;font-size:18px}
html[data-theme] #chat-popup-layer .chat-room-search{display:flex;align-items:center;gap:8px;padding:0 12px;margin:0 18px 12px;height:38px;min-height:38px;border-radius:7px;background:var(--chat-hover);color:var(--chat-muted)}
html[data-theme] #chat-popup-layer .chat-room-search input{width:100%;min-width:0;min-height:36px;height:36px;padding:0;border:0;box-shadow:none;border-radius:0;background:transparent;color:var(--chat-ink);font-size:12px;font-weight:400}
#chat-popup-layer .chat-room-search input::placeholder{color:var(--chat-muted)}
html[data-theme] #chat-popup-layer .chat-list-filters{display:flex;gap:18px;padding:0 18px 0;margin:0;border:0;min-height:34px;box-shadow:inset 0 -1px var(--chat-line)}
html[data-theme] #chat-popup-layer .chat-list-filters button{position:relative;min-height:34px;min-width:0;padding:0 0 10px;background:transparent;border:0;border-radius:0;color:var(--chat-muted);font-size:12px;font-weight:400}
html[data-theme] #chat-popup-layer .chat-list-filters button.active{color:var(--chat-ink);font-weight:600;box-shadow:inset 0 -2px var(--chat-ink)}
#chat-popup-layer #messenger-rooms{min-height:0;overflow:auto;flex:1;padding:0}
html[data-theme] #chat-popup-layer .messenger-room{display:flex;align-items:center;gap:11px;min-height:84px;width:100%;padding:15px 18px;border:0;border-radius:0;background:var(--chat-surface);color:var(--chat-ink);text-align:left;box-shadow:inset 0 -1px var(--chat-line)}
html[data-theme] #chat-popup-layer .messenger-room:hover{background:var(--chat-hover)}
html[data-theme] #chat-popup-layer .messenger-room.selected{background:var(--chat-selected);color:var(--chat-ink)}
html[data-theme] #chat-popup-layer .chat-avatar{width:36px;height:36px;min-width:36px;flex-shrink:0;border-radius:12px;background:var(--chat-avatar);color:var(--chat-muted);font-size:13px;font-weight:500}
#chat-popup-layer .room-copy{min-width:0;flex:1}
#chat-popup-layer .room-copy strong{display:block;font-size:12px;font-weight:600;line-height:19px;color:var(--chat-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#chat-popup-layer .room-copy small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11px;font-weight:400;line-height:17px;margin-top:3px;color:var(--chat-muted)}
#chat-popup-layer .room-trailing{display:flex;flex-direction:column;align-items:flex-end;gap:8px;align-self:stretch;padding-top:2px;flex-shrink:0}
#chat-popup-layer .room-trailing small{font-size:10px;font-weight:400;color:var(--chat-muted);white-space:nowrap}
html[data-theme] #chat-popup-layer .unread{display:inline-grid;place-items:center;min-width:17px;height:17px;line-height:17px;padding:0 5px;border:0;border-radius:10px;background:var(--chat-badge);color:#fff;font-size:10px;font-weight:500}
html[data-theme] #chat-popup-layer .unread.is-zero{background:transparent;color:var(--chat-muted);border:0}
#chat-popup-layer .messenger-title{min-height:74px;height:auto;padding:14px 17px;gap:8px;flex-wrap:wrap;border:0;box-shadow:inset 0 -1px var(--chat-line)}
html[data-theme] #chat-popup-layer .messenger-title{background:var(--chat-surface);color:var(--chat-ink)}
#chat-popup-layer .messenger-title>div{display:flex;gap:10px;align-items:center;min-width:0;flex:1 1 140px}
#chat-popup-layer .messenger-title>div>span{min-width:0}
#chat-popup-layer .messenger-title b{font-size:13px;font-weight:650;line-height:20px;max-width:200px;color:var(--chat-ink)}
#chat-popup-layer .messenger-title small{font-size:10px;line-height:17px;color:var(--chat-muted)}
#chat-popup-layer .messenger-title nav{gap:2px;margin-left:auto}
#chat-popup-layer .messenger-title nav>button{min-width:26px;min-height:30px;padding:4px}
#chat-popup-layer .messenger-title nav svg{width:17px;height:17px}
#chat-popup-layer #messenger-messages{padding:14px 17px;overscroll-behavior:contain}
#chat-popup-layer .chat-day-divider{margin:4px 0 21px;text-align:center}
html[data-theme] #chat-popup-layer .chat-day-divider span{padding:3px 8px;border:0;background:transparent;color:var(--chat-muted);font-size:10px;font-weight:400}
#chat-popup-layer .chat-message{gap:8px;margin:17px 0;align-items:flex-start}
#chat-popup-layer .chat-message>.chat-avatar{width:30px;height:30px;min-width:30px;border-radius:11px;font-size:11px}
#chat-popup-layer .message-content{min-width:0;max-width:calc(100% - 62px)}
#chat-popup-layer .message-author{display:block;margin:0 0 6px;font-size:11px;font-weight:500;color:var(--chat-muted);line-height:16px}
#chat-popup-layer .message-line{gap:5px;align-items:flex-end}
html[data-theme] #chat-popup-layer .message-bubble{padding:10px 12px;border:0;border-radius:0 12px 12px 12px;background:var(--chat-surface);color:var(--chat-ink);font-size:12px;line-height:1.65;font-weight:400;box-shadow:0 1px 2px #00000006}
html[data-theme] #chat-popup-layer .mine .message-bubble{border-radius:12px 0 12px 12px;background:var(--chat-outgoing);color:var(--chat-ink)}
#chat-popup-layer .message-text{white-space:pre-wrap;overflow-wrap:anywhere}
#chat-popup-layer .message-meta{flex-shrink:0;padding-bottom:1px;max-width:48px}
#chat-popup-layer .message-meta small{font-size:9px;line-height:13px;color:var(--chat-muted)}
#chat-popup-layer .message-read-row{margin:3px 0 0}
html[data-theme] #chat-popup-layer .message-read-counts{min-height:20px;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;color:var(--chat-muted);font-size:9px;gap:6px;line-height:18px;font-weight:400}
html[data-theme] #chat-popup-layer .message-read-counts:hover{color:var(--chat-accent);background:transparent;border:0}
#chat-popup-layer .message-reactions{gap:4px;margin-top:4px}
html[data-theme] #chat-popup-layer .message-reactions button{min-height:22px;padding:1px 6px;background:var(--chat-surface);color:var(--chat-muted);border:0;border-radius:12px;font-size:10px;font-weight:400}
html[data-theme] #chat-popup-layer .message-reactions button.mine{background:var(--chat-outgoing);color:var(--chat-accent)}
html[data-theme] #chat-popup-layer .message-hover-tools button{min-width:24px;min-height:25px;padding:2px;background:transparent;border:0;color:var(--chat-muted);font-size:15px}
#chat-popup-layer .chat-message.message-group-continuation{margin-top:-10px}
#chat-popup-layer .message-group-continuation>.chat-avatar{visibility:hidden}
#chat-popup-layer .message-group-continuation .message-author{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html[data-theme] #chat-popup-layer .chat-popup-minibar button{background:var(--chat-surface);color:var(--chat-ink);border:0;box-shadow:0 4px 18px #0002}
html[data-theme] #chat-popup-layer .chat-popup-minibar b{background:var(--chat-badge);color:#fff}
#chat-popup-layer :is(button,input,textarea):focus-visible{outline:2px solid var(--chat-accent);outline-offset:2px}
@media(max-width:760px){
 html[data-theme] #chat-popup-layer .messenger-list-title{padding:12px 16px;min-height:58px}
 html[data-theme] #chat-popup-layer .messenger-room{min-height:82px;padding:14px 16px}
 html[data-theme] #chat-popup-layer .room-copy strong{font-size:14px;line-height:20px}
 html[data-theme] #chat-popup-layer .room-copy small{font-size:12px;line-height:18px}
 html[data-theme] #chat-popup-layer .messenger-title{padding:10px 12px;min-height:66px}
 html[data-theme] #chat-popup-layer .messenger-title>div{flex-basis:100px;max-width:none}
 html[data-theme] #chat-popup-layer .messenger-title b{font-size:14px}
 html[data-theme] #chat-popup-layer .messenger-title nav{flex-wrap:wrap;max-width:130px;justify-content:flex-end}
 html[data-theme] #chat-popup-layer .chat-window-controls button,html[data-theme] #chat-popup-layer .messenger-title nav>button{min-height:36px;min-width:32px}
 html[data-theme] #chat-popup-layer .message-bubble{font-size:14px}
 html[data-theme] #chat-popup-layer .message-author{font-size:12px}
 html[data-theme] #chat-popup-layer .message-meta small,html[data-theme] #chat-popup-layer .message-read-counts{font-size:10px}
}

/* User-supplied messenger reference: 65px left rail, 351px room list. */
#messenger .chat-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#messenger .messenger-sidebar{position:relative;display:grid;grid-template-columns:65px minmax(0,1fr);padding:0}
#messenger .chat-reference-list{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}
#messenger .chat-reference-rail{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 0 14px;background:#2d253f;color:#bcb5cb;min-height:0}
#messenger .chat-reference-rail button{display:grid;place-items:center;flex:none;width:46px;height:44px;min-width:0;min-height:0;padding:11px;border:0;border-radius:19px;background:transparent;color:inherit;box-shadow:none}
#messenger .chat-reference-rail button svg{width:21px;height:21px}
#messenger .chat-reference-rail button.active{background:#603cff;color:#fff;box-shadow:0 3px 9px #170b4829}
#messenger .chat-reference-rail .chat-rail-profile{height:43px;padding:0;margin-bottom:15px}
#messenger .chat-reference-rail .chat-avatar{width:38px;height:38px;min-width:38px;border-radius:14px;background:#e5dbe9;color:#463756;overflow:hidden}
#messenger .chat-rail-spacer{flex:1;min-height:18px}
#messenger .chat-reference-rail button:hover{color:#fff;background:#ffffff14}
#messenger .chat-reference-rail button.active:hover{background:#603cff}
#messenger .chat-list-settings-button{display:flex;align-items:center;gap:3px;margin-left:auto;font-size:12px;color:var(--chat-muted);border:0;background:transparent;padding:0;min-width:0}
#messenger .chat-list-settings-button svg{width:15px;height:15px}
#messenger .chat-list-unread{display:grid;place-items:center;padding:0;border:0;background:transparent;min-width:20px;width:20px;height:32px;color:var(--chat-muted)}
#messenger .chat-list-unread svg{width:13px;height:13px}
#messenger .chat-list-unread.active{color:#603cff}
html[data-theme] #chat-popup-layer .messenger-sidebar{display:grid;grid-template-columns:65px minmax(0,1fr);border-radius:20px}
html[data-theme] #chat-popup-layer .messenger-list-title{padding:12px 18px 9px;min-height:55px;gap:4px;position:relative;flex-wrap:nowrap}
#chat-popup-layer .messenger-list-title h2{margin:0;font-size:14px;line-height:22px;font-weight:700}
html[data-theme] #chat-popup-layer .messenger-list-title>[data-chat-action=new]{width:26px;min-width:26px;height:32px;min-height:32px;padding:0;margin-left:7px;font-size:23px;font-weight:300;color:var(--chat-muted)}
#chat-popup-layer .messenger-list-title>.chat-window-controls{position:absolute;top:-1px;right:4px;opacity:0;transition:opacity .15s}
#chat-popup-layer .messenger-list-title:hover>.chat-window-controls,#chat-popup-layer .messenger-list-title:focus-within>.chat-window-controls{opacity:1}
#chat-popup-layer .messenger-list-title>.chat-window-controls button{min-height:18px;height:18px;min-width:20px;font-size:14px}
html[data-theme] #chat-popup-layer .chat-room-search{margin:0 18px 14px;height:36px;min-height:36px;padding:0 10px;border:1px solid var(--chat-line);border-radius:4px;background:transparent}
#chat-popup-layer .chat-room-search input{font-size:12px}
html[data-theme] #chat-popup-layer .chat-list-filters{display:none}
html[data-theme] #chat-popup-layer .messenger-room{min-height:88px;padding:13px 18px;gap:10px;box-shadow:inset 0 -1px var(--chat-line)}
html[data-theme] #chat-popup-layer .messenger-room.selected{background:var(--chat-surface)}
html[data-theme] #chat-popup-layer .messenger-room:hover{background:var(--chat-hover)}
html[data-theme] #chat-popup-layer .messenger-room>.chat-avatar{width:43px;height:43px;min-width:43px;border-radius:14px}
#messenger .chat-group-avatar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;width:43px;min-width:43px;height:43px;overflow:hidden;border-radius:8px}
#messenger .chat-group-avatar .chat-avatar{width:20px;height:20px;min-width:20px;min-height:0;border-radius:6px;font-size:10px}
#messenger .chat-group-avatar .chat-avatar:only-child{grid-column:1/-1;grid-row:1/-1;width:43px;height:43px;border-radius:13px}
#messenger .chat-project-avatar{background:#ff7900!important;color:#fff!important}
#messenger .chat-project-avatar svg{width:21px;height:21px}
#messenger .room-member-count{color:var(--chat-muted);font-weight:400}
#messenger .room-pin{color:#6943ff;font-size:11px}
#chat-popup-layer .room-copy strong{font-size:12px;line-height:19px;font-weight:650}
#chat-popup-layer .room-copy small{font-size:12px;line-height:18px;margin-top:1px}
#chat-popup-layer .room-trailing{gap:8px;max-width:64px}
#chat-popup-layer .room-trailing small{font-size:10px}
html[data-theme] #chat-popup-layer .unread{min-width:17px;width:17px;height:17px;padding:0;border-radius:50%;background:#ff3038;line-height:17px;font-size:10px}
html[data-theme] #chat-popup-layer .unread[data-unread-count="0"]{visibility:hidden}
html[data-theme] #chat-popup-layer .unread:not([data-unread-count="0"]){width:auto;min-width:17px;padding:0 4px;aspect-ratio:1;box-sizing:content-box}
#messenger .chat-participant-count{display:inline-flex;align-items:center;gap:3px;padding:0;min-height:20px;border:0;background:none;color:var(--chat-muted);font-size:12px}
#messenger .chat-participant-count svg{width:13px;height:13px}
html[data-theme] #chat-popup-layer .messenger-main{border-radius:8px;background:var(--chat-surface)}
html[data-theme] #chat-popup-layer .messenger-title{min-height:83px;padding:16px 18px;flex-wrap:nowrap}
#chat-popup-layer .messenger-title nav{flex-wrap:nowrap;gap:6px}
#chat-popup-layer .messenger-title nav>button{width:28px;height:32px;padding:3px}
#chat-popup-layer .messenger-title nav svg{width:21px;height:21px}
#chat-popup-layer .messenger-title .chat-window-controls{position:absolute;top:1px;right:5px;opacity:0}
#chat-popup-layer .messenger-title{position:relative}
#chat-popup-layer .messenger-title:hover .chat-window-controls,#chat-popup-layer .messenger-title:focus-within .chat-window-controls{opacity:1}
#chat-popup-layer .messenger-title .chat-window-controls button{min-height:18px;height:18px;font-size:14px}
#chat-popup-layer .messenger-title b{font-size:13px;font-weight:700;max-width:220px}
#chat-popup-layer .messenger-title .chat-avatar{width:39px;height:39px;min-width:39px;border-radius:14px}
#chat-popup-layer #messenger-messages{padding:20px 18px}
#chat-popup-layer .chat-message>.chat-avatar{width:36px;height:36px;min-width:36px;border-radius:50%}
#chat-popup-layer .message-author{font-size:12px;line-height:18px;font-weight:600;margin:0 0 12px}
html[data-theme] #chat-popup-layer .message-bubble{background:#ffefce;color:#303030;border-radius:0 18px 18px 18px;padding:13px 14px;font-size:13px;line-height:1.65;box-shadow:none}
html[data-theme] #chat-popup-layer .mine .message-bubble{background:#eee8fb;color:#303030;border-radius:18px 0 18px 18px}
html[data-theme=dark] #chat-popup-layer .message-bubble{background:#493c28;color:#f4ead8}
html[data-theme=dark] #chat-popup-layer .mine .message-bubble{background:#3f355c;color:#f4edff}
#chat-popup-layer .message-feedback{display:flex;align-items:center;gap:4px;margin-top:8px;flex-wrap:wrap}
#chat-popup-layer .mine .message-feedback{justify-content:flex-end}
#chat-popup-layer .message-feedback .message-reactions{display:flex;gap:4px;margin:0;flex-wrap:wrap}
#chat-popup-layer .message-feedback .message-read-row{margin:0}
html[data-theme] #chat-popup-layer .message-reactions button{display:inline-flex;align-items:center;gap:2px;min-height:22px;padding:1px 6px;background:var(--chat-surface);border:1px solid var(--chat-line);border-radius:12px;font-size:12px;line-height:16px;color:var(--chat-ink)}
html[data-theme] #chat-popup-layer .message-reactions button.mine{border-color:#673cff;color:#673cff;background:var(--chat-surface)}
html[data-theme] #chat-popup-layer .message-read-counts{display:grid;place-items:center;width:21px;height:21px;min-height:21px;padding:3px;border:1px solid var(--chat-line);border-radius:50%;background:var(--chat-hover);color:var(--chat-muted)}
#chat-popup-layer .message-read-counts svg{width:13px;height:13px}
#messenger .chat-list-settings{display:grid;gap:8px}
.chat-read-summary button{padding:8px 14px;border:0;background:var(--ps-input);color:var(--ps-muted);border-radius:8px}
.chat-read-summary button[aria-selected=true]{background:var(--ps-mint-soft);color:var(--ps-accent)}
#chat-popup-layer #messenger-send{background:var(--chat-hover);padding:8px 18px 18px}
#chat-popup-layer .composer-input-row{position:relative;display:flex;align-items:flex-end;min-height:62px;padding:4px;background:var(--chat-surface);border:1px solid #9b9b9b;border-radius:5px;box-shadow:0 1px 3px #0002}
#chat-popup-layer #messenger-text{background:transparent;border:0;min-height:51px;padding:7px;box-shadow:none}
#chat-popup-layer .composer-send{margin:4px;border-radius:5px;min-height:44px;height:44px;min-width:46px;padding:8px;background:#7c69d1}
#chat-popup-layer .composer-help{font-size:9px;padding-top:4px}
@media(max-width:760px){html[data-theme] #chat-popup-layer .messenger-sidebar{display:grid;grid-template-columns:55px minmax(0,1fr)}#messenger .chat-reference-rail{padding-top:16px;gap:9px}#messenger .chat-reference-rail button{width:42px;height:44px}html[data-theme] #chat-popup-layer .messenger-list-title{padding-left:12px;padding-right:12px}html[data-theme] #chat-popup-layer .chat-room-search{margin-left:12px;margin-right:12px}html[data-theme] #chat-popup-layer .messenger-room{padding-left:12px;padding-right:12px}#chat-popup-layer .room-copy strong{font-size:12px}#chat-popup-layer .room-copy small{font-size:11px}#chat-popup-layer .messenger-title .chat-avatar{display:flex}#chat-popup-layer .messenger-title nav{max-width:none}#chat-popup-layer .messenger-title .chat-window-controls,#chat-popup-layer .messenger-list-title>.chat-window-controls{opacity:1}#chat-popup-layer .message-bubble{font-size:14px}#chat-popup-layer .chat-message>.chat-avatar{width:30px;height:30px;min-width:30px}#chat-popup-layer #messenger-send{padding:6px 10px 12px}}
#chat-popup-layer .composer-actions [data-chat-action=emoji]{order:-2}
#chat-popup-layer .composer-actions [data-chat-action=attach]{order:-1}
#chat-popup-layer .composer-actions .composer-tool>span:not([aria-hidden]){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#chat-popup-layer .composer-actions .composer-tool{min-width:32px;width:32px;height:32px;min-height:32px;padding:6px;background:transparent;border:0;color:var(--chat-muted)}
#chat-popup-layer .composer-actions .composer-tool svg{width:18px;height:18px}
#messenger .chat-list-unread.muted{position:relative;color:var(--chat-muted)}
#messenger .chat-list-unread.muted:after{content:'';position:absolute;width:15px;height:1px;transform:rotate(-45deg);background:currentColor}
html[data-theme] #chat-popup-layer .unread:not([data-unread-count="0"]){width:20px;height:20px;min-width:20px;padding:0;aspect-ratio:1;box-sizing:border-box;line-height:20px}
/* Personal favorites: separate from room pins, backed by owner-only records. */
.chat-favorites{padding:12px}.chat-favorites header{display:flex;align-items:center;gap:6px;margin:5px 0}.chat-favorites header strong,.chat-favorites header b{flex:1;overflow-wrap:anywhere}.chat-favorites header button{font-size:12px;padding:4px;border:0;background:transparent;color:var(--muted,#777)}.chat-favorites section{border-top:1px solid var(--line,#eee);padding:10px 0}.chat-favorite-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 4px;background:transparent;border:0;text-align:left}.chat-favorite-item>span:not(.chat-avatar):not(.chat-group-avatar){flex:1;overflow-wrap:anywhere}.chat-favorite-item:hover{background:var(--soft,#f7f5ff)}#messenger-favorite fieldset{max-height:200px;overflow:auto;border:1px solid var(--line,#ddd);border-radius:8px}
@media(max-width:760px){#messenger .messenger-layout.mobile-conversation>.messenger-sidebar,html[data-theme] #chat-popup-layer #messenger .messenger-layout.mobile-conversation>.messenger-sidebar{display:none}}

/* Room settings only: compact, aligned options and one primary save action.
   Other detail panels and conversation/composer geometry are intentionally unchanged. */
#messenger-detail.chat-room-settings .chat-detail-head{padding:12px 16px;min-height:64px;gap:12px;font-size:15px;line-height:1.4}
#messenger-detail.chat-room-settings .chat-detail-head b{min-width:0;overflow-wrap:anywhere}
#messenger-detail.chat-room-settings [data-chat-action="close-panel"]{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--ps-muted,#777);font-size:24px;line-height:1}
#messenger-detail.chat-room-settings [data-chat-action="close-panel"]:is(:hover,:focus,:focus-visible,:active){background:transparent!important;box-shadow:none;border:0;color:var(--ps-ink,#333)!important}
#messenger-detail.chat-room-settings [data-chat-action="close-panel"]:focus-visible{text-decoration:underline;text-underline-offset:4px}
#messenger-detail.chat-room-settings .chat-detail-body{padding:4px 18px 20px}
#messenger-detail.chat-room-settings form.editor{gap:16px}
#messenger-detail.chat-room-settings .editor label{font-size:14px;line-height:1.5;gap:8px}
#messenger-detail.chat-room-settings .editor .check{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;font-weight:500}
#messenger-detail.chat-room-settings .check input{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--ps-action)}
#messenger-detail.chat-room-settings .check span{min-width:0;overflow-wrap:anywhere}
#messenger-detail.chat-room-settings .editor :is(select,input:not([type="checkbox"])){width:100%;min-height:44px;border-radius:8px}
#messenger-detail.chat-room-settings .editor>button{min-height:44px;border-radius:8px;margin:0;font-size:14px}
#messenger-detail.chat-room-settings .chat-settings-management{margin-top:24px}
#messenger-detail.chat-room-settings .chat-settings-actions{display:grid;gap:8px;margin-top:24px}
#messenger-detail.chat-room-settings .chat-settings-actions>button{width:100%;min-height:44px;margin:0;padding:10px 12px;border:0;border-radius:8px;background:var(--ps-input,#f2f3f5);color:var(--ps-ink,#333);font-size:13px;font-weight:500;text-align:left;line-height:1.5;white-space:normal}
#messenger-detail.chat-room-settings .chat-settings-actions>button:hover{background:var(--ps-inset,#eaecef)}
#messenger-detail.chat-room-settings .chat-settings-actions>.danger{background:transparent;color:var(--ps-danger,#be3347)}
#chat-popup-layer #messenger-detail.chat-room-settings{bottom:auto;max-height:calc(100% - 80px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:760px){#messenger-detail.chat-room-settings [data-chat-action="close-panel"]{flex-basis:44px;width:44px;height:44px;min-width:44px;min-height:44px}#messenger-detail.chat-room-settings .chat-detail-head{padding:8px 12px}#chat-popup-layer #messenger-detail.chat-room-settings{max-height:calc(100% - 121px)}}

/* Header-only desktop dragging; content keeps native selection and scrolling. */
@media(min-width:761px){
 #chat-popup-layer :is(.messenger-sidebar,.messenger-main){position:relative}
 #chat-popup-layer :is(.messenger-list-title,.messenger-title,.chat-detail-head){cursor:grab;touch-action:none;user-select:none}
 #chat-popup-layer .chat-window-dragging :is(.messenger-list-title,.messenger-title,.chat-detail-head){cursor:grabbing}
 #chat-popup-layer :is(.messenger-list-title,.messenger-title,.chat-detail-head) :is(button,a,input,textarea,select,label,[contenteditable],[role="button"]){cursor:auto;touch-action:auto}
}

/* Bottom-edge height control belongs only to desktop floating conversations. */
#chat-popup-layer .chat-height-resize{display:none}
@media(min-width:761px){
 #chat-popup-layer .messenger-main{padding-bottom:12px;box-sizing:border-box}
 #chat-popup-layer .messenger-main>#messenger-messages{min-height:0}
 #chat-popup-layer .chat-height-resize{display:flex;position:absolute;bottom:0;left:0;right:0;height:12px;align-items:center;justify-content:center;cursor:ns-resize;touch-action:none;user-select:none;z-index:2;background:var(--chat-surface,var(--ps-surface,#fff));outline-offset:-3px}
 #chat-popup-layer .chat-height-resize:after{content:'';width:36px;height:3px;border-radius:3px;background:var(--chat-muted,#777);opacity:.5}
 #chat-popup-layer .chat-height-resize:is(:hover,:focus-visible):after,#chat-popup-layer .chat-window-resizing .chat-height-resize:after{opacity:1;background:var(--ps-action,#7361bf)}
 #chat-popup-layer .chat-height-resize:focus-visible{outline:2px solid var(--ps-action,#7361bf)}
 #chat-popup-layer .chat-window-resizing{user-select:none}
}

/* A first reaction must remain reachable without hover, including touch screens. */
#messenger .message-hover-tools button[data-chat-react-menu]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
#modal .chat-reaction-picker{display:flex;flex-wrap:wrap;gap:8px}
#modal .chat-reaction-picker button{min-width:44px;min-height:44px}
#modal .chat-reaction-picker button[aria-pressed=true]{outline:2px solid var(--ps-action,#7361bf);outline-offset:-2px}
@media(max-width:760px){
 html[data-theme] #chat-popup-layer .message-hover-tools button[data-chat-react-menu]{min-width:36px;min-height:44px}
}
