/* ============================================================
   智慧电厂行业情报站 · 共享样式表
   浅色主题 · 主色 #6366f1
   ============================================================ */
:root{
  --ink:#1f2937;
  --ink-2:#4b5563;
  --ink-3:#6b7280;
  --bg:#f5f6fa;
  --card:#ffffff;
  --line:#e5e7eb;
  --brand:#6366f1;
  --brand-dk:#4338ca;
  --brand-soft:#eef0ff;
  --c-blue:#0ea5e9;
  --c-green:#10b981;
  --c-amber:#f59e0b;
  --c-pink:#ec4899;
  --c-violet:#8b5cf6;
  --c-teal:#14b8a6;
  --radius:12px;
  --radius-lg:18px;
  --shadow:0 1px 3px rgba(16,24,40,.05),0 1px 2px rgba(16,24,40,.03);
  --shadow-lg:0 10px 30px rgba(99,102,241,.16);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:15px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}

/* ---------- 顶部导航 ---------- */
.topbar{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
}
.topbar-inner{
  max-width:1080px; margin:0 auto; padding:0 20px;
  height:60px; display:flex; align-items:center; gap:22px;
}
.brand{
  display:flex; align-items:center; gap:9px;
  font-weight:700; font-size:15.5px; letter-spacing:.3px;
  color:var(--ink); text-decoration:none; white-space:nowrap;
}
.brand .mark{
  width:26px; height:26px; border-radius:8px; flex:none;
  background:linear-gradient(135deg,#6366f1,#8b5cf6 60%,#0ea5e9);
  box-shadow:0 3px 10px rgba(99,102,241,.35);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:13px; font-weight:800;
}
.nav{display:flex; gap:4px; flex-wrap:wrap; margin-left:auto;}
.nav a{
  font-size:13.5px; color:var(--ink-2); text-decoration:none;
  padding:6px 12px; border-radius:8px; white-space:nowrap;
  transition:.15s;
}
.nav a:hover{background:#f3f4f6; color:var(--brand-dk);}
.nav a.active{background:var(--brand-soft); color:var(--brand-dk); font-weight:600;}

/* ---------- 容器 ---------- */
.container{max-width:1080px; margin:0 auto; padding:0 20px 72px;}

/* ---------- 首屏 ---------- */
.hero{
  background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 52%,#0ea5e9 100%);
  border-radius:var(--radius-lg);
  padding:40px 34px; color:#fff; margin:26px 0 30px;
  box-shadow:var(--shadow-lg);
}
.hero h1{margin:0 0 12px; font-size:30px; line-height:1.35; letter-spacing:.5px;}
.hero .lead{margin:0 0 6px; font-size:15px; opacity:.95; max-width:760px;}
.hero .meta-line{font-size:13px; opacity:.88; margin:0;}
.hero-chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;}
.hero-chips .chip{
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3);
  border-radius:10px; padding:8px 14px; font-size:12.5px; line-height:1.4;
}
.hero-chips .chip b{display:block; font-size:16.5px; letter-spacing:.4px;}

/* 页面标题（内页） */
.page-head{margin:26px 0 6px;}
.page-head .crumb{font-size:12.5px; color:var(--ink-3); margin-bottom:8px;}
.page-head .crumb a{color:var(--brand); text-decoration:none;}
.page-head h1{margin:0 0 10px; font-size:26px; letter-spacing:.4px;}
.page-head p{margin:0; color:var(--ink-2); font-size:14.5px; max-width:820px;}

/* ---------- 分节标题 ---------- */
.sec-head{
  display:flex; align-items:baseline; gap:12px;
  margin:44px 0 6px; padding-bottom:10px;
  border-bottom:2px solid var(--line);
}
.sec-head .idx{
  font-size:12.5px; font-weight:800; color:#fff; background:var(--brand);
  border-radius:6px; padding:2px 8px; letter-spacing:1px; flex:none;
}
.sec-head h2{margin:0; font-size:20px; letter-spacing:.4px;}
.sec-head .hint{margin-left:auto; font-size:12.5px; color:var(--ink-3); font-weight:400;}
.sec-sub{margin:8px 0 0; color:var(--ink-2); font-size:14px;}

