/* ============================================================================
   無意 WUYI — 中文版排版覆盖层
   全部规则作用域限定 html[lang^="zh"]，不影响 /en/ 英文页。
   只做「中文需要而原站英日版没有」的事：字形、字距、竖排特性、行末处理。
   不改布局尺寸（原站用 62.5% 根字号 + rem，改尺寸会崩）。
   ========================================================================== */

:root {
  --wu-serif: "WUYI Serif", "Noto Serif CJK TC", "Source Han Serif TC",
              "Noto Serif CJK SC", "Songti TC", "Songti SC", "PMingLiU",
              "STSong", "SimSun", serif;
  --wu-sans:  "PingFang TC", "PingFang SC", "HarmonyOS Sans TC", "MiSans",
              "Microsoft JhengHei", "Microsoft YaHei UI", "Microsoft YaHei",
              "Noto Sans CJK TC", "Noto Sans CJK SC", sans-serif;
  --wu-kai:   "LXGW WenKai", "Kaiti SC", "STKaiti", "KaiTi", serif;
}

/* ---- 1. 字形 ---------------------------------------------------------- */
html[lang^="zh"] body,
html[lang^="zh"] main,
html[lang^="zh"] main p,
html[lang^="zh"] main li,
html[lang^="zh"] main dd,
html[lang^="zh"] main dt,
html[lang^="zh"] main td,
html[lang^="zh"] main th,
html[lang^="zh"] label,
html[lang^="zh"] input,
html[lang^="zh"] textarea,
html[lang^="zh"] select,
html[lang^="zh"] button,
html[lang^="zh"] .txt,
html[lang^="zh"] .copy,
html[lang^="zh"] .desc {
  font-family: var(--wu-sans);
}

html[lang^="zh"] h1,
html[lang^="zh"] h2,
html[lang^="zh"] h3,
html[lang^="zh"] h4,
html[lang^="zh"] h5,
html[lang^="zh"] .ttl,
html[lang^="zh"] .sec-ttl,
html[lang^="zh"] .page-title {
  font-family: var(--wu-serif);
  font-weight: 300;
}

/* 品牌大字：最细一档 + 仪式感字距 */
html[lang^="zh"] .kv__txt,
html[lang^="zh"] .kv__txt span {
  font-family: var(--wu-serif);
  font-weight: 200;
  letter-spacing: 0.16em;
  line-height: 1.15;
}

/* 引文/旁白用楷体（中文没有真斜体） */
html[lang^="zh"] blockquote,
html[lang^="zh"] .quote,
html[lang^="zh"] .note {
  font-family: var(--wu-kai);
  font-style: normal;
}

/* ---- 2. 字距归零 ------------------------------------------------------ */
/* 原站给正文加了约 0.6px（0.04em）的字距，是给拉丁字母做视觉补偿的。
   汉字是定宽方块，同样的字距会让整段"散开"，必须归零。 */
html[lang^="zh"] main,
html[lang^="zh"] main p,
html[lang^="zh"] main li,
html[lang^="zh"] main dd,
html[lang^="zh"] main dt,
html[lang^="zh"] main td,
html[lang^="zh"] .txt,
html[lang^="zh"] .copy,
html[lang^="zh"] .desc,
html[lang^="zh"] .intro {
  letter-spacing: 0;
  word-spacing: normal;
}

/* ---- 3. 中文排版特性 --------------------------------------------------- */
html[lang^="zh"] body {
  line-break: strict;           /* 避头尾：，。」』：；！？ 不出现在行首 */
  word-break: normal;
  overflow-wrap: break-word;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@supports (text-spacing-trim: trim-start) {
  html[lang^="zh"] main p,
  html[lang^="zh"] main li,
  html[lang^="zh"] .txt,
  html[lang^="zh"] .copy {
    text-spacing-trim: trim-start;
  }
}

/* 竖排标点转向：没有 vert/vrt2，「，。」会落到格子正中 */
html[lang^="zh"] [class] {
  font-feature-settings: "vert" 1, "vrt2" 1;
}

/* ---- 4. 行末不拉散 ---------------------------------------------------- */
/* 「两端对齐 + inter-ideograph」会把字间空隙拉大、让「。」与前一个字脱开。
   本层统一左对齐；只有显式加 .u-justify 的长文章才两端对齐。 */
html[lang^="zh"] main p,
html[lang^="zh"] .intro p,
html[lang^="zh"] .copy p,
html[lang^="zh"] .txt p {
  text-align: start;
  text-justify: auto;
}

html[lang^="zh"] .u-justify p,
html[lang^="zh"] p.u-justify {
  text-align: justify;
  text-justify: inter-ideograph;
}

/* 长段落限制每行字数：中文 1em ≈ 1 字，32em ≈ 32 字/行 */
html[lang^="zh"] .intro p,
html[lang^="zh"] .copy p,
html[lang^="zh"] .page-body > p {
  max-width: 32em;
}

/* 品牌理念/诗句类段落用宋体：这一页的文字是"读给自己听"的，不是功能说明。
   宋体在这里承担语气，与标题同源，也让整页的黑白节奏统一。 */
html[lang^="zh"] .intro p {
  font-family: var(--wu-serif);
  font-weight: 300;
  font-size: 15px;
  line-height: 2.35;
  letter-spacing: 0.02em;
}

/* ---- 5. 竖排里的拉丁与数字 -------------------------------------------- */
/* EN / JA 这类短拉丁用縦中横横躺，不要一字一列往下掉 */
.u-vert-latin {
  text-combine-upright: all;
  letter-spacing: 0.08em;
  font-size: 0.92em;
  font-family: var(--wu-sans);
}

/* 竖排容器：行高即列间距 */
html[lang^="zh"] [style*="writing-mode: vertical"],
html[lang^="zh"] .ttl.is-vertical {
  letter-spacing: 0.1em;
  line-height: 1.9;
  font-feature-settings: "vert" 1, "vrt2" 1;
}

/* 年份、时刻、克数：等宽数字 */
html[lang^="zh"] time,
html[lang^="zh"] .num,
html[lang^="zh"] .date,
html[lang^="zh"] .hour {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}

/* ---- 6. 移动端：竖排降级 ---------------------------------------------- */
@media (max-width: 767px) {
  html[lang^="zh"] [style*="writing-mode: vertical"],
  html[lang^="zh"] .ttl.is-vertical {
    writing-mode: horizontal-tb !important;
    letter-spacing: 0.06em !important;
    line-height: 1.6 !important;
  }
  html[lang^="zh"] main {
    line-height: 2.1;
  }
}
