/* ==========================================================================
   益达娱乐平台 · 全站样式 —— 「暖纸赤陶 · 编辑杂志」设计体系
   设计原则：暖纸底 / 赤陶橙主色 / 暖炭墨文字 / 直角排版 / 衬线大标题
   禁忌自查：无渐变文字 · 无霓虹蓝紫 · 无 sticky 毛玻璃 · 无位移悬停
   命名体系：.yd- 前缀；变量 --sheet / --carbon / --clay / --rule 等
   断点：1080 / 860 / 620
   ========================================================================== */

/* ---------- 1. 设计变量 ---------- */
:root {
  --sheet: #f5efe6;            /* 暖纸主底 */
  --sheet-2: #ede3d2;          /* 深一度纸色 */
  --sheet-3: #faf6ed;          /* 亮纸：引块/表单底 */
  --carbon: #241c12;           /* 暖炭墨：标题与正文 */
  --carbon-2: #6f604c;         /* 次级墨 */
  --carbon-3: #a2937c;         /* 弱墨 */
  --clay: #c8552e;             /* 赤陶橙：主色 */
  --clay-2: #a03c1d;           /* 深赤陶：悬停 */
  --wine: #7d2a2a;             /* 酒红：点缀 */
  --ochre: #c08f2d;            /* 赭黄：点缀 */
  --rule: rgba(36, 28, 18, .22);   /* 细规线 */
  --rule-2: rgba(36, 28, 18, .5);  /* 中规线 */
  --face-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --face-sans: "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Source Han Sans SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  --shell: 1180px;
}

/* ---------- 2. 基础重置 ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--face-sans);
  font-size: 16px;
  line-height: 1.85;
  color: var(--carbon);
  background-color: var(--sheet);
  overflow-x: hidden;
  min-height: 100vh;
}
/* 纸面肌理：极低透明度纤维噪点（内联 SVG，零外链） */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
}
img, svg { max-width: 100%; vertical-align: middle; }
ul, ol { list-style: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
a { color: var(--clay); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--clay-2); text-decoration: underline; text-underline-offset: 4px; }
::selection { background: var(--clay); color: var(--sheet); }
:focus-visible { outline: 2px solid var(--clay); outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--face-serif); font-weight: 700; line-height: 1.32; letter-spacing: .02em; }

/* ---------- 3. 布局壳 ---------- */
.yd-shell { width: min(var(--shell), 100% - 48px); margin-inline: auto; position: relative; z-index: 1; }
.yd-section { padding-block: 64px 72px; }
.yd-section + .yd-section { padding-top: 0; }

/* 顶部三色边条：赤陶—纸—炭墨—纸 缝线纹样 */
.yd-topline {
  height: 6px;
  background: repeating-linear-gradient(90deg,
    var(--clay) 0 26px, var(--sheet) 26px 30px,
    var(--carbon) 30px 56px, var(--sheet) 56px 60px,
    var(--ochre) 60px 86px, var(--sheet) 86px 90px);
}

/* ---------- 4. 报头（双行 · 非 sticky） ---------- */
.yd-mast { position: relative; z-index: 2; background: var(--sheet); }
.yd-mast-top {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-block: 20px 16px;
  border-bottom: 1px solid var(--rule-2);
}
.yd-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--carbon); }
.yd-brand:hover { color: var(--clay); text-decoration: none; }
.yd-brand img { width: 44px; height: 44px; }
.yd-brand-name { font-family: var(--face-serif); font-size: 24px; font-weight: 700; letter-spacing: .08em; }
.yd-brand-en { display: block; font-family: var(--face-sans); font-size: 11px; font-weight: 600; letter-spacing: .34em; color: var(--carbon-2); }
.yd-mast-slogan {
  margin-left: auto;
  font-family: var(--face-serif);
  font-size: 14px;
  letter-spacing: .5em;
  color: var(--carbon-2);
  border-left: 1px solid var(--rule);
  padding-left: 24px;
}
.yd-mast-issue {
  font-size: 12px;
  letter-spacing: .18em;
  color: var(--carbon-2);
  text-align: right;
  line-height: 1.6;
}
.yd-mast-issue strong { display: block; color: var(--clay); font-size: 13px; letter-spacing: .22em; }
.yd-menu-toggle { display: none; width: 44px; height: 44px; margin-left: auto; position: relative; border: 1px solid var(--rule-2); }
.yd-menu-toggle span {
  position: absolute; left: 11px; right: 11px; height: 2px;
  background: var(--carbon); transition: transform .25s ease, top .25s ease;
}
.yd-menu-toggle span:nth-child(1) { top: 16px; }
.yd-menu-toggle span:nth-child(2) { top: 26px; }
.yd-menu-toggle[aria-expanded="true"] span:nth-child(1) { top: 21px; transform: rotate(45deg); }
.yd-menu-toggle[aria-expanded="true"] span:nth-child(2) { top: 21px; transform: rotate(-45deg); }

