/* Clear white / brand blue / mint accents. Isolated support surface: fixed geometry, restrained motion, narrow-screen safe. */
#zl-chat{--zc-blue:#2563eb;--zc-ink:#172d4c;--zc-muted:#526681;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--zc-ink);font-size:14px;line-height:1.6;position:relative;z-index:1200}
#zl-chat *{box-sizing:border-box}#zl-chat [hidden]{display:none!important}#zl-chat button,#zl-chat textarea{font:inherit}#zl-chat button{cursor:pointer}#zl-chat button:disabled{opacity:.55;cursor:default}#zl-chat button:focus-visible,#zl-chat a:focus-visible,#zl-chat textarea:focus-visible{outline:3px solid #94a9bc;outline-offset:3px}#zl-chat p{margin:0}#zl-chat svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}
#zl-chat .zc-launch{position:fixed;right:26px;bottom:26px;display:flex;gap:10px;align-items:center;min-height:52px;border:1px solid #ffffff30;border-radius:28px;background:#2563eb;color:white;padding:12px 20px;box-shadow:0 8px 26px #222c3420;transition:transform .18s,box-shadow .18s;font-weight:600}
#zl-chat .zc-launch:hover{transform:translateY(-3px);box-shadow:0 12px 28px #222c342c}#zl-chat .zc-launch i{position:absolute;right:-3px;top:-4px;min-width:22px;border-radius:12px;background:#df4357;color:white;font-size:11px;font-style:normal;padding:1px 5px;border:2px solid white}
#zl-chat .zc-panel{position:fixed;right:26px;bottom:90px;width:400px;height:min(650px,calc(100dvh - 112px));min-height:300px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #dedfda;border-radius:22px;background:#ffffff;box-shadow:0 24px 90px #222c3420,0 4px 18px #222c340a;animation:zc-enter .22s ease-out}
#zl-chat .zc-header{display:flex;align-items:center;gap:12px;padding:20px 22px;background:#ffffff;color:var(--zc-ink);border-bottom:1px solid #e7e7e1;flex-shrink:0}#zl-chat .zc-avatar{width:42px;height:42px;display:grid;place-items:center;border:1px solid #e4e5df;border-radius:14px;background:#eef1f2;color:#2563eb;font-size:20px;font-weight:700}#zl-chat .zc-header strong{font-size:17px;letter-spacing:.02em}#zl-chat .zc-header p{font-size:12px;color:#526681;margin-top:2px}#zl-chat .zc-close{margin-left:auto;background:transparent;border:0;color:#526681;font-size:28px;width:32px;height:36px;line-height:1;border-radius:8px}#zl-chat .zc-close:hover{background:#eeefeb}
#zl-chat .zc-nav{display:flex;gap:6px;align-items:center;border-bottom:1px solid #e7e7e1;padding:8px 14px;flex-shrink:0}#zl-chat .zc-nav button{border:0;border-radius:8px;background:transparent;padding:7px 10px;color:var(--zc-muted);font-size:12px}#zl-chat .zc-nav button[aria-pressed=true]{background:#edf1f4;color:#2563eb;font-weight:600}#zl-chat .zc-nav .zc-new{margin-left:auto;color:#2563eb}
#zl-chat .zc-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:#f8f8f4;padding:22px 20px}#zl-chat .zc-eyebrow{color:#526681;font-size:12px}#zl-chat h2{font-size:24px;font-weight:650;letter-spacing:-.5px;line-height:1.4;margin:7px 0 10px}#zl-chat .zc-welcome>p{color:var(--zc-muted);line-height:1.8;font-size:13px}#zl-chat .zc-topics{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}#zl-chat .zc-topics button{padding:8px 12px;background:#ffffff;border:1px solid #dee2e2;border-radius:10px;color:#465866;font-size:12px;transition:border-color .15s,background .15s}#zl-chat .zc-topics button:hover{border-color:#a9bac8;background:#f0f3f4}#zl-chat .zc-links{border-top:1px solid #e4e5df;display:flex;gap:18px;padding-top:16px}#zl-chat .zc-links a{font-size:12px;color:#586b7b;text-decoration:none}
#zl-chat .zc-message{display:flex;align-items:flex-start;flex-direction:column;margin:0 0 17px;gap:5px;min-width:0}#zl-chat .zc-message small{font-size:10px;color:#6b757e}#zl-chat .zc-message>div{max-width:90%;background:#ffffff;border:1px solid #e1e3de;border-radius:3px 14px 14px 14px;padding:10px 13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:13px}#zl-chat .zc-message.is-user{align-items:flex-end}#zl-chat .is-user>div{background:#eaf2ff;color:#1846b8;border-color:#d7e5fb;border-radius:14px 3px 14px 14px}#zl-chat .is-system{align-items:center;color:#6b757e}#zl-chat .zc-receipt{color:#6b757e;font-size:10px;text-align:center;margin:0 0 19px}#zl-chat .zc-history-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;background:#ffffff;border:1px solid #e0e3df;border-radius:13px;padding:14px;margin-bottom:10px;overflow-wrap:anywhere}#zl-chat .zc-history-item strong{font-size:13px;font-weight:600}#zl-chat .zc-history-item span{font-size:12px;color:var(--zc-muted)}#zl-chat .zc-history-item small{font-size:11px;color:#2563eb}#zl-chat .zc-empty{color:var(--zc-muted);font-size:13px}
#zl-chat .zc-status{padding:8px 18px;background:#f3f3ef;color:#526681;font-size:11px;flex-shrink:0;min-height:30px;overflow-wrap:anywhere}#zl-chat .zc-status:empty{display:none}#zl-chat .zc-compose{margin:12px 14px 8px;padding:10px 12px 9px;border:1px solid #dce1df;border-radius:13px;background:#ffffff;flex-shrink:0;box-shadow:0 2px 5px #222c3404}#zl-chat .zc-compose:focus-within{border-color:#a6b7c5;box-shadow:0 0 0 3px #2563eb12}#zl-chat textarea{display:block;resize:none;min-height:48px;max-height:90px;width:100%;border:0;background:transparent;box-shadow:none;padding:0;font-size:13px;color:var(--zc-ink);outline:none;line-height:1.7}#zl-chat textarea::placeholder{color:#707a81}#zl-chat .zc-compose-bottom{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-top:8px}#zl-chat .zc-count{font-size:9px;color:#6b757e}#zl-chat .zc-send{padding:7px 13px;border:0;border-radius:9px;background:var(--zc-blue);color:#fff;font-size:12px;white-space:nowrap}#zl-chat .zc-footer{flex-shrink:0;text-align:center;color:#6b757e;font-size:10px;padding:2px 14px 12px}#zl-chat .zc-jump{position:absolute;bottom:190px;left:50%;transform:translateX(-50%);border:1px solid #dce2e4;border-radius:20px;padding:6px 12px;background:#ffffff;color:#2563eb;box-shadow:0 3px 12px #222c3412;font-size:11px}#zl-chat .zc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact-launcher{display:none!important}
@keyframes zc-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:520px){#zl-chat .zc-launch{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}#zl-chat .zc-panel{inset:10px 10px auto;width:auto;height:calc(100dvh - 20px);min-height:0;border-radius:18px}#zl-chat .zc-header{padding:15px 18px}#zl-chat .zc-scroll{padding:18px}#zl-chat .zc-footer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){#zl-chat *,#zl-chat *:before{animation:none!important;transition:none!important}}

#zl-chat textarea:focus-visible{outline:none}
#zl-chat .zc-send:hover:not(:disabled){background:#1d4ed8}
@media(max-width:520px){#zl-chat .zc-launch{width:50px;height:50px;min-height:50px;padding:0;justify-content:center}#zl-chat .zc-launch>span{display:none}}

#zl-chat .zc-launch{background:linear-gradient(120deg,#2563eb,#216bd5);border-color:#67a1f4;box-shadow:0 8px 26px #2563eb35}
#zl-chat .zc-launch:hover{box-shadow:0 12px 30px #2563eb45}
#zl-chat .zc-panel{border-color:#cbdef7;box-shadow:0 24px 80px #173e7929}
#zl-chat .zc-header{background:linear-gradient(115deg,#eef5ff,#f1fcf8);border-bottom-color:#d9e7f6}
#zl-chat .zc-avatar{color:white;background:linear-gradient(135deg,#2563eb,#128d9d);border:0}
#zl-chat .zc-scroll{background:#f6f9ff}
#zl-chat .zc-message>div{background:white;border-color:#dce7f5}
#zl-chat .zc-message.is-user>div{background:#e9f2ff;color:#214d86;border-color:#caddfa}
#zl-chat .zc-status{background:#edf5ff;color:#4b6689}
#zl-chat .zc-send{background:#2563eb;box-shadow:0 3px 8px #2563eb24}
#zl-chat .zc-send:hover:not(:disabled){background:#1d4ed8}

#zl-chat .zc-contact-bar { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; flex-wrap:wrap; gap:6px 10px; padding:10px 18px; background:#eff9ff; border-bottom:1px solid #dceef6; }
#zl-chat .zc-contact-bar>span { color:#517385; font-size:11px; }
#zl-chat .zc-telegram-link { display:inline-flex; align-items:center; gap:6px; padding:5px 0; color:#117ea9; font-size:12px; font-weight:600; text-decoration:none; }
#zl-chat .zc-telegram-link svg { width:17px; height:17px; }
#zl-chat .zc-telegram-link:hover { color:#075c80; }

/* Desktop offers direct choices; mobile uses one launcher with Telegram inside. */
#zl-chat .zc-dock { position:fixed; right:24px; bottom:calc(24px + env(safe-area-inset-bottom)); display:flex; align-items:center; gap:5px; padding:5px; max-width:calc(100vw - 24px); background:#ffffff; border:1px solid #cde3f4; border-radius:18px; box-shadow:0 8px 30px #173e7924; }
#zl-chat[data-open="true"] .zc-dock { display:none; }
#zl-chat .zc-dock .zc-launch, #zl-chat .zc-telegram-direct { position:relative; inset:auto; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; height:auto; width:auto; padding:10px 15px; white-space:nowrap; border-radius:13px; font-size:13px; font-weight:600; text-decoration:none; box-shadow:none; transition:background .18s ease, color .18s ease; }
#zl-chat .zc-dock .zc-launch { color:#2458a3; background:#f0f5ff; border:1px solid transparent; }
#zl-chat .zc-dock .zc-launch:hover { background:#e3edff; transform:none; box-shadow:none; }
#zl-chat .zc-telegram-direct { color:#ffffff; background:#0783b4; border:1px solid #0783b4; }
#zl-chat .zc-telegram-direct:hover { background:#066c95; border-color:#066c95; }
#zl-chat .zc-dock svg { width:20px; height:20px; flex-shrink:0; }
#zl-chat .zc-dock .zc-launch>span { display:inline; }
#zl-chat .zc-external { font-size:12px; opacity:.9; }
@media(min-width:521px) { #zl-chat .zc-panel { bottom:24px; height:min(650px,calc(100dvh - 48px)); } }
@media(max-width:520px) {
  #zl-chat .zc-dock { right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); padding:0; border:0; border-radius:50%; }
  #zl-chat .zc-dock .zc-telegram-direct { display:none; }
  #zl-chat .zc-dock .zc-launch { width:48px; height:48px; min-height:48px; padding:0; border-radius:50%; background:#2563eb; color:#fff; box-shadow:0 6px 20px #2563eb30; }
  #zl-chat .zc-dock .zc-launch>span { display:none; }
  #zl-chat .zc-contact-bar { padding:12px 18px; }
  #zl-chat .zc-telegram-link { min-height:40px; }
  body { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) { #zl-chat .zc-dock a, #zl-chat .zc-dock button { transition:none; } }
@media(max-height:500px) {
  #zl-chat .zc-panel { top:8px; bottom:8px; height:calc(100dvh - 16px); min-height:0; }
  #zl-chat .zc-header { padding:8px 14px; }
  #zl-chat .zc-avatar { width:32px; height:32px; border-radius:10px; font-size:17px; }
  #zl-chat .zc-header p { display:none; }
  #zl-chat .zc-nav { padding:4px 10px; }
  #zl-chat .zc-nav button { padding:4px 9px; }
  #zl-chat .zc-contact-bar { padding:3px 14px; }
  #zl-chat .zc-scroll { padding:10px 14px; }
  #zl-chat .zc-status { min-height:0; padding:4px 14px; }
  #zl-chat .zc-compose { margin:6px 10px 4px; padding:7px 10px; }
  #zl-chat textarea { height:34px; min-height:34px; }
  #zl-chat .zc-compose-bottom { margin-top:3px; }
  #zl-chat .zc-footer { padding:2px 10px 6px; }
}
