/* =====================================================
   设计令牌 Design Tokens — Claude 浅色风格
   ===================================================== */
:root{
  --bg:#FAF9F5;
  --bg-soft:#F4F0E6;
  --surface:#FFFFFF;
  --surface-alt:#F7F4EC;
  --border:#E8E3D6;
  --border-strong:#DDD5C2;

  --text:#262624;
  --text-soft:#5B584E;
  --text-mute:#928D7C;

  --accent:#D97757;
  --accent-dark:#BF5F3F;
  --accent-soft:#F3E1D6;
  --accent-soft-2:#FBEEE6;

  --sage:#6E8B74;
  --sage-soft:#E4EDE3;

  --slate:#5F7C93;
  --slate-soft:#E4EBF0;

  --gold:#B4893F;
  --gold-soft:#F3E7CF;

  --red:#B85450;
  --red-soft:#F5E4E2;

  --radius-sm:6px;
  --radius:12px;
  --radius-lg:20px;

  --font-serif:"Source Han Serif SC","Songti SC","STSong","Noto Serif SC",serif;
  --font-sans:"Source Han Sans SC","PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  --font-mono:"SF Mono","DIN Alternate",Consolas,monospace;

  --shadow-sm:0 1px 2px rgba(38,38,36,0.05), 0 1px 1px rgba(38,38,36,0.03);
  --shadow-md:0 6px 20px rgba(38,38,36,0.07);
  --shadow-lg:0 16px 40px rgba(38,38,36,0.10);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text-soft);
  font-family:var(--font-sans);
  line-height:1.65;
  min-height:100vh;
}
h1,h2,h3{font-family:var(--font-serif);}
button, input, select, textarea{font-family:var(--font-sans);}

/* ================= 页面布局 ================= */
.page-layout{
  display:flex;
  max-width:1440px;
  margin:0 auto;
  gap:24px;
}

/* ================= 左侧边栏（日期选择） ================= */
.sidebar{
  width:260px;
  flex-shrink:0;
  background:var(--surface);
  border-right:1px solid var(--border);
  padding:24px 16px;
  position:sticky;
  top:126px;
  height:calc(100vh - 126px);
  overflow-y:auto;
}
.sidebar-head{
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:1px solid var(--border);
}
.sidebar-title{
  font-size:14px;
  font-weight:700;
  color:var(--text);
  letter-spacing:.3px;
  margin-bottom:4px;
}
.sidebar-hint{
  font-size:11px;
  color:var(--text-mute);
}
.version-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.version-group{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.version-item{
  padding:14px 14px;
  background:var(--surface-alt);
  border:1px solid var(--border);
  border-radius:var(--radius);
  cursor:pointer;
  transition:.2s;
  position:relative;
}
.version-item.month-item{
  background:var(--bg-soft);
}
.version-item:hover{
  border-color:var(--accent);
  background:var(--accent-soft-2);
}
.version-item.active{
  border-color:var(--accent);
  background:var(--accent-soft);
}
.version-item.active::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:3px;
  height:20px;
  background:var(--accent);
  border-radius:0 2px 2px 0;
}
.version-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:100%;
}
.toggle-icon{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--text-mute);
  transition:.2s;
  flex-shrink:0;
}
.version-item.expanded .toggle-icon{
  transform:rotate(90deg);
}
.toggle-label{
  flex:1;
}
.new-badge{
  display:inline-block;
  font-size:9px;
  color:#fff;
  background:var(--accent);
  padding:1px 7px;
  border-radius:10px;
  margin-left:6px;
  font-weight:700;
}
.version-children{
  display:none;
  flex-direction:column;
  gap:6px;
  margin-left:16px;
  padding-left:12px;
  border-left:2px solid var(--border);
}
.version-children.show{
  display:flex;
}
.daily-item{
  padding:10px 12px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  cursor:pointer;
  transition:.2s;
}
.daily-item:hover{
  border-color:var(--accent);
  background:var(--accent-soft-2);
}
.daily-item.active{
  border-color:var(--accent);
  background:var(--accent-soft);
}
.daily-label{
  font-size:12px;
  font-weight:600;
  color:var(--text);
}
.daily-desc{
  font-size:10.5px;
  color:var(--text-mute);
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.version-item .v-label{
  font-size:13.5px;
  font-weight:700;
  color:var(--text);
  letter-spacing:.2px;
}
.version-item .v-date{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--text-mute);
  margin-top:3px;
}
.version-item .v-desc{
  font-size:11.5px;
  color:var(--text-soft);
  margin-top:6px;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.version-item .new-badge{
  display:inline-block;
  font-size:9px;
  color:#fff;
  background:var(--accent);
  padding:1px 7px;
  border-radius:10px;
  margin-left:6px;
  font-weight:700;
}

/* ================= 主内容区域 ================= */
.wrap{padding:0 32px 60px; flex:1;}

/* ================= 顶部条 ================= */
.topbar{
  background:var(--surface);
  border-bottom:1px solid var(--border);
  position:sticky; top:0; z-index:50;
}
.topbar-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 32px; max-width:1440px; margin:0 auto;
}
.brand{display:flex; align-items:center; gap:12px;}
.brand-mark{width:36px;height:36px;flex-shrink:0;}
.brand-text .t1{font-size:16.5px; font-weight:700; color:var(--text); letter-spacing:.5px;}
.brand-text .t2{font-size:10px; color:var(--text-mute); letter-spacing:2px; font-family:var(--font-mono);}

