/* 卓越 · 故事层。沿用 Temporal 的黑底、薄荷绿与排版节奏，在其上叠加叙事板块。 */
:root{--zy-mint:#6ef0dc;--zy-mint-dim:#4fb8a8;--zy-line:rgba(110,240,220,.18);--zy-glass:rgba(10,10,10,.62)}
/* 原站 html/body 的 overflow-x:hidden 会让 body 成为滚动容器，导致 position:sticky 失效；clip 同样防横向溢出但不建立滚动容器 */
@supports (overflow:clip){html,body{overflow-x:clip!important}}

/* ---------- 首屏：星空底片 + 滚动提示（粒子球保持原样） ---------- */
.zy-hero-sky{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:0;transition:opacity 2.4s ease}
.zy-hero-sky.is-in{opacity:.34}
.zy-hero-sky img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:zy-kb 38s ease-in-out infinite alternate;
  -webkit-mask-image:radial-gradient(120% 90% at 70% 40%,#000 30%,transparent 78%);mask-image:radial-gradient(120% 90% at 70% 40%,#000 30%,transparent 78%)}
@keyframes zy-kb{to{transform:scale(1.18) translate3d(-2%,-1.5%,0)}}
.zy-cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;
  font:500 11px/1 var(--font-mono);letter-spacing:.18em;color:#8c8c8c;opacity:0;animation:zy-fade 1.2s 1.6s forwards}
.zy-cue i{display:block;width:1px;height:46px;background:linear-gradient(var(--zy-mint),transparent);animation:zy-drip 2.2s ease-in-out infinite}
@keyframes zy-drip{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes zy-fade{to{opacity:1}}

/* ---------- 一个故事的诞生 ---------- */
.zy-story{position:relative;height:640vh;background:#0a0a0a;border-top:1px solid rgba(255,255,255,.06)}
.zy-story__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.zy-layer{position:absolute;inset:-4%;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease,transform 6s ease}
.zy-layer.is-on{opacity:1;transform:scale(1)}
.zy-layer img,.zy-layer video{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.05) brightness(.72)}
.zy-story__shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(10,10,10,.94) 0%,rgba(10,10,10,.72) 38%,rgba(10,10,10,.35) 70%,rgba(10,10,10,.6) 100%),
  linear-gradient(0deg,#0a0a0a 0%,transparent 22%,transparent 80%,#0a0a0a 100%)}
.zy-dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.zy-story__ui{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-rows:auto 1fr;column-gap:64px;padding-top:104px;padding-bottom:56px}
.zy-story__head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px}
.zy-eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 13px/1 var(--font-sans);color:var(--zy-mint)}
.zy-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--zy-mint);box-shadow:0 0 12px var(--zy-mint)}
.zy-rail{display:flex;gap:6px}
.zy-rail b{display:block;width:34px;height:2px;background:rgba(255,255,255,.14);position:relative;overflow:hidden}
.zy-rail b::after{content:"";position:absolute;inset:0;background:var(--zy-mint);transform:scaleX(var(--p,0));transform-origin:left}
.zy-story__copy{position:relative;align-self:center}
.zy-step{position:absolute;left:0;right:0;top:50%;transform:translateY(-40%);opacity:0;transition:opacity .7s ease,transform .9s cubic-bezier(.22,1,.36,1);pointer-events:none}
.zy-step.is-on{opacity:1;transform:translateY(-50%);pointer-events:auto}
.zy-step__no{font:500 12px/1 var(--font-mono);letter-spacing:.16em;color:var(--zy-mint);margin:0 0 22px}
.zy-step__no span{color:#5a5a5a}
.zy-step h2{font-family:var(--font-sans);font-weight:400;font-size:clamp(40px,5.2vw,76px);line-height:1.08;letter-spacing:-.01em;margin:0 0 26px;color:#fff;word-break:keep-all}
.zy-step h2 em{font-style:normal;color:var(--zy-mint)}
.zy-step p{font-size:18px;line-height:1.75;color:#b8b8b8;max-width:30em;margin:0}
.zy-story__stage{position:relative;align-self:center;height:min(560px,62vh)}
.zy-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(24px) scale(.98);transition:opacity .7s ease,transform .9s cubic-bezier(.22,1,.36,1);pointer-events:none}
.zy-art.is-on{opacity:1;transform:none;pointer-events:auto}
.zy-card{width:100%;max-width:560px;background:var(--zy-glass);border:1px solid var(--zy-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 40px 120px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.02) inset}
.zy-card__bar{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06);font:500 11px/1 var(--font-mono);color:#8c8c8c}
.zy-card__bar i{width:7px;height:7px;border-radius:50%;background:#333}
.zy-card__bar span{margin-left:10px}
.zy-card__body{padding:26px 26px 28px}

/* 01 灵感 */
.zy-prompt__label{font:500 12px/1 var(--font-mono);color:#8c8c8c;letter-spacing:.08em;margin-bottom:14px}
.zy-prompt__box{min-height:92px;padding:18px 18px;border:1px solid rgba(110,240,220,.35);font-size:21px;line-height:1.6;color:#fff;box-shadow:0 0 0 4px rgba(110,240,220,.06)}
.zy-caret{display:inline-block;width:2px;height:1.1em;vertical-align:-.15em;background:var(--zy-mint);margin-left:2px;animation:zy-blink 1s steps(1) infinite}
@keyframes zy-blink{50%{opacity:0}}
.zy-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.zy-chip{font:500 12px/1 var(--font-sans);padding:8px 10px;border:1px solid var(--zy-line);color:#e5e5e5;opacity:0;transform:translateY(6px);transition:all .5s ease}
.zy-chip b{color:var(--zy-mint);font-weight:500;margin-right:6px}
.zy-chip.is-in{opacity:1;transform:none}
.zy-go{margin-top:22px;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;background:var(--zy-mint);color:#0a0a0a;font-size:15px;box-shadow:0 0 0 0 rgba(110,240,220,.5);animation:zy-pulse 2.4s infinite}
@keyframes zy-pulse{70%{box-shadow:0 0 0 14px rgba(110,240,220,0)}100%{box-shadow:0 0 0 0 rgba(110,240,220,0)}}

/* 02 成文 */
.zy-novel h4{font-weight:400;font-size:24px;margin:0 0 6px;color:#fff}
.zy-novel small{display:block;font:500 11px/1 var(--font-mono);color:#5a5a5a;letter-spacing:.1em;margin-bottom:22px}
.zy-novel__text{font-size:17px;line-height:2;color:#e5e5e5;min-height:12em}
.zy-novel__text p{margin:0 0 .6em;text-indent:2em}
.zy-novel__foot{display:flex;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);font:500 11px/1.4 var(--font-mono);color:#8c8c8c}
.zy-novel__foot b{color:var(--zy-mint);font-weight:500}

/* 03 成角 */
.zy-role{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start}
.zy-role__portrait{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--zy-line)}
.zy-role__portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:saturate(.8)}
.zy-role__portrait::after{content:"";position:absolute;left:0;right:0;height:2px;top:0;background:var(--zy-mint);box-shadow:0 0 16px var(--zy-mint);animation:zy-scan 3.2s ease-in-out infinite}
@keyframes zy-scan{0%,100%{top:0}50%{top:calc(100% - 2px)}}
.zy-role h4{font-weight:400;font-size:34px;margin:0;color:#fff}
.zy-role h4 small{font:500 11px/1 var(--font-mono);letter-spacing:.2em;color:#5a5a5a;margin-left:10px}
.zy-role dl{margin:16px 0 0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:14px}
.zy-role dt{color:#5a5a5a}.zy-role dd{margin:0;color:#e5e5e5}
.zy-views{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}
.zy-view{border:1px solid rgba(255,255,255,.08);padding:8px 4px 6px;text-align:center;font:500 10px/1 var(--font-mono);color:#5a5a5a;transition:all .5s ease}
.zy-view svg{display:block;margin:0 auto 6px;height:54px;fill:none;stroke:#444;stroke-width:1.4;transition:stroke .5s}
.zy-view.is-in{border-color:rgba(110,240,220,.45);color:var(--zy-mint)}
.zy-view.is-in svg{stroke:var(--zy-mint)}
.zy-lock{margin-top:14px;font:500 12px/1 var(--font-mono);color:var(--zy-mint);opacity:0;transition:opacity .6s}
.zy-lock.is-in{opacity:1}

/* 04 分镜 */
.zy-board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:620px}
.zy-frame{position:relative;aspect-ratio:16/10;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#121212;opacity:0;transform:scale(.94);transition:opacity .6s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.zy-frame.is-in{opacity:1;transform:none}
.zy-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.1)}
.zy-frame figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 6px;background:linear-gradient(transparent,rgba(0,0,0,.85));font:500 10px/1.3 var(--font-mono);color:#e5e5e5}
.zy-frame figcaption b{color:var(--zy-mint);font-weight:500;margin-right:4px}

/* 05 成片 */
.zy-player{width:100%;max-width:620px;border:1px solid var(--zy-line);background:#000;box-shadow:0 40px 120px rgba(0,0,0,.6)}
.zy-player__screen{position:relative;aspect-ratio:16/9;overflow:hidden}
.zy-player__screen video{width:100%;height:100%;object-fit:cover}
.zy-sub{position:absolute;left:0;right:0;bottom:8%;text-align:center;font-size:clamp(14px,1.5vw,19px);color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.9);padding:0 8%;opacity:0;transition:opacity .6s}
.zy-sub.is-in{opacity:1}
.zy-player__bar{display:flex;align-items:center;gap:12px;padding:12px 14px;font:500 11px/1 var(--font-mono);color:#8c8c8c}
.zy-player__track{flex:1;height:2px;background:rgba(255,255,255,.12);position:relative}
.zy-player__track i{position:absolute;inset:0;background:var(--zy-mint);transform-origin:left;transform:scaleX(0)}
.zy-art.is-on .zy-player__track i{animation:zy-play 12s linear infinite}
@keyframes zy-play{to{transform:scaleX(1)}}
.zy-tags{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 14px}
.zy-tags span{font:500 11px/1 var(--font-sans);padding:6px 8px;border:1px solid var(--zy-line);color:#b8b8b8}

/* 06 发布 */
.zy-files{list-style:none;margin:0;padding:0}
.zy-files li{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06);opacity:0;transform:translateX(-10px);transition:all .5s ease}
.zy-files li.is-in{opacity:1;transform:none}
.zy-files em{font:600 10px/1 var(--font-mono);font-style:normal;color:#0a0a0a;background:var(--zy-mint);padding:6px 0;text-align:center}
.zy-files strong{font-weight:400;color:#fff;font-size:16px}
.zy-files small{display:block;color:#5a5a5a;font-size:12px;margin-top:3px}
.zy-files span{font:500 12px/1 var(--font-mono);color:var(--zy-mint)}
.zy-toast{margin-top:18px;display:flex;align-items:center;gap:10px;font-size:14px;color:#e5e5e5;opacity:0;transition:opacity .6s}
.zy-toast.is-in{opacity:1}
.zy-toast::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--zy-mint);box-shadow:0 0 12px var(--zy-mint)}

/* ---------- 三种人 ---------- */
.zy-people{position:relative;padding:168px 0 152px;background:#0a0a0a;border-top:1px solid rgba(255,255,255,.06)}
.zy-people__head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px}
.zy-people__head h2{margin:14px 0 0;font-weight:400}
.zy-people__head h2 em{font-style:normal;color:var(--zy-mint)}
.zy-people__head p{max-width:26em;color:#8c8c8c;margin:0;line-height:1.7}
.zy-people__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--zy-line);border:1px solid var(--zy-line)}
.zy-person{position:relative;min-height:560px;overflow:hidden;background:#0a0a0a;display:flex;flex-direction:column;justify-content:flex-end;padding:36px 32px}
.zy-person img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;filter:grayscale(.55);transform:scale(1.04);transition:opacity .9s ease,filter .9s ease,transform 1.6s cubic-bezier(.22,1,.36,1)}
.zy-person::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.2) 0%,rgba(10,10,10,.55) 45%,#0a0a0a 92%);z-index:1}
.zy-person:hover img{opacity:.7;filter:grayscale(0);transform:scale(1.1)}
.zy-person>*:not(img){position:relative;z-index:2}
.zy-person__no{font:500 12px/1 var(--font-mono);letter-spacing:.16em;color:var(--zy-mint);margin-bottom:auto}
.zy-person h3{font-weight:400;font-size:15px;color:#8c8c8c;margin:0 0 12px}
.zy-person h4{font-weight:400;font-size:clamp(28px,2.6vw,40px);line-height:1.2;color:#fff;margin:0 0 18px}
.zy-person p{color:#b8b8b8;line-height:1.75;margin:0;font-size:15px}
.zy-person ul{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.zy-person li{font-size:12px;padding:6px 8px;border:1px solid var(--zy-line);color:#e5e5e5;background:rgba(10,10,10,.5)}

/* ---------- 算力免费 ---------- */
.zy-free{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:#0a0a0a;border-top:1px solid rgba(255,255,255,.06)}
.zy-free__bg{position:absolute;inset:0;opacity:.38}
.zy-free__bg img{width:100%;height:100%;object-fit:cover;animation:zy-kb 40s ease-in-out infinite alternate}
.zy-free::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 70% at 50% 50%,transparent 0%,#0a0a0a 85%)}
.zy-free canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.zy-free__in{position:relative;z-index:2;text-align:center;width:100%}
.zy-free__num{font-family:var(--font-sans);font-weight:400;font-size:clamp(120px,22vw,320px);line-height:.9;letter-spacing:-.04em;color:#fff;margin:18px 0 8px}
.zy-free__num em{font-style:normal;color:var(--zy-mint)}
.zy-free h2{font-weight:400;margin:0 0 20px}
.zy-free p{color:#b8b8b8;font-size:18px;line-height:1.75;max-width:30em;margin:0 auto 34px}
.zy-free__stats{display:flex;justify-content:center;gap:56px;flex-wrap:wrap;margin-top:56px}
.zy-free__stats div{text-align:left}
.zy-free__stats b{display:block;font-weight:400;font-size:34px;color:#fff}
.zy-free__stats span{font-size:13px;color:#8c8c8c}

/* ---------- 进入视口渐显 ---------- */
.zy-rise{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}
.zy-rise.is-in{opacity:1;transform:none}

/* ---------- 手机 ---------- */
@media (max-width:900px){
  .zy-story{height:720vh}
  .zy-story__ui{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;padding-top:84px;padding-bottom:28px;row-gap:14px}
  .zy-story__copy{min-height:230px;align-self:start}
  .zy-step{top:0;transform:translateY(14px)}
  .zy-step.is-on{transform:none}
  .zy-step h2{font-size:34px;margin-bottom:14px}
  .zy-step p{font-size:15px}
  .zy-story__stage{height:auto;min-height:0;align-self:stretch}
  .zy-art{align-items:flex-start}
  .zy-card__body{padding:18px}
  .zy-prompt__box{font-size:17px;min-height:70px}
  .zy-novel__text{font-size:14px;min-height:9em;line-height:1.85}
  .zy-role{grid-template-columns:110px 1fr;gap:14px}
  .zy-role h4{font-size:24px}
  .zy-role dl{font-size:12px}
  .zy-views svg{height:38px}
  .zy-rail b{width:18px}
  .zy-story__shade{background:linear-gradient(180deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.7) 45%,rgba(10,10,10,.82) 100%)}
  .zy-people{padding:112px 0}
  .zy-people__head{flex-direction:column;align-items:flex-start}
  .zy-people__grid{grid-template-columns:1fr}
  .zy-person{min-height:440px}
  .zy-free__stats{gap:28px}
}
@media (prefers-reduced-motion:reduce){
  .zy-hero-sky img,.zy-free__bg img,.zy-cue i,.zy-go,.zy-role__portrait::after{animation:none}
}
