*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg-deep:#0A1628;
  --bg-indigo:#1B2440;
  --bg-wine:#6E2142;
  --bg-teal:#0F4C5C;
  --accent-orange:#FF7A1A;
  --accent-gold:#F5B942;
  --text-light:#F7F3EB;
  --text-secondary:#A8B5C7;
  --line-neutral:#2E3D54;
  --line-gold:#C49A3C;
  --font-sans:"思源黑体","Source Han Sans CN","Noto Sans CJK SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-mono:"JetBrains Mono","SF Mono","Cascadia Mono","Roboto Mono","Liberation Mono",Consolas,monospace;
  --text-display:clamp(3.25rem,8vw,6.5rem);
  --text-h2:clamp(2rem,4vw,3.5rem);
  --text-h3:clamp(1.25rem,1.8vw,1.75rem);
  --text-body:clamp(1rem,1.2vw,1.125rem);
  --header-width:18rem;
  --content-max:60rem;
  --space-1:0.25rem;
  --space-2:0.5rem;
  --space-3:0.75rem;
  --space-4:1rem;
  --space-5:1.5rem;
  --space-6:2rem;
  --space-7:3rem;
  --space-8:4rem;
  --shadow-card:0 2px 12px rgba(0,0,0,0.18);
  --shadow-card-hover:0 8px 28px rgba(0,0,0,0.28)
}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth
}
body{
  min-height:100vh;
  background:var(--bg-deep);
  color:var(--text-light);
  font-family:var(--font-sans);
  font-size:var(--text-body);
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale
}
img,svg,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;cursor:pointer}
:focus-visible{
  outline:2px solid var(--accent-gold);
  outline-offset:3px
}
::selection{
  background:var(--accent-gold);
  color:var(--bg-deep)
}
h1,h2,h3,h4{
  font-family:var(--font-sans);
  font-weight:900;
  line-height:1.2;
  letter-spacing:-0.01em;
  text-wrap:balance
}
h1{font-size:var(--text-display);line-height:1.08}
h2{font-size:var(--text-h2)}
h3{font-size:var(--text-h3)}
p{text-wrap:pretty}
#main-content{
  min-height:60vh;
  scroll-margin-top:4.5rem
}
.visually-hidden{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link{
  position:fixed;
  top:0.75rem;
  left:0.75rem;
  z-index:200;
  padding:0.625rem 1.25rem;
  background:var(--accent-gold);
  color:var(--bg-deep);
  font-weight:700;
  font-size:0.875rem;
  border-radius:2px;
  text-decoration:none;
  transform:translateY(calc(-100% - 1rem));
  transition:transform 0.25s ease
}
.skip-link:focus-visible{transform:translateY(0)}
.site-container{
  width:min(100% - 2rem,var(--content-max));
  margin-inline:auto
}
.section{padding-block:var(--space-7) var(--space-6)}
.section-kicker{
  font-family:var(--font-mono);
  font-size:0.8125rem;
  letter-spacing:0.14em;
  color:var(--accent-gold);
  margin-bottom:var(--space-3)
}
.section-kicker::before{
  content:"";
  display:inline-block;
  width:1.5rem;
  height:1px;
  background:var(--accent-gold);
  vertical-align:middle;
  margin-right:0.625rem
}
.section-title{font-size:var(--text-h2);margin-bottom:var(--space-4)}
.divider-gold{
  height:1px;
  border:0;
  background:linear-gradient(90deg,var(--line-gold),transparent 78%);
  margin-block:var(--space-6)
}
.btn-primary{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  background:var(--accent-orange);
  color:var(--bg-deep);
  font-family:var(--font-sans);
  font-weight:700;
  font-size:1rem;
  line-height:1;
  padding:0.8125rem 1.625rem;
  border:1px solid var(--accent-orange);
  border-radius:2px;
  text-decoration:none;
  box-shadow:0 2px 12px rgba(255,122,26,0.25);
  transition:background 0.3s ease,transform 0.2s ease,box-shadow 0.3s ease
}
.btn-primary:hover,.btn-primary:focus-visible{
  background:#ff8c3a;
  transform:translateY(-1px);
  box-shadow:0 4px 18px rgba(255,122,26,0.35)
}
.btn-secondary{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  padding:0.75rem 1.5rem;
  border:1px solid var(--line-gold);
  color:var(--text-light);
  background:transparent;
  border-radius:2px;
  text-decoration:none;
  font-family:var(--font-sans);
  font-weight:500;
  transition:border-color 0.3s ease,background 0.3s ease,color 0.3s ease
}
.btn-secondary:hover,.btn-secondary:focus-visible{
  border-color:var(--accent-gold);
  background:rgba(197,154,60,0.08);
  color:var(--accent-gold)
}
.breadcrumbs{
  margin-bottom:var(--space-6)
}
.breadcrumbs-list{
  display:flex;
  flex-wrap:wrap;
  list-style:none;
  font-family:var(--font-mono);
  font-size:0.8125rem;
  color:var(--text-secondary)
}
.breadcrumbs-item{
  display:flex;
  align-items:center
}
.breadcrumbs-item + .breadcrumbs-item::before{
  content:"/";
  margin:0 0.5rem;
  color:var(--line-gold);
  font-size:0.75rem
}
.breadcrumbs-link{
  color:var(--text-secondary);
  text-decoration:none;
  transition:color 0.2s ease
}
.breadcrumbs-link:hover,.breadcrumbs-link:focus-visible{color:var(--accent-gold)}
.breadcrumbs-link[aria-current="page"]{
  color:var(--text-light);
  cursor:default
}
.grid-2,.grid-3{
  display:grid;
  gap:var(--space-5)
}
@media (min-width:48rem){
  .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.tag{
  display:inline-flex;
  align-items:center;
  gap:0.375rem;
  padding:0.25rem 0.625rem;
  font-family:var(--font-mono);
  font-size:0.75rem;
  letter-spacing:0.08em;
  border:1px solid var(--line-neutral);
  border-radius:999px;
  color:var(--text-secondary);
  background:rgba(15,76,92,0.25)
}
.tag--gold{
  color:var(--accent-gold);
  border-color:var(--line-gold);
  background:rgba(197,154,60,0.08)
}
.tag--orange{
  color:var(--accent-orange);
  border-color:var(--accent-orange);
  background:rgba(255,122,26,0.08)
}
.tag--wine{
  color:#d99ab4;
  border-color:var(--bg-wine);
  background:rgba(110,33,66,0.2)
}
.tag--teal{
  color:#7ac7d9;
  border-color:var(--bg-teal);
  background:rgba(15,76,92,0.25)
}
.archive-card{
  position:relative;
  background:linear-gradient(145deg,var(--bg-indigo),rgba(27,36,64,0.55));
  border:1px solid var(--line-neutral);
  border-top:2px solid var(--line-gold);
  box-shadow:var(--shadow-card);
  padding:var(--space-5);
  transition:border-color 0.35s ease,transform 0.35s ease,box-shadow 0.35s ease
}
.archive-card:hover,.archive-card:focus-within{
  border-color:var(--line-gold);
  transform:translateY(-3px);
  box-shadow:var(--shadow-card-hover)
}
.archive-card-title{
  font-size:var(--text-h3);
  margin-bottom:0.5rem
}
.archive-card-meta{
  font-family:var(--font-mono);
  font-size:0.8125rem;
  color:var(--text-secondary);
  margin-bottom:var(--space-4)
}
.archive-card-body{
  color:var(--text-secondary);
  font-size:0.9375rem;
  line-height:1.75
}
.image-frame{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(27,36,64,0.85),rgba(10,22,40,0.9)),
    repeating-linear-gradient(45deg,rgba(197,154,60,0.05) 0 1px,transparent 1px 8px);
  border:1px solid var(--line-neutral)
}
.image-frame::before{
  content:"";
  display:block;
  padding-top:56.25%
}
.image-frame--square::before{padding-top:100%}
.image-frame--portrait::before{padding-top:133.33%}
.image-frame img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}
.site-header{
  position:sticky;
  top:0;
  z-index:60;
  background:var(--bg-deep);
  border-bottom:1px solid var(--line-gold)
}
.header-shell{position:relative}
.header-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4);
  min-height:4rem;
  padding:0.625rem 1rem 0.625rem 1.25rem
}
.brand-lockup{
  display:inline-flex;
  align-items:center;
  gap:var(--space-3);
  text-decoration:none;
  min-width:0
}
.brand-emblem{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.75rem;
  height:2.75rem;
  flex:none;
  border:1px solid var(--line-gold);
  background:linear-gradient(135deg,rgba(197,154,60,0.15),rgba(197,154,60,0.02));
  color:var(--accent-gold);
  font-family:var(--font-sans);
  font-weight:900;
  font-size:1.5rem;
  box-shadow:inset 0 0 12px rgba(197,154,60,0.08)
}
.brand-emblem-glyph{line-height:1}
.brand-lockup-text{
  display:flex;
  flex-direction:column;
  min-width:0
}
.brand-name{
  font-weight:900;
  font-size:1rem;
  line-height:1.25;
  color:var(--text-light);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.brand-slogan{
  font-family:var(--font-mono);
  font-size:0.75rem;
  letter-spacing:0.18em;
  color:var(--accent-gold);
  margin-top:0.125rem
}
.nav-toggle{
  display:none;
  inline-flex:false;
  align-items:center;
  justify-content:center;
  width:2.75rem;
  height:2.75rem;
  border:1px solid var(--line-neutral);
  background:transparent;
  color:var(--text-light);
  border-radius:2px;
  transition:border-color 0.3s ease,background 0.3s ease,transform 0.2s ease
}
.nav-toggle:hover,.nav-toggle:focus-visible{
  border-color:var(--line-gold);
  background:rgba(197,154,60,0.08)
}
.nav-toggle[aria-expanded="true"]{
  border-color:var(--line-gold)
}
.nav-toggle-box{
  display:block;
  width:1.25rem;
  height:1rem
}
.nav-toggle-bar{
  display:block;
  height:2px;
  background:currentColor;
  margin:5px 0;
  border-radius:1px;
  transition:transform 0.25s ease,opacity 0.2s ease
}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1){
  transform:translateY(7px) rotate(45deg)
}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2){
  opacity:0
}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3){
  transform:translateY(-7px) rotate(-45deg)
}
.site-nav{
  padding:0 1.25rem 1.25rem;
  background:transparent
}
.nav-list{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:0.125rem;
  border-left:1px solid var(--line-neutral);
  margin:var(--space-5) 0 0 0.25rem
}
.nav-link{
  position:relative;
  display:block;
  padding:0.75rem 0.875rem 0.75rem 1.375rem;
  color:var(--text-secondary);
  text-decoration:none;
  font-weight:500;
  font-size:0.9375rem;
  letter-spacing:0.06em;
  transition:color 0.25s ease,background 0.25s ease
}
.nav-link::before{
  content:"";
  position:absolute;
  left:-0.625rem;
  top:50%;
  width:0.4375rem;
  height:0.4375rem;
  border:1px solid var(--line-neutral);
  border-radius:50%;
  background:var(--bg-deep);
  transform:translateY(-50%);
  transition:border-color 0.25s ease,background 0.25s ease,box-shadow 0.25s ease
}
.nav-link::after{
  content:"";
  position:absolute;
  right:0.875rem;
  top:50%;
  width:0;
  height:1px;
  background:var(--line-gold);
  transition:width 0.25s ease
}
.nav-link:hover,.nav-link:focus-visible,.nav-link[aria-current="page"]{
  color:var(--text-light)
}
.nav-link:hover::before,.nav-link:focus-visible::before,.nav-link[aria-current="page"]::before{
  border-color:var(--accent-gold);
  background:var(--accent-gold);
  box-shadow:0 0 0.5rem rgba(197,154,60,0.5)
}
.nav-link[aria-current="page"]{
  background:linear-gradient(90deg,rgba(197,154,60,0.1),transparent)
}
.nav-link:hover::after,.nav-link:focus-visible::after{
  width:1rem
}
.nav-quick-actions{
  margin-top:var(--space-6);
  padding-top:var(--space-5);
  border-top:1px solid var(--line-neutral);
  display:flex;
  flex-direction:column;
  gap:var(--space-2)
}
.nav-quick-kicker{
  font-family:var(--font-mono);
  font-size:0.6875rem;
  letter-spacing:0.18em;
  color:var(--text-secondary);
  margin-bottom:var(--space-2)
}
.quick-link{
  display:flex;
  align-items:flex-start;
  gap:var(--space-3);
  padding:var(--space-3);
  border:1px solid transparent;
  text-decoration:none;
  transition:border-color 0.25s ease,background 0.25s ease
}
.quick-link:hover,.quick-link:focus-visible{
  border-color:var(--line-neutral);
  background:rgba(255,122,26,0.04)
}
.quick-link--accent{
  border-color:rgba(255,122,26,0.4);
  background:rgba(255,122,26,0.06)
}
.quick-link--accent:hover,.quick-link--accent:focus-visible{
  border-color:var(--accent-orange);
  background:rgba(255,122,26,0.1)
}
.quick-link-num{
  flex:none;
  font-family:var(--font-mono);
  font-size:0.625rem;
  color:var(--line-gold);
  border:1px solid var(--line-neutral);
  padding:0.125rem 0.3125rem;
  line-height:1.2
}
.quick-link-text{
  display:flex;
  flex-direction:column;
  gap:0.125rem;
  min-width:0
}
.quick-link-label{
  font-size:0.8125rem;
  font-weight:700;
  color:var(--text-light)
}
.quick-link-desc{
  font-size:0.75rem;
  color:var(--text-secondary);
  line-height:1.4
}
.nav-meta{
  margin-top:var(--space-5);
  display:flex;
  flex-direction:column;
  gap:0.25rem;
  font-family:var(--font-mono);
  font-size:0.6875rem;
  color:var(--text-secondary);
  line-height:1.6
}
.site-nav-backdrop{display:none}
.site-footer{
  margin-top:var(--space-8);
  background:
    linear-gradient(180deg,rgba(27,36,64,0.35),transparent 18%),
    var(--bg-deep);
  border-top:1px solid var(--line-gold)
}
.footer-shell{
  width:min(100% - 2rem,var(--content-max));
  margin-inline:auto;
  padding-block:var(--space-7) var(--space-6)
}
.footer-brand{margin-bottom:var(--space-7)}
.footer-seal{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:3rem;
  height:3rem;
  border:1px solid var(--line-gold);
  background:rgba(197,154,60,0.06);
  color:var(--accent-gold);
  font-weight:900;
  font-size:1.625rem;
  margin-bottom:var(--space-4)
}
.footer-seal-glyph{line-height:1}
.footer-brand-title{
  font-size:1.125rem;
  font-weight:900;
  color:var(--text-light)
}
.footer-brand-slogan{
  font-family:var(--font-mono);
  font-size:0.8125rem;
  letter-spacing:0.22em;
  color:var(--accent-gold);
  margin-top:0.375rem
}
.footer-trust{
  margin-top:var(--space-5);
  max-width:48rem;
  color:var(--text-secondary);
  font-size:0.9375rem;
  line-height:1.8
}
.footer-columns{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-6);
  margin-bottom:var(--space-7)
}
@media (min-width:48rem){
  .footer-columns{grid-template-columns:repeat(3,1fr)}
}
.footer-col-title{
  font-family:var(--font-mono);
  font-size:0.8125rem;
  font-weight:500;
  letter-spacing:0.14em;
  color:var(--accent-gold);
  padding-bottom:0.625rem;
  margin-bottom:var(--space-4);
  border-bottom:1px solid var(--line-neutral)
}
.footer-links{
  list-style:none
}
.footer-links li + li{margin-top:0.5rem}
.footer-links a{
  color:var(--text-secondary);
  text-decoration:none;
  font-size:0.9375rem;
  transition:color 0.25s ease,padding-left 0.25s ease
}
.footer-links a:hover,.footer-links a:focus-visible{
  color:var(--text-light);
  padding-left:0.3125rem
}
.footer-contact{
  margin-bottom:var(--space-7)
}
.footer-contact-list{
  list-style:none;
  color:var(--text-secondary);
  font-size:0.9375rem;
  line-height:1.8
}
.footer-contact-note{
  margin-top:var(--space-4);
  color:var(--text-secondary);
  font-size:0.8125rem;
  line-height:1.75;
  border-left:2px solid var(--line-gold);
  padding-left:var(--space-4)
}
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  padding-top:var(--space-5);
  border-top:1px solid var(--line-neutral);
  font-family:var(--font-mono);
  font-size:0.75rem;
  color:var(--text-secondary)
}
.js-reveal [data-reveal]{
  opacity:0;
  transform:translateY(8px);
  transition:opacity 0.55s ease,transform 0.55s ease
}
.js-reveal [data-reveal][data-revealed]{
  opacity:1;
  transform:none
}
@media (max-width:63.99875rem){
  .js-nav .nav-toggle{
    display:inline-flex
  }
  .js-nav .site-nav{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    z-index:80;
    width:min(86vw,22rem);
    padding:1.75rem 1.5rem 2rem;
    background:
      linear-gradient(180deg,rgba(27,36,64,0.55),transparent 28%),
      var(--bg-indigo);
    border-right:1px solid var(--line-gold);
    overflow-y:auto;
    transform:translateX(calc(-100% - 1px));
    visibility:hidden;
    transition:transform 0.35s ease,visibility 0s linear 0.35s
  }
  .js-nav .site-nav[data-open]{
    transform:translateX(0);
    visibility:visible;
    transition:transform 0.35s ease,visibility 0s linear 0s
  }
  .js-nav .site-nav-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:70;
    background:rgba(10,22,40,0.64);
    opacity:0;
    visibility:hidden;
    transition:opacity 0.3s ease,visibility 0s linear 0.3s
  }
  .js-nav .site-nav-backdrop[data-open]{
    opacity:1;
    visibility:visible;
    transition:opacity 0.3s ease,visibility 0s linear 0s
  }
}
@media (min-width:64rem){
  body{margin-left:var(--header-width)}
  #main-content{scroll-margin-top:1rem}
  .site-header{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    width:var(--header-width);
    border-bottom:none;
    border-right:1px solid var(--line-gold);
    overflow-y:auto;
    background:
      linear-gradient(180deg,rgba(27,36,64,0.55),transparent 32%),
      var(--bg-deep)
  }
  .header-shell{
    display:flex;
    flex-direction:column;
    min-height:100vh;
    padding-top:var(--space-6)
  }
  .header-topline{
    display:block;
    padding:0 var(--space-6)
  }
  .brand-lockup{
    flex-direction:column;
    align-items:flex-start
  }
  .brand-emblem{
    width:3.25rem;
    height:3.25rem;
    font-size:1.75rem
  }
  .brand-slogan{margin-top:0.375rem}
  .nav-toggle{display:none}
  .site-nav{
    display:flex;
    flex-direction:column;
    flex:1;
    position:static;
    width:auto;
    background:none;
    border-right:none;
    overflow:visible;
    transform:none;
    visibility:visible;
    transition:none;
    padding:var(--space-7) 0 0
  }
  .nav-list{
    margin-top:0;
    gap:0.25rem
  }
  .nav-link{
    padding:0.625rem 1.25rem 0.625rem 1.5rem
  }
  .nav-quick-actions{
    margin-top:auto;
    margin-left:var(--space-6);
    margin-right:var(--space-6)
  }
  .nav-meta{
    margin:var(--space-5) var(--space-6) var(--space-6)
  }
  .site-nav-backdrop{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    transition-delay:0ms !important
  }
  .js-reveal [data-reveal]{
    opacity:1;
    transform:none
  }
  .site-nav,
  .site-nav-backdrop{
    transition:none
  }
}
