/* 安全猿导航 · 极简风格（与 ComBox 博客视觉一致） */
:root{
  --bg:#faf8f8; --card:#ffffff; --text:#272420; --muted:#8a8178;
  --border:#e7e3de; --soft:#f1ede8; --accent:#272420;
  --shadow:0 1px 2px rgba(39,36,32,.04),0 10px 28px rgba(39,36,32,.05);
  --radius:14px;
}
html[data-theme="dark"]{
  --bg:#1b1916; --card:#24211d; --text:#f3efe9; --muted:#a8a096;
  --border:#34302a; --soft:#2c2823; --accent:#f3efe9;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);
  font-family:system-ui,-apple-system,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}
a{color:inherit;text-decoration:none}
img{max-width:100%}
[hidden]{display:none!important}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px 80px}

/* 顶栏 */
.topbar{position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.topbar-in{max-width:1120px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:17px;flex:none}
.brand img{width:32px;height:32px;border-radius:50%}
.brand em{font-style:normal;font-weight:500;font-size:13px;color:var(--muted)}
.nav{margin-left:auto;display:flex;align-items:center;gap:2px;font-size:14px;color:var(--muted)}
.nav a{padding:6px 11px;border-radius:8px;white-space:nowrap}
.nav a:hover{color:var(--text);background:var(--soft)}
.nav a.on{color:var(--text);font-weight:600}
.icon-btn{border:0;background:none;cursor:pointer;font-size:15px;padding:7px 9px;border-radius:8px;color:var(--muted)}
.icon-btn:hover{background:var(--soft);color:var(--text)}

/* Hero */
.hero{padding:54px 0 26px;text-align:center}
.hero h1{margin:0 0 10px;font-size:clamp(26px,3.4vw,38px);line-height:1.3;letter-spacing:.3px}
.hero p{margin:0 0 22px;color:var(--muted);font-size:15.5px}
.hero-search{display:flex;justify-content:center;gap:8px;margin:0 auto 18px;max-width:560px}
.hero-search input{flex:1;height:48px;padding:0 18px;border:1px solid var(--border);border-radius:999px;
  background:var(--card);color:var(--text);font-size:15px;outline:none}
.hero-search input:focus{border-color:var(--text)}
.hero-search button{height:48px;padding:0 24px;border:1px solid var(--text);border-radius:999px;
  background:var(--text);color:var(--bg);font-size:15px;cursor:pointer}
.hero-search button:hover{opacity:.85}
.search-status{margin:-6px auto 14px;font-size:13px;color:var(--muted)}
.stats{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 28px;color:var(--muted);font-size:13.5px;margin-bottom:20px}
.stats b{color:var(--text);font-weight:650}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.chip{font-size:13.5px;padding:5px 14px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--card)}
.chip:hover{color:var(--text);border-color:var(--muted)}

/* 分区 */
.section{margin-top:34px;scroll-margin-top:80px}
.section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}
.section-head h2{margin:0;font-size:20px;letter-spacing:.2px}
.section-count{color:var(--muted);font-size:13px}
.sub{margin-top:22px}
.sub-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.sub-head h3{margin:0;font-size:16.5px;color:var(--text);font-weight:600}
.sub-count{color:var(--muted);font-size:12.5px}

/* 主管部门：紧凑链接块 */
.mini-grid{display:flex;flex-wrap:wrap;gap:8px}
.mini{display:inline-block;max-width:100%;padding:6px 13px;border:1px solid var(--border);border-radius:9px;
  background:var(--card);font-size:13.5px;line-height:1.5;color:var(--text);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;transition:border-color .12s,background .12s}
.mini:hover{border-color:color-mix(in srgb,var(--text) 26%,var(--border));background:var(--soft)}
.sub.group{margin-top:20px}

/* 主管部门标签页 */
.tabbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.tab{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--card);
  color:var(--muted);font-size:14px;padding:8px 18px;border-radius:999px;cursor:pointer;
  transition:color .15s,border-color .15s,background .15s}