.top-meta{display:flex; align-items:center; gap:16px;}
.badge-internal{
  font-size:11px; color:var(--gold); border:1px solid var(--gold-soft);
  padding:4px 10px; border-radius:20px; letter-spacing:1px; background:var(--gold-soft);
}
.live-tag{
  display:inline-flex; align-items:center; gap:7px;
  font-size:12px; color:var(--sage); font-family:var(--font-mono);
}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--sage);display:inline-block;animation:pulse 1.8s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(0.8);}}
.clock{font-family:var(--font-mono); font-size:12.5px; color:var(--text-mute);}

.btn-export{
  display:inline-flex; align-items:center; gap:7px;
  background:var(--accent); color:#fff; border:none; border-radius:20px;
  font-size:12.5px; font-weight:700; padding:9px 16px; cursor:pointer;
  font-family:var(--font-sans); transition:.2s; letter-spacing:.2px;
}
.btn-export:hover{background:var(--accent-dark); box-shadow:var(--shadow-sm);}
.btn-export:disabled{background:var(--text-mute); cursor:progress;}
.btn-export svg{flex-shrink:0;}
.btn-export-ppt{background:var(--slate, #5F7C93);}
.btn-export-ppt:hover{background:#4A6580;}

/* ================= 一级导航（面板切换） ================= */
.panel-nav{
  display:flex; gap:4px; padding:0 32px; max-width:1440px; margin:0 auto;
  overflow-x:auto; border-top:1px solid var(--border);
}
.panel-tab{
  border:none; background:transparent; cursor:pointer;
  padding:13px 18px; font-size:14px; color:var(--text-mute); font-weight:600;
  border-bottom:2px solid transparent; white-space:nowrap; transition:.2s;
  font-family:var(--font-sans);
}
.panel-tab:hover{color:var(--text);}
.panel-tab.active{color:var(--accent-dark); border-bottom-color:var(--accent);}

/* ================= 面板切换逻辑 ================= */
.panel{display:none; padding-top:48px;}
.panel.active{display:block; animation:fadeIn .35s ease;}
@keyframes fadeIn{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}

.panel-head{margin-bottom:8px;}
.eyebrow{
  font-family:var(--font-mono); font-size:11px; letter-spacing:2.5px; color:var(--accent);
  display:flex; align-items:center; gap:10px; margin-bottom:10px; text-transform:uppercase;
}
.eyebrow::before{content:"";width:20px;height:1px;background:var(--accent);}
.sec-title{font-size:25px; color:var(--text); font-weight:700; letter-spacing:.3px; margin-bottom:8px;}
.sec-sub{font-size:13.5px; color:var(--text-mute); margin-bottom:28px; max-width:700px;}
.sub-block-title{font-size:15px; color:var(--text); font-weight:700; margin-bottom:16px;}

/* ================= HERO / 总览 ================= */
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:48px; align-items:center;}
.hero-left{display:flex; flex-direction:column;}
.hero-eyebrow{
  font-family:var(--font-mono); font-size:11.5px; color:var(--accent); letter-spacing:2.5px;
  margin-bottom:18px; display:flex; align-items:center; gap:10px;
}
.hero-eyebrow::before{content:"";width:24px;height:1px;background:var(--accent);}
.hero-title{
  font-size:32px; line-height:1.35; color:var(--text); font-weight:700; letter-spacing:.2px;
  margin-bottom:16px; font-family:var(--font-serif);
}
.hero-desc{
  font-size:14.5px; color:var(--text-soft); max-width:540px; margin-bottom:24px; line-height:1.7;
}
.hero-actions{display:flex; gap:14px; margin-bottom:34px;}

.btn{
  font-size:13.5px; padding:11px 22px; border-radius:24px; cursor:pointer; letter-spacing:.3px;
  border:1px solid var(--border-strong); text-decoration:none; display:inline-block;
  transition:.2s; font-weight:600; background:var(--surface); color:var(--text-soft);
}
.btn-primary{background:var(--accent); color:#fff; border:none;}
.btn-primary:hover{background:var(--accent-dark); box-shadow:var(--shadow-sm);}
.btn-ghost{color:var(--text-soft);}
.btn-ghost:hover{border-color:var(--accent); color:var(--accent-dark);}

.hero-stats{display:flex; flex-direction:column; gap:16px;}
.stats-title{
  font-size:18px; font-weight:800; color:var(--text); letter-spacing:.5px;
  font-family:var(--font-serif);
}
.stats-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.stat-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:20px 18px; position:relative; overflow:hidden; box-shadow:var(--shadow-sm);
}
.stat-card::after{
  content:""; position:absolute; top:0; left:0; width:36px; height:3px;
  background:var(--accent); border-radius:0 0 3px 0;
}
.stat-num{font-family:var(--font-mono); font-size:27px; font-weight:700; color:var(--text); letter-spacing:.3px;}
.stat-num small{font-size:13px; color:var(--accent-dark); margin-left:2px; font-weight:600;}
.stat-label{font-size:12px; color:var(--text-mute); margin-top:6px; line-height:1.5;}

/* 热力图面板 */
.chart-panel{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:26px; box-shadow:var(--shadow-sm); overflow-x:auto;
}
.chart-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px;}
.chart-head h3{font-size:14.5px; color:var(--text); font-weight:700; letter-spacing:.3px;}
.chart-head span{font-size:10.5px; color:var(--text-mute); font-family:var(--font-mono);}
.chart-legend{display:flex; flex-wrap:wrap; gap:14px; margin-top:12px;}
.legend-item{display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--text-soft);}
.legend-dot{width:9px;height:9px;border-radius:3px;}

