:root{
  --wb-ink:#060A12;
  --wb-panel:#0C1622;
  --wb-line:#24435C;
  --wb-white:#F3F7FB;
  --wb-gray:#A9B6C4;
  --wb-dim:#6B7C8C;
  --wb-green:#B7FF3C;
  --wb-orange:#FF6A1A;
  --wb-deep-green:#1D3B24;
  --wb-cyan:#4FE3D0;
  --wb-sans:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --wb-mono:"IBM Plex Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wb-max:1280px;
  --wb-gutter:clamp(20px,4vw,64px);
  --wb-radius-lg:24px;
  --wb-radius-sm:8px;
  --wb-pill:999px;
  --wb-ease:180ms ease-out;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background-color:var(--wb-ink);
  background-image:
    linear-gradient(90deg,rgba(36,67,92,.16) 1px,transparent 1px),
    linear-gradient(0deg,rgba(36,67,92,.10) 1px,transparent 1px);
  background-size:112px 112px;
  background-attachment:fixed;
  color:var(--wb-white);
  font-family:var(--wb-sans);
  font-size:16px;
  font-weight:400;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0;}
ul,ol{padding:0;list-style:none;}
img,svg{max-width:100%;}
a{color:inherit;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--wb-green);outline-offset:3px;border-radius:4px;}
::selection{background:var(--wb-green);color:#0A1305;}

.wb-shell{width:100%;max-width:var(--wb-max);margin-inline:auto;padding-inline:var(--wb-gutter);}
.wb-mono{font-family:var(--wb-mono);font-variant-numeric:tabular-nums;}
.wb-skip{
  position:absolute;left:16px;top:-72px;z-index:200;
  display:inline-flex;align-items:center;min-height:44px;padding:0 20px;
  border-radius:var(--wb-pill);
  background:var(--wb-green);color:#0A1305;
  font-size:14px;font-weight:700;text-decoration:none;
  transition:top var(--wb-ease);
}
.wb-skip:focus{top:12px;}

.wb-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  min-height:44px;padding:0 22px;
  border-radius:var(--wb-pill);
  border:1px solid transparent;
  font-family:var(--wb-sans);font-size:14px;font-weight:700;letter-spacing:.02em;
  text-decoration:none;cursor:pointer;
  transition:background-color var(--wb-ease),color var(--wb-ease),border-color var(--wb-ease),transform var(--wb-ease);
}
.wb-btn--primary{background:var(--wb-green);border-color:var(--wb-green);color:#0A1305;}
.wb-btn--primary:hover{background:#CBFF6B;border-color:#CBFF6B;transform:translateY(-2px);}
.wb-btn--ghost{background:transparent;border-color:var(--wb-line);color:var(--wb-white);}
.wb-btn--ghost:hover{background:var(--wb-panel);border-color:var(--wb-green);color:var(--wb-green);transform:translateY(-2px);}
.wb-btn--sm{min-height:40px;padding:0 16px;font-size:13px;}
.wb-btn__arrow{font-family:var(--wb-mono);font-size:13px;line-height:1;}

.wb-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--wb-orange);box-shadow:0 0 0 3px rgba(255,106,26,.16);}

.wb-header{
  position:sticky;top:0;z-index:60;
  background:rgba(6,10,18,.94);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.wb-header::before{
  content:"";display:block;height:6px;
  background-image:repeating-linear-gradient(90deg,var(--wb-line) 0 1px,transparent 1px 24px);
  opacity:.65;
}
.wb-rail{border-bottom:1px solid rgba(36,67,92,.6);}
.wb-rail__inner{
  display:flex;align-items:center;gap:14px;
  height:34px;overflow:hidden;white-space:nowrap;
  font-family:var(--wb-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--wb-dim);
}
.wb-rail__idx{color:var(--wb-green);}
.wb-rail__domain{color:var(--wb-gray);}
.wb-rail__rule{
  flex:1 1 auto;min-width:24px;height:1px;
  background-image:repeating-linear-gradient(90deg,var(--wb-line) 0 6px,transparent 6px 12px);
}
.wb-rail__icp{color:var(--wb-dim);}
.wb-rail__live{display:inline-flex;align-items:center;gap:8px;color:var(--wb-orange);letter-spacing:.18em;}

.wb-masthead{padding-block:16px 14px;}
.wb-masthead__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;gap:24px;
}
.wb-masthead__meta{
  display:flex;flex-direction:column;gap:2px;
  font-family:var(--wb-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
}
.wb-masthead__meta-k{color:var(--wb-gray);}
.wb-masthead__meta-v{color:var(--wb-orange);}
.wb-masthead__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;}

