/* ============================================================
   GFile — sections.css
   01 Why / 02 架构 / 03 角色 / 04 共识 / 05 证明 / 06 经济
   07 开发者 / 08 路线图 / CTA / Footer
   ============================================================ */

/* ---------- 图标体系：圆润饱满（填充体 + 真挖空） ---------- */
.ic{
  fill:none;stroke:currentColor;
  stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
  transition:color .35s;
}
.ic .f{fill:currentColor;stroke:none}
.ic .fr{fill:currentColor;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
.ic .f2{fill:currentColor;stroke:none;opacity:.5}
.ic .f3{fill:currentColor;stroke:none;opacity:.28}
.ic .hl{fill:var(--amber);stroke:none}

/* ---------- 01 WHY ---------- */
.pain-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
}
.pain-card{
  position:relative;padding:34px 30px;border-radius:var(--rad);
  background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.008));
  border:1px solid var(--line);
  transition:transform .45s var(--ease),border-color .45s,box-shadow .45s;
}
.pain-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,93,115,.45);
  box-shadow:0 24px 60px -20px rgba(255,93,115,.25);
}
.pain-card .ic{width:34px;height:34px;color:var(--red);margin-bottom:20px}
.pain-card h3{font-size:19px;font-weight:900;margin-bottom:10px}
.pain-card p{font-size:14.5px;color:var(--dim)}

.why-bridge{
  text-align:center;font-size:clamp(17px,1.8vw,21px);
  max-width:760px;margin:64px auto 40px;color:var(--dim);
  line-height:1.9;
}
.why-bridge b{color:var(--txt)}

.pillars{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.pillar{
  position:relative;padding:28px 24px;border-radius:14px;
  border:1px solid var(--line);background:rgba(255,255,255,.018);
  transition:transform .45s var(--ease),border-color .45s,background .45s;
  overflow:hidden;
}
.pillar::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(420px 140px at 20% 0%,var(--cyan-soft),transparent 70%);
  opacity:0;transition:opacity .45s;
}
.pillar:hover{transform:translateY(-5px);border-color:rgba(63,224,200,.45)}
.pillar:hover::before{opacity:1}
.p-no{
  font-family:var(--fd);font-size:12px;color:var(--cyan);
  letter-spacing:.2em;display:block;margin-bottom:14px;
}
.pillar h3{font-size:17px;font-weight:900;margin-bottom:8px;position:relative}
.pillar p{font-size:13.5px;color:var(--dim);position:relative}
.pillar p b{color:var(--txt)}
.p-link{
  display:inline-block;margin-top:16px;font-size:12px;
  color:var(--cyan);opacity:.7;transition:opacity .3s,transform .3s;
}
.pillar:hover .p-link{opacity:1;transform:translateX(4px)}

/* ---------- 02 架构 ---------- */
.arch-wrap{
  display:grid;grid-template-columns:1.08fr .92fr;
  gap:clamp(28px,4vw,56px);align-items:stretch;
}
.arch-stack{
  position:relative;display:flex;flex-direction:column;gap:12px;
}
.arch-spine{
  position:absolute;left:30px;top:14px;bottom:14px;width:2px;
  background:linear-gradient(var(--cyan),rgba(63,224,200,.08) 85%);
  opacity:.5;pointer-events:none;
}
.arch-spine .packet{
  position:absolute;left:-3px;width:8px;height:8px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 10px var(--cyan);
  animation:travel 5.5s linear infinite;
}
.arch-spine .packet.up{
  background:var(--amber);box-shadow:0 0 10px var(--amber);
  animation-name:travelUp;
}
.pk1{animation-delay:0s}.pk2{animation-delay:1.4s}.pk3{animation-delay:2.8s}
.pk4{animation-delay:.7s}.pk5{animation-delay:2.1s}
@keyframes travel{0%{top:-4%;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:102%;opacity:0}}
@keyframes travelUp{0%{top:102%;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:-4%;opacity:0}}

