/* TGL Building — website assistant widget. Uses site.css tokens: --brass --brass-deep --plaster --white --line --ink --text-mid --ui --body */
#tgl-chat-launch{position:fixed;right:18px;bottom:18px;z-index:220;width:56px;height:56px;border-radius:50%;background:var(--brass,#3B5B4B);color:#fff;border:none;cursor:pointer;box-shadow:0 12px 30px rgba(35,35,32,.28);display:grid;place-items:center;transition:transform .15s ease,box-shadow .15s ease}
#tgl-chat-launch:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(35,35,32,.34)}
#tgl-chat-launch.tc-pulse{animation:tcpulse 1.6s ease 2}
@keyframes tcpulse{0%,100%{transform:none}30%{transform:translateY(-7px)}55%{transform:none}}
#tgl-chat-launch svg{width:26px;height:26px;display:block}
#tgl-chat-launch .ic-close{display:none}
#tgl-chat-launch.open .ic-chat{display:none}
#tgl-chat-launch.open .ic-close{display:block}
/* the back-to-top button shares the corner: lift it above the launcher */
.to-top{bottom:88px !important}

#tgl-chat-hint{position:fixed;right:84px;bottom:28px;z-index:219;background:var(--white,#fff);border:1px solid var(--line,#E1DED6);border-radius:10px;padding:9px 13px;font:500 14px/1.35 var(--ui,"Poppins",sans-serif);color:var(--ink,#232320);box-shadow:0 10px 26px rgba(35,35,32,.14);opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;white-space:nowrap}
#tgl-chat-hint.show{opacity:1;transform:none}

#tgl-chat{position:fixed;right:18px;bottom:86px;z-index:230;padding:0;margin:0;width:min(392px,calc(100vw - 24px));height:min(78vh,620px);background:var(--plaster,#F4F2ED);border:1px solid var(--line,#E1DED6);border-radius:14px;box-shadow:0 30px 80px rgba(35,35,32,.3);display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(14px) scale(.98);transition:opacity .18s ease,transform .18s ease;font-family:var(--body,"Source Sans 3",sans-serif);color:var(--ink,#232320)}
#tgl-chat.open{opacity:1;pointer-events:auto;transform:none}
.site[lang="zh-Hans"] #tgl-chat,.site[lang="zh-Hans"] #tgl-chat-hint{font-family:var(--zh,"Noto Sans SC",sans-serif)}

