/* ==========================================================
   博雅棋牌 · 共享样式 /assets/site.css
   墨绿棋院框架 + 米白棋纸 + 暖金强调
   ========================================================== */

:root{
  --ink-green:#123B2E;
  --pine-green:#1E5B47;
  --gold:#C9A227;
  --gold-soft:#D8B23A;
  --gold-pale:#E8D9A8;
  --paper:#F5F0E4;
  --paper-deep:#E7DFC9;
  --paper-card:#FBF7EC;
  --cinnabar:#A63B2A;
  --celadon:#4E8C8A;
  --ink:#16211C;
  --wood:#8A8577;

  --font-display:"Source Han Serif SC","Noto Serif SC","Songti SC","STSong","SimSun",serif;
  --font-body:"Source Han Sans SC","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-mono:"JetBrains Mono","SFMono-Regular","Menlo","Consolas","Courier New",monospace;

  --header-h:76px;
  --wrap:1240px;
  --radius:4px;
  --radius-pill:999px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background-color:var(--paper);
  background-image:
    repeating-linear-gradient(0deg, rgba(18,59,46,.055) 0 1px, transparent 1px 32px),
    repeating-linear-gradient(90deg, rgba(18,59,46,.055) 0 1px, transparent 1px 32px);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.85;
  font-weight:400;
  letter-spacing:0;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6{
  margin:0;
  font-family:var(--font-display);
  font-weight:800;
  line-height:1.28;
  letter-spacing:.02em;
  color:var(--ink);
}
h1{font-size:clamp(36px,5.6vw,68px)}
h2{font-size:clamp(26px,3.4vw,40px)}
h3{font-size:clamp(20px,2.2vw,26px)}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
table{border-collapse:collapse}
strong{font-weight:600;color:var(--ink-green)}
::selection{background:var(--gold-pale);color:var(--ink-green)}

:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:2px;
}
[id]{scroll-margin-top:calc(var(--header-h) + 18px)}

/* ---------- 跳过链接 ---------- */
.skip-link{
  position:fixed;
  left:16px;top:-90px;
  z-index:300;
  display:inline-block;
  padding:10px 20px;
  background:var(--gold);
  color:#1b1408;
  font-size:14px;
  font-weight:600;
  border-radius:var(--radius);
  box-shadow:0 10px 24px -14px rgba(0,0,0,.6);
  transition:top .2s var(--ease);
}
.skip-link:focus{top:12px}

