
/* Core small/expanded modal (assumes v1.5.4 baseline visuals) */
#assbookChatToggle{position:fixed;bottom:20px;right:20px;width:56px;height:56px;border-radius:9999px;background:#0A84FF;display:grid;place-items:center;cursor:pointer;z-index:9998;box-shadow:0 8px 20px rgba(10,132,255,.35)}
#assbookChatToggle img{width:28px;height:28px;pointer-events:none}
#assbookChatModal{position:fixed;bottom:92px;right:20px;width:360px;height:320px;background:#111;color:#fff;border-radius:14px;display:none;opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease;z-index:9999;box-shadow:0 0 15px #0074D9,0 0 25px #0074D9 !important;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
#assbookChatModal.visible{display:block;opacity:1;transform:translateY(0)}
#assbookChatModal.expanded{left:50%;bottom:auto;top:50%;right:auto;transform:translate(-50%,-50%);width:75vw;height:75vh}
#assbookChatHeader{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#1c1c1c;border-bottom:1px solid #2b2b2b}
#assbookChatTitle{font-weight:700;font-size:16px}
#assbookChatClose{background:transparent;border:0;color:#fff;font-size:18px;cursor:pointer}
#assbookMinimize{display:none;margin-right:8px;background:transparent;border:0;color:#fff;font-size:18px;cursor:pointer}
#assbookChatModal.expanded #assbookMinimize{display:inline-block}
#assbookChatTabs{display:flex;gap:6px;background:#1e1e1e;padding:8px 10px;border-bottom:1px solid #2b2b2b}
.assbookTabBtn{background:linear-gradient(#2b2b2b,#242424);border:1px solid #333;color:#eee;padding:6px 12px;border-radius:999px;cursor:pointer;transition:filter .15s ease,background .15s ease;font-size:13px}
.assbookTabBtn.active{background:linear-gradient(#0a84ff,#0a6fe0);border-color:#0a74df;color:#fff;font-weight:600}
.assbookTabBtn:hover{filter:brightness(1.08)}
.assbookTabPanel{display:none;height:calc(100% - 116px);padding:10px 12px;overflow:auto}
.assbookTabPanel.active{display:block}

/* Expanded layout split */
#assbookChatModal.expanded #assbookTab-ai{display:flex;gap:12px}
#assbookChatModal.expanded #assbookTab-ai .left{width:85%;display:flex;flex-direction:column;height:100%}
#assbookChatModal.expanded #assbookTab-ai .right{width:15%;border-left:1px solid #222;height:100%;display:flex;flex-direction:column}
#assbookParticipants{flex:1;overflow:auto;padding:6px 8px}
#assbookParticipants .user{padding:6px 4px;border-bottom:1px solid #222;position:relative}
#assbookParticipants .user .mod-dot{display:none;position:absolute;right:6px;top:6px;cursor:pointer}
body.touch .mod-dot{display:inline-block !important}
#assbookParticipants .user:hover .mod-dot{display:inline-block}

/* Chat log and composer */
#assbookChatGreeting{margin-bottom:6px;opacity:.9}
#assbookChatLog{background:#0a0a0a;border:1px solid #1f1f1f;border-radius:10px;padding:8px;height:180px;overflow:auto;font-size:13px}
#assbookChatModal.expanded #assbookChatLog{flex:1;height:auto}
#assbookChatFooter{position:absolute;left:0;right:0;bottom:0;padding:8px 12px 12px;background:#111;border-top:1px solid #222}
#assbookChatModal.expanded #assbookChatFooter{position:static;border-top:0;padding:0;margin-top:8px}
#assbookChatCompose{display:flex;gap:6px;margin-top:8px;align-items:center}
#assbookChatInput{flex:1;background:#0a0a0a;border:1px solid #262626;border-radius:8px;padding:8px 10px;color:#fff}
#assbookChatSend{background:#0A84FF;border:0;color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer}
#emojiToggle{background:#222;border:1px solid #333;border-radius:8px;padding:6px 8px;cursor:pointer}

/* Emoji picker */
#emojiPicker{display:none;position:absolute;bottom:56px;right:14px;width:260px;max-height:200px;overflow:auto;background:#111;border:1px solid #333;border-radius:10px;padding:6px;box-shadow:0 10px 30px rgba(0,0,0,.35);z-index:10000}
#emojiPicker .emoji{display:inline-block;padding:6px;font-size:20px;cursor:pointer;border-radius:8px}
#emojiPicker .emoji:hover{background:#1f1f1f}

/* Mod tools on hover in chat log */
.chat-line{position:relative;padding:2px 0}
.chat-line .author{font-weight:600}
.chat-line .mod-dot{display:none;position:absolute;right:4px;top:0;cursor:pointer}
.chat-line:hover .mod-dot{display:inline-block}
body.touch .chat-line .mod-dot{display:inline-block}
.mod-menu{display:none;position:absolute;right:0;top:16px;background:#111;border:1px solid #333;border-radius:8px;min-width:160px;z-index:99999;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.mod-menu a{display:block;padding:8px 10px;color:#eee;text-decoration:none;border-bottom:1px solid #222}
.mod-menu a:hover{background:#1f1f1f}
.mod-menu a:last-child{border-bottom:0}

/* Emoji button next to send */
#assbookEmojiBtn,#assbookBigEmojiBtn{background:#222;border:1px solid #333;color:#fff;padding:8px 10px;border-radius:8px;cursor:pointer}
.assbook-emoji-panel{position:absolute;right:12px;bottom:56px;background:#111;border:1px solid #333;border-radius:10px;padding:8px;max-width:260px;max-height:200px;overflow:auto;display:none;z-index:10001}
.assbook-emoji-panel button{background:transparent;border:0;color:#fff;font-size:18px;cursor:pointer;padding:4px}
/* Participants hover controls */
.assbook-participant{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;border-bottom:1px solid #1f1f1f}
.assbook-participant .actions{opacity:0;transition:opacity .15s ease;display:flex;gap:6px}
.assbook-participant:hover .actions{opacity:1}
.assbook-participant .actions button{background:#222;border:1px solid #333;color:#ccc;font-size:11px;border-radius:6px;padding:2px 6px;cursor:pointer}

/* Show mod tools on hover for desktop, always visible on touch */
.assbook-msg .ab-modmenu, .assbook-participant .ab-modmenu { display: none; }
.assbook-msg:hover .ab-modmenu, .assbook-participant:hover .ab-modmenu { display: inline-flex; gap:6px; }
.touch .assbook-msg .ab-modmenu, .touch .assbook-participant .ab-modmenu { display: inline-flex; }


/* v1.7.0: force-hide any legacy left emoji controls */
.ab-emoji-left, .emoji-left, #assbookEmojiBtnLeft, #assbookEmojiBtnLeftBig, .ab-emoji-left-big, .emoji-left-big { display:none !important; }



/* v1.7.1: force-hide any legacy left emoji controls/panels */
.ab-emoji-left, .emoji-left, #assbookEmojiBtnLeft, #assbookEmojiBtnLeftBig, .ab-emoji-left-big, .emoji-left-big { display:none !important; }
.emoji-panel-left, .ab-emoji-left-panel { display:none !important; }



/* v1.8.0: unread red dot on bubble */
#assbookChatToggle{ position: relative; }
#assbookChatToggle.unread::after{
  content:'';
  position:absolute;
  right:-2px; top:-2px;
  width:10px; height:10px;
  background:#ff3b30;
  border-radius:50%;
  box-shadow:0 0 0 2px rgba(0,0,0,.35);
}

/* Mention highlight */
.ab-mention{ color:#0A84FF; font-weight:600; }

/* Autocomplete dropdown for mentions */
#abMentionList, #abMentionListBig{
  position:absolute; display:none;
  background:#111; color:#fff;
  border:1px solid #333; border-radius:8px;
  padding:6px; z-index:10003;
  max-height:180px; overflow:auto; min-width:160px;
  box-shadow:0 8px 24px rgba(0,0,0,.5);
}
.ab-mention-item{ padding:6px 8px; cursor:pointer; border-radius:6px; }
.ab-mention-item:hover{ background:#0a0a0a; }



/* v1.9.0: lock chat bubble/modal to bottom-right */
#assbookChatModal { position: fixed !important; right: 20px; bottom: 80px; z-index: 100000; }
#assbookChatToggle { position: fixed !important; right: 20px; bottom: 20px; z-index: 100001; }
@media (max-width: 640px){
  #assbookChatModal { right: 10px; left: 10px; width: auto !important; }
  #assbookChatToggle { right: 10px; bottom: 10px; }
}



/* v2.1.0: active users badge + restore button */
#abActiveCount.ab-active-badge{ background:#0a84ff; color:#fff; border-radius:10px; padding:2px 8px; font-size:12px; line-height:18px; margin-left:auto; }
#assbookChatRestore{ color:#fff; opacity:0.85; }
#assbookChatRestore:hover{ opacity:1; }
.ab-emoji-panel{ position:fixed !important; z-index:2147483000 !important; }



/* v2.1.1 header controls */
.ab-controls button{ font-size:16px; line-height:1; padding:2px 6px; }
.ab-controls button:hover{ opacity:1 !important; }
#assbookChatHeader, .assbookChatHeader{ display:flex; align-items:center; gap:10px; }
#assbookChatHeader .title, .assbookChatHeader .title{ margin-right:auto; }


/* v2.1.2 header controls + badge */
.ab-controls button{border:0;background:transparent;color:#fff;opacity:.85;cursor:pointer;font-size:16px;line-height:1;padding:2px 6px}
.ab-controls button:hover{opacity:1}
#abActiveCount{margin-left:auto;background:#0a84ff;color:#fff;border-radius:10px;padding:2px 8px;font-size:12px;line-height:18px}

/* v2.1.3 header layout */
#assbookChatHeader, .assbookChatHeader{display:flex;align-items:center;gap:12px}
#assbookChatHeader .title, .assbookChatHeader .title{margin-right:auto}
#abActiveCount{margin-left:auto;background:#0a84ff;color:#fff;border-radius:12px;padding:2px 10px;font-size:12px;line-height:18px}

/* v2.1.4 */
#assbookChatHeader,.assbookChatHeader{display:flex;align-items:center;gap:10px}
#assbookChatHeader .title,.assbookChatHeader .title{margin-right:auto}
.ab-controls{display:inline-flex;gap:12px;margin-left:12px}
.ab-controls .ab-min,.ab-controls .ab-res,.ab-controls .ab-close{border:0;background:transparent;color:#fff;opacity:.85;cursor:pointer;font-size:16px;line-height:1;padding:2px 6px}
.ab-controls .ab-min:hover,.ab-controls .ab-res:hover,.ab-controls .ab-close:hover{opacity:1}
#abActiveCount{margin-left:auto;background:#0a84ff;color:#fff;border-radius:12px;padding:2px 10px;font-size:12px;line-height:18px}
