/* On-demand customer assistant, shared by homepage and download page. */
.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:9px;min-height:46px;padding:12px 17px;border:1px solid #dce5d5;border-radius:25px;background:#fff;color:#34573e;box-shadow:0 6px 24px #263c251a;font-family:var(--nav-font);font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}
.chat-launcher:hover{transform:translateY(-2px);box-shadow:0 9px 27px #263c2525}
.chat-launcher svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.chat-panel{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;flex-direction:column;width:380px;height:600px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);overflow:hidden;border:1px solid #d9dfd3;border-radius:18px;background:#fff;box-shadow:0 16px 60px #20382324,0 3px 14px #2038230c;animation:chat-enter .22s cubic-bezier(.16,1,.3,1)}
.chat-panel[hidden],.chat-launcher[hidden]{display:none}
.chat-panel-header{display:flex;align-items:center;gap:10px;min-height:60px;padding:12px 13px 12px 17px;border-bottom:1px solid #e9ede4;background:#fff;flex:none}
.chat-panel-header>img{width:23px;height:28px;object-fit:contain;flex:none}
.chat-panel-header>div{min-width:0;flex:1}
.chat-panel-header h2{font-family:var(--nav-font);font-size:13px;font-weight:650;line-height:1.5;color:#2b3a2d}
.chat-panel-header p{font-size:10px;line-height:1.5;color:#a1aa99;margin-top:2px}
.chat-close,.chat-external{display:grid;place-items:center;width:29px;height:30px;padding:0;border:0;border-radius:6px;background:transparent;color:#7c8973;cursor:pointer;flex:none}
.chat-close{color:#35432f}.chat-close:hover,.chat-external:hover{background:#f0f5e9;color:#258a55}
.chat-close svg,.chat-external svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* The cross-origin chatbot owns its toolbar. Cover only its 24px corner control.
   Recheck this 32px mask if the upstream chatbot changes its toolbar layout. */
.chat-panel-body{position:relative;flex:1;min-height:0;background:#fff}
.chat-panel-body::after{content:"";position:absolute;z-index:1;top:12px;right:12px;width:32px;height:32px;background:#fff;pointer-events:auto}
.chat-panel-frame{display:block;width:100%;height:100%;border:0;background:#fff}
@keyframes chat-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:640px){.chat-launcher{right:16px;bottom:max(16px,env(safe-area-inset-bottom));font-size:12px;min-height:44px;padding:10px 15px}.chat-panel{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:min(380px,calc(100vw - 24px));max-width:calc(100% - 24px);height:600px;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));border-radius:16px}.chat-panel-header{padding-left:14px;gap:8px}}
@media(prefers-reduced-motion:reduce){.chat-panel{animation:none}.chat-launcher{transition:none}}
@media print{.chat-panel,.chat-launcher{display:none}}