/* 分类小标题 */
.cat-head{
  display:flex; align-items:center; gap:11px;
  margin:34px 0 12px; padding-left:2px;
}
.cat-head .dot{
  width:11px; height:11px; border-radius:50%; flex:none;
  background:var(--brand); box-shadow:0 0 0 4px rgba(99,102,241,.14);
}
.cat-head h3{margin:0; font-size:16.5px; letter-spacing:.3px;}
.cat-head .tagline{
  font-size:12.5px; color:var(--ink-3); margin-left:auto; text-align:right;
}

/* ---------- 卡片 ---------- */
.card{
  background:var(--card); border:1px solid var(--line);
  border-radius:var(--radius); padding:17px 19px; margin:13px 0;
  box-shadow:var(--shadow); border-left:4px solid var(--brand);
}
.card.a-blue{border-left-color:var(--c-blue);}
.card.a-green{border-left-color:var(--c-green);}
.card.a-amber{border-left-color:var(--c-amber);}
.card.a-pink{border-left-color:var(--c-pink);}
.card.a-violet{border-left-color:var(--c-violet);}
.card.a-teal{border-left-color:var(--c-teal);}
.card h4{margin:0 0 8px; font-size:15.5px; line-height:1.55;}
.card h4 a{color:var(--ink); text-decoration:none;}
.card h4 a:hover{color:var(--brand-dk); text-decoration:underline;}
.card p{margin:7px 0 11px; color:var(--ink-2); font-size:14px;}
.card p:last-child{margin-bottom:4px;}

/* 网格 */
.grid{display:grid; gap:13px; margin:13px 0;}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}

