/* 站内即时提问 —— 悬浮入口 + 抽屉面板。样式跟站点主体保持一致（同一套配色/字体） */
#ask-fab{position:fixed;right:18px;bottom:18px;z-index:1000;
  width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;
  background:#2563eb;color:#fff;font-size:14px;line-height:1.15;font-weight:600;
  box-shadow:0 4px 14px rgba(0,0,0,.25);}
#ask-fab:hover{background:#1d4ed8;}
/* 未登录红点：告诉用户"右下角这里有东西" */
#ask-fab-dot{position:absolute;top:-2px;right:-2px;width:13px;height:13px;
  border-radius:50%;background:#ef4444;border:2px solid #fff;display:none;}
/* 首次访问引导气泡：只弹一次（localStorage 标记），指向浮钮 */
#ask-fab-tip{position:fixed;right:86px;bottom:22px;z-index:1000;max-width:min(280px,72vw);
  background:#111827;color:#fff;border-radius:10px;padding:11px 14px;
  font-size:13.5px;line-height:1.6;box-shadow:0 6px 20px rgba(0,0,0,.3);
  display:flex;align-items:flex-start;gap:8px;cursor:pointer;
  opacity:0;transform:translateX(8px);transition:opacity .25s,transform .25s;
  pointer-events:none;}
#ask-fab-tip.show{opacity:1;transform:translateX(0);pointer-events:auto;}
#ask-fab-tip small{color:#cbd5e1;font-size:12px;}
#ask-fab-tip b{color:#93c5fd;}
#ask-fab-tip button{flex:0 0 auto;border:none;background:none;color:#9ca3af;
  font-size:17px;line-height:1;cursor:pointer;padding:0 0 0 4px;}
@media (max-width:520px){
  /* 窄屏放不下浮钮左边，改成浮钮正上方 */
  #ask-fab-tip{right:12px;bottom:74px;max-width:calc(100vw - 24px);}
}
#ask-mask{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:1001;display:none;}
#ask-panel{position:fixed;right:0;top:0;bottom:0;width:min(460px,100%);z-index:1002;
  background:#fff;display:none;flex-direction:column;box-shadow:-2px 0 16px rgba(0,0,0,.2);}
#ask-panel.open,#ask-mask.open{display:flex;}
#ask-panel header{display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;border-bottom:1px solid #e5e7eb;font-weight:600;}
#ask-close{border:none;background:none;font-size:22px;cursor:pointer;color:#666;}
#ask-ctx{padding:6px 14px;font-size:12px;color:#6b7280;border-bottom:1px solid #f1f5f9;}
#ask-body{flex:1;overflow-y:auto;padding:14px;font-size:15px;line-height:1.75;}
#ask-body .ask-q{background:#eff6ff;border-left:3px solid #2563eb;padding:8px 10px;margin:0 0 12px;border-radius:4px;}
#ask-body .ask-a{margin-bottom:18px;}
#ask-body .ask-a table{border-collapse:collapse;}
#ask-body .ask-a td,#ask-body .ask-a th{border:1px solid #ddd;padding:4px 8px;}
#ask-body pre{background:#f6f8fa;padding:8px;overflow-x:auto;border-radius:4px;}
#ask-body .ask-src{font-size:12.5px;color:#555;border-top:1px dashed #ddd;padding-top:8px;margin-top:8px;}
#ask-body .ask-src a{color:#2563eb;text-decoration:none;}
#ask-body .ask-src a:hover{text-decoration:underline;}
#ask-body .ask-mode{display:inline-block;font-size:11px;padding:1px 6px;border-radius:10px;
  background:#dcfce7;color:#166534;margin-left:6px;}
#ask-body .ask-mode.retr{background:#fef3c7;color:#92400e;}
#ask-form{border-top:1px solid #e5e7eb;padding:10px;display:flex;gap:8px;}
#ask-input{flex:1;resize:none;height:60px;padding:8px;font:inherit;font-size:14px;
  border:1px solid #d1d5db;border-radius:6px;}
#ask-send{padding:0 16px;border:none;border-radius:6px;background:#2563eb;color:#fff;
  font-weight:600;cursor:pointer;}
