/* ============================================================
   词典样式表 - 完全重写版
   彻底解决重叠、拥挤、层级混乱问题
   ============================================================ */

/* ---------- 全局重置 ---------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font: 16px/1.7 -apple-system, Tahoma, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  color: #1e1e2a;
  background: #ffffff;
}

/* ---------- 基础语义标签 ---------- */
zh, cn {
  color: #2c3e50;
  font-size: 1rem;
}

/* ---------- 主词头 ---------- */
hwd {
  display: block;
  font-weight: 800;
  font-size: 1.6rem;
  color: #0b1e33;
  letter-spacing: -0.02em;
  margin-bottom: 0.05rem;
}

hwd::before {
  content: "★";
  padding-right: 0.25rem;
  color: #c44536;
  font-size: 1.2rem;
  display: inline-block;
}

sup {
font-size:0.8rem;
}

/* ---------- 音标 ---------- */
pho {
  display: inline-block;
  font-family: 'Times New Roman', 'Gentium Plus', serif;
  font-size: 1.15rem;
  color: #3d5a78;
  margin-bottom: 0.3rem;
  padding: 0.1rem 0;
}

/* ---------- 词性标记 ---------- */
pos {
    display: inline-block;
    font-weight: 700;
    margin: 0.1rem 0.1rem;
    color: #db3d3d;
    border-radius: 5px;
    padding: 0 2px;
}

/* 词性后跟的 n. & v. 中的 & 和 v. 保持同色 */
pos + pos {
  margin-left: 0.05rem;
}

/* ---------- 词条块 - 核心修复 ---------- */
rw {
    display: block;
    margin-top: 0.4rem;
    margin-left: 0.2rem;
    padding: 0.2rem 0.2rem;
    border: 1px solid #f9f9f9;
    border-radius: 5px;
}

/* 第一个 rw 不需要顶边线 */
rw:first-of-type {
  border-top: none;
  margin-top: 0.1rem;
}

/* ---------- 释义组 ---------- */
/* 蓝色：example is better than precept */

sa {
  margin: 0.1rem 0;
}

/* 每个释义条目的容器 - 强制独立成行 */
prx {
  display: inline-block;
   font-weight: 700;
    margin: 0.1rem 0.1rem;
    /* border: 1px solid #3284db; */
    color: #3284db;
    * background: #fff; *、
    border-radius: 5px;
    padding: 0 2px;
    font-size:11pt;
}
eg {
display:block;
}

/* 词性在同一行，但后面的释义另起一行 */
prx > pos {
  display: inline-block;
  font-weight: 700;
  margin-right: 0.1rem;
  color:#3284db;
}

/* 释义文本 - 始终另起一行，缩进对齐 */
def {
  margin: 0.05rem 0 0.05rem 0.1rem;
  padding-left: 0.1rem;
  color: #1e2a3a;
}

/* 如果释义内直接跟在 pos 后面（无换行），强制它换行 */
prx > pos + def {
  display: inline-block;
  margin-top: 0.05rem;
}

/* ---------- 子义项（序号） ---------- */
sc {
  display: block;
  margin: 0 0 0 1.2rem;
  padding-left: 0.1rem;
}

/* 序号标记 */
sqn, sqa {
    display: inline-table;
    font-weight: 600;
    font-size: 12px;
    color: #db3d3d;
    /* background: #d11296; */
    border-radius: 14px;
    border: 1px solid #fdb9b9;
    padding: 0 6px;
}

/* 序号后面的内容 (通常是 def 或 sc 本身) */
sqn + def, sqa + def {
  display: inline;
  margin-left: 0;
  border-left: none;
  padding-left: 0;
}

/* 但如果有多个内容，让它们分行 */
sc def {
  margin-left: 0.1rem;
}

/* ---------- 例句 ---------- */
ex {
  display: block;
  margin: 0.1rem 0 0.1rem 0.1rem;
  padding: 0.05rem 0.3rem;
  color: #2a3f5a;
  font-style: normal;
}

/* 例句来源括号 */
eps {
  display: inline-block;
  font-family: 'Georgia', 'Times New Roman', serif;
  font-style: normal;
  color: #4f6b8a;
  background: #f0f4fc;
  padding: 0 0.25rem;
  border-radius: 4px;
  font-size: 0.9rem;
}

eps::before {
  content: "(";
  display:none;
}

eps::after {
  content: ")";
  display:none;
}

/* 例句中如果有中文释义，保持清晰 */
ex zh, ex cn {
  color: #1f3a57;
  display: inline;
}