/* 下行：居中菜单 */
.yd-menu { border-bottom: 3px double var(--carbon); }
.yd-menu ul { display: flex; justify-content: center; }
.yd-menu a {
  display: inline-block;
  padding: 14px 26px;
  color: var(--carbon);
  font-family: var(--face-serif);
  font-size: 16px;
  letter-spacing: .14em;
}
.yd-menu a:hover { color: var(--clay); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.yd-menu a[aria-current="page"] { color: var(--clay); }
.yd-menu a[aria-current="page"]::before { content: "◆ "; font-size: 10px; vertical-align: 2px; }

/* ---------- 5. 全屏覆盖菜单（移动端，非抽屉） ---------- */
.yd-overlay {
  position: fixed; inset: 0; z-index: 60;
  background: var(--sheet);
  padding: 96px 30px 40px;
  overflow-y: auto;
  border-top: 6px solid var(--clay);
}
.yd-overlay[hidden] { display: none; }
.yd-overlay.is-open { animation: yd-fade .3s ease both; }
@keyframes yd-fade { from { opacity: 0; } to { opacity: 1; } }
.yd-overlay nav ul { border-top: 3px double var(--carbon); }
.yd-overlay nav li { border-bottom: 1px solid var(--rule); }
.yd-overlay nav a {
  display: flex; align-items: baseline; gap: 16px;
  padding: 18px 4px;
  font-family: var(--face-serif); font-size: 24px; letter-spacing: .1em;
  color: var(--carbon);
}
.yd-overlay nav a i { font-style: normal; font-size: 13px; color: var(--clay); letter-spacing: .1em; }
.yd-overlay nav a[aria-current="page"] { color: var(--clay); }
.yd-overlay .yd-overlay-note { margin-top: 28px; font-size: 13px; color: var(--carbon-2); letter-spacing: .1em; }
body.yd-menu-open { overflow: hidden; }

/* ---------- 6. 面包屑 ---------- */
.yd-crumbs {
  padding: 18px 0 0;
  font-size: 13px;
  color: var(--carbon-2);
  letter-spacing: .06em;
}
.yd-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; }
.yd-crumbs li { display: flex; align-items: center; gap: 10px; }
.yd-crumbs li + li::before { content: "›"; color: var(--carbon-3); }
.yd-crumbs a { color: var(--carbon-2); }
.yd-crumbs a:hover { color: var(--clay); }
.yd-crumbs [aria-current="page"] { color: var(--carbon); }

/* ---------- 7. Hero（通栏编辑封面） ---------- */
.yd-hero { padding-block: 64px 58px; border-bottom: 3px double var(--carbon); position: relative; }
.yd-hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 56px; align-items: stretch; }
.yd-kicker {
  display: inline-flex; align-items: center; gap: 14px;
  font-size: 12.5px; font-weight: 600; letter-spacing: .3em;
  color: var(--carbon-2); margin-bottom: 26px;
}
.yd-kicker::before { content: ""; width: 34px; height: 1px; background: var(--clay); }
.yd-hero h1 {
  font-size: clamp(2.4rem, 5.4vw, 4.35rem);
  letter-spacing: .03em;
  line-height: 1.24;
  margin-bottom: 24px;
}
.yd-hero h1 em { font-style: normal; color: var(--clay); }
.yd-hero-lead {
  max-width: 34em;
  font-size: 17px;
  color: var(--carbon-2);
  border-left: 3px solid var(--clay);
  padding-left: 18px;
  margin-bottom: 30px;
}
.yd-hero-links { display: flex; flex-wrap: wrap; gap: 12px 34px; align-items: baseline; }
.yd-hero-links a {
  font-family: var(--face-serif); font-size: 16.5px; letter-spacing: .12em;
  color: var(--carbon); border-bottom: 2px solid var(--carbon);
  padding-bottom: 3px;
}
.yd-hero-links a::after { content: " →"; color: var(--clay); }
.yd-hero-links a:hover { color: var(--clay); border-color: var(--clay); text-decoration: none; }
.yd-hero-links a.yd-alt { font-size: 14.5px; color: var(--carbon-2); border-bottom-color: var(--rule-2); }
.yd-hero-links a.yd-alt:hover { color: var(--clay); border-color: var(--clay); }

