:root{
  --ink-950:#04121F;
  --ink-800:#0A2A42;
  --sea-600:#135B78;
  --mist-050:#F3FAFC;
  --cyan-500:#18E0C8;
  --cyan-200:#9BF7EC;
  --amber-500:#FFB44A;
  --coral-500:#FF6B5A;
  --slate-300:#B9CDD6;
  --text-900:#08202F;

  --rail-w:clamp(168px,13vw,208px);
  --maxw:1280px;
  --gutter:clamp(16px,4vw,56px);

  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:24px;
  --hairline:rgba(185,205,214,.16);
  --shadow-soft:0 24px 56px -34px rgba(0,0,0,.85);
  --ease:cubic-bezier(.22,.68,.28,1);
  --font-cn:system-ui,-apple-system,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}

*,*::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,video{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
address{font-style:normal;}

:focus-visible{outline:2px solid var(--cyan-500);outline-offset:3px;}
::selection{background:rgba(24,224,200,.3);color:var(--mist-050);}

body{
  min-height:100vh;
  min-height:100dvh;
  background:var(--ink-950);
  color:var(--mist-050);
  font-family:var(--font-cn);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.nav-open{overflow:hidden;}

#main-content{display:block;scroll-margin-top:88px;}

h1,h2,h3,h4{letter-spacing:-.015em;line-height:1.22;font-weight:700;}

/* ---------- 通用容器 ---------- */
.shell{
  width:min(100% - 2 * var(--gutter),var(--maxw));
  margin-inline:auto;
}
.prose{max-width:40em;}
.prose p + p{margin-top:1.05em;}
.prose > * + h2,.prose > * + h3{margin-top:2.2em;}
.prose p{color:rgba(243,250,252,.86);}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font:600 11px/1 var(--font-mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cyan-200);
}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.65;}

.note-vertical{
  display:inline-block;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.28em;
  color:rgba(185,205,214,.62);
}

.delta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font:500 12px/1 var(--font-mono);
  letter-spacing:.04em;
  color:var(--coral-500);
}
.delta::before{
  content:"";
  width:6px;height:6px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 3px rgba(255,107,90,.18);
}

.panel{
  position:relative;
  background:linear-gradient(160deg,rgba(19,91,120,.3),rgba(10,42,66,.62));
  border:1px solid var(--hairline);
  border-radius:var(--radius-lg);
  padding:clamp(20px,3vw,34px);
  box-shadow:var(--shadow-soft);
}
.panel--mist{
  background:var(--mist-050);
  color:var(--text-900);
  border-color:rgba(8,32,47,.1);
}
.panel--mist h2,.panel--mist h3,.panel--mist p{color:var(--text-900);}

/* ---------- 媒体容器基础规则 ---------- */
.media{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:var(--radius-md);
  border:1px solid var(--hairline);
  background:
    radial-gradient(120% 120% at 12% 0%,rgba(24,224,200,.2),transparent 58%),
    linear-gradient(150deg,rgba(19,91,120,.42),rgba(10,42,66,.72) 46%,rgba(4,18,31,.94));
}
.media__frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;}
.media--wide .media__frame{aspect-ratio:21 / 9;}
.media--tall .media__frame{aspect-ratio:4 / 5;}
.media__img{width:100%;height:100%;object-fit:cover;}
.media__caption{
  padding:10px 14px;
  font-size:12.5px;
  line-height:1.6;
  color:var(--slate-300);
  border-top:1px solid var(--hairline);
  background:rgba(4,18,31,.55);
}
@media (max-width:640px){
  .media--wide .media__frame{aspect-ratio:16 / 10;}
  .media--tall .media__frame{aspect-ratio:3 / 4;}
}

