/* ============================================================
   v8-polish.css — 链金引擎 终极打磨叠加层（2026-09-19）
   原则：只叠加增强，不覆盖既有业务样式；可整文件删除回滚。
   设计 token 来源：统一执行规范 第4节 / 国际对标设计参考
   ============================================================ */

:root{
  --lj-gold:#C9A961;          /* 规范指定金（非 #FFD700） */
  --lj-canvas:#0B1F17;        /* 站A墨绿 canvas */
  --lj-ease:easeOutCubic;
}

/* ---------- 4.1 排版 token：大标题克制粗 + 激进负字距 ---------- */
.hero-title-v58,
.prime-display{
  font-weight:600 !important;          /* 600 而非 700/800 */
  letter-spacing:-0.03em !important;
}
.section-title-v58{ letter-spacing:-0.02em !important; font-weight:600 !important; }
.prime-eyebrow{ letter-spacing:0.08em !important; }   /* 眉题正字距 */

/* ---------- 4.2 金融数字等宽，防 count-up 抖动 ---------- */
.num-tabular,
.stat-num-v58,
.prime-metric-value,
.pricing-price-v58,
.agent-card-v58 div[style*="36px"]{
  font-variant-numeric: tabular-nums !important;
  font-feature-settings:"tnum" 1;
}

/* ---------- C 类 bug：工作台"主动提醒"中文逐字竖排修复 ---------- */
/* 成因：flex 子项 .main 未设 flex:1/min-width:0 被压窄 */
.prime-list-item{ display:flex !important; align-items:flex-start; gap:10px; }
.prime-list-item > .main{ flex:1 1 auto; min-width:0; word-break:break-word; overflow-wrap:anywhere; }
.prime-list-item > span{ flex:0 0 auto; }

/* ---------- 4.x 圆角与 hairline：卡片12 / 按钮8 ---------- */
.agent-card-v58, .prime-card, .prime-glass{ border-radius:12px !important; }
.btn-v58{ border-radius:8px !important; }

/* ---------- 主 CTA 金按钮：细腻质感 + 六态 ---------- */
.btn-v58-primary{
  background:linear-gradient(180deg,#d8b76a 0%,#C9A961 55%,#b4934c 100%) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 8px 22px rgba(201,169,97,.22) !important;
  transition:transform .18s ease, box-shadow .25s ease, filter .2s ease !important;
}
.btn-v58-primary:hover{ transform:translateY(-1px); filter:brightness(1.06); box-shadow:0 1px 0 rgba(255,255,255,.3) inset, 0 10px 28px rgba(201,169,97,.32) !important; }
.btn-v58-primary:active{ transform:translateY(0); filter:brightness(.97); }
.btn-v58-primary:focus-visible{ outline:2px solid var(--lj-gold); outline-offset:3px; }
.btn-v58-primary:disabled{ opacity:.55; cursor:not-allowed; transform:none; }

/* ---------- section 留白 96px ---------- */
.section-v58{ padding-top:96px !important; padding-bottom:96px !important; }

/* ---------- 登录页：表单与页脚间大段空白修复 ---------- */
.login-wrap, body.login-page section[style*="min-height"]{ min-height:0 !important; }

/* ---------- Shimmer "正在思考"（规范模式D） ---------- */
.lj-shimmer{
  background:linear-gradient(90deg, rgba(230,233,242,.45) 0%, #e6e9f2 50%, rgba(230,233,242,.45) 100%);
  background-size:200% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:ljShimmer 1.6s ease-in-out infinite;
}
@keyframes ljShimmer{ 0%{background-position:200% 0;} 100%{background-position:-200% 0;} }

/* ---------- AI 运行时：三层工具调用卡片（规范第3节） ---------- */
.lj-toolcard{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px; padding:12px 16px; margin:8px 0;
  font-size:14px; line-height:1.6;
}
.lj-toolcard .tc-head{ display:flex; align-items:center; gap:8px; font-weight:600; }
.lj-toolcard .tc-time{ margin-left:auto; font-size:12px; color:#9aa4b2; font-variant-numeric:tabular-nums; }
.lj-toolcard .tc-progress{ font-size:13px; color:#9aa4b2; margin-top:4px; }
.lj-toolcard.done{ border-color:rgba(34,197,94,.35); }
.lj-toolcard .tc-spin{
  width:12px;height:12px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--lj-gold);
  border-radius:50%; animation:ljSpin .7s linear infinite; flex:0 0 auto;
}
@keyframes ljSpin{ to{ transform:rotate(360deg);} }

/* 阶段进度 1/N（规范模式B） */
.lj-steplist{ margin:12px 0; }
.lj-step{ display:flex; align-items:center; gap:10px; padding:6px 0; font-size:14px; color:#9aa4b2; }
.lj-step .sdot{ width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.25); flex:0 0 auto; }
.lj-step.done{ color:#e6e9f2; }
.lj-step.done .sdot{ border-color:#22c55e; background:#22c55e; box-shadow:inset 0 0 0 2px #0B1F17; }
.lj-step.active{ color:#e6e9f2; font-weight:600; }
.lj-step.active .sdot{ border-color:var(--lj-gold); animation:ljPulse 1.2s ease-in-out infinite; }
@keyframes ljPulse{ 0%,100%{transform:scale(.8);} 50%{transform:scale(1.15);} }

/* 流式打字机光标 */
.lj-caret{ display:inline-block; width:2px; height:1em; background:var(--lj-gold); margin-left:2px; vertical-align:-2px; animation:ljBlink 1.1s steps(1) infinite; }
@keyframes ljBlink{ 50%{opacity:0;} }

/* 骨架屏（规范：工作台转圈改骨架屏） */
.lj-skeleton{ position:relative; overflow:hidden; background:rgba(255,255,255,.05); border-radius:8px; }
.lj-skeleton::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent, rgba(255,255,255,.08), transparent);
  transform:translateX(-100%); animation:ljSkel 1.4s infinite;
}
@keyframes ljSkel{ 100%{ transform:translateX(100%);} }
.lj-skel-line{ height:12px; border-radius:6px; margin:8px 0; }

/* ---------- 仪表盘：结论主数字 48-72px（规范第5节） ---------- */
.lj-verdict-num{ font-size:56px; font-weight:600; line-height:1; letter-spacing:-0.02em; font-variant-numeric:tabular-nums; }
.lj-verdict-unit{ font-size:16px; font-weight:400; color:#9aa4b2; }

/* 风险色带 */
.lj-band{ height:6px; border-radius:3px; background:linear-gradient(90deg,#ef4444,#f97316,#eab308,#84cc16,#22c55e); }

/* 尊重减少动效 */
@media (prefers-reduced-motion: reduce){
  .lj-shimmer, .lj-step.active .sdot, .lj-skeleton::after, .lj-toolcard .tc-spin{ animation:none !important; }
}

/* ---------- 首页定价三档：覆盖原CSS的!important 2列，桌面3列窄屏1列 ---------- */
.pricing-grid-v58{ grid-template-columns:repeat(3,1fr) !important; max-width:1100px; margin:0 auto; }
@media (max-width:900px){ .pricing-grid-v58{ grid-template-columns:1fr !important; } }
