/* Message history scrolls independently; the composer stays in the visual viewport. */
.page.chat.message-thread{position:fixed;top:var(--viewport-top,0px);left:var(--rail-w);right:0;bottom:auto;height:calc(var(--viewport-h,100dvh) - var(--tabbar-h) - var(--safe-b));max-height:none;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#000;padding:0;isolation:isolate}
html.keyboard-open .page.chat.message-thread{height:var(--viewport-h,100dvh)}
.message-thread .chat-head{flex:0 0 auto;background:rgba(0,0,0,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:calc(var(--safe-t) + 7px) max(8px,var(--safe-r)) 7px max(8px,var(--safe-l));z-index:2}
.message-thread .chat-who{justify-content:center;gap:8px;min-width:0}.message-thread .chat-who>span:not(.avatar){max-width:calc(100% - 40px)}.message-thread .chat-who small{font-size:11px;text-align:left}
.message-thread .chat-scroll{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:none;overflow-anchor:none;padding:8px max(14px,var(--safe-r)) 16px max(14px,var(--safe-l));background:#000;touch-action:pan-y}
.message-thread .chat-scroll::-webkit-scrollbar{display:none}.message-thread .chat-intro{padding:18px 0 22px;gap:6px}.message-thread .chat-intro>.avatar{--s:68px}.message-thread .chat-intro .btn{min-height:36px}
.message-thread #chat-foot{position:relative;flex:0 0 auto;min-height:0;max-height:min(58%,380px);background:#000;padding-bottom:8px;border-top:1px solid #ffffff14;overflow-y:auto;overscroll-behavior:contain;z-index:2;overflow-anchor:none}
.message-thread .chat-composer{background:#000;align-items:flex-end;gap:8px;border:0;padding:6px max(10px,var(--safe-r)) 3px max(10px,var(--safe-l));min-height:54px}
.message-thread #chat-input{font-size:16px;line-height:1.4;min-height:42px;max-height:108px;resize:none;border:1px solid #ffffff38;border-radius:22px;background:#151515;padding:9px 14px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scroll-margin:0}
.message-thread .chat-attach{width:36px;height:42px;color:#fff;border-radius:50%;flex:none}.message-thread .chat-attach .i{width:25px;height:25px}.message-thread .send-btn{width:38px;height:38px;margin-bottom:2px;background:#32d773;color:#000;border:2px solid #000;flex:none}.message-thread .send-btn .i{width:22px;height:22px;stroke-width:3}
.message-thread .bubble{max-width:min(82%,520px);font-size:16px;line-height:1.4;padding:9px 14px;background:#272727;border-radius:19px;color:#fff}.message-thread .mine .bubble{background:#146b38;color:#fff}.message-thread .bubble-row{margin-block:3px}.message-thread .bubble-row.mine .bubble{border-bottom-right-radius:6px}.message-thread .bubble-row:not(.mine) .bubble{border-bottom-left-radius:6px}.message-thread .message-expiry,.message-thread .seen,.message-thread .sending-note{font-size:10px;color:#aaa;margin:2px 5px}.message-thread .day-sep{font-size:11px;margin:15px 0 9px;color:#9b9b9b}
.message-thread .message-media{max-width:min(80%,420px);min-width:120px;border-radius:19px;overflow:hidden;background:#171717}.message-thread .message-media>img,.message-thread .message-media>video{display:block;width:100%;max-height:420px;object-fit:contain;background:#0a0a0a}.message-thread .message-media>video{min-height:120px}.message-thread .post-bubble{max-width:80%;background:#161616;border:1px solid #ffffff26}
.chat-attachment-preview{display:flex;gap:9px;align-items:center;margin:5px 12px;padding:7px 9px;border-radius:16px;background:#151515;border:1px solid #ffffff25}.chat-attachment-preview>div{width:52px;height:52px;flex:none}.chat-attachment-preview img,.chat-attachment-preview video{width:100%;height:100%;object-fit:contain;border-radius:8px}.chat-attachment-preview>span{font-size:12px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-send-error{padding:0 14px;color:#ff8f8f;font-size:12px;line-height:1.3;overflow-wrap:anywhere;max-height:70px;overflow:auto}.chat-send-error:empty{display:none}.chat-upload-status{display:flex;gap:9px;align-items:center;padding:6px 12px;font-size:11px}.chat-upload-status progress{flex:1;min-width:30px;width:40%;accent-color:#32d773}.chat-upload-status span{min-width:0;overflow-wrap:anywhere}.chat-upload-status .btn{height:30px;min-height:30px;padding:0 10px}
.chat-message-options{font-size:11px;color:#9d9d9d;padding:1px 14px 0}.chat-message-options>summary{cursor:pointer;min-height:23px;line-height:23px;list-style:none;text-align:center}.chat-message-options>summary::after{content:' ⌃'}.chat-message-options:not([open])>summary::after{content:' ⌄'}.chat-message-options .dm-retention{padding:5px 0 0}.chat-message-options .dm-retention select{background:#161616;border:1px solid #ffffff30;color:#fff;border-radius:10px;max-width:70%;font-size:16px}
.message-thread .request-bar{background:#080808;padding:12px max(14px,var(--safe-r)) 12px max(14px,var(--safe-l));border:0}.message-thread .request-bar p{font-size:13px}.message-thread .request-bar .form-error:empty{display:none}.message-thread .request-bar .row{flex-wrap:wrap}.message-thread .request-bar .btn{min-height:40px;font-size:13px;padding-inline:14px}
.messages-inbox .conv{padding:13px 2px;border:0;border-radius:0;border-bottom:1px solid #ffffff1c;background:transparent;box-shadow:none}.messages-inbox .conv-last{font-size:13px;margin-top:3px}.messages-inbox .request-dot{width:8px;height:8px;background:#ff3b30;border-radius:50%}.messages-inbox .requests-row{background:#111;border:1px solid #ffffff25}.messages-inbox .count{background:#ff3b30;color:#fff}.inbox-head .seg .count{background:#ff3b30;color:#fff}
html.keyboard-open .message-thread #chat-foot{padding-bottom:4px}html.keyboard-open .message-thread .chat-head{padding-top:max(6px,var(--safe-t))}
@media(max-height:450px){.message-thread .chat-head{padding-top:3px;padding-bottom:3px}.message-thread .chat-who>.avatar{--s:28px}.message-thread .chat-who small{display:none}.message-thread #chat-foot{padding-bottom:3px;max-height:60%}.message-thread .chat-composer{padding-top:3px;min-height:48px}.message-thread .chat-message-options:not([open]){display:none}.message-thread .chat-intro{padding-top:10px}.message-thread .chat-intro>.avatar{--s:42px}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.message-thread .chat-head{background:#000;backdrop-filter:none;-webkit-backdrop-filter:none}.message-thread #chat-input{border-color:#999}}
html[data-transparency=reduce] .message-thread .chat-head{background:#000;backdrop-filter:none;-webkit-backdrop-filter:none}

.notif button.n-text{text-align:left;font:inherit;line-height:1.4;display:block}

/* 2.8.1: encrypted note in chats */
.chat-lock{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:6px auto 0;padding:6px 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;line-height:1.3;cursor:pointer;max-width:100%;text-align:center}.chat-lock svg{width:14px;height:14px;flex:none}.chat-lock:hover,.chat-lock:focus-visible{color:var(--text,inherit);background:rgba(127,127,127,.12)}.messages-inbox>.chat-lock,.groups>.chat-lock{display:flex;margin:4px auto 10px}

.e2ee-fingerprint{overflow-wrap:anywhere;word-break:break-all;font:14px monospace;user-select:text;padding:10px;background:#161616;border-radius:10px}.message-media[data-encrypted-media]{min-height:64px}.sheet-body textarea[readonly]{width:100%;min-height:96px;overflow-wrap:anywhere}

/* 2.10.1: encrypted messaging can't run on this device (removed elsewhere, offline start): what happened and the fix. */
.e2ee-problem{margin:6px 12px;padding:10px 12px;border-radius:14px;background:#1d1a10;border:1px solid #f5c54255;color:#f3e9c8;font-size:13.5px;line-height:1.4}
.e2ee-problem p{margin:0 0 8px}.e2ee-problem .btn{width:100%}
