/* ═══ Ontology101 双语精读 · 共享样式 ═══ */
:root{
  --bg:#FBF4EC;
  --paper:#FFFDF8;
  --ink:#33202E;
  --soft:#4E3B48;
  --muted:#8A7583;
  --wine:#6B2D5C;
  --wine-deep:#431A38;
  --wine-soft:#F1E4EE;
  --amber:#E8A13D;
  --amber-soft:#FBF0DC;
  --red:#C4452E;
  --red-soft:#F8E8E3;
  --green:#3E7D5C;
  --green-soft:#E6F0E9;
  --blue:#3B6FA0;
  --blue-soft:#E5EDF5;
  --line:#EADFD2;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.9;font-size:17px;
}
.wrap{max-width:920px;margin:0 auto;padding:0 52px 90px}
@media (max-width:760px){.wrap{padding:0 24px 80px}}
a{color:var(--wine);text-decoration:none}

/* ── 顶栏导航 ── */
.topbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:18px 0 6px}
.topbar a{
  background:var(--paper);border:2px solid var(--line);border-radius:999px;
  padding:6px 16px;font-size:15px;transition:.15s;
}
.topbar a:hover{border-color:var(--amber);transform:translateY(-1px)}
.topbar .home{background:var(--wine);color:#fff;border-color:var(--wine);font-weight:600}

/* ── 章头 ── */
header.chapter{margin:30px 0 22px}
.kicker{
  display:inline-block;background:var(--amber);color:#fff;font-weight:700;
  border-radius:999px;padding:4px 16px;font-size:15px;letter-spacing:1px;
}
h1{font-size:clamp(32px,5.5vw,48px);line-height:1.22;margin:14px 0 10px;color:var(--wine-deep)}
.tagline{font-size:clamp(17px,2.8vw,21px);color:var(--muted)}

/* ── 正文区块 ── */
section{margin:38px 0}
h2{font-size:clamp(22px,3.4vw,29px);color:var(--wine-deep);margin:34px 0 14px;display:flex;align-items:center;gap:12px}
h2 .num{
  background:var(--wine);color:#fff;width:40px;height:40px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-size:19px;flex:none;
}
h3{font-size:clamp(19px,2.8vw,23px);color:var(--wine-deep);margin:26px 0 10px}
p,li{font-size:16.5px}
p{margin:12px 0}
ul,ol{margin:10px 0 10px 26px}
li{margin:6px 0}
code{
  font-family:"SF Mono",Menlo,Consolas,monospace;font-size:14.5px;
  background:var(--wine-soft);color:var(--wine-deep);
  padding:1px 6px;border-radius:6px;
}

/* ── 双语段落（bwrap = 中文 + 英文 + 切换按钮的容器） ── */
.bwrap{position:relative;border-radius:8px}
.bwrap:hover{background:rgba(107,45,92,.04)}

/* 段落级切换按钮：悬停段落时右侧浮现 */
.toggle{
  position:absolute;right:-44px;top:8px;
  width:34px;height:34px;border-radius:50%;
  background:var(--wine);color:#fff;border:2px solid #fff;
  box-shadow:0 3px 10px rgba(67,26,56,.28);
  font-size:12.5px;font-weight:800;cursor:pointer;line-height:1;padding:0;
  opacity:0;transform:translateX(8px);transition:.18s;z-index:20;
  font-family:inherit;
}
.bwrap:hover .toggle,
.bwrap:focus-within .toggle,
.bwrap[data-mode="en"]:hover .toggle{opacity:1;transform:translateX(0)}
li.bwrap > .toggle{top:4px}
@media (max-width:1060px){
  .toggle{right:2px;background:rgba(107,45,92,.9)}
}
/* 触屏设备：常显 */
@media (hover:none){
  .toggle{opacity:.85;transform:none}
}

/* 英文对照块（显示状态由 JS 控制） */
.en{
  display:none;
  border-left:4px solid var(--blue);background:var(--blue-soft);
  padding:10px 16px;margin:10px 0 16px;border-radius:0 10px 10px 0;
  color:#24466b;font-size:15.5px;line-height:1.75;white-space:pre-line;
  font-family:"Georgia","Times New Roman","PingFang SC",serif;
}
.en.h{
  border-left:none;background:transparent;color:var(--blue);padding:0;margin:0 0 10px;
  font-size:clamp(21px,3.2vw,28px);font-weight:800;font-family:inherit;line-height:1.35;
}

/* 译者补充（〔说人话〕〔译注〕），常显 */
.zhonly{
  background:var(--amber-soft);border-radius:12px;padding:12px 18px;
  margin:14px 0;font-size:15.5px;color:#6b4a12;
}
.zhonly b{color:#8a5a00}

/* 引用块 */
blockquote{
  background:var(--paper);border:2px solid var(--line);border-left:6px solid var(--wine);
  border-radius:0 14px 14px 0;padding:14px 20px;margin:16px 0;font-size:16.5px;
}

/* ── 卡片 ── */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{
  background:var(--paper);border:2px solid var(--line);border-radius:18px;padding:18px;
}
.card .ico{font-size:30px;line-height:1.2}
.card h4{font-size:17.5px;margin:8px 0 4px;color:var(--wine-deep)}
.card p{font-size:14.5px;color:var(--soft);margin:0}
.pit{border-left:6px solid var(--red)}
.ok{border-left:6px solid var(--green)}

/* ── 大图 ── */
figure{
  margin:24px 0;background:var(--paper);border:2px solid var(--line);
  border-radius:22px;padding:20px;text-align:center;
}
figure svg{width:100%;height:auto;display:block}
figure img{max-width:100%;border-radius:12px}
figcaption{font-size:14px;color:var(--muted);margin-top:12px}

/* ── 关键句 ── */
.big{
  font-size:clamp(20px,3vw,27px);font-weight:800;color:var(--wine);
  text-align:center;padding:24px;background:var(--paper);
  border-left:8px solid var(--amber);border-radius:16px;margin:24px 0;
}

/* ── 步骤 ── */
.steps{display:flex;flex-direction:column;gap:12px}
.step{
  display:flex;gap:14px;background:var(--paper);border:2px solid var(--line);
  border-radius:16px;padding:14px 18px;align-items:center;
}
.step .n{
  background:var(--wine);color:#fff;border-radius:50%;width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;flex:none;
}
.step h4{margin:0;font-size:17px;color:var(--wine-deep)}
.step p{margin:2px 0 0;font-size:14.5px;color:var(--soft)}

/* ── 表格 ── */
table{
  width:100%;border-collapse:collapse;background:var(--paper);
  border-radius:14px;overflow:hidden;border:2px solid var(--line);margin:16px 0;
}
th,td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:15px}
tr:last-child td{border-bottom:none}
th{background:var(--wine);color:#fff;font-weight:600}

/* ── 小提示 ── */
.note{
  background:var(--amber-soft);border-radius:14px;padding:14px 18px;
  font-size:15.5px;color:#6b4a12;margin:16px 0;
}

/* ── 底部导航 ── */
.footnav{
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-top:64px;border-top:2px solid var(--line);padding-top:24px;
}
.footnav a{
  background:var(--paper);border:2px solid var(--line);border-radius:16px;
  padding:12px 24px;font-size:16px;transition:.15s;
}
.footnav a:hover{border-color:var(--wine);transform:translateY(-2px)}

/* ── 索引页 ── */
.cover{
  background:linear-gradient(135deg,#431A38 0%,#6B2D5C 55%,#8A3E6E 100%);
  color:#fff;border-radius:28px;padding:48px 36px;text-align:center;margin-top:20px;
}
.cover h1{color:#fff;font-size:clamp(34px,6.5vw,56px);margin:10px 0}
.cover .sub{font-size:clamp(16px,2.5vw,20px);color:#EAD7E6}
.cover .pill{
  display:inline-block;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);
  border-radius:999px;padding:5px 18px;font-size:14.5px;margin-top:16px;
}
.toc{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin-top:26px}
.toc a{
  background:var(--paper);border:2px solid var(--line);border-radius:20px;padding:20px;
  display:block;transition:.15s;color:var(--ink);position:relative;
}
.toc a.ready:hover{transform:translateY(-4px);border-color:var(--wine);box-shadow:0 12px 30px rgba(67,26,56,.12)}
.toc a.todo{opacity:.55;cursor:not-allowed}
.toc .no{font-size:13px;font-weight:800;color:var(--amber);letter-spacing:1px}
.toc .t{font-size:19.5px;font-weight:800;color:var(--wine-deep);margin:6px 0 4px}
.toc .d{font-size:14.5px;color:var(--muted)}
.toc .ico{font-size:28px;float:right}
.badge{
  display:inline-block;border-radius:999px;padding:1px 11px;font-size:12.5px;font-weight:700;
}
.badge.ready{background:var(--green-soft);color:var(--green)}
.badge.todo{background:var(--amber-soft);color:#8a5a00}
.part-label{
  font-size:15px;font-weight:800;color:var(--muted);letter-spacing:2px;
  margin:32px 0 2px;padding-left:6px;
}