/* 右侧视觉版画：赤陶色块 + 同心圆纹 + 竖排刊语 */
.yd-plate {
  position: relative;
  background: var(--clay);
  min-height: 360px;
  padding: 30px 26px;
  overflow: hidden;
}
.yd-plate::before {
  content: "";
  position: absolute; inset: 0;
  background: repeating-radial-gradient(circle at 82% 18%,
    rgba(245, 239, 230, .28) 0 1.5px, transparent 1.5px 26px);
}
.yd-plate::after {
  content: "";
  position: absolute; right: 18px; bottom: 18px;
  width: 92px; height: 92px;
  border: 1.5px solid rgba(245, 239, 230, .85);
  background: var(--wine);
}
.yd-plate-vertical {
  position: absolute; top: 30px; left: 26px;
  writing-mode: vertical-rl;
  font-family: var(--face-serif);
  font-size: clamp(20px, 2vw, 26px);
  letter-spacing: .42em;
  color: var(--sheet);
}
.yd-plate-no {
  position: absolute; right: 22px; top: 20px;
  color: var(--sheet); font-size: 12px; letter-spacing: .26em;
}
.yd-plate-tag {
  position: absolute; left: 26px; bottom: 22px;
  width: 64px; height: 64px; background: var(--ochre);
}
/* 版画配图：img 铺满色块，色块留作图片加载失败兜底 */
.yd-plate--img { padding: 0; }
.yd-plate--img::before, .yd-plate--img::after { content: none; }
.yd-plate-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.yd-hero-foot { display: flex; justify-content: space-between; gap: 20px; padding-top: 18px; font-size: 12.5px; letter-spacing: .2em; color: var(--carbon-3); }

/* ---------- 8. 区块头（左对齐编号式，非居中） ---------- */
.yd-band-head {
  display: flex; align-items: baseline; gap: 20px;
  padding-block: 16px;
  border-top: 3px double var(--carbon);
  border-bottom: 1px solid var(--carbon);
  margin-bottom: 38px;
}
.yd-band-head .no { font-family: var(--face-serif); font-size: 15px; color: var(--clay); letter-spacing: .2em; }
.yd-band-head h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); }
.yd-band-head p { margin-left: auto; font-size: 13.5px; color: var(--carbon-2); letter-spacing: .05em; }
.yd-band-head p a { color: var(--carbon-2); border-bottom: 1px solid var(--rule-2); }
.yd-band-head p a:hover { color: var(--clay); border-color: var(--clay); }

/* ---------- 9. 编者按 ---------- */
.yd-editor-note { padding-block: 40px; border-bottom: 1px solid var(--rule); }
.yd-editor-note p { max-width: 62em; font-size: 15.5px; color: var(--carbon-2); }
.yd-editor-note strong { color: var(--carbon); font-weight: 600; }

/* ---------- 10. 平台特色：双栏编号清单 ---------- */
.yd-traits { display: grid; grid-template-columns: 1fr 1fr; border-left: 1px solid var(--rule); }
.yd-traits li { border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: 30px 30px 26px; }
.yd-traits li:nth-child(-n+2) { border-top: 1px solid var(--rule); }
.yd-traits .no { font-family: var(--face-serif); font-size: 40px; line-height: 1; color: var(--clay); display: block; margin-bottom: 14px; }
.yd-traits h3 { font-size: 20px; margin-bottom: 10px; }
.yd-traits h3 small { font-family: var(--face-sans); font-size: 11.5px; font-weight: 600; letter-spacing: .24em; color: var(--carbon-3); margin-left: 10px; }
.yd-traits p { font-size: 14.5px; color: var(--carbon-2); }

