:root{
  --bg:#f5f6fa; --card:#ffffff; --line:#e3e6ee; --txt:#1f2430; --sub:#6b7280;
  --red:#c22b2b; --red-d:#8f1d1d; --red-bg:#fdf0ef; --tag-jz:#d97706; --tag-sf:#2563eb; --tag-xs:#dc2626; --tag-ms:#7c3aed; --tag-xzss:#059669;
  --chip-bg:#eef1f6; --chip-on:#1f2430;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{background:var(--bg); color:var(--txt); font-family:"Microsoft YaHei","PingFang SC",sans-serif; padding:16px 20px 40px;}
.wrap{max-width:1280px; margin:0 auto;}
h1{font-size:22px; font-weight:700; letter-spacing:.5px;}
.sub{font-size:12px; color:var(--sub); margin-top:6px; line-height:1.7;}
.head{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:10px;}
.badge{display:inline-block; background:var(--red); color:#fff; font-size:11px; padding:3px 10px; border-radius:12px; margin-left:8px; vertical-align:middle;}
.brand{display:flex; align-items:center; gap:14px; background:linear-gradient(135deg,#8f1d1d,#c22b2b); color:#fff; border-radius:10px; padding:12px 18px; margin-bottom:12px; flex-wrap:wrap;}
.brand-logo{display:flex; align-items:center;}
.brand-logo img{height:52px; width:auto; display:block; background:#fff; border-radius:10px; padding:4px; box-shadow:0 2px 8px rgba(0,0,0,.12);}
@media (max-width: 640px){ .brand-logo img{height:40px;} }
.brand-meta{font-size:12px; line-height:1.7; color:#fdeeee; min-width:0;}
.brand-meta b{font-size:15px; color:#fff;}
.brand-tag{font-size:11px; background:rgba(255,255,255,.18); padding:3px 12px; border-radius:13px; margin-left:auto; white-space:nowrap;}
.cards{display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin:14px 0 12px;}
.card{background:var(--card); border:1px solid var(--line); border-radius:10px; padding:10px 12px;}
.card b{font-size:22px; color:var(--red-d); display:block;}
.card span{font-size:12px; color:var(--sub);}
.card b.dim{font-size:15px; line-height:1.5;}
.card .sub-detail{font-size:11px; color:var(--sub); margin-top:3px; line-height:1.6;}
.card .sub-detail b{font-size:11px; display:inline; color:var(--red-d);}
.card.wide{grid-column:1/-1; display:flex; flex-direction:column; gap:8px;}
.subj-title{font-size:12px; color:var(--sub); font-weight:700;}
.subj-hint{font-weight:400; opacity:.75; margin-left:6px;}
.subj-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.subj-cell{display:flex; align-items:baseline; gap:8px; padding:8px 12px; border-radius:8px; flex-wrap:wrap; border:1px solid transparent;}
.subj-cell.gr{background:rgba(220,38,38,.07); border-color:rgba(220,38,38,.22);}
.subj-cell.dw{background:rgba(37,99,235,.07); border-color:rgba(37,99,235,.22);}
.subj-cell b{display:inline; font-size:24px; color:var(--red-d);}
.subj-cell.dw b{color:#2563eb;}
.subj-cell span{font-size:12px; color:var(--sub);}
.subj-detail{font-size:11px; color:var(--sub); width:100%;}
.subj-foot{font-size:11px; color:var(--sub); opacity:.85;}
/* ===== 更新日志（ticker）===== */
.ticker{display:flex; align-items:center; gap:10px; background:linear-gradient(90deg,#eef3fc,#f7f9ff);
  border:1px solid #cfe0f7; border-left:4px solid #2b5cd9; border-radius:10px; padding:8px 12px; margin:0 0 12px;
  font-size:12.5px; min-height:42px;}
.ticker-head{display:flex; align-items:center; gap:8px; flex-shrink:0;}
.ticker-badge{background:#2b5cd9; color:#fff; font-size:11px; font-weight:700; padding:3px 10px; border-radius:12px; white-space:nowrap;}
.ticker-latest{color:var(--sub); font-size:11.5px; white-space:nowrap;}
.ticker-latest b{color:var(--red-d); font-size:13px;}
.ticker-track{flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; cursor:pointer;
  display:flex; align-items:center; gap:8px;}
.ticker-track .tk-date{color:var(--sub); font-size:11px; flex-shrink:0;}
.ticker-track .tk-new{background:#fff3e0; color:#d97706; font-size:10.5px; padding:1px 7px; border-radius:9px; flex-shrink:0;}
.ticker-track .tk-name{color:#1a3a94; font-weight:700; text-decoration:underline; text-decoration-color:#9db8ec;
  text-underline-offset:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:52%;}
.ticker-track .tk-name:hover{color:#2b5cd9; text-decoration-color:#2b5cd9;}
.ticker-track .tk-meta{color:var(--sub); font-size:11.5px; flex-shrink:0;}
.ticker-track .tk-i{color:#9aa3b2; font-size:11px; flex-shrink:0;}
.ticker-ops{display:flex; align-items:center; gap:6px; flex-shrink:0; position:relative;}
.ticker-pause,.ticker-more{border:1px solid #cfe0f7; background:#fff; color:#2b5cd9; font-size:11.5px;
  border-radius:8px; padding:3px 9px; cursor:pointer; line-height:1.5;}
.ticker-pause:hover,.ticker-more:hover{border-color:#2b5cd9; background:#eef3fc;}
.ticker-hist{position:absolute; right:0; top:calc(100% + 6px); background:#fff; border:1px solid #e3e6ee;
  border-radius:10px; box-shadow:0 6px 20px rgba(31,36,48,.12); padding:6px; min-width:230px; z-index:60;}
.ticker-hist-i{display:block; padding:6px 10px; border-radius:8px; font-size:12px; color:var(--txt);
  cursor:pointer; text-decoration:none;}
.ticker-hist-i:hover{background:#eef3fc;}
.ticker-hist-i b{color:#2b5cd9;}
.ticker-hist-i .dim{color:#9aa3b2; font-size:11px;}
.ticker-hist-i.cur{background:#eef3fc; font-weight:700;}
.ctrl{background:var(--card); border:1px solid var(--line); border-radius:10px; padding:10px 12px; margin-bottom:12px; display:flex; flex-wrap:wrap; gap:14px; align-items:center;}
.ctrl .grp{display:flex; align-items:center; gap:6px; flex-wrap:wrap;}
.ctrl .gl{font-size:12px; color:var(--sub); margin-right:2px;}
.chip{padding:4px 12px; border-radius:14px; background:var(--chip-bg); font-size:12px; cursor:pointer; border:1px solid transparent; user-select:none;}
/* 【2026-09-01 移动端修复】动态chips容器（年份/风险）改inline-flex可换行：JS拼接无空白符的连续inline chip在≤640px窄屏不可断行导致横向溢出（实测375px溢出79px）；桌面单行渲染不变 */
#year-chips,#risk-chips{display:inline-flex; flex-wrap:wrap; row-gap:6px;}
.chip.on{background:var(--red); color:#fff;}
.chip.jz.on{background:var(--tag-jz);}
.chip.sf.on{background:var(--tag-sf);}
input[type=text]{border:1px solid var(--line); border-radius:8px; padding:5px 10px; font-size:12px; width:180px; outline:none;}
input[type=text]:focus{border-color:var(--red);}
.btn-play{padding:5px 16px; border-radius:16px; border:none; background:var(--red); color:#fff; font-size:12px; cursor:pointer;}
.btn-play.pause{background:var(--sub);}
.timeline-note{font-size:12px; color:var(--red-d); min-width:150px;}
.main{display:flex; gap:12px;}
.map-panel{flex:1.25; background:var(--card); border:1px solid var(--line); border-radius:10px; padding:8px; min-width:0;}
.list-panel{flex:1; background:var(--card); border:1px solid var(--line); border-radius:10px; padding:10px 12px; min-width:0; display:flex; flex-direction:column; max-height:640px;}
.lp-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;}
.lp-title{font-size:14px; font-weight:700;}
.lp-count{font-size:12px; color:var(--sub);}
.lp-body{overflow-y:auto; flex:1; padding-right:4px;}
table{width:100%; border-collapse:collapse; font-size:12px;}
.lp-body table tr{border-bottom:1px solid var(--line);}
.lp-body table td{padding:7px 4px; vertical-align:top; line-height:1.55;}
.cname{font-weight:700;}
.meta{color:var(--sub); font-size:11px; margin-top:2px;}
.tag{display:inline-block; font-size:10px; padding:1px 7px; border-radius:9px; color:#fff; margin-right:4px;}
.tag-jz{background:var(--tag-jz);} .tag-sf{background:var(--tag-sf);} .tag-xs{background:var(--tag-xs);} .tag-ms{background:var(--tag-ms);} .tag-xzss{background:var(--tag-xzss);}
.tag-qy{background:#6b7280;} /* 处置数量徽章（中性灰，不区分个人/单位定性） */
.res{color:#333; margin-top:2px;}
.src{color:var(--sub); font-size:11px; word-break:break-all;}
.src-link{display:inline-block; margin-left:8px; padding:1px 10px; font-size:11px; color:#fff; background:var(--red); border-radius:9px; text-decoration:none; cursor:pointer; vertical-align:1px;}
.src-link:hover{opacity:.85;}
.src-link.off{background:#cbd5e1; color:#64748b; cursor:default;}
.banner{background:var(--red-bg); border:1px solid #f3c9c4; border-radius:10px; padding:8px 14px; margin-bottom:12px; font-size:12px; line-height:1.8; display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.banner b{color:var(--red-d);}
.banner a{color:var(--red-d); cursor:pointer; text-decoration:underline;}
.empty{color:var(--sub); text-align:center; padding:30px 0; font-size:13px;}
.foot{margin-top:14px; background:var(--card); border:1px solid var(--line); border-radius:10px; padding:12px 16px; font-size:12px; color:var(--sub); line-height:1.9;}
.foot b{color:var(--txt);}
/* ===== 交互地图（热力图 · 底图边界依据自然资源部标准地图GS(2023)2767号） ===== */
.map-wrap{width:100%; height:560px; border-radius:6px;}
.map-note{font-size:11px; color:var(--sub); padding:8px 4px 0; line-height:1.7;}
.grp-play{margin-left:auto;}

/* ===== 风险类型标签 ===== */
.chip.risk{background:#fdf0ef; color:var(--red-d); border-color:#f3c9c4;}
.chip.risk:hover{background:#f9dedb;}
.chip.risk.on{background:var(--red-d); color:#fff; border-color:var(--red-d);}
.tag-risk{background:#b45309;} /* 风险类型徽章（深琥珀） */

/* ===== 案例列表行：可点击查看详情 ===== */
.lp-body table tr{cursor:pointer; transition:background .12s;}
.lp-body table tr:hover{background:#faf6f0;}
.lp-body table tr:active{background:#f5edE3;}
.detail-hint{display:inline-block; margin-left:6px; font-size:10px; color:#b0956d; opacity:0; transition:opacity .12s;}
.lp-body table tr:hover .detail-hint{opacity:1;}

/* ===== 案例详情弹窗 ===== */
.modal-mask{display:none; position:fixed; inset:0; background:rgba(20,16,12,.55); z-index:999; align-items:center; justify-content:center; padding:20px;}
.modal{background:#fff; border-radius:12px; width:640px; max-width:100%; max-height:86vh; display:flex; flex-direction:column; box-shadow:0 12px 40px rgba(0,0,0,.25); overflow:hidden;}
.modal-head{position:relative; padding:14px 46px 10px 18px; border-bottom:1px solid var(--line); background:linear-gradient(135deg,#fdf0ef,#fff);}
.modal-title{font-size:15px; font-weight:700; line-height:1.6;}
.modal-sub{font-size:11px; color:var(--sub); margin-top:3px;}
.modal-close{position:absolute; top:10px; right:10px; width:30px; height:30px; border:none; border-radius:8px; background:#f0ede4; color:#6b7280; font-size:15px; cursor:pointer;}
.modal-close:hover{background:var(--red); color:#fff;}
.modal-body{padding:12px 18px 16px; overflow-y:auto; flex:1;}
.dt-table{width:100%; border-collapse:collapse; font-size:12.5px;}
.dt-row{display:flex; gap:12px; padding:7px 0; border-bottom:1px dashed var(--line);}
.dt-row:last-child{border-bottom:none;}
.dt-k{flex:0 0 96px; color:var(--sub); font-size:12px; padding-top:1px;}
.dt-v{flex:1; line-height:1.65; word-break:break-word;}
.dt-src{margin-top:10px; padding:8px 12px; background:var(--red-bg); border-radius:8px; font-size:12px; color:#6b7280; line-height:1.8; word-break:break-all;}
.dt-tip{margin-top:8px; font-size:11px; color:#a8a29e; line-height:1.6;}

/* ===== 付费专业报告入口 + 支付弹窗 ===== */
.report-cta{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; background:linear-gradient(135deg,#fdf6ec,#fdf0ef); border:1px solid #eccfb8; border-left:5px solid var(--red); border-radius:10px; padding:14px 18px; margin:14px 0 12px;}
.rc-text{flex:1; min-width:260px;}
.rc-text b{display:block; font-size:15px; color:var(--red-d); margin-bottom:4px;}
.rc-text span{font-size:12px; color:var(--sub); line-height:1.7;}
.rc-text span b{display:inline; font-size:12px; color:var(--red);}
.rc-btn{background:linear-gradient(135deg,#8f1d1d,#c22b2b); color:#fff; border:none; border-radius:8px; padding:11px 22px; font-size:14px; font-weight:700; cursor:pointer; white-space:nowrap; box-shadow:0 2px 6px rgba(143,29,29,.25); transition:transform .12s, box-shadow .12s;}
.rc-btn:hover{transform:translateY(-1px); box-shadow:0 4px 12px rgba(143,29,29,.35);}
.rc-btn.ghost{background:#fff; color:var(--red-d); border:1px solid var(--red);}
.pay-modal{max-width:520px; width:92%;}
.pay-tabs{display:flex; gap:8px; margin-bottom:12px;}
.pay-tabs .ptab{flex:1; border:1.5px solid var(--line); background:#fff; color:var(--txt); border-radius:10px; padding:8px 10px; font-size:12.5px; font-weight:600; cursor:pointer; transition:all .18s;}
.pay-tabs .ptab:hover{border-color:var(--red); color:var(--red-d);}
.pay-tabs .ptab.on{background:var(--red); border-color:var(--red); color:#fff; box-shadow:0 2px 8px rgba(143,29,29,.25);}
.pay-steps{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px;}
.pay-steps .step{flex:1; min-width:100px; text-align:center; font-size:11.5px; color:var(--sub); background:var(--chip-bg); border-radius:14px; padding:5px 8px;}
.pay-steps .step.on{background:var(--red); color:#fff; font-weight:700;}
.pay-qr{display:flex; gap:14px; justify-content:center; margin:6px 0 10px;}
.qr-item{text-align:center;}
.qr-item img{width:150px; height:150px; border:1px solid var(--line); border-radius:10px; background:#fff; display:block;}
.qr-item b{display:block; font-size:12px; color:var(--txt); margin-top:5px;}
.pay-tip{font-size:11.5px; color:var(--sub); background:var(--red-bg); border-radius:8px; padding:8px 12px; line-height:1.7; margin-bottom:10px;}
.pay-input-row{display:flex; gap:8px;}
.pay-input-row input{flex:1; border:1px solid var(--line); border-radius:8px; padding:9px 12px; font-size:14px; font-family:Consolas,monospace; letter-spacing:1px;}
.pay-input-row input:focus{outline:none; border-color:var(--red);}
.pay-msg{font-size:11.5px; color:var(--sub); margin-top:10px; line-height:1.7;}
.pay-msg.bad{color:var(--red); font-weight:700;}
.pay-ok{text-align:center; padding:10px 4px 4px;}
.pay-ok-icon{width:52px; height:52px; line-height:52px; margin:0 auto 10px; border-radius:50%; background:var(--red); color:#fff; font-size:26px;}
.pay-ok b{font-size:16px; color:var(--red-d); display:block; margin-bottom:8px;}
.pay-ok p{font-size:12px; color:var(--sub); line-height:1.8; margin-bottom:14px;}
.pay-ok-btns{display:flex; gap:10px; justify-content:center; flex-wrap:wrap;}

/* ===== 主站顶部导航（深红渐变，与品牌区风格一致） ===== */
.site-nav{background:linear-gradient(135deg,#8f1d1d,#c22b2b); border-radius:10px; padding:0 16px; margin-bottom:12px; box-shadow:0 1px 4px rgba(143,29,29,.15);}
.site-nav-in{display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; flex-wrap:wrap;}
.nav-home{color:#ffd9a0; font-size:13px; font-weight:700; text-decoration:none; white-space:nowrap; letter-spacing:.5px;}
.nav-home:hover{color:#fff;}
.nav-links{display:flex; gap:4px; flex-wrap:wrap; align-items:center;}
.nav-links a{color:#fdeeee; font-size:13px; text-decoration:none; padding:6px 12px; border-radius:6px; white-space:nowrap; transition:background .15s,color .15s;}
.nav-links a:hover{background:rgba(255,255,255,.18); color:#fff;}
.nav-toggle{display:none; background:none; border:none; color:#fff; font-size:19px; cursor:pointer; padding:4px 8px; line-height:1; border-radius:6px;}
.nav-toggle:hover{background:rgba(255,255,255,.15);}

/* ===== 响应式：平板 / 手机 / 电脑 三端自适应 ===== */
@media (max-width:1100px){
  h1{font-size:20px;}
  .brand-tag{display:none;}
}
@media (max-width:900px){
  .main{flex-direction:column;}
  .map-wrap{height:440px;}
  .list-panel{max-height:none;}
  .lp-body{max-height:55vh;}
  /* 平板端导航：链接可自动换行，无需汉堡按钮 */
  .site-nav{padding:6px 12px;}
  .site-nav-in{gap:6px;}
  .nav-home{font-size:12px;}
  .nav-links a{font-size:12px; padding:5px 10px;}
}
@media (max-width:640px){
  body{padding:10px 10px 26px;}
  /* 手机端弹窗：近全屏 */
  .modal-mask{padding:0;}
  .modal{width:100%; height:100%; max-height:100%; border-radius:0;}
  .dt-row{flex-direction:column; gap:2px;}
  .dt-k{flex:none;}
  /* 手机端导航：汉堡按钮展开竖排菜单 */
  .site-nav{padding:0 12px;}
  .site-nav-in{flex-wrap:nowrap;}
  .nav-home{font-size:12px; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis;}
  .nav-toggle{display:block;}
  .nav-links{display:none; width:100%; flex-direction:column; align-items:stretch; gap:2px; padding:0 0 8px;}
  .nav-links.open{display:flex;}
  .nav-links a{display:block; padding:10px 12px; border-radius:8px; font-size:14px; background:rgba(255,255,255,.08);}
  .brand{padding:10px 12px; gap:8px; border-radius:8px;}
  .brand-logo{font-size:20px;}
  .brand-meta{font-size:11px;}
  .brand-meta b{font-size:13px;}
  .head h1{font-size:17px; line-height:1.4;}
  .sub{font-size:11px;}
  .badge{font-size:10px; padding:2px 8px;}
  .cards{grid-template-columns:repeat(2,1fr); gap:8px; margin:12px 0 10px;}
  /* 手机端更新日志：徽章+日期一行，轮播区独立一行，操作按钮收窄 */
  .ticker{flex-wrap:wrap; gap:6px; padding:8px 10px; font-size:12px;}
  .ticker-head{width:100%;}
  .ticker-track{order:3; width:100%; flex:none;}
  .ticker-track .tk-name{max-width:64%;}
  .ticker-ops{margin-left:auto;}
  .card{padding:8px 10px; border-radius:8px;}
  .card b{font-size:18px;}
  .subj-grid{grid-template-columns:1fr; gap:6px;}
  .subj-cell{padding:7px 10px;}
  .subj-cell b{font-size:20px;}
  .ctrl{padding:10px; gap:10px;}
  .ctrl .grp{width:100%;}
  .grp-play{margin-left:0;}
  input[type=text]{width:100%;}
  .chip{padding:5px 12px; font-size:12px;}
  .timeline-note{display:none;}
  .btn-play{flex:1; text-align:center;}
  .map-wrap{height:320px;}
  .lp-body{max-height:46vh;}
  .banner{padding:8px 12px; font-size:11px;}
  .banner a{display:block; margin-top:2px;}
  .foot{padding:10px 12px; font-size:11px;}
  /* 手机端付费报告入口与支付弹窗 */
  .report-cta{padding:10px 12px;}
  .rc-text span{font-size:11px;}
  .rc-btn{width:100%;}
  .pay-qr{gap:10px;}
  .qr-item img{width:120px; height:120px;}
  .pay-input-row{flex-direction:column;}
  .pay-input-row .rc-btn{width:100%;}
}

/* ===== 【Q-2 2026-09-03】近30天新增精选 ===== */
.recent-batch{
  max-width:1280px; margin:14px auto 0; padding:0 12px;
}
.rb-head{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  background:linear-gradient(135deg,#1e293b,#334155); color:#fff;
  border-radius:10px 10px 0 0; padding:10px 14px;
}
.rb-badge{ font-size:12.5px; font-weight:700; background:#fbbf24; color:#1e293b; padding:3px 10px; border-radius:6px; }
.rb-title{ font-size:13px; color:#e2e8f0; flex:1; }
.rb-more{ font-size:12.5px; color:#fbbf24; cursor:pointer; user-select:none; }
.rb-more:hover{ text-decoration:underline; }
.rb-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px;
  background:#fff; border:1px solid #e2e8f0; border-top:none; border-radius:0 0 10px 10px;
  padding:12px;
}
.rb-card{
  display:flex; flex-direction:column; gap:6px; cursor:pointer;
  border:1px solid #e2e8f0; border-radius:8px; padding:10px 12px;
  background:#fafbfc; transition:all .15s;
}
.rb-card:hover{ border-color:#2b5cd9; background:#f0f5ff; transform:translateY(-1px); }
.rb-cat{ font-size:10.5px; font-weight:600; padding:2px 8px; border-radius:6px; align-self:flex-start; }
.rb-prov{ font-size:11px; color:#94a3b8; }
.rb-name{ font-size:13px; color:#1e293b; font-weight:600; line-height:1.4; }
.rb-cat.tag-jz{ background:#fff1f2; color:#c81623; }
.rb-cat.tag-sf{ background:#eef2ff; color:#4338ca; }
@media (max-width: 768px){
  .rb-grid{ grid-template-columns:repeat(2,1fr); }
  .rb-title{ font-size:12px; }
}
@media (max-width: 480px){
  .rb-grid{ grid-template-columns:1fr; }
}

/* ===== 【U-5 2026-09-03】"待核证"灰色 chip 统一 ===== */
.gray-chip{
  display:inline-block; padding:1px 7px; font-size:11px; font-weight:600;
  color:#94a3b8; background:#f1f5f9; border:1px solid #e2e8f0; border-radius:8px;
  letter-spacing:0.05em;
}
.src-link.off.gray-chip{ color:#94a3b8; }

/* =========================================================================
 * 【2026-09-03 精简改版 C2】首页头部紧凑化：
 *   导航 LOGO+合规立场、删 brand 条、口径一行折叠、紧凑统一统计条、
 *   近30天新增=长条滚动（点开看全部）。原 .brand/.cards/.rb-head 结构已从
 *   index.html 移除，以下为替换后的新样式；置于文件末尾以便覆盖旧规则。
 * ========================================================================= */
body{ padding:10px 14px 28px; }
.site-nav{ margin-bottom:8px; }

/* 导航左上角：LOGO + “合规立场”文字 */
.nav-home.logo-home{ padding:0; background:transparent; display:flex; align-items:center; gap:8px; text-decoration:none; }
.logo-home img{ height:22px; display:block; background:#fff; border-radius:5px; padding:2px; box-shadow:0 1px 3px rgba(0,0,0,.12); }
.logo-text{ font-size:16px; font-weight:700; letter-spacing:.5px; color:#fff; line-height:1; }
.logo-text span{ color:#ffd9a0; }

/* 标题区：更紧凑 */
.head{ margin-top:2px; margin-bottom:4px; }
.head h1{ font-size:17px; letter-spacing:.2px; }
.badge{ font-size:10px; padding:2px 8px; margin-left:6px; }

/* 极简口径：一行 + 详细折叠 */
.minimal-bar{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  font-size:11px; color:#6b7280; margin-top:4px; line-height:1.4;
}
.minimal-bar b{ color:#c22b2b; }
.minimal-bar .note{ color:#8f1d1d; }
.minimal-bar .more{
  color:#2b5cd9; cursor:pointer; font-size:10px; user-select:none;
  background:#eef3fc; padding:2px 8px; border-radius:10px; white-space:nowrap;
}
.minimal-detail{
  display:none; font-size:11px; color:#6b7280; line-height:1.5;
  padding:7px 11px; background:#f8f9fc; border:1px solid #eef1f6; border-radius:8px; margin-top:5px;
}
.minimal-detail.open{ display:block; }
.minimal-detail b{ color:#c22b2b; }

/* 更新日志（ticker）紧凑化 */
.ticker{ padding:6px 10px; margin:0 0 8px; min-height:34px; gap:8px; border-radius:8px; }
.ticker-badge{ font-size:10px; padding:2px 8px; border-radius:10px; }
.ticker-latest{ font-size:11px; }
.ticker-latest b{ font-size:12px; }
.ticker-track{ gap:6px; }
.ticker-track .tk-new{ font-size:10px; padding:1px 6px; }
.ticker-track .tk-name{ font-size:12px; max-width:46%; }
.ticker-pause,.ticker-more{ padding:2px 7px; font-size:11px; border-radius:6px; }

/* 全国性专项 banner 紧凑化 */
.banner{ padding:6px 12px; margin-bottom:8px; border-radius:8px; font-size:11px; line-height:1.5; }

/* 紧凑统一统计条：7 项（174/28/113/61/19/148/72028） */
.compact-stats{
  display:flex; flex-wrap:wrap; gap:6px; margin:8px 0;
}
.stat-item{
  flex:1 1 calc(14% - 6px); min-width:96px;
  background:#fff; border:1px solid #e3e6ee; border-radius:8px;
  padding:7px 4px; text-align:center; line-height:1.3;
}
.stat-item b{ display:block; font-size:17px; color:#8f1d1d; }
.stat-item span{ display:block; font-size:10px; color:#6b7280; margin-top:2px; }
.stat-item .sub{ font-size:9.5px; color:#94a3b8; margin-top:2px; }
.stat-item.dw b{ color:#2563eb; }
.subj-foot{ font-size:10px; color:#6b7280; width:100%; margin:2px 2px 0; line-height:1.5; }

/* 近30天新增：长条滚动版 */
.recent-batch{ margin-top:10px; }
.rb-scroll{
  display:flex; align-items:center; gap:8px;
  background:#fff; border:1px solid #e2e8f0; border-radius:9px;
  padding:6px 10px; overflow:hidden;
}
.rb-scroll-head{ display:flex; align-items:center; gap:6px; flex-shrink:0; }
.rb-scroll-head .rb-badge{
  background:#fbbf24; color:#1e293b; font-size:11px; font-weight:700;
  padding:2px 8px; border-radius:6px; white-space:nowrap;
}
.rb-count{ font-size:10.5px; color:#6b7280; white-space:nowrap; }
.rb-count b{ color:#c22b2b; font-size:11px; }
.rb-scroll-track{
  flex:1; min-width:0; overflow:hidden; position:relative;
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.rb-scroll-items{
  display:inline-flex; gap:26px; will-change:transform;
  animation:rbMarquee 24s linear infinite;
}
.rb-scroll-track:hover .rb-scroll-items{ animation-play-state:paused; }
.rb-scroll-item{
  display:inline-flex; align-items:center; gap:6px; font-size:11.5px;
  white-space:nowrap; cursor:pointer; padding:2px 0;
}
.rb-scroll-item .rb-cat{ font-size:9.5px; font-weight:600; padding:1px 6px; border-radius:5px; }
.rb-scroll-item .rb-cat.tag-jz{ background:#fff1f2; color:#c81623; }
.rb-scroll-item .rb-cat.tag-sf{ background:#eef2ff; color:#4338ca; }
.rb-scroll-item .rb-prov{ font-size:10px; color:#94a3b8; }
.rb-scroll-item .rb-name{ color:#1e293b; font-weight:600; }
.rb-scroll-item:hover .rb-name{ color:#2b5cd9; text-decoration:underline; }
.rb-scroll-more{
  flex-shrink:0; font-size:10.5px; color:#2b5cd9; cursor:pointer; user-select:none;
  background:#eef3fc; padding:2px 9px; border-radius:10px; white-space:nowrap;
}
@keyframes rbMarquee{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}
/* 点开后的完整卡片网格 */
.recent-batch .rb-grid{
  display:none; grid-template-columns:repeat(3,1fr); gap:8px;
  background:#fff; border:1px solid #e2e8f0; border-top:none;
  border-radius:0 0 9px 9px; padding:10px;
}
.recent-batch .rb-grid.open{ display:grid; }
.recent-batch .rb-card{
  display:flex; flex-direction:column; gap:4px; cursor:pointer;
  border:1px solid #e2e8f0; border-radius:7px; padding:8px 10px;
  background:#fafbfc; transition:all .15s;
}
.recent-batch .rb-card:hover{ border-color:#2b5cd9; background:#f0f5ff; transform:translateY(-1px); }
.recent-batch .rb-card .rb-cat{ font-size:10px; padding:1px 6px; border-radius:5px; align-self:flex-start; }
.recent-batch .rb-card .rb-cat.tag-jz{ background:#fff1f2; color:#c81623; }
.recent-batch .rb-card .rb-cat.tag-sf{ background:#eef2ff; color:#4338ca; }
.recent-batch .rb-card .rb-prov{ font-size:10px; color:#94a3b8; }
.recent-batch .rb-card .rb-name{ font-size:12px; color:#1e293b; font-weight:600; line-height:1.4; }

@media (max-width:900px){
  .head h1{ font-size:15px; }
  .ticker{ flex-wrap:wrap; gap:5px; }
  .ticker-track{ order:3; width:100%; flex:none; }
  .ticker-track .tk-name{ max-width:60%; }
  .stat-item{ min-width:100px; }
  .recent-batch .rb-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  body{ padding:8px 8px 20px; }
  .logo-home img{ height:20px; }
  .logo-text{ font-size:14px; }
  .head h1{ font-size:14px; line-height:1.35; }
  .minimal-bar{ font-size:10px; gap:5px; margin-top:3px; }
  .stat-item{ flex:1 1 calc(50% - 6px); min-width:0; padding:6px 2px; }
  .stat-item b{ font-size:15px; }
  .stat-item span{ font-size:9.5px; }
  .stat-item .sub{ font-size:9px; }
  .ticker{ padding:6px 9px; }
  .rb-scroll{ padding:6px 9px; gap:6px; }
  .rb-scroll-head{ flex-direction:column; align-items:flex-start; gap:1px; }
  .rb-count{ display:none; }
  .rb-scroll-track{ mask-image:none; -webkit-mask-image:none; }
  .recent-batch .rb-grid{ grid-template-columns:1fr; padding:8px; }
}