#ask-send:disabled{background:#9ca3af;cursor:default;}
#ask-tips{padding:0 14px 10px;font-size:12px;color:#6b7280;}
#ask-tips span{display:inline-block;background:#f1f5f9;border-radius:12px;
  padding:3px 9px;margin:3px 4px 0 0;cursor:pointer;}
@media (max-width:520px){
  #ask-fab{width:50px;height:50px;font-size:13px;right:12px;bottom:12px;}
  #ask-panel{width:100%;}
}

/* ---- 账号 / 历史会话（第二版加入） ---- */
#ask-panel header .ask-hd-btns{display:flex;align-items:center;gap:6px;}
#ask-panel header .ask-hd-btns button{border:1px solid #d1d5db;background:#fff;color:#374151;
  font-size:12px;padding:3px 8px;border-radius:12px;cursor:pointer;font-weight:500;}
#ask-panel header .ask-hd-btns button:hover{background:#f3f4f6;}
#ask-panel header #ask-close{border:none;font-size:22px;padding:0 2px;color:#666;}
#ask-login{display:none;padding:14px;border-bottom:1px solid #f1f5f9;}
#ask-login p{margin:0 0 8px;font-size:13.5px;color:#6b7280;}
#ask-login-form{display:flex;gap:8px;}
#ask-pw{flex:1;padding:7px 9px;font:inherit;font-size:14px;border:1px solid #d1d5db;border-radius:6px;}
#ask-login-form button{padding:0 14px;border:none;border-radius:6px;background:#2563eb;color:#fff;
  font-weight:600;cursor:pointer;}
#ask-login-msg{font-size:12.5px;color:#b91c1c;margin-top:6px;min-height:16px;}
#ask-sessions{display:none;max-height:45%;overflow-y:auto;border-bottom:1px solid #e5e7eb;
  background:#fafafa;}
