/* ==========================================================================
   VG中文官方站 · 共享样式表 /assets/site.css
   设计语言：东方棋局 × 数字电玩。深墨绿基底、暖金强调、朱砂与青瓷点缀，
   粗边框 + 硬阴影的展区质感，报头式顶部条与侧边轨道导航。
   ========================================================================== */

/* ---------- 1. 变量 ---------- */
:root{
  --vg-ink:#0F3D35;
  --vg-ink-2:#1A5A4C;
  --vg-ink-3:#0B2C27;
  --vg-gold:#D6A84B;
  --vg-gold-soft:#F0D9A6;
  --vg-gold-deep:#8A6420;
  --vg-cinnabar:#C84A3A;
  --vg-celadon:#5E9FA3;
  --vg-paper:#F7F3E8;
  --vg-black:#101210;
  --vg-gray:#7C8F85;

  --vg-serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif;
  --vg-sans:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;

  --vg-rail-w:0px;
  --vg-bar-h:62px;
  --vg-maxw:1180px;
  --vg-gutter:clamp(20px,4vw,44px);
  --vg-section-y:clamp(44px,7vw,96px);
  --vg-radius:2px;
  --vg-line:3px solid var(--vg-black);
  --vg-shadow:10px 10px 0 rgba(16,18,16,.85);
  --vg-shadow-sm:6px 6px 0 rgba(16,18,16,.85);
  --vg-ease:cubic-bezier(.22,.61,.36,1);
  --vg-grid-line:rgba(214,168,75,.075);
}
@media (min-width:1080px){
  :root{ --vg-rail-w:248px; --vg-bar-h:60px; }
}

/* ---------- 2. Reset 与中文排版 ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--vg-bar-h) + 16px);
}
body{
  margin:0;
  padding-top:var(--vg-bar-h);
  padding-left:var(--vg-rail-w);
  font-family:var(--vg-sans);
  font-size:17px;
  line-height:1.85;
  color:var(--vg-paper);
  background-color:var(--vg-ink);
  background-image:
    linear-gradient(var(--vg-grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--vg-grid-line) 1px, transparent 1px);
  background-size:72px 72px, 72px 72px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5{
  margin:0 0 .6em;
  font-family:var(--vg-serif);
  font-weight:600;
  line-height:1.28;
  letter-spacing:.02em;
}
p{ margin:0 0 1.15em; }
ul,ol{ margin:0; padding:0; list-style:none; }
img,picture,svg,video{ display:block; max-width:100%; height:auto; }
a{ color:var(--vg-gold); text-decoration:none; transition:color .2s var(--vg-ease); }
a:hover{ color:var(--vg-gold-soft); }
button{ font-family:inherit; }
:focus-visible{ outline:3px solid var(--vg-gold); outline-offset:3px; }
::selection{ background:var(--vg-gold); color:var(--vg-black); }

/* ---------- 3. 跳转与工具类 ---------- */
.vg-skip{
  position:fixed; top:8px; left:8px; z-index:900;
  transform:translateY(-200%);
  padding:10px 18px;
  font-size:14px; letter-spacing:.1em;
  color:var(--vg-black); background:var(--vg-gold);
  border:var(--vg-line); border-radius:var(--vg-radius);
  transition:transform .2s var(--vg-ease);
}
.vg-skip:focus{ transform:translateY(0); color:var(--vg-black); }
.vg-visually-hidden{
  position:absolute !important; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}

/* ---------- 4. 头部外壳 ---------- */
.vg-header{
  position:relative;
  z-index:500;
  color:var(--vg-paper);
}

