/* Private chats. The first part carries the layout rules of the stylesheet this design replaced
   on 2026-10-08, with its colours, type and corners brought to this design; the second part is
   written for this design. Loaded after site.css and portal.css. */

/* ---- Carried over from the previous stylesheet ------------------------------------------------ */
.message-page{position:relative;z-index:1;max-width:1600px;margin:auto;padding:45px clamp(16px,3vw,48px) 70px}.message-heading{margin-bottom:20px}.message-heading h1{font:800 clamp(32px,4vw,52px)/1 var(--sans);font-stretch:118%;margin:10px 0}.message-heading p{color:var(--muted);max-width:850px}.message-layout{height:min(760px,calc(100vh - 245px));min-height:520px;display:grid;grid-template-columns:290px minmax(0,1fr) 250px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#080b0fe8;box-shadow:0 25px 70px #00000088}.conversation-sidebar,.conversation-members{padding:15px;background:#0b0f14;border-right:1px solid var(--line);overflow:auto}.conversation-members{border-right:0;border-left:1px solid var(--line)}.conversation-actions{display:flex;gap:8px;margin-bottom:14px}.conversation-actions .button{padding:9px 12px}.conversation-list{display:grid;gap:8px}.conversation-item{width:100%;text-align:left;border:1px solid #21252b;background:#0a0d11;color:white;border-radius:6px;padding:12px;cursor:pointer}.conversation-item.active,.conversation-item:hover{border-color:#2f9dff;box-shadow:none}.conversation-item strong,.conversation-item small{display:block}.conversation-item small{color:var(--muted);margin-top:5px}.unread-badge{float:right;background:#2f9dff;border-radius:999px;padding:1px 7px}.conversation-panel{min-width:0;display:flex;flex-direction:column}.conversation-header{padding:16px 20px;border-bottom:1px solid var(--line);background:#0c1015}.conversation-header h2,.conversation-members h2{font-family:var(--sans);font-stretch:118%;margin:0 0 5px}.conversation-header p{color:var(--muted);margin:0}.message-list{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.private-message{max-width:78%;border:1px solid #25292f;background:#0e1218;border-radius:6px;padding:11px 13px;align-self:flex-start}.private-message.mine{align-self:flex-end;background:#171f2c;border-color:#2f9dff}.private-message.official{max-width:92%;border-color:#8d68ff;background:#201a43}.message-author{display:flex;gap:8px;align-items:center;margin-bottom:6px}.message-author img,.member-entry img{width:30px;height:30px;border-radius:50%;object-fit:cover}.message-author small{color:var(--muted)}.private-message p{white-space:pre-wrap;word-break:break-word;margin:4px 0}.attachment-button{margin-top:8px}.message-composer{padding:13px;border-top:1px solid var(--line);background:#0a0d11}.message-composer textarea{width:100%;resize:none;border:1px solid #272c32;background:#06080c;color:white;border-radius:6px;padding:11px;font:500 15px var(--sans)}.composer-tools{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:8px}.composer-tools input{max-width:75%;color:var(--muted)}.member-entry{display:flex;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #191d24}.member-entry div{min-width:0}.member-entry strong,.member-entry small{display:block;overflow:hidden;text-overflow:ellipsis}.member-entry small{color:var(--muted)}.group-tools{display:grid;gap:8px;margin:14px 0}.modal-contact-list{max-height:420px;overflow:auto;display:grid;gap:8px}.contact-choice{display:flex;align-items:center;gap:9px;border:1px solid #25292f;border-radius:6px;padding:9px}.contact-choice img{width:34px;height:34px;border-radius:50%}@media(max-width:980px){.message-layout{grid-template-columns:230px minmax(0,1fr)}.conversation-members{display:none}}@media(max-width:680px){.message-page{padding:22px 10px}.message-layout{height:calc(100vh - 190px);grid-template-columns:105px minmax(0,1fr);min-height:480px}.conversation-actions{display:grid}.conversation-actions .button{font-size:10px}.conversation-item{padding:8px}.conversation-item small{display:none}.private-message{max-width:92%}}
.messages-page-body{height:100vh;overflow:hidden}.messages-page-body .message-page{height:calc(100vh - 78px);padding:24px clamp(16px,3vw,48px);display:flex;flex-direction:column;overflow:hidden}.messages-page-body .message-heading{flex:0 0 auto;margin-bottom:14px}.messages-page-body .message-heading h1{font-size:clamp(30px,3vw,44px);margin:7px 0}.messages-page-body .message-heading p{margin:7px 0}.messages-page-body .message-layout{flex:1;height:auto;min-height:0;grid-template-columns:290px minmax(0,1fr) 270px}.conversation-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.conversation-header-actions,.member-admin-actions,.composer-tool-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.member-entry-clickable{cursor:pointer;border-radius:6px;padding:9px 6px}.member-entry-clickable:hover{background:#12171d}.member-entry-clickable>div{flex:1}.member-admin-actions{justify-content:flex-end}.member-avatar-button,.private-actions button,.private-reaction,.private-reply-preview,.private-emoji-picker button{border:0;background:none;color:inherit;cursor:pointer}.member-avatar-button{padding:0;display:grid}.private-message-footer{display:flex;align-items:end;justify-content:space-between;gap:9px;margin-top:8px}.private-actions,.private-reactions{display:flex;gap:5px;flex-wrap:wrap}.private-actions button{color:#afb4bc;font:600 11px var(--sans)}.private-actions button:hover{color:#ffffff}.private-reaction{border:1px solid #2d333a;border-radius:999px;padding:2px 8px;background:#0b0f14}.private-reaction.active{border-color:#2f9dff;background:#1b242e}.private-reply-preview{display:grid;width:100%;border-left:3px solid #2f9dff;text-align:left;padding:5px 8px;margin-bottom:7px;background:#080b0faa}.private-reply-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.private-message.deleted{opacity:.68}.deleted-copy{font-style:italic;color:var(--muted)}.message-link{margin-top:8px}.private-reply-context{display:flex;align-items:center;justify-content:space-between;gap:10px;border-left:3px solid #2f9dff;background:#11161d;padding:6px 9px;margin-bottom:8px}.private-reply-context button{border:0;background:none;color:#ffffff;font-size:18.5px;cursor:pointer}.composer-tool-buttons{min-width:0}.composer-tool-buttons #selectedPrivateFile{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.private-emoji-picker{position:fixed;z-index:120;display:flex;gap:4px;flex-wrap:wrap;width:min(290px,calc(100vw - 16px));padding:8px;border:1px solid #2d333a;border-radius:6px;background:#0c0f13;box-shadow:0 16px 44px #000000bb}.private-emoji-picker[hidden]{display:none}.private-emoji-picker button{font-size:20.5px;padding:5px;border-radius:4px}.private-emoji-picker button:hover{background:#192029}.private-compose-picker{left:50%;bottom:90px;transform:translateX(-50%)}.private-member-profile{text-align:center}.private-profile-avatar{width:96px;height:96px;border:4px solid #2f9dff;border-radius:50%;object-fit:cover;box-shadow:none}.profile-chips{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.profile-role{border:1px solid #687585;border-radius:999px;padding:4px 9px}.member-moderation-form select,.member-moderation-form input{width:100%;border:1px solid #2d333a;background:#050609;color:#ffffff;border-radius:6px;padding:10px;font:500 14px var(--sans)}
@media(max-width:980px){.messages-page-body .message-layout{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:680px){.messages-page-body{overflow:hidden}.messages-page-body .message-page{height:calc(100vh - 68px);height:calc(100dvh - 68px);padding:7px}.messages-page-body .message-heading{display:none}.messages-page-body .message-layout{height:auto;display:flex;flex-direction:column;min-height:0;border-radius:6px}.conversation-sidebar{flex:0 0 auto;display:grid;gap:7px;padding:8px;border-right:0;border-bottom:1px solid var(--line);overflow:hidden}.conversation-actions{display:flex;gap:6px;margin:0;overflow-x:auto}.conversation-actions .button{flex:1;min-width:max-content;font-size:11px;padding:7px 9px}.conversation-list{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.conversation-item{flex:0 0 auto;width:auto;max-width:180px;padding:7px 10px;white-space:nowrap}.conversation-item strong{max-width:155px;overflow:hidden;text-overflow:ellipsis}.conversation-item small{display:none}.conversation-panel{flex:1;min-height:0}.conversation-header{align-items:flex-start;padding:9px 10px}.conversation-header h2{font-size:16px}.conversation-header p{font-size:11px}.conversation-header-actions{justify-content:flex-end}.message-list{padding:9px}.message-composer{padding:8px}.composer-tools{align-items:flex-end}.composer-tool-buttons{gap:4px}.composer-tool-buttons .button{padding:7px}.composer-tool-buttons #selectedPrivateFile{max-width:90px}}
@supports(height:100dvh){.messages-page-body{height:100dvh}.messages-page-body .message-page{height:calc(100dvh - 78px)}@media(max-width:680px){.messages-page-body .message-page{height:calc(100dvh - 68px)}}}
.private-emoji-picker{width:min(360px,calc(100vw - 16px));max-height:230px;overflow-y:auto}.private-emoji-picker button{display:grid;place-items:center;width:36px;height:36px}.private-emoji-picker img,.private-inline-emoji{width:24px;height:24px;object-fit:contain}.private-inline-emoji{display:inline-block;vertical-align:-6px;margin:0 1px}
.private-read-receipt{border:0;background:transparent;cursor:pointer;padding:3px;color:#888f98}.private-read-receipt:hover{color:#e8ebef}.private-read-receipt.read{color:#46df9e;text-shadow:none}.conversation-sidebar,.conversation-members,.message-list,.modal-contact-list{scrollbar-width:thin;scrollbar-color:#2d333a transparent}.conversation-sidebar::-webkit-scrollbar,.conversation-members::-webkit-scrollbar,.message-list::-webkit-scrollbar,.modal-contact-list::-webkit-scrollbar{width:7px}.conversation-sidebar::-webkit-scrollbar-thumb,.conversation-members::-webkit-scrollbar-thumb,.message-list::-webkit-scrollbar-thumb,.modal-contact-list::-webkit-scrollbar-thumb{background:#2d333a;border-radius:99px}.member-entry{min-width:0}.member-entry>div{flex:1;min-width:0}.member-admin-actions{flex:0 0 auto;display:grid}.receipt-detail-list,.friend-list{display:grid;gap:8px;max-height:55vh;overflow:auto}.friend-list{overflow-x:hidden}.receipt-detail-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #272c32;border-radius:6px;background:#090c11}.receipt-detail-row strong,.receipt-detail-row small{display:block}.receipt-detail-row small{color:var(--muted)}.receipt-read{color:#46df9e}.receipt-unread{color:#9ba2ac}.friend-row{width:100%;cursor:pointer;background:#090c11;color:#ffffff;transform:translateY(0);transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.friend-row:hover,.friend-row:focus-visible{transform:translateY(-2px);border-color:#2f9dff;background:#121820;box-shadow:0 8px 20px #00000066;outline:none}.friend-directory .close-button{color:#ff9bad;border:1px solid #8b3045;background:#451824;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.friend-directory .close-button:hover,.friend-directory .close-button:focus-visible{transform:scale(1.08);color:#ffffff;border-color:#ff607a;background:#a52e47;box-shadow:none;outline:none}.toast-clickable{cursor:pointer;border-color:#2f9dff!important;box-shadow:none!important}.message-highlight{animation:private-message-highlight 1.8s ease}@keyframes private-message-highlight{50%{box-shadow:none;border-color:#2f9dff}}
.conversation-panel{min-height:0;overflow:hidden}.message-list{min-height:0}.message-composer{flex:0 0 auto;position:relative;z-index:2}.private-read-receipt{margin-left:auto;border:0;background:transparent;cursor:pointer;font:800 10px/1 system-ui,sans-serif;letter-spacing:-2px;padding:3px;color:#888f98;white-space:nowrap}.private-read-receipt.read{color:#46df9e;text-shadow:none}.presence-avatar{position:relative;display:inline-grid;flex:0 0 auto}.presence-avatar img{display:block}.presence-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ff5470;box-shadow:none}.presence-avatar>.presence-dot{position:absolute;right:-1px;bottom:-1px;border:2px solid #0b0f14;width:11px;height:11px}.presence-dot.online{background:#35e6a5;box-shadow:none}.presence-dot.idle{background:#ffad42;box-shadow:none}.presence-dot.dnd{background:#ff5470}.presence-summary{display:inline-flex;align-items:center;gap:6px}.presence-summary.online{color:#76efbf}.presence-summary.idle{color:#ffc56f}.presence-summary.dnd,.presence-summary.offline{color:#ff8296}.contact-search{display:grid;gap:6px;color:#c9ccd0;margin:12px 0}.contact-search input{width:100%;border:1px solid #2d333a;background:#06080c;color:#ffffff;border-radius:6px;padding:11px;font:500 15px var(--sans);outline:none}.contact-search input:focus{border-color:#2f9dff;box-shadow:none}.contact-choice>span:last-child{min-width:0}.contact-choice strong,.contact-choice small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.composer-tool-buttons #selectedPrivateFile{max-width:min(520px,100%);overflow:visible;text-overflow:clip;white-space:normal}.receipt-detail-row .presence-avatar img{width:38px!important;height:38px!important;border-radius:50%;object-fit:cover}
.friend-request-cancel{margin-top:8px!important;background:#641d2c!important;border-color:#c4435b!important;color:#ffffff!important}
.profile-member-actions{margin-top:18px;padding-top:14px;border-top:1px solid #272c32}.profile-unfriend-action{margin-top:8px!important;background:#641d2c!important;border-color:#c4435b!important;color:#ffffff!important}
.private-author-link{border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:600;cursor:pointer}.private-author-link:hover,.private-author-link:focus-visible{color:#73beff;text-decoration:underline;outline:none}
.private-profile-section{margin-top:12px;padding:12px;border:1px solid #272c32;border-radius:6px;background:#090c10;text-align:left}.private-profile-section h3{margin:0 0 9px}.private-member-profile .profile-role{border-color:var(--role-color,#687585);color:#eaedf1}.private-member-profile .profile-products{display:flex;gap:7px;flex-wrap:wrap}.private-member-profile .profile-product{border:1px solid #687e9b;border-radius:999px;padding:4px 9px;background:#141b24;color:#add9ff;text-decoration:none}.private-member-profile .profile-product:hover,.private-member-profile .profile-product:focus-visible{border-color:#2f9dff;color:#ffffff;box-shadow:none;outline:none}
.friend-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.friend-sections>section{min-width:0;border:1px solid #272c32;border-radius:6px;padding:12px;background:#090c10}.friend-sections h3{display:flex;justify-content:space-between;gap:8px;margin:0 0 10px}.friend-sections h3 span{display:grid;place-items:center;min-width:23px;height:23px;border-radius:999px;background:#19202b;color:#8bc9ff;font-size:12px}.friend-sections h4{margin:12px 0 7px;color:#afb4bc}.mutual-friends{margin-top:14px;padding:11px;border:1px solid #272c32;border-radius:6px;background:#090c10;text-align:left}.mutual-friends h3{margin:0 0 9px}.mutual-friend-list{display:flex;gap:7px;flex-wrap:wrap}.mutual-friend-list button{display:flex;align-items:center;gap:6px;max-width:180px;border:1px solid #2d333a;border-radius:999px;padding:4px 9px 4px 5px;background:#0f131a;color:#ffffff;cursor:pointer}.mutual-friend-list img{width:25px;height:25px;border-radius:50%;object-fit:cover}.mutual-friend-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:680px){.friend-sections{grid-template-columns:1fr}}
.vex-context-menu{position:fixed;z-index:500;display:grid;min-width:210px;padding:7px;border:1px solid #2c2e32;border-radius:6px;background:#121418;box-shadow:0 18px 55px #000000cc;color:#f5f6f8}.vex-context-menu button{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;align-items:center;width:100%;border:0;border-radius:5px;padding:9px;background:transparent;color:inherit;text-align:left;font:600 13px var(--sans);cursor:pointer}.vex-context-menu button:hover{background:#2f9dff;color:#ffffff}.vex-context-menu button.danger{color:#ff8797}.vex-context-menu button.danger:hover{background:#a52e47;color:#ffffff}.context-separator{height:1px;margin:5px 3px;background:#27292d}.context-edit-form{display:grid;gap:10px}.context-edit-form textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #2d333a;border-radius:6px;padding:11px;background:#06080c;color:#ffffff;font:500 15px var(--sans)}.context-edit-form small{color:var(--muted)}
.friend-list{padding:4px}
@media(prefers-reduced-motion:reduce){.friend-row,.friend-directory .close-button{transition:none}.friend-row:hover,.friend-row:focus-visible,.friend-directory .close-button:hover,.friend-directory .close-button:focus-visible{transform:none}}
.private-image-preview{display:block;border:0;background:transparent;padding:0;cursor:zoom-in;max-width:100%;margin:10px 0}.private-image-preview img{display:block;width:auto;max-width:min(360px,100%);max-height:260px;object-fit:contain;border-radius:6px}.toast.show.toast-clickable{pointer-events:auto}
.private-local-video-preview{display:block;width:auto;max-width:min(420px,100%);max-height:300px;margin:10px 0;border-radius:6px;background:#030405}.private-local-file-preview{display:inline-flex;cursor:default}
.dm-preference{padding:12px;border-block:1px solid #272c32;margin-block:12px}.dm-preference>div,.dm-request-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}#dmRequestNotice{margin:8px 12px;flex-shrink:0}
.composer-tool-buttons [hidden]{display:none!important}

/* ---- Written for this design ------------------------------------------------------------------ */
.message-heading h1 { margin: 12px 0 10px; font: 800 clamp(28px, 3.6vw, 46px)/.98 var(--sans); font-stretch: 125%; letter-spacing: -.03em; text-transform: uppercase; }
.message-heading p { color: var(--ink-dim); font-size: 15.5px; }
/* Three actions share the narrow sidebar, so each keeps to one line. */
.conversation-actions .button { min-height: 38px; padding: 0 8px; font-size: 13px; white-space: nowrap; }
.message-layout,
.conversation-sidebar,
.conversation-panel,
.conversation-members { box-shadow: none; }
.conversation-members h2,
.conversation-header h2 { font-size: 19px; }
.private-message { box-shadow: none; }
.message-composer .button-primary { align-self: end; }
