@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

:root{
  --ink:#172617;
  --deep:#0b140c;
  --neon:#69ff69;
  --cyan:#00ffff;
  --line:#2c4630;
  --txt:#e2f6e4;
  --dim:#9dbfa4;
  --r:4px;
  --chrome:linear-gradient(135deg,#ffffff 0%,#cfe6d6 26%,#ffffff 44%,#8fb79a 58%,#eafff0 78%,#ffffff 100%);
}

*,*::before,*::after{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  font-family:Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  font-size:17px;
  line-height:1.75;
  color:var(--txt);
  background:
    radial-gradient(70vw 55vw at 92% -8%, rgba(0,255,255,.18), transparent 62%),
    radial-gradient(55vw 55vw at -10% 12%, rgba(105,255,105,.16), transparent 68%),
    linear-gradient(180deg,#0e1a10,#0b140c 46%,#0a120b);
  background-attachment:fixed;
}

img{max-width:100%}

.sky{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}
.sky span{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(0,255,255,.34);
  background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.85),rgba(0,255,255,.34) 38%,rgba(105,255,105,.12) 62%,transparent 74%);
  animation:drift 17s ease-in-out infinite;
  opacity:.75;
}
.sky span:nth-child(1){width:118px;height:118px;left:-34px;top:18%;animation-delay:-2s}
.sky span:nth-child(2){width:58px;height:58px;right:6%;top:12%;animation-delay:-6s}
.sky span:nth-child(3){width:200px;height:200px;right:-70px;bottom:14%;animation-delay:-9s;opacity:.5}
.sky span:nth-child(4){width:34px;height:34px;left:22%;bottom:22%;animation-delay:-4s}
.sky span:nth-child(5){width:76px;height:76px;left:52%;top:6%;animation-delay:-11s;opacity:.45}

@keyframes drift{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-24px)}
}

/* 顶栏 */
.top{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  background:rgba(11,20,12,.84);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.mark{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  border:2px solid var(--neon);
  background:var(--chrome);
  box-shadow:0 0 16px rgba(105,255,105,.5);
  text-decoration:none;
}
.mark img{width:28px;height:28px;object-fit:contain;border-radius:50%}
.spark{
  width:13px;
  height:13px;
  background:var(--ink);
  clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);
}
.tnav{
  margin-left:auto;
  display:flex;
  gap:2px;
  padding:2px;
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.tnav::-webkit-scrollbar{display:none}
.tl{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 11px;
  border:1px solid transparent;
  border-radius:var(--r);
  color:var(--txt);
  font-size:16px;
  text-decoration:none;
  white-space:nowrap;
}
.tl i{
  flex:0 0 auto;
  width:6px;
  height:6px;
  margin-right:7px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 8px var(--cyan);
}
.tl:hover,.tl:focus-visible{
  color:#fff;
  border-color:var(--neon);
  background:rgba(105,255,105,.12);
}
.tl.on{color:#fff;border-color:var(--cyan);background:rgba(0,255,255,.1)}

/* 首屏 */
.hero{
  position:relative;
  z-index:1;
  min-height:100svh;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  isolation:isolate;
}
.hero-media{
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(160deg,#1b3d22,#0a1b12 62%,#0b140c);
}
.hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.2) contrast(1.08);
}
.hero-veil{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(255deg,rgba(8,16,10,.94),rgba(8,16,10,.56) 55%,rgba(8,16,10,.22)),
    radial-gradient(90% 70% at 100% 18%,rgba(0,255,255,.2),transparent 62%);
}
.hero-copy{
  width:100%;
  max-width:1120px;
  margin:0 auto;
  padding:56px 20px 68px;
  text-align:right;
}
.badge{
  display:inline-block;
  margin:0 0 16px;
  padding:5px 15px;
  border-radius:999px;
  border:1px solid var(--neon);
  background:var(--chrome);
  color:var(--ink);
  font-size:16px;
  font-weight:500;
  box-shadow:0 0 20px rgba(105,255,105,.55);
  animation:bob 5.5s ease-in-out infinite;
}
@keyframes bob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-9px)}
}
h1{
  margin:0 0 16px;
  font-size:clamp(30px,7.6vw,64px);
  line-height:1.12;
  font-weight:600;
  letter-spacing:-.02em;
  background:linear-gradient(135deg,#ffffff,#b8ffc6 38%,#ffffff 56%,#9ff6ff 82%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 0 26px rgba(105,255,105,.38);
  filter:drop-shadow(0 2px 10px rgba(0,255,255,.28));
}
.lede{
  max-width:52ch;
  margin:0 0 26px auto;
  color:#cfe9d4;
  font-size:18px;
}
.cta{
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:0 24px;
  border:1px solid #ffffff;
  border-radius:var(--r);
  background:var(--chrome);
  color:var(--ink);
  font-size:17px;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 0 22px rgba(0,255,255,.42);
}
.cta:hover,.cta:focus-visible{
  border-color:var(--cyan);
  box-shadow:0 0 28px rgba(105,255,105,.75);
}

/* 主体 */
.wrap{
  position:relative;
  z-index:1;
  max-width:1180px;
  margin:0 auto;
  padding:0 18px;
}
.shell{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  padding:34px 0 56px;
}

/* 侧栏 */
.side{
  align-self:start;
  padding:16px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:linear-gradient(180deg,rgba(105,255,105,.09),rgba(0,255,255,.05));
}
.side h2{
  margin:0 0 9px;
  font-size:17px;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--neon);
  text-shadow:0 0 14px rgba(105,255,105,.5);
}
.side hr{
  height:2px;
  border:0;
  margin:0 0 10px;
  background:linear-gradient(90deg,var(--cyan),transparent);
}
.side ul{list-style:none;margin:0;padding:0}
.side li a{
  display:flex;
  align-items:center;
  min-height:42px;
  padding:2px 0;
  border-bottom:1px solid rgba(105,255,105,.14);
  color:var(--txt);
  font-size:16px;
  text-decoration:none;
}
.side li:last-child a{border-bottom:0}
.side li a::before{
  content:"";
  flex:0 0 auto;
  width:5px;
  height:5px;
  margin-right:9px;
  border-radius:50%;
  background:var(--neon);
  box-shadow:0 0 8px var(--neon);
}
.side li a:hover,.side li a:focus-visible{color:var(--cyan)}

