/* 卓越 · 首页延伸板块：节点画布 / 试一试 / 题材长廊 / 数字 / 常见问题 */
.zy-sec{position:relative;padding:168px 0 152px;background:#0a0a0a;border-top:1px solid rgba(255,255,255,.06)}
.zy-sec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px}
.zy-sec__head h2{margin:14px 0 0;font-weight:400}
.zy-sec__head h2 em{font-style:normal;color:var(--zy-mint)}
.zy-sec__head>p{max-width:26em;color:#8c8c8c;margin:0;line-height:1.7}

/* ---------- 节点画布 ---------- */
.zy-canvas{position:relative;height:560px;border:1px solid var(--zy-line);overflow:hidden;
  background:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1.2px) 0 0/26px 26px,linear-gradient(180deg,#0d0d0d,#0a0a0a)}
.zy-canvas::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 70% at 50% 50%,transparent 40%,#0a0a0a 100%)}
.zy-canvas svg.zy-wires{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.zy-wires path{fill:none;stroke:rgba(110,240,220,.28);stroke-width:1.4}
.zy-wires path.flow{stroke:var(--zy-mint);stroke-width:1.6;stroke-dasharray:4 10;animation:zy-flow 1.4s linear infinite;opacity:.0;transition:opacity .4s}
.zy-wires path.flow.is-on{opacity:.9}
@keyframes zy-flow{to{stroke-dashoffset:-28}}
.zy-node{position:absolute;z-index:2;transform:translate(-50%,-50%);min-width:148px;padding:12px 14px 12px;background:rgba(18,18,18,.92);border:1px solid rgba(255,255,255,.1);cursor:pointer;user-select:none;
  transition:border-color .3s,box-shadow .3s,transform .3s;animation:zy-float 6s ease-in-out infinite}
.zy-node:hover{border-color:rgba(110,240,220,.6)}
.zy-node small{display:block;font:500 10px/1 var(--font-mono);letter-spacing:.12em;color:#5a5a5a;margin-bottom:7px}
.zy-node b{display:block;font-weight:400;font-size:15px;color:#fff}
.zy-node i{display:block;font-style:normal;font-size:12px;color:#8c8c8c;margin-top:5px}
.zy-node .zy-st{position:absolute;top:10px;right:10px;width:7px;height:7px;border-radius:50%;background:#3a3a3a}
.zy-node.is-done .zy-st{background:var(--zy-mint);box-shadow:0 0 8px var(--zy-mint)}
.zy-node.is-run{border-color:var(--zy-mint);box-shadow:0 0 0 4px rgba(110,240,220,.1),0 0 40px rgba(110,240,220,.18)}
.zy-node.is-run .zy-st{background:#f5c46e;box-shadow:0 0 8px #f5c46e;animation:zy-blink .8s steps(1) infinite}
.zy-node.is-run i::before{content:"重新生成中 · "}
.zy-node.is-dim{opacity:.45}
.zy-node.zy-node--shot{min-width:0;width:184px}
.zy-node .zy-thumb{margin-top:9px;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,255,255,.08);position:relative}
.zy-node .zy-thumb img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(.3);transition:opacity .5s}
.zy-node .zy-ver{position:absolute;right:4px;bottom:4px;font:600 9px/1 var(--font-mono);background:var(--zy-mint);color:#0a0a0a;padding:3px 4px}
@keyframes zy-float{50%{margin-top:-6px}}
.zy-canvas__hint{position:absolute;left:18px;bottom:16px;z-index:3;font:500 11px/1 var(--font-mono);color:#8c8c8c;letter-spacing:.06em}
.zy-canvas__hint b{color:var(--zy-mint);font-weight:500}
.zy-points{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1px;background:var(--zy-line);border:1px solid var(--zy-line);border-top:0}
.zy-points div{background:#0a0a0a;padding:26px 26px 28px}
.zy-points b{display:block;font-weight:400;font-size:19px;color:#fff;margin-bottom:8px}
.zy-points span{color:#8c8c8c;font-size:14px;line-height:1.7}

/* ---------- 试一试 ---------- */
.zy-try{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:48px;align-items:start}
.zy-try__pick p{color:#8c8c8c;margin:0 0 18px;font-size:14px}
.zy-seeds{display:flex;flex-direction:column;gap:10px}
.zy-seed{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:18px 18px;background:transparent;border:1px solid rgba(255,255,255,.1);color:#e5e5e5;font:inherit;font-size:16px;cursor:pointer;transition:all .3s}
.zy-seed span{font:500 11px/1 var(--font-mono);color:#5a5a5a;letter-spacing:.1em}
.zy-seed:hover{border-color:rgba(110,240,220,.5)}
.zy-seed.is-on{border-color:var(--zy-mint);background:rgba(110,240,220,.06);color:#fff}
.zy-seed.is-on span{color:var(--zy-mint)}
.zy-out{min-height:470px}
.zy-out .zy-card{max-width:none}
.zy-out__title{font-weight:400;font-size:clamp(26px,2.6vw,36px);color:#fff;margin:0 0 10px}
.zy-out__line{color:#b8b8b8;font-size:16px;line-height:1.7;margin:0 0 22px;min-height:1.7em}
.zy-out dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0 0 22px;font-size:14px}
.zy-out dt{color:#5a5a5a}.zy-out dd{margin:0;color:#e5e5e5}
.zy-out blockquote{margin:0;padding:18px 20px;border-left:2px solid var(--zy-mint);background:rgba(255,255,255,.02);font-size:17px;line-height:1.9;color:#e5e5e5;min-height:5.8em}
.zy-out__foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;flex-wrap:wrap}
.zy-out__foot small{color:#5a5a5a;font-size:12px}
.zy-fadein{animation:zy-fadein .6s ease both}
@keyframes zy-fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- 题材长廊 ---------- */
.zy-genres{padding-bottom:120px;overflow:hidden}
.zy-marquee{display:flex;gap:14px;width:max-content;animation:zy-marq 60s linear infinite}
.zy-marquee--rev{animation-direction:reverse;animation-duration:70s;margin-top:14px}
.zy-marquee-wrap:hover .zy-marquee{animation-play-state:paused}
@keyframes zy-marq{to{transform:translateX(-50%)}}
.zy-genre{position:relative;width:340px;height:220px;flex:none;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#121212}
.zy-genre img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;filter:grayscale(.5);transition:all .8s cubic-bezier(.22,1,.36,1)}
.zy-genre::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(10,10,10,.92));z-index:1}
.zy-genre:hover img{opacity:.85;filter:none;transform:scale(1.06)}
.zy-genre div{position:absolute;left:18px;right:18px;bottom:16px;z-index:2}
.zy-genre b{display:block;font-weight:400;font-size:22px;color:#fff;margin-bottom:6px}
.zy-genre span{font-size:13px;color:#b8b8b8;line-height:1.5}
.zy-genre em{position:absolute;top:14px;left:16px;z-index:2;font:500 10px/1 var(--font-mono);font-style:normal;letter-spacing:.14em;color:var(--zy-mint)}

/* ---------- 数字 ---------- */
.zy-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--zy-line);border:1px solid var(--zy-line)}
.zy-num{background:#0a0a0a;padding:40px 34px 36px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.zy-num::after{content:"";position:absolute;left:0;top:0;height:1px;width:0;background:var(--zy-mint);transition:width 1.4s cubic-bezier(.22,1,.36,1)}
.zy-num.is-in::after{width:100%}
.zy-num strong{font-weight:400;font-size:clamp(54px,6vw,88px);line-height:1;color:#fff;letter-spacing:-.02em}
.zy-num strong sup{font-size:.4em;color:var(--zy-mint);vertical-align:top;margin-left:4px}
.zy-num b{display:block;font-weight:400;font-size:17px;color:#e5e5e5;margin-top:22px}
.zy-num span{display:block;color:#8c8c8c;font-size:14px;line-height:1.6;margin-top:6px}

/* ---------- 常见问题 ---------- */
.zy-faq{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:48px}
.zy-faq__list{border-top:1px solid rgba(255,255,255,.1)}
.zy-q{border-bottom:1px solid rgba(255,255,255,.1)}
.zy-q button{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:26px 0;background:none;border:0;color:#fff;font:inherit;font-size:20px;text-align:left;cursor:pointer}
.zy-q button i{position:relative;width:14px;height:14px;flex:none}
.zy-q button i::before,.zy-q button i::after{content:"";position:absolute;left:0;top:6.5px;width:14px;height:1px;background:var(--zy-mint);transition:transform .4s}
.zy-q button i::after{transform:rotate(90deg)}
.zy-q.is-open button i::after{transform:rotate(0)}
.zy-q__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1)}
.zy-q.is-open .zy-q__a{grid-template-rows:1fr}
.zy-q__a>div{overflow:hidden}
.zy-q__a p{margin:0 0 26px;color:#b8b8b8;line-height:1.85;max-width:40em}

@media (max-width:1040px){
  .zy-canvas{height:auto;padding:20px 14px;display:flex;flex-direction:column;gap:12px}
  .zy-canvas svg.zy-wires{display:none}
  .zy-node,.zy-node.zy-node--shot{position:relative;left:auto!important;top:auto!important;transform:none;animation:none;width:100%}
  .zy-node .zy-thumb{max-width:260px}
  .zy-canvas__hint{position:static;padding-top:4px}
}
@media (max-width:900px){
  .zy-sec{padding:112px 0}
  .zy-sec__head{flex-direction:column;align-items:flex-start}
  .zy-points{grid-template-columns:1fr}
  .zy-try,.zy-faq{grid-template-columns:1fr;gap:28px}
  .zy-out{min-height:0}
  .zy-genre{width:260px;height:180px}
  .zy-nums{grid-template-columns:1fr 1fr}
  .zy-num{padding:26px 18px;min-height:170px}
  .zy-q button{font-size:17px}
}
@media (prefers-reduced-motion:reduce){.zy-marquee,.zy-node,.zy-wires path.flow{animation:none}}
