/* AI 技术顾问 · 全站浮动小组件（右下角）
   收起：品牌样式胶囊（小黄「+」+ 鼠尾草光晕）；展开：约 380×560 的面板；手机上为全屏抽屉。
   令牌沿用 site.css；面板头部为「科技时刻」深青。 */

.adv-fab{position:fixed;right:24px;bottom:24px;z-index:70;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px 0 16px;border-radius:var(--r-pill);background:var(--btn-bg);color:var(--btn-ink);font-size:14px;font-weight:500;letter-spacing:.02em;box-shadow:0 10px 28px rgba(8,41,68,.22),0 0 0 6px rgba(126,193,160,.18);transition:transform .25s ease,box-shadow .25s ease,background .2s,opacity .25s}
.adv-fab .plus{margin:0;font-size:20px;line-height:1;color:var(--plus)}
.adv-fab:hover{background:var(--btn-hover);box-shadow:0 12px 32px rgba(8,41,68,.26),0 0 0 8px rgba(126,193,160,.22)}
.adv-fab::after{content:"";position:absolute;inset:-6px;border-radius:inherit;box-shadow:0 0 0 0 rgba(126,193,160,.45);animation:advPulse 3s ease-out infinite;pointer-events:none}
@keyframes advPulse{0%{box-shadow:0 0 0 0 rgba(126,193,160,.45)}70%{box-shadow:0 0 0 14px rgba(126,193,160,0)}100%{box-shadow:0 0 0 14px rgba(126,193,160,0)}}
.adv-fab[aria-expanded="true"]{opacity:0;pointer-events:none;transform:translateY(8px)}
/* 页脚底栏进入视口时上提，避免压住备案 / 页脚链接；演示模式下让位给底部 HUD */
body.adv-dock .adv-fab{transform:translateY(-56px)}
body.adv-dock .adv-fab[aria-expanded="true"]{transform:translateY(8px)}
body.demo .adv-fab,body.demo .adv-panel{display:none}

.adv-panel{position:fixed;right:24px;bottom:24px;z-index:71;width:380px;height:min(560px,calc(100vh - 48px));display:flex;flex-direction:column;background:var(--bg);color:var(--ink);border:1px solid var(--line-14);border-radius:12px;box-shadow:0 30px 80px rgba(8,41,68,.28),0 0 0 1px rgba(126,193,160,.15);overflow:hidden;transform-origin:100% 100%;transition:opacity .25s ease,transform .3s cubic-bezier(.2,.7,.2,1)}
.adv-panel[hidden]{display:none}
.adv-panel.closing{opacity:0;transform:translateY(12px) scale(.98)}
.adv-panel.opening{animation:advIn .3s cubic-bezier(.2,.7,.2,1)}
@keyframes advIn{from{opacity:0;transform:translateY(12px) scale(.98)}}
.adv-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 14px 18px;background:linear-gradient(160deg,#0E2B27,#143A34);color:#E6F1EC;border-bottom:1px solid rgba(126,193,160,.25)}
.adv-head .who{display:flex;align-items:center;gap:10px;font-size:15px;color:#FFFFFF}
.adv-head .who i{width:30px;height:30px;border-radius:50%;border:1px solid #7EC1A0;display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px rgba(126,193,160,.35)}
.adv-head .who small{display:block;font-size:11px;color:#B4CBC2;letter-spacing:.04em}
.adv-x{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#E6F1EC;border:1px solid rgba(230,241,236,.2);transition:border-color .2s,background .2s}
.adv-x:hover{border-color:#A8F0CC;background:rgba(126,193,160,.14)}
.adv-x:focus-visible{outline-color:#A8F0CC}
.adv-log{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth;overscroll-behavior:contain}
.msg{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.msg.q{align-items:flex-end}
.msg .bub{max-width:88%;padding:12px 16px;background:var(--bg-card);border:1px solid var(--line-08);border-radius:2px 14px 14px 14px;font-size:14px;line-height:1.8;color:var(--ink)}
.msg.q .bub{max-width:80%;padding:10px 14px;background:var(--solid);color:var(--solid-ink);border:0;border-radius:14px 14px 2px 14px;line-height:1.7}
.msg .src{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.msg .src>span{font-size:12px;color:var(--ink-5)}
.src a{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--accent-link);padding:4px 10px;border:1px solid rgba(79,156,123,.5);border-radius:var(--r)}
.src a:hover{background:rgba(126,193,160,.15)}
.src a b{font-family:var(--serif);font-weight:400}
.typing{display:inline-flex;gap:4px;padding:4px 0}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-5);animation:blink 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,100%{opacity:.25}50%{opacity:1}}
.adv-chips{display:flex;gap:8px;padding:0 16px 10px;overflow-x:auto;scrollbar-width:none;flex:none}
.adv-chips::-webkit-scrollbar{display:none}
.qchip{flex:none;min-height:40px;padding:0 14px;border:1px solid var(--line-20);border-radius:var(--r-pill);color:var(--ink);font-size:13px;text-align:left;white-space:nowrap;transition:border-color .2s,color .2s,background .2s}
.qchip:hover{border-color:var(--accent-text);color:var(--accent-link);background:rgba(126,193,160,.1)}
.adv-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line-10);background:var(--bg-panel)}
.adv-form .in{flex:1;min-height:48px}
.adv-form .send{width:48px;min-height:48px;background:var(--btn-bg);border-radius:var(--r);color:var(--btn-ink);display:flex;align-items:center;justify-content:center;flex:none;transition:background .2s}
.adv-form .send:hover{background:var(--btn-hover)}
.adv-fine{font-size:11px;color:var(--ink-5);padding:0 14px 10px;background:var(--bg-panel);text-align:center;line-height:1.5}

/* 联系页：指向小组件的入口 */
.adv-point{max-width:var(--max);margin:0 auto;padding:0 var(--pad) 112px}
.adv-point .box{border:1px solid var(--line-12);background:var(--bg-deep);padding:36px 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.adv-point .copy{display:flex;flex-direction:column;gap:10px;max-width:640px}
.adv-point h2{font-size:26px}
.adv-point p{font-size:15px;color:var(--ink-3);line-height:1.8}

@media (max-width:640px){
  .adv-fab{right:14px;bottom:14px;min-height:48px;padding:0 16px 0 14px;font-size:13px}
  .adv-panel{inset:0;width:auto;height:auto;border-radius:0;border:0;padding-top:env(safe-area-inset-top)}
  .adv-form{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .adv-point .box{padding:28px 24px}
}
@media (prefers-reduced-motion:reduce){
  .adv-fab::after{animation:none}
  .adv-panel.opening{animation:none}
  .adv-panel,.adv-fab{transition:none}
}