.wb-brand{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  text-decoration:none;color:var(--wb-white);
}
.wb-brand__name{
  font-size:clamp(26px,4.4vw,46px);
  font-weight:900;line-height:1;letter-spacing:-.04em;
  transition:color var(--wb-ease);
}
.wb-brand__sub{
  display:inline-flex;align-items:center;
  font-family:var(--wb-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--wb-gray);
}
.wb-brand__sub::before{
  content:"";display:inline-block;width:5px;height:5px;margin-right:8px;
  border-radius:50%;background:var(--wb-green);
}
.wb-brand:hover .wb-brand__name{color:var(--wb-green);}

.wb-navtoggle{
  display:none;align-items:center;gap:8px;
  min-height:44px;padding:0 14px;
  border:1px solid var(--wb-line);border-radius:var(--wb-pill);
  background:transparent;color:var(--wb-white);
  font-size:13px;font-weight:600;cursor:pointer;
  transition:border-color var(--wb-ease),color var(--wb-ease);
}
.wb-navtoggle:hover{border-color:var(--wb-green);color:var(--wb-green);}
.wb-navtoggle__bars{display:flex;flex-direction:column;gap:3px;}
.wb-navtoggle__bar{
  display:block;width:16px;height:1.5px;border-radius:2px;background:currentColor;
  transition:transform var(--wb-ease),opacity var(--wb-ease);
}
.wb-header[data-open] .wb-navtoggle__bar:nth-child(1){transform:translateY(4.5px) rotate(45deg);}
.wb-header[data-open] .wb-navtoggle__bar:nth-child(2){opacity:0;}
.wb-header[data-open] .wb-navtoggle__bar:nth-child(3){transform:translateY(-4.5px) rotate(-45deg);}
.wb-navtoggle__label{line-height:1;}

