/* HLB V5.4.1o - Rich messaging */
.hlb-rich-state{display:none;margin:0;padding:8px 10px;border-top:1px solid #292d35;background:#15181e}
.hlb-rich-state.active{display:flex;align-items:center;gap:8px}
.hlb-rich-state-copy{min-width:0;flex:1}
.hlb-rich-state-copy strong,.hlb-rich-state-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hlb-rich-state-copy strong{font-size:9px;color:#67def7}.hlb-rich-state-copy span{font-size:9px;color:#a5aab4;margin-top:2px}
.hlb-rich-state-thumb{width:42px;height:42px;border-radius:9px;object-fit:cover;border:1px solid #30343d}
.hlb-rich-state-close{width:28px;height:28px;border:0;border-radius:50%;background:#252932;color:#fff;cursor:pointer}
.hlb-chat-photo-btn{width:40px;height:40px;border:1px solid #30343d;border-radius:12px;background:#20232a;color:#dfe2e8;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.hlb-chat-photo-btn svg{width:20px;height:20px}
.chat-composer.hlb-rich-composer{grid-template-columns:40px minmax(0,1fr) 44px}
.quick-chat-composer.hlb-rich-composer{grid-template-columns:40px minmax(0,1fr) 40px}
.hlb-reply-quote{max-width:100%;margin:0 0 5px;padding:6px 8px;border-left:3px solid #65dff8;border-radius:8px;background:rgba(255,255,255,.055);color:#aeb4bf;font-size:9px;line-height:1.35}
.hlb-reply-quote strong{display:block;color:#67def7;font-size:8px;margin-bottom:2px}
.hlb-chat-image{display:block;max-width:min(330px,72vw);margin:0 0 5px;border-radius:15px;overflow:hidden;border:1px solid #30343d;background:#111318}
.hlb-chat-image img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover}
.quick-chat-message .hlb-chat-image{max-width:min(260px,62vw)}
.hlb-empty-body{display:none!important}
.hlb-recalled-bubble{font-style:italic;opacity:.72;background:#20232a!important;color:#aeb3bd!important;border:1px solid #30343d!important}
.hlb-msg-actions{display:flex;align-items:center;gap:4px;margin-top:3px;opacity:.46;transition:opacity .15s}
.chat-message-row:hover .hlb-msg-actions,.quick-chat-row:hover .hlb-msg-actions,.hlb-msg-actions:focus-within{opacity:1}
.mine .hlb-msg-actions{justify-content:flex-end}.theirs .hlb-msg-actions{justify-content:flex-start}
.hlb-msg-action{border:0;background:transparent;color:#868c98;font-size:11px;padding:3px 5px;border-radius:7px;cursor:pointer}.hlb-msg-action:hover{background:#242832;color:#fff}
.hlb-msg-reactions{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.mine .hlb-msg-reactions{justify-content:flex-end}
.hlb-reaction-chip{border:1px solid #30343d;border-radius:999px;background:#1c1f26;color:#ddd;padding:2px 7px;font-size:10px;cursor:pointer}.hlb-reaction-chip.mine{border-color:#ff6a2f;background:rgba(255,106,47,.12)}
.hlb-emoji-picker{position:absolute;z-index:80;display:flex;gap:4px;padding:5px;border:1px solid #333842;border-radius:999px;background:#1c1f26;box-shadow:0 10px 26px rgba(0,0,0,.35);transform:translateY(-38px)}
.hlb-emoji-picker button{border:0;background:transparent;font-size:17px;cursor:pointer;padding:4px;border-radius:50%}.hlb-emoji-picker button:hover{background:#30343d}
.chat-message-wrap,.quick-chat-message{position:relative}
@media(max-width:900px){
  .chat-composer textarea,.quick-chat-composer textarea{font-size:16px!important}
  .hlb-msg-actions{opacity:.76}
  .hlb-chat-image{max-width:70vw}
}


/* === HLB_MESSENGER_LONG_PRESS_V541P === */
.hlb-message-context-layer{
  position:fixed;inset:0;z-index:100020;background:rgba(5,6,9,.58);
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  animation:hlb-context-fade .12s ease-out;
}
.hlb-message-context-card{
  position:fixed;z-index:100021;display:grid;gap:8px;
  animation:hlb-context-pop .14s cubic-bezier(.2,.8,.2,1);
}
.hlb-messenger-reaction-bar{
  display:flex;align-items:center;justify-content:center;gap:2px;
  min-height:51px;padding:5px 7px;border:1px solid rgba(255,255,255,.08);
  border-radius:999px;background:rgba(35,36,41,.97);
  box-shadow:0 14px 40px rgba(0,0,0,.38);
  overflow-x:auto;scrollbar-width:none;
}
.hlb-messenger-reaction-bar::-webkit-scrollbar{display:none}
.hlb-messenger-reaction{
  width:40px;height:40px;flex:0 0 40px;border:0;border-radius:50%;
  background:transparent;font-size:23px;display:grid;place-items:center;
  cursor:pointer;transition:transform .12s ease,background .12s ease;
}
.hlb-messenger-reaction:active{transform:scale(1.22)}
.hlb-messenger-reaction.mine{background:rgba(83,139,255,.22);box-shadow:inset 0 0 0 2px #568cff}
.hlb-messenger-reaction.more{font-size:26px;color:#d9dbe0;background:#4a4c52;font-weight:300}
.hlb-messenger-actions-sheet{
  overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:13px;
  background:rgba(35,36,41,.98);box-shadow:0 16px 44px rgba(0,0,0,.38);
}
.hlb-messenger-action{
  width:100%;min-height:45px;padding:0 14px;border:0;border-bottom:1px solid rgba(255,255,255,.07);
  background:transparent;color:#f3f4f6;display:flex;align-items:center;justify-content:space-between;
  font-size:14px;text-align:left;cursor:pointer;
}
.hlb-messenger-action:last-child{border-bottom:0}
.hlb-messenger-action b{font-size:17px;color:#c8cbd2;font-weight:500}
.hlb-messenger-action.danger,.hlb-messenger-action.danger b{color:#ff5e65}
.hlb-context-selected{position:relative;z-index:100019!important}
.hlb-context-selected .chat-message-bubble,
.hlb-context-selected .quick-chat-bubble,
.hlb-context-selected .hlb-chat-image{
  box-shadow:0 0 0 2px rgba(255,255,255,.13),0 12px 28px rgba(0,0,0,.28)!important;
}
.hlb-recall-sheet-layer{
  position:fixed;inset:0;z-index:100040;background:rgba(0,0,0,.56);
  display:flex;align-items:flex-end;justify-content:center;padding:0 10px max(10px,env(safe-area-inset-bottom,0px));
}
.hlb-recall-sheet{
  width:min(520px,100%);display:grid;gap:7px;padding:12px 0 0;
  animation:hlb-recall-up .18s cubic-bezier(.2,.8,.2,1);
}
.hlb-recall-sheet-title,.hlb-recall-sheet-help{
  text-align:center;background:#24252a;color:#fff;padding:10px 16px 0;
}
.hlb-recall-sheet-title{font-size:14px;font-weight:800;border-radius:14px 14px 0 0}
.hlb-recall-sheet-help{font-size:11px;line-height:1.4;color:#999da6;padding-top:2px;padding-bottom:10px}
.hlb-recall-choice{
  min-height:49px;border:0;border-radius:12px;background:#24252a;color:#57a0ff;
  font-size:14px;font-weight:700;cursor:pointer;
}
.hlb-recall-choice.danger{color:#ff5e65}
@keyframes hlb-context-fade{from{opacity:0}to{opacity:1}}
@keyframes hlb-context-pop{from{opacity:0;transform:scale(.94) translateY(5px)}to{opacity:1;transform:none}}
@keyframes hlb-recall-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

@media(max-width:900px){
  /* Messenger-like: actions appear only after holding a message */
  .hlb-msg-actions{display:none!important}
  .chat-message-row[data-message-id],
  .quick-chat-row[data-message-id]{
    -webkit-touch-callout:none;
    user-select:none;
    -webkit-user-select:none;
  }
  .chat-message-bubble,.quick-chat-bubble{
    user-select:text;
    -webkit-user-select:text;
  }
}


/* === HLB_LONG_PRESS_IOS_NATIVE_SELECTION_FIX_V541Q === */
@media(max-width:900px){
  .chat-message-row[data-message-id],
  .chat-message-row[data-message-id] *,
  .quick-chat-row[data-message-id],
  .quick-chat-row[data-message-id] *{
    -webkit-touch-callout:none !important;
  }

  .chat-message-row[data-message-id],
  .chat-message-wrap,
  .chat-message-bubble,
  .chat-message-bubble *,
  .quick-chat-row[data-message-id],
  .quick-chat-message,
  .quick-chat-bubble,
  .quick-chat-bubble *{
    -webkit-user-select:none !important;
    user-select:none !important;
  }

  .chat-message-row[data-message-id],
  .quick-chat-row[data-message-id]{
    touch-action:pan-y !important;
  }
}