.arch-layer{
  position:relative;display:grid;
  grid-template-columns:40px 1fr;grid-template-rows:auto auto;
  column-gap:18px;row-gap:2px;align-items:center;
  padding:18px 22px 18px 26px;border-radius:14px;text-align:left;
  border:1px solid var(--line);
  background:linear-gradient(90deg,rgba(255,255,255,.022),rgba(255,255,255,.004));
  transition:border-color .35s,background .35s,transform .35s var(--ease),box-shadow .35s;
}
.arch-layer .ic{grid-row:span 2;width:26px;height:26px;color:var(--dim)}
.a-name{font-weight:900;font-size:16.5px;letter-spacing:.02em}
.a-tag{font-size:11px;color:var(--dim2);letter-spacing:.05em}
.a-badge{
  position:absolute;top:-9px;right:16px;
  font-size:9.5px;letter-spacing:.2em;color:var(--amber);
  border:1px solid rgba(255,180,84,.4);border-radius:999px;
  padding:3px 10px;background:var(--bg0);
}
.arch-layer:hover{border-color:var(--line2);transform:translateX(6px)}
.arch-layer.is-active{
  border-color:rgba(63,224,200,.55);
  background:linear-gradient(90deg,rgba(63,224,200,.10),rgba(63,224,200,.02));
  box-shadow:0 0 0 1px rgba(63,224,200,.18),0 18px 44px -18px rgba(63,224,200,.35);
  transform:translateX(6px);
}
.arch-layer.is-active .ic{color:var(--cyan)}
.arch-layer.is-active .a-tag{color:var(--dim)}

.arch-detail{
  border:1px solid var(--line);border-radius:var(--rad);
  background:linear-gradient(180deg,var(--bg2),var(--bg1));
  padding:clamp(28px,3vw,40px);
  display:flex;flex-direction:column;
  min-height:380px;position:relative;overflow:hidden;
}
.arch-detail::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,var(--cyan),transparent 60%);
  opacity:.6;
}
.ad-no{font-size:10.5px;letter-spacing:.3em;color:var(--dim2);margin-bottom:14px}
.arch-detail h3{font-size:clamp(21px,2vw,26px);font-weight:900;margin-bottom:14px}
.arch-detail p{color:var(--dim);font-size:15px;margin-bottom:22px}
.arch-detail ul{margin-top:auto}
.arch-detail ul li{
  position:relative;padding:9px 0 9px 26px;
  font-size:14px;color:var(--txt);
  border-top:1px dashed var(--line);
}
.arch-detail ul li::before{
  content:"✓";position:absolute;left:0;top:9px;
  color:var(--cyan);font-family:var(--fm);font-size:13px;
}

.arch-nots{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin-top:clamp(40px,5vw,60px);
}
.not-card{
  padding:26px;border-radius:14px;
  border:1px dashed var(--line2);
  background:rgba(255,255,255,.012);
}
.not-card h4{font-size:14px;font-weight:700;color:var(--cyan);margin-bottom:12px}
.not-card p{font-size:13.5px;color:var(--dim)}
.not-card p b{color:var(--txt)}
.not-card .mono{color:var(--txt);font-size:12.5px;line-height:2}
.not-flag{
  display:inline-block;margin-top:14px;
  font-family:var(--fm);font-size:10.5px;letter-spacing:.15em;
  color:var(--amber);border:1px solid rgba(255,180,84,.4);
  border-radius:999px;padding:5px 12px;background:var(--amber-soft);
}

/* ---------- 03 角色 ---------- */
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.role-card{
  position:relative;padding:34px 30px;border-radius:var(--rad);
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.006));
  transition:transform .5s var(--ease),border-color .5s,box-shadow .5s;
  will-change:transform;
}
.role-card:hover{transform:translateY(-8px)}
.rc-storage:hover{border-color:rgba(63,224,200,.5);box-shadow:0 30px 70px -24px rgba(63,224,200,.3)}
.rc-access:hover{border-color:rgba(90,169,255,.5);box-shadow:0 30px 70px -24px rgba(90,169,255,.3)}
.rc-validator:hover{border-color:rgba(255,180,84,.5);box-shadow:0 30px 70px -24px rgba(255,180,84,.3)}
.role-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.role-card .ic{width:34px;height:34px;color:var(--cyan)}
.rc-access .ic{color:var(--blue)}
.rc-validator .ic{color:var(--amber)}
.role-tag{
  font-size:9.5px;letter-spacing:.22em;color:var(--dim2);
  border:1px solid var(--line);border-radius:999px;padding:5px 12px;
}
.role-card h3{font-size:22px;font-weight:900;margin-bottom:14px}
.role-do{font-size:14.5px;color:var(--dim);margin-bottom:20px;min-height:66px}
.role-do b{color:var(--txt)}
.role-earn{
  font-size:13px;color:var(--txt);
  background:rgba(0,0,0,.32);border:1px solid var(--line);
  border-radius:12px;padding:16px;line-height:1.8;
}
.role-earn .re-k{
  display:block;font-size:9.5px;letter-spacing:.25em;
  color:var(--amber);margin-bottom:6px;
}
.role-earn i{color:var(--cyan);padding:0 4px}
.role-note{font-size:12.5px;color:var(--dim2);margin-top:16px}