/* ================= Tab 组（模型种类 / 行业分类等） ================= */
.tabs-group{margin-bottom:22px;}
.tabs-label{font-size:11.5px; color:var(--text-mute); letter-spacing:1px; margin-bottom:9px; font-weight:600;}
.tabs-row{display:flex; flex-wrap:wrap; gap:8px;}
.tab-chip{
  font-size:12.5px; padding:8px 16px; border-radius:20px; border:1px solid var(--border-strong);
  color:var(--text-soft); cursor:pointer; background:var(--surface); transition:.2s; font-family:var(--font-sans);
  font-weight:500;
}
.tabs-accent .tab-chip:hover{border-color:var(--accent); color:var(--accent-dark);}
.tabs-accent .tab-chip.active{background:var(--accent); color:#fff; border-color:var(--accent); font-weight:700;}
.tabs-slate .tab-chip:hover{border-color:var(--slate); color:var(--slate);}
.tabs-slate .tab-chip.active{background:var(--slate); color:#fff; border-color:var(--slate); font-weight:700;}

/* ================= 排行榜 ================= */
.table-wrap{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow-sm);
}
table{width:100%; border-collapse:collapse; font-size:13.5px;}
thead th{
  text-align:left; padding:14px 20px; font-size:11px; letter-spacing:1px; color:var(--text-mute);
  border-bottom:1px solid var(--border-strong); font-weight:700; background:var(--surface-alt);
  text-transform:uppercase; font-family:var(--font-mono);
}
tbody td{padding:16px 20px; border-bottom:1px solid var(--border); color:var(--text-soft); vertical-align:middle;}
tbody tr:last-child td{border-bottom:none;}
tbody tr{transition:.15s;}
tbody tr:hover{background:var(--accent-soft-2);}
.rank-num{font-family:var(--font-mono); font-size:16px; color:var(--text-mute); font-weight:700;}
.rank-num.top{color:var(--gold);}
.model-name{color:var(--text); font-weight:700; font-size:14px;}
.model-org{font-size:11.5px; color:var(--text-mute); margin-top:2px;}
.pill{
  display:inline-block; font-size:11px; padding:3px 11px; border-radius:20px; letter-spacing:.3px;
  font-family:var(--font-mono); font-weight:600;
}
.pill-open{background:var(--sage-soft); color:var(--sage); border:1px solid rgba(110,139,116,0.3);}
.pill-closed{background:var(--slate-soft); color:var(--slate); border:1px solid rgba(95,124,147,0.28);}
.metric-chip{font-family:var(--font-mono); color:var(--accent-dark); font-size:13px; font-weight:700;}
.table-note{padding:14px 20px; font-size:11.5px; color:var(--text-mute); border-top:1px solid var(--border); background:var(--surface-alt);}

/* ================= 技术焦点卡片 ================= */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
  overflow:hidden; transition:.25s; display:flex; flex-direction:column; box-shadow:var(--shadow-sm);
}
.card:hover{border-color:var(--border-strong); transform:translateY(-3px); box-shadow:var(--shadow-lg);}
.card-media{width:100%; aspect-ratio:16/9; background:var(--surface-alt); overflow:hidden; position:relative;}
.card-media img, .card-media video, .card-media iframe{width:100%; height:100%; object-fit:cover; border:none; display:block;}
.card-media-empty{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--accent-soft), var(--surface-alt));
}
.card-body{padding:22px; display:flex; flex-direction:column; flex:1;}
.card-top{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:12px;}
.card-date{font-family:var(--font-mono); font-size:11px; color:var(--text-mute);}
.card-tag{
  display:inline-block; font-size:10.5px; color:var(--accent-dark); border:1px solid var(--accent-soft);
  padding:2px 10px; border-radius:20px; letter-spacing:.3px; align-self:flex-start;
  background:var(--accent-soft-2); font-weight:600;
}
.card-industries{display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 4px;}
.mini-tag{font-size:10px; color:var(--slate); background:var(--slate-soft); padding:2px 8px; border-radius:10px; font-family:var(--font-mono);}
.card h3{font-size:16px; color:var(--text); margin-bottom:9px; font-weight:700; line-height:1.4;}
.card p{font-size:13px; color:var(--text-soft); flex:1; margin-bottom:14px;}
.card-org{font-size:11.5px; color:var(--text-mute); margin-bottom:12px;}
.card-link{
  font-size:12px; color:var(--accent-dark); text-decoration:none; display:inline-flex; align-items:center; gap:5px;
  border-top:1px solid var(--border); padding-top:14px; margin-top:auto; font-weight:600;
}
.card-link:hover{text-decoration:underline;}
.card-custom-badge{
  position:absolute; top:10px; right:10px; font-size:10px; background:var(--gold); color:#fff;
  padding:2px 9px; border-radius:12px; font-weight:700; letter-spacing:.5px;
}