/* 4.1 侧边轨道 —— 移动端为顶部横杆 */
.vg-rail{
  position:fixed; top:0; left:0; right:0;
  height:var(--vg-bar-h);
  z-index:30;
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:0 16px;
  background-color:var(--vg-ink-3);
  background-image:
    linear-gradient(rgba(214,168,75,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(214,168,75,.10) 1px, transparent 1px);
  background-size:36px 36px;
  border-bottom:var(--vg-line);
  box-shadow:0 6px 0 rgba(16,18,16,.3);
}
.vg-rail__brand{
  display:flex; align-items:center; gap:10px;
  color:var(--vg-paper);
  min-width:0;
}
.vg-rail__brand:hover{ color:var(--vg-gold-soft); }
.vg-rail__seal{
  display:grid; place-items:center; flex:0 0 auto;
  width:38px; height:38px;
  font-family:var(--vg-serif); font-size:15px; letter-spacing:.06em;
  color:var(--vg-gold-soft);
  border:3px solid var(--vg-cinnabar);
  background:rgba(200,74,58,.14);
}
.vg-rail__name{
  font-family:var(--vg-serif);
  font-size:17px; letter-spacing:.08em;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* 4.2 目录按钮 */
.vg-rail__toggle{
  display:inline-flex; align-items:center; gap:10px; flex:0 0 auto;
  padding:9px 14px;
  font-size:13px; letter-spacing:.18em;
  color:var(--vg-gold); background:transparent;
  border:2px solid var(--vg-gold); border-radius:var(--vg-radius);
  cursor:pointer;
  transition:background .2s var(--vg-ease), color .2s var(--vg-ease);
}
.vg-rail__toggle:hover{ background:var(--vg-gold); color:var(--vg-black); }
.vg-rail__toggle-bars{
  position:relative; display:block; width:18px; height:2px;
  background:currentColor;
}
.vg-rail__toggle-bars::before,
.vg-rail__toggle-bars::after{
  content:""; position:absolute; left:0; width:18px; height:2px;
  background:currentColor;
  transition:transform .26s var(--vg-ease), opacity .2s var(--vg-ease);
}
.vg-rail__toggle-bars::before{ top:-6px; }
.vg-rail__toggle-bars::after{ top:6px; }
.vg-header[data-open] .vg-rail__toggle-bars{ background:transparent; }
.vg-header[data-open] .vg-rail__toggle-bars::before{ transform:translateY(6px) rotate(45deg); }
.vg-header[data-open] .vg-rail__toggle-bars::after{ transform:translateY(-6px) rotate(-45deg); }

/* 4.3 抽屉面板 —— 移动端 */
.vg-rail__panel{
  position:fixed; top:var(--vg-bar-h); left:0; bottom:0;
  width:min(88vw,360px);
  z-index:25;
  display:flex; flex-direction:column; gap:22px;
  padding:26px 20px 34px;
  overflow-y:auto;
  background-color:var(--vg-ink);
  background-image:
    linear-gradient(rgba(214,168,75,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(214,168,75,.07) 1px, transparent 1px);
  background-size:48px 48px;
  border-right:var(--vg-line);
  box-shadow:14px 0 0 rgba(16,18,16,.35);
  transform:translateX(-104%);
  visibility:hidden;
  transition:transform .34s var(--vg-ease), visibility 0s linear .34s;
}
.vg-header[data-open] .vg-rail__panel{
  transform:none;
  visibility:visible;
  transition:transform .34s var(--vg-ease), visibility 0s linear 0s;
}

/* 4.4 编号导航 */
.vg-nav{ display:block; }
.vg-nav__list{ display:flex; flex-direction:column; gap:2px; }
.vg-nav__link{
  display:flex; align-items:baseline; gap:14px;
  padding:13px 14px;
  font-family:var(--vg-serif);
  font-size:19px; letter-spacing:.05em;
  color:var(--vg-paper);
  border-left:3px solid transparent;
  border-bottom:1px solid rgba(124,143,133,.28);
  transition:background .2s var(--vg-ease), color .2s var(--vg-ease),
             border-color .2s var(--vg-ease), transform .2s var(--vg-ease);
}
.vg-nav__num{
  flex:0 0 auto;
  font-family:var(--vg-sans); font-size:12px; letter-spacing:.18em;
  color:var(--vg-gold);
  transition:color .2s var(--vg-ease);
}
.vg-nav__link:hover,
.vg-nav__link:focus-visible{
  background:rgba(214,168,75,.12);
  color:var(--vg-gold-soft);
  border-left-color:var(--vg-gold);
  transform:translateX(4px);
}
.vg-nav__link[aria-current="page"]{
  background:rgba(214,168,75,.16);
  color:var(--vg-gold-soft);
  border-left-color:var(--vg-cinnabar);
}
.vg-nav__link[aria-current="page"] .vg-nav__num{ color:var(--vg-gold-soft); }

/* 4.5 快捷入口与短句 */
.vg-rail__actions{
  display:flex; flex-direction:column; gap:12px;
  margin-top:auto;
}
.vg-chip{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 16px;
  font-size:14px; line-height:1.2; letter-spacing:.1em;
  border:2px solid currentColor; border-radius:var(--vg-radius);
  background:transparent; text-align:center;
  transition:background .2s var(--vg-ease), color .2s var(--vg-ease), box-shadow .2s var(--vg-ease);
}
.vg-chip--gold{ color:var(--vg-gold); }
.vg-chip--gold:hover{ background:var(--vg-gold); color:var(--vg-black); box-shadow:4px 4px 0 rgba(16,18,16,.7); }
.vg-chip--celadon{ color:var(--vg-celadon); }
.vg-chip--celadon:hover{ background:var(--vg-celadon); color:var(--vg-black); box-shadow:4px 4px 0 rgba(16,18,16,.7); }
.vg-rail__tagline{
  margin:0;
  font-family:var(--vg-serif); font-size:13px; letter-spacing:.3em;
  color:var(--vg-gray);
}

/* 4.6 顶部报头横条（桌面） */
.vg-topbar{ display:none; }

/* 4.7 阅读进度 */
.vg-progress{
  position:fixed; top:0; left:0; right:0; height:4px;
  z-index:40;
  background:rgba(16,18,16,.35);
  pointer-events:none;
}
.vg-progress__bar{
  display:block; height:100%; width:100%;
  transform:scaleX(0); transform-origin:left center;
  background:linear-gradient(90deg, var(--vg-gold), var(--vg-gold-soft));
}

/* 4.8 移动端幕布 */
.vg-scrim{
  position:fixed; inset:0; z-index:20;
  background:rgba(11,44,39,.68);
  opacity:0; visibility:hidden;
  transition:opacity .28s var(--vg-ease), visibility 0s linear .28s;
}
.vg-header[data-open] .vg-scrim{
  opacity:1; visibility:visible;
  transition:opacity .28s var(--vg-ease), visibility 0s linear 0s;
}
@media (max-width:1079px){
  html.vg-nav-open{ overflow:hidden; }
}
@media (max-width:380px){
  .vg-rail__toggle-text{ display:none; }
}

/* ---------- 5. 桌面轨道布局 ---------- */
@media (min-width:1080px){
  .vg-rail{
    top:0; left:0; bottom:0; right:auto;
    width:var(--vg-rail-w); height:auto;
    flex-direction:column; align-items:stretch; justify-content:flex-start;
    gap:26px;
    padding:30px 22px 26px;
    border-bottom:0;
    border-right:var(--vg-line);
    box-shadow:8px 0 0 rgba(16,18,16,.3);
  }
  .vg-rail__brand{ flex-direction:column; align-items:flex-start; gap:14px; }
  .vg-rail__seal{ width:56px; height:56px; font-size:19px; }
  .vg-rail__name{ font-size:20px; letter-spacing:.14em; }
  .vg-rail__toggle{ display:none; }

  .vg-rail__panel{
    position:static;
    width:auto; height:auto;
    flex:1;
    padding:0;
    overflow:visible;
    background:none;
    border-right:0;
    box-shadow:none;
    transform:none;
    visibility:visible;
    gap:24px;
    transition:none;
  }
  .vg-nav__link{ font-size:16px; padding:11px 12px; }
  .vg-nav__num{ font-size:11px; }

  .vg-topbar{
    position:fixed; top:0; left:var(--vg-rail-w); right:0;
    height:var(--vg-bar-h);
    z-index:28;
    display:flex; align-items:center; gap:20px;
    padding:0 var(--vg-gutter);
    color:var(--vg-ink);
    background:var(--vg-paper);
    border-bottom:var(--vg-line);
  }
  .vg-topbar__brandline{
    margin:0;
    font-size:12.5px; letter-spacing:.22em;
    color:var(--vg-ink-2);
    white-space:nowrap;
  }
  .vg-topbar__chapter{
    display:inline-flex; align-items:center; gap:10px;
    margin:0 0 0 auto;
    font-family:var(--vg-serif); font-size:15px; letter-spacing:.1em;
    color:var(--vg-ink);
    white-space:nowrap;
  }
  .vg-topbar__chapter::before{
    content:""; flex:0 0 auto;
    width:10px; height:10px;
    background:var(--vg-gold);
    border:2px solid var(--vg-black);
  }
  .vg-topbar__quick{ display:flex; gap:10px; margin-left:6px; }
  .vg-topbar__quick .vg-chip{ padding:8px 14px; font-size:13px; }
  .vg-topbar .vg-chip--gold{ color:var(--vg-black); background:var(--vg-gold); border-color:var(--vg-black); }
  .vg-topbar .vg-chip--gold:hover{ background:var(--vg-black); color:var(--vg-gold); }
  .vg-topbar .vg-chip--celadon{ color:var(--vg-black); background:var(--vg-celadon); border-color:var(--vg-black); }
  .vg-topbar .vg-chip--celadon:hover{ background:var(--vg-black); color:var(--vg-celadon); }

  .vg-progress{ left:var(--vg-rail-w); }
  .vg-scrim{ display:none; }
}

/* ---------- 6. 页脚 ---------- */
.vg-footer{
  position:relative;
  margin-top:clamp(48px,8vw,110px);
  color:var(--vg-paper);
  background-color:var(--vg-ink-3);
  background-image:
    linear-gradient(rgba(214,168,75,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(214,168,75,.06) 1px, transparent 1px);
  background-size:64px 64px;
  border-top:var(--vg-line);
}
.vg-footer::before{
  content:"";
  position:absolute; top:0; left:0;
  width:min(340px,62%); height:6px;
  background:var(--vg-gold);
}
.vg-footer__grid{
  max-width:var(--vg-maxw);
  margin:0 auto;
  padding:clamp(40px,6vw,72px) var(--vg-gutter) clamp(28px,4vw,48px);
  display:grid; grid-template-columns:1fr;
  gap:clamp(26px,3vw,44px);
}
.vg-footer__brand{
  display:flex; flex-direction:column; gap:16px;
}
.vg-footer__seal{
  display:grid; place-items:center;
  width:56px; height:56px; margin:0;
  font-family:var(--vg-serif); font-size:18px; letter-spacing:.08em;
  color:var(--vg-gold-soft);
  border:3px solid var(--vg-cinnabar);
  background:rgba(200,74,58,.14);
}
.vg-footer__line{
  margin:0;
  font-family:var(--vg-serif);
  font-size:clamp(22px,3vw,30px);
  letter-spacing:.16em;
  color:var(--vg-gold-soft);
}
.vg-footer__meta{
  margin:0;
  font-size:13.5px; letter-spacing:.12em;
  color:var(--vg-gray);
}
.vg-footer__col{ display:flex; flex-direction:column; gap:14px; }
.vg-footer__title{
  margin:0;
  font-family:var(--vg-sans); font-weight:500;
  font-size:13.5px; letter-spacing:.24em;
  color:var(--vg-gold);
}
.vg-footer__title::after{
  content:""; display:block;
  width:36px; height:2px; margin-top:10px;
  background:var(--vg-gold); opacity:.6;
}
.vg-footer__list{
  display:flex; flex-direction:column; gap:9px;
  font-size:15px; line-height:1.7;
}
.vg-footer__list a{
  color:var(--vg-paper); opacity:.82;
  transition:color .2s var(--vg-ease), opacity .2s var(--vg-ease), padding-left .2s var(--vg-ease);
}
.vg-footer__list a:hover{ color:var(--vg-gold); opacity:1; padding-left:4px; }
.vg-footer__list a[aria-current="page"]{ color:var(--vg-gold); opacity:1; }
.vg-footer__col--contact .vg-footer__list{
  font-size:14.5px;
  color:var(--vg-gray);
  word-break:break-word;
}
.vg-footer__base{
  max-width:var(--vg-maxw);
  margin:0 auto;
  padding:20px var(--vg-gutter) 30px;
  display:flex; flex-wrap:wrap; align-items:center;
  gap:12px 24px;
  font-size:13px; letter-spacing:.08em;
  color:var(--vg-gray);
  border-top:1px solid rgba(124,143,133,.35);
}
.vg-footer__copy,.vg-footer__icp{ margin:0; }
.vg-totop{
  margin-left:auto;
  padding:9px 16px;
  font-size:13px; letter-spacing:.16em;
  color:var(--vg-gold); background:transparent;
  border:2px solid var(--vg-gold); border-radius:var(--vg-radius);
  cursor:pointer;
  transition:background .2s var(--vg-ease), color .2s var(--vg-ease), box-shadow .2s var(--vg-ease);
}
.vg-totop:hover{ background:var(--vg-gold); color:var(--vg-black); box-shadow:4px 4px 0 rgba(16,18,16,.7); }
@media (min-width:640px){
  .vg-footer__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vg-footer__brand{ grid-column:1 / -1; }
}
@media (min-width:1080px){
  .vg-footer__grid{ grid-template-columns:1.5fr 1fr 1fr 1.3fr; }
  .vg-footer__brand{ grid-column:auto; }
}

/* ---------- 7. 通用布局组件 ---------- */
.vg-container{
  width:100%;
  max-width:var(--vg-maxw);
  margin:0 auto;
  padding-left:var(--vg-gutter);
  padding-right:var(--vg-gutter);
}
.vg-container--narrow{ max-width:860px; }
.vg-section{ padding:var(--vg-section-y) 0; position:relative; }
.vg-section--ink{ background:var(--vg-ink); }
.vg-section--paper{ background:var(--vg-paper); color:var(--vg-black); }
.vg-section--paper a{ color:var(--vg-gold-deep); }
.vg-section--paper a:hover{ color:var(--vg-black); }
.vg-section--gold{ background:var(--vg-gold); color:var(--vg-black); }
.vg-section--cinnabar{ background:var(--vg-cinnabar); color:var(--vg-paper); }
.vg-section--celadon{ background:var(--vg-celadon); color:var(--vg-black); }

.vg-grid{ display:grid; gap:clamp(18px,2.4vw,30px); grid-template-columns:1fr; }
@media (min-width:760px){
  .vg-grid--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vg-grid--3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1080px){
  .vg-grid--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
.vg-split{ display:grid; gap:clamp(22px,3.4vw,54px); }
@media (min-width:960px){
  .vg-split{ grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:start; }
  .vg-split--reverse > *:first-child{ order:2; }
}

/* ---------- 8. 章节与展签 ---------- */
.vg-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  margin:0 0 14px;
  font-size:12.5px; letter-spacing:.3em;
  color:var(--vg-gold);
}
.vg-eyebrow::before{
  content:""; width:26px; height:2px; background:currentColor;
}
.vg-section--paper .vg-eyebrow{ color:var(--vg-gold-deep); }
.vg-chapter{ display:grid; gap:10px; margin-bottom:clamp(20px,3vw,34px); }
.vg-chapter__num{
  font-family:var(--vg-serif);
  font-size:clamp(40px,7vw,76px);
  line-height:1; letter-spacing:.02em;
  color:var(--vg-gold);
}
.vg-chapter__title{ margin:0; font-size:clamp(26px,4vw,38px); }
.vg-chapter__lead{
  margin:0; max-width:64ch;
  font-size:16px; color:var(--vg-gray);
}
.vg-section--paper .vg-chapter__lead{ color:var(--vg-ink-2); }

.vg-tag{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 12px;
  font-size:12.5px; letter-spacing:.16em;
  color:var(--vg-gold);
  border:2px solid currentColor; border-radius:var(--vg-radius);
  background:transparent;
}
.vg-tag--gold{ color:var(--vg-gold); }
.vg-tag--cinnabar{ color:var(--vg-cinnabar); }
.vg-tag--celadon{ color:var(--vg-celadon); }
.vg-tag--paper{ color:var(--vg-paper); }

/* ---------- 9. 卡片与按钮 ---------- */
.vg-card{
  padding:clamp(20px,3vw,30px);
  background:var(--vg-ink-2);
  color:var(--vg-paper);
  border:var(--vg-line);
  border-radius:var(--vg-radius);
  box-shadow:var(--vg-shadow);
}
.vg-card--paper{ background:var(--vg-paper); color:var(--vg-black); }
.vg-card--gold{ background:var(--vg-gold); color:var(--vg-black); }
.vg-card--cinnabar{ background:var(--vg-cinnabar); color:var(--vg-paper); }
.vg-card--celadon{ background:var(--vg-celadon); color:var(--vg-black); }
.vg-card__title{ margin:0 0 8px; font-size:20px; }

.vg-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:13px 24px;
  font-size:15px; letter-spacing:.12em; line-height:1.2;
  color:var(--vg-black); background:var(--vg-gold);
  border:var(--vg-line); border-radius:var(--vg-radius);
  box-shadow:var(--vg-shadow-sm);
  cursor:pointer;
  transition:transform .2s var(--vg-ease), box-shadow .2s var(--vg-ease),
             background .2s var(--vg-ease), color .2s var(--vg-ease);
}
.vg-btn:hover{
  color:var(--vg-black);
  transform:translate(3px,3px);
  box-shadow:3px 3px 0 rgba(16,18,16,.85);
}
.vg-btn--ghost{ color:var(--vg-gold); background:transparent; border-color:var(--vg-gold); }
.vg-btn--ghost:hover{ background:var(--vg-gold); color:var(--vg-black); }
.vg-btn--ink{ color:var(--vg-gold-soft); background:var(--vg-black); }
.vg-btn--ink:hover{ color:var(--vg-gold-soft); }
.vg-btn--cinnabar{ color:var(--vg-paper); background:var(--vg-cinnabar); }

/* ---------- 10. 正文、面包屑、表格、分隔 ---------- */
.vg-prose{ max-width:72ch; font-size:17px; }
.vg-prose h2{ font-size:clamp(24px,3.4vw,32px); margin-top:1.7em; }
.vg-prose h3{ font-size:20px; margin-top:1.4em; }
.vg-prose ul,.vg-prose ol{ margin:0 0 1.2em; padding-left:1.4em; }
.vg-prose ul{ list-style:none; padding-left:1.3em; }
.vg-prose ul li{ position:relative; }
.vg-prose ul li::before{
  content:""; position:absolute; left:-1.1em; top:.78em;
  width:8px; height:8px; background:var(--vg-gold);
}
.vg-prose ol{ list-style:decimal; }
.vg-prose a{ text-decoration:underline; text-underline-offset:4px; }
.vg-prose blockquote{
  margin:1.6em 0; padding:14px 20px;
  font-family:var(--vg-serif);
  border-left:4px solid var(--vg-gold);
  background:rgba(214,168,75,.1);
}

.vg-breadcrumb{
  padding-top:18px;
  font-size:13px; letter-spacing:.1em;
  color:var(--vg-gray);
}
.vg-breadcrumb ol{ display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; }
.vg-breadcrumb li{ display:flex; align-items:center; gap:10px; }
.vg-breadcrumb li + li::before{ content:"/"; color:var(--vg-gold); }
.vg-breadcrumb a{ color:var(--vg-gray); }
.vg-breadcrumb a:hover{ color:var(--vg-gold); }
.vg-breadcrumb [aria-current="page"]{ color:var(--vg-paper); }

.vg-rule{
  height:3px; margin:clamp(28px,4vw,56px) 0;
  border:0; background:var(--vg-black);
}
.vg-rule--gold{ background:var(--vg-gold); }

.vg-table{
  width:100%; border-collapse:collapse;
  font-size:15px;
  color:var(--vg-black); background:var(--vg-paper);
  border:var(--vg-line);
}
.vg-table th,.vg-table td{
  padding:12px 14px; text-align:left;
  border-bottom:1px solid rgba(16,18,16,.14);
}
.vg-table th{
  font-weight:500; letter-spacing:.08em;
  background:var(--vg-ink); color:var(--vg-gold-soft);
}
.vg-table tbody tr:hover{ background:rgba(214,168,75,.16); }

/* ---------- 11. 图片容器基础规则 ---------- */
.vg-media{
  position:relative; overflow:hidden;
  background:var(--vg-ink-2);
  border:var(--vg-line);
  border-radius:var(--vg-radius);
  box-shadow:var(--vg-shadow-sm);
}
.vg-media img,
.vg-media picture,
.vg-media video{
  display:block; width:100%; height:100%; object-fit:cover;
}
.vg-media--wide{ aspect-ratio:16 / 9; }
.vg-media--frame{ aspect-ratio:4 / 3; }
.vg-media--square{ aspect-ratio:1 / 1; }
.vg-media--tall{ aspect-ratio:3 / 4; }
.vg-media__caption{
  position:absolute; left:0; bottom:0; margin:0;
  padding:8px 14px;
  font-size:12.5px; letter-spacing:.14em;
  color:var(--vg-black); background:var(--vg-gold);
  border-top:2px solid var(--vg-black);
  border-right:2px solid var(--vg-black);
}
.vg-media--placeholder{
  display:grid; place-items:center;
  background-color:var(--vg-ink-2);
  background-image:
    linear-gradient(rgba(240,217,166,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(240,217,166,.16) 1px, transparent 1px);
  background-size:32px 32px;
}
.vg-media--placeholder::after{
  content:attr(data-caption);
  font-size:12.5px; letter-spacing:.2em;
  color:var(--vg-gold-soft); opacity:.85;
  padding:0 16px; text-align:center;
}

/* ---------- 12. 滚动浮现 ---------- */
[data-reveal]{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .6s var(--vg-ease), transform .6s var(--vg-ease);
}
[data-reveal].is-in{ opacity:1; transform:none; }

/* ---------- 13. 降低动效偏好 ---------- */
@media (prefers-reduced-motion:reduce){
  *{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  html{ scroll-behavior:auto; }
  [data-reveal]{ opacity:1; transform:none; }
  .vg-btn:hover{ transform:none; }
  .vg-rail__panel{ transition:none; }
}