.vs-strip{
  margin-top:clamp(44px,6vw,64px);
  display:grid;grid-template-columns:1fr auto 1fr;gap:26px;align-items:center;
}
.vs-col{
  padding:30px;border-radius:16px;border:1px solid var(--line);
  background:rgba(255,255,255,.015);
}
.vs-col h4{font-size:16px;font-weight:900;margin-bottom:16px}
.vs-col ul li{
  position:relative;padding:7px 0 7px 28px;
  font-size:14px;color:var(--dim);
}
.vs-old ul li::before{
  content:"✕";position:absolute;left:0;
  color:var(--red);font-family:var(--fm);font-size:13px;opacity:.85;
}
.vs-new ul li::before{
  content:"✓";position:absolute;left:0;
  color:var(--cyan);font-family:var(--fm);font-size:13px;
}
.vs-old{opacity:.62;filter:saturate(.6)}
.vs-new{
  border-color:rgba(63,224,200,.4);
  background:linear-gradient(180deg,rgba(63,224,200,.07),rgba(63,224,200,.015));
}
.vs-new h4{color:var(--cyan)}
.vs-mid{
  font-family:var(--fd);font-size:15px;color:var(--dim2);letter-spacing:.2em;
}

/* ---------- 04 共识 ---------- */
.cons-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cons-card{
  padding:36px;border-radius:var(--rad);
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.006));
}
.cons-badge{
  display:inline-block;font-family:var(--fd);font-size:13px;
  padding:8px 18px;border-radius:10px;margin-bottom:22px;
  color:var(--cyan);border:1px solid rgba(63,224,200,.4);
  background:var(--cyan-soft);box-shadow:0 0 24px -6px rgba(63,224,200,.4);
}
.cons-card:last-child .cons-badge{
  color:var(--amber);border-color:rgba(255,180,84,.4);
  background:var(--amber-soft);box-shadow:0 0 24px -6px rgba(255,180,84,.4);
}
.cons-card h3{font-size:20px;font-weight:900;margin-bottom:18px}
.cons-list li{
  position:relative;padding:9px 0 9px 24px;
  color:var(--dim);font-size:14.5px;border-top:1px dashed var(--line);
}
.cons-list li::before{
  content:"▸";position:absolute;left:0;color:var(--cyan);
}
.cons-card:last-child .cons-list li::before{color:var(--amber)}