/* ================= 行业动态 ================= */
.news-list{display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:6px 24px; box-shadow:var(--shadow-sm);}
.news-item:last-child{border-bottom:none;}
.news-date{font-family:var(--font-mono); font-size:12.5px; color:var(--accent-dark); padding-top:2px;}
.news-cat{display:inline-block; font-size:10px; color:var(--slate); border:1px solid var(--slate-soft); background:var(--slate-soft); padding:2px 9px; border-radius:10px; margin-left:10px; font-family:var(--font-mono);}

/* ================= 领域全景 ================= */
.domain-detail-list, .industry-detail-list{
  display:grid; grid-template-columns:repeat(2,1fr); gap:16px;
}
.domain-detail-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:22px 20px; box-shadow:var(--shadow-sm); transition:.2s;
}
.domain-detail-card:hover{border-color:var(--border-strong);}
.ddc-header{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px;}
.ddc-title{font-size:15px; font-weight:700; color:var(--text); font-family:var(--font-serif);}
.ddc-meta{font-size:11px; color:var(--text-mute); font-family:var(--font-mono);}
.ddc-desc{font-size:12px; color:var(--text-soft); margin-bottom:14px; line-height:1.6;}
.ddc-models{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px;}
.ddc-model-chip{
  display:inline-flex; align-items:center; gap:4px;
  font-size:11px; padding:4px 10px; border-radius:14px;
  font-family:var(--font-mono); font-weight:600;
}
.ddc-model-chip.pill-open{background:var(--sage-soft); color:var(--sage); border:1px solid rgba(110,139,116,0.3);}
.ddc-model-chip.pill-closed{background:var(--slate-soft); color:var(--slate); border:1px solid rgba(95,124,147,0.28);}
.ddc-rank{
  display:inline-flex; align-items:center; justify-content:center;
  width:16px; height:16px; border-radius:50%;
  background:var(--accent-soft); color:var(--accent-dark);
  font-size:9px; font-weight:700;
}
.ddc-items{display:flex; flex-direction:column; gap:8px;}
.ddc-item{display:flex; align-items:baseline; gap:10px; font-size:12px; color:var(--text-soft); line-height:1.5;}
.ddc-item-date{font-family:var(--font-mono); font-size:10.5px; color:var(--text-mute); flex-shrink:0;}
.ddc-item-tag{
  font-size:10px; color:var(--accent-dark); background:var(--accent-soft);
  padding:1px 7px; border-radius:10px; flex-shrink:0; font-weight:600;
}
.ddc-item-title{color:var(--text); font-weight:500;}
.ddc-more{font-size:11px; color:var(--text-mute); padding-left:2px;}
.ddc-empty{font-size:12px; color:var(--text-mute); font-style:italic;}
.ddc-news{margin-top:12px; padding-top:12px; border-top:1px solid var(--border);}
.ddc-news-item{font-size:11.5px; color:var(--text-soft); margin-bottom:6px; line-height:1.5;}