/* ---------- 11. 游戏索引行（目录式，非卡片） ---------- */
.yd-dex { border-top: 2px solid var(--carbon); }
.yd-dex li { border-bottom: 1px solid var(--rule); }
.yd-dex-row {
  display: grid;
  grid-template-columns: 64px 128px minmax(0, 4fr) minmax(0, 2.6fr) 150px 34px;
  gap: 20px;
  align-items: center;
  padding: 22px 4px;
  color: var(--carbon);
}
.yd-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--sheet-2);
  border: 1px solid var(--rule-2);
  overflow: hidden;
}
.yd-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.yd-dex-row:hover { color: var(--carbon); text-decoration: none; background: var(--sheet-3); }
.yd-dex-row .no { font-family: var(--face-serif); font-size: 22px; color: var(--carbon-3); transition: color .2s ease; }
.yd-dex-row:hover .no { color: var(--wine); }
.yd-dex-row h3 { font-size: clamp(1.15rem, 1.8vw, 1.5rem); transition: color .2s ease; }
.yd-dex-row:hover h3 { color: var(--clay); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 5px; }
.yd-dex-row h3 .en { display: block; font-family: var(--face-sans); font-size: 10.5px; font-weight: 600; letter-spacing: .28em; color: var(--carbon-3); margin-top: 2px; }
.yd-dex-row .desc { font-size: 13.5px; color: var(--carbon-2); line-height: 1.7; }
.yd-dex-row .meta { font-size: 12px; letter-spacing: .08em; color: var(--carbon-2); }
.yd-dex-row .meta b { display: block; color: var(--wine); font-size: 12.5px; letter-spacing: .16em; }
.yd-dex-row .arr { color: var(--clay); font-family: var(--face-serif); }
.yd-tagrow { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.yd-tag {
  font-size: 11px; letter-spacing: .12em; color: var(--carbon-2);
  border: 1px solid var(--rule-2); padding: 1px 8px; display: inline-block;
}

/* ---------- 12. AI 词典（词条式） ---------- */
.yd-lexicon { border-top: 2px solid var(--carbon); }
.yd-lexicon > li { display: grid; grid-template-columns: 220px minmax(0, 1fr) 120px; gap: 26px; padding: 26px 4px; border-bottom: 1px solid var(--rule); align-items: start; }
.yd-lexicon dt { font-family: var(--face-serif); font-size: 21px; }
.yd-lexicon dt small { display: block; font-family: var(--face-sans); font-size: 11px; letter-spacing: .26em; color: var(--clay); margin-top: 4px; }
.yd-lexicon dd { font-size: 14.5px; color: var(--carbon-2); }
.yd-lexicon .mark { font-family: var(--face-serif); font-size: 14px; color: var(--carbon-3); letter-spacing: .1em; text-align: right; }
.yd-lexicon .mark b { color: var(--wine); font-size: 17px; }

/* ---------- 13. 新闻：编号大字排版 ---------- */
.yd-news { border-top: 2px solid var(--carbon); }
.yd-news li { border-bottom: 1px solid var(--rule); }
.yd-news-row { display: grid; grid-template-columns: 88px 200px minmax(0, 1fr); gap: 26px; align-items: center; padding: 28px 4px; color: var(--carbon); }
.yd-news-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 8 / 5;
  background: var(--sheet-2);
  border: 1px solid var(--rule-2);
  overflow: hidden;
}
.yd-news-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.yd-news-row:hover { color: var(--carbon); text-decoration: none; background: var(--sheet-3); }
.yd-news-row .no { font-family: var(--face-serif); font-size: 44px; line-height: 1; color: var(--sheet-2); -webkit-text-stroke: 1px var(--carbon-3); transition: color .2s ease; }
.yd-news-row:hover .no { color: var(--clay); -webkit-text-stroke: 1px var(--clay-2); }
.yd-news-row .meta { font-size: 12.5px; letter-spacing: .12em; color: var(--carbon-2); margin-bottom: 8px; }
.yd-news-row .meta i { font-style: normal; color: var(--wine); margin-right: 12px; }
.yd-news-row h3 { font-size: clamp(1.2rem, 2vw, 1.62rem); transition: color .2s ease; }
.yd-news-row:hover h3 { color: var(--clay); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 5px; }
.yd-news-row p { margin-top: 8px; font-size: 14.5px; color: var(--carbon-2); max-width: 56em; }