.wb-nav{
  border-top:1px solid rgba(36,67,92,.55);
  background:linear-gradient(180deg,rgba(12,22,34,.92),rgba(6,10,18,.92));
}
.wb-nav__inner{display:flex;justify-content:center;}
.wb-nav__list{
  display:flex;align-items:center;gap:6px;
  padding:8px 0;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.wb-nav__list::-webkit-scrollbar{display:none;}
.wb-nav__item{display:flex;}
.wb-nav__link{
  position:relative;
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 16px;
  border-radius:var(--wb-pill);
  border:1px solid transparent;
  color:var(--wb-gray);
  font-size:14px;font-weight:500;white-space:nowrap;text-decoration:none;
  transition:background-color var(--wb-ease),color var(--wb-ease),border-color var(--wb-ease);
}
.wb-nav__link:hover{color:var(--wb-white);background:rgba(36,67,92,.34);}
.wb-nav__index{
  font-family:var(--wb-mono);font-size:10px;letter-spacing:.1em;color:var(--wb-dim);
  transition:color var(--wb-ease);
}
.wb-nav__link[aria-current="page"]{
  color:var(--wb-green);
  border-color:rgba(183,255,60,.42);
  background:rgba(183,255,60,.08);
}
.wb-nav__link[aria-current="page"] .wb-nav__index{color:var(--wb-green);}
.wb-nav__link[aria-current="page"]::after{
  content:"";position:absolute;left:50%;bottom:3px;transform:translateX(-50%);
  width:18px;height:2px;border-radius:2px;background:var(--wb-green);
}

.wb-progress{height:2px;background:rgba(36,67,92,.45);overflow:hidden;}
.wb-progress__bar{
  display:block;width:0;height:100%;
  background:linear-gradient(90deg,var(--wb-green),var(--wb-cyan));
  transition:width .08s linear;
}

.wb-header[data-stuck] .wb-masthead{padding-block:9px 8px;}
.wb-header[data-stuck] .wb-brand__name{font-size:clamp(22px,3.4vw,34px);}
.wb-header[data-stuck] .wb-nav__list{padding:5px 0;}

.wb-footer{
  position:relative;
  margin-top:clamp(48px,7vw,96px);
  border-top:1px solid var(--wb-line);
  background:linear-gradient(180deg,rgba(12,22,34,.9),rgba(6,10,18,1));
}
.wb-footer::before{
  content:"";display:block;height:6px;
  background-image:repeating-linear-gradient(90deg,var(--wb-line) 0 1px,transparent 1px 24px);
  opacity:.55;
}
.wb-footer__top{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.3fr;
  gap:clamp(24px,4vw,48px);
  padding-block:clamp(36px,5vw,64px);
}
.wb-footer__col{display:flex;flex-direction:column;min-width:0;}
.wb-brand--footer{align-items:flex-start;}
.wb-brand--footer .wb-brand__name{font-size:clamp(22px,3vw,32px);}
.wb-footer__tagline{
  margin-top:16px;max-width:32ch;
  color:var(--wb-gray);font-size:14px;line-height:1.7;
}
.wb-footer__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.wb-footer__title{
  margin-bottom:14px;
  font-family:var(--wb-mono);font-size:11px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--wb-green);
}
.wb-footer__links{display:flex;flex-direction:column;gap:10px;}
.wb-footer__link{
  display:inline-block;
  color:var(--wb-gray);font-size:14px;text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color var(--wb-ease),border-color var(--wb-ease);
}
.wb-footer__link:hover{color:var(--wb-white);border-bottom-color:var(--wb-green);}
.wb-footer__contact-item{display:flex;flex-direction:column;gap:2px;}
.wb-footer__label{
  font-family:var(--wb-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--wb-dim);
}
.wb-footer__contact-text{color:var(--wb-gray);font-size:14px;line-height:1.6;word-break:break-word;}
.wb-footer__bottom{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;
  padding-block:18px 30px;
  border-top:1px solid rgba(36,67,92,.55);
  font-family:var(--wb-mono);font-size:11px;letter-spacing:.08em;
  color:var(--wb-dim);
}
.wb-footer__copy{margin:0;}
.wb-footer__icp{margin:0;color:var(--wb-gray);}
.wb-footer__note{margin:0 0 0 auto;}
.wb-quickbar{display:none;}

.wb-section{padding-block:clamp(36px,5vw,72px);}
.wb-section__head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:16px;margin-bottom:clamp(20px,3vw,32px);
}
.wb-kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--wb-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--wb-green);
}
.wb-kicker::before{content:"";width:18px;height:1px;background:var(--wb-green);}
.wb-h2{
  font-size:clamp(24px,3vw,40px);font-weight:800;line-height:1.15;letter-spacing:-.03em;
  color:var(--wb-white);
}
.wb-lead{
  max-width:68ch;font-size:clamp(15px,1.6vw,18px);line-height:1.75;color:var(--wb-gray);
}
.wb-prose p{margin-bottom:1em;}
.wb-prose p:last-child{margin-bottom:0;}
.wb-prose strong{color:var(--wb-white);font-weight:700;}

.wb-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;}
.wb-card{
  background:var(--wb-panel);
  border:1px solid var(--wb-line);
  border-radius:var(--wb-radius-lg);
  padding:clamp(18px,2.4vw,28px);
}
.wb-panel{
  background:var(--wb-panel);
  border:1px solid var(--wb-line);
  border-radius:var(--wb-radius-sm);
  padding:clamp(14px,1.8vw,20px);
}
.wb-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;
  border-radius:var(--wb-pill);
  border:1px solid var(--wb-line);
  background:rgba(36,67,92,.22);
  color:var(--wb-gray);
  font-size:12px;font-weight:500;letter-spacing:.04em;
  cursor:pointer;
  transition:color var(--wb-ease),border-color var(--wb-ease),background-color var(--wb-ease);
}
.wb-chip:hover{color:var(--wb-white);border-color:var(--wb-gray);}
.wb-chip[aria-pressed="true"],.wb-chip.is-active{
  color:var(--wb-green);border-color:var(--wb-green);background:rgba(183,255,60,.1);
}