.finality-demo{
  margin-top:26px;padding:32px;border-radius:var(--rad);
  border:1px solid var(--line);background:rgba(255,255,255,.012);
  display:grid;grid-template-columns:auto 1fr auto;
  gap:clamp(24px,4vw,56px);align-items:center;
}
.f-blocks{display:flex;gap:10px}
.f-b{
  width:62px;height:62px;border-radius:12px;
  display:grid;place-items:center;
  font-family:var(--fm);font-size:13px;color:var(--dim2);
  border:1px solid var(--line);background:rgba(255,255,255,.02);
  transition:all .5s var(--ease);
}
.f-b.done{border-color:rgba(63,224,200,.5);color:var(--cyan);background:var(--cyan-soft)}
.f-b.sealed{
  border-color:var(--cyan);color:#04211c;background:var(--cyan);
  box-shadow:0 0 26px -4px rgba(63,224,200,.7);font-weight:600;
}
.f-votes{display:flex;flex-direction:column;gap:14px}
.f-vote{display:grid;grid-template-columns:52px 1fr 44px;align-items:center;gap:14px}
.f-vote-k{font-size:11px;color:var(--dim2)}
.f-vote-v{font-size:11px;color:var(--cyan);text-align:right}
.f-bar{height:5px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden}
.f-bar i{
  display:block;height:100%;width:0;border-radius:4px;
  background:linear-gradient(90deg,var(--cyan),#22b8d9);
  transition:width .9s var(--ease);
}
.f-final{
  font-size:12.5px;letter-spacing:.1em;color:var(--green);
  border:1px solid rgba(61,220,151,.4);border-radius:999px;
  padding:12px 22px;opacity:0;transform:scale(.92);
  transition:opacity .5s,transform .5s var(--ease),box-shadow .5s;
  white-space:nowrap;
}
.f-final.show{
  opacity:1;transform:none;
  box-shadow:0 0 30px -6px rgba(61,220,151,.5);
}

.slash-strip{
  margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;
  padding:22px 28px;border-radius:14px;
  border:1px dashed rgba(255,93,115,.35);background:rgba(255,93,115,.05);
}
.slash-k{
  font-size:10.5px;letter-spacing:.3em;color:var(--red);
  margin-right:8px;
}
.slash-item{
  font-size:13.5px;color:var(--txt);
  border:1px solid rgba(255,93,115,.35);border-radius:999px;
  padding:7px 16px;background:rgba(255,93,115,.08);
}
.slash-note{font-size:12.5px;color:var(--dim2);margin-left:auto}

.cons-quote{
  margin:60px auto 0;max-width:720px;text-align:center;
  font-size:clamp(19px,2.2vw,25px);font-weight:700;line-height:1.7;
}
.cons-quote b{color:var(--amber)}
.cons-quote footer{
  margin-top:16px;font-family:var(--fm);
  font-size:11px;letter-spacing:.25em;color:var(--dim2);
}

/* ---------- 05 证明 ---------- */
.proof-grid{
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(24px,3vw,40px);
  align-items:start;
}
.pipeline-card,.por-card,.ds-card{
  border:1px solid var(--line);border-radius:var(--rad);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005));
}
.pipeline-card{padding:30px clamp(20px,2.6vw,34px) 26px}
.pc-head{
  font-size:11px;letter-spacing:.28em;color:var(--cyan);
  margin-bottom:20px;
}
.pl-steps li{
  display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:center;
  padding:12px 0;border-top:1px dashed var(--line);
  opacity:.32;transition:opacity .5s;
}
.pl-steps li:first-child{border-top:none}
.pl-steps li.done{opacity:1}
.pl-steps li.now{opacity:1}
.pl-idx{
  width:38px;height:38px;display:grid;place-items:center;
  font-size:12px;color:var(--dim2);
  border:1px solid var(--line);border-radius:11px;
  transition:all .4s;
}
.pl-steps li.done .pl-idx{
  color:var(--cyan);border-color:rgba(63,224,200,.5);background:var(--cyan-soft);
}
.pl-steps li.now .pl-idx{
  color:#04211c;background:var(--cyan);border-color:var(--cyan);
  box-shadow:0 0 20px -4px rgba(63,224,200,.8);
}
.pl-steps h4{font-size:15px;font-weight:700}
.pl-steps p{font-size:12.5px;color:var(--dim2);margin-top:2px}
.pl-progress{
  height:4px;border-radius:4px;margin-top:18px;
  background:rgba(255,255,255,.07);overflow:hidden;
}
.pl-progress i{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--cyan),var(--amber));
  transition:width 1.1s var(--ease);
}

.proof-side{display:flex;flex-direction:column;gap:20px}
.por-card,.ds-card{padding:26px 28px}
.por-head{font-size:11px;letter-spacing:.28em;color:var(--amber);margin-bottom:18px}
.por-screen{
  background:#03060b;border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;height:158px;overflow:hidden;
  font-size:11.5px;line-height:2;color:var(--dim);
}
.por-screen .ps-ch{color:var(--amber)}
.por-screen .ps-ok{color:var(--green)}
.por-screen .ps-bad{color:var(--red)}
.por-screen .ps-rw{color:var(--cyan)}
.por-card .btn{margin-top:16px}
.por-note{font-size:12.5px;color:var(--dim2);margin-top:14px}