/* ---------- 14. FAQ ---------- */
.yd-faq { border-top: 2px solid var(--carbon); max-width: 920px; }
.yd-faq details { border-bottom: 1px solid var(--rule); }
.yd-faq summary {
  display: flex; align-items: baseline; gap: 18px;
  padding: 20px 4px; cursor: pointer; list-style: none;
  font-family: var(--face-serif); font-size: 17.5px; color: var(--carbon);
}
.yd-faq summary::-webkit-details-marker { display: none; }
.yd-faq summary .no { color: var(--clay); font-size: 14px; letter-spacing: .1em; }
.yd-faq summary::after { content: "＋"; margin-left: auto; color: var(--carbon-2); transition: transform .2s ease; }
.yd-faq details[open] summary { color: var(--clay); }
.yd-faq details[open] summary::after { content: "－"; color: var(--clay); }
.yd-faq details p { padding: 0 4px 20px 44px; font-size: 14.5px; color: var(--carbon-2); max-width: 62em; }

/* ---------- 15. 详情页：文章与侧栏 ---------- */
.yd-article-wrap { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 3.2fr); gap: 56px; padding-block: 44px 64px; }
.yd-article-head { border-bottom: 3px double var(--carbon); padding-bottom: 30px; margin-bottom: 34px; }
.yd-article-head .meta { font-size: 13px; letter-spacing: .12em; color: var(--carbon-2); margin-bottom: 14px; }
.yd-article-head .meta i { font-style: normal; color: var(--wine); margin-right: 14px; }
.yd-article-head h1 { font-size: clamp(1.8rem, 3.4vw, 2.7rem); margin-bottom: 16px; }
.yd-article-head .standfirst { font-size: 16px; color: var(--carbon-2); border-left: 3px solid var(--clay); padding-left: 16px; max-width: 44em; }
.yd-article { font-size: 16px; }
.yd-article > p { margin-bottom: 20px; color: var(--carbon); }
.yd-article h2 { font-size: 22px; margin: 36px 0 14px; padding-left: 14px; border-left: 4px solid var(--clay); }
.yd-article h3 { font-size: 18px; margin: 26px 0 10px; }
.yd-article ul { margin: 0 0 20px 4px; }
.yd-article ul li { position: relative; padding-left: 22px; margin-bottom: 8px; color: var(--carbon-2); }
.yd-article ul li::before { content: "▪"; position: absolute; left: 0; color: var(--clay); }
.yd-article blockquote {
  margin: 26px 0; padding: 20px 24px;
  background: var(--sheet-3);
  border-block: 1px solid var(--rule-2);
  font-family: var(--face-serif); font-size: 16.5px; color: var(--carbon);
}
.yd-article blockquote em { font-style: normal; color: var(--clay); }
.yd-article .footnote { margin-top: 34px; padding-top: 16px; border-top: 1px solid var(--rule); font-size: 13px; color: var(--carbon-3); letter-spacing: .06em; }

/* 侧栏 */
.yd-aside > section + section { margin-top: 36px; }
.yd-aside h2 { font-size: 16px; letter-spacing: .18em; border-bottom: 2px solid var(--carbon); padding-bottom: 10px; margin-bottom: 14px; }
.yd-aside-list li { border-bottom: 1px solid var(--rule); }
.yd-aside-list a { display: block; padding: 12px 2px; color: var(--carbon); font-size: 14.5px; }
.yd-aside-list a:hover { color: var(--clay); }
.yd-aside-list .m { display: block; font-size: 11.5px; color: var(--carbon-3); letter-spacing: .1em; margin-top: 2px; }
.yd-aside-box { background: var(--sheet-3); border: 1px solid var(--rule-2); padding: 18px 20px; font-size: 13.5px; color: var(--carbon-2); }
.yd-aside-box b { color: var(--carbon); }
.yd-aside-box a { border-bottom: 1px solid var(--rule-2); }

