#private-dialog { height: min(800px,calc(100dvh - 48px)); max-height: calc(100dvh - 48px); }
.private-title { font-size: 15px; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.private-top { min-width: 0; flex: 1; }
.private-top p { margin: 0; font-size: 12px; color: var(--muted); }
.private-message { display: flex; flex-direction: column; align-items: flex-start; margin: 0 0 14px; }
.private-message.mine { align-items: flex-end; }
.private-message .bubble { max-width: 85%; white-space: pre-wrap; }
.private-message.mine .bubble { background: linear-gradient(125deg,#e3f2ff,#dcf9ec); border-color: #d8eeee; border-radius: 15px 15px 4px 15px; }
.private-message time { font-size: 11px; color: var(--muted); margin: 4px 2px 0; }
.private-error { font-size: 11px; color: #ad513a; margin: 0 15px 8px; }
.older-messages { display: block; width: 100%; min-height: 35px; background: #edf7fc; color: var(--accent); border-radius: 10px; font-size: 12px; margin-bottom: 16px; border: 1px solid var(--accent-border); }

.private-message { position: relative; padding-left: 32px; }
.private-message.mine { padding-left: 0; padding-right: 32px; }
.private-message > .avatar { position: absolute; top: 0; left: 0; width: 25px; height: 25px; }
.private-message.mine > .avatar { left: auto; right: 0; }
.private-message-content { display: flex; flex-direction: column; align-items: flex-start; max-width: 100%; min-width: 0; }
.private-message.mine .private-message-content { align-items: flex-end; }
.private-message .bubble { max-width: 100%; }

.conversation-row { position: relative; min-height: 64px; color: var(--ink); overflow: hidden; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; touch-action: pan-y; }
.conversation-row:hover, .conversation-row:focus-visible { border-color: #64c8de; background: #f0fbff; }
.conversation-row:focus-visible { outline: 2px solid #2bb7d9; outline-offset: 2px; }
.conversation-row[data-conversation-holding] { border-color: #35b9d2; background: linear-gradient(120deg,#e9f6ff,#e4faf2); }
.conversation-row[data-conversation-holding]::after { content: ''; position: absolute; bottom: 0; left: 0; height: 3px; background: var(--gradient); animation: conversation-hold 1s linear forwards; }
@keyframes conversation-hold { from { width: 0; } to { width: 100%; } }
.conversation-actions-dialog { width: 390px; max-width: calc(100vw - 28px); max-height: calc(100dvh - 40px); margin: auto; padding: 22px; box-sizing: border-box; overflow-y: auto; border: 1px solid #bfe2ec; border-radius: 23px; background: #f7fcfe; }
.conversation-actions-dialog h3 { margin: 0 0 10px; font-size: 18px; color: var(--ink); }
.conversation-actions-name { margin: 0 0 10px; font-size: 17px; line-height: 1.4; font-weight: 750; color: var(--accent); overflow-wrap: anywhere; }
.conversation-actions-note { margin: 0 0 16px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.conversation-action-choices { display: grid; gap: 10px; }
.conversation-action-choices button { display: grid; gap: 5px; padding: 15px; min-height: 70px; border: 1px solid #bae0eb; border-radius: 14px; color: var(--accent); background: linear-gradient(115deg,#eaf6ff,#e8fbf2); text-align: left; }
.conversation-action-choices strong { font-size: 14px; font-weight: 750; }
.conversation-action-choices span { color: #527788; font-size: 12px; }
.conversation-action-choices button:hover, .conversation-action-choices button:focus-visible { border-color: #35b7d1; box-shadow: 0 0 0 3px #2bb7d914; }
.conversation-action-cancel { width: 100%; min-height: 45px; margin-top: 12px; padding: 10px; border-radius: 12px; border: 1px solid #d6e8ef; color: var(--accent); background: white; font-size: 13px; font-weight: 650; }
.conversation-actions-boundary { margin: 0 0 18px; padding: 11px 12px; border-radius: 11px; background: #eaf5fa; color: #527788; font-size: 12px; line-height: 1.6; }
.conversation-confirm-buttons { display: flex; gap: 9px; }
.conversation-confirm-buttons button { flex: 1; min-height: 46px; padding: 10px 12px; border: 1px solid #c5e3ed; border-radius: 12px; color: var(--accent); background: #e8f5fb; font-size: 13px; font-weight: 700; }
.conversation-confirm-buttons .conversation-remove-button { color: #a24935; background: #fff0e9; border-color: #efc8bb; }
.conversation-confirm-buttons button:disabled { color: #71838e; background: #edf2f5; border-color: #d8e3e9; }
@media (prefers-reduced-motion: reduce) { .conversation-row[data-conversation-holding]::after { animation: none; width: 100%; } }