/* 正文 */
.body{min-width:0}
.body div{
  padding:26px 0 30px;
  border-bottom:1px dashed rgba(105,255,105,.22);
}
.body div:first-child{padding-top:0}
.body div:last-child{border-bottom:0;padding-bottom:0}
.body div[id]{scroll-margin-top:96px}
.body h2{
  margin:0 0 10px;
  font-size:clamp(21px,4.4vw,29px);
  line-height:1.3;
  font-weight:600;
  letter-spacing:-.01em;
  color:var(--neon);
  text-shadow:0 0 16px rgba(105,255,105,.45);
}
.body h3{
  margin:22px 0 9px;
  font-size:19px;
  font-weight:600;
  color:var(--cyan);
}
.body hr{
  height:2px;
  border:0;
  margin:0 0 18px;
  background:linear-gradient(90deg,var(--neon),var(--cyan) 46%,transparent);
}
.body p{margin:0 0 15px;max-width:70ch}
.body ul,.body ol{margin:0 0 16px;padding-left:22px}
.body li{margin:6px 0}
.body a{color:var(--cyan);text-underline-offset:3px}
.body strong{color:#fff}
.body blockquote{
  margin:0 0 16px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-left:3px solid var(--neon);
  border-radius:var(--r);
  background:rgba(105,255,105,.06);
}
.body table{width:100%;border-collapse:collapse;margin:0 0 16px}
.body th,.body td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.body img{
  height:auto;
  border:1px solid var(--line);
  border-radius:var(--r);
}
.body code{
  font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:15px;
  padding:1px 5px;
  border-radius:var(--r);
  background:rgba(0,255,255,.12);
}

/* 页脚 */
.foot{
  position:relative;
  z-index:1;
  border-top:1px solid var(--line);
  background:rgba(9,17,10,.92);
}
.foot-row{
  max-width:1180px;
  margin:0 auto;
  padding:12px 18px 20px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 16px;
}
.fbrand{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--neon);
  font-weight:600;
  letter-spacing:.05em;
  text-decoration:none;
}
.fnav dl{display:flex;flex-wrap:wrap;gap:0 2px;margin:0}
.fnav dt{margin:0}
.fnav dd{margin:0;display:none}
.fnav a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 8px;
  border-radius:var(--r);
  color:var(--dim);
  font-size:16px;
  text-decoration:none;
}
.fnav a:hover,.fnav a:focus-visible{color:var(--cyan)}
.copy{margin:0 0 0 auto;color:var(--dim);font-size:16px}

/* 动效 */
.rv{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.rv.in{opacity:1;transform:none}

@media (min-width:900px){
  .shell{grid-template-columns:252px minmax(0,1fr);gap:44px;padding:60px 0 88px}
  .side{position:sticky;top:88px}
  .hero-copy{padding:60px 24px 80px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
}

button[aria-expanded]{min-width:44px;min-height:44px}