.wb-crumb{padding-top:20px;}
.wb-crumb__list{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-family:var(--wb-mono);font-size:11px;letter-spacing:.1em;color:var(--wb-dim);
}
.wb-crumb__item{display:inline-flex;align-items:center;gap:8px;}
.wb-crumb__link{color:var(--wb-gray);text-decoration:none;transition:color var(--wb-ease);}
.wb-crumb__link:hover{color:var(--wb-green);}
.wb-crumb__sep{color:var(--wb-line);}
.wb-crumb__item[aria-current="page"]{color:var(--wb-white);}

.wb-figure{
  position:relative;overflow:hidden;
  border:1px solid var(--wb-line);
  border-radius:var(--wb-radius-lg);
  background-image:
    repeating-linear-gradient(135deg,rgba(36,67,92,.38) 0 2px,transparent 2px 11px),
    linear-gradient(160deg,var(--wb-panel),#050912);
  background-color:var(--wb-panel);
}
.wb-figure__img{
  display:block;width:100%;height:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.wb-figure__img--wide{aspect-ratio:21/9;}
.wb-figure__img--tall{aspect-ratio:3/4;}
.wb-figure__img--square{aspect-ratio:1/1;}
.wb-figure__cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:14px 18px;
  font-family:var(--wb-mono);font-size:11px;letter-spacing:.08em;color:var(--wb-gray);
  background:linear-gradient(180deg,transparent,rgba(6,10,18,.92));
}

[data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .5s ease-out,transform .5s ease-out;}
[data-reveal].is-in{opacity:1;transform:none;}

@media (max-width:899px){
  .wb-masthead__inner{grid-template-columns:minmax(0,1fr) auto;gap:12px;}
  .wb-masthead__meta{display:none;}
  .wb-brand{align-items:flex-start;grid-column:1;grid-row:1;}
  .wb-masthead__actions{grid-column:2;grid-row:1;}
  .wb-brand__name{font-size:clamp(21px,5.6vw,30px);}
  .wb-navtoggle{display:inline-flex;}
  .wb-btn{padding:0 16px;font-size:13px;}

  .wb-nav{display:none;}
  .wb-header[data-open] .wb-nav{display:block;animation:wbNavIn var(--wb-ease) both;}
  .wb-nav__inner{display:block;padding-block:6px 14px;}
  .wb-nav__list{flex-direction:column;align-items:stretch;gap:4px;padding:0;overflow:visible;}
  .wb-nav__link{border-radius:14px;padding:12px 16px;font-size:15px;}
  .wb-nav__link[aria-current="page"]::after{display:none;}

  .wb-footer__top{grid-template-columns:1fr 1fr;gap:28px 24px;}
  .wb-footer__note{margin-left:0;}

  .wb-quickbar{
    position:fixed;left:0;right:0;bottom:0;z-index:70;
    display:flex;gap:10px;
    padding:10px var(--wb-gutter) calc(10px + env(safe-area-inset-bottom,0px));
    background:rgba(6,10,18,.96);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    border-top:1px solid var(--wb-line);
  }
  .wb-quickbar .wb-btn{flex:1 1 0;}
  .wb-footer__bottom{padding-bottom:84px;}
}

@media (max-width:559px){
  .wb-rail__domain{display:none;}
  .wb-footer__top{grid-template-columns:1fr;}
  .wb-footer__bottom{flex-direction:column;align-items:flex-start;gap:6px;}
  .wb-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;}
}

@keyframes wbNavIn{
  from{opacity:0;transform:translateY(-6px);}
  to{opacity:1;transform:none;}
}

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