body{--cml-surface:var(--compact-surface,#fff);--cml-soft:var(--compact-soft,#f6f9fc);--cml-line:var(--compact-line,#e0eaf2);--cml-text:var(--compact-ink,#253951);--cml-muted:var(--compact-muted,#8697a9);--cml-blue:var(--compact-blue,#06a8e8);--cml-tint:var(--compact-tint,#edf9ff)}
.cm-peer-presence{display:inline-flex;align-items:center;gap:5px;font-size:10px!important;line-height:1.5;color:var(--cml-muted)!important}
.cm-peer-presence::before{content:'';width:6px;height:6px;border-radius:50%;background:#a8b5c2;flex:none}
.cm-peer-presence[data-online=true]{color:#12ae8b!important}
.cm-peer-presence[data-online=true]::before{background:#12c596;box-shadow:0 0 0 3px #17c69c0e}
:is(.cm-identity,.cm-thread)[data-online=true] .cm-avatar{position:relative;overflow:visible}
:is(.cm-identity,.cm-thread)[data-online=true] .cm-avatar::after{content:'';position:absolute;right:0;bottom:0;width:8px;height:8px;border-radius:50%;background:#13c49a;border:2px solid var(--cml-surface)}
.cml-app [hidden]{display:none!important}
.cml-app *{box-sizing:border-box}
.cml-app :is(button,textarea,a){font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.cml-app :is(button,textarea,a):focus-visible{outline:2px solid #32bbf5;outline-offset:3px}
.cml-avatar{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;overflow:hidden;background:var(--cml-tint);color:var(--cml-blue);font-size:14px;font-weight:750}
.cml-avatar>img{display:block;width:100%;height:100%;object-fit:cover}
.cml-toast-stack{position:fixed;top:76px;right:18px;display:grid;gap:10px;max-width:calc(100vw - 28px);width:330px;z-index:11200;pointer-events:none}
.cml-incoming{display:flex;align-items:flex-start;min-width:0;border:1px solid var(--cml-line);border-radius:16px;background:var(--cml-surface);box-shadow:0 12px 35px #173e6520,0 1px 4px #173e6510;pointer-events:auto;animation:cml-toast-in .25s ease-out}
.cml-incoming-open{display:flex;align-items:center;gap:10px;min-width:0;flex:1;padding:13px 8px 13px 13px;border:0;border-radius:15px;background:transparent;text-align:left;color:var(--cml-text);cursor:pointer}
.cml-incoming-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.cml-incoming-copy>small{color:var(--cml-blue);font-size:8px;font-weight:750;letter-spacing:.5px}
.cml-incoming-copy>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.cml-incoming-copy>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:10px;line-height:1.6;color:var(--cml-muted)}
.cml-incoming-close{display:grid;place-items:center;width:26px;height:26px;flex:none;margin:7px 6px 0 0;border:0;border-radius:50%;background:var(--cml-soft);color:var(--cml-muted);font-size:18px;cursor:pointer}
.cml-bubbles{position:fixed;left:18px;bottom:80px;display:flex;flex-direction:column;gap:12px;z-index:10900}
.cml-bubble{position:relative;width:46px;height:46px;animation:cml-bubble-in .25s ease-out}
.cml-bubble-open{display:grid;place-items:center;padding:3px;width:46px;height:46px;border:1px solid var(--cml-line);border-radius:50%;background:var(--cml-surface);box-shadow:0 5px 18px #264a7226;cursor:pointer;transition:transform .18s,border-color .18s}
.cml-bubble-open:hover,.cml-bubble.is-active .cml-bubble-open{transform:translateY(-2px);border-color:#83d9f8}
.cml-bubble-open>.cml-avatar{width:38px;height:38px}
.cml-bubble[data-online=true] .cml-bubble-open::after{content:'';position:absolute;right:1px;bottom:0;width:10px;height:10px;border:2px solid var(--cml-surface);border-radius:50%;background:#12bf93}
.cml-unread{position:absolute;right:-4px;top:-4px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid var(--cml-surface);border-radius:12px;background:#f15379;color:#fff;font-size:9px;font-weight:750}
.cml-bubble-close{position:absolute;left:-5px;top:-5px;display:grid;place-items:center;width:18px;height:18px;padding:0;border:1px solid var(--cml-line);border-radius:50%;background:var(--cml-surface);color:var(--cml-muted);font-size:14px;line-height:1;cursor:pointer;box-shadow:0 2px 4px #2043670c}
.cml-chat{position:fixed;left:82px;bottom:80px;display:flex;flex-direction:column;width:360px;max-width:calc(100vw - 100px);height:min(510px,calc(var(--cml-vh,100dvh) - 110px));min-height:260px;border:1px solid var(--cml-line);border-radius:18px;overflow:hidden;background:var(--cml-surface);box-shadow:0 16px 60px #17375126,0 3px 12px #17375110;color:var(--cml-text);font-size:12px;z-index:11100;animation:cml-toast-in .2s ease-out}
.cml-chat-heading{display:flex;align-items:center;gap:4px;padding:11px 10px;border-bottom:1px solid var(--cml-line);background:linear-gradient(110deg,var(--cml-tint),var(--cml-surface));flex:none}
.cml-peer{display:flex;align-items:center;gap:8px;flex:1;min-width:0;text-decoration:none;color:var(--cml-text)}
.cml-peer>.cml-avatar{width:34px;height:34px;font-size:12px}
.cml-peer>span:last-child{display:flex;flex-direction:column;min-width:0;gap:3px}
.cml-peer strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cml-peer small{font-size:9px;color:var(--cml-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cml-peer[data-online=true] small{color:#13ae89}
.cml-icon-button{display:grid;place-items:center;flex:none;width:25px;height:27px;padding:4px;border:0;border-radius:8px;background:transparent;color:var(--cml-muted);text-decoration:none;font-size:18px;cursor:pointer}
.cml-icon-button:hover{color:var(--cml-blue);background:var(--cml-tint)}
.cml-icon-button>.ui-symbol{width:15px;height:15px}
.cml-message-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 12px;scrollbar-width:thin;scrollbar-color:#bcd9e7 transparent}
.cml-messages{display:flex;flex-direction:column;gap:12px}
.cml-message{display:flex;align-items:flex-start;flex-direction:column;gap:4px;max-width:88%;align-self:flex-start}
.cml-message.is-mine{align-self:flex-end;align-items:flex-end}
.cml-message-body{display:flex;flex-direction:column;gap:8px;padding:9px 11px;background:var(--cml-soft);border:1px solid var(--cml-line);border-radius:13px 13px 13px 4px;color:var(--cml-text);font-size:11px;line-height:1.75;overflow-wrap:anywhere;min-width:0;max-width:100%;white-space:pre-wrap}
.cml-message.is-mine .cml-message-body{background:var(--cml-tint);border-color:#a7dcf21f;border-radius:13px 13px 4px 13px}
.cml-message-time{color:var(--cml-muted);font-size:8px;line-height:1.5}
.cml-message-image{display:block;max-width:100%}
.cml-message-image>img{display:block;max-width:100%;max-height:220px;border-radius:8px;object-fit:contain}
.cml-inquiry{display:flex;flex-direction:column;gap:5px;padding:9px;border:1px solid var(--cml-line);border-radius:8px;background:var(--cml-surface);text-decoration:none;color:var(--cml-blue);white-space:normal}
.cml-inquiry strong{font-size:10px}.cml-inquiry small{font-size:9px}
.cml-older{display:block;margin:0 auto 14px;padding:6px 10px;border:1px solid var(--cml-line);border-radius:8px;background:var(--cml-soft);color:var(--cml-blue);font-size:9px;cursor:pointer}
.cml-new-messages{position:absolute;bottom:103px;left:50%;transform:translateX(-50%);border:1px solid #a8dcf4;border-radius:20px;background:var(--cml-tint);color:var(--cml-blue);font-size:10px;padding:7px 12px;box-shadow:0 3px 10px #193a5715;cursor:pointer}
.cml-status{flex:none;min-height:22px;padding:4px 12px;color:var(--cml-muted);font-size:9px;line-height:1.5;border-top:1px solid var(--cml-line);overflow-wrap:anywhere}
.cml-compose{display:flex;flex-wrap:wrap;align-items:flex-end;gap:7px;padding:9px 10px 10px;flex:none;background:var(--cml-surface)}
.cml-compose textarea{resize:none;flex:1;width:100%;min-width:0;min-height:36px;max-height:90px;margin:0;padding:8px 10px;border:1px solid var(--cml-line);border-radius:12px;background:var(--cml-soft);color:var(--cml-text);font-size:12px;line-height:1.6;box-shadow:none}
.cml-compose .cml-attachment{width:28px;height:35px;position:relative;overflow:hidden}
.cml-attachment input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.cml-send{display:grid;place-items:center;flex:none;width:34px;height:35px;padding:8px;border:1px solid #a9dcf4;border-radius:11px;background:var(--cml-tint);color:var(--cml-blue);cursor:pointer}
.cml-send>.ui-symbol{width:18px;height:18px}
.cml-send:disabled{opacity:.4;cursor:wait}
.cml-file-name{display:block;flex-basis:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cml-muted);font-size:9px}
.cml-file-name:empty{display:none}
.cml-sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1180px){body:has(#sidebar.open) .cml-app{visibility:hidden!important;pointer-events:none!important}}
@media(max-width:760px){.cml-toast-stack{top:65px;right:12px;width:320px;max-width:calc(100vw - 24px)}.cml-bubbles{left:13px;bottom:calc(142px + env(safe-area-inset-bottom,0px));gap:10px}.cml-chat{left:10px;right:10px;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:calc(100% - 20px);max-width:none;height:min(510px,calc(var(--cml-vh,100dvh) - 106px));min-height:220px}.cml-compose textarea{font-size:16px;line-height:1.4}.cml-panel-open .cml-bubbles{visibility:hidden;pointer-events:none}}
@keyframes cml-toast-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@keyframes cml-bubble-in{from{opacity:0;transform:translateY(10px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.cml-chat,.cml-incoming,.cml-bubble{animation:none}.cml-bubble-open{transition:none}}