@media (max-width:960px){
  .domain-detail-list, .industry-detail-list{grid-template-columns:1fr;}
}

/* ================= GitHub AI 热榜 ================= */
.github-toolbar{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:14px; padding:10px 14px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
}
.github-meta{font-size:12.5px; color:var(--text-mute); font-family:var(--font-mono);}
.btn-refresh-github{
  display:inline-flex; align-items:center; gap:6px;
  background:transparent; border:1px solid var(--border-strong);
  color:var(--text-soft); font-size:12px; padding:6px 12px;
  border-radius:14px; cursor:pointer; font-weight:600; transition:.2s;
}
.btn-refresh-github:hover{background:var(--accent-soft); color:var(--accent-dark); border-color:var(--accent);}

.github-list{display:flex; flex-direction:column; gap:10px;}
.github-item{
  display:flex; gap:14px; padding:16px 18px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow-sm); transition:.2s;
}
.github-item:hover{border-color:var(--accent); box-shadow:var(--shadow-md); transform:translateY(-1px);}
.github-item.top3{border-left:3px solid var(--accent);}
.github-rank{
  flex-shrink:0; width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-soft); color:var(--text-soft);
  font-weight:700; font-size:13px; font-family:var(--font-mono);
}
.github-rank.top{background:var(--accent); color:#fff;}
.github-main{flex:1; min-width:0;}
.github-header{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:6px;}
.github-name{
  font-size:14px; font-weight:700; color:var(--accent-dark);
  text-decoration:none; transition:.2s;
}
.github-name:hover{text-decoration:underline; color:var(--accent);}
.github-archived{
  font-size:10px; padding:2px 7px; background:var(--red-soft); color:var(--red);
  border-radius:10px; font-weight:600;
}
.github-lang-badge{
  font-size:11px; padding:2px 9px; background:var(--bg-soft);
  color:var(--text-soft); border-radius:10px; font-weight:600;
  border-left:3px solid #999;
}
.github-desc{font-size:12.5px; color:var(--text-soft); line-height:1.5; margin-bottom:8px;}
.github-topics{display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px;}
.github-topic{
  font-size:10.5px; padding:2px 8px; background:var(--accent-soft-2);
  color:var(--accent-dark); border-radius:10px; font-weight:500;
}
.github-stats{display:flex; flex-wrap:wrap; gap:14px; align-items:center; font-size:11.5px; color:var(--text-mute);}
.gh-stat{display:inline-flex; align-items:center; gap:3px;}
.gh-stars{color:var(--accent-dark); font-weight:700;}
.gh-homepage{color:var(--slate, #5F7C93); text-decoration:none; font-weight:600;}
.gh-homepage:hover{text-decoration:underline;}

/* ================= Toast ================= */
.toast{
  position:fixed; bottom:28px; left:50%; transform:translateX(-50%) translateY(20px);
  background:var(--text); color:#fff; font-size:13px; padding:12px 22px; border-radius:24px;
  opacity:0; pointer-events:none; transition:.3s; z-index:999; box-shadow:var(--shadow-lg);
}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

/* ================= 卡片可点击交互 ================= */
.card{cursor:pointer;}
.card-media{position:relative;}
.card-click-hint{
  position:absolute; left:0; right:0; bottom:0; padding:8px 14px;
  background:linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,0));
  color:#fff; font-size:11px; font-weight:600; letter-spacing:.3px;
  display:flex; align-items:center; gap:6px; opacity:0; transition:.2s; pointer-events:none;
}
.card-media:hover .card-click-hint{opacity:1;}
.card-click-hint svg{flex-shrink:0;}
.card-body .card-link{pointer-events:none;}

/* ================= 行业动态缩略图 ================= */
.news-item{
  display:grid; grid-template-columns:90px 1fr; gap:18px; padding:20px 0;
  border-bottom:1px solid var(--border); align-items:start;
}
.news-thumb{
  width:90px; height:90px; border-radius:var(--radius-sm); overflow:hidden;
  background:var(--surface-alt); cursor:pointer; position:relative;
  flex-shrink:0; box-shadow:var(--shadow-sm);
}
.news-thumb img{width:100%; height:100%; object-fit:cover; display:block; transition:.2s;}
.news-thumb:hover img{transform:scale(1.05);}
.news-thumb-empty{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--slate-soft), var(--surface-alt));
  color:var(--text-mute); font-size:20px;
}
.news-thumb-hint{
  position:absolute; left:0; right:0; bottom:0; padding:4px 6px;
  background:linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,0));
  color:#fff; font-size:9px; font-weight:600; opacity:0; transition:.2s;
}
.news-thumb:hover .news-thumb-hint{opacity:1;}
.news-body{cursor:pointer; min-width:0;}
.news-body h4{font-size:14.5px; color:var(--text); margin-bottom:6px; font-weight:700;}
.news-body h4:hover{color:var(--accent-dark);}
.news-body p{font-size:13px; color:var(--text-soft);}
.news-date-inline{font-family:var(--font-mono); font-size:11px; color:var(--text-mute); margin-right:8px;}
@media (max-width:768px){
  .news-item{grid-template-columns:70px 1fr; gap:12px;}
  .news-thumb{width:70px; height:70px;}
}