/* ---------- 短语 & 衍生词 ---------- */
phr {
  margin: 0.4rem 0 0.2rem 0.5rem;
  display:block;
  padding: 0.15rem 0.3rem;
  background: #F6F9FE;
  border-radius: 6px;
  border-left: 3px solid #c8d8ea;
}

phr pd {
   margin: 0.1rem 0;
}

phr pd::before {
  content: "□";
  padding-right: 0.25rem;
  color: #8aa3c0;
}

phr pd h {
  display: inline-block;
  font-weight: 700;
  color: #1e3a5f;
}

/* 短语内的词性 */
phr prx {
  margin: 0.1rem 0 0.1rem 0.8rem;
  background: transparent;
  padding: 0.05rem 0;
}

phr def {
  margin-left: 0.6rem;
  border-left-color: #d0dcec;
}

/* ---------- 语体 & 义域 ---------- */
ot, tm {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.02rem 0.2rem;
  margin: 0 0.2rem 0 0;
  border-radius: 20px;
  font-style: italic;
  color:#3284db;
}

/* ---------- 词源 ---------- */
ori {
  display: block;
  margin: 0.6rem 0 0.2rem 0.3rem;
  padding: 0.3rem 0.7rem;
  background: #f5f7fb;
  border-radius: 8px;
  font-size: 0.9rem;
  color: #3b5575;
  border-left: 4px solid #b9cee8;
  line-height: 1.6;
}

/* ---------- 用法说明 ---------- */
uge {
  display: block;
  margin: 0.4rem 0 0.2rem 0.3rem;
  padding: 0.3rem 0.7rem;
  background: #f4f8ff;
  border-radius: 8px;
  border: 1px solid #e0e8f2;
}

uge div.t {
  display: inline-block;
  font-weight: 700;
  color: #1f3f68;
  margin-right: 0.3rem;
}

uge div.t::before {
  content: "■";
  margin-right: 0.25rem;
  color: #bb7a6a;
  font-size: 0.8rem;
}

/* ---------- 内联标记 ---------- */
x {
  font-style: normal;
  font-family:Tahoma;
  color: #4f5f78;
  background: #f0f3f9;
  padding: 0.02rem 0.25rem;
  border-radius: 4px;
}

a {
  color: #1a4d7a;
  text-decoration: none;
  border-bottom: 1px dotted #b0c8e0;
}

a:hover {
  border-bottom: 2px solid #3f7bb3;
}

/* ---------- 跳转标记 ---------- */
xr {
  display: inline-block;
  background: #edf3fb;
  padding: 0.05rem 0.6rem 0.05rem 0.3rem;
  border-radius: 30px;
  margin: 0.1rem 0;
}

xr::before {
  content: "➠";
  padding-right: 0.25rem;
  color: #7f6b5c;
}

xr a {
  font-weight: 700;
  color: #1f4f7a;
  border-bottom: none;
}

/* ---------- 额外修复：变形词 ---------- */
h {
  display: inline-block;
  font-weight: 700;
  color: #1f3a5f;
  margin-right: 0.1rem;
}

/* ---------- 分隔符 ---------- */
sb {
  display: block;
  margin: 0.1rem 0;
}

/* ---------- 其他微调 ---------- */
/* 让每个释义块之间留出适当间距，但不拥挤 */
prx + prx {
  margin-top: 0.2rem;
}

/* 词性后如果有多个释义，每个 def 独立成行 */
prx def + def {
  margin-top: 0.05rem;
}

/* 确保所有块级元素都换行，不会内联重叠 */
def, sc, ex, phr, uge, ori {
  clear: both;
}

/* ---------- 打印优化 ---------- */
@media print {
  body {
    padding: 0.3rem;
    font-size: 11pt;
  }
  prx {
    background: none;
    padding: 0.05rem 0;
  }
  eps {
    background: none;
  }
}

/* ---------- 深色模式适配 ---------- */
@media (prefers-color-scheme: dark) {
  body {
    background: #141a22;
    color: #d6dee9;
  }
  zh, cn { color: #c8d2e0; }
  hwd { color: #dce6f2; }
  pho { color: #b0c8e0; }
  pos { color: #dbb08c; }
  def { color: #cfdae8; }
  prx { background: #1f2a38; }
  sc { color: #c0d0e0; }
  eps { background: #242f3d; color: #b0c8e0; }
  ori { background: #1f2938; border-left-color: #5a7b9a; color: #b8c8dc; }
  uge { background: #1f2938; border-color: #3f4f68; }
  ot, tm { background: #2d384a; color: #c0d0e8; }
  x { background: #212b3b; color: #bac8dc; }
  xr { background: #263140; }
  a { color: #8bb3dd; border-bottom-color: #4f6a8a; }
  phr { background: #1c2736; border-left-color: #3d5a7a; }
}