/* WorkBuddy × 制造业 实战面板 · 现代编辑风格（成熟 SaaS / 咨询报告） */
* { margin:0; padding:0; box-sizing:border-box; -webkit-font-smoothing:antialiased; }
:root{
  --bg:#F3F3F4;              /* 高级淡灰 */
  --bg2:#F9F9FA;
  --card:#FFFFFF;
  --ink:#1F1D1A;             /* 近黑暖墨 */
  --ink2:#565149;
  --ink3:#8E8880;
  --line:#E3E3E5;            /* 发丝线 */
  --line2:#ECECEE;
  --brand:#9A5B23;           /* 赭石（压深，更沉稳） */
  --brand-strong:#7C4A1C;
  --brand-soft:#F5EDE3;
  --green:#3E7C4F;
  --green-soft:#EDF4EE;
  --amber:#B07D1E;
  --amber-soft:#F9F3E4;
  --shadow:0 1px 2px rgba(31,29,26,.04), 0 4px 16px rgba(31,29,26,.05);
  --shadow-lg:0 12px 40px rgba(31,29,26,.10);
  --radius:14px;
  --serif:"Songti SC","Noto Serif SC","STSong",serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Helvetica Neue",sans-serif;
  --mono:"SF Mono","SFMono-Regular",ui-monospace,"PingFang SC",monospace;
}
html{ font-size:15px; }
body{ font-family:var(--sans); color:var(--ink); line-height:1.65; background:var(--bg); }
strong{ font-weight:650; color:var(--ink); }
::selection{ background:var(--brand-soft); }

/* ===== 顶栏 ===== */
.topbar{ position:sticky; top:0; z-index:50; display:flex; justify-content:space-between; align-items:center;
  background:rgba(243,243,244,.85); backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--line); padding:0 28px; height:60px; }