/* ================= 详情弹窗 Modal ================= */
.modal-overlay{
  position:fixed; inset:0; background:rgba(38,38,36,.55); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center; padding:24px;
  opacity:0; pointer-events:none; transition:.25s; z-index:1000;
}
.modal-overlay.show{opacity:1; pointer-events:auto;}
.modal{
  background:var(--surface); border-radius:var(--radius-lg); max-width:680px; width:100%;
  max-height:88vh; overflow-y:auto; position:relative; box-shadow:var(--shadow-lg);
  transform:translateY(20px) scale(.98); transition:.25s;
}
.modal-overlay.show .modal{transform:translateY(0) scale(1);}
.modal-close{
  position:absolute; top:14px; right:14px; z-index:5;
  width:34px; height:34px; border-radius:50%; border:none;
  background:rgba(255,255,255,.85); color:var(--text); font-size:22px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:.2s;
  box-shadow:var(--shadow-sm);
}
.modal-close:hover{background:var(--accent); color:#fff;}
.modal-media{width:100%; aspect-ratio:16/9; background:var(--surface-alt); overflow:hidden; border-radius:var(--radius-lg) var(--radius-lg) 0 0;}
.modal-media img, .modal-media video, .modal-media iframe{width:100%; height:100%; object-fit:cover; border:none; display:block;}
.modal-media-empty{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--accent-soft), var(--surface-alt));
  font-size:40px; color:var(--text-mute);
}
.modal-body{padding:28px 32px 32px;}
.modal-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:14px;}
.modal-tag{
  display:inline-block; font-size:11px; color:var(--accent-dark); border:1px solid var(--accent-soft);
  padding:3px 12px; border-radius:20px; background:var(--accent-soft-2); font-weight:600; letter-spacing:.3px;
}
.modal-date{font-family:var(--font-mono); font-size:11.5px; color:var(--text-mute);}
.modal-title{font-size:21px; color:var(--text); font-weight:700; line-height:1.4; margin-bottom:10px; font-family:var(--font-serif);}
.modal-org{font-size:12.5px; color:var(--text-mute); margin-bottom:16px;}
.modal-desc{font-size:14px; color:var(--text-soft); line-height:1.8; margin-bottom:18px;}
.modal-content-box{
  background:var(--surface-alt); border-radius:var(--radius); padding:18px 20px; margin-bottom:18px;
  border-left:3px solid var(--accent);
}
.modal-content-title{
  font-size:11px; color:var(--accent-dark); font-weight:700; letter-spacing:1px;
  margin-bottom:10px; text-transform:uppercase; font-family:var(--font-mono);
}
.modal-content-text{
  font-size:13.5px; color:var(--text); line-height:1.85; white-space:pre-wrap; word-break:break-word;
}
.modal-industries{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px;}
.modal-industries .mini-tag{font-size:11px; padding:3px 10px;}
.modal-actions{border-top:1px solid var(--border); padding-top:18px;}
.modal-source{
  font-size:13px; color:var(--accent-dark); text-decoration:none; font-weight:600;
  display:inline-flex; align-items:center; gap:6px;
}
.modal-source:hover{text-decoration:underline;}

/* ================= 页脚 ================= */
footer{border-top:1px solid var(--border); margin-top:60px; padding:32px 0 10px;}
.footer-grid{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:20px;}
.footer-note{font-size:11.5px; color:var(--text-mute); max-width:640px; line-height:1.8;}
.footer-note b{color:var(--text-soft);}
.footer-time{font-family:var(--font-mono); font-size:11.5px; color:var(--text-mute);}