/* ---------- 元信息 / 标签 ---------- */
.meta{display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:12px;}
.badge{
  background:var(--brand-soft); color:var(--brand-dk);
  border-radius:6px; padding:2px 9px; font-weight:600; white-space:nowrap;
}
.badge.b-blue{background:#e0f2fe; color:#075985;}
.badge.b-green{background:#d1fae5; color:#065f46;}
.badge.b-amber{background:#fef3c7; color:#92400e;}
.badge.b-pink{background:#fce7f3; color:#9d174d;}
.badge.b-violet{background:#ede9fe; color:#5b21b6;}
.badge.b-teal{background:#ccfbf1; color:#115e59;}
.badge.b-gray{background:#f3f4f6; color:#374151;}
.src{color:var(--ink-3);}
.src a{color:var(--ink-3); text-decoration:none; border-bottom:1px dotted #b9bec7;}
.src a:hover{color:var(--brand-dk); border-bottom-color:var(--brand);}

/* ---------- KPI ---------- */
.kpi{display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 8px;}
.kpi span{
  background:#f7f8fc; border:1px solid var(--line); border-radius:8px;
  padding:4px 11px; font-size:12.5px; color:var(--ink-2);
}
.kpi span b{color:var(--brand-dk); font-weight:700;}

/* ---------- 表格 ---------- */
.table-wrap{overflow-x:auto; margin:14px 0; border-radius:var(--radius);
  box-shadow:var(--shadow); border:1px solid var(--line); background:var(--card);}
table{width:100%; border-collapse:collapse; font-size:13.5px; min-width:560px;}
th,td{padding:11px 13px; text-align:left; border-bottom:1px solid var(--line);
  vertical-align:top; line-height:1.65;}
th{background:#f1f2f8; color:var(--ink); font-size:12.5px; letter-spacing:.4px;
  font-weight:700; white-space:nowrap;}
td:first-child{font-weight:700; color:var(--brand-dk); white-space:nowrap;}
tbody tr:hover{background:#fafbff;}
tr:last-child td{border-bottom:none;}

/* ---------- 提示块 ---------- */
.note{
  background:#fffbeb; border:1px solid #fde68a; border-radius:10px;
  padding:13px 17px; font-size:13.5px; color:#92400e; margin:16px 0;
}
.note a{color:#b45309;}
.callout{
  background:#eef0ff; border:1px solid #c7cbff; border-radius:10px;
  padding:14px 18px; font-size:13.5px; color:#3730a3; margin:16px 0;
}
.callout b{color:#312e81;}

/* ---------- 入口大卡（首页用） ---------- */
.entry{
  display:block; text-decoration:none; color:inherit;
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:24px 22px; box-shadow:var(--shadow); transition:.18s;
  border-top:4px solid var(--brand);
}
.entry:hover{transform:translateY(-3px); box-shadow:0 12px 26px rgba(16,24,40,.1);}
.entry .icon{
  width:40px; height:40px; border-radius:11px; display:flex;
  align-items:center; justify-content:center; font-size:19px; margin-bottom:12px;
  background:var(--brand-soft); color:var(--brand-dk);
}
.entry h3{margin:0 0 7px; font-size:17px;}
.entry p{margin:0 0 12px; font-size:13.5px; color:var(--ink-2);}
.entry .go{font-size:13px; color:var(--brand-dk); font-weight:600;}
.entry.v{border-top-color:var(--c-teal);}
.entry.v .icon{background:#ccfbf1; color:#0f766e;}

/* ---------- 企业名片 ---------- */
.co{display:flex; flex-wrap:wrap; gap:8px; margin:2px 0 10px;}
.co .role{
  font-size:12px; background:#f3f4f6; color:var(--ink-2);
  border-radius:6px; padding:2px 9px;
}

/* ---------- 页脚 ---------- */
footer{
  margin-top:52px; padding:24px 0 0; border-top:1px solid var(--line);
  color:var(--ink-3); font-size:12.5px; line-height:1.9;
}
footer a{color:var(--brand); text-decoration:none;}
footer a:hover{text-decoration:underline;}
footer .fnote{margin:6px 0; max-width:900px;}

/* ---------- 响应式 ---------- */
@media (max-width:860px){
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hero h1{font-size:24px;}
  .page-head h1{font-size:22px;}
}
@media (max-width:640px){
  .topbar-inner{height:auto; flex-direction:column; align-items:flex-start;
    gap:10px; padding:12px 16px;}
  .nav{margin-left:0; width:100%;}
  .nav a{padding:5px 10px; font-size:13px;}
  .container{padding:0 14px 52px;}
  .hero{padding:26px 20px; border-radius:14px;}
  .hero h1{font-size:21px;}
  .grid-2,.grid-3{grid-template-columns:1fr;}
  .sec-head{flex-wrap:wrap;}
  .sec-head .hint{margin-left:0; width:100%;}
  .cat-head{flex-wrap:wrap;}
  .cat-head .tagline{margin-left:0; width:100%; text-align:left;}
  table{font-size:12.5px;}
  th,td{padding:9px 10px;}
}

/* ============================================================
   归档 / 更新日志 · 新增于 v2.0（2026-09-21）
   ============================================================ */

/* ---------- 首页「最近更新」区块 ---------- */
.upd{
  background:var(--card); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow);
  padding:4px 20px 12px; margin:14px 0;
}
.upd-row{
  display:flex; gap:14px; align-items:flex-start;
  padding:13px 0; border-bottom:1px dashed var(--line);
}
.upd-row:last-child{border-bottom:none;}
.upd-date{
  flex:none; width:96px; font-size:12.5px; font-weight:700; color:var(--brand-dk);
  padding-top:2px;
}
.upd-date small{display:block; font-weight:400; color:var(--ink-3); font-size:11.5px;}
.upd-body{flex:1; min-width:0;}
.upd-body h5{margin:0 0 4px; font-size:14.5px; line-height:1.5; font-weight:700;}
.upd-body h5 a{color:var(--ink); text-decoration:none;}
.upd-body h5 a:hover{color:var(--brand-dk); text-decoration:underline;}
.upd-body p{margin:0; font-size:13px; color:var(--ink-2);}
.upd-more{margin-top:12px; font-size:13px;}

/* ---------- 版本 / 类型徽标 ---------- */
.ver{
  display:inline-block; font-size:11.5px; font-weight:800; letter-spacing:.5px;
  background:var(--brand); color:#fff; border-radius:6px; padding:2px 8px;
  vertical-align:middle;
}
.ver.old{background:#9ca3af;}
.kind{
  display:inline-block; font-size:11.5px; font-weight:600;
  border-radius:6px; padding:2px 9px; vertical-align:middle;
  background:#f3f4f6; color:#374151;
}
.kind.k-new{background:#d1fae5; color:#065f46;}
.kind.k-re{background:#ede9fe; color:#5b21b6;}
.kind.k-u{background:#e0f2fe; color:#075985;}

/* ---------- 归档时间线 ---------- */
.tl{position:relative; margin:22px 0 0;}
.tl-item{position:relative; padding:0 0 24px 36px;}
.tl-item::before{
  content:""; position:absolute; left:8px; top:10px; bottom:-6px;
  width:2px; background:var(--line);
}
.tl-item:last-child::before{display:none;}
.tl-item::after{
  content:""; position:absolute; left:2px; top:6px;
  width:14px; height:14px; border-radius:50%;
  background:#fff; border:3px solid #c7cbff;
}
.tl-item.latest::after{
  background:var(--brand); border-color:var(--brand);
  box-shadow:0 0 0 5px rgba(99,102,241,.15);
}
.tl-head{display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-bottom:8px;}
.tl-head .d{font-size:15px; font-weight:700; letter-spacing:.3px;}
.tl-head .w{font-size:12px; color:var(--ink-3);}
.tl-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:16px 19px; box-shadow:var(--shadow);
}
.tl-card h4{margin:0 0 8px; font-size:15.5px; line-height:1.5;}
.tl-card p{margin:0 0 10px; font-size:13.5px; color:var(--ink-2);}
.tl-stats{display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 2px;}
.tl-stats span{
  background:#f7f8fc; border:1px solid var(--line); border-radius:8px;
  padding:3px 11px; font-size:12.5px; color:var(--ink-2);
}
.tl-stats span b{color:var(--brand-dk); font-weight:700;}

/* 变更清单 */
.diff{margin:11px 0 0;}
.diff .dl{display:flex; gap:9px; font-size:13px; margin:5px 0; line-height:1.65;}
.diff .mk{
  flex:none; width:18px; height:18px; border-radius:5px; margin-top:2px;
  font-size:11px; font-weight:800; text-align:center; line-height:18px; color:#fff;
}
.mk.add{background:#10b981;}
.mk.chg{background:#0ea5e9;}
.mk.fix{background:#f59e0b;}
.diff .dt{flex:1; color:var(--ink-2);}
.diff .dlabel{
  font-size:12px; font-weight:700; color:var(--ink-3); letter-spacing:.4px;
  margin:10px 0 2px;
}

/* 快照入口按钮 */
.snap-btns{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;
  padding-top:13px; border-top:1px dashed var(--line);}
.snap-btn{
  display:inline-block; font-size:12.5px; text-decoration:none;
  border:1px solid #c7cbff; background:var(--brand-soft); color:var(--brand-dk);
  border-radius:8px; padding:5px 12px; font-weight:600;
}
.snap-btn:hover{background:#e2e5ff;}
.snap-btn.ghost{background:#fff; border-color:var(--line); color:var(--ink-2); font-weight:400;}
.snap-btn.ghost:hover{background:#f7f8fc;}

/* NEW 标记（列表条目用） */
.new-flag{
  display:inline-block; font-size:10.5px; font-weight:800; letter-spacing:.6px;
  background:#ef4444; color:#fff; border-radius:5px;
  padding:1px 6px; margin-right:6px; vertical-align:1px;
}

/* 行内代码 */
code{
  background:#f1f2f8; border:1px solid var(--line); border-radius:5px;
  padding:1px 6px; font-size:12.5px; color:var(--brand-dk);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

/* 归档空态 */
.empty{
  text-align:center; padding:34px 20px; color:var(--ink-3);
  background:var(--card); border:1px dashed var(--line); border-radius:var(--radius);
}

@media (max-width:640px){
  .upd-row{flex-direction:column; gap:4px;}
  .upd-date{width:auto;}
  .tl-item{padding-left:28px;}
  .tl-head .w{width:100%;}
}