/* ---------- 16. 关于页 ---------- */
.yd-story { display: grid; grid-template-columns: minmax(0, 7.2fr) minmax(0, 3.4fr); gap: 56px; padding-block: 48px 24px; }
.yd-story h1 { font-size: clamp(2rem, 4vw, 3.1rem); margin-bottom: 20px; }
.yd-story h1 em { font-style: normal; color: var(--clay); }
.yd-story .lead { font-size: 16.5px; color: var(--carbon-2); border-left: 3px solid var(--clay); padding-left: 16px; margin-bottom: 26px; }
.yd-story h2 { font-size: 22px; margin: 34px 0 12px; padding-left: 14px; border-left: 4px solid var(--clay); }
.yd-story p { margin-bottom: 14px; color: var(--carbon); font-size: 15.5px; }
.yd-story-side { border-left: 1px solid var(--rule); padding-left: 34px; }
.yd-story-side .fact + .fact { margin-top: 22px; }
.yd-story-side .fact dt { font-size: 12px; letter-spacing: .24em; color: var(--carbon-3); }
.yd-story-side .fact dd { font-family: var(--face-serif); font-size: 19px; color: var(--carbon); }
.yd-story-side .fact dd small { font-family: var(--face-sans); font-size: 12px; color: var(--carbon-2); }
.yd-quote { margin: 40px 0; padding: 26px 30px; background: var(--sheet-2); border-block: 1px solid var(--carbon); font-family: var(--face-serif); font-size: 18px; line-height: 1.9; }
.yd-quote em { font-style: normal; color: var(--wine); }
/* 插图（figure）：纸边框 + 题注条 */
.yd-fig { margin: 28px 0; border: 1px solid var(--rule-2); background: var(--sheet-2); }
.yd-fig img { display: block; width: 100%; height: auto; }
.yd-fig figcaption {
  padding: 10px 14px;
  border-top: 1px solid var(--rule);
  background: var(--sheet-3);
  font-size: 12.5px; letter-spacing: .14em; color: var(--carbon-2);
}
.yd-timeline { border-top: 2px solid var(--carbon); margin-block: 20px 44px; }
.yd-timeline li { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 26px; padding: 20px 4px; border-bottom: 1px solid var(--rule); }
.yd-timeline .yr { font-family: var(--face-serif); font-size: 24px; color: var(--clay); }
.yd-timeline .ev b { display: block; font-size: 15.5px; }
.yd-timeline .ev span { font-size: 13.5px; color: var(--carbon-2); }

/* ---------- 17. 联系页 ---------- */
.yd-contact { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 56px; padding-block: 44px 64px; }
.yd-contact h1 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); margin-bottom: 14px; }
.yd-contact .lead { color: var(--carbon-2); border-left: 3px solid var(--clay); padding-left: 16px; margin-bottom: 30px; font-size: 15.5px; }
.yd-form { border-top: 2px solid var(--carbon); padding-top: 8px; }
.yd-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.yd-field { padding-block: 16px 6px; }
.yd-field label { display: block; font-size: 12.5px; font-weight: 600; letter-spacing: .2em; color: var(--carbon-2); margin-bottom: 8px; }
.yd-field label i { font-style: normal; color: var(--wine); margin-left: 4px; }
.yd-field input, .yd-field select, .yd-field textarea {
  width: 100%; border: 0; border-bottom: 1.5px solid var(--carbon);
  background: transparent; padding: 9px 2px;
  font: inherit; color: var(--carbon); border-radius: 0;
}
.yd-field textarea { min-height: 120px; resize: vertical; }
.yd-field input:focus, .yd-field select:focus, .yd-field textarea:focus {
  outline: none; border-bottom-color: var(--clay); box-shadow: 0 1.5px 0 var(--clay);
}
.yd-err { display: none; margin-top: 6px; font-size: 12.5px; color: var(--wine); }
.yd-field.is-bad input, .yd-field.is-bad textarea, .yd-field.is-bad select { border-bottom-color: var(--wine); }
.yd-field.is-bad .yd-err { display: block; }
.yd-form-foot { display: flex; align-items: center; gap: 20px; margin-top: 26px; }
.yd-submit { background: var(--carbon); color: var(--sheet); padding: 13px 44px; font-size: 15px; letter-spacing: .3em; border: 1px solid var(--carbon); transition: background .2s ease, border-color .2s ease; }
.yd-submit:hover { background: var(--clay); border-color: var(--clay); color: var(--sheet); text-decoration: none; }
.yd-form-ok { display: none; font-size: 14px; color: var(--clay-2); border-bottom: 2px solid var(--clay); padding-bottom: 2px; }
.yd-fact { border: 1px solid var(--rule-2); background: var(--sheet-3); padding: 26px 28px; }
.yd-fact h2 { font-size: 18px; letter-spacing: .14em; border-bottom: 2px solid var(--carbon); padding-bottom: 10px; margin-bottom: 16px; }
.yd-fact dl { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 14px 18px; font-size: 14.5px; }
.yd-fact dt { color: var(--carbon-3); letter-spacing: .14em; font-size: 12.5px; padding-top: 2px; }
.yd-fact dd { color: var(--carbon); }
.yd-fact .note { margin-top: 18px; padding-top: 14px; border-top: 1px dashed var(--rule-2); font-size: 13px; color: var(--carbon-2); }