/* ================= 响应式 ================= */
@media (max-width:1200px){
  .sidebar{width:220px;}
  .hero-grid{grid-template-columns:1fr;}
}
@media (max-width:960px){
  .page-layout{flex-direction:column;}
  .sidebar{
    width:100%;
    position:relative;
    top:auto;
    height:auto;
    overflow-y:visible;
    border-right:none;
    border-bottom:1px solid var(--border);
  }
  .version-list{flex-direction:row; flex-wrap:wrap;}
  .version-item{width:calc(50% - 4px);}
}
@media (max-width:680px){
  .card-grid{grid-template-columns:1fr;}
  .domain-detail-list, .industry-detail-list{grid-template-columns:1fr;}
  .hero-title{font-size:24px;}
  .news-item{grid-template-columns:1fr;}
  table{font-size:12px;}
  .form-row-2{grid-template-columns:1fr;}
  .wrap{padding:0 18px 60px;}
  .topbar-inner{padding:14px 18px; flex-wrap:wrap; gap:10px;}
  .top-meta{flex-wrap:wrap; gap:10px;}
  .panel-nav{padding:0 18px;}
  .version-item{width:100%;}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important;}
}

/* =====================================================
   新增面板：政策法规 / 行业案例 / 中美对比 / 芯片算力
   ===================================================== */

/* ----- 政策法规：时间线 ----- */
.policy-timeline{
  position:relative;
  padding:8px 0 8px 24px;
  margin-top:20px;
}
.policy-timeline::before{
  content:""; position:absolute; left:7px; top:16px; bottom:16px;
  width:2px; background:linear-gradient(180deg, var(--accent) 0%, var(--border-strong) 100%);
}
.policy-item{
  position:relative; margin-bottom:18px; cursor:pointer;
}
.policy-item:last-child{margin-bottom:0;}
.policy-node{
  position:absolute; left:-22px; top:18px;
  width:14px; height:14px; border-radius:50%;
  background:var(--surface); border:3px solid var(--accent);
  box-shadow:0 0 0 4px var(--bg);
  z-index:1;
}
.policy-item.pl-national .policy-node{border-color:var(--red);}
.policy-item.pl-local .policy-node{border-color:var(--accent);}
.policy-item.pl-intl .policy-node{border-color:var(--slate);}
.policy-card{
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:16px 20px;
  box-shadow:var(--shadow-sm); transition:box-shadow .2s, transform .2s;
}
.policy-item:hover .policy-card{
  box-shadow:var(--shadow-md); transform:translateY(-1px);
}
.policy-card-head{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin-bottom:8px;
}
.policy-level{
  font-size:11px; font-weight:700; padding:2px 10px;
  border-radius:10px; letter-spacing:1px;
}
.policy-level.pl-national{background:var(--red-soft); color:var(--red);}
.policy-level.pl-local{background:var(--accent-soft); color:var(--accent-dark);}
.policy-level.pl-intl{background:var(--slate-soft); color:var(--slate);}
.policy-date{
  font-family:var(--font-mono); font-size:12px; color:var(--text-mute);
}
.policy-issuer{
  font-size:12px; color:var(--text-soft); font-weight:600;
  margin-left:auto;
}
.policy-title{
  font-size:16px; color:var(--text); line-height:1.5;
  margin-bottom:6px;
}
.policy-desc{
  font-size:13px; color:var(--text-soft); line-height:1.7;
  margin-bottom:10px;
}
.policy-foot{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  flex-wrap:wrap;
}
.policy-impact{
  font-size:12px; color:var(--text-mute);
}
.policy-link{
  font-size:12px; color:var(--accent); text-decoration:none; font-weight:600;
}
.policy-link:hover{text-decoration:underline;}
.policy-media{
  margin-top:12px; height:120px; border-radius:var(--radius-sm);
  overflow:hidden; background:var(--bg-soft);
}
.policy-media img{
  width:100%; height:100%; object-fit:cover;
}

