:root{
  --night:#0B1524;
  --panel:#12203A;
  --card:#1C2E4A;
  --gold:#C9A227;
  --gold-soft:#E3C766;
  --paper:#F3EAD8;
  --ink:#1E1B16;
  --red:#C0362C;
  --jade:#2E7D6B;
  --mist:#8C99AE;
  --text:#E8EDF5;
  --hair:rgba(201,162,39,.26);
  --hair-soft:rgba(140,153,174,.22);
  --shell:1240px;
  --gutter:clamp(1.15rem,4vw,3.25rem);
  --gap:clamp(1rem,2.2vw,1.75rem);
  --serif:"Songti SC","Source Han Serif SC","Noto Serif SC","STSong",Georgia,"Times New Roman",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,-apple-system,sans-serif;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body,h1,h2,h3,h4,p,ul,ol,li,figure,blockquote,dl,dd{margin:0;}
ul,ol{padding:0;list-style:none;}
img,svg{display:block;max-width:100%;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
a{color:inherit;text-decoration:none;}
table{border-collapse:collapse;width:100%;}
body{
  background:var(--night);
  color:var(--text);
  font-family:var(--sans);
  font-size:16px;
  font-weight:400;
  line-height:1.75;
  letter-spacing:.01em;
  min-height:100vh;
  overflow-x:hidden;
}
main{display:block;}
::selection{background:var(--gold);color:#0B1524;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;color:#F7F1E3;line-height:1.25;letter-spacing:-.01em;}
h1{font-size:clamp(2.1rem,5vw,3.5rem);}
h2{font-size:clamp(1.6rem,3vw,2.5rem);}
h3{font-size:clamp(1.25rem,2vw,1.75rem);}
h4{font-size:1.25rem;}
p{color:#C9D3E2;}
:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px;border-radius:0;}
#main-content:focus{outline:none;}

/* ---------- 基础容器 ---------- */
.shell{width:min(var(--shell),100% - var(--gutter) * 2);margin-inline:auto;}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.skip-link{
  position:absolute;left:var(--gutter);top:.5rem;z-index:200;
  transform:translateY(-240%);
  background:var(--gold);color:#0B1524;font-weight:600;font-size:.85rem;letter-spacing:.08em;
  padding:.6rem 1.1rem;transition:transform .2s var(--ease);
}
.skip-link:focus{transform:translateY(0);}

/* ---------- 页头 ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:#0B1524;
  border-bottom:1px solid var(--hair);
}
.notice-bar{background:#08111F;border-bottom:1px solid var(--hair-soft);overflow:hidden;}
.notice-bar__track{display:flex;width:max-content;animation:notice-marquee 46s linear infinite;}
.notice-bar__group{display:flex;align-items:center;flex:0 0 auto;}
.notice-bar__item{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.5rem 2.5rem .5rem 0;
  font-size:.76rem;letter-spacing:.08em;color:#A9B6C9;white-space:nowrap;
}
.notice-bar__dot{width:6px;height:6px;flex:0 0 auto;display:inline-block;background:var(--gold);}
.notice-bar__dot--gold{background:var(--gold);}
.notice-bar__dot--jade{background:var(--jade);}
.notice-bar__dot--red{background:var(--red);}
@keyframes notice-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.masthead__inner{
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding-block:clamp(.7rem,1.6vw,1.05rem);
}
.brand{display:inline-flex;align-items:center;gap:.85rem;flex:0 0 auto;}
.brand__seal{
  width:46px;height:46px;flex:0 0 auto;display:grid;place-items:center;
  border:1px solid var(--gold);color:var(--gold);
  font-family:var(--serif);font-size:1.3rem;font-weight:700;
  background:linear-gradient(150deg,var(--card),var(--night));
}
.brand__text{display:flex;flex-direction:column;line-height:1.25;}
.brand__name{font-family:var(--serif);font-size:1.22rem;font-weight:700;letter-spacing:.14em;color:#F7F1E3;}
.brand__meta{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;color:var(--mist);}

.primary-nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem);}
.primary-nav__list{display:flex;align-items:center;gap:clamp(.85rem,1.8vw,1.6rem);}
.primary-nav__link{
  position:relative;display:inline-block;padding:.35rem .1rem;
  font-size:.95rem;letter-spacing:.08em;color:#C4CEDD;
}
.primary-nav__link::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--gold-soft);transition:width .28s var(--ease);
}
.primary-nav__link:hover,.primary-nav__link:focus-visible{color:#F7F1E3;}
.primary-nav__link:hover::after,.primary-nav__link:focus-visible::after{width:100%;}
.primary-nav__link[aria-current="page"]{color:var(--gold-soft);}
.primary-nav__link[aria-current="page"]::after{width:100%;background:var(--gold);}
.primary-nav__utility{
  display:flex;align-items:center;gap:.9rem;
  padding-left:clamp(1rem,2vw,1.6rem);border-left:1px solid var(--hair);
}
.ghost-link{
  font-size:.85rem;letter-spacing:.06em;color:var(--mist);
  border-bottom:1px solid transparent;padding-bottom:2px;
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.ghost-link:hover,.ghost-link:focus-visible{color:var(--gold-soft);border-color:var(--gold-soft);}
.masthead__actions{display:flex;align-items:center;gap:1rem;flex:0 0 auto;}
.masthead__quick{display:none;}
.nav-toggle{
  display:none;align-items:center;gap:.6rem;
  padding:.5rem .75rem;border:1px solid var(--hair);color:#E4DCC9;
  font-size:.78rem;letter-spacing:.14em;
  transition:border-color .2s var(--ease),color .2s var(--ease);
}
.nav-toggle__bars{display:grid;gap:4px;width:16px;}
.nav-toggle__bars span{display:block;height:1px;background:currentColor;}
.nav-toggle[aria-expanded="true"]{border-color:var(--gold-soft);color:var(--gold-soft);}
.scroll-progress{height:2px;background:rgba(140,153,174,.14);}
.scroll-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-soft));transition:width .12s linear;}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.66rem 1.35rem;border:1px solid transparent;
  font-size:.88rem;font-weight:500;letter-spacing:.12em;
  transition:background-color .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease);
}
.btn--gold{background:var(--gold);color:#0B1524;border-color:var(--gold);}
.btn--gold:hover,.btn--gold:focus-visible{background:var(--gold-soft);border-color:var(--gold-soft);}
.btn--ghost{background:transparent;color:#E4DCC9;border-color:var(--hair);}
.btn--ghost:hover,.btn--ghost:focus-visible{border-color:var(--gold-soft);color:var(--gold-soft);}

/* ---------- 区块与标题 ---------- */
.section{padding-block:clamp(2.5rem,6vw,5rem);}
.section--tight{padding-block:clamp(1.5rem,3vw,2.5rem);}
.section-head{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem;
  padding-bottom:1rem;border-bottom:1px solid var(--hair);margin-bottom:clamp(1.25rem,3vw,2.25rem);
}
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);}
.lede{font-size:clamp(1rem,1.4vw,1.125rem);color:#C9D3E2;max-width:62ch;}
.rule{height:1px;border:0;background:linear-gradient(90deg,var(--gold),rgba(201,162,39,0));margin-block:1.5rem;}
.prose{max-width:68ch;display:grid;gap:1.1rem;}
.crumbs{padding-block:1rem;}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.8rem;color:var(--mist);}
.crumbs li+li::before{content:"／";margin-right:.4rem;color:rgba(140,153,174,.6);}
.crumbs a{color:var(--mist);border-bottom:1px solid transparent;}
.crumbs a:hover,.crumbs a:focus-visible{color:var(--gold-soft);border-color:var(--gold-soft);}
.crumbs [aria-current="page"]{color:#E4DCC9;}

/* ---------- 网格 ---------- */
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);}
.span-1{grid-column:span 1;}
.span-2{grid-column:span 2;}
.span-3{grid-column:span 3;}
.span-4{grid-column:span 4;}
.span-5{grid-column:span 5;}
.span-6{grid-column:span 6;}
.span-7{grid-column:span 7;}
.span-8{grid-column:span 8;}
.span-9{grid-column:span 9;}
.span-10{grid-column:span 10;}
.span-11{grid-column:span 11;}
.span-12{grid-column:span 12;}