.ask-sess-h{display:flex;justify-content:space-between;align-items:center;
  padding:8px 14px;font-size:12px;color:#6b7280;background:#f1f5f9;}
.ask-sess-h button{border:1px solid #d1d5db;background:#fff;font-size:11px;
  padding:2px 8px;border-radius:10px;cursor:pointer;}
.ask-sess{padding:8px 14px;border-bottom:1px solid #eee;cursor:pointer;}
.ask-sess:hover{background:#eff6ff;}
.ask-sess .t{font-size:13.5px;color:#111827;}
.ask-sess .m{font-size:11.5px;color:#9ca3af;margin-top:2px;}

/* ---- 记忆 / 学习画像 / 历史出处 / 加载动画（第三版加入） ---- */
#ask-memory{display:none;max-height:60%;overflow-y:auto;border-bottom:1px solid #e5e7eb;
  background:#fafafa;}
.ask-mem-load,.ask-mem-empty{padding:12px 14px;font-size:13px;color:#6b7280;}
.ask-prof{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px;}
.ask-prof .pf{flex:1;min-width:64px;background:#fff;border:1px solid #e5e7eb;
  border-radius:8px;padding:6px 8px;text-align:center;}
.ask-prof .pf b{display:block;font-size:17px;color:#111827;}
.ask-prof .pf span{font-size:11px;color:#9ca3af;}
.ask-topics{padding:4px 14px 10px;}
.ask-topics .th{font-size:12px;color:#6b7280;margin-bottom:5px;}
.ask-topics .tp{display:inline-block;background:#fff7ed;border:1px solid #fed7aa;
  color:#9a3412;border-radius:12px;padding:2px 9px;margin:3px 4px 0 0;font-size:12.5px;}
.ask-topics .tp i{font-style:normal;color:#c2410c;font-weight:700;}
.ask-mem-g{padding:2px 14px 8px;}
.ask-mem-g .gh{font-size:12px;color:#6b7280;margin:6px 0 4px;font-weight:600;}
.ask-mem{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e5e7eb;
  border-radius:7px;padding:6px 9px;margin-bottom:5px;}
.ask-mem .c{flex:1;font-size:13.5px;color:#111827;}
.ask-mem .d{font-size:11px;color:#c0c4cc;white-space:nowrap;}
.ask-mem .mem-del{border:1px solid #fecaca;background:#fff;color:#b91c1c;font-size:11px;
  border-radius:10px;padding:2px 8px;cursor:pointer;}
.ask-mem .mem-del:hover{background:#fef2f2;}
#ask-body .ask-src.hist{border-top:1px dashed #fed7aa;color:#9a3412;}
#ask-body .ask-src.hist a{color:#c2410c;}
.ask-loading .dots i{display:inline-block;width:6px;height:6px;border-radius:50%;
  background:#93c5fd;margin-right:3px;animation:askb 1s infinite ease-in-out;}
.ask-loading .dots i:nth-child(2){animation-delay:.15s;}
.ask-loading .dots i:nth-child(3){animation-delay:.3s;}
.ask-loading .lt{font-size:13.5px;color:#6b7280;margin-left:6px;}
@keyframes askb{0%,80%,100%{opacity:.3;transform:translateY(0);}40%{opacity:1;transform:translateY(-3px);}}
@media (max-width:520px){
  #ask-panel header .ask-hd-btns button{padding:3px 6px;font-size:11px;}
  #ask-panel header span:first-child{font-size:13px;}
  #ask-memory,#ask-sessions{max-height:55%;}
}
#ask-panel header{flex-wrap:wrap;gap:6px;}

/* ---- 知识点串联（知识地图）---- */
#ask-relate{display:none;max-height:70%;overflow-y:auto;border-bottom:1px solid #e5e7eb;
  background:#fafafa;}
#rel-form{display:flex;gap:8px;padding:10px 14px;}
#rel-q{flex:1;font:inherit;font-size:14px;padding:7px 9px;border:1px solid #d1d5db;border-radius:6px;}
#rel-form button{padding:0 14px;border:none;border-radius:6px;background:#2563eb;color:#fff;
  font-weight:600;cursor:pointer;}
.rel-head{padding:4px 14px 0;font-size:16px;}
.rel-head .cat{font-size:11.5px;color:#9ca3af;margin-left:8px;}
.rel-sum{padding:2px 14px 8px;font-size:13.5px;color:#374151;}
.rel-path{margin:0 14px 10px;padding:8px 10px;background:#eff6ff;border-radius:8px;
  font-size:13px;color:#1e3a8a;}
.rel-sec{padding:0 14px 8px;}
.rel-sec .rs-h{font-size:12px;color:#6b7280;font-weight:600;margin:8px 0 4px;}
.rel-item{background:#fff;border:1px solid #e5e7eb;border-radius:7px;padding:6px 9px;
  margin-bottom:5px;cursor:pointer;font-size:13px;}
.rel-item:hover{border-color:#93c5fd;background:#f8fbff;}
.rel-item .rn{font-weight:600;color:#111827;}
.rel-item .rnote{color:#4b5563;margin-left:6px;}
.rel-item .inf,.rel-item .bk{display:inline-block;font-size:10.5px;border-radius:8px;
  padding:0 6px;margin-left:5px;}
.rel-item .inf{background:#fef3c7;color:#92400e;}
.rel-item .bk{background:#ede9fe;color:#5b21b6;}
.rel-docs{font-size:13px;}
.rel-docs .rdc{font-size:11.5px;color:#9ca3af;margin:6px 0 2px;}
.rel-docs .rd{padding:2px 0;}
.rel-docs .rd a{color:#2563eb;text-decoration:none;}
.rel-docs .rd i{font-style:normal;color:#c0c4cc;font-size:11px;margin-left:6px;}
#ask-body .ask-src.rel{border-top:1px dashed #ddd6fe;color:#5b21b6;}
#ask-body .ask-src.rel a{color:#6d28d9;}
.ask-cchips{margin-top:10px;}
.ask-cchips .lb{font-size:12px;color:#9ca3af;}
.ask-cchips .cc{display:inline-block;background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;
  border-radius:12px;padding:2px 9px;margin:3px 4px 0 0;font-size:12.5px;cursor:pointer;}
.ask-cchips .cc:hover{background:#e0e7ff;}