/* ---------- 面包屑 ---------- */
.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  font:500 12px/1.5 var(--font-mono);
  letter-spacing:.02em;
  color:rgba(185,205,214,.7);
}
.breadcrumbs__item{display:inline-flex;align-items:center;gap:10px;}
.breadcrumbs__item + .breadcrumbs__item::before{content:"/";color:rgba(185,205,214,.34);}
.breadcrumbs__link{color:inherit;transition:color .2s var(--ease);}
.breadcrumbs__link:hover{color:var(--cyan-200);}
.breadcrumbs__current{color:var(--cyan-200);}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  padding:12px 18px;
  border:1px solid transparent;
  border-radius:999px;
  font-family:var(--font-cn);
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.02em;
  text-align:center;
  transition:background-color .22s var(--ease),color .22s var(--ease),
             border-color .22s var(--ease),transform .22s var(--ease),
             box-shadow .22s var(--ease);
}
.btn--primary{
  background:var(--cyan-500);
  color:var(--ink-950);
  box-shadow:0 12px 30px -14px rgba(24,224,200,.85);
}
.btn--primary:hover{background:var(--cyan-200);transform:translateY(-1px);}
.btn--ghost{
  border-color:rgba(185,205,214,.32);
  color:var(--mist-050);
  background:rgba(185,205,214,.04);
}
.btn--ghost:hover{border-color:var(--cyan-500);color:var(--cyan-200);background:rgba(24,224,200,.1);}
.btn--quiet{
  padding:0;
  border:0;
  background:none;
  color:var(--cyan-200);
  font-size:13.5px;
  box-shadow:none;
}
.btn--quiet:hover{color:#EAFFFB;}

/* ---------- 状态徽章 ---------- */
.status-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid rgba(255,180,74,.34);
  border-radius:999px;
  background:rgba(255,180,74,.09);
  color:var(--amber-500);
  font:600 11.5px/1 var(--font-mono);
  letter-spacing:.06em;
}
.status-chip__dot{
  width:6px;height:6px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--amber-500);
  animation:chipPulse 2.8s var(--ease) infinite;
}
.status-chip__text{white-space:nowrap;}
@keyframes chipPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(255,180,74,.55);}
  50%{box-shadow:0 0 0 5px rgba(255,180,74,0);}
}

/* ---------- 跳过导航 ---------- */
.skip-link{
  position:fixed;
  top:10px;left:10px;
  z-index:200;
  padding:11px 18px;
  border-radius:999px;
  background:var(--cyan-500);
  color:var(--ink-950);
  font-size:14px;
  font-weight:700;
  line-height:1;
  transform:translateY(-160%);
  transition:transform .22s var(--ease);
}
.skip-link:focus,
.skip-link:focus-visible{transform:none;}

/* ---------- 桌面侧边轨道 ---------- */
.rail{display:none;}

.rail__brand{margin-bottom:26px;}
.rail__brand-link{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:0 6px;
}
.rail__glyph{
  display:grid;
  place-items:center;
  width:40px;height:40px;
  border-radius:12px;
  font:700 18px/1 var(--font-mono);
  color:var(--ink-950);
  background:linear-gradient(140deg,var(--cyan-200),var(--cyan-500) 58%,#0FB9A6);
  box-shadow:0 0 0 1px rgba(24,224,200,.4),0 14px 26px -16px rgba(24,224,200,.95);
}
.rail__brand-text{display:block;}
.rail__brand-name{
  display:block;
  font-size:15px;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--mist-050);
}
.rail__brand-sub{
  display:block;
  margin-top:2px;
  font-size:10.5px;
  letter-spacing:.16em;
  color:var(--slate-300);
}

.rail__nav{flex:1 1 auto;}
.rail__list{display:flex;flex-direction:column;gap:2px;}
.rail__item{min-width:0;}
.rail__link{
  position:relative;
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:9px 8px 9px 11px;
  border-radius:var(--radius-sm);
  color:var(--slate-300);
  font-size:13.5px;
  line-height:1.45;
  transition:color .2s var(--ease),background-color .2s var(--ease);
}
.rail__link::before{
  content:"";
  position:absolute;
  left:0;top:50%;
  width:2px;height:16px;
  border-radius:2px;
  background:var(--cyan-500);
  transform:translateY(-50%) scaleY(0);
  transition:transform .26s var(--ease);
}
.rail__link:hover{color:var(--mist-050);background:rgba(24,224,200,.07);}
.rail__link[aria-current="page"]{
  color:var(--mist-050);
  background:rgba(24,224,200,.11);
}
.rail__link[aria-current="page"]::before{transform:translateY(-50%) scaleY(1);}
.rail__idx{
  font:500 10.5px/1 var(--font-mono);
  letter-spacing:.06em;
  color:rgba(185,205,214,.55);
  transition:color .2s var(--ease);
}
.rail__link:hover .rail__idx,
.rail__link[aria-current="page"] .rail__idx{color:var(--cyan-500);}
.rail__label{min-width:0;}

.rail__foot{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--hairline);
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
}
.rail__cta{width:100%;font-size:13px;padding:11px 12px;}