.ds-flow{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  padding:8px 0 4px;
}
.ds-chip{
  font-size:13px;color:var(--dim);
  border:1px solid var(--line);border-radius:999px;
  padding:9px 18px;transition:all .45s var(--ease);
}
.ds-chip.on{
  color:var(--cyan);border-color:rgba(63,224,200,.55);
  background:var(--cyan-soft);box-shadow:0 0 18px -6px rgba(63,224,200,.6);
}
.ds-plus,.ds-arrow{color:var(--dim2);font-size:14px}
.ds-unlock{
  font-size:13px;color:var(--dim2);
  border:1px dashed var(--line2);border-radius:999px;
  padding:9px 18px;transition:all .45s var(--ease);
}
.ds-unlock.on{
  color:#2b1a05;background:var(--amber);border-color:var(--amber);
  box-shadow:0 0 22px -4px rgba(255,180,84,.75);font-weight:700;
}

.privacy-strip{
  margin-top:clamp(36px,5vw,56px);
  display:flex;gap:22px;align-items:center;
  border:1px dashed rgba(255,180,84,.4);
  background:linear-gradient(90deg,rgba(255,180,84,.07),rgba(255,180,84,.02));
  border-radius:var(--rad);padding:26px clamp(22px,3vw,34px);
}
.privacy-strip .ic{width:38px;height:38px;flex-shrink:0;color:var(--amber)}
.privacy-strip p{font-size:15px;color:var(--dim)}
.privacy-strip b{color:var(--txt)}

/* ---------- 06 代币经济 ---------- */
.tok-grid{
  display:grid;grid-template-columns:440px 1fr;
  gap:clamp(32px,4vw,60px);align-items:start;
}
.donut-card{
  border:1px solid var(--line);border-radius:var(--rad);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005));
  padding:34px 30px;
}
.donut-wrap{position:relative;width:238px;margin:0 auto 26px}
#donut{width:238px;height:238px;transform:rotate(-90deg)}
.dseg{
  fill:none;stroke-width:26;stroke-linecap:butt;
  transition:stroke-dasharray 1.2s var(--ease),opacity .35s,stroke-width .35s;
  cursor:pointer;
}
#donut.focus .dseg{opacity:.22}
#donut.focus .dseg:hover{opacity:1;stroke-width:30}
#donut.focus .dseg.lit{opacity:1;stroke-width:30}
.donut-hole{fill:var(--bg1)}
.donut-center{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  pointer-events:none;
}
.dc-v{font-family:var(--fd);font-size:24px;font-weight:500;color:var(--txt)}
.dc-k{font-size:12px;color:var(--dim2);margin-top:6px}
.donut-legend li{
  display:grid;grid-template-columns:14px 1fr auto;gap:12px;align-items:center;
  padding:11px 10px;border-top:1px dashed var(--line);
  cursor:pointer;transition:background .3s;
}
.donut-legend li:hover{background:rgba(255,255,255,.03)}
.donut-legend li i{
  width:12px;height:12px;border-radius:4px;background:var(--c);
  box-shadow:0 0 10px -2px var(--c);
}
.donut-legend li span{font-size:13.5px;color:var(--dim)}
.donut-legend li b{font-size:13px;color:var(--txt)}

.tok-side{display:flex;flex-direction:column;gap:20px}
.fee-card,.calc-card{
  border:1px solid var(--line);border-radius:var(--rad);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005));
  padding:28px clamp(20px,2.6vw,32px);
}
.fee-head{font-size:11px;letter-spacing:.28em;color:var(--cyan);margin-bottom:20px}
.calc-card .fee-head{color:var(--amber)}
.fee-formula{
  font-size:15px;color:var(--dim2);display:flex;flex-wrap:wrap;
  align-items:center;gap:8px;line-height:2.4;
}
.fee-formula span{
  color:var(--txt);font-size:13.5px;
  background:rgba(255,255,255,.045);border:1px solid var(--line);
  border-radius:9px;padding:4px 13px;
}
.fee-note{font-size:13px;color:var(--dim2);margin-top:16px;line-height:1.8}

