/* ═══ NEXUS × 阜博集团 战略合作白皮书 CSS ═══ */
/* 基于 LONXANG 品牌全案UI设计体系手册 v1.0 · 科技/安全主题 */
:root{
  --b:#0a0e1a;--b2:#111827;--b3:#1a2332;
  --t:#f1f5f9;--t2:#94a3b8;--t3:#64748b;
  --a:#06b6d4;--a2:#22d3ee;--a3:#67e8f9;
  --g:#10b981;--g2:#34d399;--p:#8b5cf6;--p2:#a78bfa;
  --c:#06b6d4;--c2:#22d3ee;--r:#ef4444;--pk:#ec4899;
  --bl:#3b82f6;--bl2:#60a5fa;--gold:#f59e0b;--gold2:#fbbf24;
  --rd:16px;--rd2:10px;--tr:.3s ease;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--b);color:var(--t);font:400 .88rem/1.7 'Segoe UI','Microsoft YaHei',system-ui,sans-serif;overflow-x:hidden}
::selection{background:var(--a);color:#fff}
.w{max-width:1200px;margin:auto;padding:0 1.5rem}

/* ══ AUTH OVERLAY ══ */
#auth-overlay{position:fixed;inset:0;z-index:9999;background:#050811;display:flex;align-items:center;justify-content:center;transition:opacity .8s,visibility .8s}
#auth-overlay.hide{opacity:0;visibility:hidden;pointer-events:none}
#auth-canvas{position:absolute;inset:0}
.auth-card{position:relative;z-index:1;width:min(440px,90vw);padding:2.5rem;border-radius:20px;background:rgba(10,14,26,.65);backdrop-filter:blur(32px);border:1px solid rgba(6,182,212,.12);box-shadow:0 0 80px rgba(6,182,212,.06),0 0 160px rgba(139,92,246,.04);text-align:center}
.auth-card::before{content:'';position:absolute;inset:-1px;border-radius:20px;background:radial-gradient(ellipse at 30% 20%,rgba(6,182,212,.12),transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(139,92,246,.1),transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(59,130,246,.06),transparent 60%);z-index:-1;animation:auth-breathe 4s ease-in-out infinite}
@keyframes auth-breathe{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}
.auth-lock{font-size:3rem;margin-bottom:1rem;display:block}
.auth-logo{font-size:2rem;font-weight:900;background:linear-gradient(135deg,#fff,var(--a3),var(--a2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.3rem}
.auth-sub{font-size:.82rem;color:var(--t3);margin-bottom:2rem}
.auth-label{font-size:.75rem;color:var(--t2);text-align:left;display:block;margin-bottom:.5rem;letter-spacing:.05em;text-transform:uppercase}
.auth-input{width:100%;padding:.85rem 1.2rem;border-radius:12px;border:1.5px solid rgba(255,255,255,.08);background:rgba(0,0,0,.3);color:var(--t);font-size:1.1rem;font-weight:600;letter-spacing:.3em;text-align:center;outline:none;transition:var(--tr);font-family:inherit}
.auth-input:focus{border-color:var(--a);box-shadow:0 0 20px rgba(6,182,212,.2)}
.auth-input.err{border-color:var(--r);animation:shake .5s ease}
.auth-input.ok{border-color:var(--g);box-shadow:0 0 30px rgba(16,185,129,.2)}
.auth-btn{width:100%;padding:.85rem;border-radius:12px;border:none;background:linear-gradient(135deg,var(--a),#0891b2);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;margin-top:1.2rem;transition:var(--tr);position:relative;overflow:hidden}
.auth-btn:hover{box-shadow:0 4px 25px rgba(6,182,212,.4);transform:translateY(-1px)}
.auth-btn::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:none}
.auth-btn:hover::after{left:100%;transition:left .6s ease}
.auth-hint{font-size:.72rem;color:var(--t3);margin-top:1rem}
@keyframes shake{0%,100%{transform:translateX(0)}15%,45%,75%{transform:translateX(-8px)}30%,60%,90%{transform:translateX(8px)}}
@keyframes scanline{0%{top:-2px}100%{top:100%}}
.auth-scanline{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--a2),transparent);opacity:0;z-index:2;pointer-events:none}
.auth-card.scanning .auth-scanline{opacity:.6;animation:scanline 1s ease-in-out}
@keyframes shooting{0%{transform:translateX(0) translateY(0);opacity:1}100%{transform:translateX(300px) translateY(300px);opacity:0}}

/* ── 背景装饰 ── */
.grid-bg{position:fixed;inset:0;background:linear-gradient(rgba(6,182,212,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(6,182,212,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}
.orb{position:fixed;border-radius:50%;filter:blur(120px);opacity:.12;pointer-events:none;z-index:0}
.orb.a{width:600px;height:600px;background:var(--a);top:-200px;right:-200px}
.orb.b{width:500px;height:500px;background:var(--p);bottom:-150px;left:-150px}
.orb.c{width:400px;height:400px;background:var(--bl);top:50%;left:50%;transform:translate(-50%,-50%)}

/* ── 头部 ── */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:12px 28px;background:rgba(10,14,26,.92);backdrop-filter:blur(20px);border-bottom:1px solid rgba(6,182,212,.1);transform:translateY(-100%);transition:transform .3s ease}
.brand{font-size:1.1rem;font-weight:800;color:var(--a2);letter-spacing:2px}
.brand sub{font-size:.65rem;color:var(--t2);margin-left:4px;font-weight:400}
.conf{font-size:.7rem;color:var(--t3);letter-spacing:1px}

/* ── Hero ── */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:7rem 1.5rem 4rem;position:relative}
.eb{display:inline-block;padding:6px 20px;border:1px solid rgba(6,182,212,.3);border-radius:50px;font-size:.72rem;color:var(--a2);letter-spacing:2px;margin-bottom:1.5rem;background:rgba(6,182,212,.06)}
.ti{font-size:clamp(2rem,5vw,3.5rem);font-weight:900;line-height:1.2;margin-bottom:1rem;background:linear-gradient(135deg,var(--a2),var(--bl2),var(--p2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hs{font-size:clamp(.8rem,1.8vw,1rem);color:var(--t2);max-width:750px;line-height:1.8}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.2rem;margin-top:2.5rem;width:100%;max-width:800px}
.stat{text-align:center}
.ring{position:relative;width:96px;height:96px;margin:0 auto 8px}
.ring svg{width:100%;height:100%}
.rbg{fill:none;stroke:rgba(255,255,255,.06);stroke-width:3}
.rfg{fill:none;stroke-width:3;stroke-dasharray:264;stroke-dashoffset:40;stroke-linecap:round}
.rc{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center}
.rn{font-size:1.4rem;font-weight:800;line-height:1}
.ru{font-size:.55rem;color:var(--t3);margin-top:2px}
.lb{font-size:.68rem;color:var(--t2)}

/* ── Section头 ── */
.sh{text-align:center;padding:4rem 1.5rem 1.5rem}
.stag{display:inline-block;padding:4px 16px;border-radius:50px;font-size:.7rem;font-weight:700;letter-spacing:2px;margin-bottom:.8rem;color:var(--a);border:1px solid rgba(6,182,212,.25);background:rgba(6,182,212,.06)}
.stag.rd{color:var(--r);border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.06)}
.stag.gn{color:var(--g);border-color:rgba(16,185,129,.25);background:rgba(16,185,129,.06)}
.stag.pp{color:var(--p);border-color:rgba(139,92,246,.25);background:rgba(139,92,246,.06)}
.stag.gl{color:var(--gold);border-color:rgba(245,158,11,.25);background:rgba(245,158,11,.06)}
.sh h2{font-size:clamp(1.4rem,3.2vw,2rem);font-weight:800;color:var(--t)}
.sh p{color:var(--t2);font-size:.88rem;margin-top:.4rem}
.hl{background:linear-gradient(90deg,var(--a2),var(--a3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hl-g{background:linear-gradient(90deg,var(--g),var(--g2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hl-p{background:linear-gradient(90deg,var(--p),var(--p2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hl-gl{background:linear-gradient(90deg,var(--gold),var(--gold2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* ── KPI 行 ── */
.kr{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;max-width:1200px;margin:0 auto;padding:0 1.5rem}
.kpi{background:var(--b2);border:1px solid rgba(6,182,212,.12);border-top:3px solid var(--a);border-radius:var(--rd);padding:1.5rem;transition:var(--tr)}
.kpi:hover{border-color:var(--a);transform:translateY(-2px)}
.kpi.g{border-top-color:var(--g)}.kpi.p{border-top-color:var(--p)}.kpi.gl{border-top-color:var(--gold)}
.kl{font-size:.68rem;font-weight:700;color:var(--a);letter-spacing:1px;text-transform:uppercase;margin-bottom:.5rem}
.kpi.g .kl{color:var(--g)}.kpi.p .kl{color:var(--p)}.kpi.gl .kl{color:var(--gold)}
.kn{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;background:linear-gradient(135deg,var(--a2),var(--bl2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.kpi.g .kn{background:linear-gradient(135deg,var(--g),var(--g2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.kpi.p .kn{background:linear-gradient(135deg,var(--p),var(--p2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.kpi.gl .kn{background:linear-gradient(135deg,var(--gold),var(--gold2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ku{font-size:.7em;opacity:.7}
.kd{font-size:.78rem;color:var(--t2);margin-top:.5rem;line-height:1.6}
.khd{font-size:1rem;font-weight:700;color:var(--t);margin-bottom:.4rem}

/* ── 玻璃容器 ── */
.glass{background:rgba(17,24,39,.7);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:var(--rd);margin:0 auto;max-width:1200px}
.p32{padding:28px}
.mt24{margin-top:1.5rem}.mt28{margin-top:1.8rem}.mt70{margin-top:4rem}
.h3c{font-size:1.05rem;font-weight:700;margin-bottom:1rem;color:var(--t)}
.h3c.cyan{color:var(--a2)}.h3c.gold{color:var(--gold)}

/* ── 表格 ── */
.t{width:100%;border-collapse:collapse;font-size:.8rem}
.t th{text-align:left;padding:10px 12px;color:var(--t3);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid rgba(255,255,255,.08)}
.t td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--t2)}
.t tr:hover td{background:rgba(6,182,212,.03)}
.tcyan{color:var(--a2)!important;font-weight:700}
.tgold{color:var(--gold)!important;font-weight:700}
.tgreen{color:var(--g)!important;font-weight:700}
.tpurple{color:var(--p)!important;font-weight:700}
.pill{display:inline-block;padding:2px 10px;border-radius:50px;font-size:.68rem;font-weight:600}
.pill.ok{background:rgba(16,185,129,.12);color:var(--g)}
.pill.w{background:rgba(245,158,11,.12);color:var(--gold)}
.pill.x{background:rgba(239,68,68,.12);color:var(--r)}
.pill.s{background:rgba(6,182,212,.12);color:var(--a2)}
.pill.pp{background:rgba(139,92,246,.12);color:var(--p)}
.lbg{display:inline-block;padding:3px 10px;border-radius:6px;font-size:.72rem;font-weight:700}

/* ── 价值卡片 ── */
.vg{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem;max-width:1200px;margin:0 auto;padding:0 1.5rem}
.vc{background:var(--b2);border:1px solid rgba(255,255,255,.06);border-radius:var(--rd);padding:1.8rem;position:relative;overflow:hidden;transition:var(--tr)}
.vc:hover{border-color:var(--c);transform:translateY(-3px)}
.vc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--c)}
.vn{position:absolute;top:12px;right:16px;font-size:2.5rem;font-weight:900;opacity:.06;color:var(--c)}
.vt{font-size:.7rem;font-weight:700;color:var(--c);letter-spacing:1px;text-transform:uppercase}
.vtt{font-size:1.15rem;font-weight:800;color:var(--t);margin:.6rem 0;line-height:1.3}
.vh{font-size:1.3rem;font-weight:800;color:var(--c);margin-bottom:.8rem}
.vd{font-size:.78rem;color:var(--t2);line-height:1.7}

/* ── 对比指标网格 ── */
.ig{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}
.ic{background:var(--b);border-radius:var(--rd2);padding:1rem;text-align:center}
.icl{font-size:.68rem;color:var(--t3);margin-bottom:.4rem}
.icb{font-size:1rem;font-weight:700;color:var(--r);text-decoration:line-through;opacity:.6}
.arr{color:var(--a);font-size:.8rem;margin:.3rem 0}
.ica{font-size:1.2rem;font-weight:800;color:var(--a2)}
.icd{font-size:.68rem;color:var(--g);margin-top:.3rem;font-weight:600}

/* ── PE 阶梯 ── */
.pe{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;max-width:1200px;margin:0 auto;padding:0 1.5rem}
.ps{background:var(--b2);border-radius:var(--rd);padding:1.5rem;border-left:4px solid var(--a);transition:var(--tr)}
.ps:nth-child(2){border-left-color:var(--bl)}.ps:nth-child(3){border-left-color:var(--p)}.ps:nth-child(4){border-left-color:var(--gold)}
.ps:hover{transform:translateY(-2px)}
.pp{font-size:.7rem;font-weight:700;color:var(--a);letter-spacing:1px}
.ps:nth-child(2) .pp{color:var(--bl)}.ps:nth-child(3) .pp{color:var(--p)}.ps:nth-child(4) .pp{color:var(--gold)}
.ppe{font-size:1.8rem;font-weight:800;color:var(--t);margin:.3rem 0}
.pcp{font-size:.85rem;font-weight:700;color:var(--a2);margin-bottom:.4rem}
.pw{font-size:.72rem;color:var(--t3);line-height:1.5}

/* ── 场景块 ── */
.scn-block{max-width:1200px;margin:1.5rem auto;padding:0 1.5rem}
.scn-hd{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.scn-badge{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-weight:900;font-size:1rem;color:#fff;background:var(--c)}
.scn-name{font-size:1.1rem;font-weight:800;color:var(--t)}
.scn-tier{font-size:.75rem;color:var(--t3);font-weight:400;margin-left:6px}
.scn-desc{font-size:.78rem;color:var(--t2)}
.scn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}
.scnc{background:var(--b2);border:1px solid rgba(255,255,255,.06);border-radius:var(--rd2);padding:1.2rem;transition:var(--tr)}
.scnc:hover{border-color:var(--c);transform:translateY(-2px)}
.scnt{font-size:.88rem;font-weight:700;color:var(--t);margin-bottom:.5rem}
.scnd{font-size:.75rem;color:var(--t2);line-height:1.6;margin-bottom:.8rem}
.scnm{display:flex;gap:1.5rem}
.scnmv{font-size:1.1rem;font-weight:800;color:var(--c)}
.scnml{font-size:.62rem;color:var(--t3)}

/* ── 引用 ── */
.quote{padding:16px 20px;border-radius:var(--rd2);margin:1rem 0;font-size:.82rem;line-height:1.7}
.quote.cyan{background:rgba(6,182,212,.06);border-left:3px solid var(--a);color:var(--t2)}
.quote.gold{background:rgba(245,158,11,.06);border-left:3px solid var(--gold);color:var(--t2)}
.quote.red{background:rgba(239,68,68,.06);border-left:3px solid var(--r);color:var(--t2)}
.quote.purple{background:rgba(139,92,246,.06);border-left:3px solid var(--p);color:var(--t2)}

/* ── 流程 ── */
.fl{display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap;margin:1.5rem 0}
.fs{background:var(--b2);border:1px solid rgba(6,182,212,.15);border-radius:var(--rd2);padding:10px 18px;font-size:.78rem;font-weight:600;color:var(--t)}
.fa{color:var(--a);font-size:1.2rem}

/* ── 需求块 ── */
.dm{max-width:1200px;margin:2rem auto;padding:0 1.5rem}
.dmt{font-size:.78rem;font-weight:700;color:var(--a);margin-bottom:.8rem;letter-spacing:1px}
.di{background:var(--b2);border:1px solid rgba(6,182,212,.12);border-left:4px solid var(--a);border-radius:var(--rd);padding:1.5rem;font-size:.82rem;color:var(--t2);line-height:1.8}

/* ── 战略矩阵 ── */
.mx{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;max-width:1200px;margin:1rem auto;padding:0 1.5rem}
.mc{background:var(--b2);border:1px solid rgba(255,255,255,.06);border-radius:var(--rd);padding:1.5rem;transition:var(--tr);position:relative;overflow:hidden}
.mc:hover{border-color:var(--a);transform:translateY(-2px)}
.mc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;z-index:2}
.mc:nth-child(1)::before{background:var(--a)}.mc:nth-child(2)::before{background:var(--g)}
.mc:nth-child(3)::before{background:var(--p)}.mc:nth-child(4)::before{background:var(--gold)}
.mc-icon{font-size:2rem;margin-bottom:.8rem}
.mc-t{font-size:1rem;font-weight:700;color:var(--t);margin-bottom:.4rem}
.mc-d{font-size:.78rem;color:var(--t2);line-height:1.6}
.mc-v{margin-top:.8rem;font-size:.85rem;font-weight:700}

/* ── 底部 ── */
.footer{text-align:center;padding:4rem 1.5rem 2rem;border-top:1px solid rgba(255,255,255,.04);margin-top:4rem}
.footer .brand-lg{font-size:1.6rem;font-weight:900;color:var(--a2);letter-spacing:3px}
.footer .motto{font-size:.88rem;color:var(--t2);margin:.8rem 0}
.footer .copy{font-size:.7rem;color:var(--t3)}

/* ── 进度条 ── */
.pb-wrap{margin:.5rem 0}.pb-row{display:flex;align-items:center;gap:.8rem;margin:.5rem 0}
.pb-label{font-size:.78rem;color:var(--t2);width:100px;flex-shrink:0;text-align:right}
.pb-track{flex:1;height:8px;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden;position:relative}
.pb-fill{height:100%;border-radius:4px;width:0;transition:width 1.6s cubic-bezier(.16,1,.3,1)}
.pb-val{font-size:.72rem;color:var(--a2);font-weight:700;width:50px;text-align:left}

/* ── 技术管道流 ── */
.bv-pipeline{display:flex;align-items:center;gap:4px;justify-content:center;flex-wrap:wrap;margin:2rem 0;padding:1.5rem;background:rgba(0,0,0,.2);border-radius:var(--rd);border:1px solid rgba(255,255,255,.05);overflow:hidden}
.bv-node{padding:.6rem 1rem;border-radius:var(--rd2);text-align:center;min-width:70px;border:2px solid rgba(255,255,255,.08);background:var(--b);transition:.4s;opacity:0;transform:scale(.8)}
.bv-node.vis{opacity:1;transform:scale(1)}
.bv-node:hover{transform:scale(1.08)!important}
.bv-tag{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);display:block}
.bv-val{font-size:.95rem;font-weight:800;display:block;margin-top:.15rem}
.bv-arrow{color:var(--a);font-size:1.2rem;font-weight:700;opacity:0;transition:.4s}
.bv-arrow.vis{opacity:.6;animation:flow-pulse 1.5s ease-in-out infinite}
.bv-node.bv-active{border-color:var(--a)!important;box-shadow:0 0 18px rgba(6,182,212,.2)}
.bv-output{background:linear-gradient(135deg,rgba(6,182,212,.1),rgba(139,92,246,.1));border-color:rgba(6,182,212,.25)}
.bv-output .bv-val{background:linear-gradient(135deg,var(--a2),var(--p2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ── 供应链流 ── */
.sc-flow{display:flex;align-items:center;gap:3px;justify-content:center;flex-wrap:wrap;margin:2rem 0;padding:1.5rem;background:rgba(6,182,212,.03);border:1px solid rgba(6,182,212,.1);border-radius:var(--rd);position:relative;overflow:hidden}
.sc-node{padding:.6rem .8rem;border-radius:var(--rd2);text-align:center;min-width:65px;border:1.5px solid rgba(255,255,255,.08);background:var(--b);position:relative;transition:.4s}
.sc-node-icon{font-size:1.3rem;display:block}
.sc-node-label{font-size:.68rem;font-weight:600;color:var(--t2);display:block;margin-top:.2rem}
.sc-arrow{color:var(--a);font-size:1rem;opacity:.3;transition:.4s}
.sc-flow.active .sc-arrow{opacity:.7;animation:flow-pulse 1.5s ease-in-out infinite}
.sc-flow.active .sc-node{border-color:rgba(6,182,212,.2)}
.sc-check{position:absolute;top:-4px;right:-4px;width:14px;height:14px;border-radius:50%;background:var(--a);color:#000;font-size:8px;font-weight:900;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0);transition:.3s}
.sc-node.checked .sc-check{opacity:1;transform:scale(1)}

/* ── 轨道Canvas ── */
.orbit-canvas-wrap{position:relative;width:100%;max-width:480px;margin:2.5rem auto;aspect-ratio:1/1}
#orbitCanvas{width:100%;height:100%;display:block}
#hero-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}
#s7-canvas{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:var(--rd)}
.s7-canvas-wrap{position:relative;overflow:hidden;border-radius:var(--rd);margin:2rem 0;padding:2rem;background:linear-gradient(135deg,rgba(6,182,212,.04),rgba(139,92,246,.04));border:1px solid rgba(6,182,212,.1)}

/* ══ DYNAMIC ANIMATIONS ══ */
@keyframes pulse-dot{0%,100%{box-shadow:0 0 0 0 rgba(6,182,212,.4)}50%{box-shadow:0 0 0 8px rgba(6,182,212,0)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes flow-pulse{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}
@keyframes float-y{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes orbit-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes data-rise{0%{opacity:0;transform:translateY(20px)}50%{opacity:1}100%{opacity:0;transform:translateY(-20px)}}
@keyframes card-sweep{0%{left:-60px;opacity:0}30%{opacity:1}100%{left:calc(100% + 60px);opacity:0}}
@keyframes card-glow{0%{box-shadow:0 0 0 rgba(6,182,212,0)}50%{box-shadow:0 0 20px rgba(6,182,212,.08)}100%{box-shadow:0 0 0 rgba(6,182,212,0)}}
@keyframes ring-draw{from{stroke-dashoffset:264}to{stroke-dashoffset:40}}

/* ── Shimmer 文字 ── */
.shimmer{background:linear-gradient(90deg,var(--a2) 0%,#fff 50%,var(--a2) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 4s ease-in-out infinite}

/* ── 滚动动画 (data-a 系统) ── */
html{scroll-behavior:smooth}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}
main{position:relative;z-index:1}
[data-a]{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
[data-a].vis{opacity:1;transform:translateY(0)}
.kpi[data-a],.vc[data-a],.mc[data-a],.ps[data-a],.scnc[data-a]{transition-delay:calc(var(--i,0)*.1s)}
[data-a="l"]{opacity:0;transform:translateX(-50px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
[data-a="r"]{opacity:0;transform:translateX(50px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
[data-a="u"]{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
[data-a="s"]{opacity:0;transform:scale(.85);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
[data-a="l"].vis,[data-a="r"].vis,[data-a="u"].vis,[data-a="s"].vis{opacity:1;transform:none}

/* ── 卡片扫光 + 辉光 ── */
.kpi,.vc,.mc,.scnc,.glass,.ps{position:relative;overflow:hidden}
.kpi::after,.vc::after,.mc::after,.scnc::after{content:'';position:absolute;top:0;left:-60px;width:40px;height:100%;background:linear-gradient(90deg,transparent,rgba(6,182,212,.06),transparent);transform:skewX(-15deg);opacity:0;pointer-events:none}
.kpi.vis::after,.vc.vis::after,.mc.vis::after,.scnc.vis::after{animation:card-sweep 4s ease-in-out 1s}
.kpi.vis,.vc.vis,.mc.vis,.scnc.vis{animation:card-glow 1.2s ease-out}

/* ── Hero ── */
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 40% 45%,rgba(6,182,212,.1),transparent),radial-gradient(ellipse 60% 50% at 65% 55%,rgba(139,92,246,.08),transparent)}
.hero .rfg{animation:ring-draw 1.8s ease-out forwards}
.fl .fa{animation:flow-pulse 2s ease-in-out infinite;animation-delay:calc(var(--fi,0)*.35s)}
.fl .fs{transition:all .3s ease}.fl .fs:hover{transform:translateY(-3px);box-shadow:0 4px 15px rgba(6,182,212,.2)}

/* ── Nav 滚动显示 ── */
.hdr.v{transform:translateY(0)}

/* ── KPI推荐高亮 ── */
.kbox{border:2px solid var(--g)!important;box-shadow:0 0 24px rgba(16,185,129,.08)}

/* ── 响应式 ── */
@media(max-width:768px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .kr,.vg,.pe,.mx,.ig,.scn-grid{grid-template-columns:1fr}
  .hero{min-height:auto;padding:6rem 1.2rem 3rem}
  .fl{flex-direction:column}.fa{transform:rotate(90deg)}
  section,.sh{padding:3rem 0}
  .bv-pipeline,.sc-flow{flex-direction:column}.bv-arrow,.sc-arrow{transform:rotate(90deg)}
  .orbit-canvas-wrap{max-width:320px}
}
