.cw{--c:var(--brand,#234);--cf:var(--brand-ink,#fff);font-family:var(--bf,system-ui,sans-serif);color:#1d2228}
.cw *{box-sizing:border-box}
.cw-fab{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:10px;border:1px solid rgba(0,0,0,.08);background:#fff;color:#1d2228;padding:7px 16px 7px 7px;border-radius:999px;box-shadow:0 8px 28px rgba(20,25,35,.16);cursor:pointer;font:500 14px/1 var(--bf,system-ui);transition:transform .25s,opacity .25s,box-shadow .25s}
.cw-fab:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(20,25,35,.2)}
.cw-fab-i{display:none}
.cw-fab-av,.cw-av,.cw-mini{position:relative;display:grid;place-items:center;border-radius:50%;background:var(--c);color:var(--cf);font:600 15px/1 var(--hf,serif);flex:none}
.cw-fab-av{width:38px;height:38px}
.cw-on{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#2fb36a;border:2px solid #fff}
.cw-open .cw-fab{opacity:0;transform:scale(.8);pointer-events:none}
.cw-panel{position:fixed;right:18px;bottom:18px;z-index:61;width:min(384px,calc(100vw - 20px));height:min(620px,calc(100dvh - 36px));background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(20,25,35,.28),0 0 0 1px rgba(0,0,0,.05);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(16px) scale(.97);transform-origin:bottom right;pointer-events:none;visibility:hidden;transition:opacity .28s ease,transform .32s cubic-bezier(.2,.9,.3,1.1),visibility 0s .32s}
.cw-open .cw-panel{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .28s ease,transform .32s cubic-bezier(.2,.9,.3,1.1),visibility 0s}
.cw-head{display:flex;align-items:center;gap:11px;padding:14px 14px 14px 16px;background:var(--c);color:var(--cf)}
.cw-av{width:40px;height:40px;background:rgba(255,255,255,.18);color:var(--cf)}
.cw-av .cw-on{border-color:var(--c)}
.cw-id{flex:1;min-width:0}.cw-id strong{display:block;font-size:15px}.cw-id small{display:block;font-size:12px;opacity:.82;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cw-x{background:transparent;border:0;color:inherit;width:34px;height:34px;border-radius:8px;cursor:pointer;display:grid;place-items:center}.cw-x:hover{background:rgba(255,255,255,.14)}
.cw-log{flex:1;overflow-y:auto;padding:14px 14px 6px;display:flex;flex-direction:column;gap:10px;background:#f6f6f4;scroll-behavior:smooth}
.cw-day{align-self:center;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#8a8f96;margin:2px 0 4px}
.cw-row{display:flex;gap:8px;align-items:flex-end;animation:cwIn .3s ease both}
.cw-row.me{justify-content:flex-end}
.cw-mini{width:26px;height:26px;font-size:12px;margin-bottom:18px}
.cw-b{display:flex;flex-direction:column;max-width:82%}.cw-row.me .cw-b{align-items:flex-end}
.cw-msg{padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.cw-msg.bot{background:#fff;border:1px solid #e7e7e3;border-bottom-left-radius:4px}
.cw-msg.me{background:var(--c);color:var(--cf);border-bottom-right-radius:4px}
.cw-msg a{color:var(--c);font-weight:600}.cw-msg.me a{color:inherit}
.cw-msg small{color:#6b7178}
.cw-t{font-size:10.5px;color:#9a9ea4;margin:4px 4px 0}
.cw-typing{display:flex;gap:4px;padding:13px 14px}
.cw-typing i{width:7px;height:7px;border-radius:50%;background:#b5b8bc;animation:cwDot 1.1s infinite}
.cw-typing i:nth-child(2){animation-delay:.15s}.cw-typing i:nth-child(3){animation-delay:.3s}
.cw-quick{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px 4px;background:#f6f6f4}
.cw-quick:empty{padding:0}
.cw-chip{border:1px solid var(--c);color:var(--c);background:#fff;border-radius:999px;padding:7px 12px;font:500 13px/1.1 var(--bf,system-ui);cursor:pointer;animation:cwIn .25s ease both;transition:background .15s,color .15s}
.cw-chip:hover{background:var(--c);color:var(--cf)}
.cw-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #ececea;background:#fff}
.cw-in{flex:1;border:1px solid #dcdcd8;border-radius:10px;padding:11px 12px;font:15px var(--bf,system-ui);outline:none;min-width:0}
.cw-in:focus{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 18%,transparent)}
.cw-send{width:44px;border:0;border-radius:10px;background:var(--c);color:var(--cf);cursor:pointer;display:grid;place-items:center}
.cw-note{margin:0;padding:0 12px 10px;font-size:11px;color:#9a9ea4;text-align:center;background:#fff}
.cw-card dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:8px 0 0;font-size:13px}.cw-card dt{color:#7a7f86}.cw-card dd{margin:0}
.cw .hrow{display:flex;justify-content:space-between;gap:14px}
@keyframes cwIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes cwDot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media (max-width:560px){.cw-fab-t{display:none}.cw-fab{padding:7px}.cw-panel{right:0;bottom:0;width:100vw;height:100dvh;border-radius:0}}
@media (prefers-reduced-motion:reduce){.cw *,.cw-panel{animation:none!important;transition:none!important}}
/* real-estate variants */
.cw.sq .cw-panel,.cw.sq .cw-fab,.cw.sq .cw-msg,.cw.sq .cw-chip,.cw.sq .cw-in,.cw.sq .cw-send{border-radius:3px}
.cw.dark .cw-log,.cw.dark .cw-quick{background:#14171c}.cw.dark .cw-msg.bot{background:#20252c;border-color:#2c323a;color:#e9e6df}.cw.dark .cw-day,.cw.dark .cw-t{color:#7f8790}
.cw.dark .cw-msg.bot a{color:var(--c2,#e0c48c)}.cw.dark .cw-chip{background:transparent;color:var(--c2,#e0c48c);border-color:var(--c2,#e0c48c)}
@media (max-width:560px){.cw-fab{right:14px;bottom:14px;width:56px;height:56px;justify-content:center}.cw-fab-av{width:42px;height:42px}}

/* v2 polish */
.cw-hide .cw-fab{opacity:0;transform:translateY(12px) scale(.9);pointer-events:none}
html.cw-lock,html.cw-lock body{overflow:hidden}
.cw-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.cw-msg.bot{box-shadow:0 1px 2px rgba(0,0,0,.04)}
.cw-chip{transition:background .15s,color .15s,transform .15s}.cw-chip:active{transform:scale(.96)}
.cw-log{overscroll-behavior:contain}
.zsl-credit{margin:0;padding:14px 16px 84px;text-align:center;font:12px/1.4 system-ui,sans-serif;color:#8a8f96;background:transparent}
.zsl-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (max-width:560px){.cw-panel{height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.cw-in{font-size:16px}}