.calc-row{margin-bottom:18px}
.calc-row label{
  display:flex;justify-content:space-between;
  font-size:13.5px;color:var(--dim);margin-bottom:10px;
}
.calc-row output{color:var(--cyan);font-size:13px}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;
  border-radius:4px;outline:none;cursor:pointer;
  background:linear-gradient(90deg,var(--cyan) var(--v,50%),rgba(255,255,255,.08) var(--v,50%));
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:17px;height:17px;border-radius:50%;
  background:var(--cyan);border:3px solid #04211c;
  box-shadow:0 0 14px -2px rgba(63,224,200,.9);
}
input[type=range]::-moz-range-thumb{
  width:17px;height:17px;border-radius:50%;border:3px solid #04211c;
  background:var(--cyan);box-shadow:0 0 14px -2px rgba(63,224,200,.9);
}
.calc-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 18px}
.calc-selects select{
  width:100%;background:var(--bg2);color:var(--txt);
  border:1px solid var(--line2);border-radius:11px;
  padding:11px 12px;font-size:13.5px;outline:none;
  transition:border-color .3s;
}
.calc-selects select:focus{border-color:rgba(63,224,200,.5)}
.calc-break{
  font-size:12px;color:var(--dim2);line-height:1.9;
  min-height:22px;margin-bottom:14px;
}
.calc-break b{color:var(--cyan);font-weight:400}
.calc-out{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
  border-top:1px dashed var(--line);padding-top:18px;
}
.co-k{display:block;font-size:11.5px;color:var(--dim2);margin-bottom:6px}
.co-v{font-family:var(--fd);font-size:19px;color:var(--cyan)}
.co-v.big{color:var(--amber);font-size:21px}
.calc-note{font-size:10.5px;color:var(--dim2);margin-top:16px;letter-spacing:.04em}

.lifecycle{
  margin-top:clamp(40px,5vw,60px);padding-top:28px;
  border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;
}
.lif-k{font-size:10.5px;letter-spacing:.3em;color:var(--cyan);margin-right:10px}
.lif-item{
  font-size:13px;color:var(--dim);
  border:1px solid var(--line);border-radius:999px;padding:8px 18px;
  transition:border-color .3s,color .3s;
}
.lif-item:hover{border-color:rgba(63,224,200,.5);color:var(--cyan)}

/* ---------- 07 开发者 ---------- */
.dev-chips{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:clamp(36px,5vw,52px)}
.chip{
  font-size:12.5px;color:var(--dim);
  border:1px solid var(--line);border-radius:999px;
  padding:9px 18px;letter-spacing:.03em;
  transition:color .3s,border-color .3s,background .3s;
}
.chip:hover{
  color:var(--cyan);border-color:rgba(63,224,200,.5);background:var(--cyan-soft);
}
.dev-grid{
  display:grid;grid-template-columns:370px 1fr;
  gap:clamp(24px,3vw,40px);align-items:start;
}
.dn-card{
  border:1px solid var(--line);border-radius:var(--rad);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005));
  padding:28px;margin-bottom:20px;
}
.dn-card h4{font-size:15px;font-weight:900;margin-bottom:12px}
.dn-card p{font-size:14px;color:var(--dim)}
.dn-card p b{color:var(--amber)}
.bridge-steps{margin-bottom:14px}
.bridge-steps li{
  font-family:var(--fm);font-size:13px;color:var(--dim2);
  border:1px solid var(--line);border-radius:11px;
  padding:11px 16px;margin-bottom:10px;
  opacity:.45;transition:all .5s var(--ease);
}
.bridge-steps li.is-on{
  opacity:1;color:var(--cyan);
  border-color:rgba(63,224,200,.5);background:var(--cyan-soft);
}