/* ---------- 17b. 开户与注册引导 ---------- */
.yd-register { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: 48px; align-items: start; }
.yd-register-steps { border-top: 2px solid var(--carbon); }
.yd-register-steps li { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 22px; padding: 20px 4px; border-bottom: 1px solid var(--rule); align-items: start; }
.yd-register-steps b { font-family: var(--face-serif); font-size: 19px; color: var(--clay); letter-spacing: .06em; }
.yd-register-steps span { font-size: 14.5px; color: var(--carbon-2); }
.yd-register-steps span a { border-bottom: 1px solid var(--rule-2); }
.yd-register-note {
  margin-top: 18px; padding: 14px 18px;
  background: var(--sheet-2); border-left: 3px solid var(--wine);
  font-size: 13px; line-height: 1.9; color: var(--carbon-2);
}
.yd-register-fig { border: 1px solid var(--rule-2); background: var(--sheet-2); }
.yd-register-fig img { display: block; width: 100%; height: auto; }
.yd-register-fig figcaption {
  padding: 10px 14px;
  border-top: 1px solid var(--rule);
  background: var(--sheet-3);
  font-size: 12.5px; letter-spacing: .16em; color: var(--carbon-2);
}

/* ---------- 18. 404 ---------- */
.yd-lost { text-align: center; padding-block: 90px 100px; }
.yd-lost .code { font-family: var(--face-serif); font-size: clamp(5rem, 16vw, 10rem); line-height: 1; color: var(--clay); letter-spacing: .06em; }
.yd-lost h1 { font-size: 24px; margin: 18px 0 10px; letter-spacing: .2em; }
.yd-lost p { color: var(--carbon-2); margin-bottom: 30px; }
.yd-lost-links { display: flex; justify-content: center; gap: 18px 34px; flex-wrap: wrap; }
.yd-lost-links a { font-family: var(--face-serif); font-size: 16px; color: var(--carbon); border-bottom: 2px solid var(--carbon); padding-bottom: 3px; }
.yd-lost-links a:hover { color: var(--clay); border-color: var(--clay); text-decoration: none; }

/* ---------- 19. 页脚（左声明 + 右双列） ---------- */
.yd-foot { margin-top: 80px; background: var(--carbon); color: var(--sheet); }
.yd-foot-main { display: grid; grid-template-columns: minmax(0, 6.4fr) minmax(0, 5.6fr); gap: 56px; padding-block: 54px 40px; }
.yd-foot-declare { font-family: var(--face-serif); font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.55; letter-spacing: .06em; }
.yd-foot-declare em { font-style: normal; color: var(--ochre); }
.yd-foot-seal { display: inline-flex; margin-top: 20px; align-items: center; gap: 12px; font-family: var(--face-sans); font-size: 12px; letter-spacing: .3em; color: rgba(245, 239, 230, .65); }
.yd-foot-seal img { width: 34px; height: 34px; }
.yd-foot-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; border-left: 1px solid rgba(245, 239, 230, .22); padding-left: 48px; }
.yd-foot-cols h2 { font-size: 13px; letter-spacing: .3em; color: var(--ochre); margin-bottom: 14px; font-family: var(--face-sans); font-weight: 600; }
.yd-foot-cols li { margin-bottom: 9px; }
.yd-foot-cols a { color: rgba(245, 239, 230, .82); font-size: 14px; }
.yd-foot-cols a:hover { color: var(--ochre); }
.yd-foot-bar { border-top: 1px solid rgba(245, 239, 230, .22); padding-block: 18px; display: flex; flex-wrap: wrap; gap: 8px 26px; font-size: 12.5px; letter-spacing: .08em; color: rgba(245, 239, 230, .55); }
.yd-foot-bar a { color: rgba(245, 239, 230, .55); }
.yd-foot-bar a:hover { color: var(--ochre); }