.tc-head{background:var(--brass,#3B5B4B);color:#fff;padding:12px 14px 12px 16px;display:flex;align-items:center;gap:11px;flex:none}
.tc-head .dot{width:8px;height:8px;border-radius:50%;background:#9DBBA7;flex:none;box-shadow:0 0 0 3px rgba(157,187,167,.35)}
.tc-head b{font:600 15px/1.2 var(--ui,"Poppins",sans-serif)}
.tc-head small{display:block;font-size:12px;opacity:.85;margin-top:2px}
.tc-head button{margin-left:auto;background:none;border:none;color:#fff;cursor:pointer;font-size:22px;line-height:1;padding:2px 8px;border-radius:7px;opacity:.9}
.tc-head button:hover{background:rgba(255,255,255,.15)}

.tc-msgs{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;overscroll-behavior:contain}
.tc-m{max-width:88%;padding:10px 13px;border-radius:12px;font-size:15px;line-height:1.5;white-space:pre-wrap;overflow-wrap:break-word}
.tc-m.user{align-self:flex-end;background:var(--brass,#3B5B4B);color:#fff;border-bottom-right-radius:4px}
.tc-m.bot{align-self:flex-start;background:var(--white,#fff);border:1px solid var(--line,#E1DED6);color:var(--ink,#232320);border-bottom-left-radius:4px}
.tc-m.bot a{color:var(--brass-deep,#2E4A3C);font-weight:600}
.tc-m.err{border-left:3px solid #B3261E}

.tc-typing{display:inline-flex;gap:5px;align-items:center;padding:13px 16px}
.tc-typing i{width:6px;height:6px;border-radius:50%;background:#B9B6AD;animation:tcb 1.1s infinite}
.tc-typing i:nth-child(2){animation-delay:.18s}
.tc-typing i:nth-child(3){animation-delay:.36s}
@keyframes tcb{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}

.tc-chips{display:flex;flex-wrap:wrap;gap:7px;padding:2px 14px 10px;flex:none}
.tc-chips button{background:var(--white,#fff);border:1px solid var(--line,#E1DED6);border-radius:999px;padding:7px 12px;font:500 13px/1 var(--ui,"Poppins",sans-serif);color:var(--ink,#232320);cursor:pointer}
.site[lang="zh-Hans"] .tc-chips button{font-family:var(--zh,"Noto Sans SC",sans-serif)}
.tc-chips button:hover{border-color:var(--brass,#3B5B4B);color:var(--brass-deep,#2E4A3C)}

.tc-lead{width:88%}
.tc-lead b{font:600 15px/1.3 var(--ui,"Poppins",sans-serif);display:block;margin-bottom:8px}
.tc-lead input{width:100%;border:1px solid var(--line,#E1DED6);border-radius:8px;padding:9px 11px;font:400 15px/1.3 inherit;font-family:inherit;margin-bottom:7px;background:var(--plaster,#F4F2ED);color:var(--ink,#232320)}
.tc-lead input:focus{outline:2px solid var(--brass,#3B5B4B);outline-offset:0;border-color:var(--brass,#3B5B4B)}
.tc-lead .tc-go{width:100%;background:var(--brass,#3B5B4B);color:#fff;border:none;border-radius:8px;padding:11px;font:500 15px/1 var(--ui,"Poppins",sans-serif);cursor:pointer}
.tc-lead .tc-go:hover{background:var(--brass-deep,#2E4A3C)}
.tc-lead .tc-go:disabled{opacity:.55;cursor:default}
.tc-lead .tc-err-t{color:#B3261E;font-size:13px;margin-top:6px;display:none}
.tc-lead .tc-err-t a{color:var(--brass-deep,#2E4A3C);font-weight:600}

.tc-foot{border-top:1px solid var(--line,#E1DED6);background:var(--white,#fff);padding:10px 10px 6px;flex:none}
.tc-row{display:flex;gap:8px;align-items:flex-end}
.tc-input{flex:1;resize:none;border:1px solid var(--line,#E1DED6);border-radius:10px;padding:10px 12px;font:400 15px/1.4 inherit;font-family:inherit;color:var(--ink,#232320);background:var(--plaster,#F4F2ED);max-height:110px;min-height:42px}
.tc-input:focus{outline:2px solid var(--brass,#3B5B4B);outline-offset:0;border-color:var(--brass,#3B5B4B)}
.tc-send{flex:none;width:42px;height:42px;border-radius:10px;border:none;cursor:pointer;background:var(--brass,#3B5B4B);color:#fff;display:grid;place-items:center}
.tc-send:hover{background:var(--brass-deep,#2E4A3C)}
.tc-send:disabled{opacity:.5;cursor:default}
.tc-send svg{width:18px;height:18px}
.tc-tools{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 4px 2px}
.tc-cb{background:none;border:none;color:var(--brass-deep,#2E4A3C);font:600 13px/1 var(--ui,"Poppins",sans-serif);cursor:pointer;padding:4px;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.site[lang="zh-Hans"] .tc-cb{font-family:var(--zh,"Noto Sans SC",sans-serif)}
.tc-note{font-size:11px;color:var(--text-mid,#66645C);text-align:right}

@media (max-width:480px){
  #tgl-chat{right:8px;left:8px;bottom:82px;width:auto;height:min(78dvh,calc(100dvh - 100px))}
  #tgl-chat-hint{display:none}
}
@media (prefers-reduced-motion:reduce){
  #tgl-chat,#tgl-chat-launch,#tgl-chat-hint{transition:none}
  .tc-typing i{animation:none}
}
@media print{#tgl-chat,#tgl-chat-launch,#tgl-chat-hint{display:none}}