.code-card{
  border:1px solid var(--line2);border-radius:var(--rad);
  background:#050b13;overflow:hidden;
  box-shadow:0 30px 90px -30px rgba(0,0,0,.7);
}
.code-tabs{
  display:flex;align-items:center;border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.018);
}
.ct{
  padding:15px 20px;font-size:13.5px;color:var(--dim2);
  border-bottom:2px solid transparent;
  transition:color .3s,border-color .3s,background .3s;
  white-space:nowrap;
}
.ct:hover{color:var(--dim)}
.ct.is-active{
  color:var(--cyan);border-bottom-color:var(--cyan);
  background:rgba(63,224,200,.05);
}
.copy-btn{
  margin-left:auto;margin-right:14px;
  font-size:10.5px;letter-spacing:.15em;color:var(--dim2);
  border:1px solid var(--line);border-radius:8px;padding:6px 13px;
  transition:all .3s;
}
.copy-btn:hover{color:var(--cyan);border-color:rgba(63,224,200,.5)}
.copy-btn.copied{color:#04211c;background:var(--green);border-color:var(--green)}
.code-body{
  padding:24px 26px;min-height:320px;overflow:auto;
  font-size:13px;line-height:2;white-space:pre;
}
.code-body code{font-family:var(--fm)}
.tk{color:#c792ea}
.ts{color:#3fe0c8}
.tc{color:#5c6d82;font-style:italic}
.tf{color:#ffb454}
.tn{color:#5aa9ff}
.code-foot{
  border-top:1px solid var(--line);padding:13px 22px;
  font-size:11px;color:var(--dim2);letter-spacing:.04em;
  background:rgba(255,255,255,.015);
}

/* ---------- 08 路线图 ---------- */
.tl{position:relative;max-width:920px;margin:0 auto;padding:14px 0 6px}
.tl-line{
  position:absolute;left:50%;top:0;bottom:0;width:2px;
  margin-left:-1px;background:rgba(146,180,220,.12);overflow:hidden;
}
.tl-line i{
  display:block;width:100%;height:100%;
  background:linear-gradient(var(--cyan),var(--amber));
  transform:scaleY(var(--p,0));transform-origin:top;
  box-shadow:0 0 14px rgba(63,224,200,.5);
}
.tl-item{
  position:relative;width:50%;padding:0 48px 52px 0;
}
.tl-item.right{margin-left:50%;padding:0 0 52px 48px}
.tl-node{
  position:absolute;top:10px;right:-10px;z-index:2;
  width:20px;height:20px;border-radius:50%;
  background:var(--bg0);border:2px solid rgba(146,180,220,.3);
  transition:all .5s var(--ease);
}
.tl-item.right .tl-node{right:auto;left:-10px}
.tl-node.active{border-color:var(--pc);box-shadow:0 0 0 5px color-mix(in srgb,var(--pc) 18%,transparent),0 0 20px -2px var(--pc)}
.tl-node.active::after{
  content:"";position:absolute;inset:4px;border-radius:50%;
  background:var(--pc);
}
.tl-node[data-phase="chain"]{--pc:var(--cyan)}
.tl-node[data-phase="proof"]{--pc:var(--blue)}
.tl-node[data-phase="access"]{--pc:var(--amber)}
.tl-node[data-phase="bridge"]{--pc:#ff8a5c}
.tl-card{
  border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.004));
  padding:24px 26px;transition:border-color .4s,transform .4s var(--ease);
}
.tl-card:hover{border-color:var(--line2);transform:translateY(-3px)}
.tl-meta{
  display:flex;justify-content:space-between;align-items:center;
  font-size:10.5px;letter-spacing:.18em;color:var(--dim2);margin-bottom:12px;
}
.tl-meta b{font-weight:600}
.ph-chain{color:var(--cyan)}
.ph-proof{color:var(--blue)}
.ph-access{color:var(--amber)}
.ph-bridge{color:#ff8a5c}
.tl-card h3{font-size:18px;font-weight:900;margin-bottom:8px}
.tl-card p{font-size:13.5px;color:var(--dim)}

/* ---------- CTA ---------- */
.start{position:relative;padding:clamp(90px,12vw,150px) 0;overflow:hidden}
.start-glow{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:900px;height:520px;border-radius:50%;filter:blur(110px);
  background:radial-gradient(closest-side,rgba(63,224,200,.13),rgba(255,180,84,.07) 55%,transparent);
  pointer-events:none;
}
.start-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:26px}
.start-card{
  position:relative;display:block;overflow:hidden;
  padding:clamp(34px,4vw,52px);border-radius:22px;
  border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(255,255,255,.03),rgba(255,255,255,.006));
  transition:transform .5s var(--ease),border-color .5s,box-shadow .5s;
}
.start-card::after{
  content:"";position:absolute;right:-80px;bottom:-80px;
  width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,var(--cyan-soft),transparent 70%);
  opacity:0;transition:opacity .5s;
}
.start-card:hover{
  transform:translateY(-6px);border-color:rgba(63,224,200,.5);
  box-shadow:0 40px 90px -30px rgba(63,224,200,.3);
}
.start-card:hover::after{opacity:1}
.start-card.alt::after{
  background:radial-gradient(circle,var(--amber-soft),transparent 70%);
}
.start-card.alt:hover{
  border-color:rgba(255,180,84,.5);
  box-shadow:0 40px 90px -30px rgba(255,180,84,.28);
}
.sc-k{
  font-size:10.5px;letter-spacing:.3em;color:var(--cyan);display:block;margin-bottom:22px;
}
.start-card.alt .sc-k{color:var(--amber)}
.start-card h2{
  font-size:clamp(26px,2.8vw,36px);font-weight:900;
  line-height:1.3;margin-bottom:16px;
}
.start-card p{font-size:14.5px;color:var(--dim);max-width:400px}
.start-link{
  display:inline-block;margin-top:30px;font-size:13px;
  color:var(--cyan);letter-spacing:.1em;
}
.start-card.alt .start-link{color:var(--amber)}
.start-card:hover .start-link{animation:nudge .8s var(--ease)}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}

/* ---------- Footer ---------- */
.footer{border-top:1px solid var(--line);background:#03060a;padding-top:clamp(56px,7vw,80px)}
.footer-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;
  gap:clamp(28px,4vw,48px);
}
.f-brand p{font-size:14px;color:var(--dim);margin-top:18px;line-height:1.9}
.f-col h5{
  font-family:var(--fm);font-size:10.5px;letter-spacing:.28em;
  color:var(--dim2);text-transform:uppercase;margin-bottom:18px;
}
.f-col a{
  display:block;padding:5px 0;font-size:14px;color:var(--dim);
  transition:color .3s,transform .3s;
}
.f-col a:hover{color:var(--cyan);transform:translateX(4px)}
.f-note p{font-size:12.5px;color:var(--dim2);line-height:1.9}
.f-bottom{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  border-top:1px solid var(--line);margin-top:clamp(40px,6vw,60px);
  padding:24px 0 30px;
  font-size:10.5px;letter-spacing:.12em;color:var(--dim2);
}

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .arch-wrap{grid-template-columns:1fr}
  .arch-detail{min-height:0}
  .proof-grid{grid-template-columns:1fr}
  .tok-grid{grid-template-columns:1fr}
  .donut-wrap{margin-bottom:20px}
  .dev-grid{grid-template-columns:1fr}
  .pillars{grid-template-columns:repeat(2,1fr)}
  .finality-demo{grid-template-columns:1fr;justify-items:start;gap:24px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .pain-grid,.role-grid{grid-template-columns:1fr}
  .role-do{min-height:0}
  .cons-grid{grid-template-columns:1fr}
  .vs-strip{grid-template-columns:1fr}
  .vs-mid{transform:rotate(90deg);justify-self:center}
  .arch-nots{grid-template-columns:1fr}
  .start-grid{grid-template-columns:1fr}
  .tl-line{left:10px}
  .tl-item,.tl-item.right{width:100%;margin-left:0;padding:0 0 44px 46px}
  .tl-node,.tl-item.right .tl-node{left:1px;right:auto}
  .slash-note{margin-left:0;width:100%}
  .ds-flow{align-items:flex-start;flex-direction:column}
  .ds-plus,.ds-arrow{display:none}
}
@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr}
  .calc-selects{grid-template-columns:1fr}
  .calc-out{grid-template-columns:1fr}
  .hero-stats{gap:18px}
  .code-tabs{flex-wrap:wrap}
  .ct{padding:11px 14px;font-size:12.5px}
  .f-b{width:52px;height:52px}
}

/* ---------- 无动画偏好补充 ---------- */
@media (prefers-reduced-motion:reduce){
  .arch-spine .packet{display:none}
  .tl-line i{transition:none}
}
