/* 首页心经：复用 NjVReader（与 /xinjing/ 同密排），一屏显完、无翻页侧栏 */

/* 覆盖 jing-img/style.css 旧 #xj 固定高/裁切/rtl，避免经文被切掉 */
#xj.nj-home-xj,
#xj[data-fit-onescreen="1"] {
  width: 1226px;
  max-width: 100%;
  height: auto !important;
  min-height: 0;
  margin: 0 auto;
  clear: both;
  float: none !important;
  overflow: visible !important;
  direction: ltr !important;
  background: transparent !important;
  border-bottom: none !important;
  position: relative;
}

/* 首屏瞬时经文：HTML 内嵌，不等 JS/JSON；竖排引擎就绪后会被替换 */
#xj .nj-xj-instant {
  box-sizing: border-box;
  width: 100%;
  min-height: 420px;
  margin: 0 auto;
  padding: 18px 28px 22px;
  border: 1px solid rgba(180, 140, 70, 0.35);
  border-radius: 4px;
  background:
    radial-gradient(ellipse 70% 55% at 50% 40%, rgba(255, 252, 245, 0.92) 0%, transparent 72%),
    linear-gradient(180deg, #fffdf6 0%, #f7ecd8 100%);
  color: #2a1a08;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 28px;
  line-height: 1.65;
  letter-spacing: 0.08em;
  font-family: "LXGW WenKai", "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", serif;
  overflow: hidden;
}
#xj .nj-xj-instant-title {
  margin: 0 0.35em 0 0;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #5a3a12;
}
#xj .nj-xj-instant-body {
  margin: 0;
  max-height: 520px;
}
#xj.is-jing-ready .nj-xj-instant {
  display: none !important;
}

#xj.nj-home-xj .nj-vreader.nj-onescreen,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen {
  width: 100%;
  max-width: 1226px;
  overflow: hidden;
  /* 略小于 /xinjing/；字距与句读处再拉开一点 */
  --nj-font: 30px;
  --nj-track: 0.1em;
  --nj-pause: 0.62em;
  --nj-col-w: 46px;
  --nj-title-col-w: 80px;
}

#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-stage,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-stage {
  overflow: hidden;
}

/* 禁止 float 换行把末列挤到第二行（裁掉「菩提萨婆诃」） */
#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-cols,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-cols {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: nowrap;
  align-items: stretch;
  height: 100%;
}

#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-cols > li,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-cols > li {
  float: none;
  flex: 0 0 auto;
  height: auto;
  align-self: stretch;
}

/*
 * 满列：字顶到列顶、末字顶到列底，各列最后一个字横向对齐
 * （相当于古人写满一列才换下一列；句读多少造成的高低差由空隙均分吸收）
 * 短列（经文收尾）：仍从上往下，不强行拉散。
 */
#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-cols > li.nj-col-full,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-cols > li.nj-col-full {
  justify-content: space-between;
}

#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-cols > li.nj-col-short,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-cols > li.nj-col-short {
  justify-content: flex-start;
}

/*
 * 满列 space-between 时：
 * - 普通字去掉底距
 * - 句读用 margin（勿用 padding）：绝对定位的 。、 贴在字旁，
 *   空隙出现在标点之后（古人：字+句读，再空一截开下句）
 */
#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-cols > li.nj-col-full .nj-ch:not(.nj-ch-pause),
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-cols > li.nj-col-full .nj-ch:not(.nj-ch-pause) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-cols > li.nj-col-full .nj-ch-pause,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-cols > li.nj-col-full .nj-ch-pause {
  padding-bottom: 0 !important;
  margin-bottom: 0.58em !important;
}

/* 句读始终相对字形定位（不受断句空隙影响） */
#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-cols .nj-ch-pause .nj-jd-ju,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-cols .nj-ch-pause .nj-jd-ju {
  top: 0.86em;
  bottom: auto;
  right: -0.08em;
}

#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-cols .nj-ch-pause .nj-jd-dou,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-cols .nj-ch-pause .nj-jd-dou {
  top: 0.88em;
  bottom: auto;
  right: -0.06em;
}

/*
 * 首页特办：注音开后字盒有 padding-top，原 top 仍按无注音算会导致红标点叠在字形上。
 * 仅 #xj 一屏 + .nj-py-on；其它经文页仍用 vertical-jing 的 bottom 挂角。
 */
#xj.nj-home-xj .nj-vreader.nj-onescreen.nj-py-on .nj-vreader-cols .nj-ch-pause .nj-jd-ju,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen.nj-py-on .nj-vreader-cols .nj-ch-pause .nj-jd-ju {
  top: 1.08em; /* 0.86 + ~0.22 */
  bottom: auto;
}

#xj.nj-home-xj .nj-vreader.nj-onescreen.nj-py-on .nj-vreader-cols .nj-ch-pause .nj-jd-dou,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen.nj-py-on .nj-vreader-cols .nj-ch-pause .nj-jd-dou {
  top: 1.1em; /* 0.88 + ~0.22 */
  bottom: auto;
}

/* 收回翻页侧栏宽度，列更舒展 */
#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-side,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-side {
  display: none !important;
}

#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-body,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-body {
  /* 接近 /xinjing/ 列高，保证每列约 10+ 字，避免疏列 */
  height: clamp(480px, calc(100vh - 250px), 620px);
  max-height: 620px;
}

/*
 * 注解把字包进 <a> 后，全局 `.nj-ch:last-child { margin:0 }` 会在每段链接末字清掉间距。
 * 首页改为：句读处保留断句呼吸；仅整列最后一个字去掉底距。
 */
#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-cols .nj-ch,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-cols .nj-ch {
  margin-bottom: var(--nj-track);
}

#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-cols .nj-ch-pause,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-cols .nj-ch-pause {
  margin-bottom: calc(var(--nj-track) + var(--nj-pause)) !important;
}

#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-cols li > .nj-ch:last-child,
#xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-cols li > a:last-child > .nj-ch:last-child,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-cols li > .nj-ch:last-child,
#xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-cols li > a:last-child > .nj-ch:last-child {
  margin-bottom: 0 !important;
}

/* 短语注解：不改排版流，仅悬停提示可点 */
#xj.nj-home-xj a.nj-annot,
#xj[data-fit-onescreen="1"] a.nj-annot {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  border-radius: 2px;
  transition: background 0.15s ease, color 0.15s ease;
  /* 链接本身不打断竖排间距 */
  display: contents;
}

#xj.nj-home-xj a.nj-annot:hover .nj-ch,
#xj.nj-home-xj a.nj-annot:focus-visible .nj-ch,
#xj[data-fit-onescreen="1"] a.nj-annot:hover .nj-ch,
#xj[data-fit-onescreen="1"] a.nj-annot:focus-visible .nj-ch {
  color: #8b1e1e;
  background: rgba(198, 150, 60, 0.16);
}

#xj.nj-home-xj a.nj-annot:focus-visible,
#xj[data-fit-onescreen="1"] a.nj-annot:focus-visible {
  outline: 2px solid rgba(139, 30, 30, 0.35);
  outline-offset: 1px;
}

@media (max-width: 900px) {
  #xj.nj-home-xj,
  #xj[data-fit-onescreen="1"] {
    width: 100%;
  }
  #xj.nj-home-xj .nj-vreader.nj-onescreen .nj-vreader-body,
  #xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen .nj-vreader-body {
    height: clamp(360px, calc(100vh - 200px), 520px);
  }
  #xj.nj-home-xj .nj-vreader.nj-onescreen,
  #xj[data-fit-onescreen="1"] .nj-vreader.nj-onescreen {
    --nj-font: 28px;
  }
}
