*,*::before,*::after{box-sizing:border-box}
html,body,h1,h2,h3,h4,h5,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}
a{color:inherit}
table{border-collapse:collapse;width:100%}

:root{
  --yy-night:#0B1526;
  --yy-ink:#060B14;
  --yy-layer:#132238;
  --yy-paper:#F2EBDD;
  --yy-paper-ink:#12181F;
  --yy-green:#B8FF3C;
  --yy-orange:#FF5A2B;
  --yy-yellow:#FFC53D;
  --yy-teal:#38C6C0;
  --yy-text:#EDEFF3;
  --yy-muted:#93A3BA;
  --yy-line:#2A3B55;
  --yy-radius-card:20px;
  --yy-radius-media:12px;
  --yy-radius-pill:999px;
  --yy-font-sans:"Noto Sans SC",system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  --yy-font-num:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --yy-font-serif:"Noto Serif SC","Songti SC","Source Han Serif SC",Georgia,serif;
  --yy-measure:34em;
  --yy-max:1200px;
  --yy-gutter:clamp(18px,4vw,40px);
}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--yy-night);
  color:var(--yy-text);
  font-family:var(--yy-font-sans);
  font-size:16px;
  font-weight:400;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--yy-green);color:#08120A}
:focus-visible{outline:2px solid var(--yy-green);outline-offset:3px;border-radius:4px}

h1,h2,h3,h4{font-weight:900;line-height:1.1;letter-spacing:-.02em;color:var(--yy-text)}
h1{font-size:clamp(2rem,7vw,4.4rem)}
h2{font-size:clamp(1.5rem,3.6vw,2.6rem)}
h3{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.28}
h4{font-size:1.05rem;line-height:1.35}

