/* ---------- Private chat ---------- */
.inbox { display: flex; flex-direction: column; gap: 8px; }
.inbox__row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 18px; color: var(--text); text-decoration: none; background: var(--gloss), var(--surface); border: 1px solid var(--border); }
.inbox__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.inbox__top { display: flex; align-items: center; gap: 8px; min-width: 0; }
.inbox__top strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inbox__last { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .88rem; }
.inbox__row.is-unread .inbox__last { color: var(--text); font-weight: 650; }
.inbox__side { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.inbox__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 8px var(--glow); }
.nav__item { position: relative; }
.nav__item.has-dot::after { content: ""; position: absolute; top: 6px; left: calc(50% + 8px); width: 9px; height: 9px; border-radius: 50%; background: #ff4d5e; border: 2px solid var(--bg, #000); }

.thread { height: 100dvh; display: flex; flex-direction: column; position: relative; background: var(--bg); }
.thread__head { display: flex; align-items: center; gap: 6px; padding: calc(var(--safe-t) + 8px) 10px 8px; border-bottom: 1px solid var(--border); background: var(--surface); }
.thread .room__back { color: var(--text); }
.thread__who { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--text); text-decoration: none; }
.thread__names { display: flex; flex-direction: column; gap: 2px; min-width: 0; align-items: flex-start; }
.thread__names strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 52vw; }
.thread__list { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 6px; padding: 12px; }
.dm { max-width: 78%; display: flex; flex-direction: column; gap: 2px; }
.dm--me { align-self: flex-end; align-items: flex-end; }
.dm--them { align-self: flex-start; align-items: flex-start; }
.dm__text { padding: 9px 13px; border-radius: 18px; overflow-wrap: anywhere; white-space: pre-wrap; background: var(--surface-2); border: 1px solid var(--border); }
.dm--me .dm__text { background: linear-gradient(135deg, var(--primary), var(--primary-2, var(--primary))); color: var(--on-primary, #1a1204); border-color: transparent; border-bottom-right-radius: 6px; }
.dm--them .dm__text { border-bottom-left-radius: 6px; }
.dm__sticker { width: 120px; height: auto; display: block; }
.dm__time { font-size: .68rem; color: var(--muted); padding: 0 4px; }
.dm__del { display: none; align-items: center; gap: 4px; border: 0; background: none; color: var(--danger); font-size: .78rem; cursor: pointer; padding: 2px 4px; }
.dm.is-open .dm__del { display: inline-flex; }
.thread__bar { display: flex; align-items: center; gap: 6px; padding: 8px 10px calc(8px + var(--safe-b)); border-top: 1px solid var(--border); background: var(--surface); }
.thread .emoji-bar { padding: 6px 10px; background: var(--surface); }
.thread .chat__emoji { border-color: var(--border); background: var(--surface-2); color: var(--accent-text); width: 38px; height: 38px; }
.thread .chat__input { border-color: var(--border); background: var(--surface-2); color: var(--text); min-height: 42px; }
.thread .chat__input::placeholder { color: var(--muted); }
.thread .chat__send { border-color: var(--border); background: var(--primary); color: var(--on-primary, #1a1204); width: 42px; height: 42px; }
.thread .sticker-grid { max-height: 56dvh; }

/* profile */
.profile__msg { left: 0; right: auto; }
.title-wall { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 4px 2px; }