.tab:hover{color:var(--text);border-color:var(--muted)}
.tab.active{background:var(--text);border-color:var(--text);color:var(--bg)}
.tab-count{font-size:12px;opacity:.65}

/* 折叠 */
.fold-wrap{text-align:center;margin-top:14px}
.fold-btn,.fold-all{border:1px solid var(--border);background:var(--card);color:var(--muted);
  font-size:13px;padding:7px 18px;border-radius:999px;cursor:pointer;transition:color .15s,border-color .15s}
.fold-btn:hover,.fold-all:hover{color:var(--text);border-color:var(--muted)}
.fold-all{margin-left:auto;padding:4px 13px;font-size:12.5px}
.grid.collapsed .extra{display:none!important}

/* 卡片：整卡直达原网站 */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.card{display:flex;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);transition:border-color .15s,transform .15s,box-shadow .15s}
.card:hover{border-color:color-mix(in srgb,var(--text) 24%,var(--border));transform:translateY(-2px);box-shadow:var(--shadow)}
.av{flex:none;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:17px}
.card-body{min-width:0;display:flex;flex-direction:column}
.card-title{font-size:15px;font-weight:600;line-height:1.45;display:flex;align-items:center;gap:4px;min-width:0}
.card-title span.txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-title .go{flex:none;font-size:12px;color:var(--muted);opacity:0;transform:translateX(-3px);transition:opacity .15s,transform .15s}
.card:hover .go{opacity:1;transform:none}
.card-desc{color:var(--muted);font-size:12.5px;line-height:1.6;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-domain{color:var(--muted);font-size:11.5px;opacity:.8;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.empty-search{padding:44px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:14px;background:var(--card);margin-top:20px}

/* 面包屑/关于 */
.crumb{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px;padding-top:26px;flex-wrap:wrap}
.crumb b{color:var(--text);font-weight:600}
.crumb span{opacity:.5}
.about{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:38px 42px;margin-top:18px;box-shadow:var(--shadow);max-width:840px}
.about h1{margin:0 0 18px;font-size:26px}
.about h2{margin:26px 0 8px;font-size:18px}
.about p{margin:0 0 12px;color:var(--muted);line-height:1.9;font-size:15px}
.about a{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.about .muted{font-size:13px;opacity:.85}

/* 页脚 */
.footer{border-top:1px solid var(--border);margin-top:60px;background:var(--card)}
.footer-in{max-width:1120px;margin:0 auto;padding:38px 24px 22px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:24px}
.footer-brand img{width:30px;height:30px;border-radius:50%;vertical-align:middle;margin-right:8px}
.footer-brand b{font-size:16px}
.footer-brand p{color:var(--muted);font-size:13px;line-height:1.8;margin:10px 0 0;max-width:320px}
.footer-col h4{margin:0 0 10px;font-size:12.5px;color:var(--muted);font-weight:600;letter-spacing:.5px}
.footer-col a{display:block;padding:3px 0;font-size:13px;color:var(--muted)}
.footer-col a:hover{color:var(--text)}
.footer-bottom{max-width:1120px;margin:0 auto;padding:14px 24px 22px;border-top:1px solid var(--border);
  display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;color:var(--muted);font-size:12.5px}
.footer-bottom a{color:var(--muted)}
.footer-bottom a:hover{color:var(--text)}
.footer-bottom i{margin:0 8px;font-style:normal;opacity:.5}

@media (max-width:900px){
  .nav{gap:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav::-webkit-scrollbar{display:none}
  .nav a{padding:6px 8px;font-size:13px}
  .brand em{display:none}
  .footer-in{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .wrap{padding:0 16px 60px}
  .topbar-in{padding:0 16px;height:58px;gap:10px}
  .brand{font-size:15.5px}
  .brand img{width:28px;height:28px}
  .hero{padding:34px 0 22px}
  .hero-search{flex-direction:column}
  .hero-search button{width:100%}
  .grid{grid-template-columns:1fr}
  .about{padding:24px 20px}
  .footer-in{grid-template-columns:1fr;padding:26px 16px 18px}
  .footer-bottom{padding:14px 16px 20px;flex-direction:column}
}