/* ----- 行业落地案例 ----- */
.case-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(360px, 1fr));
  gap:18px; margin-top:20px;
}
.case-card{
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow-sm); cursor:pointer;
  transition:box-shadow .2s, transform .2s;
  display:flex; flex-direction:column;
}
.case-card:hover{
  box-shadow:var(--shadow-md); transform:translateY(-2px);
}
.case-thumb{
  width:100%; height:160px; overflow:hidden; background:var(--bg-soft);
  position:relative;
}
.case-thumb img{
  width:100%; height:100%; object-fit:cover; transition:transform .4s;
}
.case-card:hover .case-thumb img{transform:scale(1.05);}
.case-thumb-empty{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  font-size:48px; background:var(--bg-soft);
}
.case-body{
  padding:16px 18px; display:flex; flex-direction:column; gap:6px; flex:1;
}
.case-top{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  font-size:11px;
}
.case-industry{
  background:var(--accent-soft); color:var(--accent-dark);
  padding:2px 10px; border-radius:10px; font-weight:700; letter-spacing:.5px;
}
.case-region{
  color:var(--slate); font-weight:600;
}
.case-date{
  font-family:var(--font-mono); color:var(--text-mute); margin-left:auto;
}
.case-body h4{
  font-size:16px; color:var(--text); line-height:1.5; margin:2px 0;
}
.case-org{
  font-size:12px; color:var(--text-mute); margin-bottom:6px;
}
.case-row{
  display:flex; gap:10px; font-size:12px; line-height:1.6;
}
.case-label{
  flex-shrink:0; width:64px; color:var(--text-mute); font-weight:600;
}
.case-val{
  color:var(--text-soft); flex:1;
}
.case-val.case-effect{
  color:var(--sage); font-weight:600;
}
.case-link{
  margin-top:auto; padding-top:8px;
  font-size:12px; color:var(--accent); font-weight:600;
  border-top:1px dashed var(--border);
}

/* ----- 中美对比 ----- */
.competition-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(440px, 1fr));
  gap:18px; margin-top:20px;
}
.comp-card{
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:20px 22px;
  box-shadow:var(--shadow-sm);
}
.comp-card-head{
  display:flex; align-items:center; gap:10px; margin-bottom:16px;
  padding-bottom:12px; border-bottom:1px solid var(--border);
}
.comp-icon{
  width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center;
  color:var(--accent);
}
.comp-icon svg{
  width:22px; height:22px; display:block;
}
.comp-card-head h4{
  font-size:16px; color:var(--text);
}
.comp-vs{
  display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:stretch;
  margin-bottom:12px;
}
.comp-side{
  padding:12px 14px; border-radius:var(--radius-sm);
  background:var(--bg-soft); display:flex; flex-direction:column; gap:4px;
}
.comp-us{background:var(--slate-soft);}
.comp-cn{background:var(--accent-soft-2);}
.comp-flag{
  font-size:12px; font-weight:700; letter-spacing:.5px;
}
.comp-us .comp-flag{color:var(--slate);}
.comp-cn .comp-flag{color:var(--accent-dark);}
.comp-main{
  font-size:16px; font-weight:700; color:var(--text); line-height:1.4;
  margin-top:2px;
}
.comp-org{
  font-size:11px; color:var(--text-mute);
}
.comp-sub{
  font-size:11px; color:var(--text-soft); font-family:var(--font-mono);
  margin-top:2px;
}
.comp-divider{
  align-self:center; font-size:12px; font-weight:800; color:var(--text-mute);
  background:var(--surface); border:1px solid var(--border-strong);
  border-radius:50%; width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  letter-spacing:.5px;
}
.comp-gap{
  font-size:12px; color:var(--text-soft); line-height:1.7;
  padding-top:10px; border-top:1px dashed var(--border);
}

/* ----- 芯片算力表格 ----- */
.chip-vendor{
  display:inline-block; padding:2px 10px; border-radius:10px;
  font-size:11px; font-weight:700; letter-spacing:.5px;
}
.chip-vendor.chip-domestic{
  background:var(--accent-soft); color:var(--accent-dark);
}
.chip-vendor.chip-intl{
  background:var(--slate-soft); color:var(--slate);
}
.chip-perf{
  font-family:var(--font-mono); font-size:12px; color:var(--text);
  font-weight:600;
}
.chip-status{
  display:inline-block; padding:2px 10px; border-radius:10px;
  font-size:11px; font-weight:700;
}
.chip-st-ok{background:var(--sage-soft); color:var(--sage);}
.chip-st-warn{background:var(--gold-soft); color:var(--gold);}
.chip-st-ban{background:var(--red-soft); color:var(--red);}
.chip-note{
  font-size:12px; color:var(--text-soft); line-height:1.5;
  max-width:240px;
}

/* ----- 响应式适配 ----- */
@media (max-width:768px){
  .case-grid{grid-template-columns:1fr;}
  .competition-grid{grid-template-columns:1fr;}
  .comp-vs{grid-template-columns:1fr;}
  .comp-divider{display:none;}
  .chip-note{max-width:none;}
  .policy-issuer{margin-left:0;}
}