/* ---------- 纸面与旁注 ---------- */
.paper{background:var(--paper);color:var(--ink);padding:clamp(1.35rem,3vw,2.25rem);border:1px solid rgba(30,27,22,.14);}
.paper h2,.paper h3,.paper h4{color:var(--ink);}
.paper p{color:#3A342B;}
.paper a{color:#8A5A12;border-bottom:1px solid rgba(138,90,18,.45);}
.aside-note{border-left:3px solid var(--gold);padding-left:1rem;font-size:.92rem;}
.aside-note p{color:#4A4234;}

/* ---------- 索引 / 目录 ---------- */
.index-list{display:grid;border-top:1px solid var(--hair);}
.index-item{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;
  padding-block:1rem;border-bottom:1px solid var(--hair-soft);
  transition:background-color .22s var(--ease);
}
.index-item:hover,.index-item:focus-within{background:rgba(28,46,74,.5);}
.index-item__num{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;color:var(--gold);padding-top:.35rem;}
.index-item__body{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem;}
.index-item__title{font-family:var(--serif);font-size:1.15rem;font-weight:700;color:#F7F1E3;}
.index-item__meta{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;color:var(--mist);}
.index-item__summary{
  grid-column:2;display:grid;grid-template-rows:0fr;opacity:0;
  transition:grid-template-rows .3s var(--ease),opacity .3s var(--ease);
}
.index-item__summary > *{overflow:hidden;margin:0;font-size:.9rem;color:#AEBACB;}
.index-item:hover .index-item__summary,
.index-item:focus-within .index-item__summary{grid-template-rows:1fr;opacity:1;}

/* ---------- 徽章 ---------- */
.badge{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.2rem .55rem;border:1px solid currentColor;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;color:var(--gold-soft);
}
.badge--gold{color:var(--gold-soft);border-color:rgba(201,162,39,.5);background:rgba(201,162,39,.12);}
.badge--hot{color:#E0705F;border-color:rgba(192,54,44,.6);background:rgba(192,54,44,.12);}
.badge--steady{color:#5FBFA6;border-color:rgba(46,125,107,.6);background:rgba(46,125,107,.14);}

/* ---------- 标签页 ---------- */
.tabs{display:grid;gap:1.25rem;}
.tabs__list{display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:1px solid var(--hair);}
.tabs__tab{
  padding:.6rem 1.1rem;font-size:.88rem;letter-spacing:.08em;color:var(--mist);
  border-bottom:2px solid transparent;
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.tabs__tab:hover{color:#E4DCC9;}
.tabs__tab[aria-selected="true"]{color:var(--gold-soft);border-color:var(--gold);}
.tabs__panel{display:grid;gap:1rem;}
.tabs__panel[hidden]{display:none;}

/* ---------- 侧边锚点轨 ---------- */
.rail{display:grid;gap:.3rem;align-content:start;border-left:1px solid var(--hair);padding-left:1rem;}
.rail__title{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;}
.rail__link{
  font-size:.85rem;letter-spacing:.06em;color:var(--mist);
  margin-left:-1.05rem;padding:.3rem 0 .3rem 1rem;
  border-left:2px solid transparent;
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.rail__link:hover,.rail__link:focus-visible{color:#E4DCC9;}
.rail__link[aria-current="true"]{color:var(--gold-soft);border-color:var(--gold);}

/* ---------- 图片容器 ---------- */
.figure{
  position:relative;overflow:hidden;
  background:linear-gradient(155deg,var(--card) 0%,var(--night) 72%);
  border:1px solid var(--hair);
}
.figure::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(201,162,39,.07) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(201,162,39,.07) 1px,transparent 1px);
  background-size:36px 36px;
}
.figure__img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.05);}
.figure--wide{aspect-ratio:16/9;}
.figure--tall{aspect-ratio:4/5;}
.figure--square{aspect-ratio:1/1;}
.figure--panorama{aspect-ratio:21/9;}
.figure__caption{
  position:absolute;left:0;right:0;bottom:0;z-index:1;
  padding:.6rem .85rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;color:#E4DCC9;
  background:linear-gradient(0deg,rgba(8,17,31,.88),rgba(8,17,31,0));
}

/* ---------- 数据与时间线 ---------- */
.stat{display:grid;gap:.25rem;}
.stat__num{font-family:var(--mono);font-size:clamp(1.5rem,3vw,2.25rem);letter-spacing:.02em;color:var(--gold-soft);}
.stat__label{font-size:.8rem;letter-spacing:.1em;color:var(--mist);}
.timeline{display:grid;}
.timeline__item{position:relative;padding:0 0 1.75rem 1.5rem;border-left:1px solid var(--hair);}
.timeline__item::before{content:"";position:absolute;left:-4px;top:.55rem;width:7px;height:7px;background:var(--gold);}
.timeline__item:last-child{border-left-color:transparent;padding-bottom:0;}

/* ---------- 表格 ---------- */
.table-shell{border:1px solid var(--hair);overflow-x:auto;}
.data-table{min-width:640px;font-size:.9rem;}
.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--hair-soft);}
.data-table thead th{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;
  color:var(--gold);text-transform:uppercase;background:rgba(28,46,74,.5);
}
.data-table tbody tr:nth-child(even){background:rgba(18,32,58,.55);}
.data-table td{color:#C9D3E2;}

/* ---------- 渐显 ---------- */
[data-reveal]{opacity:0;transform:translateY(10px);transition:opacity .32s var(--ease),transform .32s var(--ease);}
[data-reveal].is-visible{opacity:1;transform:none;}

/* ---------- 页脚 ---------- */
.site-footer{background:var(--panel);border-top:1px solid var(--hair);margin-top:clamp(3rem,7vw,6rem);}
.site-footer__inner{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) minmax(0,1.25fr);
  gap:clamp(1.5rem,4vw,3rem);padding-block:clamp(2.25rem,5vw,3.5rem);
}
.seal-brand{display:inline-flex;align-items:center;gap:.75rem;}
.seal-brand__mark{
  width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;
  border:1px solid var(--gold);color:var(--gold);
  font-family:var(--serif);font-size:1.12rem;
  background:linear-gradient(150deg,var(--card),var(--night));
}
.seal-brand__name{font-family:var(--serif);font-size:1.08rem;letter-spacing:.12em;color:#F7F1E3;}
.site-footer__tagline{margin-top:1rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;color:var(--gold);}
.site-footer__note{margin-top:.7rem;font-size:.85rem;color:var(--mist);max-width:32ch;}
.site-footer__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2rem;}
.footer-group__title{font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.2em;color:var(--gold);}
.footer-group__list{display:grid;gap:.5rem;margin-top:.85rem;}
.footer-link{font-size:.88rem;color:#B9C4D4;border-bottom:1px solid transparent;transition:color .2s var(--ease),border-color .2s var(--ease);}
.footer-link:hover,.footer-link:focus-visible{color:var(--gold-soft);border-color:var(--gold-soft);}
.footer-contact{display:grid;gap:.55rem;align-content:start;}
.footer-contact__line{display:flex;gap:.6rem;font-size:.85rem;color:#C9D3E2;}
.footer-contact__label{flex:0 0 4.6rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;color:var(--mist);padding-top:.2rem;}
.footer-contact__note{margin-top:.4rem;font-size:.78rem;line-height:1.7;color:var(--mist);}
.site-footer__legal{background:#08111F;border-top:1px solid var(--hair-soft);}
.site-footer__legal-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-block:1rem;}
.legal-line{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;color:var(--mist);}
.legal-line--soft{color:rgba(140,153,174,.72);}

/* ---------- 响应式 ---------- */
@media (max-width:980px){
  .grid{grid-template-columns:repeat(6,minmax(0,1fr));}
  .span-5,.span-6,.span-7,.span-8,.span-9,.span-10,.span-11,.span-12{grid-column:span 6;}
  .span-3,.span-4{grid-column:span 3;}
  .site-footer__inner{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);}
  .footer-contact{grid-column:1 / -1;}
}
@media (max-width:960px){
  .nav-toggle{display:inline-flex;}
  .masthead__quick{display:inline-flex;}
  .brand__seal{width:40px;height:40px;font-size:1.1rem;}
  .brand__name{font-size:1.08rem;}
  .primary-nav{
    position:fixed;top:0;right:0;bottom:0;z-index:70;
    width:min(86vw,360px);
    display:flex;flex-direction:column;align-items:stretch;
    gap:0;
    padding:clamp(7rem,26vw,10rem) clamp(1.25rem,5vw,1.75rem) 2rem;
    background:var(--panel);
    border-left:1px solid var(--hair);
    overflow-y:auto;
    visibility:hidden;
    transform:translateX(101%);
    transition:transform .32s var(--ease),visibility .32s var(--ease);
  }
  .primary-nav[data-open]{visibility:visible;transform:translateX(0);box-shadow:-28px 0 64px rgba(0,0,0,.6);}
  .primary-nav__list{flex-direction:column;align-items:stretch;gap:0;}
  .primary-nav__link{display:block;padding:.95rem 0;border-bottom:1px solid var(--hair-soft);font-family:var(--serif);font-size:1.15rem;}
  .primary-nav__link::after{display:none;}
  .primary-nav__link[aria-current="page"]{padding-left:.75rem;box-shadow:inset 2px 0 0 var(--gold);}
  .primary-nav__utility{flex-direction:column;align-items:stretch;gap:.85rem;margin-top:1.4rem;padding-left:0;border-left:0;}
  .primary-nav__utility .btn{width:100%;}
}
@media (max-width:620px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .span-1,.span-2,.span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-9,.span-10,.span-11,.span-12{grid-column:span 2;}
  .brand__meta{display:none;}
  .notice-bar__item{font-size:.72rem;padding-right:1.75rem;}
  .site-footer__inner{grid-template-columns:minmax(0,1fr);}
  .site-footer__groups{grid-template-columns:minmax(0,1fr);}
  .footer-contact__line{flex-direction:column;gap:.15rem;}
  .figure--panorama{aspect-ratio:16/9;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  .notice-bar__track{animation:none;transform:none;width:100%;}
  .notice-bar__group[aria-hidden="true"]{display:none;}
  [data-reveal]{opacity:1;transform:none;}
}
