/* ============================================================================
 * 欢迎页 + 全局微交互
 * 动画只用 transform / opacity —— 这两个属性走合成层，不触发重排，
 * 在低配机器上也不会掉帧。用 width/top/left 做动画是卡顿的主要来源。
 * ========================================================================== */

/* ---------- 欢迎遮罩 ---------- */
#hzWelcome{
  position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(1200px 700px at 22% 18%, #232838 0%, #12141C 58%, #0C0E14 100%);
  opacity:0; animation:wcFadeIn .5s cubic-bezier(.22,.8,.3,1) forwards;
}
#hzWelcome.leaving{ animation:wcFadeOut .55s cubic-bezier(.5,0,.75,0) forwards; }
@keyframes wcFadeIn{ from{opacity:0} to{opacity:1} }
@keyframes wcFadeOut{ to{opacity:0; transform:scale(1.03)} }

/* 背景缓慢漂浮的光斑，给静态页面一点呼吸感 */
.wc-orb{
  position:absolute; border-radius:50%; filter:blur(70px); opacity:.30; pointer-events:none;
  animation:wcFloat 15s ease-in-out infinite;
}
.wc-orb.a{ width:420px; height:420px; background:#B8862C; top:-90px; left:8%; }
.wc-orb.b{ width:360px; height:360px; background:#1F6F6B; bottom:-110px; right:12%; animation-delay:-5s; }
.wc-orb.c{ width:260px; height:260px; background:#4A5578; top:36%; right:26%; animation-delay:-9s; }
@keyframes wcFloat{
  0%,100%{ transform:translate3d(0,0,0) scale(1) }
  33%{ transform:translate3d(28px,-34px,0) scale(1.09) }
  66%{ transform:translate3d(-22px,22px,0) scale(.94) }
}

.wc-panel{ position:relative; width:700px; max-width:93vw; text-align:center; color:#E8E9ED; padding:0 20px; }

/* 印章：描边先画出来，再落定 */
.wc-seal{
  width:74px; height:74px; margin:0 auto 24px; border-radius:17px;
  background:linear-gradient(140deg,#D3A03C,#9C6F1E);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:35px; font-weight:700; color:#12141C;
  box-shadow:0 14px 40px rgba(184,134,44,.4);
  animation:wcSeal .85s cubic-bezier(.16,1.1,.3,1) both;
}
@keyframes wcSeal{
  0%{ opacity:0; transform:translateY(-26px) rotate(-14deg) scale(.5) }
  60%{ opacity:1; transform:translateY(4px) rotate(3deg) scale(1.07) }
  100%{ opacity:1; transform:translateY(0) rotate(0) scale(1) }
}

.wc-hello{ font-family:var(--font-display); font-size:34px; line-height:1.35; margin:0 0 10px; }
.wc-sub{ font-size:15px; color:#A8AEBC; line-height:1.85; margin-bottom:26px; }
.wc-date{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12.5px;
  color:#7D8494; letter-spacing:.13em; margin-bottom:8px;
}

/* 逐字浮现：比整块淡入更有"正在打招呼"的感觉 */
.wc-char{ display:inline-block; opacity:0; animation:wcChar .5s cubic-bezier(.2,.9,.3,1) both; }
@keyframes wcChar{
  from{ opacity:0; transform:translateY(16px) rotateX(-45deg) }
  to{ opacity:1; transform:translateY(0) rotateX(0) }
}

.wc-fade{ opacity:0; animation:wcUp .6s cubic-bezier(.2,.9,.3,1) both; }
@keyframes wcUp{ from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:translateY(0)} }

/* 节日/生日横幅 */
.wc-banner{
  display:inline-flex; align-items:center; gap:9px; padding:9px 20px; border-radius:30px;
  font-size:13px; margin-bottom:20px; backdrop-filter:blur(8px);
}
.wc-banner.festival{ background:rgba(184,134,44,.17); color:#E8C169; border:1px solid rgba(184,134,44,.34) }
.wc-banner.birthday{ background:rgba(179,38,30,.17); color:#F0A9A3; border:1px solid rgba(179,38,30,.34) }
.wc-banner .ic{ font-size:17px; animation:wcBob 1.9s ease-in-out infinite }
@keyframes wcBob{ 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-5px) rotate(9deg)} }

/* 今日事项卡 */
.wc-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:0 0 26px; }
/* 卡片是按钮：整张卡可点，点了收起欢迎页并切到对应视图。
   字号整体调大一档——这一屏是一闪而过的，小字根本来不及读。 */
.wc-card{
  background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.1); border-radius:13px;
  padding:18px 14px 15px; backdrop-filter:blur(8px); cursor:pointer; font:inherit;
  text-align:center; color:inherit; position:relative;
  transition:transform .22s cubic-bezier(.2,.9,.3,1), background .22s, border-color .22s;
}
.wc-card:hover{ transform:translateY(-4px); background:rgba(255,255,255,.11); border-color:rgba(184,134,44,.5) }
.wc-card .n{ font-size:38px; font-weight:700; font-family:var(--font-display); line-height:1 }
.wc-card .l{ font-size:13px; color:#B4B9C6; margin-top:9px; font-weight:500 }
.wc-card .go{
  font-size:11px; color:#8A8F9C; margin-top:7px; opacity:0; transform:translateY(-3px);
  transition:opacity .2s, transform .2s;
}
.wc-card:hover .go{ opacity:1; transform:translateY(0) }
.wc-card .n.warn{ color:#E0A64B } .wc-card .n.danger{ color:#E08078 } .wc-card .n.ok{ color:#6FBF8E }
/* 有逾期/临期时整张卡带上底色和呼吸描边，让"有事"和"没事"在余光里就能分开 */
.wc-card.alert{ background:rgba(179,38,30,.13); border-color:rgba(224,128,120,.42); animation:wcCardPulse 2.4s ease-in-out infinite }
.wc-card.alert .l{ color:#E9B7B2 }
.wc-card.warn-card{ background:rgba(184,134,44,.12); border-color:rgba(224,166,75,.38) }
.wc-card.warn-card .l{ color:#E3CA9B }
@keyframes wcCardPulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(179,38,30,.34) }
  50%{ box-shadow:0 0 0 9px rgba(179,38,30,0) }
}

/* 外出提醒：待确认的排最前，这是最容易被漏看的一类——
   主管排了班，本人却没点开日历看过。 */
.wc-outing{
  text-align:left; display:flex; flex-direction:column; gap:7px; margin-bottom:16px;
}
.wc-outing-row{
  display:flex; gap:10px; align-items:center; font-size:13.5px; line-height:1.6;
  padding:12px 15px; border-radius:10px; opacity:0; animation:wcSlide .45s cubic-bezier(.2,.9,.3,1) both;
  cursor:pointer; transition:filter .18s;
}
.wc-outing-row:hover{ filter:brightness(1.18) }
.wc-outing-row .ic{ font-size:17px; flex-shrink:0; line-height:1.5 }
.wc-outing-row b{ font-weight:700 }
.wc-outing-row .go{ margin-left:auto; font-size:11.5px; opacity:.75; white-space:nowrap; flex-shrink:0 }
.wc-outing-row.confirm{
  background:rgba(184,134,44,.14); border:1px solid rgba(184,134,44,.3); color:#E8C169;
}
.wc-outing-row.today{
  background:rgba(111,191,142,.12); border:1px solid rgba(111,191,142,.28); color:#9FD4B4;
}

.wc-todo{
  text-align:left; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.09);
  border-radius:12px; padding:14px 12px 12px; margin-bottom:24px; max-height:246px; overflow-y:auto;
}
.wc-todo .t{
  font-size:12px; color:#A5AAB8; letter-spacing:.06em; margin:0 4px 9px; font-weight:600;
  display:flex; align-items:baseline; gap:9px;
}
.wc-todo .t-hint{ font-size:10.5px; color:#6B7280; font-weight:400; letter-spacing:0 }
/* 每条是按钮：点了直接打开那件事。整行可点，命中面积比一个小链接大得多。 */
.wc-todo-row{
  display:flex; gap:10px; align-items:center; font-size:13.5px; padding:9px 10px; color:#D2D6DF;
  width:100%; text-align:left; background:transparent; border:1px solid transparent;
  border-radius:9px; cursor:pointer; font-family:inherit;
  opacity:0; animation:wcSlide .45s cubic-bezier(.2,.9,.3,1) both;
  transition:background .18s, border-color .18s;
}
.wc-todo-row.static{ cursor:default }
.wc-todo-row:not(.static):hover{ background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.14) }
.wc-todo-row .tt{
  flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:500;
}
@keyframes wcSlide{ from{opacity:0; transform:translateX(-14px)} to{opacity:1; transform:translateX(0)} }
.wc-todo-row .dot{ width:7px; height:7px; border-radius:50%; background:#B8862C; flex-shrink:0 }
.wc-todo-row .dot.late{ background:#E05A50; box-shadow:0 0 0 0 rgba(224,90,80,.75); animation:wcPulse 1.9s infinite }
@keyframes wcPulse{ 70%{box-shadow:0 0 0 9px rgba(224,90,80,0)} 100%{box-shadow:0 0 0 0 rgba(224,90,80,0)} }
.wc-todo-row .c{ color:#9096A3; font-size:11.5px; white-space:nowrap; flex-shrink:0 }
.wc-todo-row .late-tag{ color:#E8837B; font-weight:700 }
/* 逾期条目整行带底色：一堆等宽小字里，只靠一个红点区分不出轻重 */
.wc-todo-row.late-row{ background:rgba(179,38,30,.11); border-color:rgba(224,128,120,.24) }
.wc-todo-row.late-row:hover{ background:rgba(179,38,30,.18); border-color:rgba(224,128,120,.42) }
.wc-todo-row .arrow{
  color:#6B7280; font-size:13px; flex-shrink:0; opacity:0; transform:translateX(-4px);
  transition:opacity .18s, transform .18s;
}
.wc-todo-row:not(.static):hover .arrow{ opacity:1; transform:translateX(0) }

.wc-enter{
  border:none; border-radius:9px; background:#E8E9ED; color:#12141C; padding:12px 40px;
  font-size:14px; font-weight:700; cursor:pointer; position:relative; overflow:hidden;
  transition:transform .2s cubic-bezier(.2,.9,.3,1), box-shadow .2s;
}
.wc-enter:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(232,233,237,.24) }
.wc-enter:active{ transform:translateY(0) scale(.98) }
/* 扫光：告诉用户这个按钮是活的 */
.wc-enter::after{
  content:''; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
  transform:skewX(-20deg); animation:wcSheen 2.8s ease-in-out infinite;
}
@keyframes wcSheen{ 0%,62%{left:-120%} 100%{left:150%} }
.wc-skip{
  display:block; margin:15px auto 0; background:none; border:none; color:#6B7280;
  font-size:11px; cursor:pointer; transition:color .2s;
}
.wc-skip:hover{ color:#9AA0AE }

/* ---------- 全局微交互 ---------- */
.nav-item{ transition:background .18s, color .18s, transform .18s cubic-bezier(.2,.9,.3,1) }
.nav-item:hover{ transform:translateX(3px) }
.metric-card,.crm-stat,.kb-card,.crm-card,.dash-card{
  transition:transform .2s cubic-bezier(.2,.9,.3,1), box-shadow .2s, border-color .2s;
}
.metric-card:hover,.crm-stat:hover,.kb-card:hover,.dash-card:hover{
  transform:translateY(-2px); box-shadow:0 8px 22px rgba(18,20,28,.08);
}
.rec-btn,.export-btn,.crm-rowbtn,.crm-tab{ transition:transform .15s, background .15s, color .15s }
.rec-btn:active,.export-btn:active{ transform:scale(.96) }
.crm-tab:hover{ transform:translateY(-1px) }
.crm-cust{ transition:background .18s, border-color .18s, transform .18s }
.crm-cust:hover{ transform:translateX(2px) }

/* 视图切换：新视图淡入上移，避免"啪"地一下换掉 */
.view.active{ animation:viewIn .3s cubic-bezier(.2,.9,.3,1) both }
@keyframes viewIn{ from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:translateY(0)} }

/* 表格行依次浮现 */
.crm-table tbody tr{ animation:rowIn .32s cubic-bezier(.2,.9,.3,1) both }
@keyframes rowIn{ from{opacity:0; transform:translateY(5px)} to{opacity:1; transform:translateY(0)} }
.crm-table tbody tr:nth-child(1){animation-delay:.02s} .crm-table tbody tr:nth-child(2){animation-delay:.05s}
.crm-table tbody tr:nth-child(3){animation-delay:.08s} .crm-table tbody tr:nth-child(4){animation-delay:.11s}
.crm-table tbody tr:nth-child(5){animation-delay:.14s} .crm-table tbody tr:nth-child(6){animation-delay:.17s}

/* 弹窗 */
#crmDialog>div,#delivDialog>div,#adminMask .modal,#crmInfo>div,#delivInfo>div{
  animation:dlgIn .28s cubic-bezier(.16,1.05,.3,1) both;
}
@keyframes dlgIn{ from{opacity:0; transform:translateY(18px) scale(.97)} to{opacity:1; transform:translateY(0) scale(1)} }

/* 思考过程折叠 */
.wire-think-toggle{
  font-size:10.5px; color:var(--muted); cursor:pointer; margin-bottom:6px;
  display:inline-flex; align-items:center; gap:5px; user-select:none;
  border:1px solid var(--line); border-radius:20px; padding:3px 11px; background:#FAFAFA;
  transition:background .16s, color .16s;
}
.wire-think-toggle:hover{ background:#F2F3F3; color:var(--text) }
.wire-think-toggle .caret{ transition:transform .22s cubic-bezier(.2,.9,.3,1); display:inline-block }
.wire-think-toggle.open .caret{ transform:rotate(90deg) }

/* 尊重系统的"减少动态效果"设置 */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; }
}

/* ============================================================================
 * Markdown 渲染样式（回答气泡内）
 * ========================================================================== */
.md-p{ margin:0 0 9px; line-height:1.85 }
.md-p:last-child{ margin-bottom:0 }
.md-h{ margin:14px 0 7px; font-family:var(--font-display); line-height:1.4 }
.md-h.md-h1{ font-size:16px } .md-h.md-h2{ font-size:15px } .md-h.md-h3{ font-size:14px }
.md-h.md-h4,.md-h.md-h5,.md-h.md-h6{ font-size:13px }
.md-h:first-child{ margin-top:0 }
.md-list{ margin:6px 0 10px; padding-left:20px; line-height:1.85 }
.md-list li{ margin:3px 0 }
.md-list .md-list{ margin:3px 0 }
.md-hr{ border:none; border-top:1px solid var(--line); margin:13px 0 }

.md-quote{
  margin:10px 0; padding:9px 14px; border-left:3px solid var(--brass);
  background:#FBF8F1; color:var(--text); font-size:12.5px; line-height:1.85; border-radius:0 6px 6px 0;
}

.md-code{
  font-family:var(--font-mono); font-size:11.5px; background:#F2F3F3;
  padding:1.5px 5px; border-radius:4px; color:var(--brass-ink);
}
.md-pre{
  background:#1A1D28; color:#D7DAE2; border-radius:8px; padding:12px 14px; margin:10px 0;
  overflow-x:auto; font-size:11.5px; line-height:1.7; position:relative;
}
.md-pre code{ font-family:var(--font-mono); background:none; padding:0; color:inherit }
.md-pre[data-lang]::before{
  content:attr(data-lang); position:absolute; top:6px; right:11px;
  font-size:9.5px; color:#6B7280; font-family:var(--font-mono);
}

.md-table-wrap{ overflow-x:auto; margin:10px 0; border:1px solid var(--line); border-radius:8px }
.md-table{ width:100%; border-collapse:collapse; font-size:12px; min-width:340px }
.md-table th{
  background:#F7F8F8; font-weight:600; padding:8px 11px; text-align:left;
  border-bottom:1px solid var(--line); white-space:nowrap; color:var(--text); font-size:11.5px;
}
.md-table td{ padding:8px 11px; border-bottom:1px solid #F0F2F2; line-height:1.7; vertical-align:top }
.md-table tbody tr:last-child td{ border-bottom:none }
.md-table tbody tr:nth-child(even){ background:#FCFCFC }
.md-table tbody tr:hover{ background:#F7F9F9 }

.md-link{ color:var(--teal); text-decoration:none; border-bottom:1px solid rgba(31,111,107,.32) }
.md-link:hover{ border-bottom-color:var(--teal) }

/* 证据角标：从方括号改成圆形上标，视觉更轻 */
.bubble .cite{
  display:inline-flex; align-items:center; justify-content:center; min-width:15px; height:15px;
  padding:0 4px; margin:0 2px; border-radius:8px; background:var(--teal); color:#fff;
  font-size:9.5px; font-family:var(--font-mono); cursor:pointer; vertical-align:2px;
  transition:transform .15s, background .15s;
}
.bubble .cite:hover{ transform:scale(1.18); background:var(--brass) }

/* ============================================================================
 * 提问框：/ 引用客户 + 联网开关
 * ========================================================================== */
.hz-chip{
  display:inline-flex; align-items:center; gap:6px; font-size:11px; padding:3px 9px;
  border-radius:20px; background:#EEF3F2; color:var(--teal); border:1px solid rgba(31,111,107,.24);
  animation:chipIn .25s cubic-bezier(.16,1.05,.3,1) both;
}
@keyframes chipIn{ from{opacity:0;transform:scale(.85)} to{opacity:1;transform:scale(1)} }
.hz-chip .dot{ width:5px;height:5px;border-radius:50%;background:var(--teal) }
.hz-chip .x{ cursor:pointer;color:var(--muted);font-size:13px;line-height:1;margin-left:2px }
.hz-chip .x:hover{ color:var(--danger) }

.hz-toggle{ display:inline-flex; align-items:center; gap:6px; cursor:pointer; font-size:11px; color:var(--muted) }
.hz-toggle input{ display:none }
.hz-track{
  width:30px; height:17px; border-radius:20px; background:var(--line); position:relative;
  transition:background .22s cubic-bezier(.2,.9,.3,1);
}
.hz-thumb{
  position:absolute; top:2px; left:2px; width:13px; height:13px; border-radius:50%;
  background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.22);
  transition:transform .22s cubic-bezier(.2,.9,.3,1);
}
.hz-toggle.on .hz-track{ background:var(--teal) }
.hz-toggle.on .hz-thumb{ transform:translateX(13px) }
.hz-toggle.on .hz-label{ color:var(--teal); font-weight:600 }
.hz-hint{ font-size:10.5px; color:var(--muted-2) }
.hz-hint b{ font-family:var(--font-mono); background:#F2F3F3; padding:1px 5px; border-radius:3px; color:var(--text) }

.hz-newchat{
  font-size:11px; padding:4px 10px; border-radius:20px; border:1px solid var(--line);
  background:#fff; color:var(--muted); cursor:pointer; font-weight:500;
  transition:transform .15s cubic-bezier(.2,.9,.3,1), background .15s, color .15s, border-color .15s;
}
.hz-newchat:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }
.hz-newchat:active{ transform:scale(.94); }

.hz-slash{
  position:fixed; z-index:1200; background:#fff; border:1px solid var(--line); border-radius:10px;
  box-shadow:0 14px 40px rgba(18,20,28,.18); overflow:hidden; max-height:290px; overflow-y:auto;
  animation:slashIn .18s cubic-bezier(.16,1.05,.3,1) both;
}
@keyframes slashIn{ from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.hz-slash-head{
  font-size:10px; color:var(--muted); padding:8px 13px; border-bottom:1px solid var(--line);
  background:#FAFAFA; font-family:var(--font-mono);
}
.hz-slash-row{ padding:8px 13px; cursor:pointer; display:flex; flex-direction:column; gap:2px }
.hz-slash-row.active{ background:#EEF3F2 }
.hz-slash-row .nm{ font-size:12.5px; font-weight:600; color:var(--text) }
.hz-slash-row .mt{ font-size:10px; color:var(--muted); font-family:var(--font-mono) }
.hz-slash-empty{ padding:16px 13px; font-size:12px; color:var(--muted) }

/* ============================================================================
 * 统一弹窗 / 反馈去向 / 相似问题 / 随手记
 * ========================================================================== */
.hz-modal-mask{
  position:fixed; inset:0; background:rgba(18,20,28,.45); z-index:1400;
  display:flex; align-items:center; justify-content:center;
  animation:maskFade .18s ease-out both;
}
@keyframes maskFade{ from{background:rgba(18,20,28,0)} to{background:rgba(18,20,28,.45)} }

/* 右侧详情抽屉（文档详情等）：背景淡入 + 面板从右边滑入，比直接出现更有"从这里展开"的方向感 */
.wire-drawer-mask{
  position:fixed; inset:0; background:rgba(18,20,28,.42); z-index:900;
  animation:maskFade42 .2s ease-out both;
}
@keyframes maskFade42{ from{background:rgba(18,20,28,0)} to{background:rgba(18,20,28,.42)} }
.wire-drawer-body{
  position:absolute; right:0; top:0; bottom:0; width:var(--wire-drawer-width,clamp(620px,56vw,1060px));
  min-width:520px; max-width:calc(100vw - 56px); box-sizing:border-box;
  background:#fff; padding:22px 24px; overflow-y:auto; overflow-x:hidden; box-shadow:-8px 0 30px rgba(0,0,0,.14);
  animation:drawerSlideIn .28s cubic-bezier(.16,1.05,.3,1) both;
}
.wire-drawer-grip{
  position:absolute; left:-8px; top:0; bottom:0; width:16px; cursor:col-resize; touch-action:none; z-index:3;
}
.wire-drawer-grip::after{
  content:""; position:absolute; left:7px; top:42%; width:2px; height:58px; border-radius:4px;
  background:rgba(77,102,116,.28); opacity:0; transition:opacity .16s ease;
}
.wire-drawer-grip:hover::after,.wire-drawer-resizing .wire-drawer-grip::after{opacity:1}
.wire-drawer-resizing{user-select:none!important;cursor:col-resize!important}
@media(max-width:700px){
  .wire-drawer-body{width:100%;min-width:0;max-width:100%;padding:18px 16px}
  .wire-drawer-grip{display:none}
}
@keyframes drawerSlideIn{ from{opacity:0; transform:translateX(28px)} to{opacity:1; transform:translateX(0)} }
.hz-modal{
  background:#fff; border-radius:12px; max-width:94vw; max-height:88vh; overflow-y:auto;
  padding:22px 24px; box-shadow:0 22px 64px rgba(0,0,0,.26);
  animation:dlgIn .26s cubic-bezier(.16,1.05,.3,1) both;
}
.hz-modal h3{ margin:0 0 16px; font-size:15px; font-family:var(--font-display) }
.hz-field{ margin-bottom:13px }
.hz-field2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:13px }
.hz-field label,.hz-field2 label{
  display:block; font-size:10.5px; color:var(--muted); margin-bottom:5px; font-weight:600;
}
.hz-field input,.hz-field select,.hz-field textarea,
.hz-field2 input,.hz-field2 select{
  width:100%; border:1px solid var(--line); border-radius:7px; padding:8px 10px;
  font-size:12.5px; font-family:var(--font-body); background:#fff;
}
.hz-field textarea{ resize:vertical; line-height:1.75 }
.hz-field input:focus,.hz-field textarea:focus,.hz-field select:focus{
  outline:none; border-color:var(--teal);
}
.hz-hint2{ font-size:10px; color:var(--muted-2); margin-top:5px; line-height:1.7 }
.hz-hint2 code{ font-family:var(--font-mono); background:#F2F3F3; padding:1px 4px; border-radius:3px }
.hz-modal-actions{
  display:flex; gap:8px; justify-content:flex-end; margin-top:16px;
  padding-top:13px; border-top:1px solid var(--line);
}

/* 反馈去向提示 */
.hz-feedback-tip{
  margin-top:10px; padding:9px 12px; border-radius:7px; background:#F2F7F5;
  border:1px solid #D8E8E2; font-size:11px; color:var(--text); line-height:1.85;
  animation:wcUp .3s cubic-bezier(.2,.9,.3,1) both;
}
.hz-feedback-tip code{ font-family:var(--font-mono); background:#fff; padding:1px 5px; border-radius:3px }
.hz-feedback-tip a{ color:var(--teal); text-decoration:none; font-weight:600 }

/* 相似历史问答 */
.hz-similar{
  margin-bottom:10px; border:1px dashed var(--line); border-radius:8px; background:#FAFBFB;
  overflow:hidden;
}
.hz-similar-head{
  padding:7px 11px; font-size:11px; color:var(--muted); cursor:pointer;
  display:flex; align-items:center; gap:6px;
}
.hz-similar-head:hover{ background:#F4F6F6 }
.hz-similar-head .caret{ display:inline-block; transition:transform .2s }
.hz-similar-note{ margin-left:auto; font-size:9.5px; color:var(--muted-2) }
.hz-similar-body{ padding:0 11px 9px }
.hz-similar-item{ padding:8px 0; border-top:1px solid #EFF1F1 }
.hz-similar-item .q{ font-size:11.5px; font-weight:600; display:flex; align-items:center; gap:6px }
.hz-similar-item .sim{
  font-size:9.5px; background:#EEF3F2; color:var(--teal); padding:1px 6px; border-radius:10px;
  font-family:var(--font-mono);
}
.hz-similar-item .web{ font-size:9.5px; background:#FDF3E6; color:var(--warn); padding:1px 6px; border-radius:10px }
.hz-similar-item .a{ font-size:11px; color:var(--muted); line-height:1.75; margin-top:4px }
.hz-similar-item .m{ font-size:9.5px; color:var(--muted-2); margin-top:3px; font-family:var(--font-mono) }

/* 检索过程折叠条（与思考过程同款） */
.wire-trace-toggle{
  font-size:10.5px; color:var(--muted); cursor:pointer; margin-bottom:6px; margin-right:6px;
  display:inline-flex; align-items:center; gap:5px; user-select:none;
  border:1px solid var(--line); border-radius:20px; padding:3px 11px; background:#FAFAFA;
  transition:background .16s, color .16s;
}
.wire-trace-toggle:hover{ background:#F2F3F3; color:var(--text) }
.wire-trace-toggle .caret{ transition:transform .22s cubic-bezier(.2,.9,.3,1); display:inline-block }
.wire-trace-toggle.open .caret{ transform:rotate(90deg) }

/* 随手记图片 */
.hz-drop{
  border:1.5px dashed var(--line); border-radius:8px; padding:16px; text-align:center;
  font-size:11.5px; color:var(--muted); cursor:pointer; transition:border-color .18s, background .18s;
}
.hz-drop:hover,.hz-drop.over{ border-color:var(--teal); background:#F5F9F8 }
.hz-imglist{ margin-top:8px }
.hz-imgrow{
  display:flex; align-items:center; gap:8px; font-size:11px; padding:4px 0;
  border-bottom:1px solid #F2F3F3;
}
.hz-imgrow .n{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.hz-imgrow .s{ font-size:10px; font-family:var(--font-mono) }

/* 口径冲突披露 */
.hz-dispute{
  margin-bottom:11px; border:1px solid #F0CDCA; border-radius:8px; background:#FDF6F5;
  overflow:hidden; animation:wcUp .3s cubic-bezier(.2,.9,.3,1) both;
}
.hz-dispute-head{
  padding:8px 12px; font-size:11.5px; font-weight:600; color:var(--danger);
  background:#FBEBE9; border-bottom:1px solid #F0CDCA;
}
.hz-dispute-item{ padding:10px 12px; border-bottom:1px dashed #F0CDCA }
.hz-dispute-item:last-of-type{ border-bottom:none }
.hz-dispute-item .subj{ font-size:11.5px; font-weight:600; margin-bottom:7px }
.hz-dispute-item .pair{ display:grid; grid-template-columns:1fr 1fr; gap:9px }
@media (max-width:900px){ .hz-dispute-item .pair{ grid-template-columns:1fr } }
.hz-dispute-item .one{
  background:#fff; border:1px solid var(--line); border-radius:6px; padding:8px 10px;
  font-size:11.5px; line-height:1.7;
}
.hz-dispute-item .one .tag{
  display:inline-block; font-size:9.5px; background:#F2F3F3; color:var(--muted);
  padding:1px 6px; border-radius:9px; margin-right:5px;
}
.hz-dispute-item .one .src{ font-size:9.5px; color:var(--muted-2); margin-top:4px; font-family:var(--font-mono) }
.hz-dispute-foot{ padding:7px 12px; font-size:10.5px; color:var(--muted); background:#FBEBE9 }

/* ============================================================================
 * 欢迎页：待办 + 今日要闻并排，以及电脑采集提醒
 *
 * 加了要闻之后再往下堆就要滚动了——登录第一屏一旦要滚，下半截就等于不存在。
 * 所以两栏并排，宽度不够时（窄窗口、手机）自动回到上下排。
 * ========================================================================== */
.wc-panel.wide{ width:1000px }
.wc-cols{ display:grid; grid-template-columns:1fr; gap:14px; margin-bottom:24px }
.wc-panel.wide .wc-cols{ grid-template-columns:1fr 1fr }
.wc-cols .wc-todo{ margin-bottom:0; min-width:0 }

/* 要闻条：左边一个类型标签，右边日期，中间标题吃掉剩余宽度 */
.wc-news-row .kind{
  flex-shrink:0; font-size:10px; padding:1px 6px; border-radius:6px; letter-spacing:.02em;
  background:rgba(255,255,255,.08); color:#A5AAB8;
}
.wc-news-row .kind.POLICY{ background:rgba(184,134,44,.20); color:#E3BC6F }
.wc-news-row .kind.RULE{ background:rgba(224,90,80,.16); color:#E8A39C }
.wc-news-row .kind.SYSTEM{ background:rgba(120,140,190,.18); color:#AFBDE0 }
.wc-news-row .must{
  flex-shrink:0; font-size:10px; font-weight:700; padding:1px 6px; border-radius:6px;
  background:rgba(224,90,80,.22); color:#F0A8A1;
}
.wc-news-row .tt{ font-weight:500 }

/* 采集提醒：整条可点，和外出提醒同一套视觉，不另发明一种 */
.wc-agent{
  display:flex; align-items:center; gap:10px; width:100%; margin:0 0 18px;
  padding:11px 14px; border-radius:11px; cursor:pointer; font-family:inherit; font-size:12.5px;
  text-align:left; color:#DCC79B;
  background:rgba(184,134,44,.12); border:1px solid rgba(184,134,44,.28);
  transition:background .18s, border-color .18s;
}
.wc-agent:hover{ background:rgba(184,134,44,.2); border-color:rgba(184,134,44,.5) }
.wc-agent .ic{ font-size:15px; flex-shrink:0 }
.wc-agent span:nth-child(2){ flex:1; min-width:0 }
.wc-agent .go{ flex-shrink:0; color:#B8862C; font-weight:600 }

@media (max-width:980px){
  .wc-panel.wide{ width:700px }
  .wc-panel.wide .wc-cols{ grid-template-columns:1fr }
}