@media (min-width:1080px){
  .rail{
    position:fixed;
    inset:0 auto 0 0;
    z-index:60;
    display:flex;
    flex-direction:column;
    width:var(--rail-w);
    padding:26px 16px 22px;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    background:
      radial-gradient(130% 42% at 0% 0%,rgba(24,224,200,.11),transparent 62%),
      linear-gradient(180deg,#06192A,#04121F 58%);
    border-right:1px solid var(--hairline);
  }
  body{padding-left:var(--rail-w);}
}

/* ---------- 移动顶栏 ---------- */
.topbar{
  position:sticky;
  top:0;
  z-index:70;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px var(--gutter);
  background:rgba(4,18,31,.93);
  border-bottom:1px solid var(--hairline);
  backdrop-filter:blur(14px);
}
.topbar__brand{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.topbar__glyph{
  display:grid;
  place-items:center;
  width:30px;height:30px;
  flex:0 0 auto;
  border-radius:9px;
  font:700 14px/1 var(--font-mono);
  color:var(--ink-950);
  background:linear-gradient(140deg,var(--cyan-200),var(--cyan-500));
}
.topbar__text{display:flex;flex-direction:column;min-width:0;}
.topbar__name{font-size:14px;font-weight:700;letter-spacing:.02em;line-height:1.3;}
.topbar__sub{font-size:9.5px;letter-spacing:.16em;color:var(--slate-300);line-height:1.4;}

.topbar__actions{display:flex;align-items:center;gap:10px;}

.nav-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border:1px solid rgba(24,224,200,.3);
  border-radius:999px;
  background:rgba(24,224,200,.09);
  color:var(--cyan-200);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.04em;
  transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.nav-toggle:hover{background:rgba(24,224,200,.18);color:#EAFFFB;border-color:rgba(24,224,200,.55);}
.nav-toggle__bars{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:16px;
  height:12px;
}
.nav-toggle__bars span{
  display:block;
  height:1.5px;
  width:100%;
  border-radius:2px;
  background:currentColor;
  transition:transform .26s var(--ease);
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:first-child{transform:translateY(5.5px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:last-child{transform:translateY(-5.5px) rotate(-45deg);}
.nav-toggle__text{white-space:nowrap;}

@media (min-width:1080px){
  .topbar{display:none;}
}

/* ---------- 移动抽屉 ---------- */
.drawer{
  position:fixed;
  inset:0;
  z-index:90;
  display:flex;
  justify-content:flex-end;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .28s var(--ease),visibility .28s linear;
}
.drawer[data-open]{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}
.drawer__scrim{
  position:absolute;
  inset:0;
  background:rgba(4,18,31,.74);
  backdrop-filter:blur(4px);
}
.drawer__panel{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:18px;
  width:min(86vw,368px);
  height:100%;
  padding:20px var(--gutter) 28px;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:
    radial-gradient(120% 30% at 100% 0%,rgba(24,224,200,.16),transparent 60%),
    linear-gradient(180deg,#0A2A42,#04121F 78%);
  border-left:1px solid rgba(24,224,200,.26);
  transform:translateX(18px);
  transition:transform .32s var(--ease);
}
.drawer[data-open] .drawer__panel{transform:none;}

.drawer__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--hairline);
}
.drawer__title{
  font:600 11px/1 var(--font-mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cyan-200);
}
.drawer__close{
  padding:7px 12px;
  border:1px solid rgba(185,205,214,.28);
  border-radius:999px;
  font-size:12px;
  color:var(--slate-300);
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.drawer__close:hover{color:var(--cyan-200);border-color:rgba(24,224,200,.55);}

.drawer__nav{flex:1 1 auto;}
.drawer__list{display:flex;flex-direction:column;}
.drawer__item{min-width:0;}
.drawer__link{
  display:flex;
  align-items:baseline;
  gap:12px;
  padding:13px 4px;
  border-bottom:1px solid rgba(185,205,214,.12);
  color:var(--mist-050);
  font-size:16.5px;
  font-weight:600;
  letter-spacing:.01em;
  transition:color .2s var(--ease),padding-left .2s var(--ease);
}
.drawer__link:hover{color:var(--cyan-200);padding-left:10px;}
.drawer__link[aria-current="page"]{color:var(--cyan-200);}
.drawer__idx{
  font:500 11px/1 var(--font-mono);
  letter-spacing:.06em;
  color:rgba(185,205,214,.55);
}
.drawer__link[aria-current="page"] .drawer__idx{color:var(--cyan-500);}
.drawer__label{min-width:0;}

.drawer__foot{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-start;
  padding-top:16px;
  border-top:1px solid var(--hairline);
}
.drawer__foot .btn{width:100%;}

@media (min-width:1080px){
  .drawer{display:none;}
}

/* ---------- 页脚 ---------- */
.site-foot{
  position:relative;
  margin-top:clamp(56px,9vw,128px);
  background:linear-gradient(180deg,rgba(10,42,66,.78),rgba(4,18,31,1) 64%);
  border-top:1px solid var(--hairline);
}
.site-foot::before{
  content:"";
  position:absolute;
  top:-1px;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(24,224,200,.85) 22%,rgba(255,180,74,.6) 64%,transparent);
  opacity:.7;
}
.site-foot__inner{
  width:min(100% - 2 * var(--gutter),var(--maxw));
  margin-inline:auto;
  padding:clamp(40px,6vw,76px) 0 clamp(26px,3vw,36px);
  display:grid;
  gap:clamp(28px,4vw,52px);
  grid-template-columns:minmax(0,1fr);
}

.foot-lead{min-width:0;}
.foot-brand{display:inline-flex;align-items:center;gap:10px;}
.foot-brand__glyph{
  display:grid;
  place-items:center;
  width:34px;height:34px;
  flex:0 0 auto;
  border-radius:10px;
  font:700 15px/1 var(--font-mono);
  color:var(--ink-950);
  background:linear-gradient(140deg,var(--cyan-200),var(--cyan-500));
}
.foot-brand__text{display:flex;flex-direction:column;}
.foot-brand__name{font-size:16px;font-weight:700;letter-spacing:.02em;line-height:1.35;}
.foot-brand__sub{font-size:10.5px;letter-spacing:.16em;color:var(--slate-300);line-height:1.4;}
.foot-lead__text{
  margin-top:16px;
  max-width:34ch;
  font-size:14.5px;
  line-height:1.8;
  color:var(--slate-300);
}

.foot-col{min-width:0;}
.foot-col__title{
  padding-bottom:12px;
  margin-bottom:14px;
  border-bottom:1px solid var(--hairline);
  font:600 11px/1 var(--font-mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cyan-200);
}

.foot-list{display:grid;gap:10px;}
.foot-list__item{min-width:0;}
.foot-link{
  display:inline-block;
  font-size:14px;
  color:var(--slate-300);
  transition:color .2s var(--ease);
}
.foot-link:hover{color:var(--cyan-200);}
.foot-link--cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:16px;
  font-size:13.5px;
  font-weight:600;
  color:var(--cyan-200);
}
.foot-link--cta::after{
  content:"→";
  transition:transform .22s var(--ease);
}
.foot-link--cta:hover::after{transform:translateX(4px);}

.foot-contact{display:grid;gap:10px;}
.foot-contact__row{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px;
  align-items:baseline;
  font-size:13.5px;
}
.foot-contact__key{
  font:500 10.5px/1.7 var(--font-mono);
  letter-spacing:.12em;
  color:rgba(185,205,214,.62);
}
.foot-contact__val{color:var(--mist-050);word-break:break-word;}
.foot-contact__note{
  margin-top:4px;
  font-size:12.5px;
  line-height:1.7;
  color:rgba(185,205,214,.72);
}

.site-foot__bar{
  width:min(100% - 2 * var(--gutter),var(--maxw));
  margin-inline:auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 18px;
  padding:16px 0 26px;
  border-top:1px solid rgba(185,205,214,.12);
  font-size:12px;
  color:rgba(185,205,214,.75);
}
.site-foot__copy{letter-spacing:.01em;}
.site-foot__icp{font-family:var(--font-mono);letter-spacing:.02em;}

@media (min-width:720px){
  .site-foot__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .foot-lead{grid-column:1 / -1;}
}
@media (min-width:1080px){
  .site-foot__inner{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.85fr);}
  .foot-lead{grid-column:auto;}
}

/* ---------- 滚动显现 ---------- */
html.js [data-reveal]{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .5s var(--ease),transform .5s var(--ease);
  transition-delay:calc(var(--reveal-i,0) * 70ms);
}
html.js [data-reveal].is-visible{
  opacity:1;
  transform:none;
}

/* ---------- 无障碍与降级 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    transition-delay:0ms !important;
  }
  html.js [data-reveal]{
    opacity:1;
    transform:none;
  }
  .drawer__panel{transform:none;}
}

@media print{
  .rail,.topbar,.drawer,.skip-link{display:none !important;}
  body{padding-left:0;background:#fff;color:#08202F;}
}
