@layer halo-v277-interaction {
/* Stable media geometry and top-layer menus, independent of chat scroll/clipping. */
.halo-message-menu-list[hidden]{display:none!important}
.halo-message-menu-list.halo-menu-portal{position:fixed!important;inset:auto!important;right:auto!important;bottom:auto!important;margin:0!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;gap:3px!important;padding:7px!important;border:1px solid var(--ui-line,#60708766)!important;border-radius:16px!important;overflow:auto!important;overscroll-behavior:contain;z-index:2147483600!important;background:var(--ui-surface,#172238)!important;color:var(--ui-text,#f1f5ff)!important;box-shadow:0 14px 48px #0005!important;backdrop-filter:blur(18px);transform:none!important}
.halo-menu-portal:not(.halo-contact-dropdown) [role=menuitem]{display:flex!important;align-items:center!important;flex:0 0 auto!important;min-height:42px!important;width:100%!important;box-sizing:border-box!important;white-space:normal!important;overflow-wrap:anywhere;text-align:left!important;padding:10px 12px!important;margin:0!important;border:0!important;border-radius:9px!important;background:transparent!important;color:inherit!important;font:500 13px/1.35 system-ui!important;cursor:pointer;text-decoration:none!important}
.halo-contact-dropdown [role=menuitem]{display:flex!important;align-items:center!important;flex:0 0 auto!important;min-height:28px!important;height:28px!important;max-height:28px!important;width:100%!important;box-sizing:border-box!important;white-space:nowrap!important;text-align:left!important;padding:4px 8px!important;margin:0!important;border:0!important;border-radius:6px!important;background:transparent!important;color:inherit!important;font:600 11.5px/1.2 system-ui!important;cursor:pointer;text-decoration:none!important}
.halo-menu-portal [role=menuitem]:hover,.halo-menu-portal [role=menuitem]:focus-visible{outline:2px solid var(--ui-accent,#8aa9ff)!important;outline-offset:-2px;background:#9faefa22!important}
.halo-menu-portal [role=menuitem].is-danger{color:#ff8d9f!important}
html[data-theme=light] .halo-menu-portal [role=menuitem].is-danger{color:#a71e41!important}
#direct-chat-messages .halo-message-menu-toggle,#halo-group-messages .halo-message-menu-toggle{display:grid!important;place-items:center!important;box-sizing:border-box!important;width:28px!important;height:28px!important;min-height:28px!important;max-height:28px!important;max-width:28px!important;min-width:28px!important;line-height:1!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:inherit!important;box-shadow:none!important;cursor:pointer;touch-action:manipulation}
#direct-chat-messages .halo-message-menu-toggle svg,#halo-group-messages .halo-message-menu-toggle svg{width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round;stroke-linejoin:round}
#direct-chat-messages .halo-message-menu-toggle:focus-visible{outline:3px solid #91b9ff;outline-offset:2px}
#direct-chat-messages .direct-chat-message:has(.halo-chat-gif),#direct-chat-messages .halo-chat-image,#direct-chat-messages .halo-file-pending{box-sizing:border-box!important;flex:0 0 auto!important;width:240px!important;max-width:calc(100% - 24px)!important;min-width:0!important;padding:8px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;overflow:visible!important}
#direct-chat-messages .halo-chat-image>img:not(.halo-reply-thumbnail),#direct-chat-messages .halo-chat-video>video,#direct-chat-messages .halo-chat-gif,#direct-chat-messages .halo-attachment-stage{display:block!important;box-sizing:border-box!important;width:100%!important;height:160px!important;min-height:160px!important;max-height:160px!important;aspect-ratio:auto!important;max-width:100%!important;min-width:0!important;flex:none!important;align-self:stretch!important;object-fit:contain!important;margin:0!important;border-radius:12px!important;background:#0b1220!important;overflow:hidden}
#direct-chat-messages .halo-attachment-stage{position:relative;display:grid!important;place-items:center!important}
#direct-chat-messages .halo-transfer-preview{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:contain;opacity:.55;border-radius:12px}
#direct-chat-messages .halo-transfer-preview[hidden]{display:none}
.halo-attachment-kind{position:absolute;left:12px;top:10px;color:#edf4ff;font:600 12px/1.4 system-ui;text-shadow:0 1px 4px #000}
#direct-chat-messages .halo-transfer-ring{position:relative;display:grid;place-items:center;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:#132135e8;color:white;box-shadow:0 2px 14px #0005;cursor:pointer;z-index:1}
.halo-transfer-ring svg{position:absolute;inset:0;width:52px;height:52px;fill:none;stroke:#ffffff35;stroke-width:3}
.halo-transfer-ring .halo-ring-value{stroke:#8adaff;stroke-dasharray:100;stroke-dashoffset:var(--halo-progress,100);transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .15s linear}
.halo-transfer-ring span{font:500 27px/1 system-ui}.halo-transfer-ring:focus-visible{outline:3px solid #91b9ff;outline-offset:3px}
.halo-file-pending[data-transfer-state=error] .halo-transfer-ring{background:#542638}.halo-file-pending[data-transfer-state=error] .halo-ring-value{stroke:#ffa7b8}
#direct-chat-messages .halo-transfer-footer{position:relative;box-sizing:border-box;height:54px;padding:7px 28px 0 3px;overflow:hidden}
.halo-transfer-footer strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font:600 12px/1.4 system-ui}
.halo-transfer-footer small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;color:var(--ui-muted,#a9bbd0);font:400 11px/1.4 system-ui}
.halo-transfer-dismiss{position:absolute;right:0;top:6px;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:20px;cursor:pointer}
#direct-chat-messages .halo-chat-document,#direct-chat-messages .halo-file-document{height:134px!important}
#direct-chat-messages .halo-file-document .halo-attachment-stage{height:64px!important;min-height:64px!important;max-height:64px!important}
.halo-file-document .halo-attachment-kind{left:10px;top:22px}.halo-file-document .halo-transfer-ring{margin-left:auto;margin-right:10px}
#direct-chat-messages .halo-document-save{display:grid!important;grid-template-columns:48px minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center;gap:0 12px;box-sizing:border-box;height:90px;padding:14px 30px 14px 10px!important;color:inherit!important;text-decoration:none!important;min-width:0;border-radius:12px;background:#91aaff12}
.halo-document-circle{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border:1px solid #9fbbdf66;border-radius:50%;font-size:25px;background:#91aaff18}
.halo-document-save strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 12px/1.4 system-ui}.halo-document-save small{font:400 11px/1.4 system-ui;opacity:.7}
#direct-chat-messages .halo-media-meta{height:28px;box-sizing:border-box;padding:5px 3px;font-size:10px}
#direct-chat-messages .halo-chat-image .halo-message-menu{position:absolute!important;top:7px!important;right:7px!important;z-index:5}
#direct-chat-messages .halo-chat-document .halo-message-menu{top:10px!important;right:10px!important}
.halo-image-viewer{z-index:2147483550!important}
@media(max-width:480px){#direct-chat-messages .direct-chat-message:has(.halo-chat-gif),#direct-chat-messages .halo-chat-image,#direct-chat-messages .halo-file-pending{width:220px!important;max-width:calc(100% - 16px)!important}#direct-chat-messages .halo-chat-image>img:not(.halo-reply-thumbnail),#direct-chat-messages .halo-chat-video>video,#direct-chat-messages .halo-chat-gif,#direct-chat-messages .halo-attachment-stage{height:144px!important;min-height:144px!important;max-height:144px!important}}
@media(prefers-reduced-motion:reduce){.halo-transfer-ring .halo-ring-value{transition:none}}

#direct-chat-messages .halo-file-pending:not(.halo-file-document) .halo-transfer-footer{height:28px;padding-top:3px}#direct-chat-messages .halo-file-pending:not(.halo-file-document) .halo-transfer-footer strong{display:none}.halo-transfer-ring:disabled{opacity:.65;cursor:wait}html[data-halo-reduce-motion=true] .halo-ring-value{transition:none}

}