/* ---------- 布局 ---------- */
.yy-container{
  width:100%;
  max-width:var(--yy-max);
  margin-inline:auto;
  padding-inline:var(--yy-gutter);
}
.yy-section{padding-block:clamp(48px,8vw,96px)}
.yy-section--tight{padding-block:clamp(30px,5vw,56px)}
.yy-section--paper{background:var(--yy-paper);color:var(--yy-paper-ink)}
.yy-section--paper h1,.yy-section--paper h2,.yy-section--paper h3,.yy-section--paper h4{color:var(--yy-paper-ink)}
.yy-section--paper .yy-prose{color:var(--yy-paper-ink)}
.yy-section--paper .yy-eyebrow{color:#4A5566}

.yy-grid{
  display:grid;
  gap:clamp(16px,2vw,28px);
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:640px){.yy-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (min-width:1024px){.yy-grid{grid-template-columns:repeat(12,minmax(0,1fr))}}
.yy-col-4,.yy-col-5,.yy-col-6,.yy-col-7,.yy-col-8,.yy-col-12{grid-column:1 / -1}
@media (min-width:1024px){
  .yy-col-4{grid-column:span 4}
  .yy-col-5{grid-column:span 5}
  .yy-col-6{grid-column:span 6}
  .yy-col-7{grid-column:span 7}
  .yy-col-8{grid-column:span 8}
  .yy-col-12{grid-column:span 12}
}

/* ---------- 文字组件 ---------- */
.yy-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--yy-font-num);
  font-size:14px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--yy-muted);
}
.yy-eyebrow::before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:var(--yy-green);
  box-shadow:0 0 0 4px rgba(184,255,60,.14);
  flex:0 0 auto;
}
.yy-num{
  font-family:var(--yy-font-num);
  font-weight:700;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
}
.yy-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 12px;
  border-radius:var(--yy-radius-pill);
  border:1px solid rgba(255,197,61,.42);
  background:rgba(255,197,61,.14);
  color:var(--yy-yellow);
  font-size:14px;
  font-weight:700;
  line-height:1.4;
}
.yy-tag--alert{border-color:rgba(255,90,43,.42);background:rgba(255,90,43,.14);color:#FF8A63}
.yy-tag--live{border-color:rgba(184,255,60,.42);background:rgba(184,255,60,.14);color:var(--yy-green)}

.yy-prose{font-size:17px;line-height:1.8;color:var(--yy-text);max-width:44rem}
.yy-prose > * + *{margin-top:1.05em}
.yy-prose p,.yy-prose li{max-width:var(--yy-measure)}
.yy-prose h2,.yy-prose h3{font-family:var(--yy-font-serif);font-weight:500;letter-spacing:0;line-height:1.3}
.yy-prose h2{font-size:clamp(1.4rem,2.6vw,1.9rem)}
.yy-prose h3{font-size:1.2rem}
.yy-prose ul{list-style:none;display:grid;gap:.5em}
.yy-prose ul > li{position:relative;padding-left:20px}
.yy-prose ul > li::before{
  content:"";position:absolute;left:0;top:.72em;
  width:8px;height:8px;border-radius:2px;background:var(--yy-orange);
}
.yy-prose ol{list-style:decimal;padding-left:1.3em;display:grid;gap:.5em}
.yy-prose a{color:var(--yy-green);text-decoration:underline;text-underline-offset:3px}
.yy-section--paper .yy-prose a{color:#0A6B60}

/* ---------- 按钮 ---------- */
.yy-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 22px;
  border:1px solid transparent;
  border-radius:var(--yy-radius-pill);
  background:var(--yy-green);
  color:#08120A;
  font-family:var(--yy-font-sans);
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}
.yy-btn:hover{transform:translateY(-1px);background:#C9FF69}
.yy-btn:active{transform:translateY(0)}
.yy-btn--signal{background:var(--yy-orange);color:#170603}
.yy-btn--signal:hover{background:#FF7346}
.yy-btn--ghost{background:transparent;color:var(--yy-text);border-color:var(--yy-line)}
.yy-btn--ghost:hover{background:transparent;border-color:var(--yy-green);color:var(--yy-green)}

/* ---------- 卡片 / 媒体 ---------- */
.yy-panel{
  background:var(--yy-layer);
  border:1px solid var(--yy-line);
  border-radius:var(--yy-radius-card);
  padding:clamp(18px,2.4vw,26px);
}
.yy-media{
  position:relative;
  overflow:hidden;
  border-radius:var(--yy-radius-media);
  border:1px solid var(--yy-line);
  aspect-ratio:16 / 10;
  background:
    linear-gradient(135deg,rgba(184,255,60,.14),transparent 56%),
    linear-gradient(315deg,rgba(255,90,43,.14),transparent 56%),
    var(--yy-layer);
}
.yy-media > img,.yy-media > picture > img{width:100%;height:100%;object-fit:cover}
.yy-media--wide{aspect-ratio:16 / 9}
.yy-media--square{aspect-ratio:1 / 1}
.yy-media--tall{aspect-ratio:4 / 5}
.yy-media__caption{margin-top:10px;font-size:14px;color:var(--yy-muted);line-height:1.6}

/* ---------- 面包屑 ---------- */
.yy-crumbs{font-size:14px;color:var(--yy-muted)}
.yy-crumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.yy-crumbs__item{display:inline-flex;align-items:center}
.yy-crumbs__item + .yy-crumbs__item::before{content:"/";color:#3D5478;margin-right:8px}
.yy-crumbs__link{
  display:inline-flex;align-items:center;min-height:32px;
  color:var(--yy-muted);text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
.yy-crumbs__link:hover{color:var(--yy-green);border-color:currentColor}
.yy-crumbs__current{color:var(--yy-text);font-weight:600}

/* ---------- 分段切换 ---------- */
.yy-tabs{display:grid;gap:18px}
.yy-tabs__list{
  display:flex;
  gap:6px;
  padding:6px;
  border:1px solid var(--yy-line);
  border-radius:var(--yy-radius-pill);
  background:rgba(19,34,56,.72);
  overflow-x:auto;
  scrollbar-width:none;
}
.yy-tabs__list::-webkit-scrollbar{display:none}
.yy-tab{
  flex:0 0 auto;
  min-height:44px;
  padding:0 18px;
  border-radius:var(--yy-radius-pill);
  background:transparent;
  color:var(--yy-muted);
  font-size:15px;
  font-weight:700;
  white-space:nowrap;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.yy-tab:hover{color:var(--yy-text)}
.yy-tab[aria-selected="true"]{background:var(--yy-green);color:#08120A}
.yy-tabs__panel{padding-top:4px}
.yy-tabs__panel[hidden]{display:none}

/* ---------- 跳转链接 ---------- */
.yy-skip{
  position:fixed;
  top:8px;left:8px;
  z-index:300;
  display:inline-flex;align-items:center;
  min-height:44px;padding:0 18px;
  border-radius:var(--yy-radius-pill);
  background:var(--yy-green);
  color:#08120A;
  font-weight:800;
  font-size:15px;
  text-decoration:none;
  transform:translateY(-160%);
  transition:transform .18s ease;
}
.yy-skip:focus,.yy-skip:focus-visible{transform:translateY(0)}

/* ---------- 头部 ---------- */
.yy-header{
  position:sticky;
  top:0;
  z-index:100;
  padding:12px var(--yy-gutter) 0;
  pointer-events:none;
}
.yy-header__inner{
  pointer-events:auto;
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  max-width:var(--yy-max);
  margin-inline:auto;
  padding:8px 8px 8px 14px;
  border:1px solid var(--yy-line);
  border-radius:var(--yy-radius-pill);
  background:rgba(11,21,38,.86);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  transition:max-width .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease,padding .3s ease;
}
.yy-header[data-scrolled="true"] .yy-header__inner{
  background:rgba(6,11,20,.95);
  border-color:#33507A;
  box-shadow:0 22px 44px -30px rgba(0,0,0,.95);
}
.yy-brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  min-height:44px;
  padding-right:4px;
  color:var(--yy-text);
  text-decoration:none;
}
.yy-brand__mark{
  width:26px;height:26px;
  flex:0 0 auto;
  border-radius:9px;
  background:linear-gradient(135deg,var(--yy-green) 0 50%,var(--yy-orange) 50% 100%);
  box-shadow:0 0 0 1px rgba(237,239,243,.14),0 0 22px -6px rgba(184,255,60,.72);
}
.yy-brand__text{
  font-size:16px;
  font-weight:900;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.yy-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin-left:auto;
  padding:0 16px;
  border-radius:var(--yy-radius-pill);
  background:var(--yy-green);
  color:#08120A;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 0 0 1px rgba(184,255,60,.32),0 12px 28px -18px rgba(184,255,60,.9);
  transition:transform .18s ease,background .18s ease;
}
.yy-cta:hover{transform:translateY(-1px);background:#C9FF69}
.yy-burger{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:44px;
  min-height:44px;
  padding:0 14px 0 12px;
  border:1px solid var(--yy-line);
  border-radius:var(--yy-radius-pill);
  background:rgba(19,34,56,.9);
  color:var(--yy-text);
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:border-color .18s ease,color .18s ease;
}
.yy-burger:hover{border-color:#3D5A82}
.yy-burger__bars{position:relative;display:block;width:18px;height:12px;flex:0 0 auto}
.yy-burger__bars::before,.yy-burger__bars::after{
  content:"";
  position:absolute;left:0;
  width:18px;height:2px;
  border-radius:2px;
  background:currentColor;
  transition:transform .2s ease,top .2s ease;
}
.yy-burger__bars::before{top:0}
.yy-burger__bars::after{top:10px}
.yy-header[data-open="true"] .yy-burger__bars::before{top:5px;transform:rotate(45deg)}
.yy-header[data-open="true"] .yy-burger__bars::after{top:5px;transform:rotate(-45deg)}
.yy-burger__label{line-height:1}

/* 移动端导航：抽屉 */
.yy-nav{
  position:fixed;
  top:82px;
  left:14px;
  right:14px;
  z-index:99;
  max-height:calc(100vh - 116px);
  overflow-y:auto;
  padding:14px;
  border:1px solid var(--yy-line);
  border-radius:24px;
  background:rgba(11,21,38,.985);
  box-shadow:0 34px 70px -34px rgba(0,0,0,.95);
  opacity:0;
  visibility:hidden;
  transform:translateY(-12px) scale(.985);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.yy-header[data-open="true"] .yy-nav{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.yy-nav__list{display:grid;gap:4px}
.yy-nav__link{
  display:flex;
  align-items:center;
  min-height:52px;
  padding:0 16px;
  border-radius:14px;
  color:var(--yy-muted);
  font-size:16px;
  font-weight:500;
  text-decoration:none;
  transition:color .18s ease,background .18s ease;
}
.yy-nav__link:hover{color:var(--yy-text);background:rgba(147,163,186,.14)}
.yy-nav__link[aria-current="page"]{
  color:var(--yy-text);
  font-weight:800;
  background:rgba(184,255,60,.13);
}
.yy-nav__link[aria-current="page"]::after{
  content:"";
  width:6px;height:6px;
  margin-left:10px;
  border-radius:50%;
  background:var(--yy-green);
  flex:0 0 auto;
}
html[data-nav-open="true"]{overflow:hidden}

@media (min-width:900px){
  .yy-header{padding-top:16px}
  .yy-header__inner{gap:16px;padding:10px 10px 10px 20px}
  .yy-header[data-scrolled="true"] .yy-header__inner{max-width:1020px}
  .yy-brand__text{font-size:17px}
  .yy-burger{display:none}
  .yy-nav{
    position:static;
    inset:auto;
    z-index:auto;
    max-height:none;
    overflow:visible;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    margin-inline:auto;
    opacity:1;
    visibility:visible;
    transform:none;
    transition:none;
  }
  .yy-nav__list{
    display:flex;
    align-items:center;
    gap:2px;
    padding:4px;
    border:1px solid var(--yy-line);
    border-radius:var(--yy-radius-pill);
    background:rgba(19,34,56,.7);
  }
  .yy-nav__link{
    min-height:40px;
    padding:0 14px;
    border-radius:var(--yy-radius-pill);
    font-size:15px;
    white-space:nowrap;
  }
  .yy-cta{margin-left:0;padding:0 20px}
}
@media (min-width:1180px){
  .yy-nav__link{padding:0 16px}
}

/* ---------- 页脚 ---------- */
.yy-footer{
  position:relative;
  margin-top:clamp(48px,8vw,96px);
  padding-top:clamp(70px,9vw,116px);
  padding-bottom:26px;
  background:var(--yy-ink);
  color:var(--yy-text);
  clip-path:polygon(0 46px,100% 0,100% 100%,0 100%);
}
.yy-footer__top{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px 26px;
  padding-bottom:clamp(24px,4vw,42px);
  border-bottom:1px solid var(--yy-line);
}
.yy-footer__brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--yy-text);
}
.yy-footer__tagline{
  margin-right:auto;
  font-family:var(--yy-font-serif);
  font-weight:500;
  font-size:clamp(1.05rem,2.2vw,1.5rem);
  line-height:1.4;
  letter-spacing:0;
  color:var(--yy-text);
}
.yy-footer__grid{
  display:grid;
  gap:clamp(22px,4vw,40px);
  grid-template-columns:1fr;
  padding-block:clamp(30px,5vw,54px);
}
@media (min-width:640px){
  .yy-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .yy-footer__col--contact{grid-column:1 / -1}
}
@media (min-width:900px){
  .yy-footer__grid{grid-template-columns:1fr 1fr 1.6fr}
  .yy-footer__col--contact{grid-column:auto}
  .yy-footer__col + .yy-footer__col{
    border-left:1px solid var(--yy-line);
    padding-left:clamp(20px,3vw,36px);
  }
}
.yy-footer__title{
  margin-bottom:10px;
  font-family:var(--yy-font-num);
  font-size:14px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--yy-teal);
}
.yy-footer__list{display:grid;gap:0}
.yy-footer__link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  color:var(--yy-text);
  font-size:15px;
  text-decoration:none;
  transition:color .18s ease;
}
.yy-footer__link::before{
  content:"";
  width:6px;height:6px;
  border-radius:50%;
  background:var(--yy-line);
  flex:0 0 auto;
  transition:background .18s ease;
}
.yy-footer__link:hover{color:var(--yy-green)}
.yy-footer__link:hover::before{background:var(--yy-green)}
.yy-footer__contact-item{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:2px 10px;
  padding-block:6px;
  font-size:15px;
  line-height:1.7;
}
.yy-footer__label{
  min-width:40px;
  font-size:14px;
  color:var(--yy-muted);
}
.yy-footer__value{
  color:var(--yy-text);
  font-size:15px;
  word-break:break-word;
}
.yy-footer__note{
  margin-top:10px;
  max-width:28em;
  font-size:14px;
  line-height:1.7;
  color:var(--yy-muted);
}
.yy-footer__bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 24px;
  padding-top:20px;
  border-top:1px solid var(--yy-line);
}
.yy-footer__legal{
  font-family:var(--yy-font-num);
  font-size:14px;
  color:var(--yy-muted);
  line-height:1.6;
}

/* ---------- 滚动显现 ---------- */
html[data-js="true"] [data-reveal]{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .3s ease,transform .3s ease;
}
html[data-js="true"] [data-reveal].is-in{opacity:1;transform:none}

@media (max-width:420px){
  .yy-brand__text{font-size:15px}
  .yy-cta{padding:0 13px;font-size:14px}
  .yy-burger{padding:0 12px}
  .yy-burger__label{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  html{scroll-behavior:auto}
  html[data-js="true"] [data-reveal]{transform:none}
}