/* ---------- 20. 入场动效 ---------- */
.yd-rise { opacity: 0; animation: yd-rise .7s cubic-bezier(.2, .65, .3, 1) forwards; }
.yd-rise.d1 { animation-delay: .08s; }
.yd-rise.d2 { animation-delay: .16s; }
.yd-rise.d3 { animation-delay: .24s; }
.yd-rise.d4 { animation-delay: .32s; }
@keyframes yd-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .yd-rise { animation: none; opacity: 1; }
  .yd-overlay.is-open { animation: none; }
}

/* ---------- 21. 响应式 ---------- */
@media (max-width: 1080px) {
  .yd-hero-grid { gap: 36px; }
  .yd-mast-slogan { letter-spacing: .3em; }
  .yd-lexicon > li { grid-template-columns: 170px minmax(0, 1fr); }
  .yd-lexicon .mark { display: none; }
  .yd-dex-row { grid-template-columns: 48px 104px minmax(0, 4.4fr) minmax(0, 3fr) 34px; }
  .yd-dex-row .meta { display: none; }
  .yd-article-wrap, .yd-contact, .yd-story { gap: 36px; }
}
@media (max-width: 860px) {
  .yd-shell { width: min(var(--shell), 100% - 36px); }
  .yd-mast-slogan, .yd-menu { display: none; }
  .yd-menu-toggle { display: block; }
  .yd-hero { padding-block: 44px 40px; }
  .yd-hero-grid { grid-template-columns: 1fr; }
  .yd-plate { min-height: 250px; }
  .yd-plate-vertical { font-size: 19px; }
  .yd-register { grid-template-columns: 1fr; }
  .yd-news-row { grid-template-columns: 72px minmax(0, 148px) minmax(0, 1fr); gap: 18px; }
  .yd-traits { grid-template-columns: 1fr; border-left: 0; }
  .yd-traits li { border-right: 0; border-top: 1px solid var(--rule); }
  .yd-traits li:nth-child(-n+2) { border-top: 1px solid var(--rule); }
  .yd-traits li:first-child { border-top: 0; }
  .yd-article-wrap, .yd-contact { grid-template-columns: 1fr; }
  .yd-story { grid-template-columns: 1fr; }
  .yd-story-side { border-left: 0; padding-left: 0; border-top: 3px double var(--carbon); padding-top: 26px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 30px; }
  .yd-story-side .fact + .fact { margin-top: 8px; }
  .yd-foot-main { grid-template-columns: 1fr; gap: 36px; }
  .yd-foot-cols { border-left: 0; padding-left: 0; }
  .yd-band-head { flex-wrap: wrap; }
  .yd-band-head p { margin-left: 0; flex-basis: 100%; }
}
@media (max-width: 620px) {
  body { font-size: 15px; }
  .yd-brand-name { font-size: 19px; }
  .yd-brand img { width: 38px; height: 38px; }
  .yd-mast-issue { display: none; }
  .yd-menu-toggle { margin-left: auto; }
  .yd-section { padding-block: 44px 52px; }
  .yd-dex-row { grid-template-columns: 34px 84px minmax(0, 1fr) 24px; gap: 12px; padding: 18px 2px; }
  .yd-dex-row .desc { display: none; }
  .yd-news-row { grid-template-columns: 52px 116px minmax(0, 1fr); gap: 14px; padding: 22px 2px; }
  .yd-news-row .no { font-size: 30px; }
  .yd-register-steps li { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; }
  .yd-lexicon > li { grid-template-columns: 1fr; gap: 8px; }
  .yd-lexicon .mark { display: block; text-align: left; }
  .yd-form-row { grid-template-columns: 1fr; }
  .yd-foot-cols { grid-template-columns: 1fr; }
  .yd-timeline li { grid-template-columns: 84px minmax(0, 1fr); gap: 16px; }
  .yd-timeline .yr { font-size: 19px; }
  .yd-faq details p { padding-left: 4px; }
  .yd-faq summary { font-size: 16px; }
}
