/* ===== 物理公式与定理全书 · 全局样式(浅色主题) ===== */
:root{
  --accent:#1d4ed8;
  --accent-soft:#3b82f6;
  --teal:#0e7490;
  --bg:#f4f6fa;
  --card:#ffffff;
  --ink:#1f2937;
  --muted:#64748b;
  --line:#e2e8f0;
  --blue-bg:#eff6ff;
  --blue-line:#bfdbfe;
  --amber-bg:#fffbeb;
  --amber-line:#fde68a;
  --green-bg:#ecfdf5;
  --green-line:#a7f3d0;
  --radius:14px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:16px;
  line-height:1.85;
}
.container{max-width:960px;margin:0 auto;padding:0 20px;}

/* ---- 顶部导航 ---- */
.topnav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:1100px;margin:0 auto;padding:0 20px;
  display:flex;align-items:center;gap:18px;height:56px;
}
.brand{
  font-weight:700;font-size:16px;color:var(--accent);
  text-decoration:none;white-space:nowrap;letter-spacing:.5px;
}
.nav-links{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;}
.nav-links::-webkit-scrollbar{display:none;}
.nav-links a{
  padding:6px 12px;border-radius:8px;white-space:nowrap;
  color:var(--muted);text-decoration:none;font-size:14px;
}
.nav-links a:hover{background:var(--blue-bg);color:var(--accent);}
.nav-links a.active{background:var(--accent);color:#fff;font-weight:600;}

/* ---- 章节页头 ---- */
.hero{
  background:linear-gradient(120deg,#eef2ff 0%,#eff6ff 45%,#ecfeff 100%);
  border-bottom:1px solid var(--line);
  padding:44px 0 36px;
}
.hero-kicker{
  display:inline-block;font-size:13px;color:var(--teal);font-weight:600;
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:2px 14px;margin-bottom:12px;
}
.hero h1{margin:0 0 8px;font-size:34px;letter-spacing:1px;}
.hero p{margin:0;color:var(--muted);max-width:760px;}

/* ---- 首页 ---- */
.home-hero{padding:64px 0 28px;text-align:center;}
.home-hero h1{font-size:40px;margin:0 0 14px;letter-spacing:2px;}
.home-hero p{color:var(--muted);max-width:720px;margin:0 auto;}
.search-wrap{max-width:560px;margin:26px auto 0;position:relative;}
.search-wrap input{
  width:100%;padding:13px 18px;font-size:15px;
  border:1px solid var(--line);border-radius:12px;background:#fff;
  outline:none;box-shadow:0 1px 3px rgba(15,23,42,.06);
}
.search-wrap input:focus{border-color:var(--accent-soft);box-shadow:0 0 0 3px rgba(59,130,246,.15);}
.stats-bar{
  display:flex;justify-content:center;gap:36px;flex-wrap:wrap;
  margin:26px auto 0;color:var(--muted);font-size:14px;
}
.stats-bar b{color:var(--accent);font-size:22px;display:block;text-align:center;}
.chapter-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));
  gap:20px;padding:34px 0 20px;
}
.chapter-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 22px 18px;text-decoration:none;color:var(--ink);
  display:flex;flex-direction:column;gap:8px;
  transition:transform .15s ease,box-shadow .15s ease;
}
.chapter-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(30,64,175,.10);}
.chapter-card .ch-top{display:flex;align-items:center;gap:12px;}
.ch-badge{
  width:44px;height:44px;border-radius:12px;flex:none;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:20px;font-weight:700;
}
.chapter-card h2{margin:0;font-size:19px;}
.ch-level{font-size:12.5px;color:var(--teal);font-weight:600;}
.ch-desc{margin:2px 0 0;font-size:13.5px;color:var(--muted);line-height:1.7;}
.ch-topics{font-size:13px;color:var(--ink);line-height:1.8;}
.ch-count{margin-top:auto;font-size:12.5px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px;}
.ch-count b{color:var(--accent);}
.hidden{display:none!important;}
.no-result{text-align:center;color:var(--muted);padding:40px 0;}

/* ---- 章内目录 ---- */
.toc{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 26px;margin:30px 0 8px;
}
.toc-title{font-weight:700;margin-bottom:6px;color:var(--accent);}
.toc ol{margin:0;padding-left:22px;columns:2;column-gap:40px;}
.toc li{margin:2px 0;font-size:14.5px;break-inside:avoid;}
.toc a{color:var(--ink);text-decoration:none;}
.toc a:hover{color:var(--accent);text-decoration:underline;}
@media (max-width:640px){.toc ol{columns:1;}}

/* ---- 公式卡片 ---- */
.formula-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 30px 22px;margin:26px 0;
  box-shadow:0 1px 4px rgba(15,23,42,.05);
  border-left:4px solid var(--accent);
}
.card-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px;}
.card-head h2{margin:0;font-size:21px;letter-spacing:.5px;}
.level-tag{
  font-size:12px;font-weight:600;color:var(--teal);
  background:#ecfeff;border:1px solid #a5f3fc;border-radius:999px;padding:2px 12px;
  white-space:nowrap;
}
.formula-card h3{
  font-size:16px;margin:20px 0 8px;color:var(--ink);
  padding-left:10px;border-left:3px solid var(--teal);line-height:1.4;
}
.formula-card p{margin:8px 0;}
.formula-card ul,.formula-card ol{margin:6px 0 10px;padding-left:24px;}
.formula-card li{margin:3px 0;}

.formula-box{
  background:var(--blue-bg);border:1px solid var(--blue-line);
  border-radius:12px;padding:14px 16px;margin:12px 0 4px;
  text-align:center;font-size:1.08em;overflow-x:auto;
}
.note{
  background:var(--amber-bg);border:1px solid var(--amber-line);
  border-radius:10px;padding:10px 16px;margin:12px 0;font-size:14.5px;
}
.note b{color:#92400e;}
.derived{
  background:var(--green-bg);border:1px solid var(--green-line);
  border-radius:10px;padding:4px 16px 10px;margin:12px 0;
}
.derived h3{border-left-color:#059669!important;}

/* 物理量说明表 */
table.vars{
  width:100%;border-collapse:collapse;margin:8px 0 12px;font-size:14.5px;
}
table.vars th,table.vars td{
  border:1px solid var(--line);padding:7px 12px;text-align:left;
}
table.vars th{background:#f8fafc;font-weight:600;color:var(--muted);width:22%;}

/* MathJax 溢出处理 */
.formula-card mjx-container{overflow-x:auto;overflow-y:hidden;max-width:100%;}

/* ---- 页脚 / 返回顶部 ---- */
.footer{
  text-align:center;color:var(--muted);font-size:13px;
  padding:36px 20px 46px;border-top:1px solid var(--line);margin-top:40px;
}
#backTop{
  position:fixed;right:24px;bottom:24px;z-index:60;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:#fff;color:var(--accent);font-size:18px;cursor:pointer;
  box-shadow:0 4px 14px rgba(15,23,42,.14);display:none;
}
#backTop:hover{background:var(--blue-bg);}

@media print{
  .topnav,#backTop,.search-wrap{display:none!important;}
  body{background:#fff;}
  .formula-card{box-shadow:none;break-inside:avoid;}
}