/* ==========================================================
   头部 · 框架式导航
   ========================================================== */
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  background:linear-gradient(180deg,#123B2E 0%,#0F3327 100%);
  color:var(--paper);
  border-bottom:1px solid rgba(232,217,168,.32);
  box-shadow:0 1px 0 rgba(201,162,39,.28), 0 16px 34px -30px rgba(0,0,0,.9);
}
.site-header__grid{
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    repeating-linear-gradient(90deg, rgba(232,217,168,.075) 0 1px, transparent 1px 58px),
    linear-gradient(180deg, rgba(201,162,39,.14), rgba(201,162,39,0) 66%);
}
.site-header__inner{
  position:relative;
  z-index:2;
  max-width:var(--wrap);
  margin:0 auto;
  padding:13px 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

/* 品牌 */
.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  flex:none;
  text-decoration:none;
  color:var(--paper);
}
.brand__seal{
  width:42px;height:42px;
  display:grid;place-items:center;
  flex:none;
  background:linear-gradient(150deg,#E8D9A8,#C9A227 78%);
  color:#132b22;
  font-family:var(--font-display);
  font-size:21px;
  font-weight:800;
  line-height:1;
  border-radius:var(--radius);
  clip-path:polygon(0 0, 100% 0, 100% 68%, 68% 100%, 0 100%);
  box-shadow:inset 0 0 0 1px rgba(18,59,46,.25);
}
.brand__words{display:grid;gap:1px;min-width:0}
.brand__name{
  font-family:var(--font-display);
  font-size:19px;
  font-weight:800;
  letter-spacing:.14em;
  color:var(--paper);
  line-height:1.3;
}
.brand__sub{
  font-size:11.5px;
  letter-spacing:.1em;
  color:rgba(232,217,168,.72);
  line-height:1.4;
  white-space:nowrap;
}
.brand:hover .brand__name{color:var(--gold-pale)}
.brand--footer .brand__name{font-size:20px}

/* 导航 */
.site-nav{display:flex;align-items:center}
.site-nav__hint{display:none}
.site-nav__list{display:flex;align-items:center;gap:2px}
.site-nav__item{position:relative}
.site-nav__item::before{content:none}
.site-nav__link{
  position:relative;
  display:inline-block;
  padding:9px 13px;
  font-size:15px;
  line-height:1.5;
  color:rgba(245,240,228,.8);
  border-radius:var(--radius);
  transition:color .18s var(--ease),background-color .18s var(--ease);
}
.site-nav__link:hover{color:var(--gold-pale);background:rgba(232,217,168,.09)}
.site-nav__link[aria-current="page"]{color:var(--gold);font-weight:600}
.site-nav__link[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:50%;bottom:-3px;
  width:7px;height:7px;
  margin-left:-3.5px;
  border-radius:50%;
  background:var(--cinnabar);
  box-shadow:0 0 0 1px rgba(232,217,168,.65);
}
.site-nav__foot{display:none}

/* 右侧动作区 */
.header-actions{display:flex;align-items:center;gap:10px;flex:none}
.header-cta{
  display:inline-flex;
  align-items:center;
  padding:8px 16px;
  font-size:14px;
  letter-spacing:.04em;
  color:var(--gold-pale);
  border:1px solid rgba(232,217,168,.42);
  border-radius:var(--radius-pill);
  transition:background-color .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);
}
.header-cta:hover{background:rgba(232,217,168,.14);color:#fff}
.header-cta--gold{
  background:var(--gold);
  border-color:var(--gold);
  color:#1c1506;
  font-weight:600;
}
.header-cta--gold:hover{background:var(--gold-soft);color:#1c1506}

/* 移动导航按钮 */
.nav-toggle{
  display:none;
  align-items:center;
  gap:9px;
  padding:8px 14px;
  border:1px solid rgba(232,217,168,.42);
  border-radius:var(--radius-pill);
  color:var(--gold-pale);
  font-size:13.5px;
  letter-spacing:.1em;
}
.nav-toggle__bars{display:grid;gap:4px;width:18px}
.nav-toggle__bars span{
  display:block;
  height:2px;
  background:currentColor;
  border-radius:2px;
  transition:transform .22s var(--ease),opacity .22s var(--ease);
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* 阅读进度线 */
.site-header__progress{
  position:absolute;
  left:0;right:0;bottom:0;
  height:2px;
  background:rgba(232,217,168,.14);
  overflow:hidden;
}
.site-header__progress span{
  display:block;
  height:100%;width:100%;
  background:linear-gradient(90deg,var(--gold),var(--gold-pale));
  transform:scaleX(0);
  transform-origin:0 50%;
  transition:transform .12s linear;
}

/* ==========================================================
   通用按钮
   ========================================================== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  padding:11px 22px;
  font-size:15px;
  font-weight:500;
  letter-spacing:.04em;
  border:1px solid transparent;
  border-radius:var(--radius-pill);
  transition:background-color .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease);
}
.btn--gold{background:var(--gold);border-color:var(--gold);color:#1c1506;font-weight:600}
.btn--gold:hover{background:var(--gold-soft);border-color:var(--gold-soft)}
.btn--line{background:transparent;border-color:rgba(232,217,168,.5);color:var(--gold-pale)}
.btn--line:hover{background:rgba(232,217,168,.12);color:#fff}
.btn--ink{background:var(--ink-green);border-color:var(--ink-green);color:var(--paper)}
.btn--ink:hover{background:var(--pine-green);border-color:var(--pine-green)}
.btn--sm{padding:8px 16px;font-size:14px}

/* ==========================================================
   布局容器 / 章节
   ========================================================== */
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:32px}
.section{padding-block:clamp(38px,5.5vw,68px)}
.section__head{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding-top:20px;
  margin-bottom:30px;
  border-top:1px solid rgba(18,59,46,.2);
}
.section__head::before{
  content:"";
  position:absolute;
  top:-1px;left:0;
  width:72px;height:1px;
  background:var(--gold);
}
.section__title{font-size:clamp(24px,3vw,34px);margin:0}
.section__num{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.18em;
  color:var(--wood);
  flex:none;
  padding-bottom:4px;
}
.section__lede{
  max-width:62ch;
  margin-top:12px;
  font-size:16px;
  color:#3d4a43;
}

.grid{display:grid;gap:clamp(20px,3vw,36px)}
.grid--5-7{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.grid--7-4{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ---------- 面包屑 ---------- */
.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:22px 0 0;
  font-size:13px;
  letter-spacing:.04em;
  color:var(--wood);
}
.breadcrumb__link{color:var(--celadon)}
.breadcrumb__link:hover{text-decoration:underline;text-underline-offset:3px}
.breadcrumb__sep{color:#c3bba6}
.breadcrumb__current{color:var(--ink-green)}

/* ==========================================================
   内容组件
   ========================================================== */
.card{
  position:relative;
  padding:clamp(20px,2.4vw,28px);
  background:var(--paper-card);
  border:1px solid rgba(18,59,46,.15);
  border-radius:var(--radius);
  overflow:hidden;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease);
}
.card::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:var(--gold);
  transform:scaleY(.42);
  transform-origin:50% 0;
  transition:transform .26s var(--ease);
}
.card:hover{
  border-color:rgba(201,162,39,.62);
  box-shadow:0 18px 34px -28px rgba(18,59,46,.85);
}
.card:hover::before{transform:scaleY(1)}
.card__title{
  font-family:var(--font-display);
  font-size:19px;
  margin:0 0 10px;
  color:var(--ink-green);
}
.card__meta{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--wood);
  margin-bottom:10px;
}

.note{
  padding:18px 20px;
  background:var(--paper-deep);
  border-left:3px solid var(--celadon);
  border-radius:0 var(--radius) var(--radius) 0;
  font-size:14.5px;
  line-height:1.85;
  color:#33463d;
}
.note__title{
  font-family:var(--font-display);
  font-size:15px;
  letter-spacing:.08em;
  color:var(--ink-green);
  margin:0 0 8px;
}

.tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 11px;
  font-size:12.5px;
  line-height:1.7;
  letter-spacing:.05em;
  border:1px solid rgba(18,59,46,.22);
  border-radius:var(--radius-pill);
  background:rgba(245,240,228,.8);
  color:#33463d;
}
.tag--gold{background:var(--gold);border-color:var(--gold);color:#1c1506;font-weight:600}
.tag--cinnabar{background:var(--cinnabar);border-color:var(--cinnabar);color:#fceee9}
.tag--celadon{background:transparent;border-color:var(--celadon);color:#2f6a68}
.tag-list{display:flex;flex-wrap:wrap;gap:8px}

.rank-badge{
  position:relative;
  display:inline-grid;
  place-items:center;
  width:74px;height:74px;
  border-radius:50%;
  border:1px solid rgba(201,162,39,.6);
  background:radial-gradient(circle at 50% 50%, rgba(201,162,39,.18), rgba(201,162,39,0) 72%);
}
.rank-badge::before{
  content:"";
  position:absolute;
  inset:9px;
  border-radius:50%;
  border:1px solid rgba(201,162,39,.42);
}
.rank-badge__label{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--ink-green);
}

.table-wrap{
  overflow-x:auto;
  background:var(--paper-card);
  border:1px solid rgba(18,59,46,.15);
  border-radius:var(--radius);
}
.table{width:100%;min-width:540px;font-size:15px}
.table th,.table td{
  padding:12px 16px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid rgba(18,59,46,.1);
}
.table thead th{
  background:var(--gold-pale);
  color:#20301f;
  font-size:13.5px;
  font-weight:600;
  letter-spacing:.06em;
  border-bottom:1px solid rgba(201,162,39,.55);
  white-space:nowrap;
}
.table tbody tr:nth-child(even){background:var(--paper-deep)}
.table tbody tr{transition:background-color .16s var(--ease)}
.table tbody tr:hover{background:#efe6cf}
.table tbody tr:last-child td{border-bottom:0}
.table .num{font-family:var(--font-mono);font-size:14px;letter-spacing:.04em;white-space:nowrap}

/* 可展开内容组 */
.disclosure{border-top:1px solid rgba(18,59,46,.16)}
.disclosure:last-child{border-bottom:1px solid rgba(18,59,46,.16)}
.disclosure__trigger{
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  padding:17px 4px;
  text-align:left;
  font-family:var(--font-display);
  font-size:17px;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--ink);
  transition:color .18s var(--ease);
}
.disclosure__trigger:hover{color:var(--pine-green)}
.disclosure__index{
  flex:none;
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:400;
  letter-spacing:.1em;
  color:var(--gold);
}
.disclosure__mark{
  position:relative;
  flex:none;
  margin-left:auto;
  width:22px;height:22px;
  border:1px solid rgba(18,59,46,.28);
  border-radius:50%;
  transition:transform .22s var(--ease),border-color .22s var(--ease);
}
.disclosure__mark::before,
.disclosure__mark::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  background:var(--ink-green);
  transition:opacity .18s var(--ease);
}
.disclosure__mark::before{width:10px;height:1.5px;transform:translate(-50%,-50%)}
.disclosure__mark::after{width:1.5px;height:10px;transform:translate(-50%,-50%)}
.disclosure__trigger[aria-expanded="true"] .disclosure__mark{transform:rotate(90deg);border-color:var(--gold)}
.disclosure__trigger[aria-expanded="true"] .disclosure__mark::after{opacity:0}
.disclosure__panel{
  padding:0 4px 22px;
  font-size:15.5px;
  line-height:1.85;
  color:#33463d;
  animation:settle .26s var(--ease);
}
.disclosure__panel[hidden]{display:none}
@keyframes settle{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* 长文 */
.prose{max-width:68ch;font-size:16.5px;line-height:1.88;color:#26332c}
.prose p{margin:0 0 1.15em}
.prose h3{font-size:19.5px;margin:1.7em 0 .6em;color:var(--ink-green)}
.prose h3:first-child{margin-top:0}
.prose ul,.prose ol{margin:0 0 1.15em;padding-left:1.35em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li{margin-bottom:.4em}
.prose a{color:var(--celadon);text-decoration:underline;text-underline-offset:3px}
.prose blockquote{
  margin:1.4em 0;
  padding:14px 20px;
  border-left:3px solid var(--gold);
  background:var(--paper-deep);
  border-radius:0 var(--radius) var(--radius) 0;
  font-size:15px;
  color:#3d4a43;
}

/* 图片容器 */
.media-frame{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:16 / 10;
  overflow:hidden;
  border:2px solid var(--gold-pale);
  border-radius:var(--radius);
  background:
    linear-gradient(140deg, rgba(30,91,71,.22), rgba(201,162,39,.18) 78%),
    repeating-linear-gradient(90deg, rgba(22,33,28,.16) 0 1px, transparent 1px 46px),
    repeating-linear-gradient(0deg, rgba(22,33,28,.1) 0 1px, transparent 1px 46px),
    var(--paper-deep);
}
.media-frame img{
  width:100%;height:100%;
  object-fit:cover;
  filter:saturate(.58) sepia(.1) contrast(.98);
}
.media-frame__hint{
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.2em;
  color:var(--wood);
  text-transform:uppercase;
}
.media-frame--wide{aspect-ratio:21 / 9}
.media-frame--square{aspect-ratio:1 / 1}
.media-frame--tall{aspect-ratio:4 / 5}
.media-frame__cap{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:10px 14px;
  font-size:12.5px;
  color:var(--paper);
  background:linear-gradient(0deg, rgba(18,59,46,.86), rgba(18,59,46,0));
}

/* 纵向小注释 */
.vertical-note{
  writing-mode:vertical-rl;
  font-family:var(--font-display);
  font-size:13px;
  letter-spacing:.3em;
  color:var(--wood);
  line-height:1.2;
}

/* 入场动效 */
html.site-js [data-reveal]{
  opacity:0;
  transform:translateY(8px);
  transition:opacity .32s var(--ease),transform .32s var(--ease);
}
html.site-js [data-reveal].is-visible{opacity:1;transform:none}

/* 回首页棋子按钮 */
.stone-link{
  position:fixed;
  right:26px;bottom:26px;
  z-index:60;
  display:none;
  place-items:center;
  width:58px;height:58px;
  border-radius:50%;
  background:radial-gradient(circle at 34% 28%, #f4e9c8 0%, #d8b23a 58%, #b4912a 100%);
  border:1px solid rgba(18,59,46,.34);
  color:#20180a;
  box-shadow:0 12px 26px -14px rgba(18,59,46,.85), inset 0 -3px 8px rgba(18,59,46,.22);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease);
}
.stone-link__txt{
  writing-mode:vertical-rl;
  font-family:var(--font-display);
  font-size:12px;
  letter-spacing:.1em;
  line-height:1;
}
.stone-link:hover{transform:rotate(6deg);box-shadow:0 16px 30px -14px rgba(18,59,46,.9), inset 0 -3px 8px rgba(18,59,46,.22)}

/* ==========================================================
   页脚
   ========================================================== */
.site-footer{
  position:relative;
  margin-top:clamp(60px,8vw,110px);
  background:linear-gradient(180deg,#123B2E 0%,#0E3025 100%);
  color:rgba(245,240,228,.86);
  border-top:3px solid var(--gold);
  overflow:hidden;
}
.site-footer__grid{
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    repeating-linear-gradient(90deg, rgba(232,217,168,.07) 0 1px, transparent 1px 82px),
    repeating-linear-gradient(0deg, rgba(232,217,168,.05) 0 1px, transparent 1px 82px);
}
.footer__inner{
  position:relative;
  z-index:2;
  max-width:var(--wrap);
  margin:0 auto;
  padding:64px 32px 42px;
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:48px;
}
.footer__intro{
  margin-top:20px;
  max-width:34ch;
  font-size:14.5px;
  line-height:1.9;
  color:rgba(245,240,228,.7);
}
.footer__sign{
  margin-top:16px;
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.08em;
  color:rgba(232,217,168,.82);
}
.footer__nav{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
}
.footer__col-title{
  font-family:var(--font-display);
  font-size:15.5px;
  font-weight:800;
  letter-spacing:.14em;
  color:var(--gold-pale);
  margin:0 0 15px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(232,217,168,.22);
}
.footer__list li + li{margin-top:10px}
.footer__link{
  position:relative;
  display:inline-block;
  padding-left:15px;
  font-size:14.5px;
  color:rgba(245,240,228,.74);
  transition:color .18s var(--ease);
}
.footer__link::before{
  content:"";
  position:absolute;
  left:0;top:.62em;
  width:6px;height:6px;
  border-radius:50%;
  border:1px solid rgba(232,217,168,.6);
  transition:background-color .18s var(--ease),border-color .18s var(--ease);
}
.footer__link:hover{color:var(--gold)}
.footer__link:hover::before{background:var(--gold);border-color:var(--gold)}

.footer__meta{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  padding-top:30px;
  border-top:1px solid rgba(232,217,168,.18);
}
.footer__contact{
  font-size:14px;
  line-height:1.9;
  color:rgba(245,240,228,.7);
  margin:0;
}
.footer__mono{
  font-family:var(--font-mono);
  font-size:13.5px;
  letter-spacing:.04em;
  color:var(--gold-pale);
  word-break:break-all;
}
.footer__base{
  position:relative;
  z-index:2;
  max-width:var(--wrap);
  margin:0 auto;
  padding:22px 32px 46px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 24px;
  border-top:1px solid rgba(232,217,168,.14);
}
.footer__copy,.footer__base-note{
  margin:0;
  font-size:13px;
  line-height:1.8;
  color:rgba(245,240,228,.52);
}

/* ==========================================================
   响应式
   ========================================================== */
@media (max-width:1180px){
  .site-nav__link{padding:9px 10px;font-size:14.5px}
  .header-cta:not(.header-cta--gold){display:none}
}
@media (max-width:920px){
  :root{--header-h:66px}
  .site-header__inner{padding:11px 20px;gap:14px}
  .brand__seal{width:38px;height:38px;font-size:19px}
  .brand__name{font-size:17px;letter-spacing:.1em}
  .brand__sub{display:none}
  .header-actions .header-cta{display:none}
  .nav-toggle{display:inline-flex}

  .site-nav{
    position:fixed;
    left:0;right:0;
    top:var(--header-h);
    z-index:90;
    display:block;
    max-height:calc(100vh - var(--header-h));
    overflow-y:auto;
    padding:14px 20px 34px;
    background:linear-gradient(180deg,#123B2E 0%,#0C2A21 100%);
    border-top:1px solid rgba(232,217,168,.24);
    box-shadow:0 24px 40px -26px rgba(0,0,0,.9);
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    pointer-events:none;
    transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s var(--ease);
  }
  .site-header[data-open] .site-nav{
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
  }
  .site-nav__hint{
    display:block;
    margin:0 0 6px;
    font-family:var(--font-display);
    font-size:12px;
    letter-spacing:.24em;
    color:rgba(232,217,168,.6);
  }
  .site-nav__list{display:block;counter-reset:navstep}
  .site-nav__item{
    position:relative;
    display:flex;
    align-items:center;
    gap:14px;
    border-bottom:1px solid rgba(232,217,168,.14);
  }
  .site-nav__item::before{
    counter-increment:navstep;
    content:counter(navstep,decimal-leading-zero);
    flex:none;
    font-family:var(--font-mono);
    font-size:12px;
    letter-spacing:.1em;
    color:rgba(232,217,168,.55);
  }
  .site-nav__link{
    flex:1;
    padding:15px 0;
    font-size:16.5px;
    background:none;
    border-radius:0;
    color:rgba(245,240,228,.88);
  }
  .site-nav__link[aria-current="page"]{color:var(--gold)}
  .site-nav__link[aria-current="page"]::after{display:none}
  .site-nav__link[aria-current="page"]::before{
    content:"";
    position:absolute;
    left:-26px;top:50%;
    width:7px;height:7px;
    margin-top:-3.5px;
    border-radius:50%;
    background:var(--cinnabar);
  }
  .site-nav__foot{
    display:flex;
    gap:10px;
    margin-top:22px;
    flex-wrap:wrap;
  }
  .site-nav__foot .btn{flex:1;min-width:130px}

  .footer__inner{grid-template-columns:1fr;padding:48px 22px 34px;gap:38px}
  .footer__meta{grid-template-columns:1fr 1fr;gap:24px}
  .footer__base{padding:20px 22px 40px;flex-direction:column;align-items:flex-start}
  .grid--5-7,.grid--7-4,.grid--3,.grid--2{grid-template-columns:1fr}
  .wrap{padding-inline:22px}
}
@media (max-width:600px){
  body{font-size:16px}
  .footer__nav{grid-template-columns:1fr 1fr}
  .footer__meta{grid-template-columns:1fr}
  .section__head{flex-direction:column;align-items:flex-start;gap:6px}
  .section__num{padding-bottom:0}
  .table{min-width:460px}
}
@media (min-width:1100px){
  .stone-link{display:grid}
}

/* 无障碍与减少动效 */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  html.site-js [data-reveal]{opacity:1;transform:none}
  .stone-link:hover{transform:none}
}
@media print{
  .site-header,.stone-link{display:none}
  body{background:#fff}
}