.brand{ display:flex; align-items:center; gap:12px; }
.logo{ width:34px; height:34px; border-radius:9px; background:var(--ink);
  color:#F3F3F4; font-family:var(--serif); font-weight:700; display:flex; align-items:center; justify-content:center; font-size:14px; }
.brand-txt h1{ font-size:15px; font-weight:650; letter-spacing:.2px; }
.brand-txt h1 .x{ color:var(--brand); }
.brand-txt p{ font-size:11.5px; color:var(--ink3); margin-top:1px; }
.topbar-right{ display:flex; align-items:center; gap:14px; }
.top-tag{ font-size:11.5px; color:var(--ink2); background:var(--card); border:1px solid var(--line); padding:5px 13px; border-radius:99px; font-weight:500; }
.menu-toggle{ display:none; border:none; background:transparent; font-size:20px; padding:2px 8px; cursor:pointer; color:var(--ink2); }

/* ===== 布局 ===== */
.layout{ display:flex; min-height:calc(100vh - 60px); }
.sidebar{ width:250px; flex-shrink:0; background:var(--bg); border-right:1px solid var(--line);
  position:sticky; top:60px; height:calc(100vh - 60px); overflow-y:auto; padding:18px 12px 24px; }
.sidebar::-webkit-scrollbar{ width:5px; } .sidebar::-webkit-scrollbar-thumb{ background:#D4D4D7; border-radius:3px; }
.sidebar-hd{ font-size:10.5px; color:var(--ink3); padding:2px 14px 10px; letter-spacing:2.5px; font-weight:600; }
.sidebar-ft{ margin-top:16px; padding:12px 14px; font-size:11.5px; color:var(--ink3); border-top:1px solid var(--line2); line-height:1.8; }
.nav-cat{ margin-bottom:2px; }
.nav-cat-hd{ display:flex; align-items:center; gap:8px; padding:12px 14px 5px; font-size:11px; font-weight:650; color:var(--ink3); letter-spacing:1px; }
.nav-dot{ width:6px; height:6px; border-radius:99px; flex-shrink:0; opacity:.85; }
.nav-item{ display:flex; align-items:center; gap:8px; padding:7px 12px 7px 28px; font-size:13px; color:var(--ink2);
  border-radius:8px; cursor:pointer; line-height:1.45; transition:background .12s; }
.nav-item:hover{ background:#E9E9EB; }
.nav-item.active{ background:#E2E2E5; color:var(--ink); font-weight:600; }
.content{ flex:1; padding:36px 44px 96px; min-width:0; }
.overlay{ display:none; }

/* ===== 欢迎页 ===== */
.welcome-card{ max-width:1080px; }
.welcome-hero{ padding:26px 0 40px; border-bottom:1px solid var(--line); margin-bottom:36px; }
.welcome-kicker{ font-size:12px; font-weight:650; letter-spacing:2.5px; color:var(--brand); margin-bottom:14px; }
.welcome-hero h2{ font-family:var(--serif); font-size:34px; font-weight:700; letter-spacing:.5px; margin-bottom:14px; }
.welcome-hero .grad{ color:var(--brand); }
.welcome-sub{ color:var(--ink2); font-size:15px; max-width:640px; line-height:1.85; }
.welcome-legend{ display:flex; gap:20px; margin-top:22px; font-size:12px; color:var(--ink3); flex-wrap:wrap; }
.welcome-legend span{ display:flex; align-items:center; gap:6px; }
.welcome-legend i{ width:7px; height:7px; border-radius:99px; display:inline-block; }

/* 总览网格 */
.ov-cat{ margin-bottom:36px; }
.ov-cat-hd{ display:flex; align-items:baseline; gap:10px; font-size:16px; font-weight:650; margin-bottom:14px; letter-spacing:.2px; }
.ov-cat-hd .bar{ width:3px; height:14px; border-radius:2px; align-self:center; }
.ov-cat-hd .cnt{ font-size:12px; color:var(--ink3); font-weight:400; }
.ov-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.ov-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:18px 20px; cursor:pointer; transition:border-color .15s, box-shadow .15s; position:relative; }
.ov-card::before{ content:""; position:absolute; top:18px; bottom:18px; left:0; width:2px; background:var(--cat-color,#999); opacity:.7; border-radius:2px; }
.ov-card:hover{ border-color:#CFC9BE; box-shadow:var(--shadow); }
.ov-card .code{ font-size:11px; color:var(--ink3); font-weight:650; letter-spacing:1px; }
.ov-card .ti{ font-size:15.5px; font-weight:600; margin:6px 0 10px; letter-spacing:.2px; }
.ov-card .meta{ display:flex; gap:10px; flex-wrap:wrap; font-size:11px; color:var(--ink3); align-items:center; }
.ov-card .roles{ font-size:12px; color:var(--ink2); margin-top:12px; line-height:1.6; padding-top:12px; border-top:1px solid var(--line2); }
.badge-star{ background:var(--amber-soft); color:var(--amber); border:1px solid #EBD9AE; padding:2px 9px; border-radius:99px; font-size:10px; font-weight:650; }

/* ===== 详情页 ===== */
.detail{ max-width:840px; margin:0 auto; }
.d-back{ display:inline-flex; align-items:center; gap:5px; font-size:13.5px; color:var(--ink2); cursor:pointer; margin-bottom:20px; font-weight:500; }
.d-back:hover{ color:var(--ink); }
.d-head{ padding:6px 0 22px; margin-bottom:26px; border-bottom:1px solid var(--line); }
.d-head .code{ font-size:11.5px; color:var(--ink3); font-weight:650; letter-spacing:1.5px; }
.d-head h2{ font-family:var(--serif); font-size:27px; font-weight:700; margin:10px 0 14px; letter-spacing:.3px; }
.d-chips{ display:flex; gap:8px; flex-wrap:wrap; }
.chip{ font-size:11.5px; padding:4px 12px; border-radius:99px; background:var(--card); border:1px solid var(--line); color:var(--ink2); font-weight:500; }
.chip.dim{ background:var(--ink); border-color:var(--ink); color:#F3F3F4; }
.chip.star{ background:var(--amber-soft); border-color:#EBD9AE; color:var(--amber); font-weight:600; }
.chip.real{ background:var(--green-soft); border-color:#D2E2D6; color:var(--green); font-weight:600; }
.sec{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:26px 30px; margin-bottom:16px; }
.sec-hd{ display:flex; align-items:baseline; gap:10px; font-size:15px; font-weight:650; margin-bottom:16px; letter-spacing:.2px; }
.sec-hd .bar{ width:3px; height:13px; border-radius:2px; background:var(--brand); align-self:center; }
.sec-hd .sub{ font-size:12px; color:var(--ink3); font-weight:400; }
.intro{ color:var(--ink2); line-height:1.95; font-size:14.5px; }

/* 文件卡片 */
.file-cards{ display:flex; flex-direction:column; gap:10px; }
.file-card{ display:flex; align-items:center; gap:14px; border:1px solid var(--line); border-radius:12px; padding:12px 16px; background:var(--card); transition:border-color .15s; }
.file-card:hover{ border-color:#CFC9BE; }
.file-ic{ width:36px; height:36px; border-radius:8px; background:var(--green-soft); color:var(--green); font-size:9.5px; font-weight:700;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; letter-spacing:.5px; border:1px solid #D2E2D6; }
.file-ic.txt{ background:var(--brand-soft); color:var(--brand-strong); border-color:#E8D9C4; }
.file-ic.py{ background:var(--amber-soft); color:var(--amber); border-color:#EBD9AE; }
.file-info{ flex:1; min-width:0; }
.file-info .fn{ font-size:13.5px; font-weight:600; }
.file-info .fd{ font-size:12px; color:var(--ink3); margin-top:2px; }
.file-btns{ display:flex; gap:8px; flex-shrink:0; }
.btn{ border:1px solid var(--line); background:var(--card); color:var(--ink2); font-size:12.5px; padding:6px 15px; border-radius:8px; cursor:pointer; text-decoration:none; font-weight:500; transition:.12s; white-space:nowrap; }
.btn:hover{ color:var(--ink); border-color:#C4BEB2; }
.btn.primary{ background:var(--ink); color:#F3F3F4; border-color:var(--ink); }
.btn.primary:hover{ background:#3A362F; color:#F3F3F4; }

/* 提示词 */
.prompt-box{ background:var(--bg2); border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin-bottom:12px; position:relative; }
.prompt-box .p-label{ font-size:11.5px; font-weight:650; color:var(--brand-strong); margin-bottom:8px; letter-spacing:1px; }
.prompt-box pre{ white-space:pre-wrap; font-family:var(--mono); font-size:13px; line-height:1.85; color:var(--ink); }
.copy-btn{ position:absolute; top:12px; right:12px; }

/* 会话回放 */
.chat{ background:var(--bg2); border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
.msg{ display:flex; gap:11px; margin-bottom:16px; }
.msg .avatar{ width:32px; height:32px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:14px; border:1px solid var(--line); background:var(--card); }
.msg.ai .avatar{ background:var(--ink); border-color:var(--ink); color:#F3F3F4; font-size:10px; font-weight:700; font-family:var(--serif); }
.bubble{ max-width:92%; border-radius:12px; padding:13px 17px; font-size:14px; line-height:1.85; }
.msg.user .bubble{ background:var(--card); border:1px solid var(--line); white-space:pre-wrap; }
.msg.ai .bubble{ background:var(--card); border:1px solid var(--line); }
.send-btn{ display:inline-flex; align-items:center; gap:6px; margin:0 0 18px 45px; }
.replay-ctrl{ display:flex; gap:10px; margin:0 0 18px 45px; flex-wrap:wrap; }
.think-tag{ display:inline-block; font-style:normal; font-size:10.5px; font-weight:700; color:var(--green); background:var(--green-soft); border-radius:5px; padding:1px 8px; margin-right:8px; letter-spacing:1.5px; }
/* 逐步回放：各部分初始隐藏 */
.part{ opacity:0; transform:translateY(8px); transition:opacity .5s cubic-bezier(.2,.7,.3,1), transform .5s cubic-bezier(.2,.7,.3,1); }
.part.on{ opacity:1; transform:none; }
.part-steps .wb-step{ opacity:0; transform:translateX(-8px); transition:opacity .35s, transform .35s; }
.part-steps .wb-step.on{ opacity:1; transform:none; }
.ai-output{ display:none; }
.ai-output.show{ display:flex; animation:fadein .45s cubic-bezier(.2,.7,.3,1); }
@keyframes fadein{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;} }

/* AI 思考/工具调用过程条 */
.wb-steps{ margin:2px 0 12px; border-left:2px solid #E0D9CB; padding-left:14px; }
.wb-step{ font-size:12.5px; color:var(--ink3); padding:4px 0; display:flex; align-items:center; gap:7px; }
.wb-step .st-ic{ font-size:12px; color:var(--brand); }
.wb-step .st-tool{ font-family:var(--mono); font-size:11px; background:var(--brand-soft); color:var(--brand-strong); padding:1px 7px; border-radius:5px; }
.wb-think{ font-size:13px; color:var(--ink2); background:var(--green-soft); border:1px solid #D2E2D6; border-radius:10px; padding:11px 15px; margin:2px 0 12px; line-height:1.8; font-style:italic; }

/* wb 表格与结论 */
.wb-table{ width:100%; border-collapse:collapse; margin:12px 0; font-size:13px; }
.wb-table th,.wb-table td{ border-bottom:1px solid var(--line2); padding:9px 12px; text-align:left; }
.wb-table thead th{ background:var(--bg2); font-weight:650; border-bottom:1px solid var(--line); }
.wb-table tfoot td{ background:var(--bg2); font-weight:600; }
.wb-table tr:last-child td{ border-bottom:none; }
.wb-quote{ background:var(--bg2); border:1px solid var(--line); border-radius:10px; padding:13px 16px; margin:10px 0; font-size:13.5px; line-height:1.85; }
.wb-conclusion{ background:var(--green-soft); border-left:2px solid var(--green); border-radius:0 8px 8px 0; padding:12px 16px; margin-top:12px; font-size:13.5px; line-height:1.85; }
.wb-warn{ background:var(--amber-soft); border-left:2px solid var(--amber); border-radius:0 8px 8px 0; padding:12px 16px; margin-top:12px; font-size:13.5px; line-height:1.85; }
.wb-outs{ margin-top:12px; display:flex; flex-wrap:wrap; gap:8px; }
.wb-file-out{ display:inline-flex; align-items:center; gap:7px; background:var(--bg2); border:1px solid var(--line); border-radius:8px; padding:6px 12px; font-size:12.5px; text-decoration:none; color:var(--ink); }
.wb-file-out.real{ background:var(--green-soft); border-color:#C9DCCD; cursor:pointer; transition:.12s; }
.wb-file-out.real:hover{ border-color:var(--green); }
.wb-file-out .fo-ic{ width:20px; height:20px; border-radius:5px; background:var(--green); color:#F3F3F4; font-size:8px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.wb-file-out .fo-open{ font-size:11px; color:var(--green); font-weight:600; margin-left:2px; }
code{ background:#EEEEF0; padding:2px 7px; border-radius:5px; font-size:12.5px; font-family:var(--mono); }

/* 贴士列表 */
.tip-list{ list-style:none; }
.tip-list li{ padding:10px 0 10px 24px; position:relative; font-size:14px; color:var(--ink2); line-height:1.8; border-bottom:1px solid var(--line2); }
.tip-list li:last-child{ border-bottom:none; }
.tip-list li::before{ content:""; position:absolute; left:2px; top:17px; width:5px; height:5px; border-radius:99px; background:var(--green); }
.bonus-body{ background:var(--green-soft); border:1px solid #D2E2D6; border-radius:12px; padding:16px 18px; font-size:14px; line-height:1.9; color:var(--ink2); }

/* 预览模态窗 */
.pv-mask{ display:none; position:fixed; inset:0; background:rgba(31,29,26,.4); backdrop-filter:blur(4px); z-index:100; align-items:center; justify-content:center; padding:20px; }
.pv-mask.show{ display:flex; }
.pv-modal{ background:var(--card); border:1px solid var(--line); border-radius:16px; width:min(880px,94vw); max-height:86vh; display:flex; flex-direction:column; box-shadow:var(--shadow-lg); }
.pv-modal-hd{ display:flex; justify-content:space-between; align-items:center; padding:15px 20px; border-bottom:1px solid var(--line2); }
.pv-modal-ti{ display:flex; align-items:center; gap:11px; font-weight:600; font-size:14.5px; }
.pv-modal-ic{ background:var(--green-soft); color:var(--green); border:1px solid #D2E2D6; font-size:9.5px; font-weight:700; padding:4px 9px; border-radius:6px; }
.pv-modal-actions{ display:flex; gap:12px; align-items:center; }
.pv-modal-dl{ font-size:13px; color:var(--brand-strong); text-decoration:none; font-weight:500; }
.pv-modal-close{ border:1px solid var(--line); background:var(--card); width:30px; height:30px; border-radius:99px; cursor:pointer; font-size:13px; color:var(--ink2); }
.pv-modal-body{ overflow:auto; padding:18px 20px; font-size:13px; }
.pv-modal-body pre{ white-space:pre-wrap; font-family:var(--mono); line-height:1.85; }
.pv-modal-ft{ padding:11px 20px; border-top:1px solid var(--line2); font-size:12px; color:var(--ink3); }

/* Toast */
.toast{ position:fixed; bottom:32px; left:50%; transform:translateX(-50%) translateY(10px); background:rgba(31,29,26,.94); color:#F3F3F4;
  padding:11px 24px; border-radius:99px; font-size:13px; opacity:0; pointer-events:none; transition:.3s cubic-bezier(.2,.7,.3,1); z-index:200; }
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

@media (max-width:960px){
  .sidebar{ position:fixed; left:-290px; z-index:80; transition:.25s; top:0; height:100vh; }
  .sidebar.open{ left:0; }
  .overlay.show{ display:block; position:fixed; inset:0; background:rgba(31,29,26,.35); z-index:70; }
  .menu-toggle{ display:block; }
  .ov-grid{ grid-template-columns:1fr; }
  .content{ padding:22px 16px 64px; }
  .welcome-hero h2{ font-size:26px; }
}

/* ===== WorkBuddy 入门教程 / 标杆案例 正文排版 ===== */
.g-body{ line-height:1.85; }
.g-h2{ font-family:var(--serif); font-size:18px; font-weight:700; margin:28px 0 12px; padding-top:22px; border-top:1px solid var(--line); }
.g-h2:first-child{ margin-top:0; padding-top:0; border-top:none; }
.g-h3{ font-size:14.5px; font-weight:650; margin:18px 0 8px; }
.g-p{ font-size:14px; color:var(--ink2); margin:8px 0; }
.g-callout{ border-radius:10px; padding:13px 16px; margin:14px 0; font-size:13.5px; line-height:1.85; }
.g-callout.intro{ background:var(--bg2); border:1px solid var(--line); }
.g-callout.key{ background:var(--green-soft); border-left:2px solid var(--green); border-radius:0 10px 10px 0; }
.g-callout.warn{ background:var(--amber-soft); border-left:2px solid var(--amber); border-radius:0 10px 10px 0; }
.g-steps{ counter-reset:gs; list-style:none; margin:12px 0; }
.g-steps li{ counter-increment:gs; position:relative; padding:10px 0 10px 40px; font-size:14px; color:var(--ink2); border-bottom:1px solid var(--line2); }
.g-steps li:last-child{ border-bottom:none; }
.g-steps li::before{ content:counter(gs); position:absolute; left:0; top:9px; width:24px; height:24px; border-radius:99px;
  background:var(--ink); color:#F3F3F4; font-size:12px; font-weight:650; display:flex; align-items:center; justify-content:center; }
.g-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:14px 0; }
.g-card{ background:var(--card); border:1px solid var(--line); border-radius:12px; padding:15px 17px; }
.g-card-ti{ font-weight:650; font-size:13.5px; margin-bottom:5px; }
.g-card-tx{ font-size:12.5px; color:var(--ink2); line-height:1.7; }
@media (max-width:960px){ .g-cards{ grid-template-columns:1fr; } }

/* CSS 绘制的界面示意图 */
.uimock{ margin:18px 0; }
.uim-frame{ display:flex; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--card);
  box-shadow:var(--shadow); min-height:320px; }
.uim-side{ width:180px; flex-shrink:0; background:var(--bg2); border-right:1px solid var(--line2); padding:14px 10px; position:relative; }
.uim-side-hd{ font-family:var(--serif); font-weight:700; font-size:14px; padding:2px 8px 12px; }
.uim-side-item{ font-size:12.5px; color:var(--ink2); padding:7px 9px; border-radius:7px; margin-bottom:2px; }
.uim-side-item.on{ background:#EAE6DE; color:var(--ink); font-weight:600; }
.uim-main{ flex:1; display:flex; flex-direction:column; position:relative; padding:16px; }
.uim-chat{ flex:1; }
.uim-bub{ border-radius:10px; padding:9px 13px; font-size:12.5px; line-height:1.7; margin-bottom:10px; max-width:88%; }
.uim-bub.user{ background:var(--bg2); border:1px solid var(--line2); margin-left:auto; }
.uim-bub.ai{ background:var(--bg2); border:1px solid var(--line2); }
.uim-bar{ display:flex; align-items:center; gap:7px; border-top:1px solid var(--line2); padding-top:12px; margin-top:10px; }
.uim-pill{ font-size:11px; background:var(--card); border:1px solid var(--line); border-radius:99px; padding:3px 10px; color:var(--ink2); }
.uim-input{ flex:1; font-size:12px; color:var(--ink3); background:var(--card); border:1px solid var(--line); border-radius:99px; padding:6px 14px; }
.uim-tag{ position:absolute; font-size:11px; font-weight:650; color:#F3F3F4; background:var(--ink); border-radius:99px; padding:4px 12px; }
.uim-tag.t1{ left:8px; bottom:10px; }
.uim-tag.t2{ right:14px; top:12px; }
.uim-tag.t3{ right:14px; bottom:58px; }
@media (max-width:960px){ .uim-side{ width:130px; } .uim-tag{ display:none; } }

/* logo 型配图（居中、小尺寸、无边框） */
.g-img.logo{ text-align:center; margin:20px 0 8px; }
.g-img.logo img{ width:auto; max-width:180px; max-height:64px; border:none; border-radius:0; margin:0 auto; }
.g-img.logo figcaption{ margin-top:10px; }

/* 教程：真实截图 / 技能清单 / 复制块 */
.g-img{ margin:18px 0; }
.g-img img{ width:100%; border-radius:10px; border:1px solid var(--line); display:block; }
.g-img figcaption{ font-size:12px; color:var(--ink3); margin-top:9px; text-align:center; line-height:1.6; }
.g-skills{ margin:14px 0; }
.g-skills-tier{ font-size:11px; font-weight:700; color:var(--brand-strong); letter-spacing:1.5px; display:block; margin-bottom:12px; }
.g-skill{ border:1px solid var(--line); border-radius:12px; padding:15px 17px; margin-bottom:10px; background:var(--card); }
.g-skill-hd{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.g-skill-id{ font-size:13px; font-weight:700; background:var(--brand-soft); color:var(--brand-strong); padding:3px 10px; border-radius:6px; }
.g-skill-en{ font-size:13.5px; font-weight:600; }
.g-skill-desc{ font-size:13px; color:var(--ink2); line-height:1.7; margin-bottom:6px; }
.g-skill-scenes{ font-size:11.5px; color:var(--ink3); border-top:1px solid var(--line2); padding-top:8px; line-height:1.7; }
.g-copy pre{ font-size:12.5px; }

/* ===== 标杆案例：数据指标 / 引言 / 标签 / 首页横幅 ===== */
.g-metrics{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:0; margin:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.g-metric{ padding:18px 16px 16px; border-left:1px solid var(--line2); }
.g-metric:first-child{ border-left:none; padding-left:2px; }
.g-metric-v{ font-family:var(--serif); font-size:27px; font-weight:700; color:var(--ink); letter-spacing:-.5px; line-height:1.15; }
.g-metric-k{ font-size:12px; color:var(--ink3); margin-top:7px; line-height:1.55; }
@media (max-width:960px){ .g-metrics{ grid-template-columns:repeat(2,1fr); } .g-metric{ border-left:none; padding-left:2px; } }
.g-quote{ border-left:2px solid var(--brand); padding:6px 0 6px 20px; margin:20px 0;
  font-family:var(--serif); font-size:18px; line-height:1.8; color:var(--ink); }
.g-quote cite{ display:block; font-family:var(--sans); font-size:12.5px; color:var(--ink3); font-style:normal; margin-top:10px; letter-spacing:.5px; }
.g-pills{ display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.g-pill{ font-size:12px; background:var(--card); border:1px solid var(--line); border-radius:99px; padding:5px 14px; color:var(--ink2); }

/* 首页标杆案例横幅 */
.ov-cases{ border:1px solid var(--line); border-radius:var(--radius); background:var(--card);
  padding:24px 26px; margin-bottom:36px; }
.ov-cases-hd{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:18px; }
.ov-cases-ti{ font-family:var(--serif); font-size:19px; font-weight:700; }
.ov-cases-sub{ font-size:12.5px; color:var(--ink3); margin-top:5px; }
.ov-cases-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.ov-case{ border:1px solid var(--line); border-radius:12px; padding:15px 17px; cursor:pointer; transition:border-color .15s, box-shadow .15s; }
.ov-case:hover{ border-color:#CFC9BE; box-shadow:var(--shadow); }
.ov-case-ti{ font-size:13.5px; font-weight:650; margin-bottom:5px; }
.ov-case-sub{ font-size:11.5px; color:var(--ink3); line-height:1.6; }
@media (max-width:960px){ .ov-cases-grid{ grid-template-columns:1fr; } }

/* 案例：业务场景提效卡（替代模糊PPT截图的本地可视化） */
.g-scards{ margin:16px 0; display:flex; flex-direction:column; gap:10px; }
.g-scard{ display:flex; align-items:center; gap:18px; background:var(--card); border:1px solid var(--line);
  border-radius:12px; padding:16px 20px 16px 22px; position:relative; }
.g-scard::before{ content:""; position:absolute; left:0; top:14px; bottom:14px; width:3px; border-radius:2px; background:var(--sc); }
.g-scard-main{ flex:1; min-width:0; }
.g-scard-name{ font-size:14.5px; font-weight:650; margin-bottom:4px; }
.g-scard-desc{ font-size:12.5px; color:var(--ink3); line-height:1.7; }
.g-scard-num{ flex-shrink:0; text-align:right; padding-left:18px; border-left:1px solid var(--line2); min-width:96px; }
.g-scard-num .v{ font-family:var(--serif); font-size:28px; font-weight:700; letter-spacing:-.5px; line-height:1.1; }
.g-scard-num .k{ font-size:11.5px; color:var(--ink3); margin-top:4px; }
@media (max-width:960px){ .g-scard{ flex-direction:column; align-items:flex-start; } .g-scard-num{ border-left:none; padding-left:0; text-align:left; } }
