/* ===== ref hz.lk888.ai S2 engine 1:1 CSS, scoped .s2-stage ===== */

/* ---- ManJuS2-D4tQ4nw6.css ---- */

.s2-stage .beijing-container {
position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:linear-gradient(180deg,#06080c,#0c0f16,#080a10)
}
.s2-stage .gradient-flow {
position:absolute;inset:-50%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,rgba(0,202,224,.025) 60deg,transparent 120deg,rgba(0,229,160,.02) 180deg,transparent 240deg,rgba(120,80,255,.02) 300deg,transparent 360deg);animation:flowRotate-dbc851fb 60s linear infinite
}
@keyframes flowRotate-dbc851fb{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
.s2-stage .gradient-orb {
position:absolute;border-radius:50%;animation:orbFloat-dbc851fb 25s ease-in-out infinite
}
.s2-stage .orb-1 {
width:900px;height:900px;background:radial-gradient(circle,var(--c-primary-12) 0%,transparent 70%);top:-30%;right:-20%
}
.s2-stage .orb-2 {
width:800px;height:800px;background:radial-gradient(circle,rgba(0,229,160,.06) 0%,transparent 70%);bottom:-25%;left:-15%;animation-delay:-8s
}
.s2-stage .orb-3 {
width:500px;height:500px;background:radial-gradient(circle,rgba(120,80,255,.06) 0%,transparent 70%);top:40%;left:25%;animation-delay:-16s
}
@keyframes orbFloat-dbc851fb{0%,to{transform:translate(0) scale(1)}25%{transform:translate(80px,-50px) scale(1.15)}50%{transform:translate(-50px,80px) scale(.9)}75%{transform:translate(-80px,-30px) scale(1.1)}}
.s2-stage .grid-lines {
position:absolute;inset:0;background-image:linear-gradient(var(--c-primary-3) 1px,transparent 1px),linear-gradient(90deg,var(--c-primary-3) 1px,transparent 1px);background-size:60px 60px;animation:gridPulse-dbc851fb 10s ease-in-out infinite
}
@keyframes gridPulse-dbc851fb{0%,to{opacity:.6}50%{opacity:1}}
.s2-stage .particles {
position:absolute;inset:0
}
.s2-stage .particle {
position:absolute;background:var(--c-primary-90);border-radius:50%;box-shadow:0 0 10px var(--c-primary-60);animation:particleDrift-dbc851fb 20s ease-in-out infinite
}
@keyframes particleDrift-dbc851fb{0%,to{transform:translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate(50px,-120px);opacity:0}}
.s2-stage .connection-lines {
position:absolute;inset:0;width:100%;height:100%
}
.s2-stage .conn-line {
fill:none;stroke:var(--c-primary-8);stroke-width:.6;stroke-dasharray:200;stroke-dashoffset:200;animation:lineFlow-dbc851fb 12s linear infinite
}
.s2-stage .conn-line.delay-1 {
animation-delay:-4s;stroke:#00e5a014
}
.s2-stage .conn-line.delay-2 {
animation-delay:-8s;stroke:#7850ff14
}
@keyframes lineFlow-dbc851fb{0%{stroke-dashoffset:200}50%{stroke-dashoffset:0}to{stroke-dashoffset:-200}}
.s2-stage {
background:linear-gradient(180deg,#f0f8fc,#e6f2f8 40%,#dae8f2)
}
.s2-stage {
background:radial-gradient(circle,rgba(0,161,194,.2) 0%,transparent 70%)
}
.s2-stage {
background:radial-gradient(circle,rgba(0,229,160,.15) 0%,transparent 70%)
}
.s2-stage {
background:radial-gradient(circle,rgba(120,80,255,.13) 0%,transparent 70%)
}
.s2-stage {
background-image:linear-gradient(rgba(0,0,0,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.045) 1px,transparent 1px)
}
.s2-stage {
background:#00a1c273;box-shadow:0 0 8px #00a1c24d
}
.s2-stage {
stroke:#00a1c224
}
.s2-stage {
stroke:#00e5a01f
}
.s2-stage {
stroke:#7850ff1f
}
.s2-stage .qishiye-container {
width:100%;height:100%;position:relative;overflow:hidden;display:flex;flex-direction:column
}
.s2-stage .content-wrapper {
position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem 4rem 16rem;width:100%;box-sizing:border-box;gap:1rem
}
.s2-stage .hero-section {
display:flex;flex-direction:column;align-items:center;gap:.6rem
}
.s2-stage .hero-top {
display:flex;align-items:center;gap:1.5rem
}
.s2-stage .logo-container {
position:relative;width:64px;height:64px;flex-shrink:0
}
.s2-stage .logo-glow {
position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(circle,var(--c-primary-20) 0%,transparent 70%);animation:glowPulse-ec5fb97b 3s ease-in-out infinite
}
@keyframes glowPulse-ec5fb97b{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}
.s2-stage .logo-orbit {
position:absolute;inset:-12px;animation:orbitSpin-ec5fb97b 12s linear infinite
}
@keyframes orbitSpin-ec5fb97b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
.s2-stage .orbit-dot {
position:absolute;width:5px;height:5px;border-radius:50%
}
.s2-stage .orbit-dot.dot-1 {
top:0;left:50%;transform:translate(-50%);background:var(--c-primary-90);box-shadow:0 0 8px var(--c-primary-80)
}
.s2-stage .orbit-dot.dot-2 {
bottom:15%;right:5%;background:#00e5a0cc;box-shadow:0 0 8px #00e5a0b3
}
.s2-stage .orbit-dot.dot-3 {
bottom:15%;left:5%;background:#a855f7cc;box-shadow:0 0 8px #a855f7b3
}
.s2-stage .logo-core {
position:absolute;inset:10px;animation:coreFloat-ec5fb97b 4s ease-in-out infinite
}
.s2-stage .logo-core img {
width:100%;height:100%;filter:drop-shadow(0 0 20px var(--c-primary-50))
}
@keyframes coreFloat-ec5fb97b{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}
.s2-stage .title-area {
display:flex;flex-direction:column;gap:.5rem
}
.s2-stage .title-badge {
display:flex;align-items:center;gap:.5rem;padding:.3rem 1rem;background:var(--c-primary-8);border:1px solid var(--c-primary-25);border-radius:100px;font-size:.75rem;color:var(--c-primary-90);letter-spacing:.12em;width:fit-content
}
.s2-stage .badge-dot {
width:6px;height:6px;background:#00e5a0;border-radius:50%;animation:badgePulse-ec5fb97b 2s ease-in-out infinite
}
@keyframes badgePulse-ec5fb97b{0%,to{opacity:.5}50%{opacity:1;box-shadow:0 0 10px #00e5a0cc}}
.s2-stage .hero-title {
margin:0;font-size:2rem;font-weight:700;background:linear-gradient(135deg,var(--w-100) 0%,rgba(0,202,224,1) 60%,rgba(0,229,160,1) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2
}
.s2-stage .hero-tagline {
margin:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center
}
.s2-stage .tag-item {
display:flex;align-items:center;gap:.35rem;padding:.35rem .85rem;background:var(--w-3);border:1px solid var(--w-6);border-radius:100px;font-size:.8rem;color:#b4bec8cc;transition:all .3s ease
}
.s2-stage .tag-item:hover {
background:var(--c-primary-8);border-color:var(--c-primary-25);color:var(--c-primary-90)
}
.s2-stage .tag-icon {
width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:var(--c-primary-60)
}
.s2-stage .tag-icon svg {
width:100%;height:100%
}
.s2-stage .capabilities-section {
flex:1;display:flex;align-items:center;justify-content:center;min-height:0
}
.s2-stage .capabilities-inner {
display:flex;align-items:center;gap:3.5rem
}
.s2-stage .showcase-area {
width:34rem;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:1.25rem;perspective:1000px
}
.s2-stage .showcase-card {
position:relative;padding:1.5rem 2rem;background:linear-gradient(145deg,#161a23f2,#0f1219e6);border-radius:1rem;overflow:hidden;width:100%;transform-style:preserve-3d
}
.s2-stage .card-top-bar {
display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem
}
.s2-stage .card-step-badge {
width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;font-size:.8rem;font-weight:700;font-family:Courier New,monospace
}
.s2-stage .card-step-badge.badge-0 {
background:var(--c-primary-15);color:var(--color-primary)
}
.s2-stage .card-step-badge.badge-1 {
background:#00e5a026;color:#00e5a0
}
.s2-stage .card-step-badge.badge-2 {
background:#a855f726;color:#a855f7
}
.s2-stage .card-step-badge.badge-3 {
background:#f59e0b26;color:#f59e0b
}
.s2-stage .card-mode-tag {
display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:#00e5a0cc;padding:.25rem .75rem;background:#00e5a00f;border:1px solid rgba(0,229,160,.2);border-radius:100px
}
.s2-stage .mode-dot {
width:5px;height:5px;background:#00e5a0;border-radius:50%;animation:modePulse-ec5fb97b 1.5s ease-in-out infinite
}
@keyframes modePulse-ec5fb97b{0%,to{opacity:.4}50%{opacity:1;box-shadow:0 0 6px #00e5a0cc}}
.s2-stage .showcase-inner {
display:flex;align-items:flex-start;gap:1.5rem
}
.s2-stage .feature-icon-area {
position:relative;width:56px;height:56px;flex-shrink:0
}
.s2-stage .icon-bg {
position:absolute;inset:0;border-radius:14px;transform:rotate(-6deg);transition:background .5s ease
}
.s2-stage .icon-bg.bg-0 {
background:linear-gradient(135deg,var(--c-primary-20),var(--c-primary-8))
}
.s2-stage .icon-bg.bg-1 {
background:linear-gradient(135deg,#00e5a033,#00e5a014)
}
.s2-stage .icon-bg.bg-2 {
background:linear-gradient(135deg,#a855f733,#a855f714)
}
.s2-stage .icon-bg.bg-3 {
background:linear-gradient(135deg,#f59e0b33,#f59e0b14)
}
.s2-stage .feature-icon {
position:absolute;inset:0;display:flex;align-items:center;justify-content:center
}
.s2-stage .feature-icon.icon-0 {
color:var(--c-primary-90)
}
.s2-stage .feature-icon.icon-1 {
color:#00e5a0e6
}
.s2-stage .feature-icon.icon-2 {
color:#a855f7e6
}
.s2-stage .feature-icon.icon-3 {
color:#f59e0be6
}
.s2-stage .feature-icon svg {
width:32px!important;height:32px!important
}
.s2-stage .feature-info {
flex:1;min-width:0
}
.s2-stage .feature-info h3 {
margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#f0f5fa
}
.s2-stage .feature-desc {
margin:0 0 .75rem;font-size:.875rem;color:#8c99a0d9;line-height:1.7;min-height:3.5rem
}
.s2-stage .desc-cursor {
animation:blink-ec5fb97b .8s step-end infinite;color:var(--c-primary-60)
}
@keyframes blink-ec5fb97b{0%,50%{opacity:1}51%,to{opacity:0}}
.s2-stage .feature-tags {
display:flex;flex-wrap:wrap;gap:.4rem
}
.s2-stage .f-tag {
padding:.2rem .6rem;border-radius:4px;font-size:.7rem;font-weight:500
}
.s2-stage .f-tag.tag-0 {
background:var(--c-primary-10);color:var(--c-primary-80);border:1px solid var(--c-primary-15)
}
.s2-stage .f-tag.tag-1 {
background:#00e5a01a;color:#00e5a0cc;border:1px solid rgba(0,229,160,.15)
}
.s2-stage .f-tag.tag-2 {
background:#a855f71a;color:#a855f7cc;border:1px solid rgba(168,85,247,.15)
}
.s2-stage .f-tag.tag-3 {
background:#f59e0b1a;color:#f59e0bcc;border:1px solid rgba(245,158,11,.15)
}
.s2-stage .progress-dots {
display:flex;gap:.5rem
}
.s2-stage .p-dot {
width:2rem;height:3px;border-radius:2px;background:var(--w-8);transition:all .4s ease
}
.s2-stage .p-dot.active {
width:3rem
}
.s2-stage .p-dot.active.dot-color-0 {
background:var(--c-primary-80);box-shadow:0 0 8px var(--c-primary-40)
}
.s2-stage .p-dot.active.dot-color-1 {
background:#00e5a0cc;box-shadow:0 0 8px #00e5a066
}
.s2-stage .p-dot.active.dot-color-2 {
background:#a855f7cc;box-shadow:0 0 8px #a855f766
}
.s2-stage .p-dot.active.dot-color-3 {
background:#f59e0bcc;box-shadow:0 0 8px #f59e0b66
}
.s2-stage .p-dot.passed {
background:var(--w-15)
}
.s2-stage .card-glow {
position:absolute;inset:0;pointer-events:none
}
.s2-stage .card-glow.glow-0 {
background:radial-gradient(ellipse 80% 60% at 0% 0%,var(--c-primary-12) 0%,transparent 70%)
}
.s2-stage .card-glow.glow-1 {
background:radial-gradient(ellipse 80% 60% at 0% 0%,rgba(0,229,160,.12) 0%,transparent 70%)
}
.s2-stage .card-glow.glow-2 {
background:radial-gradient(ellipse 80% 60% at 0% 0%,rgba(168,85,247,.12) 0%,transparent 70%)
}
.s2-stage .card-glow.glow-3 {
background:radial-gradient(ellipse 80% 60% at 0% 0%,rgba(245,158,11,.12) 0%,transparent 70%)
}
.s2-stage .card-border-line {
position:absolute;inset:0;border-radius:1rem;border:1px solid var(--w-5);transition:border-color .5s ease;pointer-events:none
}
.s2-stage .card-border-line.border-0 {
border-color:var(--c-primary-35)
}
.s2-stage .card-border-line.border-1 {
border-color:#00e5a059
}
.s2-stage .card-border-line.border-2 {
border-color:#a855f759
}
.s2-stage .card-border-line.border-3 {
border-color:#f59e0b59
}
.s2-stage .showcase-card.fly-in {
animation:flyIn-ec5fb97b .5s cubic-bezier(.34,1.56,.64,1) forwards
}
@keyframes flyIn-ec5fb97b{0%{opacity:0;transform:translate(-40px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}
.s2-stage .showcase-card.showing {
animation:showGlow-ec5fb97b 2.5s ease-in-out infinite
}
@keyframes showGlow-ec5fb97b{0%,to{box-shadow:0 0 20px var(--c-primary-10),0 10px 40px -10px var(--b-40)}50%{box-shadow:0 0 35px var(--c-primary-20),0 15px 50px -10px var(--b-50)}}
.s2-stage .showcase-card.fly-out {
animation:flyOut-ec5fb97b .4s ease-in forwards
}
@keyframes flyOut-ec5fb97b{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(40px) scale(.95)}}
.s2-stage .ability-grid {
width:15rem;display:flex;flex-direction:column;gap:.75rem;flex-shrink:0
}
.s2-stage .ability-card {
position:relative;display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:#12161e99;border-radius:.75rem;cursor:pointer;transition:all .3s ease;overflow:hidden
}
.s2-stage .ability-card:hover {
background:#191e28cc
}
.s2-stage .ability-card.active-card {
background:#191e28e6;transform:translate(4px)
}
.s2-stage .ability-border {
position:absolute;inset:0;border-radius:.75rem;border:1px solid var(--w-4);transition:border-color .3s ease;pointer-events:none
}
.s2-stage .ability-card.active-card .ability-border.border-0 {
border-color:var(--c-primary-40)
}
.s2-stage .ability-card.active-card .ability-border.border-1 {
border-color:#00e5a066
}
.s2-stage .ability-card.active-card .ability-border.border-2 {
border-color:#a855f766
}
.s2-stage .ability-card.active-card .ability-border.border-3 {
border-color:#f59e0b66
}
.s2-stage .ability-icon-wrap {
position:relative;width:36px;height:36px;flex-shrink:0
}
.s2-stage .ability-icon-bg {
position:absolute;inset:0;border-radius:8px;transform:rotate(-5deg)
}
.s2-stage .ability-icon-bg.bg-0 {
background:var(--c-primary-12)
}
.s2-stage .ability-icon-bg.bg-1 {
background:#00e5a01f
}
.s2-stage .ability-icon-bg.bg-2 {
background:#a855f71f
}
.s2-stage .ability-icon-bg.bg-3 {
background:#f59e0b1f
}
.s2-stage .ability-icon {
position:absolute;inset:0;display:flex;align-items:center;justify-content:center
}
.s2-stage .ability-icon.icon-0 {
color:var(--c-primary-80)
}
.s2-stage .ability-icon.icon-1 {
color:#00e5a0cc
}
.s2-stage .ability-icon.icon-2 {
color:#a855f7cc
}
.s2-stage .ability-icon.icon-3 {
color:#f59e0bcc
}
.s2-stage .ability-icon svg {
width:20px!important;height:20px!important
}
.s2-stage .ability-text {
flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem
}
.s2-stage .ability-title {
font-size:.8rem;font-weight:500;color:#dce6f0e6
}
.s2-stage .ability-brief {
font-size:.65rem;color:#8c99a099;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.s2-stage .ability-arrow {
flex-shrink:0;opacity:0;transform:translate(4px);transition:all .25s ease;color:var(--c-primary-60)
}
.s2-stage .ability-arrow.show {
opacity:1;transform:translate(0)
}
.s2-stage .pipeline-section {
display:flex;flex-direction:column
}
.s2-stage .pipeline-row {
position:relative;display:flex;align-items:flex-end
}
.s2-stage .global-track-line {
position:absolute;bottom:calc(.8rem + 8px);left:3%;right:3%;height:2px;background:var(--w-4);border-radius:1px
}
.s2-stage .global-track-fill {
height:100%;border-radius:1px;background:linear-gradient(90deg,var(--c-primary-50),rgba(168,85,247,.4),rgba(245,158,11,.4));box-shadow:0 0 8px var(--c-primary-20);transition:width .8s cubic-bezier(.4,0,.2,1)
}
.s2-stage .phase-group {
flex:1;display:flex;flex-direction:column;align-items:center;gap:.6rem
}
.s2-stage .phase-label {
display:flex;align-items:center;gap:.4rem;padding:.25rem .9rem;border-radius:100px;font-size:.75rem;font-weight:500;letter-spacing:.05em;white-space:nowrap
}
.s2-stage .phase-num {
font-family:Courier New,monospace;font-weight:700;font-size:.7rem;opacity:.6
}
.s2-stage .phase-label.label-0 {
background:var(--c-primary-8);color:var(--c-primary-70);border:1px solid var(--c-primary-15)
}
.s2-stage .phase-label.label-1 {
background:#a855f714;color:#a855f7b3;border:1px solid rgba(168,85,247,.15)
}
.s2-stage .phase-label.label-2 {
background:#f59e0b14;color:#f59e0bb3;border:1px solid rgba(245,158,11,.15)
}
.s2-stage .phase-nodes {
display:flex;width:100%
}
.s2-stage .phase-bridge {
width:2.5rem;flex-shrink:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:calc(.8rem + 7px)
}
.s2-stage .bridge-line {
width:100%;height:2px;border-radius:1px;transition:all .6s ease
}
.s2-stage .phase-bridge.bridge-1 .bridge-line {
background:linear-gradient(90deg,var(--c-primary-12),rgba(168,85,247,.12))
}
.s2-stage .phase-bridge.bridge-2 .bridge-line {
background:linear-gradient(90deg,#a855f71f,#f59e0b1f)
}
.s2-stage .phase-bridge.bridge-1 .bridge-line.lit {
background:linear-gradient(90deg,var(--c-primary-50),rgba(168,85,247,.5));box-shadow:0 0 6px #648ff04d
}
.s2-stage .phase-bridge.bridge-2 .bridge-line.lit {
background:linear-gradient(90deg,#a855f780,#f59e0b80);box-shadow:0 0 6px #ce79814d
}
.s2-stage .p-node {
display:flex;flex-direction:column;align-items:center;gap:.35rem;flex:1;position:relative;z-index:1;transition:all .3s ease
}
.s2-stage .p-dot {
width:16px;height:16px;border-radius:50%;background:#0f0f14;border:2px solid var(--w-8);display:flex;align-items:center;justify-content:center;transition:all .4s ease
}
.s2-stage .p-dot-inner {
width:6px;height:6px;border-radius:50%;background:var(--w-8);transition:all .4s ease
}
.s2-stage .p-node.active .p-dot.dot-0 {
border-color:var(--c-primary-80);box-shadow:0 0 12px var(--c-primary-50)
}
.s2-stage .p-node.active .p-dot.dot-0 .p-dot-inner {
background:#00cae0;box-shadow:0 0 5px var(--c-primary-80)
}
.s2-stage .p-node.passed .p-dot.dot-0 {
border-color:var(--c-primary-40)
}
.s2-stage .p-node.passed .p-dot.dot-0 .p-dot-inner {
background:var(--c-primary-50)
}
.s2-stage .p-node.active .p-dot.dot-1 {
border-color:#a855f7cc;box-shadow:0 0 12px #a855f780
}
.s2-stage .p-node.active .p-dot.dot-1 .p-dot-inner {
background:#a855f7;box-shadow:0 0 5px #a855f7cc
}
.s2-stage .p-node.passed .p-dot.dot-1 {
border-color:#a855f766
}
.s2-stage .p-node.passed .p-dot.dot-1 .p-dot-inner {
background:#a855f780
}
.s2-stage .p-node.active .p-dot.dot-2 {
border-color:#f59e0bcc;box-shadow:0 0 12px #f59e0b80
}
.s2-stage .p-node.active .p-dot.dot-2 .p-dot-inner {
background:#f59e0b;box-shadow:0 0 5px #f59e0bcc
}
.s2-stage .p-node.passed .p-dot.dot-2 {
border-color:#f59e0b66
}
.s2-stage .p-node.passed .p-dot.dot-2 .p-dot-inner {
background:#f59e0b80
}
.s2-stage .p-label {
font-size:.8rem;color:var(--w-25);white-space:nowrap;text-align:center;transition:all .3s ease
}
.s2-stage .p-node.active .p-label {
color:var(--w-95);font-weight:600
}
.s2-stage .p-node.passed .p-label {
color:var(--w-45)
}
.s2-stage .corner-decor {
position:absolute;width:80px;height:80px;color:var(--c-primary-30);z-index:2;pointer-events:none
}
.s2-stage .corner-decor svg {
width:100%;height:100%
}
.s2-stage .top-right {
top:20px;right:20px
}
.s2-stage .bottom-left {
bottom:20px;left:20px
}
.s2-stage {
color:var(--text-secondary);border-color:var(--w-12)
}
.s2-stage {
background:linear-gradient(135deg,var(--text-primary) 0%,rgb(0,130,165) 50%,rgb(5,150,120) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text
}
.s2-stage {
background:linear-gradient(145deg,var(--bg-card-2) 0%,var(--bg-panel) 100%);border:1px solid var(--w-10);box-shadow:0 8px 28px #0000000f
}
.s2-stage {
color:var(--text-primary)
}
.s2-stage {
color:var(--text-secondary)
}
.s2-stage {
background:var(--bg-card-2);border:1px solid var(--w-10)
}
.s2-stage {
background:var(--bg-hover-solid)
}
.s2-stage {
background:var(--bg-panel)
}
.s2-stage {
color:var(--text-primary)
}
.s2-stage {
color:var(--text-tertiary)
}
.s2-stage {
animation:mjS2QiShowGlowLight-ec5fb97b 2.5s ease-in-out infinite
}
@keyframes mjS2QiShowGlowLight-ec5fb97b{0%,to{box-shadow:0 0 20px #00a1c21a,0 10px 36px -10px #00000014}50%{box-shadow:0 0 30px #00a1c22e,0 14px 44px -10px #0000001a}}
.s2-stage {
background:var(--w-12)
}
.s2-stage {
background:var(--w-20)
}
.s2-stage {
background:var(--bg-card-2);border-color:var(--w-15)
}
.s2-stage {
background:var(--w-20)
}
.s2-stage {
color:var(--text-tertiary)
}
.s2-stage {
color:var(--text-primary)
}
.s2-stage {
color:var(--text-secondary)
}
.s2-stage {
background:var(--w-10)
}
.s2-stage .xiangmu-modal-overlay {
position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-dff07870 .2s ease
}
@keyframes fadeIn-dff07870{0%{opacity:0}to{opacity:1}}
.s2-stage .xiangmu-modal {
width:90%;max-width:42rem;max-height:90vh;background:var(--bg-page);border:1px solid var(--c-primary-20);border-radius:1rem;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 0 1px var(--c-primary-10),0 24px 48px var(--b-60),0 0 80px var(--c-primary-6);animation:slideIn-dff07870 .3s ease
}
@keyframes slideIn-dff07870{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.s2-stage .modal-header {
display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--c-primary-10);background:linear-gradient(180deg,var(--c-primary-6) 0%,transparent 100%)
}
.s2-stage .header-left {
display:flex;align-items:center;gap:.875rem
}
.s2-stage .header-icon {
width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--c-primary-20) 0%,rgba(0,180,200,.12) 100%);border-radius:.75rem;color:var(--color-primary)
}
.s2-stage .header-title h3 {
margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--w-95)
}
.s2-stage .header-title p {
margin:0;font-size:.75rem;color:var(--w-45)
}
.s2-stage .close-btn {
width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-50);cursor:pointer;transition:all .2s ease
}
.s2-stage .close-btn:hover {
background:#ff505026;border-color:#ff50504d;color:#ff6464e6
}
.s2-stage .modal-content {
flex:1;overflow-y:auto;padding:1.5rem;scrollbar-width:thin;scrollbar-color:var(--w-8) transparent
}
.s2-stage .modal-content::-webkit-scrollbar {
width:6px
}
.s2-stage .modal-content::-webkit-scrollbar-thumb {
background:var(--w-10);border-radius:3px
}
.s2-stage .form-item {
margin-bottom:1.25rem;position:relative
}
.s2-stage .form-label {
display:block;font-size:.8125rem;font-weight:500;color:var(--w-70);margin-bottom:.5rem
}
.s2-stage .required {
color:#ef4444;margin-left:.25rem
}
.s2-stage .form-input {
width:100%;height:2.75rem;padding:0 1rem;background:var(--w-3);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-90);font-size:.9375rem;transition:all .2s ease;box-sizing:border-box
}
.s2-stage .form-input:focus {
outline:none;border-color:var(--c-primary-50);background:var(--c-primary-5)
}
.s2-stage .form-input::placeholder {
color:var(--w-30)
}
.s2-stage .form-textarea {
width:100%;padding:.75rem 1rem;background:var(--w-3);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-90);font-size:.9375rem;resize:vertical;min-height:5rem;transition:all .2s ease;font-family:inherit;box-sizing:border-box
}
.s2-stage .form-textarea:focus {
outline:none;border-color:var(--c-primary-50);background:var(--c-primary-5)
}
.s2-stage .form-textarea::placeholder {
color:var(--w-30)
}
.s2-stage .input-counter {
position:absolute;right:0;top:0;font-size:.6875rem;color:var(--w-30)
}
.s2-stage .cover-item {
text-align:center
}
.s2-stage .cover-upload {
position:relative;width:100%;aspect-ratio:16 / 9;max-width:16rem;margin:0 auto;border-radius:.75rem;overflow:hidden;cursor:pointer;background:var(--w-3);border:2px dashed var(--w-10);transition:all .2s ease
}
.s2-stage .cover-upload:hover {
border-color:var(--c-primary-40);background:var(--c-primary-5)
}
.s2-stage .cover-preview {
width:100%;height:100%;object-fit:cover
}
.s2-stage .cover-placeholder {
width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--w-30)
}
.s2-stage .cover-placeholder span {
font-size:.75rem
}
.s2-stage .cover-overlay {
position:absolute;inset:0;background:var(--b-60);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease
}
.s2-stage .cover-upload:hover .cover-overlay {
opacity:1
}
.s2-stage .cover-overlay span {
font-size:.8125rem;color:var(--w-90);background:var(--c-primary-30);padding:.375rem .75rem;border-radius:.375rem
}
.s2-stage .style-btn {
display:flex;align-items:center;padding:.875rem 1rem;background:var(--w-3);border:2px dashed var(--w-15);border-radius:.75rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .style-btn:hover {
border-color:#fb923c66;background:#fb923c0d
}
.s2-stage .style-btn.selected {
border-style:solid;border-color:#fb923c66;background:linear-gradient(135deg,#fb923c14,#fb923c05)
}
.s2-stage .style-empty {
display:flex;align-items:center;gap:.75rem;width:100%
}
.s2-stage .style-icon {
width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#fb923c1a;border-radius:.5rem;color:#fb923c
}
.s2-stage .style-placeholder {
color:var(--w-40);font-size:.875rem
}
.s2-stage .style-selected {
display:flex;align-items:center;gap:.75rem;width:100%
}
.s2-stage .style-thumb {
width:3rem;height:3rem;border-radius:.5rem;object-fit:cover;border:1px solid rgba(251,146,60,.3)
}
.s2-stage .style-info {
display:flex;flex-direction:column;gap:.125rem
}
.s2-stage .style-name {
font-size:.9375rem;font-weight:500;color:var(--w-90)
}
.s2-stage .style-hint {
font-size:.6875rem;color:#fb923cb3
}
.s2-stage .orientation-selector {
display:flex;gap:.75rem
}
.s2-stage .orientation-btn {
flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--w-3);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-50);cursor:pointer;transition:all .2s ease
}
.s2-stage .orientation-btn:hover {
background:var(--w-5);border-color:var(--w-20)
}
.s2-stage .orientation-btn.active {
background:var(--c-primary-10);border-color:var(--c-primary-50);color:var(--color-primary)
}
.s2-stage .orientation-btn span {
font-size:.8125rem;font-weight:500
}
.s2-stage .modal-footer {
display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--w-5);background:var(--bg-page-2)
}
.s2-stage .footer-actions {
display:flex;align-items:center;gap:.75rem
}
.s2-stage .btn-secondary {
padding:.625rem 1.25rem;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-70);font-size:.875rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-secondary:hover {
background:var(--w-10);color:var(--w-90)
}
.s2-stage .btn-primary {
padding:.625rem 1.5rem;background:linear-gradient(135deg,var(--color-primary) 0%,rgb(0,180,200) 100%);border:none;border-radius:.5rem;color:var(--w-100);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-primary:hover:not(:disabled) {
transform:translateY(-1px);box-shadow:0 4px 12px var(--c-primary-30)
}
.s2-stage .btn-primary:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage {
background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)
}
.s2-stage {
background:linear-gradient(145deg,#fff,#fafcff,#fff);border:1px solid rgba(0,0,0,.08);box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000f
}
.s2-stage {
border-bottom-color:#0000000f;background:linear-gradient(180deg,rgba(0,161,194,.04) 0%,transparent 100%)
}
.s2-stage {
background:linear-gradient(135deg,#00a1c21f,#008cb414);color:#0082a5
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#646e82
}
.s2-stage {
background:#00000008;border-color:#00000014;color:#828ca0
}
.s2-stage {
background:#ef444414;border-color:#ef444433;color:#dc3232
}
.s2-stage {
background:#0000001a
}
.s2-stage {
color:#283246
}
.s2-stage {
background:#fff;border-color:#0000001a;color:#141928;box-shadow:0 1px 2px #0000000a
}
.s2-stage {
border-color:#00a1c266;background:#fff;box-shadow:0 0 0 3px #00a1c214
}
.s2-stage {
color:#a0a5b4
}
.s2-stage {
background:#fff;border-color:#0000001a;color:#141928;box-shadow:0 1px 2px #0000000a
}
.s2-stage {
border-color:#00a1c266;background:#fff;box-shadow:0 0 0 3px #00a1c214
}
.s2-stage {
color:#a0a5b4
}
.s2-stage {
color:#a0a5b4
}
.s2-stage {
background:#f8fafc;border-color:#0000001f
}
.s2-stage {
border-color:#00a1c259;background:#00a1c208
}
.s2-stage {
color:#a0a5b4
}
.s2-stage {
background:#00000059
}
.s2-stage {
color:#fff;background:#00a1c2d9
}
.s2-stage {
background:#fff;border-color:#0000001f;box-shadow:0 1px 3px #0000000a
}
.s2-stage {
border-color:#c878004d;background:#f59e0b08;box-shadow:0 2px 8px #0000000f
}
.s2-stage {
border-color:#c8780059;background:#f59e0b0a;box-shadow:0 0 0 3px #f59e0b0f
}
.s2-stage {
color:#a0a5b4
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#b46e14
}
.s2-stage {
background:#fff;border-color:#0000001a;color:#646e82;box-shadow:0 1px 2px #0000000a
}
.s2-stage {
background:#f8fafc;border-color:#00000029
}
.s2-stage {
background:#00a1c20f;border-color:#00a1c259;color:#0082a5;box-shadow:0 0 0 3px #00a1c214
}
.s2-stage {
border-top-color:#0000000f;background:#fcfdff
}
.s2-stage {
background:#fff;border-color:#0000001f;color:#3c465a
}
.s2-stage {
background:#f5f7fa;border-color:#0003;color:#141928
}
.s2-stage {
background:linear-gradient(135deg,#008caf,#00a0be);color:#fff
}
.s2-stage {
box-shadow:0 4px 12px #00a1c24d
}
.s2-stage .zhangjie-modal-overlay {
position:fixed;inset:0;background:var(--b-60);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-a73268a1 .2s ease
}
@keyframes fadeIn-a73268a1{0%{opacity:0}to{opacity:1}}
.s2-stage .zhangjie-modal {
background:#1a1a1a;border-radius:12px;width:90%;max-width:480px;box-shadow:0 8px 32px var(--b-40);animation:slideUp-a73268a1 .3s ease;overflow:hidden
}
@keyframes slideUp-a73268a1{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.s2-stage .modal-header {
display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--w-8)
}
.s2-stage .header-left {
display:flex;align-items:center;gap:12px
}
.s2-stage .header-icon {
width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,var(--c-primary-30) 0%,rgba(0,150,180,.2) 100%);display:flex;align-items:center;justify-content:center;color:var(--color-primary)
}
.s2-stage .header-title h3 {
font-size:16px;font-weight:600;color:var(--w-100);margin:0 0 4px
}
.s2-stage .header-title p {
font-size:13px;color:var(--w-50);margin:0
}
.s2-stage .close-btn {
width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:var(--w-50);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s
}
.s2-stage .close-btn:hover {
background:var(--w-10);color:var(--w-100)
}
.s2-stage .modal-content {
padding:24px;display:flex;flex-direction:column;gap:20px
}
.s2-stage .form-item {
position:relative
}
.s2-stage .form-label {
display:block;font-size:13px;font-weight:500;color:var(--w-90);margin-bottom:8px
}
.s2-stage .required {
color:#ff4757;margin-left:2px
}
.s2-stage .form-input {
width:100%;padding:12px 14px;background:var(--w-5);border:1px solid var(--w-10);border-radius:8px;color:var(--w-100);font-size:14px;transition:all .2s;outline:none;box-sizing:border-box
}
.s2-stage .form-input::placeholder {
color:var(--w-30)
}
.s2-stage .form-input:focus {
background:var(--w-8);border-color:var(--color-primary)
}
.s2-stage .form-input[type=number]::-webkit-inner-spin-button,
.s2-stage .form-input[type=number]::-webkit-outer-spin-button {
-webkit-appearance:none;appearance:none;margin:0
}
.s2-stage .form-input[type=number] {
-moz-appearance:textfield;appearance:textfield
}
.s2-stage .input-counter {
position:absolute;bottom:-20px;right:0;font-size:12px;color:var(--w-30)
}
.s2-stage .form-hint {
margin-top:6px;font-size:12px;color:var(--w-40)
}
.s2-stage .form-error-tip {
display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:13px;animation:shakeX-a73268a1 .3s ease
}
.s2-stage .form-error-tip svg {
flex-shrink:0;color:#ef4444
}
@keyframes shakeX-a73268a1{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}
.s2-stage .input-error {
border-color:#ef444480!important
}
.s2-stage .input-error:focus {
border-color:#ef4444!important
}
.s2-stage .modal-footer {
display:flex;gap:12px;padding:16px 24px;border-top:1px solid var(--w-8);background:var(--b-20)
}
.s2-stage .btn-cancel,
.s2-stage .btn-submit {
flex:1;height:40px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s
}
.s2-stage .btn-cancel {
background:var(--w-8);color:var(--w-70)
}
.s2-stage .btn-cancel:hover {
background:var(--w-12);color:var(--w-100)
}
.s2-stage .btn-submit {
background:linear-gradient(135deg,var(--color-primary) 0%,rgb(0,150,180) 100%);color:#fff
}
.s2-stage .btn-submit:hover:not(:disabled) {
transform:translateY(-1px);box-shadow:0 4px 12px var(--c-primary-40)
}
.s2-stage .btn-submit:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage {
background:var(--bg-card-2);border:1px solid var(--w-10)
}
.s2-stage {
background:var(--bg-panel)
}
.s2-stage .fengge-modal-overlay {
position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-fa4fa685 .2s ease
}
@keyframes fadeIn-fa4fa685{0%{opacity:0}to{opacity:1}}
.s2-stage .fengge-modal {
width:90%;max-width:72rem;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);background:var(--bg-page);border:1px solid rgba(251,146,60,.2);border-radius:1rem;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 0 1px #fb923c1a,0 24px 48px var(--b-60),0 0 80px #fb923c0f;animation:slideIn-fa4fa685 .3s ease
}
@keyframes slideIn-fa4fa685{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.s2-stage .modal-header {
display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(251,146,60,.1);background:linear-gradient(180deg,rgba(251,146,60,.08) 0%,transparent 100%);flex-shrink:0
}
.s2-stage .header-left {
display:flex;align-items:center;gap:.875rem
}
.s2-stage .header-icon {
width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fb923c40,#ea580c26);border-radius:.75rem;color:#fb923c
}
.s2-stage .header-title h3 {
margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--w-95)
}
.s2-stage .header-title p {
margin:0;font-size:.75rem;color:var(--w-45)
}
.s2-stage .close-btn {
width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-50);cursor:pointer;transition:all .2s ease
}
.s2-stage .close-btn:hover {
background:#ff505026;border-color:#ff50504d;color:#ff6464e6
}
.s2-stage .modal-tabs {
display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;border-bottom:1px solid var(--w-5);overflow-x:auto;scrollbar-width:none;flex-shrink:0
}
.s2-stage .modal-tabs::-webkit-scrollbar {
display:none
}
.s2-stage .tabs-left {
display:flex;gap:.25rem
}
.s2-stage .add-style-btn {
display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:linear-gradient(135deg,#fb923c26,#ea580c1a);border:1px solid rgba(251,146,60,.3);border-radius:.5rem;color:#fb923c;font-size:.8125rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .add-style-btn:hover {
background:linear-gradient(135deg,#fb923c40,#ea580c26);border-color:#fb923c80;transform:translateY(-1px)
}
.s2-stage .tab-btn {
padding:.5rem 1rem;background:transparent;border:1px solid var(--w-8);border-radius:2rem;color:var(--w-50);font-size:.8125rem;white-space:nowrap;cursor:pointer;transition:all .2s ease
}
.s2-stage .tab-btn:hover {
background:var(--w-5);color:var(--w-80)
}
.s2-stage .tab-btn.active {
background:linear-gradient(135deg,#fb923c33,#ea580c26);border-color:#fb923c66;color:#fb923c
}
.s2-stage .modal-content {
overflow-y:auto;padding:1.5rem;scrollbar-width:thin;scrollbar-color:var(--w-8) transparent;height:30rem;flex-shrink:1;min-height:0
}
.s2-stage .modal-content::-webkit-scrollbar {
width:6px
}
.s2-stage .modal-content::-webkit-scrollbar-track {
background:transparent
}
.s2-stage .modal-content::-webkit-scrollbar-thumb {
background:var(--w-10);border-radius:3px
}
.s2-stage .modal-content::-webkit-scrollbar-thumb:hover {
background:#ffffff2e
}
.s2-stage .loading-state {
display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem;color:var(--w-50)
}
.s2-stage .loading-spinner {
width:2rem;height:2rem;border:2px solid rgba(251,146,60,.1);border-top-color:#fb923c;border-radius:50%;animation:spin-fa4fa685 .8s linear infinite
}
@keyframes spin-fa4fa685{to{transform:rotate(360deg)}}
.s2-stage .empty-state {
display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center
}
.s2-stage .empty-illustration {
color:#fb923c40;margin-bottom:1.5rem
}
.s2-stage .empty-state h4 {
margin:0 0 .5rem;font-size:1rem;font-weight:500;color:var(--w-70)
}
.s2-stage .empty-state p {
margin:0;font-size:.8125rem;color:var(--w-40)
}
.s2-stage .style-grid {
display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1rem
}
.s2-stage .style-card {
position:relative;background:#141519;border:1px solid var(--w-6);border-radius:.75rem;overflow:hidden;cursor:pointer;transition:all .3s ease
}
.s2-stage .style-card:hover {
border-color:#fb923c66;transform:translateY(-4px);box-shadow:0 16px 40px var(--b-30),0 0 30px #fb923c1a
}
.s2-stage .style-card.selected {
border-color:#fb923c99;box-shadow:0 0 30px #fb923c33
}
.s2-stage .style-preview {
position:relative;aspect-ratio:4 / 3;overflow:hidden
}
.s2-stage .style-preview img {
width:100%;height:100%;object-fit:cover
}
.s2-stage .preview-placeholder {
width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600
}
.s2-stage .preview-text {
background:var(--b-30);padding:.5rem 1rem;border-radius:.5rem;color:var(--w-90);font-size:.875rem
}
.s2-stage .select-indicator {
position:absolute;top:.625rem;right:.625rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fb923c,#ea580c);border-radius:50%;color:var(--w-100);box-shadow:0 4px 12px #fb923c80;animation:popIn-fa4fa685 .3s ease
}
@keyframes popIn-fa4fa685{0%{transform:scale(0)}80%{transform:scale(1.1)}to{transform:scale(1)}}
.s2-stage .style-info {
padding:.875rem
}
.s2-stage .style-name {
font-size:.875rem;font-weight:500;color:var(--w-90);white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.s2-stage .modal-preview {
padding:1rem 1.5rem;background:#fb923c0d;border-top:1px solid rgba(251,146,60,.1);flex-shrink:0
}
.s2-stage .preview-header {
display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem
}
.s2-stage .preview-label {
font-size:.75rem;color:var(--w-50)
}
.s2-stage .preview-name {
font-size:.875rem;font-weight:500;color:#fb923c
}
.s2-stage .preview-prompt {
display:flex;gap:.5rem
}
.s2-stage .prompt-label {
font-size:.75rem;color:var(--w-40);flex-shrink:0
}
.s2-stage .prompt-text {
margin:0;font-size:.75rem;color:var(--w-60);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.s2-stage .modal-footer {
display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--w-5);background:var(--bg-page-2);flex-shrink:0
}
.s2-stage .footer-info {
font-size:.8125rem;color:var(--w-50)
}
.s2-stage .footer-info strong {
color:#fb923c;font-weight:600
}
.s2-stage .footer-actions {
display:flex;gap:.75rem
}
.s2-stage .btn-secondary {
padding:.625rem 1.25rem;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-70);font-size:.875rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-secondary:hover {
background:var(--w-10);color:var(--w-90)
}
.s2-stage .btn-primary {
padding:.625rem 1.5rem;background:linear-gradient(135deg,#fb923c,#ea580c);border:none;border-radius:.5rem;color:var(--w-100);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-primary:hover:not(:disabled) {
transform:translateY(-1px);box-shadow:0 4px 12px #fb923c4d
}
.s2-stage .btn-primary:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .zoom-icon {
position:absolute;bottom:.5rem;right:.5rem;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:#000000d9;border-radius:.5rem;color:var(--w-95);cursor:pointer;opacity:0;transition:all .2s ease
}
.s2-stage .style-card:hover .zoom-icon {
opacity:1
}
.s2-stage .zoom-icon:hover {
background:#fb923ce6;color:var(--w-100);transform:scale(1.05)
}
.s2-stage .style-badge {
position:absolute;top:.5rem;left:.5rem;padding:.125rem .5rem;background:var(--c-primary-85);border-radius:.25rem;font-size:.625rem;font-weight:500;color:var(--w-100)
}
.s2-stage .style-badge.system {
background:#fb923ccc
}
.s2-stage .loading-more {
display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;color:var(--w-50);font-size:.8125rem
}
.s2-stage .loading-spinner.small {
width:1.25rem;height:1.25rem
}
.s2-stage .image-preview-overlay {
position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn-fa4fa685 .2s ease
}
.s2-stage .image-preview-container {
max-width:90vw;max-height:90vh;display:flex;flex-direction:column
}
.s2-stage .preview-header {
display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--b-50);border-radius:.5rem .5rem 0 0
}
.s2-stage .preview-title {
font-size:1rem;font-weight:500;color:var(--w-90)
}
.s2-stage .preview-close {
width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--w-10);border:none;border-radius:.5rem;color:var(--w-70);cursor:pointer;transition:all .2s ease
}
.s2-stage .preview-close:hover {
background:#ff50504d;color:#ff6464
}
.s2-stage .preview-body {
flex:1;overflow:auto;display:flex;align-items:center;justify-content:center
}
.s2-stage .preview-body img,
.s2-stage .preview-body .preview-body-tu {
max-width:100%;max-height:calc(90vh - 5rem);object-fit:contain;border-radius:0 0 .5rem .5rem
}
.s2-stage .style-actions {
position:absolute;top:.5rem;right:.5rem;display:flex;flex-direction:column;gap:.25rem;opacity:0;transition:all .2s ease
}
.s2-stage .style-card:hover .style-actions {
opacity:1
}
.s2-stage .action-icon {
width:1.625rem;height:1.625rem;display:flex;align-items:center;justify-content:center;background:var(--b-80);border-radius:.375rem;color:var(--w-85);cursor:pointer;transition:all .2s ease
}
.s2-stage .action-icon.edit-icon:hover {
background:var(--color-primary);color:var(--w-100)
}
.s2-stage .action-icon.delete-icon:hover {
background:#ef4444;color:var(--w-100)
}
.s2-stage .edit-modal-overlay {
position:fixed;inset:0;background:var(--b-80);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10002;animation:fadeIn-fa4fa685 .2s ease
}
.s2-stage .edit-modal {
width:90%;max-width:32rem;background:var(--bg-page);border:1px solid rgba(251,146,60,.2);border-radius:1rem;overflow:hidden;box-shadow:0 0 0 1px #fb923c1a,0 24px 48px var(--b-60);animation:slideIn-fa4fa685 .3s ease
}
.s2-stage .edit-modal-header {
display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(251,146,60,.1);background:linear-gradient(180deg,rgba(251,146,60,.08) 0%,transparent 100%)
}
.s2-stage .edit-modal-header h3 {
margin:0;font-size:1.125rem;font-weight:600;color:var(--w-95)
}
.s2-stage .edit-modal-body {
padding:1.5rem;max-height:65vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--w-8) transparent
}
.s2-stage .edit-modal-body::-webkit-scrollbar {
width:6px
}
.s2-stage .edit-modal-body::-webkit-scrollbar-track {
background:transparent
}
.s2-stage .edit-modal-body::-webkit-scrollbar-thumb {
background:var(--w-10);border-radius:3px
}
.s2-stage .edit-modal-body::-webkit-scrollbar-thumb:hover {
background:#ffffff2e
}
.s2-stage .form-group {
margin-bottom:1.25rem
}
.s2-stage .form-group:last-child {
margin-bottom:0
}
.s2-stage .form-label {
display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--w-85)
}
.s2-stage .form-label .required {
color:#fb923c;margin-right:.25rem
}
.s2-stage .form-input {
width:100%;padding:.75rem 1rem;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-90);font-size:.875rem;transition:all .2s ease;box-sizing:border-box
}
.s2-stage .form-input:focus {
outline:none;border-color:#fb923c80;background:var(--w-8)
}
.s2-stage .form-input::placeholder {
color:var(--w-35)
}
.s2-stage .form-textarea {
width:100%;padding:.75rem 1rem;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-90);font-size:.875rem;line-height:1.5;resize:none;min-height:6rem;transition:all .2s ease;box-sizing:border-box
}
.s2-stage .form-textarea:focus {
outline:none;border-color:#fb923c80;background:var(--w-8)
}
.s2-stage .form-textarea::placeholder {
color:var(--w-35)
}
.s2-stage .form-hint {
margin:.5rem 0 0;font-size:.75rem;color:var(--w-40);line-height:1.4
}
.s2-stage .edit-modal-footer {
display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--w-5);background:var(--bg-page-2)
}
.s2-stage .image-upload-area {
position:relative;width:100%;aspect-ratio:16 / 9;background:var(--w-3);border:2px dashed var(--w-15);border-radius:.75rem;cursor:pointer;overflow:hidden;transition:all .2s ease
}
.s2-stage .image-upload-area:hover {
border-color:#fb923c66;background:var(--w-5)
}
.s2-stage .image-input-hidden {
display:none
}
.s2-stage .upload-placeholder {
position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--w-40)
}
.s2-stage .upload-placeholder span {
font-size:.875rem
}
.s2-stage .upload-preview-img {
width:100%;height:100%;object-fit:cover
}
.s2-stage .upload-overlay {
position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--b-60);opacity:0;transition:opacity .2s ease
}
.s2-stage .image-upload-area:hover .upload-overlay {
opacity:1
}
.s2-stage .upload-overlay span {
color:var(--w-90);font-size:.875rem
}
.s2-stage .remove-image-btn {
position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:#000000b3;border:none;border-radius:50%;color:var(--w-80);cursor:pointer;opacity:0;transition:all .2s ease;z-index:1
}
.s2-stage .image-upload-area:hover .remove-image-btn {
opacity:1
}
.s2-stage .remove-image-btn:hover {
background:#ff5050cc;color:var(--w-100)
}
.s2-stage .tabs-right-btns {
display:flex;gap:.5rem
}
.s2-stage .add-style-btn.ai-btn {
background:linear-gradient(135deg,#8b5cf626,#6366f11a);border-color:#8b5cf64d;color:#a78bfa
}
.s2-stage .add-style-btn.ai-btn:hover {
background:linear-gradient(135deg,#8b5cf640,#6366f126);border-color:#8b5cf680
}
.s2-stage .form-hint-warning {
color:#fb923cb3!important
}
.s2-stage .ai-modal-overlay {
position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10003;animation:fadeIn-fa4fa685 .2s ease
}
.s2-stage .ai-modal {
width:90%;max-width:48rem;max-height:85vh;background:var(--bg-page);border:1px solid rgba(139,92,246,.2);border-radius:1rem;overflow:hidden;box-shadow:0 0 0 1px #8b5cf61a,0 24px 48px var(--b-60),0 0 80px #8b5cf614;animation:slideIn-fa4fa685 .3s ease;display:flex;flex-direction:column
}
.s2-stage .ai-modal-header {
display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(139,92,246,.1);background:linear-gradient(180deg,rgba(139,92,246,.08) 0%,transparent 100%);flex-shrink:0
}
.s2-stage .ai-modal-header .header-left {
display:flex;align-items:center;gap:.75rem
}
.s2-stage .ai-modal-header h3 {
margin:0;font-size:1.125rem;font-weight:600;color:var(--w-95)
}
.s2-stage .header-icon.ai-icon {
width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf640,#6366f126);border-radius:.625rem;color:#a78bfa
}
.s2-stage .ai-modal-body {
padding:1.5rem;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.4) var(--w-5)
}
.s2-stage .ai-modal-body::-webkit-scrollbar {
width:8px
}
.s2-stage .ai-modal-body::-webkit-scrollbar-track {
background:var(--w-5);border-radius:4px
}
.s2-stage .ai-modal-body::-webkit-scrollbar-thumb {
background:#8b5cf666;border-radius:4px
}
.s2-stage .ai-modal-body::-webkit-scrollbar-thumb:hover {
background:#8b5cf699
}
.s2-stage .ai-loading-state {
display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center
}
.s2-stage .ai-loading-spinner {
width:3rem;height:3rem;border:3px solid rgba(139,92,246,.15);border-top-color:#a78bfa;border-radius:50%;animation:spin-fa4fa685 .8s linear infinite;margin-bottom:1.5rem
}
.s2-stage .ai-loading-text {
margin:0 0 .5rem;font-size:1rem;font-weight:500;color:var(--w-85)
}
.s2-stage .ai-loading-hint {
margin:0;font-size:.8125rem;color:#fb923ccc
}
.s2-stage .ai-result-hint {
margin:0 0 1.25rem;font-size:.875rem;color:var(--w-50);line-height:1.5
}
.s2-stage .ai-versions {
display:flex;flex-direction:column;gap:1.5rem
}
.s2-stage .ai-modal-footer {
display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--w-5);background:var(--bg-page-2);flex-shrink:0
}
.s2-stage .version-group {
background:var(--w-2);border:1px solid var(--w-6);border-radius:.75rem;padding:1rem
}
.s2-stage .version-title {
font-size:.875rem;font-weight:600;color:#a78bfa;margin-bottom:.75rem;padding-left:.25rem;display:flex;align-items:center;gap:.5rem
}
.s2-stage .recommend-tag {
display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.7rem;font-weight:500;color:var(--w-100);background:linear-gradient(135deg,#f59e0b,#ea580c);border-radius:9999px;box-shadow:0 2px 4px #f59e0b4d
}
.s2-stage .version-options {
display:grid;grid-template-columns:1fr 1fr;gap:.75rem
}
.s2-stage .version-option {
position:relative;display:flex;align-items:flex-start;gap:.625rem;background:var(--w-3);border:1px solid var(--w-8);border-radius:.5rem;padding:.875rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .version-option:hover {
background:#8b5cf614;border-color:#8b5cf64d
}
.s2-stage .version-option.selected {
background:#ff880014;border-color:#ff880080
}
.s2-stage .option-check {
flex-shrink:0;margin-top:.125rem
}
.s2-stage .option-body {
flex:1;min-width:0
}
.s2-stage .option-label {
font-size:.6875rem;font-weight:500;color:var(--w-40);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem
}
.s2-stage .option-content {
font-size:.8125rem;color:var(--w-85);line-height:1.6;word-break:break-word
}
.s2-stage .ai-retry-section {
margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--w-6)
}
.s2-stage .ai-retry-input-wrap {
display:flex;gap:.5rem;align-items:center
}
.s2-stage .ai-retry-input {
flex:1;background:var(--w-4);border:1px solid var(--w-10);border-radius:.5rem;padding:.5rem .75rem;color:var(--w-90);font-size:.8125rem;outline:none;transition:border-color .2s ease
}
.s2-stage .ai-retry-input::placeholder {
color:var(--w-30)
}
.s2-stage .ai-retry-input:focus {
border-color:#8b5cf666
}
.s2-stage .ai-retry-btn {
flex-shrink:0;display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--w-6);border:1px solid var(--w-12);border-radius:.5rem;color:var(--w-70);font-size:.8125rem;cursor:pointer;transition:all .2s ease;white-space:nowrap
}
.s2-stage .ai-retry-btn:hover:not(:disabled) {
background:#8b5cf626;border-color:#8b5cf64d;color:var(--w-90)
}
.s2-stage .ai-retry-btn:disabled {
opacity:.4;cursor:not-allowed
}
.s2-stage .btn-primary.disabled {
opacity:.35;cursor:not-allowed;filter:grayscale(.5)
}
@media(max-width:640px) {
.s2-stage .version-options {
grid-template-columns:1fr
}.s2-stage .tabs-right-btns {
flex-direction:column;gap:.25rem
}.s2-stage .modal-header {
padding:.875rem 1rem
}.s2-stage .modal-tabs {
padding:.625rem 1rem
}.s2-stage .modal-content {
padding:1rem
}.s2-stage .modal-footer,
.s2-stage .modal-preview {
padding:.75rem 1rem
}
}
.s2-stage {
background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)
}
.s2-stage {
background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000f
}
.s2-stage {
background:linear-gradient(180deg,rgba(194,65,12,.04) 0%,transparent 100%);border-bottom-color:#0000000f
}
.s2-stage {
background:linear-gradient(135deg,#c2410c1a,#c2410c0f);color:#c2410c
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#555f73
}
.s2-stage {
background:#00000008;border-color:#0000000f;color:#5a6478
}
.s2-stage {
background:#dc26260f;border-color:#dc262626;color:#dc2626
}
.s2-stage {
background:#fcfdff;border-bottom-color:#0000000f
}
.s2-stage {
color:#414b64;border-color:#00000014
}
.s2-stage {
background:#00000008;color:#323746
}
.s2-stage {
background:#c2410c14;border-color:#c2410c40;color:#c2410c
}
.s2-stage {
background:linear-gradient(135deg,#c2410c0f,#c2410c08);border-color:#c2410c33;color:#c2410c
}
.s2-stage {
background:linear-gradient(135deg,#c2410c1a,#c2410c0f);border-color:#c2410c59
}
.s2-stage {
background:linear-gradient(135deg,#6d3ed80f,#4f46e508);border-color:#6d3ed833;color:#6d3ed8
}
.s2-stage {
background:linear-gradient(135deg,#6d3ed81a,#4f46e50f);border-color:#6d3ed859
}
.s2-stage {
background:#f6f8fc
}
.s2-stage {
background:#fff;border:1.5px solid rgba(0,0,0,.1);box-shadow:0 1px 4px #0000000d
}
.s2-stage {
border-color:#c2410c4d;box-shadow:0 4px 16px #00000014;transform:translateY(-2px)
}
.s2-stage {
border-color:#c2410c80;box-shadow:0 0 0 2px #c2410c1f,0 2px 8px #c2410c14
}
.s2-stage {
border-top:1px solid rgba(0,0,0,.06);background:transparent
}
.s2-stage {
color:#191e32;font-weight:500
}
.s2-stage {
background:#00000008;color:#505a6e
}
.s2-stage {
background:#ffffffeb;color:#3c4150;box-shadow:0 1px 4px #0000001a
}
.s2-stage {
background:#ffffffe0;color:#3c4150;box-shadow:0 1px 4px #0000001a
}
.s2-stage {
background:#c2410cd9;color:#fff
}
.s2-stage {
background-color:#fff;background:#fff;border-top:1px solid rgba(0,0,0,.06);padding:1rem 1.5rem 1.25rem
}
.s2-stage {
margin-bottom:.75rem;background:linear-gradient(135deg,#c2410c0f,#f59e0b0a);border:1px solid rgba(194,65,12,.12);border-radius:.5rem;padding:.625rem .875rem;display:flex;align-items:center;gap:.5rem
}
.s2-stage {
color:#786450;font-size:.8125rem;font-weight:500
}
.s2-stage {
color:#b43c0a;font-weight:700;font-size:.9rem
}
.s2-stage {
background:#fafbfd;border:1px solid rgba(0,0,0,.06);border-radius:.5rem;padding:.75rem 1rem;box-shadow:0 1px 3px #00000005
}
.s2-stage {
color:#414b64;font-weight:500
}
.s2-stage {
color:#374155;line-height:1.6
}
.s2-stage {
background-color:#fff;background:#fff;border-top:1px solid rgba(0,0,0,.06)
}
.s2-stage {
color:#414b64
}
.s2-stage {
color:#c2410c
}
.s2-stage {
background:#00000008;border-color:#00000014;color:#505a6e
}
.s2-stage {
background:#0000000f;color:#1e2332
}
.s2-stage,
.s2-stage {
color:#414b64
}
.s2-stage {
color:#323746
}
.s2-stage {
color:#5a6478
}
.s2-stage {
color:#c2410c26
}
.s2-stage {
background:#00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)
}
.s2-stage {
background:#fff;box-shadow:0 1px #0000000f
}
.s2-stage {
color:#191c2d
}
.s2-stage {
background:#0000000a;color:#414b64
}
.s2-stage {
background:#dc26260f;color:#dc2626
}
.s2-stage {
background:#fafbff
}
.s2-stage {
background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)
}
.s2-stage {
background:#fff;border-color:#00000014;box-shadow:0 8px 40px #0000001f
}
.s2-stage {
background:linear-gradient(180deg,rgba(194,65,12,.04) 0%,transparent 100%);border-bottom-color:#0000000f
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#282d3c
}
.s2-stage {
color:#c2410c
}
.s2-stage,
.s2-stage {
background:#f8fafd;border-color:#00000014;color:#191c2d
}
.s2-stage,
.s2-stage {
border-color:#c2410c59;background:#fff
}
.s2-stage,
.s2-stage {
color:#a0aab9
}
.s2-stage {
color:#5a6478
}
.s2-stage {
color:#c2410cb3!important
}
.s2-stage {
background:#fcfdff;border-top-color:#0000000f
}
.s2-stage {
background:#fafbfd;border-color:#0000001a
}
.s2-stage {
border-color:#c2410c4d;background:#f8fafd
}
.s2-stage {
color:#646e82
}
.s2-stage {
background:#0000004d
}
.s2-stage {
background:#0000004d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)
}
.s2-stage {
background:#fff;border-color:#00000014;box-shadow:0 8px 40px #0000001f
}
.s2-stage {
background:linear-gradient(180deg,rgba(109,62,216,.04) 0%,transparent 100%);border-bottom-color:#0000000f
}
.s2-stage {
color:#191c2d
}
.s2-stage {
background:linear-gradient(135deg,#6d3ed81a,#4f46e50f);color:#6d3ed8
}
.s2-stage {
background:#fcfdff;border-top-color:#0000000f
}
.s2-stage {
color:#282d3c
}
.s2-stage {
color:#c2410ccc
}
.s2-stage {
color:#414b64
}
.s2-stage {
background:#f8fafc;border-color:#0000000f
}
.s2-stage {
color:#6d3ed8
}
.s2-stage {
background:#fff;border-color:#0000000f
}
.s2-stage {
background:#6d3ed808;border-color:#6d3ed833
}
.s2-stage {
background:#c2410c0a;border-color:#c2410c4d
}
.s2-stage {
color:#555f73
}
.s2-stage {
color:#282d3c
}
.s2-stage {
stroke:#00000026
}
.s2-stage {
background:#f8fafd;border-color:#00000014;color:#191c2d
}
.s2-stage {
color:#a0aab9
}
.s2-stage {
border-color:#6d3ed84d
}
.s2-stage {
background:#00000008;border-color:#00000014;color:#505a6e
}
.s2-stage {
background:#6d3ed80f;border-color:#6d3ed833;color:#6d3ed8
}
.s2-stage {
border-top-color:#0000000f
}
.s2-stage .xiangmu-container {
width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden
}
.s2-stage .header {
padding:1rem;flex-shrink:0
}
.s2-stage .new-btn {
width:100%;height:2.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;background:var(--bg-input);border:1px solid var(--w-8);border-radius:.5rem;color:#8c99a0;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease
}
.s2-stage .new-btn:hover {
background:var(--bg-card-2);border-color:var(--c-primary-30);color:var(--color-primary)
}
.s2-stage .list-wrapper {
flex:1;overflow-y:auto;padding:0 1rem 1rem;scrollbar-width:thin;scrollbar-color:var(--w-6) transparent
}
.s2-stage .list-wrapper::-webkit-scrollbar {
width:4px
}
.s2-stage .list-wrapper::-webkit-scrollbar-thumb {
background:var(--w-6);border-radius:2px
}
.s2-stage .list-wrapper::-webkit-scrollbar-thumb:hover {
background:var(--w-12)
}
.s2-stage .loading-state {
display:flex;justify-content:center;padding:3rem
}
.s2-stage .loading-spinner {
width:1.5rem;height:1.5rem;border:2px solid var(--w-8);border-top-color:var(--color-primary);border-radius:50%;animation:spin-de22ccf0 .8s linear infinite
}
.s2-stage .loading-spinner.small {
width:1.25rem;height:1.25rem
}
@keyframes spin-de22ccf0{to{transform:rotate(360deg)}}
.s2-stage .load-more-spinner {
display:flex;justify-content:center;padding:.75rem
}
.s2-stage .empty-state {
display:flex;flex-direction:column;align-items:center;padding:3rem 1rem;gap:.75rem
}
.s2-stage .empty-icon {
color:var(--w-15)
}
.s2-stage .empty-text {
color:var(--w-40);font-size:.875rem
}
.s2-stage .project-card {
margin-bottom:.5rem;border-radius:.5rem;background:#121216;border:1px solid var(--w-4);overflow:hidden;transition:all .2s ease
}
.s2-stage .project-card:hover {
background:#16171b;border-color:var(--w-8)
}
.s2-stage .project-card.expanded {
background:#141519;border-color:var(--c-primary-25)
}
.s2-stage .card-header {
display:flex;align-items:center;gap:.5rem;padding:.75rem;cursor:pointer;transition:background .15s ease
}
.s2-stage .card-header:hover {
background:var(--w-2)
}
.s2-stage .expand-arrow {
width:.875rem;height:.875rem;display:flex;align-items:center;justify-content:center;color:var(--c-primary-50);transition:all .2s ease;flex-shrink:0;margin-right:-.25rem
}
.s2-stage .expand-arrow.rotated {
transform:rotate(90deg);color:var(--color-primary)
}
.s2-stage .card-cover {
width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:.5rem;overflow:hidden;background:var(--w-5)
}
.s2-stage .card-cover img {
width:100%;height:100%;object-fit:cover
}
.s2-stage .cover-placeholder-char {
width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;color:var(--c-primary-80);background:linear-gradient(135deg,var(--c-primary-15) 0%,rgba(0,150,180,.1) 100%);text-shadow:0 1px 2px var(--b-30)
}
.s2-stage .card-info {
flex:1;min-width:0
}
.s2-stage .card-title {
font-size:.875rem;font-weight:500;color:var(--w-85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.125rem
}
.s2-stage .project-card.expanded .card-title {
color:var(--color-primary)
}
.s2-stage .card-meta {
display:flex;align-items:center;gap:.5rem;font-size:.6875rem;min-width:0
}
.s2-stage .chapter-count {
color:#00cae073;flex-shrink:0;white-space:nowrap
}
.s2-stage .chapter-count.zero {
color:#8c99a080
}
.s2-stage .card-actions {
display:flex;flex-direction:column;gap:.25rem;opacity:0;transition:opacity .15s ease
}
.s2-stage .card-header:hover .card-actions {
opacity:1
}
.s2-stage .action-btn {
width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:var(--w-5);border:none;border-radius:.375rem;color:var(--w-50);cursor:pointer;transition:all .15s ease
}
.s2-stage .action-btn:hover {
background:var(--c-primary-15);color:var(--color-primary)
}
.s2-stage .action-btn.delete:hover {
background:#ef444426;color:#fca5a5
}
.s2-stage .expanded-content {
padding:0 .75rem .75rem 2.75rem
}
.s2-stage .card-desc {
margin-bottom:.75rem;padding:.5rem .75rem;font-size:.8125rem;color:#8c99a0;line-height:1.5;background:var(--bg-page-2);border-radius:.375rem
}
.s2-stage .resource-grid {
display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.75rem
}
.s2-stage .resource-grid.two-col {
grid-template-columns:repeat(2,1fr)
}
.s2-stage .resource-card {
display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem .5rem;background:#121216;border:1px solid var(--w-6);border-radius:.5rem;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden
}
.s2-stage .resource-card:before {
content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--glow-color, transparent) 0%,transparent 70%);opacity:0;transition:opacity .3s ease
}
.s2-stage .resource-card:hover:before {
opacity:1
}
.s2-stage .resource-card:hover {
transform:translateY(-2px);border-color:var(--border-color, rgba(255, 255, 255, .15));box-shadow:0 4px 12px var(--b-30)
}
.s2-stage .resource-card.asset {
--glow-color: rgba(236, 72, 153, .15);--border-color: rgba(236, 72, 153, .4)
}
.s2-stage .resource-card.asset .resource-icon {
background:#ec48991f;color:#f472b6
}
.s2-stage .resource-card.asset:hover .resource-icon {
background:#ec489933;box-shadow:0 0 12px #ec48994d
}
.s2-stage .resource-card.style {
--glow-color: rgba(251, 146, 60, .15);--border-color: rgba(251, 146, 60, .4)
}
.s2-stage .resource-card.style .resource-icon {
background:#fb923c1a;color:#fb923c
}
.s2-stage .resource-card.style:hover .resource-icon {
background:#fb923c33;box-shadow:0 0 12px #fb923c4d
}
.s2-stage .resource-icon {
width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .2s ease
}
.s2-stage .resource-label {
font-size:.6875rem;font-weight:500;color:var(--w-70);text-align:center
}
.s2-stage .resource-value {
font-size:.625rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center
}
.s2-stage .resource-value.asset {
color:#f472b6cc
}
.s2-stage .resource-value.style {
color:#fb923ccc
}
.s2-stage .chapters-section {
padding:.625rem;background:var(--bg-page-2);border-radius:.375rem
}
.s2-stage .chapters-header {
display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--w-50);letter-spacing:.05em
}
.s2-stage .add-chapter-btn {
width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--c-primary-30);border-radius:.375rem;color:var(--color-primary);cursor:pointer;transition:all .15s ease
}
.s2-stage .add-chapter-btn svg {
width:14px;height:14px
}
.s2-stage .add-chapter-btn:hover {
background:var(--c-primary-10);border-color:var(--c-primary-50)
}
.s2-stage .chapters-list {
display:flex;flex-direction:column;gap:.375rem;max-height:24rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-primary-20) transparent
}
.s2-stage .chapters-list::-webkit-scrollbar {
width:4px
}
.s2-stage .chapters-list::-webkit-scrollbar-track {
background:transparent
}
.s2-stage .chapters-list::-webkit-scrollbar-thumb {
background:var(--c-primary-20);border-radius:2px
}
.s2-stage .chapters-list::-webkit-scrollbar-thumb:hover {
background:var(--c-primary-40)
}
.s2-stage .chapter-loading {
display:flex;justify-content:center;padding:.75rem
}
.s2-stage .chapter-loading-spinner {
width:1rem;height:1rem;border:2px solid var(--c-primary-15);border-top-color:var(--color-primary);border-radius:50%;animation:spin-de22ccf0 .8s linear infinite
}
.s2-stage .no-chapters-guide {
padding:.75rem .5rem;display:flex;justify-content:flex-end
}
.s2-stage .guide-content {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .guide-text {
font-size:.8125rem;font-weight:500;color:#ffb432;white-space:nowrap;text-shadow:0 0 10px rgba(255,180,50,.5);animation:textPulse-de22ccf0 2s ease-in-out infinite
}
@keyframes textPulse-de22ccf0{0%,to{opacity:.8;text-shadow:0 0 8px rgba(255,180,50,.4)}50%{opacity:1;text-shadow:0 0 15px rgba(255,180,50,.8)}}
.s2-stage .guide-arrow {
width:40px;height:30px;flex-shrink:0
}
.s2-stage .arrow-svg {
width:100%;height:100%;color:#ffb432;overflow:visible
}
.s2-stage .arrow-path {
stroke-dasharray:60;stroke-dashoffset:60;animation:drawPath-de22ccf0 1s ease-out forwards,pathGlow-de22ccf0 1.5s ease-in-out 1s infinite
}
.s2-stage .arrow-head {
opacity:0;animation:showHead-de22ccf0 .3s ease-out .8s forwards,headBounce-de22ccf0 .8s ease-in-out 1.1s infinite
}
@keyframes drawPath-de22ccf0{0%{stroke-dashoffset:60}to{stroke-dashoffset:0}}
@keyframes pathGlow-de22ccf0{0%,to{filter:drop-shadow(0 0 3px rgba(255,180,50,.6));opacity:.8}50%{filter:drop-shadow(0 0 8px rgba(255,180,50,1));opacity:1}}
@keyframes showHead-de22ccf0{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes headBounce-de22ccf0{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}
.s2-stage .chapter-item {
display:flex;align-items:center;justify-content:space-between;padding:1rem .75rem;min-height:5rem;border-radius:.5rem;border-left:3px solid transparent;cursor:pointer;transition:all .2s ease
}
.s2-stage .chapter-item:hover {
background:var(--w-4)
}
.s2-stage .chapter-item.active {
background:var(--c-primary-8);border-left-color:var(--color-primary)
}
.s2-stage .chapter-content {
flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0
}
.s2-stage .chapter-number {
font-size:.8125rem;color:#93c5fd99;font-weight:600;letter-spacing:.02em
}
.s2-stage .chapter-title {
font-size:.9375rem;color:var(--w-85);line-height:1.5;font-weight:500;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-break:break-word
}
.s2-stage .chapter-item.active .chapter-number {
color:#60a5fa
}
.s2-stage .chapter-item.active .chapter-title {
color:var(--color-primary)
}
.s2-stage .chapter-item.highlight {
animation:chapterHighlight-de22ccf0 1.5s ease
}
@keyframes chapterHighlight-de22ccf0{0%{background:var(--c-primary-25)}30%{background:var(--c-primary-8)}60%{background:var(--c-primary-20)}to{background:transparent}}
.s2-stage .chapter-load-more-hint {
text-align:center;padding:.5rem;font-size:.75rem;color:var(--w-25)
}
.s2-stage .chapter-actions {
display:flex;flex-direction:column;gap:.375rem;opacity:0;transition:opacity .15s ease;margin-left:.5rem;flex-shrink:0
}
.s2-stage .chapter-item:hover .chapter-actions {
opacity:1
}
.s2-stage .chapter-edit,
.s2-stage .chapter-delete {
width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:var(--w-4);border:1px solid var(--w-8);border-radius:.375rem;color:var(--w-40);cursor:pointer;transition:all .2s ease
}
.s2-stage .chapter-edit:hover {
background:#3b82f61f;border-color:#3b82f64d;color:#93c5fd;transform:translateY(-1px)
}
.s2-stage .chapter-delete:hover {
background:#ef44441f;border-color:#ef44444d;color:#fca5a5;transform:translateY(-1px)
}
.s2-stage .footer-section {
flex-shrink:0;padding:.75rem 1rem 1rem;border-top:1px solid var(--w-4)
}
.s2-stage .footer-row {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .engine-btn {
flex:1;height:3rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:.75rem;cursor:pointer;position:relative;overflow:hidden;isolation:isolate
}
.s2-stage .config-btn {
width:3rem;height:3rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:.75rem;cursor:pointer;position:relative;overflow:hidden;color:var(--c-primary-60);transition:all .3s ease
}
.s2-stage .config-btn-bg {
position:absolute;inset:0;border-radius:inherit;background:var(--c-primary-6);border:1px solid var(--c-primary-15);transition:all .3s ease
}
.s2-stage .config-btn:hover .config-btn-bg {
background:var(--c-primary-12);border-color:var(--c-primary-35)
}
.s2-stage .config-btn:hover {
color:var(--c-primary-95)
}
.s2-stage .config-btn svg {
position:relative;z-index:1;transition:transform .4s ease
}
.s2-stage .config-btn:hover svg {
transform:rotate(60deg)
}
.s2-stage .engine-bg-glow {
position:absolute;inset:0;background:linear-gradient(135deg,var(--c-primary-8) 0%,rgba(0,102,255,.05) 50%,rgba(168,85,247,.05) 100%);border-radius:inherit;transition:all .4s ease
}
.s2-stage .engine-btn:hover .engine-bg-glow {
background:linear-gradient(135deg,var(--c-primary-15) 0%,rgba(0,102,255,.1) 50%,rgba(168,85,247,.08) 100%)
}
.s2-stage .engine-border {
position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--c-primary-40) 0%,rgba(0,102,255,.2) 50%,rgba(168,85,247,.3) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.6;transition:opacity .4s ease
}
.s2-stage .engine-btn:hover .engine-border {
opacity:1;background:linear-gradient(135deg,var(--c-primary-80) 0%,rgba(0,102,255,.5) 50%,rgba(168,85,247,.6) 100%)
}
.s2-stage .engine-shine {
position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,var(--w-8) 50%,transparent 100%);transform:skew(-20deg)
}
.s2-stage .engine-btn:hover .engine-shine {
animation:engine-shine-sweep-de22ccf0 1.5s ease-in-out infinite
}
@keyframes engine-shine-sweep-de22ccf0{0%{left:-100%}to{left:200%}}
.s2-stage .engine-content {
position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:100%
}
.s2-stage .engine-label {
display:flex;align-items:center;gap:.625rem
}
.s2-stage .engine-icon {
width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;position:relative;color:var(--c-primary-90)
}
.s2-stage .icon-ring {
position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,var(--c-primary-15),rgba(168,85,247,.1));animation:icon-pulse-de22ccf0 2s ease-in-out infinite
}
@keyframes icon-pulse-de22ccf0{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.15);opacity:.8}}
.s2-stage .engine-btn:hover .icon-ring {
animation:icon-pulse-fast-de22ccf0 1s ease-in-out infinite
}
@keyframes icon-pulse-fast-de22ccf0{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:1}}
.s2-stage .engine-icon svg {
position:relative;z-index:1;filter:drop-shadow(0 0 .375rem var(--c-primary-50));transition:all .4s ease
}
.s2-stage .engine-btn:hover .engine-icon svg {
filter:drop-shadow(0 0 .5rem var(--c-primary-80));transform:scale(1.1)
}
.s2-stage .engine-text {
font-size:.875rem;font-weight:600;background:linear-gradient(135deg,var(--color-primary) 0%,#00aaff 50%,#a855f7 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.05em;transition:all .4s ease
}
.s2-stage .engine-btn:hover .engine-text {
letter-spacing:.08em;filter:brightness(1.2)
}
.s2-stage .engine-arrow {
position:absolute;right:0;display:flex;align-items:center;justify-content:center;color:var(--c-primary-60);transform:translate(0);opacity:0;transition:all .4s ease
}
.s2-stage .engine-btn:hover .engine-arrow {
transform:translate(.25rem);opacity:1
}
.s2-stage .engine-particles {
position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit
}
.s2-stage .engine-particles span {
position:absolute;width:.25rem;height:.25rem;border-radius:50%;background:var(--c-primary-80);opacity:0
}
.s2-stage .engine-particles span:nth-child(1) {
left:20%;bottom:0
}
.s2-stage .engine-particles span:nth-child(2) {
left:50%;bottom:0
}
.s2-stage .engine-particles span:nth-child(3) {
left:80%;bottom:0
}
.s2-stage .engine-btn:hover .engine-particles span {
animation:particle-float-de22ccf0 1.5s ease-out infinite
}
.s2-stage .engine-btn:hover .engine-particles span:nth-child(1) {
animation-delay:0s;background:var(--c-primary-80)
}
.s2-stage .engine-btn:hover .engine-particles span:nth-child(2) {
animation-delay:.3s;background:#0afc
}
.s2-stage .engine-btn:hover .engine-particles span:nth-child(3) {
animation-delay:.6s;background:#a855f7cc
}
@keyframes particle-float-de22ccf0{0%{transform:translateY(0) scale(1);opacity:0}20%{opacity:1}to{transform:translateY(-2.5rem) scale(0);opacity:0}}
.s2-stage .engine-btn:after {
content:"";position:absolute;inset:-.125rem;border-radius:inherit;background:linear-gradient(135deg,var(--c-primary-30),rgba(168,85,247,.2));filter:blur(.75rem);opacity:0;z-index:-1;transition:opacity .4s ease
}
.s2-stage .engine-btn:hover:after {
opacity:.6
}
.s2-stage {
background:#fff;border-color:#00000014;color:#646e82
}
.s2-stage {
background:#f8fcff;border-color:var(--color-primary);color:var(--color-primary)
}
.s2-stage {
background:#fff;border-color:#0000000f;box-shadow:0 1px 3px #0000000a
}
.s2-stage {
background:#fff;border-color:#0000001a;box-shadow:0 2px 8px #0000000f
}
.s2-stage {
background:#fff;border-color:#008cd240;box-shadow:0 2px 12px #008cd214
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#008cb4b3
}
.s2-stage {
color:#0000004d
}
.s2-stage {
color:var(--color-primary);background:linear-gradient(135deg,#00b4dc1a,#0096b40f);text-shadow:none
}
.s2-stage {
background:#00000008;color:#828c9b
}
.s2-stage {
background:#008cd214;color:var(--color-primary)
}
.s2-stage {
background:#dc26260f;color:#dc2626
}
.s2-stage {
color:#646e82;background:#f8fafd
}
.s2-stage {
background:#fcfdff;border-color:#0000000d;box-shadow:0 1px 3px #00000008
}
.s2-stage {
box-shadow:0 4px 12px #0000000f;border-color:var(--border-color, rgba(0, 0, 0, .1))
}
.s2-stage {
color:#3c465a
}
.s2-stage {
color:#c83c78
}
.s2-stage {
color:#c86e1e
}
.s2-stage {
background:#f6f9fd;border:1px solid rgba(0,140,210,.1);border-radius:.5rem
}
.s2-stage {
color:#505a6e;border-bottom:1px solid rgba(0,0,0,.04);padding-bottom:.5rem
}
.s2-stage {
border-radius:.5rem
}
.s2-stage {
background:#008cd20a
}
.s2-stage {
background:#008cd20f;border-left-color:var(--color-primary)
}
.s2-stage {
color:#0082aa
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#006e96;font-weight:700
}
.s2-stage {
color:#00648c
}
.s2-stage,
.s2-stage {
background:#00000008;border-color:#0000000f;color:#828c9b
}
.s2-stage {
background:#2563eb0f;border-color:#2563eb33;color:#2563eb
}
.s2-stage {
background:#dc26260f;border-color:#dc262633;color:#dc2626
}
.s2-stage {
color:#b4780a;text-shadow:none
}
.s2-stage {
color:#c88c14
}
.s2-stage {
color:#a0a5af
}
.s2-stage {
border-top-color:#0000000f
}
.s2-stage {
color:#0000001f
}
.s2-stage {
color:#828c9b
}
.s2-stage .bottom-input-wrapper {
position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:10
}
.s2-stage .bottom-input-wrapper.is-floating-actions {
left:1.25rem;right:1.25rem;transform:none
}
.s2-stage .bottom-container {
width:63rem;margin-left:auto;margin-right:auto;min-height:11.25rem;background-color:var(--bg-input-a);border:.0625rem solid var(--bg-card-2);border-radius:1.125rem;display:flex;flex-direction:column;backdrop-filter:blur(.625rem);-webkit-backdrop-filter:blur(.625rem);box-sizing:border-box;position:relative;transition:border-color .2s ease,box-shadow .2s ease
}
.s2-stage .bottom-container.drag-over {
border-color:var(--color-primary, #00cae0);box-shadow:0 0 0 .125rem var(--c-primary-30),0 0 1.25rem var(--c-primary-15)
}
.s2-stage .top-section {
width:100%;flex:1;display:flex;flex-direction:row;align-items:flex-start
}
.s2-stage .left-section {
width:auto;height:100%;display:flex;align-items:flex-start;padding:1.5625rem;box-sizing:border-box;position:relative;z-index:25
}
.s2-stage .right-section {
flex:1;height:100%;display:flex;align-items:flex-start;padding:.9375rem .625rem .9375rem 0;box-sizing:border-box
}
.s2-stage .right-section .shurukuang-textarea {
min-height:5.9375rem;max-height:13.1875rem
}
.s2-stage .bottom-section {
width:100%;height:3rem;flex-shrink:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:.5625rem .9375rem .75rem;box-sizing:border-box
}
.s2-stage .selectors-area {
flex:1;display:flex;flex-direction:row;align-items:center;gap:.75rem
}
.s2-stage .bottom-action-slot {
min-width:0;height:100%;display:flex;align-items:center
}
.s2-stage .bottom-action-left {
justify-content:flex-start;margin-right:.75rem
}
.s2-stage .bottom-action-right {
justify-content:flex-end;margin-right:.625rem
}
@media(min-width:1601px) {
.s2-stage .bottom-action-slot {
width:0;height:0;margin:0;overflow:visible
}
}
.s2-stage .bottom-floating-actions {
width:100%;min-height:3rem;display:flex;align-items:center;justify-content:space-between;pointer-events:none
}
.s2-stage .bottom-floating-actions .bottom-action-slot {
width:auto;height:auto;min-height:3rem;margin:0;overflow:visible;pointer-events:auto
}
.s2-stage .asset-lib-btn {
position:absolute;top:.9375rem;right:.9375rem;width:1.375rem;height:1.375rem;border-radius:.3125rem;background:var(--bg-card, #1e2230);border:.0625rem solid var(--w-20, rgba(255,255,255,.2));color:var(--color-text-primary, #fff);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;line-height:1;box-shadow:0 .125rem .375rem #0000002e;transition:all .15s ease;transform:rotate(-8deg) translateZ(0);transform-origin:center;z-index:30
}
.s2-stage .asset-lib-btn:hover {
border-color:var(--color-primary, #00cae0);transform:rotate(-8deg) scale(1.08) translateZ(0)
}
.s2-stage .bottom-left-mode-actions {
display:none
}
.s2-stage .mode-action-button {
width:1.875rem;height:1.875rem;padding:0;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;transition:all .2s ease
}
.s2-stage .mode-action-button:active {
transform:scale(.96)
}
.s2-stage .ext-asset-btn {
background:var(--bg-card, #1e2230);border:.0625rem solid var(--w-20, rgba(255, 255, 255, .2));color:var(--color-text-primary, #fff)
}
.s2-stage .ext-asset-btn:hover {
border-color:var(--color-primary, #00cae0)
}
.s2-stage .ext-scan-btn {
background:var(--bg-card, #1e2230);border:.0625rem solid rgba(0,202,224,.45);color:var(--color-primary, #00cae0)
}
.s2-stage .ext-scan-btn:hover:not(:disabled) {
border-color:var(--color-primary, #00cae0);background:#00cae029
}
.s2-stage .ext-scan-btn:disabled {
opacity:.5;cursor:not-allowed
}
@media(min-width:451px) {
.s2-stage .bottom-left-mode-actions {
position:absolute;right:calc(100% + .625rem);bottom:0;z-index:35;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;border:.0625rem solid var(--bg-card-2);border-radius:999px;background:var(--bg-input-a);backdrop-filter:blur(.625rem);-webkit-backdrop-filter:blur(.625rem);box-shadow:0 .5rem 1.25rem #0000002e;pointer-events:auto
}.s2-stage .left-section .asset-lib-btn {
display:none
}
}
.s2-stage .asset-lib-icon {
display:block;line-height:0;color:inherit
}
.s2-stage .send-button {
width:1.875rem;height:1.875rem;border-radius:50%;background-color:var(--color-primary, #00cae0);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:0;transition:all .2s ease;flex-shrink:0
}
.s2-stage .send-button:hover {
background-color:var(--color-primary, #00cae0);opacity:.9;transform:scale(1.05)
}
.s2-stage .send-button:active {
transform:scale(.95)
}
.s2-stage .send-button .send-icon {
transform:scaleX(-1)
}
.s2-stage .send-button:disabled {
opacity:.5;cursor:not-allowed;pointer-events:none
}
.s2-stage .submit-overlay {
position:fixed;inset:0;z-index:99999;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center
}
.s2-stage .submit-overlay-content {
display:flex;flex-direction:column;align-items:center;gap:1.25rem
}
.s2-stage .submit-spinner {
width:2.5rem;height:2.5rem;border:3px solid var(--c-primary-15);border-top-color:var(--c-primary-90);border-radius:50%;animation:overlay-spin-76e86758 .8s linear infinite
}
@keyframes overlay-spin-76e86758{to{transform:rotate(360deg)}}
.s2-stage .submit-text {
font-size:.9375rem;color:var(--w-80);letter-spacing:.05em
}
.s2-stage .overlay-fade-enter-active {
transition:opacity .2s ease
}
.s2-stage .overlay-fade-leave-active {
transition:opacity .15s ease
}
.s2-stage .overlay-fade-enter-from,
.s2-stage .overlay-fade-leave-to {
opacity:0
}
.s2-stage {
background:#0000004d
}
.s2-stage {
background-color:#fffffff2;border:1px solid rgba(0,0,0,.1);box-shadow:0 -2px 12px #0000000a,0 4px 20px #00000014
}
.s2-stage {
border-top:1px solid rgba(0,0,0,.05)
}
.s2-stage {
border-color:#00a1c226;border-top-color:#00a1c2
}
.s2-stage {
color:#3c465a
}
.s2-stage {
background:#fff;border-color:#0000001f;color:#0009;box-shadow:0 .125rem .375rem #00000014
}
.s2-stage {
border-color:var(--color-primary, #00a1c2);color:var(--color-primary, #00a1c2)
}
.s2-stage {
background:#ffffffe0;border-color:#0000001a;box-shadow:0 .5rem 1.125rem #0f172a1a
}
.s2-stage {
background:#fff;border-color:#0000001f;color:#0009
}
.s2-stage {
border-color:var(--color-primary, #00a1c2);color:var(--color-primary, #00a1c2)
}
.s2-stage {
background:#fff
}
.s2-stage .engine-modal-overlay {
position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1.25rem
}
.s2-stage .engine-modal-container {
position:relative;background:linear-gradient(145deg,#101014,#14141a,#101014);border-radius:1.5rem;box-shadow:0 1.875rem 6.25rem var(--b-80),0 0 0 .0625rem var(--c-primary-15),0 0 4rem var(--c-primary-3);max-width:64rem;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden
}
.s2-stage .modal-scroll-area {
flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-primary-30) transparent
}
.s2-stage .modal-scroll-area::-webkit-scrollbar {
width:.375rem
}
.s2-stage .modal-scroll-area::-webkit-scrollbar-track {
background:transparent
}
.s2-stage .modal-scroll-area::-webkit-scrollbar-thumb {
background:var(--c-primary-30);border-radius:.1875rem
}
.s2-stage .modal-close {
position:absolute;top:1.25rem;right:1.25rem;width:2.5rem;height:2.5rem;border-radius:.75rem;border:none;background:var(--w-6);color:var(--w-50);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10
}
.s2-stage .modal-close:hover {
background:var(--w-10);color:var(--w-100);transform:rotate(90deg)
}
.s2-stage .modal-header {
padding:2.5rem 2.5rem 1.25rem;display:flex;align-items:flex-start;gap:1.25rem
}
.s2-stage .header-icon {
width:3.5rem;height:3.5rem;border-radius:1rem;background:linear-gradient(135deg,var(--c-primary-20),rgba(0,102,255,.15));display:flex;align-items:center;justify-content:center;color:var(--color-primary, #00cae0);flex-shrink:0
}
.s2-stage .header-text {
flex:1;padding-right:2rem
}
.s2-stage .modal-title {
font-size:1.625rem;font-weight:600;color:var(--w-100);margin:0 0 .625rem;background:linear-gradient(135deg,var(--w-100) 0%,var(--w-85) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text
}
.s2-stage .modal-subtitle {
font-size:.875rem;color:var(--w-50);margin:0;line-height:1.6
}
.s2-stage .evaluation-section {
padding:0 2.5rem 1.5rem
}
.s2-stage .evaluation-grid {
display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem;background:var(--c-primary-3);border:1px solid var(--c-primary-10);border-radius:1rem
}
.s2-stage .evaluation-item {
display:flex;align-items:center;gap:.75rem;padding:.5rem
}
.s2-stage .eval-icon {
width:2.5rem;height:2.5rem;border-radius:.625rem;display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.s2-stage .eval-icon.cost {
background:#22c55e1f;color:#22c55e
}
.s2-stage .eval-icon.quality {
background:#fbbf241f;color:#fbbf24
}
.s2-stage .eval-icon.speed {
background:#3b82f61f;color:#3b82f6
}
.s2-stage .eval-content {
display:flex;flex-direction:column;gap:.125rem
}
.s2-stage .eval-title {
font-size:.875rem;font-weight:600;color:var(--w-90)
}
.s2-stage .eval-desc {
font-size:.75rem;color:var(--w-45)
}
.s2-stage .model-cards-section {
padding:0 2.5rem 1.5rem;min-height:14rem
}
.s2-stage .loading-state,
.s2-stage .error-state {
display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--w-50)
}
.s2-stage .loading-spinner {
width:3rem;height:3rem;margin-bottom:1rem
}
.s2-stage .spinner-ring {
width:100%;height:100%;border:.1875rem solid transparent;border-top-color:var(--color-primary, #00cae0);border-radius:50%;animation:spin-a9916ea5 1s linear infinite
}
@keyframes spin-a9916ea5{to{transform:rotate(360deg)}}
.s2-stage .error-state svg {
margin-bottom:1rem;color:var(--w-30)
}
.s2-stage .retry-btn {
margin-top:1rem;padding:.5rem 1.5rem;background:var(--c-primary-15);border:1px solid var(--c-primary-30);border-radius:.5rem;color:var(--color-primary, #00cae0);cursor:pointer;transition:all .3s ease
}
.s2-stage .retry-btn:hover {
background:var(--c-primary-25)
}
.s2-stage .model-cards {
display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem
}
.s2-stage .model-card {
background:var(--w-2);border:1px solid var(--w-6);border-radius:1rem;padding:1.375rem;transition:all .3s ease;position:relative;overflow:hidden
}
.s2-stage .model-card:before {
content:"";position:absolute;top:0;left:0;right:0;height:.1875rem;background:linear-gradient(90deg,var(--card-color, #00cae0),transparent);opacity:.7
}
.s2-stage .model-card:hover {
background:var(--w-4);border-color:var(--w-10);transform:translateY(-.25rem);box-shadow:0 .75rem 2rem var(--b-30)
}
.s2-stage .card-header {
display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem
}
.s2-stage .model-icon-wrapper {
width:2.75rem;height:2.75rem;border-radius:.625rem;background:var(--w-4);display:flex;align-items:center;justify-content:center;overflow:hidden
}
.s2-stage .model-icon {
width:2rem;height:2rem;object-fit:contain
}
.s2-stage .model-icon-placeholder {
width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--card-color, #00cae0)
}
.s2-stage .model-role {
display:flex;align-items:center
}
.s2-stage .role-badge {
padding:.25rem .5rem;background:var(--w-5);border-radius:.875rem;font-size:.625rem;font-weight:500;color:var(--card-color, #00cae0);border:1px solid var(--w-6)
}
.s2-stage .card-body {
display:flex;flex-direction:column;gap:.625rem
}
.s2-stage .model-name {
font-size:1rem;font-weight:600;color:var(--w-100);margin:0
}
.s2-stage .model-desc {
font-size:.75rem;color:var(--w-50);line-height:1.65;margin:0
}
.s2-stage .model-highlights {
display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem
}
.s2-stage .highlight {
display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;color:var(--card-color, #00cae0);opacity:.85
}
.s2-stage .highlight i {
width:.25rem;height:.25rem;border-radius:50%;background:var(--card-color, #00cae0)
}
.s2-stage .model-tags {
display:flex;flex-wrap:wrap;gap:.3125rem;margin-top:.375rem
}
.s2-stage .tag {
padding:.125rem .4375rem;background:var(--w-4);border:1px solid var(--w-6);border-radius:.1875rem;font-size:.625rem;color:#ffffff8c
}
.s2-stage .video-engine-badge {
display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#fb923c1a,#f973160f);border:1px solid rgba(251,146,60,.25);border-radius:.5rem;margin-top:.25rem
}
.s2-stage .video-engine-badge .badge-icon {
width:1.5rem;height:1.5rem;border-radius:50%;background:#fb923c26;display:flex;align-items:center;justify-content:center;color:#fb923c;flex-shrink:0
}
.s2-stage .video-engine-badge .badge-text {
font-size:.6875rem;font-weight:500;color:#fb923ce6;line-height:1.4
}
.s2-stage .video-engine-models {
display:flex;flex-direction:column;gap:.375rem;margin-top:.375rem
}
.s2-stage .engine-model-item {
display:flex;align-items:center;gap:.5rem;font-size:.6875rem;color:#ffffff8c
}
.s2-stage .engine-model-item .model-dot {
width:.3125rem;height:.3125rem;border-radius:50%;background:#fb923c99;flex-shrink:0
}
.s2-stage .modal-footer {
padding:1.25rem 2.5rem 2rem;border-top:1px solid var(--w-5);display:flex;flex-direction:column;gap:1rem
}
.s2-stage .footer-info {
padding:0 .5rem
}
.s2-stage .footer-note {
font-size:.75rem;color:var(--w-40);line-height:1.6;margin:0;text-align:center
}
.s2-stage .price-query-btn {
display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;height:3rem;background:linear-gradient(135deg,var(--c-primary-12) 0%,rgba(0,102,255,.08) 100%);border:1px solid var(--c-primary-25);border-radius:.75rem;color:var(--color-primary, #00cae0);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden
}
.s2-stage .price-query-btn:before {
content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--c-primary-20) 0%,rgba(0,102,255,.12) 100%);opacity:0;transition:opacity .3s ease
}
.s2-stage .price-query-btn:hover:before {
opacity:1
}
.s2-stage .price-query-btn:hover {
border-color:var(--c-primary-40);transform:translateY(-.125rem);box-shadow:0 .5rem 1.5rem var(--c-primary-15)
}
.s2-stage .price-query-btn svg,
.s2-stage .price-query-btn span {
position:relative;z-index:1
}
.s2-stage .price-query-btn .arrow-icon {
opacity:.7;transition:transform .3s ease
}
.s2-stage .price-query-btn:hover .arrow-icon {
transform:translate(.25rem);opacity:1
}
.s2-stage .engine-modal-fade-enter-active,
.s2-stage .engine-modal-fade-leave-active {
transition:opacity .3s ease
}
.s2-stage .engine-modal-fade-enter-active .engine-modal-container,
.s2-stage .engine-modal-fade-leave-active .engine-modal-container {
transition:transform .3s ease,opacity .3s ease
}
.s2-stage .engine-modal-fade-enter-from,
.s2-stage .engine-modal-fade-leave-to {
opacity:0
}
.s2-stage .engine-modal-fade-enter-from .engine-modal-container,
.s2-stage .engine-modal-fade-leave-to .engine-modal-container {
transform:scale(.95) translateY(1rem);opacity:0
}
.s2-stage {
background:#00000052;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)
}
.s2-stage {
background:linear-gradient(145deg,#fff,#fafcff,#fff);box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000f
}
.s2-stage {
background:#0000000d;color:#646e82
}
.s2-stage {
background:#0000001a;color:#1e2332
}
.s2-stage {
background:linear-gradient(135deg,#00a1c226,#0078c81a);color:#0082a5
}
.s2-stage {
background:linear-gradient(135deg,#141928,#006482);-webkit-background-clip:text;background-clip:text
}
.s2-stage {
color:#465064
}
.s2-stage {
background:linear-gradient(135deg,#00a1c208,#0078c805);border-color:#00000014
}
.s2-stage {
background:#15803d1a;color:#15803d
}
.s2-stage {
background:#b4820a1a;color:#92600a
}
.s2-stage {
background:#2563eb1a;color:#1d4ed8
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#505a6e
}
.s2-stage {
background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000000a,0 4px 16px #00000005
}
.s2-stage {
opacity:.9
}
.s2-stage {
background:#fff;border-color:#0000001f;box-shadow:0 8px 28px #0000001a,0 2px 8px #0000000a
}
.s2-stage {
background:linear-gradient(145deg,#262a32,#1a1e26);border:none;box-shadow:0 2px 6px #0000001a,0 1px 2px #0000000f
}
.s2-stage {
filter:drop-shadow(0 0 6px rgba(255,255,255,.1))
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#374155
}
.s2-stage {
background:#0000000a;border-color:#0000001a;font-weight:600
}
.s2-stage {
opacity:1;font-weight:500
}
.s2-stage {
background:#0000000a;border-color:#00000014;color:#3c465a
}
.s2-stage {
background:linear-gradient(135deg,#c2410c14,#c2410c0a);border-color:#c2410c38
}
.s2-stage {
background:#c2410c1f;color:#c2410c
}
.s2-stage {
color:#a0370a
}
.s2-stage {
color:#414b5f
}
.s2-stage {
background:#c8640f
}
.s2-stage {
border-top-color:#0000000f
}
.s2-stage {
color:#5a6478
}
.s2-stage {
background:linear-gradient(135deg,#00a1c214,#0078c80d);border-color:#00a1c24d;color:#00789b
}
.s2-stage {
background:linear-gradient(135deg,#00a1c21f,#0078c814);border-color:#00a1c280;box-shadow:0 4px 16px #00a1c21f
}
.s2-stage {
background:linear-gradient(135deg,#00a1c226,#0078c81a)
}
.s2-stage,
.s2-stage {
color:#505a6e
}
.s2-stage {
border-top-color:#008caf
}
.s2-stage {
background:#00a1c214;border-color:#00a1c240;color:#00789b
}
.s2-stage {
background:#00a1c224
}
.s2-stage {
scrollbar-color:rgba(0,0,0,.12) transparent
}
.s2-stage {
background:#0000001f
}
@media(max-width:64rem) {
.s2-stage .engine-modal-container {
max-width:100%
}.s2-stage .model-cards {
grid-template-columns:1fr
}.s2-stage .evaluation-grid {
grid-template-columns:1fr;gap:.75rem
}.s2-stage .modal-header {
padding:2rem 1.5rem 1rem
}.s2-stage .evaluation-section,
.s2-stage .model-cards-section {
padding:0 1.5rem 1.25rem
}.s2-stage .modal-footer {
padding:1rem 1.5rem 1.5rem
}
}
.s2-stage .pref-overlay {
position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1.5rem
}
.s2-stage .pref-panel {
position:relative;width:44rem;max-width:100%;max-height:88vh;background:#121218;border-radius:1rem;border:1px solid var(--w-6);box-shadow:0 2rem 5rem var(--b-60),0 0 0 1px #8b5cf614;display:flex;flex-direction:column;overflow:hidden
}
.s2-stage .panel-glow {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.5) 30%,rgba(59,130,246,.5) 70%,transparent)
}
.s2-stage .pref-close {
position:absolute;top:.875rem;right:.875rem;width:2rem;height:2rem;border-radius:.5rem;border:none;background:var(--w-4);color:var(--w-35);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10
}
.s2-stage .pref-close:hover {
background:var(--w-8);color:var(--w-70)
}
.s2-stage .pref-header {
padding:1.25rem 1.5rem 0;display:flex;align-items:center;gap:.75rem;flex-shrink:0
}
.s2-stage .pref-icon {
width:2.25rem;height:2.25rem;border-radius:.5rem;background:linear-gradient(135deg,#8b5cf626,#3b82f61a);display:flex;align-items:center;justify-content:center;color:#a78bfae6;flex-shrink:0
}
.s2-stage .pref-title-group {
flex:1;padding-right:2rem
}
.s2-stage .pref-title-group h3 {
font-size:1rem;font-weight:600;color:var(--w-100);margin:0 0 .0625rem
}
.s2-stage .pref-title-group p {
font-size:.6875rem;color:var(--w-35);margin:0
}
.s2-stage .recommend-btn {
height:2rem;padding:0 .75rem;border-radius:999px;border:1px solid rgba(167,139,250,.35);background:linear-gradient(135deg,#8b5cf633,#3b82f624);color:#e9d5fff2;display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0;margin-right:2rem
}
.s2-stage .recommend-btn:hover:not(:disabled) {
border-color:#c4b5fd99;background:linear-gradient(135deg,#8b5cf647,#3b82f638);transform:translateY(-1px)
}
.s2-stage .recommend-btn:disabled {
cursor:not-allowed;opacity:.7
}
.s2-stage .recommend-spin {
width:.75rem;height:.75rem;border:2px solid rgba(233,213,255,.35);border-top-color:#e9d5fff2;border-radius:50%;animation:spin-109d6d53 .8s linear infinite
}
.s2-stage .pref-body {
flex:1;overflow-y:auto;padding:1rem 1.25rem;scrollbar-width:thin;scrollbar-color:var(--w-6) transparent
}
.s2-stage .pref-body::-webkit-scrollbar {
width:3px
}
.s2-stage .pref-body::-webkit-scrollbar-thumb {
background:var(--w-6);border-radius:2px
}
.s2-stage .pref-grid {
display:grid;grid-template-columns:1fr 1fr;gap:.75rem
}
.s2-stage .pref-card {
padding:.875rem;border-radius:.75rem;border:1px solid var(--w-5);background:#ffffff04;transition:border-color .2s
}
.s2-stage .pref-card:hover {
border-color:var(--w-8)
}
.s2-stage .group-label {
display:flex;align-items:center;gap:.375rem;margin-bottom:.625rem
}
.s2-stage .group-label svg {
color:#8b5cf699;flex-shrink:0
}
.s2-stage .group-label span {
font-size:.75rem;font-weight:600;color:#ffffff8c;letter-spacing:.02em
}
.s2-stage .toggle-row {
display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;border-radius:.5rem;cursor:pointer;transition:all .2s;border:1px solid transparent
}
.s2-stage .toggle-row:hover {
background:var(--w-2)
}
.s2-stage .toggle-row.active {
background:#8b5cf60a;border-color:#8b5cf62e
}
.s2-stage .toggle-row+.toggle-row {
margin-top:.25rem
}
.s2-stage .toggle-radio {
width:1rem;height:1rem;border-radius:50%;border:2px solid var(--w-15);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.0625rem;transition:all .2s
}
.s2-stage .toggle-row.active .toggle-radio {
border-color:#8b5cf6cc
}
.s2-stage .toggle-dot {
width:.375rem;height:.375rem;border-radius:50%;background:transparent;transition:all .2s
}
.s2-stage .toggle-row.active .toggle-dot {
background:#8b5cf6e6
}
.s2-stage .toggle-info {
flex:1;min-width:0
}
.s2-stage .toggle-name {
font-size:.75rem;font-weight:600;color:var(--w-60);display:flex;align-items:center;gap:.375rem;transition:color .2s
}
.s2-stage .toggle-row.active .toggle-name {
color:var(--w-90)
}
.s2-stage .toggle-hint {
font-size:.625rem;color:#ffffff47;line-height:1.5;margin-top:.125rem
}
.s2-stage .tag-rec {
display:inline-block;padding:.0625rem .3125rem;border-radius:.1875rem;font-size:.5rem;font-weight:700;background:#8b5cf61f;color:#a78bfae6;border:1px solid rgba(139,92,246,.18);letter-spacing:.03em;vertical-align:middle
}
.s2-stage .duration-options {
display:flex;flex-direction:column;gap:.25rem
}
.s2-stage .dur-chip {
display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border-radius:.5rem;border:1px solid var(--w-4);background:#ffffff03;cursor:pointer;transition:all .2s
}
.s2-stage .dur-chip:hover {
background:#ffffff06;border-color:var(--w-8)
}
.s2-stage .dur-chip.selected {
background:#8b5cf60d;border-color:#8b5cf638
}
.s2-stage .dur-chip-icon {
width:1.625rem;height:1.625rem;border-radius:.375rem;background:var(--w-3);display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0;transition:all .2s
}
.s2-stage .dur-chip.selected .dur-chip-icon {
background:#8b5cf61a
}
.s2-stage .dur-chip-body {
flex:1;min-width:0
}
.s2-stage .dur-chip-name {
font-size:.75rem;font-weight:600;color:var(--w-60);display:flex;align-items:center;gap:.375rem;transition:color .2s
}
.s2-stage .dur-chip.selected .dur-chip-name {
color:var(--w-90)
}
.s2-stage .dur-chip-desc {
font-size:.5625rem;color:var(--w-25);line-height:1.4;margin-top:.0625rem
}
.s2-stage .dur-check {
flex-shrink:0;width:1.125rem;height:1.125rem;border-radius:50%;background:#8b5cf626;display:flex;align-items:center;justify-content:center;color:#a78bfaf2
}
.s2-stage .gongge-options {
display:flex;gap:.5rem
}
.s2-stage .gongge-chip {
flex:1;display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.5rem .375rem;border-radius:.5rem;border:1px solid var(--w-6);background:#ffffff04;cursor:pointer;transition:all .2s
}
.s2-stage .gongge-chip:hover {
border-color:var(--w-10);background:var(--w-3)
}
.s2-stage .gongge-chip.selected {
border-color:#8b5cf659;background:#8b5cf60f
}
.s2-stage .gongge-preview {
width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center
}
.s2-stage .gongge-grid {
display:grid;gap:2px;width:100%;height:100%
}
.s2-stage .gongge-cell {
border-radius:1.5px;background:var(--w-10);transition:background .2s
}
.s2-stage .gongge-chip.selected .gongge-cell {
background:#8b5cf666
}
.s2-stage .gongge-label {
font-size:.625rem;font-weight:600;color:var(--w-40);transition:color .2s
}
.s2-stage .gongge-chip.selected .gongge-label {
color:#a78bfae6
}
.s2-stage .lang-chips {
display:flex;flex-wrap:wrap;gap:.375rem
}
.s2-stage .lang-chip {
height:1.75rem;padding:0 .75rem;border-radius:999px;border:1px solid var(--w-8);background:#ffffff04;color:var(--w-60);font-size:.75rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s;white-space:nowrap
}
.s2-stage .lang-chip:hover {
border-color:var(--w-15);background:var(--w-3);color:var(--w-85)
}
.s2-stage .lang-chip.selected {
border-color:#8b5cf673;background:#8b5cf61f;color:#d8c4fff2;font-weight:600
}
.s2-stage .lang-custom-input {
width:100%;margin-top:.5rem;height:2rem;padding:0 .625rem;border-radius:.5rem;border:1px solid var(--w-10);background:var(--w-3);color:var(--w-90);font-size:.75rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .2s
}
.s2-stage .lang-custom-input:focus {
border-color:#8b5cf680
}
.s2-stage .lang-custom-input::placeholder {
color:var(--w-25)
}
.s2-stage .lang-desc {
margin-top:.5rem;margin-bottom:0
}
.s2-stage .rule-tag {
display:inline-flex;align-items:center;margin-left:.3rem;padding:.125rem .4375rem;border-radius:.1875rem;font-size:.625rem;font-weight:600;background:#eab3081f;color:#facc15e6;border:1px solid rgba(234,179,8,.22);cursor:default;-webkit-user-select:none;user-select:none;transition:all .2s;white-space:nowrap;vertical-align:middle
}
.s2-stage .rule-tag:hover {
background:#eab3082e;border-color:#eab30859
}
.s2-stage .rule-tip-bubble {
position:fixed;z-index:99999;width:20rem;padding:.75rem .875rem;border-radius:.5rem;background:#181820fa;border:1px solid var(--w-10);box-shadow:0 .5rem 1.5rem #0000008c;font-size:.8125rem;line-height:1.7;color:#ffffffbf;pointer-events:none
}
.s2-stage .tip-pop-enter-active {
transition:opacity .15s ease,transform .15s ease
}
.s2-stage .tip-pop-leave-active {
transition:opacity .1s ease,transform .1s ease
}
.s2-stage .tip-pop-enter-from,
.s2-stage .tip-pop-leave-to {
opacity:0;transform:translateY(-4px)
}
.s2-stage .retry-setting {
padding:0
}
.s2-stage .retry-desc {
font-size:.625rem;color:#ffffff47;line-height:1.5;margin-bottom:.5rem
}
.s2-stage .retry-input-row {
display:flex;align-items:center;justify-content:space-between
}
.s2-stage .retry-label {
font-size:.75rem;color:#ffffff8c;font-weight:500
}
.s2-stage .retry-stepper {
display:flex;align-items:center;border:1px solid var(--w-8);border-radius:.375rem;overflow:hidden
}
.s2-stage .stepper-btn {
width:1.75rem;height:1.75rem;border:none;background:var(--w-3);color:var(--w-50);cursor:pointer;font-size:.875rem;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:inherit
}
.s2-stage .stepper-btn:hover {
background:#8b5cf61a;color:#a78bfae6
}
.s2-stage .stepper-val {
width:2.25rem;text-align:center;font-size:.8125rem;font-weight:600;color:var(--w-85);border-left:1px solid var(--w-6);border-right:1px solid var(--w-6);line-height:1.75rem
}
.s2-stage .stepper-val-wide {
width:auto;min-width:3.5rem;padding:0 .5rem;white-space:nowrap
}
.s2-stage .score-divider {
height:1px;margin:.5rem 0;background:var(--w-4)
}
.s2-stage .model-config-card {
grid-column:1 / -1
}
.s2-stage .model-row {
display:flex;align-items:center;gap:.75rem;padding:.375rem 0
}
.s2-stage .model-row-controls {
display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;flex:1;min-width:0
}
.s2-stage .model-param-item {
display:flex;align-items:center
}
.s2-stage .chat-model-hint {
font-size:.5625rem;color:#ffffff38;font-weight:400;margin-left:auto
}
.s2-stage .chat-model-entry {
display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:.5rem;border:1px solid var(--w-4);background:#ffffff03;transition:all .2s
}
.s2-stage .chat-model-entry:hover {
border-color:var(--w-8);background:var(--w-2)
}
.s2-stage .chat-model-entry+.chat-model-entry {
margin-top:.375rem
}
.s2-stage .chat-model-badge {
font-size:.5625rem;font-weight:700;color:#a78bfae6;background:#8b5cf61a;border:1px solid rgba(139,92,246,.18);border-radius:.25rem;padding:.125rem .375rem;white-space:nowrap;flex-shrink:0;min-width:1.5rem;text-align:center
}
.s2-stage .chat-model-remove {
width:1.375rem;height:1.375rem;border-radius:.25rem;border:none;background:transparent;color:var(--w-20);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s
}
.s2-stage .chat-model-remove:hover {
background:#ef44441f;color:#ef4444cc
}
.s2-stage .chat-model-add {
display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;margin-top:.375rem;padding:.375rem 0;border-radius:.5rem;border:1px dashed var(--w-8);background:transparent;color:var(--w-30);font-size:.6875rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit
}
.s2-stage .chat-model-add:hover {
border-color:#8b5cf64d;color:#a78bfacc;background:#8b5cf60a
}
.s2-stage .pref-footer {
padding:.75rem 1.25rem 1rem;flex-shrink:0
}
.s2-stage .pref-save {
width:100%;height:2.5rem;border-radius:.625rem;border:none;font-size:.8125rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;background:linear-gradient(135deg,#8b5cf6bf,#6366f1b3);color:var(--w-95);letter-spacing:.04em;font-family:inherit
}
.s2-stage .pref-save:hover:not(:disabled) {
background:linear-gradient(135deg,#8b5cf6e6,#6366f1d9);box-shadow:0 .375rem 1.25rem #8b5cf633;transform:translateY(-1px)
}
.s2-stage .pref-save:active:not(:disabled) {
transform:translateY(0)
}
.s2-stage .pref-save:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .save-spin {
width:.875rem;height:.875rem;border:2px solid var(--w-25);border-top-color:var(--w-100);border-radius:50%;animation:spin-109d6d53 .8s linear infinite
}
@keyframes spin-109d6d53{to{transform:rotate(360deg)}}
.s2-stage .pref-fade-enter-active,
.s2-stage .pref-fade-leave-active {
transition:opacity .2s ease
}
.s2-stage .pref-fade-enter-active .pref-panel,
.s2-stage .pref-fade-leave-active .pref-panel {
transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .2s ease
}
.s2-stage .pref-fade-enter-from,
.s2-stage .pref-fade-leave-to {
opacity:0
}
.s2-stage .pref-fade-enter-from .pref-panel,
.s2-stage .pref-fade-leave-to .pref-panel {
transform:scale(.96) translateY(.5rem);opacity:0
}
.s2-stage {
background:#00000059
}
.s2-stage {
background:#fff;border-color:#00000014;box-shadow:0 2rem 5rem #0000001f,0 0 0 1px #8b5cf60f
}
.s2-stage {
background:linear-gradient(90deg,transparent,rgba(139,92,246,.35) 30%,rgba(59,130,246,.35) 70%,transparent)
}
.s2-stage {
background:#0000000a;color:#555f73
}
.s2-stage {
background:#00000014;color:#232837
}
.s2-stage {
background:linear-gradient(135deg,#8b5cf61a,#3b82f60f);color:#7850d2
}
.s2-stage {
color:#141826
}
.s2-stage {
color:#505a6e
}
.s2-stage {
scrollbar-color:rgba(0,0,0,.08) transparent
}
.s2-stage {
background:#fafafd;border-color:#00000012
}
.s2-stage {
border-color:#0000001f
}
.s2-stage {
color:#7850d2
}
.s2-stage {
color:#282d41
}
.s2-stage {
background:#00000005
}
.s2-stage {
background:#8b5cf60a;border-color:#8b5cf626
}
.s2-stage {
border-color:#0003
}
.s2-stage {
border-color:#7850d2
}
.s2-stage {
background:#7850d2
}
.s2-stage {
color:#32374b
}
.s2-stage {
color:#141826
}
.s2-stage {
color:#5f697d
}
.s2-stage {
background:#8b5cf61a;color:#643cc8;border-color:#8b5cf62e
}
.s2-stage {
background:#fff;border-color:#00000012
}
.s2-stage {
background:#f8f8fc;border-color:#0000001f
}
.s2-stage {
background:#8b5cf60a;border-color:#8b5cf633
}
.s2-stage {
background:#0000000a
}
.s2-stage {
background:#8b5cf614
}
.s2-stage {
color:#32374b
}
.s2-stage {
color:#141826
}
.s2-stage {
color:#5f697d
}
.s2-stage {
background:#8b5cf61f;color:#643cc8
}
.s2-stage {
background:#fff;border-color:#00000014
}
.s2-stage {
border-color:#00000024;background:#f8f8fc
}
.s2-stage {
border-color:#8b5cf64d;background:#8b5cf60a
}
.s2-stage {
background:#0000001a
}
.s2-stage {
background:#8b5cf680
}
.s2-stage {
color:#414b5f
}
.s2-stage {
color:#643cc8
}
.s2-stage {
background:#fff;border-color:#0000001a;color:#3c465a
}
.s2-stage {
border-color:#0000002e;background:#f8f8fc;color:#141826
}
.s2-stage {
border-color:#8b5cf666;background:#8b5cf614;color:#643cc8
}
.s2-stage {
background:#fff;border-color:#0000001f;color:#141826
}
.s2-stage {
color:#969eaf
}
.s2-stage {
background:#b4780014;color:#a06400;border-color:#b478002e
}
.s2-stage {
background:#b4780024;border-color:#b478004d
}
.s2-stage {
background:#fff;border:1px solid rgba(0,0,0,.1);box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;color:#282d3c
}
.s2-stage {
color:#5f697d
}
.s2-stage {
color:#2d3246
}
.s2-stage {
border-color:#0000001a
}
.s2-stage {
background:#00000008;color:#3c465a
}
.s2-stage {
background:#8b5cf614;color:#643cc8
}
.s2-stage {
color:#141826;border-left-color:#00000014;border-right-color:#00000014
}
.s2-stage {
background:#0000000f
}
.s2-stage {
color:#646e82
}
.s2-stage {
background:#fff;border-color:#00000012
}
.s2-stage {
border-color:#0000001f;background:#fafafd
}
.s2-stage {
color:#643cc8;background:#8b5cf614;border-color:#8b5cf626
}
.s2-stage {
color:#828c9e
}
.s2-stage {
background:#ef444414;color:#c83232
}
.s2-stage {
border-color:#0000001a;color:#505a6e
}
.s2-stage {
border-color:#8b5cf640;color:#643cc8;background:#8b5cf608
}
.s2-stage {
background:#fff;border-top:1px solid rgba(0,0,0,.05)
}
.s2-stage {
background:linear-gradient(135deg,#7846e6,#5a50dc);color:#fff;box-shadow:0 2px 8px #8b5cf640
}
.s2-stage {
background:linear-gradient(135deg,#6e3cdc,#5046d2);box-shadow:0 4px 16px #8b5cf64d
}
.s2-stage .suggestion-section {
margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem
}
.s2-stage .suggestion-label {
font-size:.75rem;color:var(--w-35);font-weight:500;letter-spacing:.02em
}
.s2-stage .suggestion-area {
display:flex;align-items:flex-start;gap:.625rem;padding:.75rem 1rem;background:var(--w-3);border:1px solid var(--w-6);border-radius:.875rem;transition:all .25s ease;position:relative
}
.s2-stage .suggestion-area:hover {
background:var(--w-5);border-color:var(--w-10)
}
.s2-stage .suggestion-area:focus-within {
background:#00cae00a;border-color:var(--c-primary-30);box-shadow:0 0 0 3px var(--c-primary-6)
}
.s2-stage .suggestion-icon {
flex-shrink:0;color:var(--w-20);transition:color .2s ease;margin-top:.125rem
}
.s2-stage .suggestion-area:focus-within .suggestion-icon {
color:var(--c-primary-60)
}
.s2-stage .suggestion-input {
flex:1;background:transparent;border:none;outline:none;color:var(--w-90);font-size:.8125rem;line-height:1.5;font-family:inherit;resize:none;overflow:hidden;min-height:1.25rem;max-height:10rem;padding:0;margin:0
}
.s2-stage .suggestion-input::placeholder {
color:#ffffff38
}
.s2-stage .suggestion-hint {
flex-shrink:0;font-size:.6875rem;color:#ffffff2e;padding:.125rem .5rem;border:1px solid var(--w-8);border-radius:.375rem;font-family:monospace;letter-spacing:.02em;cursor:default;transition:all .25s ease;-webkit-user-select:none;user-select:none
}
.s2-stage .suggestion-hint.active {
color:var(--c-primary-90);border-color:var(--c-primary-50);background:var(--c-primary-10);cursor:pointer;box-shadow:0 0 6px var(--c-primary-15)
}
.s2-stage {
color:#78808c
}
.s2-stage {
color:#5a6476
}
.s2-stage .zhixing-zhuangtai {
display:flex;flex-direction:column;gap:.75rem;padding:1.125rem 1.25rem;background:var(--w-2);border:1px solid var(--w-6);border-radius:.875rem;margin-top:.5rem;transition:all .5s cubic-bezier(.4,0,.2,1);overflow:hidden;position:relative
}
.s2-stage .zhixing-zhuangtai:before {
content:"";position:absolute;top:0;left:0;right:0;height:2px;transition:background .6s ease
}
.s2-stage .phase-dispatch:before {
background:linear-gradient(90deg,rgba(59,130,246,.8),rgba(59,130,246,.2),transparent)
}
.s2-stage .phase-thinking:before {
background:linear-gradient(90deg,rgba(139,92,246,.8),rgba(168,85,247,.4),transparent)
}
.s2-stage .phase-building:before {
background:linear-gradient(90deg,var(--c-primary-80),rgba(34,211,238,.3),transparent)
}
.s2-stage .phase-default:before {
background:linear-gradient(90deg,rgba(59,130,246,.6),rgba(59,130,246,.15),transparent)
}
.s2-stage .status-title-row {
display:flex;align-items:center;gap:.425rem
}
.s2-stage .title-icon {
font-size:.75rem;transition:color .5s ease
}
.s2-stage .phase-dispatch .title-icon {
color:#60a5fa99
}
.s2-stage .phase-thinking .title-icon {
color:#a78bfa99
}
.s2-stage .phase-building .title-icon {
color:#22d3ee99
}
.s2-stage .phase-default .title-icon {
color:var(--w-30)
}
.s2-stage .title-text {
font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--w-35);text-transform:uppercase;transition:color .5s ease
}
.s2-stage .phase-dispatch .title-text {
color:#60a5fa73
}
.s2-stage .phase-thinking .title-text {
color:#a78bfa73
}
.s2-stage .phase-building .title-text {
color:#22d3ee73
}
.s2-stage .status-main-row {
display:flex;align-items:center;gap:.75rem
}
.s2-stage .status-visual {
width:2.25rem;height:2.25rem;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.s2-stage .anim-dispatch {
position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center
}
.s2-stage .signal-dot {
width:.5rem;height:.5rem;background:#3b82f6e6;border-radius:50%;box-shadow:0 0 8px #3b82f680;animation:signalPulse-49f46274 1.5s ease-in-out infinite
}
.s2-stage .signal-ring {
position:absolute;width:1.5rem;height:1.5rem;border:2px solid rgba(59,130,246,.4);border-radius:50%;animation:signalExpand-49f46274 2s ease-out infinite
}
.s2-stage .signal-ring.ring-2 {
animation-delay:.7s
}
@keyframes signalPulse-49f46274{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}
@keyframes signalExpand-49f46274{0%{transform:scale(.5);opacity:.8}to{transform:scale(2);opacity:0}}
.s2-stage .anim-thinking {
position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center
}
.s2-stage .think-core {
width:.625rem;height:.625rem;background:radial-gradient(circle,#a855f7f2,#8b5cf6b3);border-radius:50%;box-shadow:0 0 12px #8b5cf680;animation:thinkPulse-49f46274 2s ease-in-out infinite
}
.s2-stage .think-orbit {
position:absolute;width:1.75rem;height:1.75rem;border:1.5px solid transparent;border-top-color:#8b5cf699;border-right-color:#a855f74d;border-radius:50%;animation:thinkOrbit-49f46274 2.5s linear infinite
}
.s2-stage .think-orbit.orbit-2 {
width:2.25rem;height:2.25rem;border-top-color:#a855f766;border-right-color:#8b5cf626;animation-duration:3.5s;animation-direction:reverse
}
.s2-stage .think-spark {
position:absolute;width:3px;height:3px;background:#a855f7e6;border-radius:50%;animation:sparkle-49f46274 2.5s ease-in-out infinite
}
.s2-stage .think-spark.spark-1 {
top:2px;right:8px;animation-delay:0s
}
.s2-stage .think-spark.spark-2 {
bottom:4px;left:4px;animation-delay:.8s
}
.s2-stage .think-spark.spark-3 {
top:10px;left:2px;animation-delay:1.6s
}
@keyframes thinkPulse-49f46274{0%,to{transform:scale(1);box-shadow:0 0 12px #8b5cf680}50%{transform:scale(1.15);box-shadow:0 0 20px #8b5cf6b3}}
@keyframes thinkOrbit-49f46274{to{transform:rotate(360deg)}}
@keyframes sparkle-49f46274{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}}
.s2-stage .anim-building {
position:relative;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px;padding-bottom:.375rem
}
.s2-stage .block {
width:.5rem;border-radius:2px;animation:blockBuild-49f46274 1.6s ease-in-out infinite
}
.s2-stage .block-1 {
background:linear-gradient(to top,var(--c-primary-80),var(--c-primary-30));animation-delay:0s
}
.s2-stage .block-2 {
background:linear-gradient(to top,#22d3eecc,#22d3ee4d);animation-delay:.2s
}
.s2-stage .block-3 {
background:linear-gradient(to top,#06b6d4cc,#06b6d44d);animation-delay:.4s
}
@keyframes blockBuild-49f46274{0%,to{height:.5rem}30%{height:1.375rem}60%{height:.875rem}80%{height:1.125rem}}
.s2-stage .anim-default {
width:100%;height:100%;display:flex;align-items:center;justify-content:center
}
.s2-stage .spinner-arc {
width:1.375rem;height:1.375rem;border:2px solid rgba(59,130,246,.2);border-top-color:#3b82f6cc;border-radius:50%;animation:spin-49f46274 .8s linear infinite
}
@keyframes spin-49f46274{to{transform:rotate(360deg)}}
.s2-stage .status-text-area {
display:flex;align-items:baseline
}
.s2-stage .status-main-text {
font-size:.9375rem;font-weight:600;line-height:1.4;transition:color .5s ease
}
.s2-stage .phase-dispatch .status-main-text {
color:#60a5faf2
}
.s2-stage .phase-thinking .status-main-text {
color:#a78bfaf2
}
.s2-stage .phase-building .status-main-text {
color:#22d3eef2
}
.s2-stage .phase-default .status-main-text {
color:var(--w-85)
}
.s2-stage .wave-dots {
display:inline-flex;margin-left:2px
}
.s2-stage .wave-dots .dot {
font-size:1.15em;font-weight:700;animation:wave-49f46274 1.4s ease-in-out infinite
}
.s2-stage .phase-dispatch .wave-dots .dot {
color:#60a5facc
}
.s2-stage .phase-thinking .wave-dots .dot {
color:#a78bfacc
}
.s2-stage .phase-building .wave-dots .dot {
color:#22d3eecc
}
.s2-stage .phase-default .wave-dots .dot {
color:#ffc800e6
}
.s2-stage .wave-dots .dot:nth-child(1) {
animation-delay:0s
}
.s2-stage .wave-dots .dot:nth-child(2) {
animation-delay:.2s
}
.s2-stage .wave-dots .dot:nth-child(3) {
animation-delay:.4s
}
@keyframes wave-49f46274{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}
.s2-stage .phase-indicator {
padding:.5rem .25rem 0
}
.s2-stage .phase-track {
position:relative;height:2.5rem;margin:0 1rem
}
.s2-stage .track-bg {
position:absolute;top:.5rem;left:0;right:0;height:3px;background:var(--w-6);border-radius:2px
}
.s2-stage .track-fill {
position:absolute;top:.5rem;left:0;height:3px;border-radius:2px;transition:width .8s cubic-bezier(.4,0,.2,1)
}
.s2-stage .phase-dispatch .track-fill {
background:linear-gradient(90deg,#3b82f6e6,#3b82f666)
}
.s2-stage .phase-thinking .track-fill {
background:linear-gradient(90deg,#22c55ecc,#8b5cf6e6)
}
.s2-stage .phase-building .track-fill {
background:linear-gradient(90deg,rgba(34,197,94,.7),rgba(34,197,94,.5),var(--c-primary-90))
}
.s2-stage .track-nodes {
position:absolute;top:0;left:0;right:0;height:100%
}
.s2-stage .track-node {
position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.375rem
}
.s2-stage .node-dot {
width:1.125rem;height:1.125rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--w-3);border:2px solid var(--w-10);transition:all .5s cubic-bezier(.4,0,.2,1);position:relative
}
.s2-stage .node-inner {
width:.375rem;height:.375rem;border-radius:50%;background:var(--w-8);transition:all .5s ease
}
.s2-stage .track-node.active .node-dot {
border-color:currentColor;box-shadow:0 0 10px currentColor,0 0 20px #8b5cf626;animation:nodeGlow-49f46274 2s ease-in-out infinite
}
.s2-stage .track-node.active .node-inner {
background:currentColor;box-shadow:0 0 4px currentColor
}
.s2-stage .phase-dispatch .track-node.active {
color:#3b82f6b3
}
.s2-stage .phase-thinking .track-node.active {
color:#8b5cf6b3
}
.s2-stage .phase-building .track-node.active {
color:var(--c-primary-70)
}
.s2-stage .track-node.done .node-dot {
border-color:#22c55e80;background:#22c55e1a;box-shadow:none;animation:none
}
.s2-stage .track-node.done .node-inner {
background:#22c55ecc;box-shadow:none
}
@keyframes nodeGlow-49f46274{0%,to{box-shadow:0 0 8px currentColor,0 0 16px #8b5cf61a}50%{box-shadow:0 0 14px currentColor,0 0 28px #8b5cf633}}
.s2-stage .node-label {
font-size:.6875rem;font-weight:500;letter-spacing:.06em;color:var(--w-12);transition:all .5s ease;white-space:nowrap
}
.s2-stage .track-node.active .node-label {
color:#ffffffa6;font-weight:600
}
.s2-stage .track-node.done .node-label {
color:#22c55e80
}
.s2-stage {
color:#4b5569
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#149646
}
.s2-stage .jieDian-header {
margin-bottom:.25rem
}
.s2-stage .jieDian-name {
font-size:1rem;font-weight:600;color:var(--w-100)
}
.s2-stage .jieDian-sub {
display:block;font-size:.8125rem;color:var(--w-50);line-height:1.5;margin-top:.25rem
}
.s2-stage .yitu-confirm-area {
margin-top:.75rem;display:flex;flex-direction:column;gap:1.25rem
}
.s2-stage .section-header {
display:flex;align-items:baseline;justify-content:space-between
}
.s2-stage .section-title {
font-size:.9375rem;font-weight:600;color:var(--w-90)
}
.s2-stage .section-hint {
font-size:.75rem;color:var(--w-35)
}
.s2-stage .options-grid {
display:grid;grid-template-columns:1fr 1fr;gap:.75rem
}
.s2-stage .option-card {
padding:1.125rem 1.25rem;background:#ffffff06;border:1px solid var(--w-7);border-left:3px solid var(--w-10);border-radius:.875rem;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden
}
.s2-stage .option-card:hover {
background:var(--w-5);transform:translateY(-2px);box-shadow:0 6px 20px #00000040
}
.s2-stage .option-card.card-cyan {
border-left-color:var(--c-primary-30)
}
.s2-stage .option-card.card-purple {
border-left-color:#a855f74d
}
.s2-stage .option-card.card-amber {
border-left-color:#f59e0b4d
}
.s2-stage .option-card.card-teal {
border-left-color:#2dd4bf4d
}
.s2-stage .option-card.card-green {
border-left-color:#22c55e4d
}
.s2-stage .option-card.card-blue {
border-left-color:#3b82f64d
}
.s2-stage .option-card.card-cyan:hover {
border-color:var(--c-primary-20);border-left-color:var(--c-primary-60)
}
.s2-stage .option-card.card-purple:hover {
border-color:#a855f733;border-left-color:#a855f799
}
.s2-stage .option-card.card-amber:hover {
border-color:#f59e0b33;border-left-color:#f59e0b99
}
.s2-stage .option-card.card-teal:hover {
border-color:#2dd4bf33;border-left-color:#2dd4bf99
}
.s2-stage .option-card.card-green:hover {
border-color:#22c55e33;border-left-color:#22c55e99
}
.s2-stage .option-card.card-blue:hover {
border-color:#3b82f633;border-left-color:#3b82f699
}
.s2-stage .option-card.is-selected.card-cyan {
border-color:var(--c-primary-50);border-left-color:var(--color-primary);background:var(--c-primary-6);box-shadow:0 0 0 1px var(--c-primary-20),0 6px 24px var(--c-primary-10)
}
.s2-stage .option-card.is-selected.card-purple {
border-color:#a855f780;border-left-color:#a855f7;background:#a855f70f;box-shadow:0 0 0 1px #a855f733,0 6px 24px #a855f71a
}
.s2-stage .option-card.is-selected.card-amber {
border-color:#f59e0b80;border-left-color:#f59e0b;background:#f59e0b0f;box-shadow:0 0 0 1px #f59e0b33,0 6px 24px #f59e0b1a
}
.s2-stage .option-card.is-selected.card-teal {
border-color:#2dd4bf80;border-left-color:#2dd4bf;background:#2dd4bf0f;box-shadow:0 0 0 1px #2dd4bf33,0 6px 24px #2dd4bf1a
}
.s2-stage .option-card.is-selected.card-green {
border-color:#22c55e80;border-left-color:#22c55e;background:#22c55e0f;box-shadow:0 0 0 1px #22c55e33,0 6px 24px #22c55e1a
}
.s2-stage .option-card.is-selected.card-blue {
border-color:#3b82f680;border-left-color:#3b82f6;background:#3b82f60f;box-shadow:0 0 0 1px #3b82f633,0 6px 24px #3b82f61a
}
.s2-stage .check-mark {
position:absolute;top:.75rem;right:.75rem;width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:checkPop-4cf5f644 .25s cubic-bezier(.34,1.56,.64,1)
}
.s2-stage .check-mark svg {
width:.875rem;height:.875rem
}
.s2-stage .card-cyan .check-mark {
background:var(--c-primary-20);color:var(--color-primary)
}
.s2-stage .card-purple .check-mark {
background:#a855f733;color:#a855f7
}
.s2-stage .card-amber .check-mark {
background:#f59e0b33;color:#f59e0b
}
.s2-stage .card-teal .check-mark {
background:#2dd4bf33;color:#2dd4bf
}
.s2-stage .card-green .check-mark {
background:#22c55e33;color:#22c55e
}
.s2-stage .card-blue .check-mark {
background:#3b82f633;color:#3b82f6
}
@keyframes checkPop-4cf5f644{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.s2-stage .option-badge {
width:2rem;height:2rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;margin-bottom:.75rem;flex-shrink:0
}
.s2-stage .badge-cyan {
background:var(--c-primary-15);color:var(--color-primary)
}
.s2-stage .badge-purple {
background:#a855f726;color:#a855f7
}
.s2-stage .badge-amber {
background:#f59e0b26;color:#f59e0b
}
.s2-stage .badge-teal {
background:#2dd4bf26;color:#2dd4bf
}
.s2-stage .badge-green {
background:#22c55e26;color:#22c55e
}
.s2-stage .badge-blue {
background:#3b82f626;color:#3b82f6
}
.s2-stage .option-title {
font-size:.9375rem;font-weight:700;color:var(--w-95);margin-bottom:.625rem
}
.s2-stage .option-reason {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .reason-tag {
font-size:.625rem;font-weight:600;padding:.125rem .4375rem;border-radius:.25rem;letter-spacing:.03em;line-height:1.5;flex-shrink:0;white-space:nowrap
}
.s2-stage .reason-tag-recommend {
background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:#22c55ef2
}
.s2-stage .reason-tag-not-recommend {
background:#ef44441f;border:1px solid rgba(239,68,68,.25);color:#ef4444d9
}
.s2-stage .reason-text {
font-size:.8125rem;line-height:1.6
}
.s2-stage .recommend-reason {
color:#22c55eb3
}
.s2-stage .not-recommend-reason {
color:var(--w-35)
}
.s2-stage .action-row {
display:flex;align-items:center;justify-content:flex-end
}
.s2-stage .confirm-btn {
display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,var(--c-primary-15),rgba(59,130,246,.12));border:1px solid var(--c-primary-35);border-radius:.625rem;color:var(--c-primary-95);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);letter-spacing:.02em
}
.s2-stage .confirm-btn:hover:not(:disabled) {
background:linear-gradient(135deg,var(--c-primary-25),rgba(59,130,246,.2));border-color:#00cae08c;transform:translateY(-1px);box-shadow:0 4px 20px var(--c-primary-20)
}
.s2-stage .confirm-btn:disabled {
opacity:.35;cursor:not-allowed
}
.s2-stage .btn-spinner {
width:.875rem;height:.875rem;border:2px solid var(--c-primary-30);border-top-color:var(--c-primary-90);border-radius:50%;animation:spin-4cf5f644 .8s linear infinite
}
@keyframes spin-4cf5f644{to{transform:rotate(360deg)}}
.s2-stage .yitu-done-area {
margin-top:.625rem;display:flex;flex-direction:column;gap:.625rem
}
.s2-stage .done-analysis {
font-size:.8125rem;color:var(--w-45);line-height:1.6
}
.s2-stage .done-card {
position:relative;display:flex;flex-direction:column;gap:.5rem;padding:.875rem 1rem;background:#34d39908;border:1px solid rgba(52,211,153,.12);border-radius:.75rem;overflow:hidden
}
.s2-stage .done-accent-bar {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(52,211,153,.7),rgba(52,211,153,.2),transparent)
}
.s2-stage .done-card-header {
display:flex;align-items:center
}
.s2-stage .done-badge {
display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .5rem;background:#34d3991a;border:1px solid rgba(52,211,153,.2);border-radius:.3125rem;font-size:.75rem;font-weight:600;color:#34d399e6;white-space:nowrap
}
.s2-stage .done-badge svg {
color:#34d399e6;flex-shrink:0
}
.s2-stage .done-card-reason {
font-size:.8125rem;color:var(--w-50);line-height:1.6
}
.s2-stage .wave-dots {
display:inline-flex;margin-left:2px
}
.s2-stage .wave-dots .dot {
color:#ffc800e6;font-size:1.2em;animation:wave-4cf5f644 1.4s ease-in-out infinite
}
.s2-stage .wave-dots .dot:nth-child(1) {
animation-delay:0s
}
.s2-stage .wave-dots .dot:nth-child(2) {
animation-delay:.2s
}
.s2-stage .wave-dots .dot:nth-child(3) {
animation-delay:.4s
}
@keyframes wave-4cf5f644{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#4b5569
}
.s2-stage {
background:#fffffff2;border-color:#00000014;border-left-color:#0000001f
}
.s2-stage {
background:#00000005;box-shadow:0 6px 20px #00000014
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#555f73
}
.s2-stage {
color:#149646
}
.s2-stage {
color:#008caa
}
.s2-stage {
color:#414b64
}
.s2-stage {
color:#323c50
}
.s2-stage {
border-color:#15803d73;border-left-color:#15803d;background:#15803d12;box-shadow:0 0 0 1px #15803d2e,0 6px 24px #15803d14
}
.s2-stage {
background:#15803d2e;color:#15803d
}
.s2-stage {
background:#15803d24;color:#15803d
}
.s2-stage {
border-left-color:#15803d59
}
.s2-stage {
border-color:#15803d2e;border-left-color:#15803d8c
}
.s2-stage {
background:#15803d1f;border-color:#15803d47;color:#15803d
}
.s2-stage {
color:#15803de0
}
.s2-stage {
background:#0596690f;border-color:#05966933
}
.s2-stage {
background:linear-gradient(90deg,rgba(5,150,105,.65),rgba(5,150,105,.22),transparent)
}
.s2-stage {
background:#0596691f;border-color:#0596693d;color:#059669
}
.s2-stage {
color:#059669
}
.s2-stage .jieDian-header {
margin-bottom:.25rem
}
.s2-stage .jieDian-name {
font-size:1rem;font-weight:600;color:var(--w-100)
}
.s2-stage .jieDian-sub {
display:block;font-size:.8125rem;color:var(--w-45);line-height:1.5;margin-top:.25rem
}
.s2-stage .chuangyi-confirm-area {
margin-top:.75rem;display:flex;flex-direction:column;gap:1.25rem
}
.s2-stage .selection-area {
display:flex;flex-direction:column;gap:1rem
}
.s2-stage .selection-header {
display:flex;justify-content:space-between;align-items:baseline
}
.s2-stage .header-title {
font-size:.9375rem;font-weight:600;color:var(--w-100)
}
.s2-stage .header-hint {
font-size:.75rem;color:var(--w-35)
}
.s2-stage .fangxiang-grid {
display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem
}
.s2-stage .fangxiang-card {
--accent: 96, 165, 250;position:relative;display:flex;flex-direction:column;background:#ffffff06;border:1px solid var(--w-7);border-radius:14px;padding:1.125rem 1.125rem .875rem;cursor:pointer;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)
}
.s2-stage .card-glow-bar {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(var(--accent),.5),transparent);opacity:0;transition:opacity .3s ease
}
.s2-stage .fangxiang-card:hover .card-glow-bar,
.s2-stage .fangxiang-card.selected .card-glow-bar {
opacity:1
}
.s2-stage .fangxiang-card.selected .card-glow-bar {
background:linear-gradient(90deg,transparent,rgba(var(--accent),.8),transparent)
}
.s2-stage .fangxiang-card:hover {
background:rgba(var(--accent),.04);border-color:rgba(var(--accent),.2);transform:translateY(-3px);box-shadow:0 8px 24px -8px #00000059,0 0 0 1px rgba(var(--accent),.08)
}
.s2-stage .fangxiang-card.selected {
background:rgba(var(--accent),.08);border-color:rgba(var(--accent),.45);box-shadow:0 0 0 1px rgba(var(--accent),.15),0 4px 20px -4px rgba(var(--accent),.2),inset 0 1px rgba(var(--accent),.1)
}
.s2-stage .card-accent-a {
--accent: 34, 211, 238
}
.s2-stage .card-accent-b {
--accent: 168, 85, 247
}
.s2-stage .card-accent-c {
--accent: 251, 146, 60
}
.s2-stage .card-accent-d {
--accent: 244, 114, 182
}
.s2-stage .card-header {
display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem
}
.s2-stage .card-badge {
width:2.125rem;height:2.125rem;border-radius:10px;background:linear-gradient(135deg,rgba(var(--accent),.2),rgba(var(--accent),.08));border:1px solid rgba(var(--accent),.18);display:flex;align-items:center;justify-content:center;transition:all .3s ease
}
.s2-stage .badge-letter {
font-size:.875rem;font-weight:700;color:rgba(var(--accent),1);line-height:1
}
.s2-stage .fangxiang-card.selected .card-badge {
background:linear-gradient(135deg,rgba(var(--accent),.35),rgba(var(--accent),.15));border-color:rgba(var(--accent),.35);box-shadow:0 0 12px rgba(var(--accent),.2)
}
.s2-stage .card-check {
width:1.375rem;height:1.375rem;border-radius:50%;background:linear-gradient(135deg,rgba(var(--accent),1),rgba(var(--accent),.7));display:flex;align-items:center;justify-content:center;animation:check-pop-e181bb5b .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px rgba(var(--accent),.4)
}
@keyframes check-pop-e181bb5b{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}
.s2-stage .card-check svg {
width:.8rem;height:.8rem;color:var(--w-100)
}
.s2-stage .card-body {
display:flex;flex-direction:column;gap:.375rem;flex:1
}
.s2-stage .card-title {
font-size:.9375rem;font-weight:600;color:var(--w-95);line-height:1.35;transition:color .25s ease
}
.s2-stage .fangxiang-card.selected .card-title {
color:var(--w-100)
}
.s2-stage .card-desc {
font-size:.8rem;color:var(--w-50);line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden
}
.s2-stage .fangxiang-card:hover .card-desc {
color:var(--w-60)
}
.s2-stage .fangxiang-card.selected .card-desc {
color:#ffffffa6
}
.s2-stage .card-footer {
margin-top:.75rem;padding-top:.625rem;border-top:1px solid var(--w-5)
}
.s2-stage .scene-chip {
display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:rgba(var(--accent),.08);border:1px solid rgba(var(--accent),.12);border-radius:2rem;transition:all .25s ease
}
.s2-stage .fangxiang-card.selected .scene-chip {
background:rgba(var(--accent),.14);border-color:rgba(var(--accent),.25)
}
.s2-stage .chip-dot {
width:5px;height:5px;border-radius:50%;background:rgba(var(--accent),.8);flex-shrink:0
}
.s2-stage .fangxiang-card.selected .chip-dot {
box-shadow:0 0 6px rgba(var(--accent),.6)
}
.s2-stage .chip-text {
font-size:.6875rem;color:rgba(var(--accent),.85);font-weight:500
}
.s2-stage .action-row {
display:flex;align-items:center;justify-content:flex-end
}
.s2-stage .confirm-btn {
display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,var(--c-primary-15),rgba(59,130,246,.12));border:1px solid var(--c-primary-35);border-radius:.625rem;color:var(--c-primary-95);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);letter-spacing:.02em
}
.s2-stage .confirm-btn:hover:not(:disabled) {
background:linear-gradient(135deg,var(--c-primary-25),rgba(59,130,246,.2));border-color:#00cae08c;transform:translateY(-1px);box-shadow:0 4px 20px var(--c-primary-20)
}
.s2-stage .confirm-btn:disabled {
opacity:.35;cursor:not-allowed
}
.s2-stage .btn-spinner {
width:.875rem;height:.875rem;border:2px solid var(--c-primary-30);border-top-color:var(--c-primary-90);border-radius:50%;animation:spin-e181bb5b .8s linear infinite
}
@keyframes spin-e181bb5b{to{transform:rotate(360deg)}}
.s2-stage .chuangyi-done-area {
margin-top:.625rem
}
.s2-stage .done-card {
--bar-color: 99, 102, 241;--badge-color: 52, 211, 153;--name-color: 224, 231, 255;--tag-color: 251, 191, 36;position:relative;display:flex;flex-direction:column;gap:.625rem;padding:1rem 1.125rem;background:var(--w-2);border:1px solid var(--w-8);border-radius:.75rem;overflow:hidden
}
.s2-stage .done-accent-bar {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(var(--bar-color),.7),rgba(var(--bar-color),.2),transparent)
}
.s2-stage .done-accent-a {
--bar-color: 34, 211, 238
}
.s2-stage .done-accent-b {
--bar-color: 139, 92, 246
}
.s2-stage .done-accent-c {
--bar-color: 251, 146, 60
}
.s2-stage .done-accent-d {
--bar-color: 236, 72, 153
}
.s2-stage .done-header {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .done-badge {
display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .5rem;background:rgba(var(--bar-color),.1);border:1px solid rgba(var(--bar-color),.2);border-radius:.3125rem;font-size:.6875rem;font-weight:600;color:rgba(var(--bar-color),.9);white-space:nowrap
}
.s2-stage .done-badge svg {
color:rgba(var(--badge-color),.9);flex-shrink:0
}
.s2-stage .done-name {
font-size:.9375rem;font-weight:600;color:rgba(var(--name-color),.95)
}
.s2-stage .done-desc {
font-size:.8125rem;color:#ffffff8c;line-height:1.65
}
.s2-stage .done-footer {
display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.125rem
}
.s2-stage .done-tag {
display:inline-flex;align-items:center;gap:.3rem;padding:.1875rem .5rem;background:rgba(var(--tag-color),.06);border:1px solid rgba(var(--tag-color),.12);border-radius:1rem;font-size:.6875rem;color:rgba(var(--tag-color),.75);font-weight:500
}
.s2-stage .tag-dot {
width:4px;height:4px;border-radius:50%;background:rgba(var(--tag-color),.55);flex-shrink:0
}
.s2-stage .wave-dots {
display:inline-flex;margin-left:2px
}
.s2-stage .wave-dots .dot {
color:#ffc800e6;font-size:1.2em;animation:wave-e181bb5b 1.4s ease-in-out infinite
}
.s2-stage .wave-dots .dot:nth-child(1) {
animation-delay:0s
}
.s2-stage .wave-dots .dot:nth-child(2) {
animation-delay:.2s
}
.s2-stage .wave-dots .dot:nth-child(3) {
animation-delay:.4s
}
@keyframes wave-e181bb5b{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}
.s2-stage {
color:#141826
}
.s2-stage {
color:#4b5569
}
.s2-stage {
color:#141826
}
.s2-stage {
color:#374155
}
.s2-stage {
color:#283041
}
.s2-stage {
color:#283246
}
.s2-stage {
color:#323c50
}
.s2-stage {
background:#fffffff2;border-color:#00000014
}
.s2-stage {
color:#141826
}
.s2-stage {
color:#008caa
}
.s2-stage .jieDian-header {
margin-bottom:.25rem
}
.s2-stage .jieDian-name {
font-size:1rem;font-weight:600;color:var(--w-100)
}
.s2-stage .jieDian-sub {
display:block;font-size:.8125rem;color:var(--w-45);line-height:1.5;margin-top:.25rem
}
.s2-stage .dagang-confirm-area {
margin-top:.75rem;display:flex;flex-direction:column;gap:1rem
}
.s2-stage .dagang-top-info {
padding:1.125rem 1.25rem;background:linear-gradient(135deg,rgba(139,92,246,.06),rgba(59,130,246,.04),var(--c-primary-3));border:1px solid rgba(139,92,246,.12);border-radius:1rem;position:relative;overflow:hidden
}
.s2-stage .dagang-top-info:before {
content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(139,92,246,.6),rgba(59,130,246,.4),var(--c-primary-30),transparent)
}
.s2-stage .top-info-main {
display:flex;flex-direction:column;gap:.625rem
}
.s2-stage .story-title {
font-size:1.25rem;font-weight:700;color:var(--w-100);margin:0;line-height:1.4;letter-spacing:.01em
}
.s2-stage .tag-row {
display:flex;flex-wrap:wrap;align-items:center;gap:.5rem
}
.s2-stage .type-tag {
display:inline-flex;align-items:center;padding:.1875rem .625rem;border-radius:2rem;font-size:.6875rem;font-weight:600;letter-spacing:.03em
}
.s2-stage .type-tag-0 {
background:#8b5cf61f;border:1px solid rgba(139,92,246,.2);color:#a78bfaf2
}
.s2-stage .type-tag-1 {
background:#3b82f61f;border:1px solid rgba(59,130,246,.2);color:#60a5faf2
}
.s2-stage .type-tag-2 {
background:#fb923c1f;border:1px solid rgba(251,146,60,.2);color:#fb923cf2
}
.s2-stage .type-tag-3 {
background:#f472b61f;border:1px solid rgba(244,114,182,.2);color:#f472b6f2
}
.s2-stage .mood-tag {
display:inline-flex;align-items:center;gap:.3rem;padding:.1875rem .625rem;background:#fbbf2414;border:1px solid rgba(251,191,36,.15);border-radius:2rem;font-size:.6875rem;font-weight:500;color:#fbbf24d9
}
.s2-stage .mood-tag svg {
flex-shrink:0;color:#fbbf24b3
}
.s2-stage .conflict-card {
display:flex;gap:0;background:#ef44440a;border:1px solid rgba(239,68,68,.1);border-radius:.875rem;overflow:hidden;transition:all .25s ease
}
.s2-stage .conflict-card:hover {
background:#ef44440f;border-color:#ef44442e
}
.s2-stage .conflict-accent {
width:3px;background:linear-gradient(180deg,#ef4444cc,#fb923c99);flex-shrink:0
}
.s2-stage .conflict-content {
padding:.875rem 1rem;display:flex;flex-direction:column;gap:.375rem
}
.s2-stage .conflict-label {
display:flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:700;color:#ef4444cc;text-transform:uppercase;letter-spacing:.08em
}
.s2-stage .conflict-label svg {
color:#ef4444b3
}
.s2-stage .conflict-text {
font-size:.9rem;color:var(--w-85);line-height:1.6;font-weight:500
}
.s2-stage .characters-area {
display:flex;flex-direction:column;gap:.75rem
}
.s2-stage .section-title {
display:flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;color:var(--w-70)
}
.s2-stage .section-title svg {
color:var(--c-primary-70)
}
.s2-stage .characters-grid {
display:flex;flex-wrap:wrap;gap:.625rem
}
.s2-stage .character-card {
--ch-color: 139, 92, 246;flex:1;min-width:10rem;max-width:16rem;padding:.75rem .875rem;background:rgba(var(--ch-color),.04);border:1px solid rgba(var(--ch-color),.1);border-radius:.75rem;transition:all .25s ease
}
.s2-stage .character-card:hover {
background:rgba(var(--ch-color),.07);border-color:rgba(var(--ch-color),.2);transform:translateY(-1px)
}
.s2-stage .char-accent-0 {
--ch-color: 139, 92, 246
}
.s2-stage .char-accent-1 {
--ch-color: 59, 130, 246
}
.s2-stage .char-accent-2 {
--ch-color: 34, 211, 238
}
.s2-stage .char-accent-3 {
--ch-color: 251, 146, 60
}
.s2-stage .char-accent-4 {
--ch-color: 244, 114, 182
}
.s2-stage .char-header {
display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem
}
.s2-stage .char-name {
font-size:.875rem;font-weight:600;color:var(--w-95)
}
.s2-stage .char-role {
font-size:.625rem;font-weight:600;padding:.0625rem .375rem;background:rgba(var(--ch-color),.15);border:1px solid rgba(var(--ch-color),.2);border-radius:1rem;color:rgba(var(--ch-color),.9);white-space:nowrap
}
.s2-stage .char-desc {
font-size:.75rem;color:var(--w-50);line-height:1.55
}
.s2-stage .dagang-content-area {
background:var(--w-2);border:1px solid var(--w-8);border-radius:1rem;overflow:hidden
}
.s2-stage .dagang-header {
display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:1px solid var(--w-6);background:linear-gradient(135deg,#8b5cf60f,#3b82f60a)
}
.s2-stage .header-left {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .header-icon {
width:1.125rem;height:1.125rem;color:#8b5cf6cc
}
.s2-stage .header-title {
font-size:.875rem;font-weight:600;color:var(--w-90)
}
.s2-stage .dagang-body {
padding:1.125rem 1.375rem;line-height:1.8;color:#ffffffc7;font-size:.8625rem
}
.s2-stage .dagang-body .md-h1 {
font-size:1.1875rem;font-weight:700;color:var(--w-100);margin:.875rem 0 .5rem;padding-bottom:.375rem;border-bottom:1px solid var(--w-8)
}
.s2-stage .dagang-body .md-h2 {
font-size:1.0325rem;font-weight:600;color:var(--w-100);margin:.75rem 0 .375rem
}
.s2-stage .dagang-body .md-h3 {
font-size:.9375rem;font-weight:600;color:var(--w-95);margin:.625rem 0 .25rem
}
.s2-stage .dagang-body .md-p {
margin:.25rem 0
}
.s2-stage .dagang-body .md-blockquote {
margin:.5rem 0;padding:.625rem 1rem;border-left:3px solid rgba(139,92,246,.45);background:#8b5cf60d;border-radius:0 .5rem .5rem 0
}
.s2-stage .dagang-body .md-blockquote p {
margin:.2rem 0;color:#ffffffb8
}
.s2-stage .dagang-body .md-list {
margin:.375rem 0;padding-left:1.25rem;list-style:none
}
.s2-stage .dagang-body .md-list li {
position:relative;padding:.125rem 0
}
.s2-stage .dagang-body .md-list li:before {
content:"";position:absolute;left:-1rem;top:.65em;width:.3rem;height:.3rem;border-radius:50%;background:#8b5cf68c
}
.s2-stage .dagang-body .md-hr {
border:none;border-top:1px solid var(--w-8);margin:.75rem 0
}
.s2-stage .dagang-body .md-spacer {
height:.325rem
}
.s2-stage .dagang-body strong {
color:var(--w-100);font-weight:600
}
.s2-stage .dagang-body em {
color:#8b5cf6d9;font-style:italic
}
.s2-stage .dagang-body .md-code {
padding:.125rem .375rem;background:var(--w-7);border-radius:.25rem;font-family:monospace;font-size:.8rem
}
.s2-stage .action-area {
display:flex;align-items:center;justify-content:flex-end
}
.s2-stage .confirm-btn {
display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,#8b5cf62e,#3b82f624);border:1px solid rgba(139,92,246,.35);border-radius:.625rem;color:#a78bfaf2;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);letter-spacing:.02em
}
.s2-stage .confirm-btn:hover:not(:disabled) {
background:linear-gradient(135deg,#8b5cf647,#3b82f638);border-color:#8b5cf68c;transform:translateY(-1px);box-shadow:0 4px 20px #8b5cf633
}
.s2-stage .confirm-btn:disabled {
opacity:.35;cursor:not-allowed
}
.s2-stage .btn-spinner {
width:.875rem;height:.875rem;border:2px solid rgba(139,92,246,.3);border-top-color:#a78bfae6;border-radius:50%;animation:spin-c0b42fe8 .8s linear infinite
}
.s2-stage .dagang-done-area {
margin-top:.625rem
}
.s2-stage .done-card {
position:relative;display:flex;flex-direction:column;gap:.5rem;padding:.875rem 1rem;background:var(--w-2);border:1px solid var(--w-8);border-radius:.75rem;overflow:hidden
}
.s2-stage .done-accent-bar {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(139,92,246,.6),rgba(59,130,246,.4),transparent)
}
.s2-stage .done-header {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .done-badge {
display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .5rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:.3125rem;font-size:.6875rem;font-weight:600;color:#22c55ee6;white-space:nowrap
}
.s2-stage .done-badge svg {
color:#22c55ee6;flex-shrink:0
}
.s2-stage .done-title {
font-size:.9375rem;font-weight:600;color:#e0e7ffe6
}
.s2-stage .done-tags {
display:flex;flex-wrap:wrap;align-items:center;gap:.375rem
}
.s2-stage .done-type-tag {
display:inline-flex;padding:.125rem .5rem;background:#8b5cf614;border:1px solid rgba(139,92,246,.12);border-radius:1rem;font-size:.625rem;font-weight:500;color:#a78bfab3
}
.s2-stage .done-mood {
font-size:.625rem;color:#fbbf2499;font-weight:500
}
.s2-stage .done-conflict {
font-size:.8rem;color:var(--w-50);line-height:1.5
}
.s2-stage .wave-dots {
display:inline-flex;margin-left:2px
}
.s2-stage .wave-dots .dot {
color:#ffc800e6;font-size:1.2em;animation:wave-c0b42fe8 1.4s ease-in-out infinite
}
.s2-stage .wave-dots .dot:nth-child(1) {
animation-delay:0s
}
.s2-stage .wave-dots .dot:nth-child(2) {
animation-delay:.2s
}
.s2-stage .wave-dots .dot:nth-child(3) {
animation-delay:.4s
}
@keyframes wave-c0b42fe8{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}
@keyframes spin-c0b42fe8{to{transform:rotate(360deg)}}
.s2-stage {
color:#141826
}
.s2-stage {
color:#4b5569
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#232837
}
.s2-stage {
color:#282d3c
}
.s2-stage {
background:#8b5cf60a;border-left-color:#8b5cf64d
}
.s2-stage {
color:#0f121e
}
.s2-stage {
background:#0000000a;color:#282d41
}
.s2-stage {
background:linear-gradient(135deg,#8b5cf61a,#3b82f614);border-color:#8b5cf64d;color:#5528be
}
.s2-stage {
background:linear-gradient(135deg,#8b5cf62e,#3b82f624);border-color:#8b5cf680;box-shadow:0 4px 20px #8b5cf61f
}
.s2-stage {
background:#fffffff2;border-color:#00000014
}
.s2-stage {
color:#141826
}
.s2-stage {
color:#5528be
}
.s2-stage {
color:#966400
}
.s2-stage {
color:#323c50
}
.s2-stage .jieDian-header {
margin-bottom:.25rem
}
.s2-stage .jieDian-name {
font-size:1rem;font-weight:600;color:var(--w-100)
}
.s2-stage .xiaoshuo-confirm-area {
margin-top:.75rem;display:flex;flex-direction:column;gap:1rem
}
.s2-stage .xiaoshuo-top-bar {
padding:1rem 1.25rem;background:linear-gradient(135deg,#f59e0b0f,#fb923c0a,#8b5cf608);border:1px solid rgba(245,158,11,.12);border-radius:1rem;position:relative;overflow:hidden
}
.s2-stage .xiaoshuo-top-bar:before {
content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(245,158,11,.7),rgba(251,146,60,.5),rgba(139,92,246,.3),transparent)
}
.s2-stage .top-bar-content {
display:flex;align-items:center;gap:.75rem
}
.s2-stage .book-icon-wrap {
width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#f59e0b1a;border:1px solid rgba(245,158,11,.15);border-radius:.625rem;color:#f59e0bcc;flex-shrink:0
}
.s2-stage .top-bar-text {
flex:1;min-width:0
}
.s2-stage .chapter-title {
font-size:1.1875rem;font-weight:700;color:var(--w-100);margin:0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.s2-stage .word-count-badge {
display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .75rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.15);border-radius:2rem;font-size:.6875rem;font-weight:600;color:#f59e0bd9;white-space:nowrap;flex-shrink:0
}
.s2-stage .word-count-badge svg {
color:#f59e0bb3
}
.s2-stage .novel-reader {
border-radius:1rem;overflow:hidden
}
.s2-stage .reader-paper {
position:relative;padding:2rem 1.75rem;background:linear-gradient(180deg,var(--w-3),rgba(255,255,255,.015));border:1px solid var(--w-6);border-radius:1rem
}
.s2-stage .paper-ornament {
position:absolute;width:1.5rem;height:1.5rem;opacity:.15
}
.s2-stage .paper-ornament.top-left {
top:.75rem;left:.75rem;border-top:2px solid rgba(245,158,11,.8);border-left:2px solid rgba(245,158,11,.8)
}
.s2-stage .paper-ornament.top-right {
top:.75rem;right:.75rem;border-top:2px solid rgba(245,158,11,.8);border-right:2px solid rgba(245,158,11,.8)
}
.s2-stage .paper-ornament.bottom-left {
bottom:.75rem;left:.75rem;border-bottom:2px solid rgba(245,158,11,.8);border-left:2px solid rgba(245,158,11,.8)
}
.s2-stage .paper-ornament.bottom-right {
bottom:.75rem;right:.75rem;border-bottom:2px solid rgba(245,158,11,.8);border-right:2px solid rgba(245,158,11,.8)
}
.s2-stage .novel-body {
line-height:2;color:#ffffffd1;font-size:.9375rem;letter-spacing:.02em
}
.s2-stage .novel-body .novel-h1 {
font-size:1.25rem;font-weight:700;color:var(--w-100);margin:1.25rem 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(245,158,11,.15);text-align:center
}
.s2-stage .novel-body .novel-h2 {
font-size:1.0625rem;font-weight:600;color:var(--w-95);margin:1rem 0 .5rem;padding-left:.75rem;border-left:3px solid rgba(245,158,11,.5)
}
.s2-stage .novel-body .novel-h3 {
font-size:.9675rem;font-weight:600;color:var(--w-90);margin:.75rem 0 .375rem
}
.s2-stage .novel-body .novel-p {
margin:.375rem 0;text-indent:2em
}
.s2-stage .novel-body .novel-quote {
margin:.75rem 0;padding:.75rem 1.125rem;border-left:3px solid rgba(139,92,246,.4);background:#8b5cf60a;border-radius:0 .5rem .5rem 0;font-style:italic
}
.s2-stage .novel-body .novel-quote p {
margin:.25rem 0;color:var(--w-70);text-indent:0
}
.s2-stage .novel-body .novel-list {
margin:.5rem 0;padding-left:1.5rem;list-style:none
}
.s2-stage .novel-body .novel-list li {
position:relative;padding:.125rem 0;text-indent:0
}
.s2-stage .novel-body .novel-list li:before {
content:"";position:absolute;left:-1rem;top:.7em;width:.3rem;height:.3rem;border-radius:50%;background:#f59e0b8c
}
.s2-stage .novel-body .novel-hr {
border:none;margin:1.25rem auto;width:60%;height:1px;background:linear-gradient(90deg,transparent,rgba(245,158,11,.3),transparent)
}
.s2-stage .novel-body .novel-spacer {
height:.5rem
}
.s2-stage .novel-body strong {
color:var(--w-100);font-weight:600
}
.s2-stage .novel-body em {
color:#f59e0bd9;font-style:italic
}
.s2-stage .novel-body .novel-dialog {
color:#60a5faf2;font-weight:500
}
.s2-stage .novel-body .novel-code {
padding:.125rem .375rem;background:var(--w-7);border-radius:.25rem;font-family:monospace;font-size:.85rem
}
.s2-stage .scene-overview {
display:flex;flex-direction:column;gap:.75rem
}
.s2-stage .scene-section-title {
display:flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;color:var(--w-70)
}
.s2-stage .scene-section-title svg {
color:#f59e0bb3
}
.s2-stage .scene-count {
margin-left:auto;font-size:.6875rem;font-weight:500;color:var(--w-35)
}
.s2-stage .scene-strip {
display:grid;grid-template-columns:repeat(4,1fr);gap:.625rem;padding-top:.25rem;padding-bottom:.5rem
}
.s2-stage .scene-card {
--sc-color: 245, 158, 11;padding:.875rem 1rem;background:rgba(var(--sc-color),.04);border:1px solid rgba(var(--sc-color),.1);border-radius:.75rem;transition:all .25s ease
}
.s2-stage .scene-card:hover {
background:rgba(var(--sc-color),.07);border-color:rgba(var(--sc-color),.2);transform:translateY(-1px)
}
.s2-stage .scene-accent-0 {
--sc-color: 245, 158, 11
}
.s2-stage .scene-accent-1 {
--sc-color: 139, 92, 246
}
.s2-stage .scene-accent-2 {
--sc-color: 59, 130, 246
}
.s2-stage .scene-accent-3 {
--sc-color: 34, 211, 238
}
.s2-stage .scene-accent-4 {
--sc-color: 244, 114, 182
}
.s2-stage .scene-header {
display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem
}
.s2-stage .scene-number {
font-size:.625rem;font-weight:700;padding:.125rem .375rem;background:rgba(var(--sc-color),.15);border:1px solid rgba(var(--sc-color),.2);border-radius:.25rem;color:rgba(var(--sc-color),.9);font-family:monospace
}
.s2-stage .scene-name {
font-size:.875rem;font-weight:600;color:var(--w-95)
}
.s2-stage .scene-desc {
font-size:.75rem;color:var(--w-50);line-height:1.55;margin-bottom:.5rem
}
.s2-stage .scene-characters {
display:flex;flex-wrap:wrap;gap:.3rem
}
.s2-stage .scene-char-tag {
display:inline-flex;padding:.0625rem .375rem;background:var(--w-5);border:1px solid var(--w-8);border-radius:1rem;font-size:.625rem;font-weight:500;color:#ffffff8c
}
.s2-stage .action-area {
display:flex;align-items:center;justify-content:flex-end
}
.s2-stage .confirm-btn {
display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,#f59e0b2e,#fb923c24);border:1px solid rgba(245,158,11,.35);border-radius:.625rem;color:#fbbf24f2;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);letter-spacing:.02em
}
.s2-stage .confirm-btn:hover:not(:disabled) {
background:linear-gradient(135deg,#f59e0b47,#fb923c38);border-color:#f59e0b8c;transform:translateY(-1px);box-shadow:0 4px 20px #f59e0b33
}
.s2-stage .confirm-btn:disabled {
opacity:.35;cursor:not-allowed
}
.s2-stage .btn-spinner {
width:.875rem;height:.875rem;border:2px solid rgba(245,158,11,.3);border-top-color:#fbbf24e6;border-radius:50%;animation:spin-7fa780fc .8s linear infinite
}
.s2-stage .xiaoshuo-done-area {
margin-top:.625rem
}
.s2-stage .done-card {
position:relative;background:linear-gradient(135deg,#f59e0b08,#ffffff04);border:1px solid rgba(245,158,11,.1);border-radius:.875rem;overflow:hidden
}
.s2-stage .done-accent-bar {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(245,158,11,.6),rgba(251,146,60,.4),rgba(139,92,246,.2),transparent)
}
.s2-stage .done-body {
display:flex;gap:.875rem;padding:1rem 1.125rem
}
.s2-stage .done-spine {
width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:#f59e0b14;border:1px solid rgba(245,158,11,.12);border-radius:.5rem;color:#f59e0bb3;flex-shrink:0;margin-top:.125rem
}
.s2-stage .done-info {
flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem
}
.s2-stage .done-row-top {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .done-badge {
display:inline-flex;align-items:center;gap:.2rem;padding:.125rem .4375rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.18);border-radius:.25rem;font-size:.625rem;font-weight:600;color:#22c55ee6;white-space:nowrap;flex-shrink:0
}
.s2-stage .done-badge svg {
color:#22c55ee6;flex-shrink:0
}
.s2-stage .done-title {
font-size:.9375rem;font-weight:600;color:var(--text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.s2-stage .done-excerpt {
font-size:.75rem;line-height:1.65;color:#ffffff61;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-indent:2em
}
.s2-stage .done-row-bottom {
display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.125rem
}
.s2-stage .done-stats {
display:flex;align-items:center;gap:.625rem;flex-shrink:0
}
.s2-stage .done-stat {
display:inline-flex;align-items:center;gap:.2rem;font-size:.6575rem;font-weight:500;color:var(--w-35)
}
.s2-stage .done-stat svg {
color:var(--w-25)
}
.s2-stage .done-scene-tags {
display:flex;align-items:center;gap:.3rem;overflow:hidden;flex-wrap:nowrap
}
.s2-stage .done-scene-tag {
display:inline-flex;padding:.0625rem .375rem;background:#f59e0b0f;border:1px solid rgba(245,158,11,.1);border-radius:.25rem;font-size:.5625rem;font-weight:500;color:#f59e0b99;white-space:nowrap;flex-shrink:0
}
.s2-stage .done-scene-more {
font-size:.5625rem;font-weight:500;color:var(--w-25);flex-shrink:0
}
@keyframes spin-7fa780fc{to{transform:rotate(360deg)}}
.s2-stage {
color:#141826
}
.s2-stage {
color:#4b5569
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#323c50
}
.s2-stage {
color:#414b5f
}
.s2-stage {
color:#141826
}
.s2-stage {
color:#323c50
}
.s2-stage {
background:linear-gradient(135deg,#f59e0b1a,#fb923c14);border-color:#f59e0b4d;color:#8c5000
}
.s2-stage {
background:linear-gradient(135deg,#f59e0b2e,#fb923c24);border-color:#f59e0b80;box-shadow:0 4px 20px #f59e0b1f
}
.s2-stage {
background:#fffffff2;border-color:#00000014
}
.s2-stage {
color:#141826
}
.s2-stage {
color:#555f73
}
.s2-stage .jieDian-header {
margin-bottom:.25rem
}
.s2-stage .jieDian-name {
font-size:1.1rem;font-weight:600;color:var(--w-100)
}
.s2-stage .juben-node {
min-width:0;overflow:hidden
}
.s2-stage .juben-confirm-area {
margin-top:.75rem;display:flex;flex-direction:column;gap:1rem;min-width:0;overflow:hidden
}
.s2-stage .juben-top-bar {
padding:1rem 1.25rem;background:linear-gradient(135deg,#3b82f60f,#6366f10a,#8b5cf608);border:1px solid rgba(59,130,246,.12);border-radius:1rem;position:relative;overflow:hidden
}
.s2-stage .juben-top-bar:before {
content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(59,130,246,.7),rgba(99,102,241,.5),rgba(139,92,246,.3),transparent)
}
.s2-stage .top-bar-content {
display:flex;align-items:center;gap:.75rem
}
.s2-stage .clapboard-icon {
width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#3b82f61a;border:1px solid rgba(59,130,246,.15);border-radius:.625rem;color:#3b82f6cc;flex-shrink:0
}
.s2-stage .top-bar-text {
flex:1;min-width:0
}
.s2-stage .juben-title {
font-size:1.3rem;font-weight:700;color:var(--w-100);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.s2-stage .info-badges {
display:flex;gap:.4rem;flex-shrink:0
}
.s2-stage .info-badge {
display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .6rem;border-radius:2rem;font-size:.75rem;font-weight:600;white-space:nowrap
}
.s2-stage .badge-scene {
background:#3b82f614;border:1px solid rgba(59,130,246,.15);color:#3b82f6d9
}
.s2-stage .badge-scene svg {
color:#3b82f6b3
}
.s2-stage .badge-role {
background:#8b5cf614;border:1px solid rgba(139,92,246,.15);color:#8b5cf6d9
}
.s2-stage .badge-role svg {
color:#8b5cf6b3
}
.s2-stage .meta-sections {
display:flex;flex-direction:column;gap:.875rem
}
.s2-stage .meta-section-title {
display:flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--w-60);margin-bottom:.375rem
}
.s2-stage .meta-section-title svg {
color:var(--w-40)
}
.s2-stage .cast-section {
display:flex;flex-direction:column
}
.s2-stage .cast-grid {
display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem
}
.s2-stage .cast-card {
--cc: 139, 92, 246;padding:.625rem .75rem;background:rgba(var(--cc),.04);border:1px solid rgba(var(--cc),.1);border-radius:.625rem;transition:all .2s ease;min-width:0
}
.s2-stage .cast-card:hover {
background:rgba(var(--cc),.07);border-color:rgba(var(--cc),.2)
}
.s2-stage .cast-accent-0 {
--cc: 59, 130, 246
}
.s2-stage .cast-accent-1 {
--cc: 139, 92, 246
}
.s2-stage .cast-accent-2 {
--cc: 245, 158, 11
}
.s2-stage .cast-accent-3 {
--cc: 34, 211, 238
}
.s2-stage .cast-accent-4 {
--cc: 244, 114, 182
}
.s2-stage .cast-name {
font-size:.9rem;font-weight:600;color:var(--w-95);margin-bottom:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.s2-stage .cast-desc {
font-size:.75rem;color:#ffffff6b;line-height:1.5;margin-bottom:.3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.s2-stage .cast-debut {
display:inline-flex;align-items:center;gap:.2rem;font-size:.65rem;color:rgba(var(--cc),.7)
}
.s2-stage .cast-debut svg {
color:rgba(var(--cc),.6)
}
.s2-stage .script-reader {
border-radius:1rem;overflow:hidden;min-width:0
}
.s2-stage .script-paper {
padding:1.75rem 1.5rem;background:linear-gradient(180deg,#ffffff06,#ffffff03);border:1px solid var(--w-6);border-radius:1rem;overflow:hidden;word-break:break-word
}
.s2-stage .script-body {
line-height:1.85;color:#ffffffc7;font-size:1rem
}
.s2-stage .script-body .script-scene-heading {
font-size:1.05rem;font-weight:700;color:#3b82f6f2;margin:1.25rem 0 .5rem;padding:.375rem 0 .375rem .75rem;border-left:3px solid rgba(59,130,246,.5);background:#3b82f60a;border-radius:0 .375rem .375rem 0;letter-spacing:.03em
}
.s2-stage .script-body .script-scene-heading:first-child {
margin-top:0
}
.s2-stage .script-body .script-cast-line {
display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:#8b5cf6b3;margin-bottom:.5rem;padding:.3rem .5rem;background:#8b5cf608;border-radius:.375rem
}
.s2-stage .script-body .cast-label {
display:inline-flex;align-items:center;padding:.0625rem .3rem;background:#8b5cf61f;border-radius:.1875rem;font-size:.65rem;font-weight:600;color:#8b5cf6cc;letter-spacing:.05em;flex-shrink:0
}
.s2-stage .script-body .script-action {
display:flex;align-items:flex-start;gap:.5rem;margin:.25rem 0;padding:.35rem .625rem;background:#ffffff04;border-left:2px solid rgba(100,116,139,.15);border-radius:0 .25rem .25rem 0
}
.s2-stage .script-body .script-action:hover {
background:#ffffff06;border-left-color:#64748b40
}
.s2-stage .script-body .action-label {
display:inline-flex;align-items:center;padding:.0625rem .3rem;background:#64748b1a;border-radius:.1875rem;font-size:.6rem;font-weight:600;color:#94a3b8b3;letter-spacing:.05em;flex-shrink:0;margin-top:.2rem;-webkit-user-select:none;user-select:none
}
.s2-stage .script-body .action-text {
color:#ffffff85;font-size:.95rem;line-height:1.75
}
.s2-stage .script-body .action-text strong {
color:#ffffffb8
}
.s2-stage .script-body .action-text em {
color:#64748bb3;font-style:italic
}
.s2-stage .script-body .script-action-plain {
color:#ffffff7a;font-size:.95rem;border-left-color:var(--w-4)
}
.s2-stage .script-body .script-block {
margin:.5rem 0 .375rem;padding:.5rem .75rem .5rem .875rem;border-left:2px solid;border-radius:0 .5rem .5rem 0
}
.s2-stage .script-body .script-block-header {
display:flex;align-items:center;gap:.375rem;margin-bottom:.25rem
}
.s2-stage .script-body .block-label {
display:inline-flex;align-items:center;padding:.0625rem .3125rem;border-radius:.1875rem;font-size:.625rem;font-weight:600;letter-spacing:.05em;flex-shrink:0
}
.s2-stage .script-body .block-char-name {
font-size:1.025rem;font-weight:700
}
.s2-stage .script-body .script-block-text {
font-size:1rem;line-height:1.85;margin-bottom:.125rem
}
.s2-stage .script-body .block-dialogue {
background:linear-gradient(135deg,#f59e0b06,#fbbf2403);border-left-color:#f59e0b59
}
.s2-stage .script-body .block-dialogue .block-label {
background:#f59e0b1f;color:#f59e0bbf
}
.s2-stage .script-body .block-dialogue .block-char-name {
color:#fbbf24f2
}
.s2-stage .script-body .block-dialogue .script-block-text {
color:#ffffffe0
}
.s2-stage .script-body .block-inner {
background:linear-gradient(135deg,#a855f708,#8b5cf604);border-left-color:#a855f759;border-left-style:dashed
}
.s2-stage .script-body .block-inner .block-label {
background:#a855f71f;color:#a855f7cc
}
.s2-stage .script-body .block-inner .block-char-name {
color:#c084fce6
}
.s2-stage .script-body .block-inner .script-block-text {
color:#ffffffa6;font-style:italic
}
.s2-stage .script-body .block-narration {
background:linear-gradient(135deg,#22d3ee06,#06b6d403);border-left-color:#22d3ee4d
}
.s2-stage .script-body .block-narration .block-label {
background:#22d3ee1a;color:#22d3eecc
}
.s2-stage .script-body .block-narration .block-char-name {
color:#22d3eed9
}
.s2-stage .script-body .block-narration .script-block-text {
color:var(--w-60)
}
.s2-stage .script-body .block-offscreen {
background:linear-gradient(135deg,#fb923c06,#f9731603);border-left-color:#fb923c4d;border-left-style:dashed
}
.s2-stage .script-body .block-offscreen .block-label {
background:#fb923c1a;color:#fb923ccc
}
.s2-stage .script-body .block-offscreen .block-char-name {
color:#fb923ce6
}
.s2-stage .script-body .block-offscreen .script-block-text {
color:#ffffffc7
}
.s2-stage .script-body .script-parenthetical {
font-size:.875rem;font-style:italic;color:var(--w-35);margin-bottom:.125rem
}
.s2-stage .script-body .script-parenthetical-standalone {
font-size:.875rem;font-style:italic;color:var(--w-35);padding-left:.625rem;margin:.25rem 0
}
.s2-stage .script-body .script-flashback-start,
.s2-stage .script-body .script-flashback-end {
display:flex;align-items:center;gap:.35rem;margin:.75rem 0 .375rem;padding:.3rem .625rem;font-size:.825rem;font-weight:600;color:#eab308b3;background:#eab3080a;border:1px dashed rgba(234,179,8,.15);border-radius:.375rem;letter-spacing:.05em
}
.s2-stage .script-body .flashback-icon {
font-size:.7rem;color:#eab30880
}
.s2-stage .script-body .script-spacer {
height:.35rem
}
.s2-stage .script-body .script-hr {
border:none;margin:1rem auto;width:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.25),transparent)
}
.s2-stage .scene-index {
display:flex;flex-direction:column
}
.s2-stage .scene-index-count {
margin-left:auto;font-size:.75rem;color:var(--w-35)
}
.s2-stage .scene-grid {
display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem
}
.s2-stage .scene-card {
--sc-color: 59, 130, 246;padding:.75rem .875rem;background:rgba(var(--sc-color),.04);border:1px solid rgba(var(--sc-color),.1);border-radius:.75rem;transition:all .25s ease;min-width:0
}
.s2-stage .scene-card:hover {
background:rgba(var(--sc-color),.07);border-color:rgba(var(--sc-color),.2);transform:translateY(-1px)
}
.s2-stage .scene-accent-0 {
--sc-color: 59, 130, 246
}
.s2-stage .scene-accent-1 {
--sc-color: 139, 92, 246
}
.s2-stage .scene-accent-2 {
--sc-color: 245, 158, 11
}
.s2-stage .scene-accent-3 {
--sc-color: 34, 211, 238
}
.s2-stage .scene-accent-4 {
--sc-color: 244, 114, 182
}
.s2-stage .scene-header {
display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem
}
.s2-stage .scene-number {
font-size:.6875rem;font-weight:700;padding:.125rem .375rem;background:rgba(var(--sc-color),.15);border:1px solid rgba(var(--sc-color),.2);border-radius:.25rem;color:rgba(var(--sc-color),.9);font-family:monospace
}
.s2-stage .scene-name {
font-size:.825rem;font-weight:600;color:var(--w-95);overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.s2-stage .scene-desc {
font-size:.75rem;color:#ffffff6b;line-height:1.5;margin-bottom:.3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.s2-stage .scene-characters {
display:flex;flex-wrap:wrap;gap:.25rem
}
.s2-stage .scene-char-tag {
padding:.0625rem .375rem;background:var(--w-5);border:1px solid var(--w-8);border-radius:1rem;font-size:.65rem;font-weight:500;color:var(--w-50)
}
.s2-stage .action-area {
display:flex;justify-content:flex-end
}
.s2-stage .confirm-btn {
display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,#3b82f62e,#6366f124);border:1px solid rgba(59,130,246,.35);border-radius:.625rem;color:#60a5faf2;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)
}
.s2-stage .confirm-btn:hover:not(:disabled) {
background:linear-gradient(135deg,#3b82f647,#6366f138);border-color:#3b82f68c;transform:translateY(-1px);box-shadow:0 4px 20px #3b82f633
}
.s2-stage .confirm-btn:disabled {
opacity:.35;cursor:not-allowed
}
.s2-stage .btn-spinner {
width:.875rem;height:.875rem;border:2px solid rgba(59,130,246,.3);border-top-color:#60a5fae6;border-radius:50%;animation:spin-70ca8bbf .8s linear infinite
}
.s2-stage .juben-done-area {
margin-top:.625rem
}
.s2-stage .done-card {
position:relative;background:linear-gradient(135deg,#3b82f608,#6366f105,#ffffff03);border:1px solid rgba(59,130,246,.1);border-radius:1rem;overflow:hidden;padding:1rem 1.25rem 1.125rem;display:flex;flex-direction:column;gap:.75rem
}
.s2-stage .done-accent-bar {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(59,130,246,.6),rgba(99,102,241,.4),rgba(139,92,246,.2),transparent)
}
.s2-stage .done-header {
display:flex;gap:.75rem;align-items:flex-start
}
.s2-stage .done-icon-wrap {
width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#3b82f614;border:1px solid rgba(59,130,246,.12);border-radius:.625rem;color:#3b82f6b3;flex-shrink:0
}
.s2-stage .done-header-text {
flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem
}
.s2-stage .done-title-row {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .done-badge {
display:inline-flex;align-items:center;gap:.2rem;padding:.125rem .4375rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.18);border-radius:.25rem;font-size:.6875rem;font-weight:600;color:#22c55ee6;white-space:nowrap;flex-shrink:0
}
.s2-stage .done-badge svg {
color:#22c55ee6;flex-shrink:0
}
.s2-stage .done-title {
font-size:1.175rem;font-weight:700;color:var(--w-95);overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.s2-stage .done-stats-row {
display:flex;align-items:center;gap:.75rem
}
.s2-stage .done-stat {
display:inline-flex;align-items:center;gap:.2rem;font-size:.75rem;font-weight:500;color:var(--w-35)
}
.s2-stage .done-stat svg {
color:var(--w-25)
}
.s2-stage .done-excerpt {
font-size:.875rem;line-height:1.7;color:#ffffff61;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;padding-left:.25rem
}
.s2-stage .done-section-label {
display:flex;align-items:center;gap:.3rem;font-size:.775rem;font-weight:600;color:var(--w-40);margin-bottom:.375rem
}
.s2-stage .done-section-label svg {
color:var(--w-30)
}
.s2-stage .done-cast-chips {
display:flex;flex-wrap:wrap;gap:.375rem;align-items:center
}
.s2-stage .done-cast-chip {
--cc: 59, 130, 246;display:inline-flex;flex-direction:column;padding:.3rem .625rem;background:rgba(var(--cc),.04);border:1px solid rgba(var(--cc),.1);border-radius:.5rem;transition:all .2s ease
}
.s2-stage .done-cast-chip:hover {
background:rgba(var(--cc),.07);border-color:rgba(var(--cc),.18)
}
.s2-stage .chip-accent-0 {
--cc: 59, 130, 246
}
.s2-stage .chip-accent-1 {
--cc: 139, 92, 246
}
.s2-stage .chip-accent-2 {
--cc: 245, 158, 11
}
.s2-stage .chip-accent-3 {
--cc: 34, 211, 238
}
.s2-stage .chip-accent-4 {
--cc: 244, 114, 182
}
.s2-stage .chip-name {
font-size:.825rem;font-weight:600;color:rgba(var(--cc),.9)
}
.s2-stage .chip-desc {
font-size:.65rem;color:var(--w-35);line-height:1.4;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.s2-stage .done-cast-more {
font-size:.7rem;font-weight:500;color:var(--w-25);padding:.2rem .4rem
}
.s2-stage .done-scene-timeline {
display:flex;flex-direction:column;gap:0;padding-left:.125rem
}
.s2-stage .done-scene-item {
display:flex;align-items:flex-start;gap:.625rem;padding:.3rem 0;position:relative
}
.s2-stage .done-scene-item:not(:last-child):before {
content:"";position:absolute;left:.25rem;top:1.1rem;bottom:-.2rem;width:1px;background:var(--w-6)
}
.s2-stage .scene-dot {
--dc: 59, 130, 246;width:.5rem;height:.5rem;flex-shrink:0;border-radius:50%;background:rgba(var(--dc),.5);border:1.5px solid rgba(var(--dc),.3);margin-top:.25rem
}
.s2-stage .dot-accent-0 {
--dc: 59, 130, 246
}
.s2-stage .dot-accent-1 {
--dc: 139, 92, 246
}
.s2-stage .dot-accent-2 {
--dc: 245, 158, 11
}
.s2-stage .dot-accent-3 {
--dc: 34, 211, 238
}
.s2-stage .dot-accent-4 {
--dc: 244, 114, 182
}
.s2-stage .scene-dot-more {
background:var(--w-15);border-color:var(--w-10)
}
.s2-stage .scene-item-body {
flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem
}
.s2-stage .scene-item-title {
font-size:.825rem;font-weight:600;color:var(--w-70);overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.s2-stage .scene-item-desc {
font-size:.7rem;color:#ffffff52;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.s2-stage .scene-item-more {
font-size:.7rem;color:var(--w-25);margin-top:.05rem
}
@keyframes spin-70ca8bbf{to{transform:rotate(360deg)}}
.s2-stage {
color:#141826
}
.s2-stage {
color:#4b5569
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#374152
}
.s2-stage {
color:#141826
}
.s2-stage {
color:#374152
}
.s2-stage {
color:#191e2d
}
.s2-stage {
color:#374152
}
.s2-stage {
color:#191e2d
}
.s2-stage,
.s2-stage,
.s2-stage,
.s2-stage {
color:#414b5f
}
.s2-stage {
background:linear-gradient(135deg,#3b82f61a,#6366f114);border-color:#3b82f64d;color:#1e55c3
}
.s2-stage {
background:linear-gradient(135deg,#3b82f62e,#6366f124);border-color:#3b82f680;box-shadow:0 4px 20px #3b82f61f
}
.s2-stage {
background:#fffffff2;border-color:#3b82f61a
}
.s2-stage {
color:#141826
}
.s2-stage {
color:#465064
}
.s2-stage {
color:#1e2637
}
.s2-stage,
.s2-stage {
color:#141826
}
.s2-stage {
color:#1e2637
}
.s2-stage {
color:#555f73
}
.s2-stage .create-modal-overlay {
position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10002;animation:fadeIn-24c88ec6 .2s ease
}
@keyframes fadeIn-24c88ec6{0%{opacity:0}to{opacity:1}}
.s2-stage .create-modal {
width:90%;max-width:32rem;background:var(--bg-page);border:1px solid rgba(99,102,241,.25);border-radius:1rem;overflow:hidden;box-shadow:0 0 0 1px #6366f11a,0 24px 48px var(--b-50),0 0 100px #6366f11a;animation:slideIn-24c88ec6 .3s ease
}
@keyframes slideIn-24c88ec6{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.s2-stage .create-modal-header {
display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(99,102,241,.15);background:linear-gradient(180deg,rgba(99,102,241,.1) 0%,transparent 100%)
}
.s2-stage .create-modal-header h3 {
margin:0;font-size:1.125rem;font-weight:600;color:var(--w-95)
}
.s2-stage .close-btn {
width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-50);cursor:pointer;transition:all .2s ease
}
.s2-stage .close-btn:hover:not(:disabled) {
background:#ff505026;border-color:#ff50504d;color:#ff6464e6
}
.s2-stage .close-btn:disabled {
opacity:.3;cursor:not-allowed
}
.s2-stage .create-modal-body {
padding:1.5rem;max-height:65vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--w-8) transparent
}
.s2-stage .create-modal-body::-webkit-scrollbar {
width:6px
}
.s2-stage .create-modal-body::-webkit-scrollbar-track {
background:transparent
}
.s2-stage .create-modal-body::-webkit-scrollbar-thumb {
background:var(--w-10);border-radius:3px
}
.s2-stage .image-upload-area {
position:relative;width:100%;aspect-ratio:16 / 9;border-radius:.75rem;overflow:hidden;cursor:pointer;transition:all .2s ease
}
.s2-stage .image-input-hidden {
display:none
}
.s2-stage .upload-placeholder {
width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:var(--w-3);border:2px dashed rgba(99,102,241,.25);border-radius:.75rem;transition:all .2s ease;color:#6366f180
}
.s2-stage .upload-placeholder:hover {
border-color:#6366f180;background:#6366f10d
}
.s2-stage .upload-text {
font-size:.875rem;color:var(--w-60);margin-top:.25rem
}
.s2-stage .upload-hint {
font-size:.75rem;color:var(--w-35)
}
.s2-stage .uploaded-preview {
position:relative;width:100%;height:100%;border:1px solid var(--w-10);border-radius:.75rem;overflow:hidden
}
.s2-stage .uploaded-preview img {
width:100%;height:100%;object-fit:cover
}
.s2-stage .preview-overlay {
position:absolute;inset:0;background:var(--b-50);display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease
}
.s2-stage .uploaded-preview:hover .preview-overlay {
opacity:1
}
.s2-stage .preview-overlay span {
font-size:.875rem;color:var(--w-90);padding:.375rem 1rem;background:#6366f199;border-radius:2rem
}
.s2-stage .remove-img-btn {
position:absolute;top:.5rem;right:.5rem;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:#000000b3;border:none;border-radius:50%;color:var(--w-80);cursor:pointer;opacity:0;transition:all .2s ease;z-index:2
}
.s2-stage .uploaded-preview:hover .remove-img-btn {
opacity:1
}
.s2-stage .remove-img-btn:hover {
background:#ef4444e6;color:var(--w-100)
}
.s2-stage .ai-loading-state {
display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center
}
.s2-stage .ai-loading-spinner {
width:3rem;height:3rem;border:3px solid rgba(99,102,241,.15);border-top-color:#818cf8;border-radius:50%;animation:spin-24c88ec6 .8s linear infinite;margin-bottom:1.5rem
}
@keyframes spin-24c88ec6{to{transform:rotate(360deg)}}
.s2-stage .ai-loading-text {
margin:0;font-size:1rem;font-weight:500;color:var(--w-90)
}
.s2-stage .ai-loading-hint {
margin:.75rem 0 0;font-size:.8125rem;color:var(--w-40)
}
.s2-stage .result-preview {
display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--w-3);border:1px solid var(--w-8);border-radius:.75rem;margin-bottom:1.25rem
}
.s2-stage .result-image {
width:4.5rem;height:4.5rem;object-fit:cover;border-radius:.5rem;border:1px solid var(--w-10);flex-shrink:0
}
.s2-stage .result-info {
display:flex;flex-direction:column;gap:.25rem
}
.s2-stage .result-label {
font-size:.8125rem;color:var(--w-45)
}
.s2-stage .ai-badge {
display:inline-flex;align-items:center;padding:.125rem .5rem;background:#6366f126;border:1px solid rgba(99,102,241,.3);border-radius:2rem;font-size:.6875rem;font-weight:500;color:#818cf8;margin-left:.25rem
}
.s2-stage .form-group {
margin-bottom:1.25rem
}
.s2-stage .form-group:last-child {
margin-bottom:0
}
.s2-stage .form-label {
display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--w-85)
}
.s2-stage .form-label .required {
color:#6366f1
}
.s2-stage .label-count {
font-size:.75rem;color:#6366f1cc;font-weight:400;margin-left:auto
}
.s2-stage .form-input {
width:100%;padding:.75rem 1rem;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-90);font-size:.875rem;transition:all .2s ease;box-sizing:border-box
}
.s2-stage .form-input:focus {
outline:none;border-color:#6366f180;background:var(--w-8);box-shadow:0 0 0 3px #6366f11a
}
.s2-stage .form-input::placeholder {
color:var(--w-35)
}
.s2-stage .form-textarea {
width:100%;padding:.75rem 1rem;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-90);font-size:.875rem;line-height:1.6;resize:none;min-height:7rem;transition:all .2s ease;box-sizing:border-box;font-family:inherit
}
.s2-stage .form-textarea:focus {
outline:none;border-color:#6366f180;background:var(--w-8);box-shadow:0 0 0 3px #6366f11a
}
.s2-stage .form-textarea::placeholder {
color:var(--w-35)
}
.s2-stage .form-hint {
margin:.5rem 0 0;font-size:.75rem;color:var(--w-40);line-height:1.4
}
.s2-stage .type-selector {
display:flex;flex-wrap:wrap;gap:.5rem;align-items:center
}
.s2-stage .type-tag {
display:flex;align-items:center;gap:.25rem;padding:.4375rem .875rem;background:var(--w-4);border:1px solid var(--w-10);border-radius:2rem;color:var(--w-60);font-size:.8125rem;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none
}
.s2-stage .type-tag:hover {
background:var(--w-8);border-color:var(--w-20);color:var(--w-85)
}
.s2-stage .type-tag.active {
background:#6366f126;border-color:#6366f180;color:#818cf8
}
.s2-stage .type-tag.add-type {
border-style:dashed;border-color:#6366f140;color:#6366f199
}
.s2-stage .type-tag.add-type:hover {
border-color:#6366f180;background:#6366f114;color:#818cf8
}
.s2-stage .type-input-wrap {
display:flex;align-items:center;gap:.25rem
}
.s2-stage .type-input {
width:5.5rem;padding:.4375rem .625rem;background:var(--w-6);border:1px solid rgba(99,102,241,.4);border-radius:2rem;color:var(--w-90);font-size:.8125rem;outline:none;transition:all .2s ease
}
.s2-stage .type-input:focus {
border-color:#6366f1b3;background:var(--w-8);box-shadow:0 0 0 2px #6366f11a
}
.s2-stage .type-input::placeholder {
color:var(--w-30)
}
.s2-stage .type-input-confirm,
.s2-stage .type-input-cancel {
width:1.625rem;height:1.625rem;display:flex;align-items:center;justify-content:center;background:var(--w-5);border:1px solid var(--w-10);border-radius:50%;cursor:pointer;transition:all .2s ease
}
.s2-stage .type-input-confirm {
color:#4ade80
}
.s2-stage .type-input-confirm:hover {
background:#22c55e26;border-color:#22c55e66
}
.s2-stage .type-input-cancel {
color:var(--w-50)
}
.s2-stage .type-input-cancel:hover {
background:#ef444426;border-color:#ef44444d;color:#fca5a5
}
.s2-stage .create-modal-footer {
display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--w-5);background:var(--bg-page-2)
}
.s2-stage .btn-secondary {
display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-70);font-size:.875rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-secondary:hover:not(:disabled) {
background:var(--w-10);color:var(--w-90)
}
.s2-stage .btn-secondary:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .btn-ai {
display:flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:.5rem;color:var(--w-100);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-ai:hover:not(:disabled) {
transform:translateY(-1px);box-shadow:0 4px 16px #6366f166
}
.s2-stage .btn-ai:disabled {
opacity:.7;cursor:not-allowed;transform:none
}
.s2-stage {
background:#00000059
}
.s2-stage {
background:#fff;border-color:#6366f11f;box-shadow:0 24px 60px #0000001f,0 0 0 1px #6366f10f
}
.s2-stage {
border-bottom-color:#0000000f
}
.s2-stage {
color:#191c2d
}
.s2-stage {
border-top-color:#0000000f
}
.s2-stage {
background:#00000008;border-color:#0000001a;color:#505a6e
}
.s2-stage {
background:#0000000f;color:#1e2332
}
.s2-stage {
color:#15803d
}
.s2-stage {
background:#15803d26;border-color:#15803d66
}
.s2-stage .color-role {
--accent-color: rgb(236, 72, 153);--accent-alpha: rgba(236, 72, 153, .15)
}
.s2-stage .color-scene {
--accent-color: rgb(34, 197, 94);--accent-alpha: rgba(34, 197, 94, .15)
}
.s2-stage .color-prop {
--accent-color: rgb(139, 92, 246);--accent-alpha: rgba(139, 92, 246, .15)
}
.s2-stage .edit-modal-overlay {
position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10002;animation:fadeIn-f5d510c3 .2s ease
}
@keyframes fadeIn-f5d510c3{0%{opacity:0}to{opacity:1}}
.s2-stage .edit-modal {
width:90%;max-width:32rem;background:var(--bg-page);border:1px solid var(--accent-alpha, rgba(59, 130, 246, .25));border-radius:1rem;overflow:hidden;box-shadow:0 0 0 1px var(--accent-alpha, rgba(59, 130, 246, .1)),0 24px 48px var(--b-50),0 0 100px var(--accent-alpha, rgba(59, 130, 246, .1));animation:slideIn-f5d510c3 .3s ease
}
@keyframes slideIn-f5d510c3{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.s2-stage .edit-modal-header {
display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--accent-alpha, rgba(59, 130, 246, .15));background:linear-gradient(180deg,var(--accent-alpha, rgba(59, 130, 246, .1)) 0%,transparent 100%)
}
.s2-stage .edit-modal-header h3 {
margin:0;font-size:1.125rem;font-weight:600;color:var(--w-95)
}
.s2-stage .close-btn {
width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-50);cursor:pointer;transition:all .2s ease
}
.s2-stage .close-btn:hover {
background:#ff505026;border-color:#ff50504d;color:#ff6464e6
}
.s2-stage .edit-modal-body {
padding:1.5rem;max-height:65vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--w-8) transparent
}
.s2-stage .edit-modal-body::-webkit-scrollbar {
width:6px
}
.s2-stage .edit-modal-body::-webkit-scrollbar-track {
background:transparent
}
.s2-stage .edit-modal-body::-webkit-scrollbar-thumb {
background:var(--w-10);border-radius:3px
}
.s2-stage .form-group {
margin-bottom:1.25rem
}
.s2-stage .form-group:last-child {
margin-bottom:0
}
.s2-stage .form-label {
display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--w-85)
}
.s2-stage .form-label .required {
color:var(--accent-color, rgb(59, 130, 246))
}
.s2-stage .label-count {
font-size:.75rem;color:var(--accent-color, rgba(59, 130, 246, .8));font-weight:400
}
.s2-stage .asset-image-display {
border-radius:.5rem;overflow:hidden;border:1px solid var(--w-10);background:var(--w-3);aspect-ratio:16 / 9
}
.s2-stage .asset-image-display img {
width:100%;height:100%;object-fit:contain;display:block
}
.s2-stage .mode-selector-horizontal {
display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem
}
.s2-stage .mode-card {
position:relative;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;padding:.75rem .5rem;background:var(--w-3);border:2px solid var(--w-10);border-radius:.5rem;transition:all .2s ease
}
.s2-stage .mode-card input[type=radio] {
position:absolute;opacity:0;pointer-events:none
}
.s2-stage .mode-card:hover {
background:var(--w-5);border-color:var(--w-20)
}
.s2-stage .mode-card.active {
background:var(--accent-alpha, rgba(59, 130, 246, .1));border-color:var(--accent-color, rgba(59, 130, 246, .5));box-shadow:0 0 0 3px var(--accent-alpha, rgba(59, 130, 246, .1))
}
.s2-stage .mode-card.disabled {
opacity:.4;cursor:not-allowed
}
.s2-stage .mode-card.disabled:hover {
background:var(--w-3);border-color:var(--w-10)
}
.s2-stage .mode-icon {
display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.5rem;background:var(--w-5);color:var(--w-50);transition:all .2s ease
}
.s2-stage .mode-card.active .mode-icon {
background:var(--accent-alpha, rgba(59, 130, 246, .15));color:var(--accent-color, rgba(59, 130, 246, .9))
}
.s2-stage .mode-name {
font-size:.75rem;font-weight:500;color:var(--w-80);text-align:center;line-height:1.3
}
.s2-stage .mode-card.active .mode-name {
color:var(--w-95)
}
.s2-stage .mode-description {
display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;padding:.75rem 1rem;background:var(--accent-alpha, rgba(59, 130, 246, .08));border:1px solid var(--accent-alpha, rgba(59, 130, 246, .2));border-radius:.5rem;font-size:.8125rem;color:var(--w-80);line-height:1.5
}
.s2-stage .mode-description svg {
flex-shrink:0;margin-top:.125rem;color:var(--accent-color, rgba(59, 130, 246, .7))
}
.s2-stage .mode-description span {
flex:1
}
.s2-stage .form-input {
width:100%;padding:.75rem 1rem;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-90);font-size:.875rem;transition:all .2s ease;box-sizing:border-box
}
.s2-stage .form-input:focus {
outline:none;border-color:var(--accent-color, rgba(59, 130, 246, .5));background:var(--w-8);box-shadow:0 0 0 3px var(--accent-alpha, rgba(59, 130, 246, .1))
}
.s2-stage .form-input::placeholder {
color:var(--w-35)
}
.s2-stage .form-textarea {
width:100%;padding:.75rem 1rem;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-90);font-size:.875rem;line-height:1.6;resize:none;min-height:7rem;transition:all .2s ease;box-sizing:border-box;font-family:inherit
}
.s2-stage .form-textarea:focus {
outline:none;border-color:var(--accent-color, rgba(59, 130, 246, .5));background:var(--w-8);box-shadow:0 0 0 3px var(--accent-alpha, rgba(59, 130, 246, .1))
}
.s2-stage .form-textarea::placeholder {
color:var(--w-35)
}
.s2-stage .form-hint {
margin:.5rem 0 0;font-size:.75rem;color:var(--w-40);line-height:1.4
}
.s2-stage .type-selector {
display:flex;flex-wrap:wrap;gap:.5rem;align-items:center
}
.s2-stage .type-tag {
display:flex;align-items:center;gap:.25rem;padding:.4375rem .875rem;background:var(--w-4);border:1px solid var(--w-10);border-radius:2rem;color:var(--w-70);font-size:.8125rem;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none
}
.s2-stage .type-tag:hover {
background:var(--w-8);border-color:var(--w-20);color:var(--w-85)
}
.s2-stage .type-tag.active {
background:#6366f126;border-color:#6366f180;color:#818cf8
}
.s2-stage .type-tag.add-type {
border-style:dashed;border-color:#6366f140;color:#6366f199
}
.s2-stage .type-tag.add-type:hover {
border-color:#6366f180;background:#6366f114;color:#818cf8
}
.s2-stage .type-input-wrap {
display:flex;align-items:center;gap:.25rem
}
.s2-stage .type-input {
width:5.5rem;padding:.4375rem .625rem;background:var(--w-6);border:1px solid rgba(99,102,241,.4);border-radius:2rem;color:var(--w-90);font-size:.8125rem;outline:none;transition:all .2s ease
}
.s2-stage .type-input:focus {
border-color:#6366f1b3;background:var(--w-8);box-shadow:0 0 0 2px #6366f11a
}
.s2-stage .type-input::placeholder {
color:var(--w-30)
}
.s2-stage .type-input-confirm,
.s2-stage .type-input-cancel {
width:1.625rem;height:1.625rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--w-10);border-radius:50%;cursor:pointer;transition:all .2s ease
}
.s2-stage .type-input-confirm {
color:#4ade80
}
.s2-stage .type-input-confirm:hover {
background:#22c55e26;border-color:#22c55e66
}
.s2-stage .type-input-cancel {
color:var(--w-50)
}
.s2-stage .type-input-cancel:hover {
background:#ef444426;border-color:#ef44444d;color:#fca5a5
}
.s2-stage .edit-modal-footer {
display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--w-5);background:var(--bg-page-2)
}
.s2-stage .btn-secondary {
padding:.625rem 1.25rem;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-70);font-size:.875rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-secondary:hover:not(:disabled) {
background:var(--w-10);color:var(--w-90)
}
.s2-stage .btn-secondary:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .btn-primary {
display:flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:.5rem;color:var(--w-100);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-primary.color-role {
background:linear-gradient(135deg,#ec4899,#db2777)
}
.s2-stage .btn-primary.color-scene {
background:linear-gradient(135deg,#22c55e,#16a34a)
}
.s2-stage .btn-primary.color-prop {
background:linear-gradient(135deg,#8b5cf6,#a855f7)
}
.s2-stage .btn-primary:hover:not(:disabled) {
transform:translateY(-1px);box-shadow:0 4px 16px var(--accent-alpha, rgba(59, 130, 246, .4))
}
.s2-stage .btn-primary:disabled {
opacity:.7;cursor:not-allowed;transform:none
}
.s2-stage .btn-spinner {
width:1rem;height:1rem;border:2px solid var(--w-30);border-top-color:var(--w-100);border-radius:50%;animation:spin-f5d510c3 .8s linear infinite
}
@keyframes spin-f5d510c3{to{transform:rotate(360deg)}}
.s2-stage {
background:#00000059
}
.s2-stage {
background:#fff;border-color:#6366f11f;box-shadow:0 24px 60px #0000001f,0 0 0 1px #6366f10f
}
.s2-stage {
border-bottom-color:#0000000f
}
.s2-stage {
color:#191c2d
}
.s2-stage {
background:#00000005;border-color:#0000001a;color:#1e2332
}
.s2-stage {
color:#a0aab9
}
.s2-stage {
background:#00000005;border-color:#0000001a;color:#1e2332
}
.s2-stage {
color:#a0aab9
}
.s2-stage {
border-color:#00000014
}
.s2-stage {
color:#323746
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#3c465a
}
.s2-stage {
border-top-color:#0000000f
}
.s2-stage {
background:#00000008;border-color:#0000001a;color:#505a6e
}
.s2-stage {
background:#0000000f;color:#1e2332
}
.s2-stage {
--accent-color: rgb(21, 128, 61);--accent-alpha: rgba(21, 128, 61, .12)
}
.s2-stage {
background:linear-gradient(135deg,#15803d,#166534)
}
.s2-stage .import-overlay {
position:fixed;inset:0;z-index:10000;background:var(--b-60);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center
}
.s2-stage .import-modal {
width:520px;max-height:80vh;background:#1a1a2e;border-radius:16px;border:1px solid var(--w-8);box-shadow:0 24px 48px var(--b-40);display:flex;flex-direction:column;overflow:hidden
}
.s2-stage {
background:var(--bg-card-2);border-color:var(--w-12);box-shadow:0 24px 48px #0000001a
}
.s2-stage .import-header {
display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--w-6)
}
.s2-stage .import-header h3 {
font-size:1.125rem;font-weight:600;color:var(--w-100);margin:0
}
.s2-stage .close-btn {
background:none;border:none;color:var(--w-40);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s
}
.s2-stage .close-btn:hover {
color:var(--w-100);background:var(--w-10)
}
.s2-stage .close-btn:disabled {
opacity:.3;cursor:not-allowed
}
.s2-stage .import-tabs {
display:flex;gap:0;padding:0 1.5rem;border-bottom:1px solid var(--w-6)
}
.s2-stage .import-tab {
flex:1;padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--w-50);font-size:.875rem;cursor:pointer;transition:all .2s
}
.s2-stage .import-tab:hover {
color:var(--w-80)
}
.s2-stage .import-tab.active {
color:var(--color-primary);border-bottom-color:var(--color-primary)
}
.s2-stage .import-tab:disabled {
cursor:not-allowed;opacity:.4
}
.s2-stage .import-body {
flex:1;overflow-y:auto;padding:1.25rem 1.5rem;min-height:200px;max-height:400px;scrollbar-width:thin;scrollbar-color:var(--w-15) transparent
}
.s2-stage .import-body::-webkit-scrollbar {
width:6px
}
.s2-stage .import-body::-webkit-scrollbar-track {
background:transparent
}
.s2-stage .import-body::-webkit-scrollbar-thumb {
background:var(--w-15);border-radius:3px
}
.s2-stage .import-body::-webkit-scrollbar-thumb:hover {
background:var(--w-25)
}
.s2-stage .import-loading,
.s2-stage .import-empty {
display:flex;align-items:center;justify-content:center;gap:.5rem;height:120px;color:var(--w-40);font-size:.875rem
}
.s2-stage .project-list {
display:flex;flex-direction:column;gap:.5rem
}
.s2-stage .project-item {
display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:var(--w-3);border:1px solid var(--w-6);border-radius:10px;cursor:pointer;transition:all .2s
}
.s2-stage .project-item:hover {
background:var(--w-6);border-color:var(--w-10)
}
.s2-stage .project-item.selected {
background:var(--c-primary-8);border-color:var(--c-primary-30)
}
.s2-stage .project-name {
font-size:.9375rem;color:var(--w-100);font-weight:500
}
.s2-stage .project-stats {
display:flex;gap:.625rem;font-size:.75rem;color:var(--w-45)
}
.s2-stage .project-stats .no-assets {
color:var(--w-25)
}
.s2-stage .code-input-area {
display:flex;flex-direction:column;gap:.75rem
}
.s2-stage .code-label {
font-size:.875rem;color:var(--w-70);font-weight:500
}
.s2-stage .code-input {
width:100%;padding:.75rem 1rem;background:var(--w-4);border:1px solid var(--w-10);border-radius:10px;color:var(--w-100);font-size:.9375rem;font-family:SF Mono,Fira Code,monospace;letter-spacing:1px;outline:none;transition:border-color .2s;box-sizing:border-box
}
.s2-stage .code-input:focus {
border-color:var(--c-primary-40)
}
.s2-stage .code-input::placeholder {
color:var(--w-20);letter-spacing:0
}
.s2-stage .code-hint {
font-size:.75rem;color:var(--w-30)
}
.s2-stage .import-result {
display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;border-radius:8px;font-size:.8125rem
}
.s2-stage .import-result.success {
background:#4ade801a;color:#4ade80;border:1px solid rgba(74,222,128,.15)
}
.s2-stage .import-result.error {
background:#f871711a;color:#f87171;border:1px solid rgba(248,113,113,.15)
}
.s2-stage .import-footer {
display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--w-6)
}
.s2-stage .btn-cancel {
padding:.5rem 1.25rem;background:var(--w-6);border:1px solid var(--w-10);border-radius:8px;color:var(--w-70);font-size:.875rem;cursor:pointer;transition:all .2s
}
.s2-stage .btn-cancel:hover {
background:var(--w-10)
}
.s2-stage .btn-cancel:disabled {
opacity:.4;cursor:not-allowed
}
.s2-stage .btn-confirm {
display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:linear-gradient(135deg,var(--color-primary),#3b82f6);border:none;border-radius:8px;color:var(--w-100);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s
}
.s2-stage .btn-confirm:hover {
opacity:.9;transform:translateY(-1px)
}
.s2-stage .btn-confirm:disabled {
opacity:.4;cursor:not-allowed;transform:none
}
.s2-stage .spinner {
width:20px;height:20px;border:2px solid var(--w-10);border-top-color:var(--color-primary);border-radius:50%;animation:spin-95eef96f .8s linear infinite
}
.s2-stage .spinner-small {
width:14px;height:14px;border:2px solid var(--w-20);border-top-color:var(--w-100);border-radius:50%;animation:spin-95eef96f .8s linear infinite
}
@keyframes spin-95eef96f{to{transform:rotate(360deg)}}
.s2-stage {
background:#15803d1a;color:#15803d;border-color:#15803d26
}
.s2-stage .share-overlay {
position:fixed;inset:0;z-index:10000;background:var(--b-60);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center
}
.s2-stage .share-modal {
width:560px;background:#1a1a2e;border-radius:16px;border:1px solid var(--w-8);box-shadow:0 24px 48px var(--b-40);overflow:hidden
}
.s2-stage {
background:var(--bg-card-2);border-color:var(--w-12);box-shadow:0 24px 48px #0000001a
}
.s2-stage .share-header {
display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--w-6)
}
.s2-stage .share-header h3 {
font-size:1.125rem;font-weight:600;color:var(--w-100);margin:0
}
.s2-stage .close-btn {
background:none;border:none;color:var(--w-40);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s
}
.s2-stage .close-btn:hover {
color:var(--w-100);background:var(--w-10)
}
.s2-stage .share-body {
padding:1.5rem
}
.s2-stage .share-loading {
display:flex;justify-content:center;padding:2rem 0
}
.s2-stage .empty-state {
display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 0;color:var(--w-30)
}
.s2-stage .empty-title {
font-size:1rem;color:var(--w-70);margin:0;font-weight:500
}
.s2-stage .empty-desc {
font-size:.8125rem;color:var(--w-35);margin:0;text-align:center;line-height:1.5
}
.s2-stage .btn-create {
margin-top:.5rem;padding:.625rem 2rem;background:linear-gradient(135deg,var(--color-primary),#3b82f6);border:none;border-radius:10px;color:var(--w-100);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s
}
.s2-stage .btn-create:hover {
opacity:.9;transform:translateY(-1px)
}
.s2-stage .btn-create:disabled {
opacity:.4;cursor:not-allowed;transform:none
}
.s2-stage .field-label {
display:block;font-size:.8125rem;color:var(--w-50);font-weight:500;margin-bottom:.5rem
}
.s2-stage .code-display {
margin-bottom:1.5rem
}
.s2-stage .code-row {
display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--w-4);border:1px solid var(--w-8);border-radius:10px
}
.s2-stage .code-text {
flex:1;font-family:SF Mono,Fira Code,monospace;font-size:.9375rem;color:var(--color-primary);letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.s2-stage .btn-copy {
display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--w-6);border:1px solid var(--w-10);border-radius:6px;color:var(--w-60);font-size:.75rem;cursor:pointer;white-space:nowrap;transition:all .2s
}
.s2-stage .btn-copy:hover {
background:var(--w-10);color:var(--w-100)
}
.s2-stage .btn-copy.copied {
color:#4ade80;border-color:#4ade8033
}
.s2-stage .restrict-section {
margin-bottom:1.5rem
}
.s2-stage .restrict-toggle {
display:flex;align-items:center;justify-content:space-between;padding:.625rem 0
}
.s2-stage .toggle-label {
font-size:.875rem;color:var(--w-70)
}
.s2-stage .toggle-btn {
width:40px;height:22px;border-radius:11px;border:none;background:var(--w-15);cursor:pointer;position:relative;transition:background .2s;padding:0
}
.s2-stage .toggle-btn.on {
background:var(--color-primary)
}
.s2-stage .toggle-thumb {
width:18px;height:18px;border-radius:50%;background:var(--w-100);position:absolute;top:2px;left:2px;transition:transform .2s
}
.s2-stage .toggle-btn.on .toggle-thumb {
transform:translate(18px)
}
.s2-stage .user-id-input-row {
display:flex;gap:.5rem;margin-top:.75rem
}
.s2-stage .user-id-input {
flex:1;padding:.5rem .75rem;background:var(--w-4);border:1px solid var(--w-10);border-radius:8px;color:var(--w-100);font-size:.875rem;outline:none;box-sizing:border-box
}
.s2-stage .user-id-input:focus {
border-color:var(--c-primary-40)
}
.s2-stage .user-id-input::placeholder {
color:var(--w-20)
}
.s2-stage .user-id-input::-webkit-inner-spin-button,
.s2-stage .user-id-input::-webkit-outer-spin-button {
-webkit-appearance:none;margin:0
}
.s2-stage .btn-add {
padding:.5rem 1rem;background:var(--c-primary-15);border:1px solid var(--c-primary-20);border-radius:8px;color:var(--color-primary);font-size:.8125rem;cursor:pointer;white-space:nowrap;transition:all .2s
}
.s2-stage .btn-add:hover {
background:var(--c-primary-25)
}
.s2-stage .btn-add:disabled {
opacity:.3;cursor:not-allowed
}
.s2-stage .user-id-list {
display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem
}
.s2-stage .user-id-tag {
display:flex;align-items:center;gap:.375rem;padding:.3rem .625rem;background:#818cf81a;border:1px solid rgba(129,140,248,.15);border-radius:6px;font-size:.75rem;color:#818cf8
}
.s2-stage .tag-remove {
background:none;border:none;color:#818cf899;cursor:pointer;padding:1px;display:flex;align-items:center;transition:color .2s
}
.s2-stage .tag-remove:hover {
color:#f87171
}
.s2-stage .danger-zone {
padding-top:1rem;border-top:1px solid var(--w-6)
}
.s2-stage .btn-delete {
width:100%;padding:.5rem;background:#f8717114;border:1px solid rgba(248,113,113,.15);border-radius:8px;color:#f87171;font-size:.8125rem;cursor:pointer;transition:all .2s
}
.s2-stage .btn-delete:hover {
background:#f8717126
}
.s2-stage .btn-delete:disabled {
opacity:.4;cursor:not-allowed
}
.s2-stage .spinner {
width:20px;height:20px;border:2px solid var(--w-10);border-top-color:var(--color-primary);border-radius:50%;animation:spin-5aab131b .8s linear infinite
}
@keyframes spin-5aab131b{to{transform:rotate(360deg)}}
.s2-stage {
color:#15803d;border-color:#15803d33
}
.s2-stage .color-role {
--tab-color: rgb(236, 72, 153);--tab-color-alpha: rgba(236, 72, 153, .15)
}
.s2-stage .color-scene {
--tab-color: rgb(34, 197, 94);--tab-color-alpha: rgba(34, 197, 94, .15)
}
.s2-stage .color-prop {
--tab-color: rgb(139, 92, 246);--tab-color-alpha: rgba(139, 92, 246, .15)
}
.s2-stage .color-custom {
--tab-color: rgb(148, 163, 184);--tab-color-alpha: rgba(148, 163, 184, .15)
}
.s2-stage .zichan-modal-overlay {
position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-02f2ddc9 .2s ease
}
@keyframes fadeIn-02f2ddc9{0%{opacity:0}to{opacity:1}}
.s2-stage .zichan-modal {
width:90%;max-width:72rem;background:var(--bg-page);border:1px solid rgba(99,102,241,.2);border-radius:1rem;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 0 1px #6366f11a,0 24px 48px var(--b-60),0 0 80px #6366f10f;animation:slideIn-02f2ddc9 .3s ease
}
@keyframes slideIn-02f2ddc9{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.s2-stage .modal-header {
display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(99,102,241,.1);background:linear-gradient(180deg,rgba(99,102,241,.08) 0%,transparent 100%)
}
.s2-stage .header-left {
display:flex;align-items:center;gap:.875rem
}
.s2-stage .header-icon {
width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f140,#8b5cf626);border-radius:.75rem;color:#818cf8
}
.s2-stage .header-title h3 {
margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--w-95)
}
.s2-stage .header-title p {
margin:0;font-size:.75rem;color:var(--w-45)
}
.s2-stage .close-btn {
width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-50);cursor:pointer;transition:all .2s ease
}
.s2-stage .close-btn:hover {
background:#ff505026;border-color:#ff50504d;color:#ff6464e6
}
.s2-stage .modal-tabs {
display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;border-bottom:1px solid var(--w-5);gap:1rem;flex-wrap:wrap
}
.s2-stage .tabs-left {
display:flex;align-items:center;gap:.75rem;flex-wrap:wrap
}
.s2-stage .tabs-right {
display:flex;gap:.625rem
}
.s2-stage .type-tabs {
display:flex;gap:.25rem;background:var(--w-3);padding:.25rem;border-radius:.5rem;border:1px solid var(--w-5);overflow-x:auto;max-width:36rem;scrollbar-width:none;-ms-overflow-style:none
}
.s2-stage .type-tabs::-webkit-scrollbar {
display:none
}
.s2-stage .type-tab {
display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:transparent;border:none;border-radius:.375rem;color:var(--w-50);font-size:.8125rem;cursor:pointer;transition:all .2s ease;flex-shrink:0;white-space:nowrap
}
.s2-stage .type-tab:hover {
background:var(--w-5);color:var(--w-80)
}
.s2-stage .type-tab.active {
background:#6366f126;color:#818cf8
}
.s2-stage .type-tab:nth-child(1).active {
background:#ec489926;color:#f472b6
}
.s2-stage .type-tab:nth-child(2).active {
background:#22c55e26;color:#4ade80
}
.s2-stage .type-tab:nth-child(3).active {
background:#8b5cf626;color:#a78bfa
}
.s2-stage .tab-count {
font-size:.6875rem;padding:.125rem .375rem;background:var(--w-10);border-radius:.25rem
}
.s2-stage .type-tab.custom-tab.active {
background:#94a3b826;color:#bac7d5
}
.s2-stage .tab-loading-indicator {
display:flex;align-items:center;justify-content:center;padding:0 .5rem;flex-shrink:0
}
.s2-stage .tab-loading-spinner {
width:1rem;height:1rem;border:1.5px solid var(--w-10);border-top-color:var(--w-50);border-radius:50%;animation:spin-02f2ddc9 .8s linear infinite
}
.s2-stage .style-selector-btn {
display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:linear-gradient(135deg,#fb923c1a,#ea580c0d);border:1px solid rgba(251,146,60,.25);border-radius:.5rem;color:var(--w-80);font-size:.8125rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .style-selector-btn:hover {
background:linear-gradient(135deg,#fb923c2e,#ea580c1a);border-color:#fb923c66;transform:translateY(-1px)
}
.s2-stage .style-selector-btn svg:first-child {
color:#fb923c;flex-shrink:0
}
.s2-stage .style-selector-btn .style-label {
color:var(--w-50)
}
.s2-stage .style-selector-btn .style-name {
color:#fb923c;font-weight:500;max-width:8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.s2-stage .style-selector-btn .arrow-icon {
color:var(--w-40);flex-shrink:0;transition:transform .2s ease
}
.s2-stage .style-selector-btn:hover .arrow-icon {
transform:translateY(2px)
}
.s2-stage .add-item-btn {
display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:linear-gradient(135deg,#6366f126,#6366f11a);border:1px solid rgba(99,102,241,.3);border-radius:.5rem;color:#818cf8;font-size:.8125rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .add-item-btn:hover {
transform:translateY(-1px)
}
.s2-stage .modal-content {
overflow-y:auto;padding:1.5rem;scrollbar-width:thin;scrollbar-color:var(--w-8) transparent;height:30rem;flex-shrink:0
}
.s2-stage .modal-content::-webkit-scrollbar {
width:6px
}
.s2-stage .modal-content::-webkit-scrollbar-track {
background:transparent
}
.s2-stage .modal-content::-webkit-scrollbar-thumb {
background:var(--w-10);border-radius:3px
}
.s2-stage .loading-state {
display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem;color:var(--w-50)
}
.s2-stage .loading-spinner {
width:2rem;height:2rem;border:2px solid rgba(99,102,241,.1);border-top-color:#6366f1;border-radius:50%;animation:spin-02f2ddc9 .8s linear infinite
}
@keyframes spin-02f2ddc9{to{transform:rotate(360deg)}}
.s2-stage .empty-state {
display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center
}
.s2-stage .empty-illustration {
color:#6366f140;margin-bottom:1.5rem
}
.s2-stage .empty-illustration.color-role {
color:#ec489940
}
.s2-stage .empty-illustration.color-scene {
color:#22c55e40
}
.s2-stage .empty-illustration.color-prop {
color:#8b5cf640
}
.s2-stage .empty-illustration.color-custom {
color:#94a3b840
}
.s2-stage .empty-state h4 {
margin:0 0 .5rem;font-size:1rem;font-weight:500;color:var(--w-70)
}
.s2-stage .empty-tips {
max-width:32rem;text-align:center
}
.s2-stage .empty-tips .tip-main {
font-size:.875rem;color:var(--w-60);margin-bottom:1rem
}
.s2-stage .empty-tips .tip-main .highlight {
color:#818cf8;font-weight:500
}
.s2-stage .empty-tips .tip-main .highlight.color-role {
color:#f472b6
}
.s2-stage .empty-tips .tip-main .highlight.color-scene {
color:#4ade80
}
.s2-stage .empty-tips .tip-main .highlight.color-prop {
color:#a78bfa
}
.s2-stage .empty-tips .tip-main .highlight.color-custom {
color:#bac7d5
}
.s2-stage .empty-tips .tip-divider {
display:flex;align-items:center;gap:.75rem;margin:1rem 0
}
.s2-stage .empty-tips .tip-divider:before,
.s2-stage .empty-tips .tip-divider:after {
content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.3),transparent)
}
.s2-stage .empty-tips .tip-divider span {
font-size:.75rem;color:var(--w-35)
}
.s2-stage .empty-tips .tip-auto {
font-size:.8125rem;color:var(--w-50);line-height:1.6;margin-bottom:.5rem
}
.s2-stage .empty-tips .tip-auto strong {
font-weight:500
}
.s2-stage .empty-tips .tip-auto strong.color-role {
color:#f472b6
}
.s2-stage .empty-tips .tip-auto strong.color-scene {
color:#4ade80
}
.s2-stage .empty-tips .tip-auto strong.color-prop {
color:#a78bfa
}
.s2-stage .empty-tips .tip-auto strong.color-custom {
color:#bac7d5
}
.s2-stage .empty-tips .tip-note {
font-size:.75rem;color:var(--w-35);padding:.5rem .75rem;background:#6366f114;border-radius:.375rem;margin-top:.75rem
}
.s2-stage .item-grid {
display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1rem
}
.s2-stage .item-card {
position:relative;background:#141519;border:1px solid var(--w-6);border-radius:.75rem;overflow:hidden;cursor:pointer;transition:all .3s ease
}
.s2-stage .item-card:hover {
border-color:#6366f166;transform:translateY(-4px);box-shadow:0 16px 40px var(--b-30),0 0 30px #6366f11a
}
.s2-stage .item-card.is-generating {
border-color:#3b82f64d
}
.s2-stage .item-card.is-failed {
border-color:#ef44444d
}
.s2-stage .item-preview {
position:relative;aspect-ratio:4 / 3;overflow:hidden
}
.s2-stage .item-preview img {
width:100%;height:100%;object-fit:cover
}
.s2-stage .preview-placeholder {
width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f126,#8b5cf626)
}
.s2-stage .preview-placeholder.color-role {
background:linear-gradient(135deg,#ec489926,#a855f726)
}
.s2-stage .preview-placeholder.color-scene {
background:linear-gradient(135deg,#22c55e26,#16a34a26)
}
.s2-stage .preview-placeholder.color-prop {
background:linear-gradient(135deg,#8b5cf626,#6366f126)
}
.s2-stage .preview-missing {
flex-direction:column;gap:.25rem;background:var(--w-3);border:1px dashed var(--w-15)
}
.s2-stage .preview-missing svg {
color:var(--w-30);margin-bottom:.125rem
}
.s2-stage .preview-missing-text {
color:var(--w-50);font-size:.75rem;font-weight:500
}
.s2-stage .preview-missing-hint {
color:var(--w-30);font-size:.625rem
}
.s2-stage .preview-text {
background:var(--b-30);padding:.5rem 1rem;border-radius:.5rem;color:var(--w-90);font-size:.875rem;font-weight:500
}
.s2-stage .preview-generating {
width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f633,#9333ea33)
}
.s2-stage .generating-spinner {
width:2rem;height:2rem;border:2px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin-02f2ddc9 .8s linear infinite
}
.s2-stage .preview-failed {
width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,#ef444433,#ef44441a);color:#ef4444
}
.s2-stage .failed-message {
font-size:.6875rem;color:#ef4444e6;text-align:center;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all
}
.s2-stage .item-badge {
position:absolute;top:.5rem;left:.5rem;padding:.125rem .5rem;border-radius:.25rem;font-size:.625rem;font-weight:500;color:var(--w-100)
}
.s2-stage .item-badge.generating {
background:#3b82f6cc
}
.s2-stage .item-badge.failed {
background:#ef4444cc
}
.s2-stage .item-actions {
position:absolute;top:.5rem;right:.5rem;display:flex;flex-direction:column;gap:.25rem;opacity:0;transition:all .2s ease
}
.s2-stage .item-card:hover .item-actions {
opacity:1
}
.s2-stage .action-icon {
width:1.625rem;height:1.625rem;display:flex;align-items:center;justify-content:center;background:var(--b-80);border-radius:.375rem;color:var(--w-85);cursor:pointer;transition:all .2s ease
}
.s2-stage .action-icon.download-icon:hover {
background:#3b82f6;color:var(--w-100)
}
.s2-stage .action-icon.edit-icon:hover {
background:var(--color-primary);color:var(--w-100)
}
.s2-stage .action-icon.delete-icon:hover {
background:#ef4444;color:var(--w-100)
}
.s2-stage .item-info {
display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem
}
.s2-stage .item-name {
flex:1;min-width:0;font-size:.875rem;font-weight:500;color:var(--w-90);white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.s2-stage .regenerate-btn {
width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:.375rem;color:#4ade80;cursor:pointer;flex-shrink:0;transition:all .2s ease
}
.s2-stage .regenerate-btn.color-role {
background:#ec489926;border-color:#ec48994d;color:#f472b6
}
.s2-stage .regenerate-btn.color-scene {
background:#22c55e26;border-color:#22c55e4d;color:#4ade80
}
.s2-stage .regenerate-btn.color-prop {
background:#8b5cf626;border-color:#8b5cf64d;color:#a78bfa
}
.s2-stage .regenerate-btn.color-custom {
background:#94a3b826;border-color:#94a3b84d;color:#bac7d5
}
.s2-stage .regenerate-btn:hover {
transform:scale(1.1)
}
.s2-stage .modal-footer {
display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--w-5);background:var(--bg-page-2)
}
.s2-stage .footer-info {
font-size:.8125rem;color:var(--w-50)
}
.s2-stage .footer-info strong {
font-weight:600
}
.s2-stage .footer-info strong.color-role {
color:#f472b6
}
.s2-stage .footer-info strong.color-scene {
color:#4ade80
}
.s2-stage .footer-info strong.color-prop {
color:#a78bfa
}
.s2-stage .footer-info strong.color-custom {
color:#bac7d5
}
.s2-stage .footer-actions {
display:flex;gap:.75rem
}
.s2-stage .btn-import,
.s2-stage .btn-share {
display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;border-radius:.5rem;font-size:.875rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-import {
background:linear-gradient(135deg,var(--c-primary-15),rgba(0,180,200,.1));border:1px solid var(--c-primary-35);color:var(--color-primary)
}
.s2-stage .btn-import:hover {
background:linear-gradient(135deg,var(--c-primary-25),rgba(0,180,200,.18));border-color:var(--c-primary-50);transform:translateY(-1px)
}
.s2-stage .btn-share {
background:linear-gradient(135deg,#a855f726,#9333ea1a);border:1px solid rgba(168,85,247,.35);color:#a855f7
}
.s2-stage .btn-share:hover {
background:linear-gradient(135deg,#a855f740,#9333ea2e);border-color:#a855f780;transform:translateY(-1px)
}
.s2-stage .btn-download {
display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:linear-gradient(135deg,#3b82f626,#2563eb1a);border:1px solid rgba(59,130,246,.35);border-radius:.5rem;color:#60a5fa;font-size:.875rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-download:hover {
background:linear-gradient(135deg,#3b82f640,#2563eb2e);border-color:#3b82f680;transform:translateY(-1px)
}
.s2-stage .btn-regenerate {
display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:linear-gradient(135deg,#22c55e26,#16a34a1a);border:1px solid rgba(34,197,94,.35);border-radius:.5rem;color:#4ade80;font-size:.875rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-regenerate:hover:not(:disabled) {
background:linear-gradient(135deg,#22c55e40,#16a34a2e);border-color:#22c55e80;transform:translateY(-1px)
}
.s2-stage .btn-regenerate:disabled {
opacity:.6;cursor:not-allowed
}
.s2-stage .btn-regenerate .btn-loading-spinner {
width:14px;height:14px;border:2px solid rgba(74,222,128,.2);border-top-color:#4ade80;border-radius:50%;animation:spin-02f2ddc9 .8s linear infinite
}
.s2-stage .btn-secondary {
padding:.625rem 1.25rem;background:var(--w-5);border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-70);font-size:.875rem;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-secondary:hover {
background:var(--w-10);color:var(--w-90)
}
.s2-stage .btn-primary {
padding:.625rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:.5rem;color:var(--w-100);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease
}
.s2-stage .btn-primary.color-role {
background:linear-gradient(135deg,#ec4899,#db2777)
}
.s2-stage .btn-primary.color-scene {
background:linear-gradient(135deg,#22c55e,#16a34a)
}
.s2-stage .btn-primary.color-prop {
background:linear-gradient(135deg,#8b5cf6,#a855f7)
}
.s2-stage .btn-primary.color-custom {
background:linear-gradient(135deg,#64748b,#475569)
}
.s2-stage .btn-primary:hover {
transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d
}
.s2-stage .zoom-icon {
position:absolute;bottom:.5rem;right:.5rem;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:#000000d9;border-radius:.5rem;color:var(--w-95);cursor:pointer;opacity:0;transition:all .2s ease
}
.s2-stage .item-card:hover .zoom-icon {
opacity:1
}
.s2-stage .zoom-icon:hover {
background:#6366f1e6;color:var(--w-100);transform:scale(1.05)
}
.s2-stage .image-preview-overlay {
position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn-02f2ddc9 .2s ease
}
.s2-stage .image-preview-container {
max-width:90vw;max-height:90vh;display:flex;flex-direction:column
}
.s2-stage .image-preview-container .preview-header {
display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--b-50);border-radius:.5rem .5rem 0 0
}
.s2-stage .preview-title {
font-size:1rem;font-weight:500;color:var(--w-90)
}
.s2-stage .preview-close {
width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--w-10);border:none;border-radius:.5rem;color:var(--w-70);cursor:pointer;transition:all .2s ease
}
.s2-stage .preview-close:hover {
background:#ff50504d;color:#ff6464
}
.s2-stage .preview-body {
flex:1;overflow:auto;display:flex;align-items:center;justify-content:center
}
.s2-stage .preview-body img,
.s2-stage .preview-body .preview-body-tu {
max-width:100%;max-height:calc(90vh - 5rem);object-fit:contain;border-radius:0 0 .5rem .5rem
}
.s2-stage .loading-more {
display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;color:var(--w-50);font-size:.8125rem
}
.s2-stage .loading-spinner.small {
width:1.25rem;height:1.25rem
}
.s2-stage .no-more {
display:flex;align-items:center;justify-content:center;padding:1rem;color:var(--w-25);font-size:.75rem
}
.s2-stage .item-card.is-pick-selected {
border-color:#6366f199;box-shadow:0 0 0 1px #6366f14d
}
.s2-stage .item-card.is-pick-disabled {
opacity:.4;cursor:not-allowed;pointer-events:none
}
.s2-stage .pick-check-icon {
position:absolute;top:.5rem;right:.5rem;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:#6366f1;border-radius:50%;z-index:2
}
.s2-stage .pick-already-label {
position:absolute;top:.5rem;right:.5rem;padding:.125rem .5rem;background:#000000b3;border-radius:.25rem;font-size:.625rem;color:var(--w-50);z-index:2
}
.s2-stage .item-card.is-new {
border-color:#6366f199;box-shadow:0 0 20px #6366f133;animation:newAssetPulse-02f2ddc9 1.5s ease-out
}
@keyframes newAssetPulse-02f2ddc9{0%{box-shadow:0 0 #6366f180}50%{box-shadow:0 0 25px 5px #6366f14d}to{box-shadow:0 0 20px #6366f133}}
.s2-stage {
background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)
}
.s2-stage {
background:linear-gradient(145deg,#fff,#fafcff,#fff);border:1px solid rgba(0,0,0,.08);box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000f
}
.s2-stage {
background:linear-gradient(180deg,rgba(99,102,241,.04) 0%,transparent 100%);border-bottom-color:#0000000f
}
.s2-stage {
background:linear-gradient(135deg,#6366f11a,#8b5cf614);color:#6366f1
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#788296
}
.s2-stage {
background:#00000008;border-color:#0000000f;color:#828c9b
}
.s2-stage {
background:#dc26260f;border-color:#dc262626;color:#dc2626
}
.s2-stage {
border-bottom-color:#0000000f;background:#fcfdff
}
.s2-stage {
background:#00000008;border-color:#0000000f
}
.s2-stage {
color:#414b64
}
.s2-stage {
background:#0000000a;color:#323746
}
.s2-stage {
background:#ec489914;color:#be286e
}
.s2-stage {
background:#15803d14;color:#15803d
}
.s2-stage {
background:#6d3ed814;color:#6d3ed8
}
.s2-stage {
background:#64748b14;color:#475569
}
.s2-stage {
background:#0000000f;color:#414b64
}
.s2-stage {
background:linear-gradient(135deg,#c2410c0f,#c2410c08);border-color:#c2410c2e;color:#3c465a
}
.s2-stage {
background:linear-gradient(135deg,#c2410c1a,#c2410c0f);border-color:#c2410c4d
}
.s2-stage,
.s2-stage {
color:#c2410c
}
.s2-stage {
color:#788296
}
.s2-stage {
background:linear-gradient(135deg,#4f46e50f,#4f46e50a);border-color:#4f46e533;color:#4f46e5
}
.s2-stage {
background:#f6f8fc;scrollbar-color:rgba(0,0,0,.12) transparent
}
.s2-stage {
background:#0000001f
}
.s2-stage {
gap:1rem
}
.s2-stage {
background:#fff;border:1.5px solid rgba(0,0,0,.1);box-shadow:0 1px 4px #0000000d;border-radius:.75rem
}
.s2-stage {
border-color:#0003;box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)
}
.s2-stage {
border-color:#b91c1c4d
}
.s2-stage {
border-color:#2563eb4d
}
.s2-stage {
border-color:#4f46e566;box-shadow:0 0 16px #4f46e51f
}
.s2-stage {
background:#f5f7fa;border-bottom:1px solid rgba(0,0,0,.06)
}
.s2-stage {
background:transparent;border-top:none;padding:.5rem .625rem
}
.s2-stage {
color:#191e32;font-weight:500
}
.s2-stage {
background:#ffffffeb;color:#3c4150;box-shadow:0 1px 4px #0000001a
}
.s2-stage {
background:#ffffffe0;color:#3c4150;box-shadow:0 1px 4px #0000001a
}
.s2-stage {
background:#6366f1d9;color:#fff
}
.s2-stage {
background:#be286e0f;border-color:#be286e33;color:#be286e
}
.s2-stage {
background:#15803d0f;border-color:#15803d33;color:#15803d
}
.s2-stage {
background:#6d3ed80f;border-color:#6d3ed833;color:#6d3ed8
}
.s2-stage {
background:#4755690f;border-color:#47556933;color:#475569
}
.s2-stage {
background:#f8f9fc;border:1px dashed rgba(0,0,0,.12)
}
.s2-stage {
color:#b4b9c8
}
.s2-stage {
color:#414b64
}
.s2-stage {
color:#a0aab9
}
.s2-stage {
background:#fff;border-top:1px solid rgba(0,0,0,.08);box-shadow:0 -2px 8px #00000008
}
.s2-stage {
color:#414b64
}
.s2-stage {
color:#be286e
}
.s2-stage {
color:#15803d
}
.s2-stage {
color:#6d3ed8
}
.s2-stage {
color:#475569
}
.s2-stage {
background:linear-gradient(135deg,#008cb40f,#008cb408);border-color:#008cb433;color:#0078a0
}
.s2-stage {
background:linear-gradient(135deg,#008cb41a,#008cb40f);border-color:#008cb459
}
.s2-stage {
background:linear-gradient(135deg,#6d3ed80f,#6d3ed808);border-color:#6d3ed833;color:#6d3ed8
}
.s2-stage {
background:linear-gradient(135deg,#6d3ed81a,#6d3ed80f);border-color:#6d3ed859
}
.s2-stage {
background:linear-gradient(135deg,#2563eb0f,#2563eb08);border-color:#2563eb33;color:#2563eb
}
.s2-stage {
background:linear-gradient(135deg,#2563eb1a,#2563eb0f);border-color:#2563eb59
}
.s2-stage {
background:#00000008;border-color:#00000014;color:#505a6e
}
.s2-stage {
background:#0000000f;color:#1e2332
}
.s2-stage {
background:linear-gradient(135deg,#be286e,#aa1e5f)
}
.s2-stage {
background:linear-gradient(135deg,#15803d,#166534)
}
.s2-stage {
background:linear-gradient(135deg,#6d3ed8,#7e3af2)
}
.s2-stage {
background:linear-gradient(135deg,#475569,#334155)
}
.s2-stage {
background:linear-gradient(135deg,#15803d0f,#1665340a);border-color:#15803d33;color:#15803d
}
.s2-stage {
background:linear-gradient(135deg,#15803d1f,#16653414);border-color:#15803d59
}
.s2-stage {
border-color:#15803d33;border-top-color:#15803d
}
.s2-stage {
color:#323746
}
.s2-stage {
color:#be286e33
}
.s2-stage {
color:#15803d33
}
.s2-stage {
color:#6d3ed833
}
.s2-stage {
color:#47556933
}
.s2-stage {
color:#be286e
}
.s2-stage {
color:#15803d
}
.s2-stage {
color:#6d3ed8
}
.s2-stage {
color:#be286e
}
.s2-stage {
color:#15803d
}
.s2-stage {
color:#6d3ed8
}
.s2-stage {
background:#4f46e50a;color:#414b64
}
.s2-stage,
.s2-stage {
background:linear-gradient(90deg,transparent,rgba(0,0,0,.08),transparent)
}
.s2-stage {
background:linear-gradient(135deg,#15803d14,#1665340f)
}
.s2-stage,
.s2-stage {
color:#414b64
}
.s2-stage {
color:#a0aab9
}
.s2-stage {
--tab-color: #15803d;--tab-color-alpha: rgba(21, 128, 61, .08)
}
.s2-stage {
background:#00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)
}
.s2-stage {
background:#fff;box-shadow:0 1px #0000000f
}
.s2-stage {
color:#191c2d
}
.s2-stage {
background:#0000000a;color:#414b64
}
.s2-stage {
background:#dc26260f;color:#dc2626
}
.s2-stage {
background:#fafbff
}
.s2-stage {
background:#0009;color:#c8c8d2
}
.s2-stage {
border-color:#4f46e580;box-shadow:0 0 0 2px #4f46e526,0 2px 8px #4f46e51a
}
.s2-stage {
opacity:.45
}
.s2-stage .zichan-node {
width:100%
}
.s2-stage .jieDian-header {
margin-bottom:.25rem
}
.s2-stage .jieDian-name {
font-size:1rem;font-weight:600;color:var(--w-100)
}
.s2-stage .jieDian-sub {
display:block;font-size:.8125rem;color:var(--w-45);line-height:1.5;margin-top:.25rem
}
.s2-stage .zichan-toolbar {
display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;margin-bottom:1rem;padding:.625rem .875rem;background:var(--w-2);border:1px solid var(--w-5);border-radius:.625rem
}
.s2-stage .toolbar-left {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .toolbar-stats {
display:flex;align-items:center;gap:.375rem
}
.s2-stage .stat-chip {
display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;padding:.25rem .625rem;border-radius:1rem;letter-spacing:.01em
}
.s2-stage .stat-chip.reuse {
background:#4caf501a;color:#66bb6a;border:1px solid rgba(76,175,80,.15)
}
.s2-stage .stat-chip.xinjian {
background:#6366f11a;color:#818cf8;border:1px solid rgba(99,102,241,.15)
}
.s2-stage .toolbar-right {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .toolbar-generate-btn {
display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:linear-gradient(135deg,#fb923c1f,#ea580c14);border:1px solid rgba(251,146,60,.25);border-radius:.5rem;color:#fb923c;font-size:.75rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s ease
}
.s2-stage .toolbar-generate-btn:hover:not(:disabled) {
background:linear-gradient(135deg,#fb923c33,#ea580c24);border-color:#fb923c73;transform:translateY(-1px);box-shadow:0 4px 12px #fb923c26
}
.s2-stage .toolbar-generate-btn:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .toolbar-generate-btn svg {
flex-shrink:0
}
.s2-stage .toolbar-pick-btn {
display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:linear-gradient(135deg,#6366f11a,#8b5cf614);border:1px solid rgba(99,102,241,.2);border-radius:.5rem;color:#818cf8;font-size:.75rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s ease
}
.s2-stage .toolbar-pick-btn:hover {
background:linear-gradient(135deg,#6366f12e,#8b5cf624);border-color:#6366f166;transform:translateY(-1px);box-shadow:0 4px 12px #6366f126
}
.s2-stage .toolbar-pick-btn svg {
flex-shrink:0
}
.s2-stage .zichan-section {
margin-bottom:1rem
}
.s2-stage .section-header {
display:flex;align-items:center;gap:.375rem;margin-bottom:.625rem;justify-content:flex-start
}
.s2-stage .section-dot {
width:.375rem;height:.375rem;border-radius:50%
}
.s2-stage .section-dot.reuse {
background:#4caf50b3
}
.s2-stage .section-dot.xinjian {
background:#6366f1b3
}
.s2-stage .section-label {
font-size:.75rem;color:var(--w-45);font-weight:500
}
.s2-stage .asset-grid {
display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem
}
.s2-stage .asset-card {
background:#141519;border:1px solid var(--w-6);border-radius:.75rem;overflow:hidden;transition:all .3s ease
}
.s2-stage .asset-card:hover {
border-color:#6366f14d;transform:translateY(-3px);box-shadow:0 12px 32px var(--b-30),0 0 20px #6366f10f
}
.s2-stage .add-card {
cursor:pointer;border-style:dashed;border-color:var(--w-8)
}
.s2-stage .add-card:hover {
border-color:#6366f166
}
.s2-stage .add-preview {
display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--w-20);transition:color .15s
}
.s2-stage .add-card:hover .add-preview {
color:#a5b4fc99
}
.s2-stage .add-text {
font-size:.75rem
}
.s2-stage .add-asset-loading {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .add-asset-spinner {
width:1.125rem;height:1.125rem;border:2px solid var(--w-8);border-top-color:#a5b4fccc;border-radius:50%;animation:add-spin-79c2b390 .7s linear infinite
}
@keyframes add-spin-79c2b390{to{transform:rotate(360deg)}}
.s2-stage .card-preview {
position:relative;aspect-ratio:16 / 9;overflow:hidden
}
.s2-stage .preview-img {
width:100%;height:100%;object-fit:cover
}
.s2-stage .preview-placeholder {
width:100%;height:100%;display:flex;align-items:center;justify-content:center
}
.s2-stage .preview-char {
font-size:2.25rem;font-weight:700;opacity:.12;-webkit-user-select:none;user-select:none
}
.s2-stage .single-gen-btn {
position:absolute;bottom:.5rem;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:linear-gradient(135deg,#fb923c26,#ea580c1a);border:1px solid rgba(251,146,60,.3);border-radius:1rem;color:#fb923c;font-size:.6875rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s ease;white-space:nowrap;z-index:2;opacity:0
}
.s2-stage .asset-card:hover .single-gen-btn {
opacity:1
}
.s2-stage .single-gen-btn:hover:not(:disabled) {
background:linear-gradient(135deg,#fb923c47,#ea580c2e);border-color:#fb923c8c;transform:translate(-50%) translateY(-1px);box-shadow:0 4px 12px #fb923c33
}
.s2-stage .single-gen-btn:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .single-gen-btn svg {
flex-shrink:0
}
.s2-stage .preview-placeholder.type-role {
background:#f472b60d;color:#f472b6
}
.s2-stage .preview-placeholder.type-scene {
background:#4ade800d;color:#4ade80
}
.s2-stage .preview-placeholder.type-prop {
background:#a78bfa0d;color:#a78bfa
}
.s2-stage .preview-placeholder.type-costume {
background:#fbbf240d;color:#fbbf24
}
.s2-stage .preview-placeholder.type-skill {
background:#f871710d;color:#f87171
}
.s2-stage .preview-placeholder.type-effect {
background:#38bdf80d;color:#38bdf8
}
.s2-stage .preview-placeholder.type-expression {
background:#fdba740d;color:#fdba74
}
.s2-stage .preview-placeholder.type-pet {
background:#86efac0d;color:#86efac
}
.s2-stage .preview-placeholder.type-mount {
background:#c4b5fd0d;color:#c4b5fd
}
.s2-stage .preview-placeholder.type-default {
background:#94a3b80d;color:#94a3b8
}
.s2-stage .type-badge {
position:absolute;top:.375rem;left:.375rem;padding:.125rem .4375rem;font-size:.5625rem;font-weight:500;border-radius:.25rem;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)
}
.s2-stage .type-badge.type-role {
color:#f472b6
}
.s2-stage .type-badge.type-scene {
color:#4ade80
}
.s2-stage .type-badge.type-prop {
color:#a78bfa
}
.s2-stage .type-badge.type-costume {
color:#fbbf24
}
.s2-stage .type-badge.type-skill {
color:#f87171
}
.s2-stage .type-badge.type-effect {
color:#38bdf8
}
.s2-stage .type-badge.type-expression {
color:#fdba74
}
.s2-stage .type-badge.type-pet {
color:#86efac
}
.s2-stage .type-badge.type-mount {
color:#c4b5fd
}
.s2-stage .type-badge.type-default {
color:#94a3b8
}
.s2-stage .card-overlay {
position:absolute;inset:0;background:var(--b-40);display:flex;align-items:flex-start;justify-content:flex-end;gap:.25rem;padding:.375rem;opacity:0;transition:opacity .2s
}
.s2-stage .asset-card:hover .card-overlay {
opacity:1
}
.s2-stage .overlay-btn {
width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background:var(--b-50);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border-radius:.25rem;color:var(--w-60);cursor:pointer;transition:all .15s
}
.s2-stage .overlay-btn.edit:hover {
background:#6366f199;color:var(--w-100)
}
.s2-stage .overlay-btn.remove:hover {
background:#f4433699;color:var(--w-100)
}
.s2-stage .overlay-btn.regen:hover:not(:disabled) {
background:#fb923c99;color:var(--w-100)
}
.s2-stage .overlay-btn.regen:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .card-info {
padding:.625rem .75rem
}
.s2-stage .card-name {
font-size:.8125rem;font-weight:600;color:var(--w-90);white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.s2-stage .card-desc {
font-size:.625rem;color:#ffffff61;margin-top:.25rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.s2-stage .action-area {
display:flex;justify-content:flex-end;margin-top:.875rem;margin-bottom:.5rem
}
.s2-stage .confirm-btn {
display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,#3b82f62e,#6366f124);border:1px solid rgba(59,130,246,.35);border-radius:.625rem;color:#60a5faf2;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit
}
.s2-stage .confirm-btn:hover:not(:disabled) {
background:linear-gradient(135deg,#3b82f647,#6366f138);border-color:#3b82f68c;transform:translateY(-1px);box-shadow:0 4px 20px #3b82f633
}
.s2-stage .confirm-btn:disabled {
opacity:.35;cursor:not-allowed
}
.s2-stage .btn-spinner {
width:.875rem;height:.875rem;border:2px solid rgba(59,130,246,.3);border-top-color:#60a5fae6;border-radius:50%;animation:spin-79c2b390 .8s linear infinite
}
@keyframes spin-79c2b390{to{transform:rotate(360deg)}}
.s2-stage .btn-spinner.small {
width:.75rem;height:.75rem;border:2px solid rgba(251,146,60,.2);border-top-color:#fb923ccc;border-radius:50%;animation:spin-79c2b390 .8s linear infinite
}
.s2-stage .preview-status {
width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem
}
.s2-stage .preview-status.analyzing {
background:#6366f10f
}
.s2-stage .preview-status.generating {
background:#fb923c0f
}
.s2-stage .preview-status.failed {
background:#f443360f;color:#f87171b3;cursor:help
}
.s2-stage .retry-btn {
margin-top:.375rem;padding:.25rem .75rem;background:#6366f126;border:1px solid rgba(99,102,241,.3);border-radius:.375rem;color:#a5b4fce6;font-size:.6875rem;cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:all .15s
}
.s2-stage .retry-btn:hover:not(:disabled) {
background:#6366f140;border-color:#6366f180
}
.s2-stage .retry-btn:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .btn-spinner.mini {
width:.75rem;height:.75rem;border:1.5px solid var(--w-8);border-top-color:#a5b4fccc;border-radius:50%;animation:spin-79c2b390 .6s linear infinite
}
.s2-stage .status-spinner {
width:1.5rem;height:1.5rem;border:2px solid var(--w-8);border-radius:50%;animation:spin-79c2b390 1s linear infinite
}
.s2-stage .analyzing .status-spinner {
border-top-color:#818cf8b3
}
.s2-stage .generating .status-spinner {
border-top-color:#fb923cb3
}
.s2-stage .status-text {
font-size:.6875rem;font-weight:500;color:var(--w-40);letter-spacing:.02em
}
.s2-stage .analyzing .status-text {
color:#818cf8b3
}
.s2-stage .generating .status-text {
color:#fb923cb3
}
.s2-stage .failed .status-text {
color:#f87171b3
}
.s2-stage .error-reason {
font-size:.75rem;color:#f87171b3;text-align:center;max-width:90%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;word-break:break-all;line-height:1.3;margin-top:.25rem
}
.s2-stage .done-card {
position:relative;background:var(--w-2);border:1px solid var(--w-6);border-radius:.75rem;overflow:hidden;margin-top:.375rem
}
.s2-stage .done-accent {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#34d399b3,#34d3991a)
}
.s2-stage .done-card-inner {
padding:.75rem .875rem
}
.s2-stage .done-header-row {
display:flex;align-items:center;gap:.5rem;margin-bottom:.625rem
}
.s2-stage .done-icon-wrap {
color:#34d399b3;display:flex
}
.s2-stage .done-title-text {
font-size:.8125rem;font-weight:600;color:var(--w-70)
}
.s2-stage .done-tags-row {
display:flex;gap:.375rem;margin-left:auto
}
.s2-stage .done-tag {
display:flex;align-items:center;gap:.25rem;font-size:.6875rem;font-weight:600;padding:.15rem .5rem;border-radius:2rem;background:#4caf501a;color:#4caf50cc
}
.s2-stage .done-tag.xinjian {
background:#6366f11a;color:#818cf8cc
}
.s2-stage .done-grid {
display:flex;flex-wrap:wrap;gap:.5rem
}
.s2-stage .done-chip {
display:flex;align-items:center;gap:.375rem;padding:.3rem .625rem;border-radius:.375rem;background:var(--w-3);border:1px solid var(--w-5);position:relative;cursor:default
}
.s2-stage .done-chip {
cursor:default
}
.s2-stage .chip-type {
font-size:.6875rem;opacity:.55
}
.s2-stage .chip-name {
font-size:.8125rem;color:#ffffffa6
}
.s2-stage .done-chip.type-role .chip-type {
color:#f472b6
}
.s2-stage .done-chip.type-scene .chip-type {
color:#4ade80
}
.s2-stage .done-chip.type-prop .chip-type {
color:#a78bfa
}
.s2-stage .done-chip.type-costume .chip-type {
color:#fbbf24
}
.s2-stage .done-chip.type-skill .chip-type {
color:#f87171
}
.s2-stage .done-chip.type-effect .chip-type {
color:#38bdf8
}
.s2-stage .chip-remove-btn {
display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;padding:0;margin-left:.125rem;background:none;border:none;border-radius:50%;color:var(--w-25);cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0
}
.s2-stage .done-chip:hover .chip-remove-btn {
opacity:1
}
.s2-stage .chip-remove-btn:hover {
background:#f4433659;color:#f87171
}
.s2-stage .done-add-btn {
display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .625rem;border-radius:.375rem;background:var(--w-2);border:1px dashed var(--w-10);color:var(--w-30);font-size:.75rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s ease
}
.s2-stage .done-add-btn:hover {
border-color:#6366f166;color:#818cf8cc;background:#6366f10f
}
.s2-stage .edit-modal-mask {
position:fixed;inset:0;z-index:9999;background:var(--b-60);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center
}
.s2-stage .edit-modal {
width:28rem;max-width:90vw;max-height:85vh;background:var(--bg-panel-5);border:1px solid var(--w-8);border-radius:.875rem;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 64px var(--b-50)
}
.s2-stage .edit-modal-header {
display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--w-6)
}
.s2-stage .edit-modal-title {
font-size:.9375rem;font-weight:600;color:#ffffffe0
}
.s2-stage .edit-modal-close {
background:none;border:none;color:var(--w-35);cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .15s
}
.s2-stage .edit-modal-close:hover {
color:var(--w-70);background:var(--w-6)
}
.s2-stage .edit-modal-body {
padding:1rem 1.25rem;overflow-y:auto;flex:1
}
.s2-stage .edit-label {
display:block;font-size:.6875rem;color:var(--w-40);margin-bottom:.375rem;margin-top:.75rem
}
.s2-stage .edit-label:first-child {
margin-top:0
}
.s2-stage .edit-input {
width:100%;padding:.5rem .75rem;background:var(--w-4);border:1px solid var(--w-8);border-radius:.5rem;outline:none;color:#ffffffe0;font-size:.8125rem;font-family:inherit;box-sizing:border-box;transition:border-color .15s
}
.s2-stage .edit-input:focus {
border-color:#6366f180
}
.s2-stage .edit-textarea {
width:100%;padding:.5rem .75rem;background:var(--w-4);border:1px solid var(--w-8);border-radius:.5rem;outline:none;color:var(--w-80);font-size:.8125rem;line-height:1.55;font-family:inherit;box-sizing:border-box;resize:vertical;transition:border-color .15s
}
.s2-stage .edit-textarea:focus {
border-color:#6366f180
}
.s2-stage .edit-textarea::-webkit-scrollbar {
width:6px
}
.s2-stage .edit-textarea::-webkit-scrollbar-track {
background:var(--w-3);border-radius:3px
}
.s2-stage .edit-textarea::-webkit-scrollbar-thumb {
background:var(--w-15);border-radius:3px
}
.s2-stage .edit-textarea::-webkit-scrollbar-thumb:hover {
background:var(--w-25)
}
.s2-stage .edit-modal-footer {
display:flex;justify-content:flex-end;gap:.625rem;padding:.875rem 1.25rem;border-top:1px solid var(--w-6)
}
.s2-stage .edit-cancel-btn {
padding:.4375rem 1rem;background:transparent;border:1px solid var(--w-10);border-radius:.5rem;color:var(--w-50);font-size:.8125rem;cursor:pointer;font-family:inherit;transition:all .15s
}
.s2-stage .edit-cancel-btn:hover {
border-color:var(--w-20);color:var(--w-70)
}
.s2-stage .edit-save-btn {
padding:.4375rem 1.25rem;background:#6366f133;border:1px solid rgba(99,102,241,.4);border-radius:.5rem;color:#818cf8f2;font-size:.8125rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s
}
.s2-stage .edit-save-btn:hover:not(:disabled) {
background:#6366f14d;border-color:#6366f199
}
.s2-stage .edit-save-btn:disabled,
.s2-stage .edit-cancel-btn:disabled {
opacity:.35;cursor:not-allowed
}
.s2-stage .edit-weigui-btn {
display:inline-flex;align-items:center;gap:.375rem;padding:.4375rem .75rem;background:linear-gradient(135deg,#fb923c1a,#ea580c12);border:1px solid rgba(251,146,60,.25);border-radius:.5rem;color:#fb923c;font-size:.75rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s ease;white-space:nowrap
}
.s2-stage .edit-weigui-btn:hover:not(:disabled) {
background:linear-gradient(135deg,#fb923c2e,#ea580c1f);border-color:#fb923c73
}
.s2-stage .edit-weigui-btn:disabled {
opacity:.45;cursor:not-allowed
}
.s2-stage .edit-textarea-wrap {
position:relative
}
.s2-stage .weigui-overlay {
position:absolute;inset:0;background:#0f1014bf;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#fb923cd9;font-size:.75rem;font-weight:500;z-index:2
}
.s2-stage .weigui-spinner {
width:1.25rem;height:1.25rem;border:2px solid var(--w-8);border-top-color:#fb923ccc;border-radius:50%;animation:spin-79c2b390 .7s linear infinite
}
.s2-stage .weigui-result {
margin-top:.625rem;padding:.5rem .75rem;background:#34d3990d;border:1px solid rgba(52,211,153,.12);border-radius:.5rem
}
.s2-stage .weigui-result-title {
display:flex;align-items:center;gap:.25rem;font-size:.6875rem;font-weight:600;color:#34d399cc;margin-bottom:.375rem
}
.s2-stage .weigui-result-item {
font-size:.625rem;color:var(--w-45);line-height:1.5;padding-left:.25rem
}
.s2-stage .zoom-icon {
position:absolute;bottom:.375rem;right:.375rem;width:1.625rem;height:1.625rem;display:flex;align-items:center;justify-content:center;background:var(--b-50);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border-radius:.3125rem;color:var(--w-70);cursor:pointer;opacity:0;transition:all .2s ease;z-index:2
}
.s2-stage .asset-card:hover .zoom-icon {
opacity:1
}
.s2-stage .zoom-icon:hover {
background:#6366f1cc;color:var(--w-100);transform:scale(1.08)
}
.s2-stage .img-preview-overlay {
position:fixed;inset:0;background:#000000e0;z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn-79c2b390 .2s ease
}
@keyframes fadeIn-79c2b390{0%{opacity:0}to{opacity:1}}
.s2-stage .img-preview-container {
max-width:90vw;max-height:90vh;display:flex;flex-direction:column
}
.s2-stage .img-preview-header {
display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#1e1f24f2;border-radius:.5rem .5rem 0 0
}
.s2-stage .img-preview-title {
font-size:.9375rem;font-weight:500;color:#ffffffe0
}
.s2-stage .img-preview-close {
width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--w-50);cursor:pointer;border-radius:.25rem;transition:all .15s
}
.s2-stage .img-preview-close:hover {
background:#ff505040;color:#ff6464
}
.s2-stage .img-preview-body {
flex:1;overflow:auto;display:flex;align-items:center;justify-content:center
}
.s2-stage .img-preview-body img,
.s2-stage .img-preview-body .img-preview-body-tu {
max-width:100%;max-height:calc(90vh - 3.5rem);object-fit:contain
}
.s2-stage .chip-preview {
position:fixed;z-index:9999;padding:.25rem;background:#14141cf2;border:1px solid var(--w-12);border-radius:.5rem;box-shadow:0 8px 32px var(--b-50);pointer-events:none
}
.s2-stage .chip-preview img {
display:block;width:14rem;height:7.875rem;object-fit:cover;border-radius:.375rem
}
.s2-stage .error-tooltip {
position:fixed;z-index:99999;transform:translate(-50%,-100%);max-width:320px;padding:.4rem .65rem;border-radius:.375rem;background:#1e1e1ef2;color:#f87171;font-size:.75rem;line-height:1.4;word-break:break-all;pointer-events:none;box-shadow:0 2px 8px #00000059;white-space:pre-wrap
}
.s2-stage {
background:#fff;border:1.5px solid rgba(0,0,0,.1);box-shadow:0 1px 4px #0000000d
}
.s2-stage {
border-color:#0003;box-shadow:0 4px 16px #0000001a
}
.s2-stage {
border-color:#0000001f
}
.s2-stage {
border-color:#6366f159;background:#6366f105
}
.s2-stage {
color:#a0aab9
}
.s2-stage {
color:#6366f1
}
.s2-stage {
border-bottom:1px solid rgba(0,0,0,.06)
}
.s2-stage {
opacity:1
}
.s2-stage {
background:#be286e0f;color:#be286e
}
.s2-stage {
background:#15803d0f;color:#15803d
}
.s2-stage {
background:#6d3ed80f;color:#6d3ed8
}
.s2-stage {
background:#a162070f;color:#a16207
}
.s2-stage {
background:#b91c1c0f;color:#b91c1c
}
.s2-stage {
background:#0e74900f;color:#0e7490
}
.s2-stage {
background:#c278030f;color:#c27803
}
.s2-stage {
background:#1665340f;color:#166534
}
.s2-stage {
background:#6d28d90f;color:#6d28d9
}
.s2-stage {
background:#4755690f;color:#475569
}
.s2-stage {
background:#ffffffe0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(0,0,0,.08)
}
.s2-stage {
color:#be286e
}
.s2-stage {
color:#15803d
}
.s2-stage {
color:#6d3ed8
}
.s2-stage {
color:#a16207
}
.s2-stage {
color:#b91c1c
}
.s2-stage {
color:#0e7490
}
.s2-stage {
color:#c27803
}
.s2-stage {
color:#166534
}
.s2-stage {
color:#6d28d9
}
.s2-stage {
color:#475569
}
.s2-stage {
background:#00000040
}
.s2-stage {
background:#ffffffe6;color:#505a6e;box-shadow:0 1px 4px #0000001a
}
.s2-stage {
background:#6366f1e6;color:#fff
}
.s2-stage {
background:#dc2626e6;color:#fff
}
.s2-stage {
background:#ea580ce6;color:#fff
}
.s2-stage {
background:transparent
}
.s2-stage {
color:#191e32
}
.s2-stage {
color:#374155
}
.s2-stage {
background:linear-gradient(135deg,#ea580c14,#ea580c0a);border-color:#ea580c40;color:#c2410c
}
.s2-stage {
background:linear-gradient(135deg,#ea580c26,#ea580c14);border-color:#ea580c73
}
.s2-stage {
background:#ffffffe6;color:#505a6e;box-shadow:0 1px 4px #0000001a
}
.s2-stage {
background:#6366f1e6;color:#fff
}
.s2-stage {
background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 4px #0000000a
}
.s2-stage {
background:linear-gradient(90deg,#15803d99,#15803d1a)
}
.s2-stage {
color:#283246
}
.s2-stage {
color:#15803d
}
.s2-stage {
background:#15803d14;color:#15803d
}
.s2-stage {
background:#4f46e514;color:#4f46e5
}
.s2-stage {
background:#f8f9fc;border-color:#00000014
}
.s2-stage {
opacity:.7
}
.s2-stage {
color:#be286e
}
.s2-stage {
color:#15803d
}
.s2-stage {
color:#6d3ed8
}
.s2-stage {
color:#a16207
}
.s2-stage {
color:#b91c1c
}
.s2-stage {
color:#0e7490
}
.s2-stage {
color:#283246
}
.s2-stage {
color:#a0aab9
}
.s2-stage {
background:#dc26261a;color:#dc2626
}
.s2-stage {
background:#f8f9fc;border-color:#0000001f;color:#788296
}
.s2-stage {
border-color:#6366f159;color:#4f46e5;background:#6366f10a
}
.s2-stage {
background:linear-gradient(135deg,#2563eb14,#4f46e50f);border-color:#2563eb40;color:#2563eb
}
.s2-stage {
background:linear-gradient(135deg,#2563eb26,#4f46e51a);border-color:#2563eb73
}
.s2-stage {
background:#4f46e50a
}
.s2-stage {
background:#ea580c0a
}
.s2-stage {
background:#dc26260a
}
.s2-stage {
color:#4f46e5
}
.s2-stage {
color:#c2410c
}
.s2-stage,
.s2-stage {
color:#b91c1c
}
.s2-stage {
background:#4f46e50f;border-color:#4f46e533;color:#4f46e5
}
.s2-stage {
background:#4f46e51f;border-color:#4f46e566
}
.s2-stage {
background:#0000004d
}
.s2-stage {
background:#fff;border-color:#00000014;box-shadow:0 20px 60px #00000026
}
.s2-stage {
border-bottom-color:#0000000f
}
.s2-stage {
color:#191e32
}
.s2-stage {
color:#828c9b
}
.s2-stage {
color:#323746;background:#0000000a
}
.s2-stage {
color:#646e82
}
.s2-stage {
background:#f8f9fc;border-color:#0000001a;color:#191e32
}
.s2-stage {
background:#f8f9fc;border-color:#0000001a;color:#283246
}
.s2-stage {
border-top-color:#0000000f
}
.s2-stage {
border-color:#0000001a;color:#505a6e
}
.s2-stage {
border-color:#0003;color:#1e2332
}
.s2-stage {
background:#4f46e514;border-color:#4f46e54d;color:#4f46e5
}
.s2-stage {
background:#4f46e526;border-color:#4f46e580
}
.s2-stage {
background:#00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)
}
.s2-stage {
background:#fff;box-shadow:0 1px #0000000f
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#646e82
}
.s2-stage {
background:#dc26260f;color:#dc2626
}
.s2-stage {
background:#fff;border-color:#00000014;box-shadow:0 8px 32px #0000001f
}
.s2-stage {
background:#fff;color:#b91c1c;box-shadow:0 2px 12px #0000001a;border:1px solid rgba(0,0,0,.08)
}
.s2-stage .fenjing-node {
width:100%
}
.s2-stage .jieDian-header {
margin-bottom:.75rem;margin-top:.75rem
}
.s2-stage .jieDian-name {
font-size:1rem;font-weight:600;color:var(--w-100)
}
.s2-stage .jieDian-sub {
display:block;font-size:.8125rem;color:var(--w-45);line-height:1.5;margin-top:.5rem
}
.s2-stage .stats-bar {
display:flex;flex-direction:column;gap:.75rem;padding:.875rem 1rem;margin-top:1rem;margin-bottom:2rem;border-radius:.5rem;background:linear-gradient(135deg,#8b5cf614,#3b82f60f);border:1px solid rgba(139,92,246,.12)
}
.s2-stage .stats-top-row {
display:flex;align-items:center;gap:.75rem;flex-wrap:wrap
}
.s2-stage .stat-item {
display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600;color:var(--w-70)
}
.s2-stage .stat-item svg {
color:#8b5cf6b3
}
.s2-stage .stat-analyzing {
color:#fbbf24b3
}
.s2-stage .stat-failed {
color:#ef4444b3
}
.s2-stage .stat-failed svg {
color:#ef4444b3
}
.s2-stage .stat-divider {
width:1px;height:1rem;background:var(--w-10)
}
.s2-stage .stat-tags {
display:flex;gap:.5rem;flex-wrap:wrap
}
.s2-stage .mini-spinner {
width:.75rem;height:.75rem;border:2px solid rgba(251,191,36,.2);border-top-color:#fbbf24cc;border-radius:50%;animation:spin-c8645aa7 .8s linear infinite
}
.s2-stage .jingbie-tag,
.s2-stage .shot-jingbie,
.s2-stage .done-jb-tag {
font-size:.8125rem;padding:.25rem .625rem;border-radius:.3125rem;font-weight:600;background:var(--w-5);color:var(--w-50);border:1px solid var(--w-6);white-space:nowrap
}
.s2-stage .jb-yuanjing {
background:#3b82f61f;color:#60a5faf2;border-color:#3b82f633
}
.s2-stage .jb-quanjing {
background:#10b9811f;color:#34d399f2;border-color:#10b98133
}
.s2-stage .jb-zhongjing {
background:#f59e0b1f;color:#fbbf24f2;border-color:#f59e0b33
}
.s2-stage .jb-jinjing {
background:#ec48991f;color:#f472b6f2;border-color:#ec489933
}
.s2-stage .jb-texie {
background:#ef44441f;color:#f87171f2;border-color:#ef444433
}
.s2-stage .fenjing-list {
display:flex;flex-direction:column;gap:3rem
}
.s2-stage .shot-card {
border-radius:.75rem;background:#ffffff09;border:1px solid rgba(255,255,255,.09);overflow:hidden;transition:border-color .25s,box-shadow .25s
}
.s2-stage .shot-card:hover {
border-color:#8b5cf640;box-shadow:0 2px 16px #8b5cf614
}
.s2-stage .shot-head {
display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(135deg,var(--w-4),rgba(139,92,246,.03));border-bottom:1px solid var(--w-6)
}
.s2-stage .shot-head-right {
display:flex;align-items:center;gap:.5rem;flex-shrink:0
}
.s2-stage .shot-head-left {
display:flex;align-items:center;gap:.5rem;min-width:0;flex:1
}
.s2-stage .shot-num {
font-size:1rem;font-weight:700;color:#8b5cf6d9;font-variant-numeric:tabular-nums;flex-shrink:0
}
.s2-stage .shot-title {
font-size:1rem;font-weight:600;color:var(--w-90);white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.s2-stage .shot-duration {
font-size:.8125rem;font-weight:700;color:#8b5cf6bf;background:#8b5cf614;padding:.25rem .625rem;border-radius:1rem;border:1px solid rgba(139,92,246,.12);white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:.25rem
}
.s2-stage .shot-duration-loading {
padding:.25rem .75rem;gap:.375rem
}
.s2-stage .duration-spinner {
width:.75rem;height:.75rem;border:2px solid rgba(139,92,246,.2);border-top-color:#8b5cf6cc;border-radius:50%;animation:spin-c8645aa7 .8s linear infinite;flex-shrink:0
}
.s2-stage .duration-loading-text {
font-size:.6875rem;font-weight:500;color:#8b5cf699
}
.s2-stage .shot-retry-btn {
display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:1rem;border:1px solid rgba(239,68,68,.25);background:#ef444414;color:#f87171e6;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;flex-shrink:0
}
.s2-stage .shot-retry-btn:hover:not(:disabled) {
background:#ef444426;border-color:#ef444466
}
.s2-stage .shot-retry-btn:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .shot-retry-btn .duration-spinner {
border-color:#ef444433;border-top-color:#f87171cc;width:.625rem;height:.625rem
}
.s2-stage .shot-body {
padding:.25rem 0
}
.s2-stage .shot-row {
display:flex;gap:.75rem;padding:.625rem 1rem
}
.s2-stage .shot-row+.shot-row {
border-top:1px dashed var(--w-6)
}
.s2-stage .row-icon {
flex-shrink:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;margin-top:.125rem
}
.s2-stage .row-icon-visual {
background:#3b82f614;color:#60a5fab3
}
.s2-stage .row-icon-dialogue {
background:#fbbf2414;color:#fbbf24b3
}
.s2-stage .row-content {
flex:1;min-width:0
}
.s2-stage .row-label {
font-size:.75rem;font-weight:600;color:var(--w-35);margin-bottom:.25rem;letter-spacing:.5px
}
.s2-stage .row-text {
font-size:.9375rem;line-height:1.75;color:#ffffffa6
}
.s2-stage .row-text-accent {
font-size:.8125rem;color:#a78bfa99
}
.s2-stage .dialogue-block {
display:flex;flex-direction:column;gap:.375rem
}
.s2-stage .dialogue-line {
display:flex;gap:.375rem;font-size:.9375rem;line-height:1.6;padding:.3125rem .625rem;background:#fbbf2408;border-radius:.375rem;border-left:2.5px solid rgba(251,191,36,.2)
}
.s2-stage .dialogue-speaker {
font-weight:600;color:#fbbf24bf;white-space:nowrap;flex-shrink:0
}
.s2-stage .dialogue-speaker:after {
content:"："
}
.s2-stage .dialogue-text {
color:#ffffff8c
}
.s2-stage .action-area {
display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.75rem
}
.s2-stage .batch-retry-btn {
display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:.625rem;color:#f87171e6;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit
}
.s2-stage .batch-retry-btn:hover {
background:#ef444426;border-color:#ef444466;transform:translateY(-1px)
}
.s2-stage .hecheng-wrapper {
display:flex;flex-direction:column;align-items:flex-end;gap:.5rem
}
.s2-stage .hecheng-btn-row {
display:flex;align-items:center;gap:.75rem
}
.s2-stage .hecheng-hint {
display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#fbbf248c
}
.s2-stage .hecheng-hint-error {
color:#f8717199
}
.s2-stage .hecheng-progress {
display:flex;align-items:center;gap:1rem;flex-wrap:wrap
}
.s2-stage .progress-item {
display:flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:500
}
.s2-stage .progress-merge {
color:#fbbf2499
}
.s2-stage .progress-merge .mini-spinner {
width:.625rem;height:.625rem;border-width:1.5px
}
.s2-stage .progress-split {
color:#8b5cf699
}
.s2-stage .progress-split .mini-spinner {
width:.625rem;height:.625rem;border-width:1.5px;border-color:#8b5cf633;border-top-color:#8b5cf6cc
}
.s2-stage .progress-done {
color:#22c55e8c
}
.s2-stage .hecheng-btn {
display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,#f59e0b2e,#fbbf2424);border:1px solid rgba(245,158,11,.4);border-radius:.625rem;color:#fbbf24f2;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit
}
.s2-stage .hecheng-btn:hover:not(:disabled) {
background:linear-gradient(135deg,#f59e0b47,#fbbf2438);border-color:#f59e0b99;transform:translateY(-1px);box-shadow:0 4px 20px #f59e0b33
}
.s2-stage .hecheng-btn:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .hecheng-btn.hecheng-running {
background:linear-gradient(135deg,#f59e0b1f,#fbbf2414);border-color:#f59e0b40;color:#fbbf24b3;opacity:1
}
.s2-stage .hecheng-spinner {
border-color:#f59e0b4d!important;border-top-color:#fbbf24e6!important
}
.s2-stage .confirm-btn {
display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,#3b82f62e,#6366f124);border:1px solid rgba(59,130,246,.35);border-radius:.625rem;color:#60a5faf2;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit
}
.s2-stage .confirm-btn:hover:not(:disabled) {
background:linear-gradient(135deg,#3b82f647,#6366f138);border-color:#3b82f68c;transform:translateY(-1px);box-shadow:0 4px 20px #3b82f633
}
.s2-stage .confirm-btn:disabled {
opacity:.35;cursor:not-allowed
}
.s2-stage .btn-spinner {
width:.875rem;height:.875rem;border:2px solid rgba(59,130,246,.3);border-top-color:#60a5fae6;border-radius:50%;animation:spin-c8645aa7 .8s linear infinite
}
.s2-stage .done-card {
position:relative;background:linear-gradient(135deg,#8b5cf60a,#3b82f608);border:1px solid rgba(139,92,246,.12);border-radius:.75rem;overflow:hidden;margin-top:.375rem
}
.s2-stage .done-accent {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#8b5cf6b3,#3b82f680,#10b9814d)
}
.s2-stage .done-card-inner {
padding:1rem 1.25rem
}
.s2-stage .done-header {
display:flex;align-items:center;gap:.5rem;margin-bottom:1rem
}
.s2-stage .done-icon-wrap {
width:1.625rem;height:1.625rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#10b9811f;color:#34d399e6;flex-shrink:0
}
.s2-stage .done-title {
font-size:.875rem;font-weight:600;color:var(--w-85)
}
.s2-stage .done-stats {
display:flex;align-items:stretch;gap:1.25rem;padding:.875rem 1.25rem;background:var(--b-20);border-radius:.625rem;border:1px solid rgba(139,92,246,.08)
}
.s2-stage .done-stat-block {
display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:3.5rem
}
.s2-stage .done-stat-block.jb-block {
flex:1;align-items:flex-start
}
.s2-stage .done-stat-value {
font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums;line-height:1.2
}
.s2-stage .done-stat-value small {
font-size:.75rem;font-weight:500;-webkit-text-fill-color:rgba(167,139,250,.5);margin-left:1px
}
.s2-stage .done-stat-label {
font-size:.6875rem;font-weight:500;color:var(--w-35);white-space:nowrap
}
.s2-stage .done-stat-divider {
width:1px;align-self:stretch;background:linear-gradient(180deg,transparent,rgba(139,92,246,.15),transparent)
}
.s2-stage .done-jb-tags {
display:flex;gap:.375rem;flex-wrap:wrap
}
.s2-stage .done-jb-tag {
white-space:nowrap
}
.s2-stage .manual-hint {
display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:2rem;font-size:.8125rem;color:#a78bfa99;background:#8b5cf60a;border:1px dashed rgba(139,92,246,.15);border-radius:.5rem
}
.s2-stage .manual-hint svg {
color:#8b5cf680;flex-shrink:0
}
.s2-stage .split-btn {
display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:1rem;border:1px solid rgba(6,182,212,.25);background:#06b6d414;color:#67e8f9d9;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;white-space:nowrap
}
.s2-stage .split-btn:hover {
background:#06b6d42e;border-color:#06b6d473;color:#67e8f9
}
.s2-stage .shot-del-btn {
display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:1rem;border:1px solid rgba(239,68,68,.25);background:#ef444414;color:#fca5a5d9;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;white-space:nowrap
}
.s2-stage .shot-del-btn:hover,
.s2-stage .shot-del-btn.confirming {
background:#ef44442e;border-color:#ef444480;color:#fca5a5
}
.s2-stage .shot-del-btn:disabled {
opacity:.6;cursor:not-allowed
}
.s2-stage .merge-connector {
display:flex;align-items:center;gap:0;margin:-.5rem 0;cursor:pointer;opacity:.5;transition:opacity .2s
}
.s2-stage .merge-connector:hover {
opacity:1
}
.s2-stage .merge-connector-line {
flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(245,158,11,.35),rgba(245,158,11,.35))
}
.s2-stage .merge-connector-line:last-child {
background:linear-gradient(90deg,rgba(245,158,11,.35),rgba(245,158,11,.35),transparent)
}
.s2-stage .merge-connector-btn {
display:flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:1rem;border:1px solid rgba(245,158,11,.25);background:#f59e0b0f;color:#fbbf24bf;font-size:.6875rem;font-weight:600;white-space:nowrap;transition:all .2s
}
.s2-stage .merge-connector:hover .merge-connector-btn {
background:#f59e0b26;border-color:#f59e0b80;color:#fbbf24
}
.s2-stage .merge-connector:hover .merge-connector-line {
background:linear-gradient(90deg,transparent,rgba(245,158,11,.6),rgba(245,158,11,.6))
}
.s2-stage .merge-connector:hover .merge-connector-line:last-child {
background:linear-gradient(90deg,rgba(245,158,11,.6),rgba(245,158,11,.6),transparent)
}
.s2-stage .overlay-wrapper {
position:relative;display:flex;flex-direction:column;border-radius:.75rem;overflow:hidden
}
.s2-stage .merge-wrapper {
gap:2px;border:1px solid rgba(245,158,11,.2)
}
.s2-stage .merge-wrapper .shot-card {
border-radius:0;border:none
}
.s2-stage .merge-wrapper .shot-card:first-child {
border-radius:.75rem .75rem 0 0
}
.s2-stage .merge-wrapper .shot-card:last-child {
border-radius:0 0 .75rem .75rem
}
.s2-stage .split-wrapper {
border:1px solid rgba(139,92,246,.2)
}
.s2-stage .split-wrapper .shot-card {
border:none
}
.s2-stage .shot-overlay {
position:absolute;inset:0;background:#0a0a12b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.875rem;z-index:10;border-radius:inherit
}
.s2-stage .overlay-spinner {
width:2rem;height:2rem;border:3px solid var(--w-8);border-radius:50%;animation:spin-c8645aa7 .9s linear infinite
}
.s2-stage .overlay-spinner-merge {
border-top-color:#fbbf24d9
}
.s2-stage .overlay-spinner-split {
border-top-color:#a78bfad9
}
.s2-stage .overlay-spinner-replan {
border-top-color:#34d399d9
}
.s2-stage .replan-wrapper {
border-color:#34d39959!important
}
.s2-stage .overlay-text {
font-size:.875rem;font-weight:600;color:#ffffffbf;letter-spacing:1px
}
.s2-stage .shot-footer {
padding:.5rem 1rem .75rem;display:flex;justify-content:flex-end
}
.s2-stage .replan-btn {
display:inline-flex;align-items:center;gap:.375rem;padding:.3rem .75rem;border-radius:6px;border:1px solid rgba(52,211,153,.3);background:#34d39914;color:#34d399d9;font-size:.8125rem;cursor:pointer;transition:all .2s;white-space:nowrap
}
.s2-stage .replan-btn:hover {
background:#34d3992e;border-color:#34d39980;color:#34d399
}
.s2-stage .replan-input-area {
padding:0 1rem .875rem;display:flex;flex-direction:column;gap:.5rem
}
.s2-stage .replan-textarea {
width:100%;min-height:4.5rem;padding:.625rem .75rem;border-radius:8px;border:1px solid rgba(52,211,153,.25);background:#34d3990a;color:#ffffffe0;font-size:.875rem;line-height:1.5;resize:vertical;outline:none;transition:border-color .2s;font-family:inherit
}
.s2-stage .replan-textarea:focus {
border-color:#34d39980
}
.s2-stage .replan-textarea::placeholder {
color:var(--w-30)
}
.s2-stage .replan-actions {
display:flex;justify-content:flex-end;gap:.5rem
}
.s2-stage .replan-cancel {
padding:.3rem .75rem;border-radius:6px;border:1px solid var(--w-12);background:transparent;color:var(--w-50);font-size:.8125rem;cursor:pointer;transition:all .2s
}
.s2-stage .replan-cancel:hover {
border-color:var(--w-25);color:var(--w-70)
}
.s2-stage .replan-submit {
display:inline-flex;align-items:center;gap:.375rem;padding:.3rem .875rem;border-radius:6px;border:1px solid rgba(52,211,153,.4);background:#34d39926;color:#34d399f2;font-size:.8125rem;cursor:pointer;transition:all .2s;white-space:nowrap
}
.s2-stage .replan-submit:hover:not(:disabled) {
background:#34d39940;border-color:#34d39999
}
.s2-stage .replan-submit:disabled {
opacity:.4;cursor:not-allowed
}
@keyframes spin-c8645aa7{to{transform:rotate(360deg)}}
.s2-stage .shot-error {
display:flex;align-items:flex-start;gap:.375rem;margin:0 1rem .75rem;padding:.4rem .625rem;border-radius:.375rem;border:1px solid rgba(239,68,68,.2);background:#ef444412;color:#f87171f2;font-size:.75rem;line-height:1.5;word-break:break-word
}
.s2-stage .shot-error svg {
flex-shrink:0;margin-top:.15rem
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#4b5569
}
.s2-stage {
background:linear-gradient(135deg,#8b5cf60f,#3b82f60a);border-color:#8b5cf626
}
.s2-stage {
color:#373250
}
.s2-stage {
color:#7850dc
}
.s2-stage {
color:#b4820a
}
.s2-stage {
color:#c83232
}
.s2-stage {
color:#c83232
}
.s2-stage {
background:#0000001a
}
.s2-stage,
.s2-stage,
.s2-stage {
background:#0000000a;color:#505564;border-color:#00000014
}
.s2-stage {
background:#3b82f61a;color:#2563cd;border-color:#3b82f633
}
.s2-stage {
background:#10b9811a;color:#058c5f;border-color:#10b98133
}
.s2-stage {
background:#f59e0b1a;color:#b46e00;border-color:#f59e0b33
}
.s2-stage {
background:#ec48991a;color:#be3278;border-color:#ec489933
}
.s2-stage {
background:#ef44441a;color:#be2828;border-color:#ef444433
}
.s2-stage {
color:#5a46a0
}
.s2-stage {
color:#7850dc
}
.s2-stage {
background:#fffffffa;border:1px solid rgba(139,92,246,.18);box-shadow:0 1px 4px #0000000a
}
.s2-stage {
border-color:#8b5cf659;box-shadow:0 4px 16px #8b5cf61a
}
.s2-stage {
background:linear-gradient(135deg,#8b5cf60f,#3b82f60a);border-bottom-color:#8b5cf61a
}
.s2-stage {
color:#6e3cdc
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#643cc8;background:#8b5cf614;border-color:#8b5cf626
}
.s2-stage {
color:#7850c8
}
.s2-stage {
background:#3b82f614;color:#326edc
}
.s2-stage {
background:#f59e0b14;color:#b4820a
}
.s2-stage {
color:#50556e
}
.s2-stage {
color:#19192d
}
.s2-stage {
color:#6e46c8
}
.s2-stage {
background:#fbbf240f;border-left-color:#b4820a80
}
.s2-stage {
color:#a07300
}
.s2-stage {
color:#2d2d41
}
.s2-stage {
background:linear-gradient(135deg,#3b82f61a,#6366f114);border-color:#3b82f64d;color:#2563cd
}
.s2-stage {
background:linear-gradient(135deg,#3b82f62e,#6366f124);border-color:#3b82f680;box-shadow:0 4px 20px #3b82f626
}
.s2-stage {
background:linear-gradient(135deg,#f59e0b1a,#fbbf2414);border-color:#f59e0b59;color:#a06400
}
.s2-stage {
background:linear-gradient(135deg,#f59e0b2e,#fbbf2424);border-color:#f59e0b80;box-shadow:0 4px 20px #f59e0b1f
}
.s2-stage {
color:#a0780a
}
.s2-stage {
color:#c83c3c
}
.s2-stage {
color:#aa7800
}
.s2-stage {
color:#643cc8
}
.s2-stage {
color:#149646
}
.s2-stage {
background:#ef44440f;border-color:#ef444433;color:#c83232
}
.s2-stage {
background:#ef44441f;border-color:#ef444459
}
.s2-stage {
background:#ef44440f;border-color:#ef444433;color:#c83232
}
.s2-stage {
background:#ef44441f;border-color:#ef444459
}
.s2-stage {
background:#ef44440d;border-color:#ef44442e;color:#be2d2d
}
.s2-stage {
background:linear-gradient(135deg,#8b5cf608,#3b82f605);border-color:#8b5cf61f
}
.s2-stage {
color:#1e2332
}
.s2-stage {
background:#8b5cf608;border-color:#8b5cf614
}
.s2-stage {
color:#414b64
}
.s2-stage {
color:var(--text-primary)
}
.s2-stage {
color:var(--text-primary);background:var(--bg-hover-solid);border-color:#34d3994d
}
.s2-stage {
background:#ffffffd9;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)
}
.s2-stage {
background:var(--bg-card-2);border-color:var(--w-12);box-shadow:0 20px 60px #0000001f
}
.s2-stage,
.s2-stage,
.s2-stage {
color:var(--text-secondary)
}
.s2-stage {
color:var(--text-primary);border-color:var(--w-25)
}
.s2-stage {
color:var(--text-primary)
}
.s2-stage .video-card {
width:100%;box-sizing:border-box;border-radius:.625rem;background:#ffffff09;border:1px solid rgba(255,255,255,.09);overflow:hidden;transition:border-color .2s;container-type:inline-size;container-name:shipinka
}
.s2-stage .video-card:hover {
border-color:var(--w-15)
}
.s2-stage .video-card-head {
display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--w-3),rgba(255,255,255,.01));border-bottom:1px solid var(--w-6)
}
.s2-stage .video-num {
font-size:1rem;font-weight:700;color:#8b5cf6d9
}
.s2-stage .video-title {
font-size:1rem;font-weight:600;color:var(--w-85);flex:1
}
.s2-stage .video-duration {
font-size:.8125rem;font-weight:600;padding:.25rem .625rem;border-radius:.3125rem;background:#3b82f61a;color:#60a5fae6;border:1px solid rgba(59,130,246,.15);-webkit-user-select:none;user-select:none
}
.s2-stage .video-duration-clickable {
cursor:pointer;transition:all .15s
}
.s2-stage .video-duration-clickable:hover {
background:#3b82f633;border-color:#3b82f659;color:#60a5fa
}
.s2-stage .video-jingbie {
font-size:.8125rem;padding:.25rem .625rem;border-radius:.3125rem;font-weight:600;background:var(--w-5);color:var(--w-50);border:1px solid var(--w-6);white-space:nowrap
}
.s2-stage .jb-yuanjing {
background:#3b82f61f;color:#60a5faf2;border-color:#3b82f633
}
.s2-stage .jb-quanjing {
background:#10b9811f;color:#34d399f2;border-color:#10b98133
}
.s2-stage .jb-zhongjing {
background:#f59e0b1f;color:#fbbf24f2;border-color:#f59e0b33
}
.s2-stage .jb-jinjing {
background:#ec48991f;color:#f472b6f2;border-color:#ec489933
}
.s2-stage .jb-texie {
background:#ef44441f;color:#f87171f2;border-color:#ef444433
}
.s2-stage .video-card-body {
display:flex;gap:1.25rem;padding:1rem
}
.s2-stage .video-prompt--generating {
position:relative
}
.s2-stage .tishici-generating-overlay {
position:absolute;inset:0;z-index:2;background:#0a0a12a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;border-radius:.375rem;color:#a78bfaf2;font-size:.875rem;font-weight:500
}
.s2-stage .tishici-spinner {
width:1.5rem;height:1.5rem;border:2.5px solid rgba(139,92,246,.2);border-top-color:#a78bfae6;border-radius:50%;animation:spin-5a669976 .8s linear infinite
}
.s2-stage .tishici-retry-btn {
padding:.25rem .75rem;border-radius:.375rem;border:1px solid rgba(230,162,60,.3);background:#e6a23c1a;color:#e6a23cf2;font-size:.75rem;font-family:inherit;cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .tishici-retry-btn:hover {
background:#e6a23c33;border-color:#e6a23c80
}
.s2-stage .video-prompt--failed {
position:relative
}
.s2-stage .tishici-failed-info {
display:flex;align-items:center;gap:.375rem;color:#f87171e6;font-size:.875rem;font-weight:600
}
.s2-stage .tishici-fail-reason {
font-size:.75rem;line-height:1.4;color:#f871718c;word-break:break-all;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.s2-stage .tishici-fail-retry {
display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .625rem;border-radius:.375rem;border:1px solid rgba(239,68,68,.25);background:#ef444414;color:#f87171e6;font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none;align-self:flex-start
}
.s2-stage .tishici-fail-retry:hover:not(:disabled) {
background:#ef444429;border-color:#ef444466
}
.s2-stage .tishici-fail-retry:disabled {
opacity:.4;cursor:not-allowed
}
.s2-stage .merged-prompt-header {
display:flex;align-items:center;justify-content:space-between
}
.s2-stage .prompt-edit-btn {
display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:.375rem;background:#8b5cf614;border:1px solid rgba(139,92,246,.2);color:#a78bfad9;font-size:.6875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none;flex:0 1 auto;max-width:100%
}
.s2-stage .prompt-edit-btn:hover:not(:disabled) {
background:#8b5cf62e;border-color:#8b5cf666;color:#a78bfa
}
.s2-stage .prompt-edit-btn:disabled {
opacity:.35;cursor:not-allowed
}
.s2-stage .prompt-edit-btns {
display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.375rem;min-width:0
}
.s2-stage .prompt-edit-btn--manual {
background:#3b82f614;border-color:#3b82f633;color:#60a5fad9
}
.s2-stage .prompt-edit-btn--manual:hover:not(:disabled) {
background:#3b82f62e;border-color:#3b82f666;color:#60a5fa
}
.s2-stage .prompt-edit-btn--weigui {
background:#eab30814;border-color:#eab30833;color:#facc15d9
}
.s2-stage .prompt-edit-btn--weigui:hover:not(:disabled) {
background:#eab3082e;border-color:#eab30866;color:#facc15
}
.s2-stage .shoudong-modal-mask {
position:fixed;inset:0;z-index:10000;background:#0000008c;display:flex;align-items:center;justify-content:center;animation:fullimg-fadein .15s ease
}
.s2-stage .shoudong-modal {
width:780px;max-width:92vw;max-height:88vh;background:var(--bg-card-2-a);border:1px solid var(--w-10);border-radius:.75rem;box-shadow:0 12px 48px #0000008c;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem
}
.s2-stage .shoudong-modal-header {
display:flex;align-items:center;justify-content:space-between;font-size:.9375rem;font-weight:700;color:#ffffffe0
}
.s2-stage .shoudong-modal-close {
display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;background:none;border:1px solid var(--w-8);color:var(--w-45);cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .shoudong-modal-close:hover {
background:var(--w-8);color:#ffffffbf
}
.s2-stage .shoudong-textarea {
width:100%;box-sizing:border-box;background:var(--w-4);border:1px solid var(--w-8);border-radius:.5rem;color:#ffffffe0;font-size:.875rem;line-height:1.7;font-family:inherit;padding:.75rem;resize:vertical;outline:none;scrollbar-width:thin;scrollbar-color:var(--w-15) transparent
}
.s2-stage .shoudong-textarea:focus {
border-color:#3b82f673
}
.s2-stage .shoudong-textarea::placeholder {
color:#ffffff47
}
.s2-stage .shoudong-modal-actions {
display:flex;justify-content:flex-end;gap:.5rem
}
.s2-stage .merged-prompt-text {
font-size:.9375rem;line-height:1.7;color:#ffffffbf;white-space:pre-wrap;word-break:break-word;cursor:pointer;transition:max-height .3s ease
}
.s2-stage .merged-prompt-text.is-collapsed {
max-height:8rem;overflow:hidden;mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%)
}
.s2-stage .prompt-expand-btn {
align-self:flex-start;padding:.125rem .5rem;border-radius:.25rem;background:none;border:1px solid var(--w-8);color:var(--w-40);font-size:.6875rem;font-family:inherit;cursor:pointer;transition:all .15s
}
.s2-stage .prompt-expand-btn:hover {
border-color:var(--w-20);color:var(--w-70)
}
.s2-stage .video-prompt {
flex:2;min-width:0;display:flex;flex-direction:column;gap:.75rem
}
.s2-stage .prompt-section {
display:flex;flex-direction:column;gap:.375rem
}
.s2-stage .prompt-label {
display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:var(--w-40);text-transform:uppercase;letter-spacing:.5px
}
.s2-stage .prompt-label svg {
opacity:.6
}
.s2-stage .prompt-text {
font-size:.9375rem;line-height:1.6;color:#ffffffbf
}
.s2-stage .prompt-edit-btn--source {
background:#10b98114;border-color:#10b98133;color:#34d399d9
}
.s2-stage .prompt-edit-btn--source:hover:not(:disabled) {
background:#10b9812e;border-color:#10b98166;color:#34d399
}
.s2-stage .huamian-save-spinner {
width:.875rem;height:.875rem;border:2px solid rgba(139,92,246,.2);border-top-color:#a78bfacc;border-radius:50%;animation:spin-5a669976 .7s linear infinite
}
.s2-stage .dialogue-block {
display:flex;flex-direction:column;gap:.25rem
}
.s2-stage .dialogue-line {
font-size:.9375rem;line-height:1.5
}
.s2-stage .dialogue-speaker {
font-weight:600;color:#f59e0bd9;margin-right:.375rem
}
.s2-stage .dialogue-speaker:after {
content:"："
}
.s2-stage .dialogue-text {
color:var(--w-70)
}
.s2-stage .video-assets,
.s2-stage .video-fenjingtu {
flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem
}
.s2-stage .video-fenjingtu .assets-label {
flex-wrap:wrap
}
.s2-stage .video-outputs {
flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem
}
.s2-stage .video-outputs-grid {
display:grid;grid-template-columns:1fr 1fr;gap:.375rem
}
.s2-stage .vo-item,
.s2-stage .vo-add {
aspect-ratio:4 / 3;border-radius:.375rem;overflow:hidden
}
.s2-stage .vo-generating {
width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:#3b82f60f;border:1px solid rgba(59,130,246,.18);border-radius:.375rem;color:#60a5fad9;font-size:.625rem;font-weight:500
}
.s2-stage .vo-spinner {
width:.875rem;height:.875rem;border:2px solid rgba(59,130,246,.2);border-top-color:#60a5fad9;border-radius:50%;animation:spin-5a669976 .8s linear infinite
}
.s2-stage .vo-failed {
width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.25rem;background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:.375rem;color:#f87171cc;font-size:.625rem;font-weight:500
}
.s2-stage .vo-timeout {
width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.25rem;background:#3b82f60a;border:1px solid rgba(59,130,246,.15);border-radius:.375rem;color:#94a3b8d9;font-size:.625rem;font-weight:500
}
.s2-stage .vo-timeout-reason {
font-size:.5625rem;line-height:1.3;color:#94a3b88c;text-align:center;max-width:95%
}
.s2-stage .vo-lost {
width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.25rem;background:#a1a1aa0f;border:1px solid rgba(161,161,170,.18);border-radius:.375rem;color:#a1a1aad9;font-size:.625rem;font-weight:500
}
.s2-stage .vo-lost-hint {
font-size:.5625rem;line-height:1.3;color:#a1a1aa8c;text-align:center;max-width:95%
}
.s2-stage .vo-fail-reason {
font-size:.5625rem;line-height:1.3;color:#f8717180;text-align:center;word-break:break-all;max-width:95%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.s2-stage .vo-done {
width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#0f0f1699;border:1px solid var(--w-10);border-radius:.375rem;color:var(--w-45);cursor:pointer;transition:all .15s
}
.s2-stage .vo-done:hover {
border-color:#8b5cf659;color:#a78bfad9;background:#8b5cf60f
}
.s2-stage .vo-retry-btn,
.s2-stage .vo-delete-btn {
padding:.125rem .375rem;border-radius:.25rem;font-size:.5625rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .vo-retry-btn {
border:1px solid rgba(248,113,113,.25);background:#f8717114;color:#f87171e6
}
.s2-stage .vo-retry-btn:hover {
background:#f871712e;border-color:#f8717166
}
.s2-stage .vo-retry-btn--warn {
border-color:#fbbf2440;background:#fbbf2414;color:#fbbf24e6
}
.s2-stage .vo-retry-btn--warn:hover {
background:#fbbf242e;border-color:#fbbf2466
}
.s2-stage .vo-retry-btn:disabled {
opacity:.4;cursor:not-allowed;pointer-events:none
}
.s2-stage .vo-delete-btn {
border:1px solid rgba(161,161,170,.25);background:#a1a1aa14;color:#a1a1aae6
}
.s2-stage .vo-delete-btn:hover {
background:#f8717126;border-color:#f8717159;color:#f87171e6
}
.s2-stage .vo-fail-actions {
display:flex;gap:.25rem;margin-top:.125rem
}
.s2-stage .vo-play-icon {
transition:transform .15s
}
.s2-stage .vo-done:hover .vo-play-icon {
transform:scale(1.15)
}
.s2-stage .vo-cover-img {
position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:.375rem
}
.s2-stage .vo-play-overlay {
position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000059;border-radius:.375rem;color:var(--w-100);opacity:0;transition:opacity .15s
}
.s2-stage .vo-done:hover .vo-play-overlay {
opacity:1
}
.s2-stage .vo-download-btn {
position:absolute;bottom:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;border-radius:.25rem;background:#000000a6;border:1px solid var(--w-15);color:var(--w-70);opacity:0;transition:all .15s;cursor:pointer
}
.s2-stage .vo-done:hover .vo-download-btn {
opacity:1
}
.s2-stage .vo-download-btn:hover {
background:#3b82f64d;border-color:#3b82f680;color:#60a5fa
}
.s2-stage .vo-delete-sm {
position:absolute;top:.2rem;right:.2rem;display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;border-radius:50%;background:#0000008c;border:1px solid var(--w-15);color:var(--w-60);opacity:0;transition:all .15s;cursor:pointer
}
.s2-stage .vo-item:hover .vo-delete-sm {
opacity:1
}
.s2-stage .vo-delete-sm:hover {
background:#f8717159;border-color:#f8717180;color:var(--w-100)
}
.s2-stage .vo-generating,
.s2-stage .vo-done {
position:relative
}
.s2-stage .vo-done-pending {
flex-direction:column;gap:.25rem;color:#60a5fa99
}
.s2-stage .vo-add {
display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;border:1px dashed var(--w-15);background:var(--w-2);color:var(--w-35);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s
}
.s2-stage .vo-add:hover {
border-color:#8b5cf673;color:#a78bfae6;background:#8b5cf60f
}
.s2-stage .vo-add-disabled {
opacity:.3;cursor:not-allowed;pointer-events:none
}
.s2-stage .fenjingtu-wrap {
position:relative;border-radius:.5rem;overflow:hidden;border:1px solid var(--w-8);background:var(--b-20);cursor:pointer
}
.s2-stage .fenjingtu-wrap:hover {
border-color:#ffffff2e
}
.s2-stage .fenjingtu-img {
display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover
}
.s2-stage .fenjingtu-zoom-btn {
position:absolute;bottom:.375rem;right:2.5rem;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;border:1px solid rgba(255,255,255,.18);background:#000000a6;color:#ffffffbf;cursor:pointer;opacity:0;transition:all .15s;outline:none
}
.s2-stage .fenjingtu-wrap:hover .fenjingtu-zoom-btn {
opacity:1
}
.s2-stage .fenjingtu-zoom-btn:hover {
background:#8b5cf64d;border-color:#8b5cf680;color:var(--w-95)
}
.s2-stage .fenjingtu-download-btn {
position:absolute;bottom:.375rem;right:.375rem;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;border:1px solid rgba(255,255,255,.18);background:#000000a6;color:#ffffffbf;cursor:pointer;opacity:0;transition:all .15s;outline:none
}
.s2-stage .fenjingtu-wrap:hover .fenjingtu-download-btn {
opacity:1
}
.s2-stage .fenjingtu-download-btn:hover {
background:#3b82f64d;border-color:#3b82f680;color:var(--w-95)
}
.s2-stage .candidate-badge {
position:absolute;bottom:.375rem;left:.375rem;display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:.3rem;background:#6366f1d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;color:var(--w-100);font-size:.6875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none;min-height:1.375rem;line-height:1;letter-spacing:.3px;z-index:2
}
.s2-stage .candidate-badge:hover {
background:#6366f1;transform:scale(1.04)
}
.s2-stage .fenjingtu-upload-btn {
position:absolute;top:.375rem;right:.375rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.4375rem;border:1px solid rgba(255,255,255,.18);background:#000000a6;color:#ffffffbf;cursor:pointer;opacity:0;transition:all .15s;outline:none
}
.s2-stage .fenjingtu-wrap:hover .fenjingtu-upload-btn {
opacity:1
}
.s2-stage .fenjingtu-upload-btn:hover:not(:disabled) {
background:#22c55e4d;border-color:#22c55e80;color:#4ade80
}
.s2-stage .fenjingtu-upload-btn:disabled {
opacity:.3;cursor:not-allowed
}
.s2-stage .file-input-hidden {
display:none
}
.s2-stage .fenjingtu-uploading {
display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;aspect-ratio:4 / 3;border-radius:.5rem;border:1px dashed rgba(34,197,94,.3);background:#22c55e08;color:#4ade80cc;font-size:.75rem;font-weight:500
}
.s2-stage .fenjingtu-upload-text-btn {
display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;min-height:1.75rem;border-radius:.375rem;border:1px solid rgba(34,197,94,.25);background:#22c55e14;color:#4ade80e6;font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap;font-family:inherit;cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .fenjingtu-upload-text-btn:hover:not(:disabled) {
background:#22c55e29;border-color:#22c55e66
}
.s2-stage .fenjingtu-upload-text-btn:disabled {
opacity:.4;cursor:not-allowed
}
.s2-stage .fenjingtu-action-row {
display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:nowrap;margin-top:.25rem
}
.s2-stage .fenjingtu-action-row .fenjingtu-retry-btn {
display:inline-flex;align-items:center;justify-content:center;min-height:1.75rem;line-height:1;white-space:nowrap
}
.s2-stage .score-badge {
position:absolute;top:.375rem;left:.375rem;display:inline-flex;align-items:center;justify-content:center;padding:.125rem .5rem;border-radius:.3rem;font-size:.75rem;font-weight:700;color:var(--w-100);pointer-events:auto;cursor:help;line-height:1;letter-spacing:.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);min-height:1.375rem
}
.s2-stage .score-green {
background:#16a34acc
}
.s2-stage .score-orange {
background:#f59e0bd9
}
.s2-stage .fenjingtu-quality-check {
position:relative;border-radius:.5rem;overflow:hidden;border:1px solid rgba(167,139,250,.25);background:var(--b-20)
}
.s2-stage .fenjingtu-quality-check .fenjingtu-img {
display:block;width:100%
}
.s2-stage .quality-overlay {
position:absolute;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#a78bfae6;font-size:.75rem;font-weight:500
}
.s2-stage .fenjingtu-loading {
display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;aspect-ratio:4 / 3;border-radius:.5rem;border:1px solid rgba(59,130,246,.15);background:#3b82f60a;color:#60a5facc;font-size:.8125rem
}
.s2-stage .fenjingtu-loading.fenjingtu-analyzing {
border-color:#f59e0b33;background:#f59e0b0a;color:#fbbf24d9
}
.s2-stage .fenjingtu-spinner {
width:1.25rem;height:1.25rem;border:2px solid rgba(59,130,246,.2);border-top-color:#60a5facc;border-radius:50%;animation:spin-5a669976 .8s linear infinite
}
.s2-stage .fenjingtu-spinner.analyzing {
border-color:#f59e0b33;border-top-color:#fbbf24d9
}
.s2-stage .fenjingtu-failed {
display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;aspect-ratio:4 / 3;border-radius:.5rem;border:1px solid rgba(239,68,68,.2);background:#ef44440a;color:#f87171cc;font-size:.8125rem;padding:.5rem
}
.s2-stage .fail-reason {
font-size:.6875rem;line-height:1.35;color:#f871718c;text-align:center;word-break:break-all;max-width:90%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.s2-stage .timeout-hint {
display:flex;flex-direction:column;align-items:center;gap:.375rem;margin-top:.375rem;animation:timeout-fade-in-5a669976 .5s ease
}
.s2-stage .timeout-hint>span {
font-size:.625rem;color:#e6a23cb3;text-align:center;line-height:1.4
}
@keyframes timeout-fade-in-5a669976{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}
.s2-stage .fenjingtu-retry-btn {
padding:.25rem .75rem;border-radius:.375rem;border:1px solid rgba(239,68,68,.25);background:#ef444414;color:#f87171e6;font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .fenjingtu-retry-btn:hover:not(:disabled) {
background:#ef444429;border-color:#ef444466
}
.s2-stage .fenjingtu-retry-btn:disabled {
opacity:.4;cursor:not-allowed
}
.s2-stage .fenjingtu-ready {
display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:4 / 3;border-radius:.5rem;border:1px dashed rgba(59,130,246,.25);background:#3b82f608
}
.s2-stage .fenjingtu-gen-btn {
display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:.5rem;border:1px solid rgba(59,130,246,.3);background:#3b82f614;color:#60a5fae6;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .fenjingtu-gen-btn:hover:not(:disabled) {
background:#3b82f62e;border-color:#3b82f680
}
.s2-stage .fenjingtu-gen-btn:disabled {
opacity:.4;cursor:not-allowed
}
.s2-stage .fenjingtu-empty {
display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;aspect-ratio:4 / 3;border-radius:.5rem;border:1px dashed var(--w-10);background:var(--w-2);color:var(--w-20);font-size:.75rem
}
.s2-stage .fenjingtu-empty svg {
opacity:.4
}
.s2-stage .assets-label {
display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:var(--w-40);letter-spacing:.5px
}
.s2-stage .batch-dl-videos-btn {
display:inline-flex;align-items:center;gap:.2rem;padding:.125rem .375rem;border-radius:.25rem;background:#3b82f60f;border:1px solid rgba(59,130,246,.15);color:#60a5facc;font-size:.625rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none;letter-spacing:0
}
.s2-stage .batch-dl-videos-btn:hover {
background:#3b82f626;border-color:#3b82f659;color:#60a5fa
}
.s2-stage .fenjingtu-regen-text-btn {
display:inline-flex;align-items:center;gap:.2rem;padding:.125rem .375rem;border-radius:.25rem;background:#3b82f60f;border:1px solid rgba(59,130,246,.15);color:#60a5facc;font-size:.625rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none;letter-spacing:0
}
.s2-stage .fenjingtu-regen-text-btn:hover {
background:#3b82f626;border-color:#3b82f659;color:#60a5fa
}
@media(hover:none) {
.s2-stage .fenjingtu-zoom-btn,
.s2-stage .fenjingtu-download-btn,
.s2-stage .fenjingtu-upload-btn {
opacity:1;width:2rem;height:2rem
}.s2-stage .fenjingtu-zoom-btn {
top:.375rem;bottom:auto;right:2.5rem
}.s2-stage .score-badge {
padding:.125rem .375rem
}.s2-stage .candidate-badge {
min-height:1.75rem
}.s2-stage .fenjingtu-regen-text-btn {
padding:.25rem .375rem
}
}
.s2-stage .assets-loading {
display:flex;align-items:center;gap:.5rem;padding:1rem 0;color:#3b82f6b3;font-size:.8125rem
}
.s2-stage .assets-spinner {
width:1rem;height:1rem;border:2px solid rgba(59,130,246,.2);border-top-color:#3b82f6cc;border-radius:50%;animation:spin-5a669976 .8s linear infinite
}
.s2-stage .assets-error {
display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0;color:#ef4444b3;font-size:.8125rem
}
.s2-stage .error-info {
display:flex;align-items:center;gap:.375rem
}
.s2-stage .error-reason {
font-size:.6875rem;line-height:1.4;color:#f8717199;word-break:break-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.s2-stage .retry-btn {
display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .625rem;border-radius:.375rem;border:1px solid rgba(239,68,68,.25);background:#ef444414;color:#f87171e6;font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .retry-btn:hover:not(:disabled) {
background:#ef444429;border-color:#ef444466
}
.s2-stage .retry-btn:disabled {
opacity:.4;cursor:not-allowed
}
.s2-stage .assets-chips {
display:flex;flex-direction:column;gap:.375rem
}
.s2-stage .asset-chip {
display:flex;align-items:center;gap:.375rem;padding:.3rem .625rem;border-radius:.375rem;background:var(--w-3);border:1px solid var(--w-6);cursor:default;transition:background .15s,border-color .15s
}
.s2-stage .asset-chip:hover {
background:var(--w-6);border-color:var(--w-12)
}
.s2-stage .asset-chip.is-draggable {
cursor:grab
}
.s2-stage .asset-chip.is-draggable:active {
cursor:grabbing
}
.s2-stage .asset-chip.is-dragging {
opacity:.45
}
.s2-stage .asset-chip.is-drag-over {
border-color:#8b5cf6b3;box-shadow:inset 0 2px #8b5cf6b3
}
.s2-stage .chip-index {
flex-shrink:0;min-width:1.1rem;height:1.1rem;padding:0 .25rem;box-sizing:border-box;border-radius:.3rem;background:#8b5cf62e;color:#c4b5fdf2;font-size:.65rem;font-weight:700;line-height:1.1rem;text-align:center;font-variant-numeric:tabular-nums
}
.s2-stage .chip-index.is-none {
background:var(--w-6);color:var(--w-35)
}
.s2-stage .chip-type {
font-size:.6875rem;font-weight:600;opacity:.65;flex-shrink:0
}
.s2-stage .chip-name {
font-size:.8125rem;color:#ffffffa6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.s2-stage .chip-role .chip-type {
color:#f472b6
}
.s2-stage .chip-scene .chip-type {
color:#4ade80
}
.s2-stage .chip-prop .chip-type {
color:#a78bfa
}
.s2-stage .chip-costume .chip-type {
color:#fbbf24
}
.s2-stage .chip-effect .chip-type {
color:#38bdf8
}
.s2-stage .chip-expression .chip-type {
color:#fb923c
}
.s2-stage .chip-skill .chip-type {
color:#f87171
}
.s2-stage .chip-pet .chip-type {
color:#c4b5fd
}
.s2-stage .chip-mount .chip-type {
color:#86efac
}
.s2-stage .chip-default .chip-type {
color:var(--w-50)
}
.s2-stage .chip-delete {
margin-left:auto;display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;border-radius:50%;background:var(--w-6);border:none;color:var(--w-20);cursor:pointer;padding:0;opacity:0;transition:opacity .15s,background .15s,color .15s;flex-shrink:0
}
.s2-stage .asset-chip:hover .chip-delete {
opacity:1
}
.s2-stage .chip-delete:hover {
background:#f8717126;color:#f87171
}
.s2-stage .asset-add-btn {
display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:.375rem;background:none;border:1px dashed var(--w-12);color:var(--w-35);font-size:.75rem;cursor:pointer;transition:border-color .15s,color .15s;align-self:flex-start
}
.s2-stage .asset-add-btn:hover {
border-color:#8b5cf680;color:#a78bfae6
}
.s2-stage .assets-empty {
display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.8125rem;color:var(--w-30)
}
@keyframes spin-5a669976{to{transform:rotate(360deg)}}
@container shipinka (max-width: 40rem) {
.video-card-head{flex-wrap:wrap;row-gap:.375rem;padding:.625rem .75rem}.video-title{order:1;flex-basis:100%}.video-card-body{flex-wrap:wrap;gap:.875rem 1rem;padding:.75rem}.video-prompt,.video-assets{flex:1 1 100%}.video-fenjingtu,.video-outputs{flex:1 1 11rem}.merged-prompt-header{flex-wrap:wrap;gap:.375rem;align-items:flex-start}.prompt-edit-btns{flex:1 1 100%;justify-content:flex-start}.assets-label{flex-wrap:wrap}.video-outputs-grid{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}
}
@container shipinka (max-width: 12rem) {
.prompt-edit-btn{font-size:0;line-height:0;gap:0;padding:.35rem}
}
@container shipinka (min-width: 40.0625rem) and (max-width: 56rem) {
.video-outputs-grid{grid-template-columns:1fr}
}
.s2-stage .asset-preview-popup {
position:fixed;z-index:9999;padding:.25rem;background:#14141cf2;border:1px solid var(--w-12);border-radius:.5rem;box-shadow:0 8px 32px var(--b-50);pointer-events:none
}
.s2-stage .asset-preview-popup img {
display:block;width:14rem;height:7.875rem;object-fit:cover;border-radius:.375rem
}
.s2-stage .fenjingtu-preview-popup {
position:fixed;z-index:9999;padding:.25rem;background:#14141cf2;border:1px solid var(--w-12);border-radius:.5rem;box-shadow:0 8px 32px var(--b-50);pointer-events:none
}
.s2-stage .fenjingtu-preview-popup img {
display:block;width:36rem;aspect-ratio:16 / 9;object-fit:cover;border-radius:.375rem
}
.s2-stage .fenjingtu-preview-popup.preview-portrait img {
width:20rem;aspect-ratio:9 / 16
}
.s2-stage .regen-popup-mask {
position:fixed;inset:0;z-index:9998;background:transparent
}
.s2-stage .regen-popup {
position:fixed;z-index:9999;width:280px;background:var(--bg-card-2-a);border:1px solid var(--w-10);border-radius:.625rem;box-shadow:0 8px 32px #0000008c;padding:.625rem;display:flex;flex-direction:column;gap:.5rem
}
.s2-stage .regen-model-row {
display:flex;align-items:center;gap:.5rem;padding:.125rem .125rem .25rem
}
.s2-stage .regen-model-label {
flex-shrink:0;color:#d8cdffb8;font-size:.75rem;font-weight:600;letter-spacing:.01em
}
.s2-stage .regen-model-picker {
position:relative;min-width:0;flex:1
}
.s2-stage .regen-model-select {
width:100%;height:1.875rem;background:linear-gradient(180deg,#ffffff14,#ffffff06);border:1px solid rgba(139,92,246,.26);border-radius:.5rem;color:#ffffffe6;font-size:.75rem;font-weight:500;outline:none;padding:0 .5rem 0 .625rem;display:flex;align-items:center;justify-content:space-between;gap:.45rem;box-shadow:inset 0 1px #ffffff0f,0 0 0 1px #00000014;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease
}
.s2-stage .regen-model-select span {
min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.s2-stage .regen-model-arrow {
flex-shrink:0;color:#d8cdffd1;transition:transform .16s ease
}
.s2-stage .regen-model-arrow.is-open {
transform:rotate(180deg)
}
.s2-stage .regen-model-select:hover {
border-color:#a78bfa6b;box-shadow:inset 0 1px #ffffff14,0 0 0 1px #8b5cf61f
}
.s2-stage .regen-model-select:focus {
border-color:#a78bfab3;box-shadow:0 0 0 3px #8b5cf629,inset 0 1px #ffffff14
}
.s2-stage .regen-model-menu {
position:absolute;left:0;right:0;top:calc(100% + .375rem);z-index:10001;max-height:11rem;overflow-y:auto;padding:.25rem;background:#120f1afa;border:1px solid rgba(167,139,250,.28);border-radius:.625rem;box-shadow:0 12px 30px #0000006b,inset 0 1px #ffffff0f;scrollbar-width:thin;scrollbar-color:rgba(167,139,250,.48) rgba(255,255,255,.04)
}
.s2-stage .regen-model-menu::-webkit-scrollbar {
width:.375rem
}
.s2-stage .regen-model-menu::-webkit-scrollbar-track {
background:#ffffff0a;border-radius:999px
}
.s2-stage .regen-model-menu::-webkit-scrollbar-thumb {
background:linear-gradient(180deg,#c4b5fdb8,#8b5cf68c);border-radius:999px
}
.s2-stage .regen-model-menu::-webkit-scrollbar-thumb:hover {
background:linear-gradient(180deg,#ddd6fedb,#a78bfab8)
}
.s2-stage .regen-model-option {
width:100%;min-height:1.875rem;padding:.375rem .5rem;border:none;border-radius:.4375rem;background:transparent;color:#ffffffb8;font-size:.75rem;font-family:inherit;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .12s ease,color .12s ease
}
.s2-stage .regen-model-option:hover {
background:#8b5cf62e;color:#fffffff2
}
.s2-stage .regen-model-option.active {
background:#8b5cf642;color:#ddd6fefa
}
.s2-stage .regen-input {
width:100%;box-sizing:border-box;background:var(--w-4);border:1px solid var(--w-8);border-radius:.375rem;color:#ffffffe0;font-size:.8125rem;padding:.5rem;resize:none;outline:none;font-family:inherit;line-height:1.5;max-height:160px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--w-15) transparent
}
.s2-stage .regen-input::-webkit-scrollbar {
width:4px
}
.s2-stage .regen-input::-webkit-scrollbar-track {
background:transparent
}
.s2-stage .regen-input::-webkit-scrollbar-thumb {
background:var(--w-15);border-radius:2px
}
.s2-stage .regen-input::-webkit-scrollbar-thumb:hover {
background:var(--w-25)
}
.s2-stage .regen-input::placeholder {
color:#ffffff47
}
.s2-stage .regen-input:focus {
border-color:#8b5cf673
}
.s2-stage .regen-actions {
display:flex;justify-content:flex-end;gap:.375rem
}
.s2-stage .regen-cancel {
padding:.3rem .625rem;border-radius:.375rem;background:none;border:1px solid var(--w-10);color:var(--w-45);font-size:.75rem;cursor:pointer;transition:all .15s
}
.s2-stage .regen-cancel:hover {
border-color:var(--w-20);color:var(--w-70)
}
.s2-stage .regen-confirm {
display:flex;align-items:center;gap:.3rem;padding:.3rem .625rem;border-radius:.375rem;background:#8b5cf633;border:1px solid rgba(139,92,246,.35);color:#a78bfaf2;font-size:.75rem;cursor:pointer;transition:all .15s
}
.s2-stage .regen-confirm:hover {
background:#8b5cf659;border-color:#8b5cf68c
}
.s2-stage .video-player-mask {
position:fixed;inset:0;z-index:10000;background:var(--b-80);display:flex;align-items:center;justify-content:center
}
.s2-stage .video-player-wrap {
position:relative;max-width:80vw;max-height:85vh;display:flex;flex-direction:column;align-items:center;gap:.75rem
}
.s2-stage .video-player-close {
position:absolute;top:-2rem;right:-2rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--w-8);border:1px solid var(--w-15);color:var(--w-70);cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .video-player-close:hover {
background:var(--w-15);color:var(--w-100)
}
.s2-stage .video-player-el {
max-width:80vw;max-height:75vh;border-radius:.5rem;background:#000;outline:none
}
.s2-stage .video-player-actions {
display:flex;gap:.5rem
}
.s2-stage .video-download-link {
display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:.375rem;background:#3b82f61f;border:1px solid rgba(59,130,246,.25);color:#60a5fae6;font-size:.8125rem;font-weight:600;font-family:inherit;outline:none;cursor:pointer;transition:all .15s
}
.s2-stage .video-download-link:hover {
background:#3b82f638;border-color:#3b82f673
}
.s2-stage .fullimg-mask {
position:fixed;inset:0;z-index:10000;background:#000000d9;display:flex;align-items:center;justify-content:center;animation:fullimg-fadein .15s ease
}
@keyframes fullimg-fadein{0%{opacity:0}to{opacity:1}}
.s2-stage .fullimg-wrap {
position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:.75rem
}
.s2-stage .fullimg-close {
position:absolute;top:-2.5rem;right:-2.5rem;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--w-8);border:1px solid var(--w-15);color:var(--w-70);cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .fullimg-close:hover {
background:#ffffff2e;color:var(--w-100)
}
.s2-stage .fullimg-el {
max-width:90vw;max-height:82vh;border-radius:.5rem;object-fit:contain;box-shadow:0 12px 48px var(--b-50)
}
.s2-stage .fullimg-actions {
display:flex;gap:.5rem
}
.s2-stage .fullimg-dl-btn {
display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:.375rem;background:#3b82f61f;border:1px solid rgba(59,130,246,.25);color:#60a5fae6;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;outline:none;transition:all .15s
}
.s2-stage .fullimg-dl-btn:hover {
background:#3b82f638;border-color:#3b82f673
}
.s2-stage .candidate-modal-mask {
position:fixed;inset:0;z-index:10000;background:#0009;display:flex;align-items:center;justify-content:center;animation:fullimg-fadein .15s ease
}
.s2-stage .candidate-modal {
width:720px;max-width:92vw;max-height:88vh;background:linear-gradient(170deg,#1c1e2afc,#12121afc);border:1px solid var(--w-8);border-radius:1rem;box-shadow:0 24px 80px var(--b-50),0 0 0 1px var(--w-3) inset;display:flex;flex-direction:column;overflow:hidden
}
.s2-stage .candidate-modal-header {
display:flex;align-items:center;gap:.625rem;padding:1rem 1.25rem;border-bottom:1px solid var(--w-6);background:#ffffff04
}
.s2-stage .candidate-modal-icon {
display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.625rem;background:linear-gradient(135deg,#6366f126,#8b5cf61f);color:#818cf8e6;flex-shrink:0
}
.s2-stage .candidate-modal-title-wrap {
flex:1;display:flex;flex-direction:column;gap:.125rem
}
.s2-stage .candidate-modal-title {
font-size:.9375rem;font-weight:700;color:#ffffffeb
}
.s2-stage .candidate-modal-subtitle {
font-size:.6875rem;color:var(--w-30)
}
.s2-stage .candidate-modal-close {
display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;background:none;border:none;color:var(--w-30);cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .candidate-modal-close:hover {
color:var(--w-70);background:var(--w-6)
}
.s2-stage .candidate-grid {
display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;padding:1.25rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--w-8) transparent
}
.s2-stage .candidate-item {
position:relative;border-radius:.625rem;overflow:hidden;border:2px solid var(--w-8);cursor:pointer;transition:all .2s;background:var(--b-20)
}
.s2-stage .candidate-item:hover {
border-color:#6366f180;box-shadow:0 4px 20px #6366f126;transform:translateY(-2px)
}
.s2-stage .candidate-current {
border-color:#34d39980;box-shadow:0 0 0 1px #34d39926
}
.s2-stage .candidate-current:hover {
border-color:#34d399b3;box-shadow:0 4px 20px #34d39926
}
.s2-stage .candidate-img {
display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover
}
.s2-stage .candidate-overlay {
position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:.375rem .5rem;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,transparent 100%)
}
.s2-stage .candidate-score {
font-size:.6875rem;font-weight:700;padding:.1rem .375rem;border-radius:.25rem;color:var(--w-100);line-height:1
}
.s2-stage .cs-green {
background:#16a34acc
}
.s2-stage .cs-orange {
background:#f59e0bd9
}
.s2-stage .candidate-idx {
font-size:.625rem;font-weight:600;color:#fff9
}
.s2-stage .candidate-current-tag {
position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.375rem;background:#34d3992e;color:#34d399f2;font-size:.6875rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)
}
.s2-stage .candidate-select-hint {
position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;padding:.375rem;background:#6366f133;color:#818cf8f2;font-size:.6875rem;font-weight:600;opacity:0;transition:opacity .15s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)
}
.s2-stage .candidate-item:hover .candidate-select-hint {
opacity:1
}
.s2-stage .candidate-delete-btn {
position:absolute;top:.375rem;right:.375rem;display:flex;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;border-radius:.375rem;border:none;background:#0009;color:#f87171e6;cursor:pointer;opacity:0;transition:all .15s;outline:none;z-index:3
}
.s2-stage .candidate-item:hover .candidate-delete-btn {
opacity:1
}
.s2-stage .candidate-delete-btn:hover {
background:#ef444459;color:#f87171;transform:scale(1.1)
}
.s2-stage {
background:var(--bg-card-2);border-color:var(--w-12)
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#5a6478
}
.s2-stage {
color:#323746
}
.s2-stage .duration-picker-mask {
position:fixed;inset:0;z-index:9998;background:transparent
}
.s2-stage .duration-picker {
position:fixed;z-index:9999;width:120px;background:var(--bg-card-2-a);border:1px solid var(--w-10);border-radius:.5rem;box-shadow:0 8px 32px #0000008c;padding:.375rem;display:flex;flex-direction:column;gap:.125rem;animation:duration-picker-in .12s ease
}
@keyframes duration-picker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.s2-stage .duration-picker-title {
font-size:.6875rem;color:var(--w-35);padding:.25rem .5rem .375rem;font-weight:600;letter-spacing:.5px
}
.s2-stage .duration-option {
display:flex;align-items:center;justify-content:space-between;padding:.4rem .5rem;border-radius:.375rem;font-size:.8125rem;font-weight:600;color:var(--w-70);cursor:pointer;transition:all .12s
}
.s2-stage .duration-option:hover {
background:#3b82f61f;color:#60a5fa
}
.s2-stage .duration-option-active {
background:#3b82f626;color:#60a5fa
}
.s2-stage .duration-option-active svg {
color:#60a5fa
}
.s2-stage .hm-modal-mask {
position:fixed;inset:0;z-index:10000;background:var(--b-60);display:flex;align-items:center;justify-content:center;animation:hm-fadein .18s ease
}
@keyframes hm-fadein{0%{opacity:0}to{opacity:1}}
.s2-stage .hm-modal {
width:560px;max-width:92vw;max-height:88vh;background:linear-gradient(170deg,#1c1e2afc,#12121afc);border:1px solid var(--w-8);border-radius:1rem;box-shadow:0 24px 80px var(--b-50),0 0 0 1px var(--w-3) inset;display:flex;flex-direction:column;overflow:hidden
}
.s2-stage .hm-head {
display:flex;align-items:center;gap:.625rem;padding:1rem 1.25rem;border-bottom:1px solid var(--w-6);background:#ffffff04
}
.s2-stage .hm-head-icon {
display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.625rem;background:linear-gradient(135deg,#3b82f626,#8b5cf61f);color:#60a5fae6;flex-shrink:0
}
.s2-stage .hm-head-text {
flex:1;display:flex;flex-direction:column;gap:.125rem
}
.s2-stage .hm-title {
font-size:.9375rem;font-weight:700;color:#ffffffeb
}
.s2-stage .hm-subtitle {
font-size:.6875rem;color:var(--w-30)
}
.s2-stage .hm-close {
display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;background:none;border:none;color:var(--w-30);cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .hm-close:hover {
color:var(--w-70);background:var(--w-6)
}
.s2-stage .hm-body {
flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem;scrollbar-width:thin;scrollbar-color:var(--w-8) transparent
}
.s2-stage .hm-section {
display:flex;flex-direction:column;gap:.625rem
}
.s2-stage .hm-section-head {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .hm-section-icon {
display:flex;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;border-radius:.375rem;flex-shrink:0
}
.s2-stage .hm-icon-scene {
background:#3b82f61f;color:#60a5fad9
}
.s2-stage .hm-icon-dialogue {
background:#f59e0b1f;color:#fbbf24d9
}
.s2-stage .hm-section-title {
font-size:.8125rem;font-weight:700;color:var(--w-70);letter-spacing:.3px
}
.s2-stage .hm-section-count {
font-size:.6875rem;font-weight:600;color:var(--w-25);padding:.1rem .375rem;background:var(--w-4);border-radius:.25rem
}
.s2-stage .hm-add-btn {
margin-left:auto;display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:.375rem;background:#34d39914;border:1px solid rgba(52,211,153,.2);color:#34d399d9;font-size:.6875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .hm-add-btn:hover {
background:#34d3992e;border-color:#34d39966;color:#34d399
}
.s2-stage .hm-textarea {
width:100%;box-sizing:border-box;background:var(--w-3);border:1px solid var(--w-7);border-radius:.5rem;color:#ffffffe0;font-size:.875rem;line-height:1.7;font-family:inherit;padding:.75rem .875rem;resize:vertical;outline:none;transition:border-color .15s;scrollbar-width:thin;scrollbar-color:var(--w-10) transparent
}
.s2-stage .hm-textarea:focus {
border-color:#3b82f666
}
.s2-stage .hm-textarea::placeholder {
color:var(--w-20)
}
.s2-stage .hm-duibai-list {
display:flex;flex-direction:column;gap:.375rem;max-height:300px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--w-8) transparent
}
.s2-stage .hm-duibai-item {
display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;background:var(--w-2);border:1px solid var(--w-5);border-radius:.5rem;transition:border-color .15s,background .15s
}
.s2-stage .hm-duibai-item:hover {
border-color:var(--w-10);background:var(--w-3)
}
.s2-stage .hm-duibai-num {
display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;min-width:1.25rem;border-radius:50%;background:var(--w-4);font-size:.625rem;font-weight:700;color:var(--w-20);margin-top:.3rem
}
.s2-stage .hm-duibai-fields {
flex:1;display:flex;flex-direction:column;gap:.375rem
}
.s2-stage .hm-duibai-role {
width:7rem;padding:.35rem .5rem;background:#f59e0b0f;border:1px solid rgba(245,158,11,.15);border-radius:.375rem;color:#fbbf24f2;font-size:.8125rem;font-weight:600;font-family:inherit;outline:none;transition:border-color .15s
}
.s2-stage .hm-duibai-role:focus {
border-color:#f59e0b66
}
.s2-stage .hm-duibai-role::placeholder {
color:#f59e0b4d;font-weight:400
}
.s2-stage .hm-duibai-text {
width:100%;box-sizing:border-box;padding:.35rem .5rem;background:var(--w-3);border:1px solid var(--w-7);border-radius:.375rem;color:var(--w-85);font-size:.8125rem;line-height:1.5;font-family:inherit;outline:none;resize:none;overflow-y:hidden;transition:border-color .15s
}
.s2-stage .hm-duibai-text:focus {
border-color:#3b82f666
}
.s2-stage .hm-duibai-text::placeholder {
color:#ffffff2e
}
.s2-stage .hm-duibai-del {
display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;min-width:1.5rem;margin-top:.25rem;border-radius:.375rem;background:none;border:none;color:var(--w-12);cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .hm-duibai-del:hover {
background:#ef44441f;color:#f87171e6
}
.s2-stage .hm-duibai-empty {
display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border:1px dashed var(--w-6);border-radius:.5rem;color:var(--w-15);font-size:.75rem;cursor:pointer;transition:all .15s
}
.s2-stage .hm-duibai-empty:hover {
border-color:#34d39933;color:#34d39980;background:#34d39908
}
.s2-stage .hm-footer {
display:flex;justify-content:flex-end;gap:.5rem;padding:.875rem 1.25rem;border-top:1px solid var(--w-6);background:#ffffff03
}
.s2-stage .hm-btn {
display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1.25rem;border-radius:.5rem;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .hm-btn--cancel {
background:var(--w-4);border:1px solid var(--w-8);color:var(--w-50)
}
.s2-stage .hm-btn--cancel:hover {
background:var(--w-8);border-color:var(--w-15);color:#ffffffbf
}
.s2-stage .hm-btn--save {
background:linear-gradient(135deg,#3b82f633,#8b5cf62e);border:1px solid rgba(59,130,246,.35);color:#60a5faf2
}
.s2-stage .hm-btn--save:hover:not(:disabled) {
background:linear-gradient(135deg,#3b82f64d,#8b5cf640);border-color:#3b82f680;color:#93bbfd
}
.s2-stage .hm-btn--save:disabled {
opacity:.45;cursor:not-allowed
}
.s2-stage {
background:#fffffffa;border:1px solid rgba(139,92,246,.15);box-shadow:0 1px 4px #0000000a
}
.s2-stage {
border-color:#8b5cf64d;box-shadow:0 4px 16px #8b5cf614
}
.s2-stage {
background:linear-gradient(135deg,#8b5cf60d,#3b82f608);border-bottom-color:#8b5cf614
}
.s2-stage {
color:#6e3cdc
}
.s2-stage {
color:#191c2d
}
.s2-stage {
background:#3b82f614;color:#2563cd;border-color:#3b82f626
}
.s2-stage {
background:#0000000a;color:#505564;border-color:#00000014
}
.s2-stage {
background:#3b82f61a;color:#2563cd;border-color:#3b82f633
}
.s2-stage {
background:#10b9811a;color:#058c5f;border-color:#10b98133
}
.s2-stage {
background:#f59e0b1a;color:#b46e00;border-color:#f59e0b33
}
.s2-stage {
background:#ec48991a;color:#be3278;border-color:#ec489933
}
.s2-stage {
background:#ef44441a;color:#be2828;border-color:#ef444433
}
.s2-stage,
.s2-stage {
color:#373e55
}
.s2-stage,
.s2-stage {
color:#19192d
}
.s2-stage {
color:#323746
}
.s2-stage {
background:#00000005;border-color:#0000000f
}
.s2-stage {
background:#0000000a;border-color:#0000001a
}
.s2-stage {
background:#7c3aed1f;color:#6d28d9
}
.s2-stage {
background:#0000000d;color:#0006
}
.s2-stage {
color:#be3278
}
.s2-stage {
color:#149646
}
.s2-stage {
color:#643cc8
}
.s2-stage {
color:#a16207
}
.s2-stage {
color:#414b64
}
.s2-stage {
color:#fff
}
.s2-stage {
background:#16a34ae6;box-shadow:0 1px 4px #16a34a4d
}
.s2-stage {
background:#f59e0bf2;box-shadow:0 1px 4px #f59e0b4d
}
.s2-stage {
border-color:#00000026
}
.s2-stage,
.s2-stage,
.s2-stage {
color:#374155
}
.s2-stage {
border-color:#16a34a33;background:#16a34a0f;color:#16a34a
}
.s2-stage {
border-color:#16a34a33;background:#16a34a08;color:#16a34a
}
.s2-stage {
background:#00000005;border-color:#0000001a;color:#a0aab9
}
.s2-stage {
background:#8b5cf60f;border-color:#8b5cf62e;color:#643cc8
}
.s2-stage {
background:#8b5cf61f;border-color:#8b5cf659;color:#5a32be
}
.s2-stage {
background:#3b82f60f;border-color:#3b82f62e;color:#2563cd
}
.s2-stage,
.s2-stage,
.s2-stage {
color:#2563cd
}
.s2-stage {
background:#00000008;border-color:#00000014;color:#788296
}
.s2-stage {
border-color:#8b5cf64d;color:#643cc8;background:#8b5cf60a
}
.s2-stage,
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#19192d
}
.s2-stage {
color:#a0aab9
}
.s2-stage {
color:#19192d
}
.s2-stage {
color:#a0aab9
}
.s2-stage {
background:linear-gradient(170deg,#fffffffc,#f8f9fcfc);border-color:#0000001a;box-shadow:0 24px 80px #0000001f,0 0 0 1px #0000000a inset
}
.s2-stage {
border-bottom-color:#0000000f;background:#00000004
}
.s2-stage {
background:linear-gradient(135deg,#3b82f61a,#8b5cf614);color:#3b82f6
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#788296
}
.s2-stage {
color:#96a0af
}
.s2-stage {
color:#323746;background:#0000000d
}
.s2-stage {
scrollbar-color:rgba(0,0,0,.1) transparent
}
.s2-stage {
color:#373e55
}
.s2-stage {
color:#646e82;background:#0000000a
}
.s2-stage {
background:#3b82f614;color:#2563cd
}
.s2-stage {
background:#f59e0b14;color:#b46e00
}
.s2-stage {
background:#00000005;border-color:#0000001a;color:#19192d
}
.s2-stage {
border-color:#3b82f673
}
.s2-stage {
color:#a0aab9
}
.s2-stage {
scrollbar-color:rgba(0,0,0,.1) transparent
}
.s2-stage {
background:#00000004;border-color:#0000000f
}
.s2-stage {
border-color:#0000001f;background:#00000006
}
.s2-stage {
background:#0000000d;color:#788296
}
.s2-stage {
background:#f59e0b0f;border-color:#f59e0b33;color:#a05a00
}
.s2-stage {
border-color:#f59e0b73
}
.s2-stage {
color:#c88c2873
}
.s2-stage {
background:#00000005;border-color:#0000001a;color:#19192d
}
.s2-stage {
border-color:#3b82f673
}
.s2-stage {
color:#a0aab9
}
.s2-stage {
color:#b4b9c3
}
.s2-stage {
background:#ef444414;color:#dc3232
}
.s2-stage {
border-color:#0000001a;color:#a0aab9
}
.s2-stage {
border-color:#34d3994d;color:#10a064b3;background:#34d3990a
}
.s2-stage {
background:#34d3990f;border-color:#34d39940;color:#108c5a
}
.s2-stage {
background:#34d3991f;border-color:#34d39966;color:#05784b
}
.s2-stage {
border-top-color:#0000000f;background:#00000004
}
.s2-stage {
background:#0000000a;border-color:#0000001a;color:#505a6e
}
.s2-stage {
background:#00000012;border-color:#00000026;color:#191c2d
}
.s2-stage {
background:linear-gradient(135deg,#3b82f61f,#8b5cf61a);border-color:#3b82f64d;color:#2563cd
}
.s2-stage {
background:linear-gradient(135deg,#3b82f633,#8b5cf629);border-color:#3b82f673;color:#1e50b4
}
.s2-stage {
color:#c83232
}
.s2-stage {
color:#c85050
}
.s2-stage {
background:#ef44440f;border-color:#ef444433;color:#c83232
}
.s2-stage {
background:#ef44441f;border-color:#ef444459
}
.s2-stage {
border-color:#00648c40;color:#00648c;font-weight:600
}
.s2-stage {
border-color:#00648c66;color:#005073;background:#00648c0f
}
.s2-stage .status-bar {
padding:.5rem .75rem;border-radius:.5rem;margin-bottom:1rem;border:1px solid var(--w-6);background:var(--w-2)
}
.s2-stage .status-bar-bottom {
margin-top:1.5rem;margin-bottom:0
}
.s2-stage .status-bar-inner {
display:flex;align-items:center;gap:1rem;flex-wrap:wrap
}
.s2-stage .status-running {
background:#1e293b80;border-color:var(--w-8)
}
.s2-stage .status-failed {
background:#ef44440f;border-color:#ef444426
}
.s2-stage .status-done {
background:#34d3990f;border-color:#34d39926
}
.s2-stage .status-idle {
background:var(--w-2);border-color:var(--w-6)
}
.s2-stage .task-item {
display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;white-space:nowrap
}
.s2-stage .task-item svg {
flex-shrink:0
}
.s2-stage .task-label {
opacity:.95
}
.s2-stage .task-count {
font-weight:700
}
.s2-stage .task-blue {
color:#60a5faf2
}
.s2-stage .task-amber {
color:#fbbf24f2
}
.s2-stage .task-indigo {
color:#818cf8f2
}
.s2-stage .task-purple {
color:#a78bfaf2
}
.s2-stage .task-cyan {
color:#22d3eef2
}
.s2-stage .task-red {
color:#f87171f2
}
.s2-stage .task-green {
color:#34d399f2
}
.s2-stage .task-gray {
color:var(--w-35)
}
.s2-stage .task-spinner {
width:.875rem;height:.875rem;border:2px solid var(--w-10);border-radius:50%;animation:spin-8ec07442 .8s linear infinite;flex-shrink:0
}
.s2-stage .spinner-blue {
border-color:#3b82f633;border-top-color:#60a5fae6
}
.s2-stage .spinner-amber {
border-color:#f59e0b33;border-top-color:#fbbf24e6
}
.s2-stage .spinner-indigo {
border-color:#6366f133;border-top-color:#818cf8e6
}
.s2-stage .spinner-purple {
border-color:#8b5cf633;border-top-color:#a78bfae6
}
.s2-stage .spinner-cyan {
border-color:#06b6d433;border-top-color:#22d3eee6
}
@keyframes spin-8ec07442{to{transform:rotate(360deg)}}
.s2-stage {
background:#3b82f60a;border-color:#3b82f61f
}
.s2-stage {
color:#5a6478
}
.s2-stage .shipin-node {
padding:0 .25rem
}
.s2-stage .jieDian-header {
margin-top:.75rem;margin-bottom:1rem
}
.s2-stage .header-row {
display:flex;align-items:center;gap:.875rem;flex-wrap:wrap;row-gap:.5rem
}
.s2-stage .jieDian-name {
font-size:1rem;font-weight:600;color:var(--w-100)
}
.s2-stage .video-count-badge {
display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:600;background:#8b5cf61f;color:#a78bfaf2;border:1px solid rgba(139,92,246,.2)
}
.s2-stage .video-count-badge svg {
color:#a78bfab3
}
.s2-stage .fenjingtu-toggle {
display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem 1rem;margin-bottom:.75rem;border-radius:.625rem;border:1px solid rgba(139,92,246,.18);background:#8b5cf60f
}
.s2-stage .fenjingtu-toggle-left {
display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1 1 12rem
}
.s2-stage .fenjingtu-toggle-title {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .fenjingtu-toggle-name {
font-size:.875rem;font-weight:600;color:#ffffffe0
}
.s2-stage .fenjingtu-toggle-tag {
font-size:.625rem;font-weight:500;padding:.125rem .4rem;border-radius:.25rem;background:#8b5cf633;color:#a78bfae6;letter-spacing:.02em
}
.s2-stage .fenjingtu-toggle-desc {
font-size:.75rem;color:#ffffff61;line-height:1.4
}
.s2-stage .fenjingtu-toggle-right {
display:flex;align-items:center;gap:.625rem;flex-shrink:0
}
.s2-stage .fenjingtu-lock-hint {
display:flex;align-items:center;gap:.25rem;font-size:.6875rem;color:#facc1599;white-space:nowrap;animation:lockHintPulse-d518aaf5 2s ease-in-out infinite
}
.s2-stage .fenjingtu-lock-hint svg {
color:#facc1580;flex-shrink:0
}
@keyframes lockHintPulse-d518aaf5{0%,to{opacity:1}50%{opacity:.5}}
.s2-stage .capsule-switch {
position:relative;width:2.75rem;height:1.5rem;border-radius:.75rem;border:1px solid var(--w-15);background:var(--w-10);cursor:pointer;transition:all .25s ease;flex-shrink:0;padding:0
}
.s2-stage .capsule-knob {
position:absolute;top:.1875rem;left:.1875rem;width:1.0625rem;height:1.0625rem;border-radius:50%;background:var(--w-45);transition:all .25s ease
}
.s2-stage .capsule-switch.active {
background:#8b5cf68c;border-color:#8b5cf699
}
.s2-stage .capsule-switch.active .capsule-knob {
left:calc(100% - 1.25rem);background:var(--w-100)
}
.s2-stage .capsule-switch:hover:not(:disabled) {
border-color:#8b5cf680
}
.s2-stage .capsule-switch:disabled {
opacity:.4;cursor:not-allowed
}
.s2-stage .steps-bar {
display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:stretch;gap:.625rem;margin-bottom:1.5rem;overflow:visible;padding:.25rem 0;min-width:0
}
.s2-stage .step-btn {
display:flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;border-radius:.5rem;border:1px solid var(--w-8);background:var(--w-3);cursor:default;transition:all .2s ease;outline:none;font-family:inherit;justify-content:center;min-width:0
}
.s2-stage .step-icon {
display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;flex-shrink:0;border:2px solid var(--w-10);background:var(--w-3);transition:all .2s ease
}
.s2-stage .step-num {
font-size:.75rem;font-weight:700;color:var(--w-30)
}
.s2-stage .step-label {
font-size:.8125rem;font-weight:600;color:var(--w-30);transition:color .2s ease;text-align:center;line-height:1.35
}
.s2-stage .step-done {
cursor:pointer;background:#34d3990f;border-color:#34d39940
}
.s2-stage .step-done:hover {
background:#34d39924;border-color:#34d39973;box-shadow:0 0 16px #34d39914,inset 0 0 0 1px #34d3990f;transform:translateY(-1px)
}
.s2-stage .step-done:active {
transform:translateY(0) scale(.98)
}
.s2-stage .step-done .step-icon {
border-color:#34d39980;background:#34d3991a
}
.s2-stage .step-done .step-icon svg {
color:#34d399e6
}
.s2-stage .step-done .step-label {
color:#34d399d9
}
.s2-stage .step-running {
background:#3b82f614;border-color:#3b82f640;cursor:wait
}
.s2-stage .step-running .step-icon {
border-color:#3b82f680;background:#3b82f61a
}
.s2-stage .step-running .step-label {
color:#60a5fae6
}
.s2-stage .step-spinner {
width:.75rem;height:.75rem;border:2px solid rgba(59,130,246,.2);border-top-color:#60a5fae6;border-radius:50%;animation:spin-d518aaf5 .8s linear infinite
}
.s2-stage .step-active {
cursor:pointer;background:linear-gradient(135deg,#3b82f61f,#6366f11a);border-color:#3b82f666;box-shadow:0 0 0 1px #3b82f614
}
.s2-stage .step-active:hover {
background:linear-gradient(135deg,#3b82f638,#6366f12e);border-color:#3b82f699;box-shadow:0 0 20px #3b82f626,inset 0 0 0 1px #3b82f614;transform:translateY(-1px)
}
.s2-stage .step-active:active {
transform:translateY(0) scale(.98)
}
.s2-stage .step-active .step-icon {
border-color:#3b82f6b3;background:#3b82f633
}
.s2-stage .step-active .step-num {
color:#60a5fa
}
.s2-stage .step-active .step-label {
color:#60a5fa;font-weight:700
}
.s2-stage .step-warning {
cursor:pointer;background:linear-gradient(135deg,#ef44441a,#f59e0b14);border-color:#ef444459
}
.s2-stage .step-warning:hover {
background:linear-gradient(135deg,#ef44442e,#f59e0b24);border-color:#ef44448c;box-shadow:0 0 16px #ef44441a;transform:translateY(-1px)
}
.s2-stage .step-warning:active {
transform:translateY(0) scale(.98)
}
.s2-stage .step-warning .step-icon {
border-color:#ef444499;background:#ef444426
}
.s2-stage .step-warning .step-icon svg {
color:#f87171f2
}
.s2-stage .step-warning .step-label {
color:#f87171f2;font-weight:700
}
.s2-stage .step-disabled {
opacity:.35;cursor:not-allowed
}
.s2-stage .shipin-rollback-btn {
margin-left:auto;display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;background:var(--w-4);border:1px solid var(--w-10);border-radius:.375rem;color:var(--w-45);font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .shipin-rollback-btn:hover:not(:disabled) {
background:#f59e0b1a;border-color:#f59e0b59;color:#fbbf24e6
}
.s2-stage .shipin-rollback-btn:disabled {
opacity:.3;cursor:not-allowed
}
.s2-stage .video-list {
display:flex;flex-direction:column;gap:1.5rem
}
.s2-stage .steps-bar-bottom {
margin-top:1.5rem;margin-bottom:0
}
.s2-stage .bottom-download-row {
display:flex;align-items:center;justify-content:flex-end;gap:.625rem;flex-wrap:wrap;margin-top:1.5rem
}
.s2-stage .bottom-dl-btn {
display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1.125rem;border-radius:.5rem;background:#3b82f60f;border:1px solid rgba(59,130,246,.2);color:#60a5fae6;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .bottom-dl-btn:hover {
background:#3b82f626;border-color:#3b82f666;color:#60a5fa
}
@keyframes spin-d518aaf5{to{transform:rotate(360deg)}}
.s2-stage .wg-mask {
position:fixed;inset:0;z-index:10000;background:var(--b-60);display:flex;align-items:center;justify-content:center;animation:wg-in-d518aaf5 .18s ease
}
@keyframes wg-in-d518aaf5{0%{opacity:0}to{opacity:1}}
.s2-stage .wg-dialog {
width:460px;max-width:92vw;background:linear-gradient(165deg,#20202efa,#161620fc);border:1px solid var(--w-7);border-radius:1rem;box-shadow:0 20px 60px var(--b-50),0 0 0 1px var(--w-3) inset;overflow:hidden
}
.s2-stage .wg-head {
display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;border-bottom:1px solid var(--w-6)
}
.s2-stage .wg-head-icon {
display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;background:#eab3081a;color:#facc15d9
}
.s2-stage .wg-title {
font-size:.9375rem;font-weight:700;color:var(--w-90);flex:1
}
.s2-stage .wg-close {
display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;background:none;border:none;color:var(--w-30);cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .wg-close:hover {
color:var(--w-70);background:var(--w-6)
}
.s2-stage .wg-body {
padding:1.25rem
}
.s2-stage .wg-loading {
display:flex;flex-direction:column;align-items:center;gap:.875rem;padding:2rem 0 1.5rem
}
.s2-stage .wg-loading-spinner {
width:2.75rem;height:2.75rem;border:3px solid rgba(234,179,8,.1);border-top-color:#facc15cc;border-radius:50%;animation:spin-d518aaf5 .75s linear infinite
}
.s2-stage .wg-loading-text {
font-size:.9375rem;font-weight:600;color:var(--w-80)
}
.s2-stage .wg-loading-sub {
font-size:.75rem;color:var(--w-35)
}
.s2-stage .wg-confirm-hint {
font-size:.8125rem;font-weight:500;color:#ffffff8c;margin-bottom:.75rem
}
.s2-stage .wg-items {
display:flex;flex-direction:column;gap:.375rem;max-height:280px;overflow-y:auto;padding:.75rem;background:#34d3990a;border:1px solid rgba(52,211,153,.1);border-radius:.625rem;scrollbar-width:thin;scrollbar-color:var(--w-10) transparent
}
.s2-stage .wg-item {
display:flex;align-items:flex-start;gap:.4rem;font-size:.8125rem;line-height:1.6;color:#ffffffa6
}
.s2-stage .wg-item svg {
flex-shrink:0;margin-top:.2rem;color:#34d399bf
}
.s2-stage .wg-actions {
display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.125rem
}
.s2-stage .wg-actions--center {
justify-content:center
}
.s2-stage .wg-btn {
display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1.25rem;border-radius:.5rem;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;outline:none
}
.s2-stage .wg-btn--cancel {
background:var(--w-4);border:1px solid var(--w-10);color:#ffffff8c
}
.s2-stage .wg-btn--cancel:hover {
background:var(--w-8);border-color:#ffffff2e;color:#ffffffbf
}
.s2-stage .wg-btn--save {
background:#34d3991f;border:1px solid rgba(52,211,153,.25);color:#34d399f2
}
.s2-stage .wg-btn--save:hover {
background:#34d39938;border-color:#34d39966
}
.s2-stage .wg-btn--save:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .wg-btn-spinner {
width:.875rem;height:.875rem;border:2px solid rgba(52,211,153,.2);border-top-color:#34d399cc;border-radius:50%;animation:spin-d518aaf5 .7s linear infinite
}
.s2-stage .wg-status-wrap {
display:flex;flex-direction:column;align-items:center;gap:.625rem;padding:1.5rem 0 .5rem
}
.s2-stage .wg-status-icon {
display:flex
}
.s2-stage .wg-status--ok {
color:#4ade80d9
}
.s2-stage .wg-status--fail {
color:#f87171d9
}
.s2-stage .wg-status-msg {
font-size:1rem;font-weight:700;color:#ffffffe0
}
.s2-stage .wg-status-sub {
font-size:.8125rem;color:var(--w-40);text-align:center
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#a0aab9
}
.s2-stage {
color:#149646
}
.s2-stage {
color:#2563cd
}
.s2-stage {
color:#1e5adc
}
.s2-stage {
color:#c83232
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#5a6478
}
.s2-stage {
background:var(--bg-card-2);border-color:var(--w-12);box-shadow:0 20px 60px #0000001f
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#5a6478
}
.s2-stage {
color:#323746
}
.s2-stage {
color:#282d3c
}
.s2-stage {
color:#5a6478
}
.s2-stage {
color:#374155
}
.s2-stage {
color:#323746
}
.s2-stage {
color:#505a6e;border-color:#0000001a
}
.s2-stage {
color:#1e2332;border-color:#0003
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#414b64
}
.s2-stage .jieDian-header {
margin-bottom:.25rem
}
.s2-stage .jieDian-name {
font-size:1rem;font-weight:600;color:var(--w-100)
}
.s2-stage .jieDian-sub {
display:block;font-size:.8125rem;color:var(--w-45);line-height:1.5;margin-top:.25rem
}
.s2-stage .weitiao-confirm-area {
margin-top:.75rem;display:flex;flex-direction:column;gap:1.25rem;min-width:0;overflow:hidden
}
.s2-stage .selection-area {
display:flex;flex-direction:column;gap:1rem
}
.s2-stage .selection-header {
display:flex;justify-content:space-between;align-items:baseline
}
.s2-stage .header-title {
font-size:.9375rem;font-weight:600;color:var(--w-100)
}
.s2-stage .header-hint {
font-size:.75rem;color:var(--w-35)
}
.s2-stage .fangxiang-grid {
display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem
}
.s2-stage .fangxiang-card {
--accent: 96, 165, 250;position:relative;display:flex;flex-direction:column;background:#ffffff06;border:1px solid var(--w-7);border-radius:14px;padding:1.125rem 1.125rem .875rem;cursor:pointer;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)
}
.s2-stage .card-glow-bar {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(var(--accent),.5),transparent);opacity:0;transition:opacity .3s ease
}
.s2-stage .fangxiang-card:hover .card-glow-bar,
.s2-stage .fangxiang-card.selected .card-glow-bar {
opacity:1
}
.s2-stage .fangxiang-card.selected .card-glow-bar {
background:linear-gradient(90deg,transparent,rgba(var(--accent),.8),transparent)
}
.s2-stage .fangxiang-card:hover {
background:rgba(var(--accent),.04);border-color:rgba(var(--accent),.2);transform:translateY(-3px);box-shadow:0 8px 24px -8px #00000059,0 0 0 1px rgba(var(--accent),.08)
}
.s2-stage .fangxiang-card.selected {
background:rgba(var(--accent),.08);border-color:rgba(var(--accent),.45);box-shadow:0 0 0 1px rgba(var(--accent),.15),0 4px 20px -4px rgba(var(--accent),.2),inset 0 1px rgba(var(--accent),.1)
}
.s2-stage .card-accent-a {
--accent: 52, 211, 153
}
.s2-stage .card-accent-b {
--accent: 251, 191, 36
}
.s2-stage .card-accent-c {
--accent: 129, 140, 248
}
.s2-stage .card-accent-d {
--accent: 248, 113, 113
}
.s2-stage .card-header {
display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem
}
.s2-stage .card-badge {
width:2.125rem;height:2.125rem;border-radius:10px;background:linear-gradient(135deg,rgba(var(--accent),.2),rgba(var(--accent),.08));border:1px solid rgba(var(--accent),.18);display:flex;align-items:center;justify-content:center;transition:all .3s ease
}
.s2-stage .badge-letter {
font-size:.875rem;font-weight:700;color:rgba(var(--accent),1);line-height:1
}
.s2-stage .fangxiang-card.selected .card-badge {
background:linear-gradient(135deg,rgba(var(--accent),.35),rgba(var(--accent),.15));border-color:rgba(var(--accent),.35);box-shadow:0 0 12px rgba(var(--accent),.2)
}
.s2-stage .card-check {
width:1.375rem;height:1.375rem;border-radius:50%;background:linear-gradient(135deg,rgba(var(--accent),1),rgba(var(--accent),.7));display:flex;align-items:center;justify-content:center;animation:check-pop-4353fda4 .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px rgba(var(--accent),.4)
}
@keyframes check-pop-4353fda4{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}
.s2-stage .card-check svg {
width:.8rem;height:.8rem;color:var(--w-100)
}
.s2-stage .card-body {
display:flex;flex-direction:column;gap:.375rem;flex:1
}
.s2-stage .card-title {
font-size:.9375rem;font-weight:600;color:var(--w-95);line-height:1.35;transition:color .25s ease
}
.s2-stage .fangxiang-card.selected .card-title {
color:var(--w-100)
}
.s2-stage .card-desc {
font-size:.8rem;color:var(--w-50);line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden
}
.s2-stage .fangxiang-card:hover .card-desc {
color:var(--w-60)
}
.s2-stage .fangxiang-card.selected .card-desc {
color:#ffffffa6
}
.s2-stage .card-highlight {
display:inline-flex;align-items:center;gap:.375rem;margin-top:.25rem;padding:.3rem .625rem;background:rgba(var(--accent),.06);border:1px solid rgba(var(--accent),.1);border-radius:.375rem;font-size:.75rem;color:rgba(var(--accent),.85);font-weight:500;line-height:1.4
}
.s2-stage .card-highlight svg {
flex-shrink:0;color:rgba(var(--accent),.7)
}
.s2-stage .card-footer {
margin-top:.75rem;padding-top:.625rem;border-top:1px solid var(--w-5);display:flex;flex-wrap:wrap;gap:.375rem
}
.s2-stage .effect-chip {
display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:rgba(var(--accent),.08);border:1px solid rgba(var(--accent),.12);border-radius:2rem;transition:all .25s ease
}
.s2-stage .fangxiang-card.selected .effect-chip {
background:rgba(var(--accent),.14);border-color:rgba(var(--accent),.25)
}
.s2-stage .chip-dot {
width:5px;height:5px;border-radius:50%;background:rgba(var(--accent),.8);flex-shrink:0
}
.s2-stage .fangxiang-card.selected .chip-dot {
box-shadow:0 0 6px rgba(var(--accent),.6)
}
.s2-stage .chip-text {
font-size:.6875rem;color:rgba(var(--accent),.85);font-weight:500
}
.s2-stage .action-row {
display:flex;align-items:center;justify-content:flex-end
}
.s2-stage .confirm-btn {
display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,#34d39926,#818cf81f);border:1px solid rgba(52,211,153,.35);border-radius:.625rem;color:#34d399f2;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);letter-spacing:.02em
}
.s2-stage .confirm-btn:hover:not(:disabled) {
background:linear-gradient(135deg,#34d39940,#818cf833);border-color:#34d3998c;transform:translateY(-1px);box-shadow:0 4px 20px #34d39933
}
.s2-stage .confirm-btn:disabled {
opacity:.35;cursor:not-allowed
}
.s2-stage .btn-spinner {
width:.875rem;height:.875rem;border:2px solid rgba(52,211,153,.3);border-top-color:#34d399e6;border-radius:50%;animation:spin-4353fda4 .8s linear infinite
}
@keyframes spin-4353fda4{to{transform:rotate(360deg)}}
.s2-stage .weitiao-done-area {
margin-top:.625rem
}
.s2-stage .done-card {
--bar-color: 52, 211, 153;--badge-color: 52, 211, 153;--name-color: 224, 231, 255;--tag-color: 251, 191, 36;position:relative;display:flex;flex-direction:column;gap:.625rem;padding:1rem 1.125rem;background:var(--w-2);border:1px solid var(--w-8);border-radius:.75rem;overflow:hidden
}
.s2-stage .done-accent-bar {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(var(--bar-color),.7),rgba(var(--bar-color),.2),transparent)
}
.s2-stage .done-accent-a {
--bar-color: 52, 211, 153
}
.s2-stage .done-accent-b {
--bar-color: 251, 191, 36
}
.s2-stage .done-accent-c {
--bar-color: 129, 140, 248
}
.s2-stage .done-accent-d {
--bar-color: 248, 113, 113
}
.s2-stage .done-header {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .done-badge {
display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .5rem;background:rgba(var(--bar-color),.1);border:1px solid rgba(var(--bar-color),.2);border-radius:.3125rem;font-size:.6875rem;font-weight:600;color:rgba(var(--bar-color),.9);white-space:nowrap
}
.s2-stage .done-badge svg {
color:rgba(var(--badge-color),.9);flex-shrink:0
}
.s2-stage .done-name {
font-size:.9375rem;font-weight:600;color:rgba(var(--name-color),.95)
}
.s2-stage .done-highlight {
font-size:.8125rem;color:rgba(var(--bar-color),.75);font-weight:500;padding:.25rem .625rem;background:rgba(var(--bar-color),.06);border-radius:.375rem;border:1px solid rgba(var(--bar-color),.1);display:inline-block;align-self:flex-start
}
.s2-stage .done-desc {
font-size:.8125rem;color:#ffffff8c;line-height:1.65
}
.s2-stage .done-footer {
display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.125rem
}
.s2-stage .done-tag {
display:inline-flex;align-items:center;gap:.3rem;padding:.1875rem .5rem;background:rgba(var(--tag-color),.06);border:1px solid rgba(var(--tag-color),.12);border-radius:1rem;font-size:.6875rem;color:rgba(var(--tag-color),.75);font-weight:500
}
.s2-stage .tag-dot {
width:4px;height:4px;border-radius:50%;background:rgba(var(--tag-color),.55);flex-shrink:0
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#4b5569
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#323c50
}
.s2-stage {
color:#3c4150
}
.s2-stage {
color:#3c465a
}
.s2-stage {
color:#323c50
}
.s2-stage {
background:#fffffff2;border-color:#00000014
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#008caa
}
.s2-stage .jieDian-header {
margin-bottom:.25rem
}
.s2-stage .jieDian-name {
font-size:1rem;font-weight:600;color:var(--w-100)
}
.s2-stage .jieDian-sub {
display:block;font-size:.8125rem;color:var(--w-45);line-height:1.5;margin-top:.25rem
}
.s2-stage .tilian-confirm-area {
margin-top:.75rem;display:flex;flex-direction:column;gap:1.25rem;min-width:0;overflow:hidden
}
.s2-stage .selection-area {
display:flex;flex-direction:column;gap:1rem
}
.s2-stage .selection-header {
display:flex;justify-content:space-between;align-items:baseline
}
.s2-stage .header-title {
font-size:.9375rem;font-weight:600;color:var(--w-100)
}
.s2-stage .header-hint {
font-size:.75rem;color:var(--w-35)
}
.s2-stage .fangxiang-grid {
display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem
}
.s2-stage .fangxiang-card {
--accent: 96, 165, 250;position:relative;display:flex;flex-direction:column;background:#ffffff06;border:1px solid var(--w-7);border-radius:14px;padding:1.125rem 1.125rem .875rem;cursor:pointer;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)
}
.s2-stage .card-glow-bar {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(var(--accent),.5),transparent);opacity:0;transition:opacity .3s ease
}
.s2-stage .fangxiang-card:hover .card-glow-bar,
.s2-stage .fangxiang-card.selected .card-glow-bar {
opacity:1
}
.s2-stage .fangxiang-card.selected .card-glow-bar {
background:linear-gradient(90deg,transparent,rgba(var(--accent),.8),transparent)
}
.s2-stage .fangxiang-card:hover {
background:rgba(var(--accent),.04);border-color:rgba(var(--accent),.2);transform:translateY(-3px);box-shadow:0 8px 24px -8px #00000059,0 0 0 1px rgba(var(--accent),.08)
}
.s2-stage .fangxiang-card.selected {
background:rgba(var(--accent),.08);border-color:rgba(var(--accent),.45);box-shadow:0 0 0 1px rgba(var(--accent),.15),0 4px 20px -4px rgba(var(--accent),.2),inset 0 1px rgba(var(--accent),.1)
}
.s2-stage .card-accent-a {
--accent: 245, 158, 11
}
.s2-stage .card-accent-b {
--accent: 168, 85, 247
}
.s2-stage .card-accent-c {
--accent: 236, 72, 153
}
.s2-stage .card-accent-d {
--accent: 14, 165, 233
}
.s2-stage .card-header {
display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem
}
.s2-stage .card-badge {
width:2.125rem;height:2.125rem;border-radius:10px;background:linear-gradient(135deg,rgba(var(--accent),.2),rgba(var(--accent),.08));border:1px solid rgba(var(--accent),.18);display:flex;align-items:center;justify-content:center;transition:all .3s ease
}
.s2-stage .badge-letter {
font-size:.875rem;font-weight:700;color:rgba(var(--accent),1);line-height:1
}
.s2-stage .fangxiang-card.selected .card-badge {
background:linear-gradient(135deg,rgba(var(--accent),.35),rgba(var(--accent),.15));border-color:rgba(var(--accent),.35);box-shadow:0 0 12px rgba(var(--accent),.2)
}
.s2-stage .card-check {
width:1.375rem;height:1.375rem;border-radius:50%;background:linear-gradient(135deg,rgba(var(--accent),1),rgba(var(--accent),.7));display:flex;align-items:center;justify-content:center;animation:check-pop-3190645e .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px rgba(var(--accent),.4)
}
@keyframes check-pop-3190645e{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}
.s2-stage .card-check svg {
width:.8rem;height:.8rem;color:var(--w-100)
}
.s2-stage .card-body {
display:flex;flex-direction:column;gap:.375rem;flex:1
}
.s2-stage .card-title {
font-size:.9375rem;font-weight:600;color:var(--w-95);line-height:1.35;transition:color .25s ease
}
.s2-stage .fangxiang-card.selected .card-title {
color:var(--w-100)
}
.s2-stage .card-desc {
font-size:.8rem;color:var(--w-50);line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden
}
.s2-stage .fangxiang-card:hover .card-desc {
color:var(--w-60)
}
.s2-stage .fangxiang-card.selected .card-desc {
color:#ffffffa6
}
.s2-stage .card-highlight {
display:inline-flex;align-items:center;gap:.375rem;margin-top:.25rem;padding:.3rem .625rem;background:rgba(var(--accent),.06);border:1px solid rgba(var(--accent),.1);border-radius:.375rem;font-size:.75rem;color:rgba(var(--accent),.85);font-weight:500;line-height:1.4
}
.s2-stage .card-highlight svg {
flex-shrink:0;color:rgba(var(--accent),.7)
}
.s2-stage .card-footer {
margin-top:.75rem;padding-top:.625rem;border-top:1px solid var(--w-5);display:flex;flex-wrap:wrap;gap:.375rem
}
.s2-stage .effect-chip {
display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:rgba(var(--accent),.08);border:1px solid rgba(var(--accent),.12);border-radius:2rem;transition:all .25s ease
}
.s2-stage .fangxiang-card.selected .effect-chip {
background:rgba(var(--accent),.14);border-color:rgba(var(--accent),.25)
}
.s2-stage .chip-dot {
width:5px;height:5px;border-radius:50%;background:rgba(var(--accent),.8);flex-shrink:0
}
.s2-stage .fangxiang-card.selected .chip-dot {
box-shadow:0 0 6px rgba(var(--accent),.6)
}
.s2-stage .chip-text {
font-size:.6875rem;color:rgba(var(--accent),.85);font-weight:500
}
.s2-stage .action-row {
display:flex;align-items:center;justify-content:flex-end
}
.s2-stage .confirm-btn {
display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,#f59e0b26,#a855f71f);border:1px solid rgba(245,158,11,.35);border-radius:.625rem;color:#f59e0bf2;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);letter-spacing:.02em
}
.s2-stage .confirm-btn:hover:not(:disabled) {
background:linear-gradient(135deg,#f59e0b40,#a855f733);border-color:#f59e0b8c;transform:translateY(-1px);box-shadow:0 4px 20px #f59e0b33
}
.s2-stage .confirm-btn:disabled {
opacity:.35;cursor:not-allowed
}
.s2-stage .btn-spinner {
width:.875rem;height:.875rem;border:2px solid rgba(245,158,11,.3);border-top-color:#f59e0be6;border-radius:50%;animation:spin-3190645e .8s linear infinite
}
@keyframes spin-3190645e{to{transform:rotate(360deg)}}
.s2-stage .tilian-done-area {
margin-top:.625rem
}
.s2-stage .done-card {
--bar-color: 245, 158, 11;--badge-color: 52, 211, 153;--name-color: 224, 231, 255;--tag-color: 168, 85, 247;position:relative;display:flex;flex-direction:column;gap:.625rem;padding:1rem 1.125rem;background:var(--w-2);border:1px solid var(--w-8);border-radius:.75rem;overflow:hidden
}
.s2-stage .done-accent-bar {
position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(var(--bar-color),.7),rgba(var(--bar-color),.2),transparent)
}
.s2-stage .done-accent-a {
--bar-color: 245, 158, 11
}
.s2-stage .done-accent-b {
--bar-color: 168, 85, 247
}
.s2-stage .done-accent-c {
--bar-color: 236, 72, 153
}
.s2-stage .done-accent-d {
--bar-color: 14, 165, 233
}
.s2-stage .done-header {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .done-badge {
display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .5rem;background:rgba(var(--bar-color),.1);border:1px solid rgba(var(--bar-color),.2);border-radius:.3125rem;font-size:.6875rem;font-weight:600;color:rgba(var(--bar-color),.9);white-space:nowrap
}
.s2-stage .done-badge svg {
color:rgba(var(--badge-color),.9);flex-shrink:0
}
.s2-stage .done-name {
font-size:.9375rem;font-weight:600;color:rgba(var(--name-color),.95)
}
.s2-stage .done-highlight {
font-size:.8125rem;color:rgba(var(--bar-color),.75);font-weight:500;padding:.25rem .625rem;background:rgba(var(--bar-color),.06);border-radius:.375rem;border:1px solid rgba(var(--bar-color),.1);display:inline-block;align-self:flex-start
}
.s2-stage .done-desc {
font-size:.8125rem;color:#ffffff8c;line-height:1.65
}
.s2-stage .done-footer {
display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.125rem
}
.s2-stage .done-tag {
display:inline-flex;align-items:center;gap:.3rem;padding:.1875rem .5rem;background:rgba(var(--tag-color),.06);border:1px solid rgba(var(--tag-color),.12);border-radius:1rem;font-size:.6875rem;color:rgba(var(--tag-color),.75);font-weight:500
}
.s2-stage .tag-dot {
width:4px;height:4px;border-radius:50%;background:rgba(var(--tag-color),.55);flex-shrink:0
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#4b5569
}
.s2-stage {
color:#191c2d
}
.s2-stage {
color:#323c50
}
.s2-stage {
color:#3c4150
}
.s2-stage {
color:#3c465a
}
.s2-stage {
color:#323c50
}
.s2-stage {
background:#fffffff2;border-color:#00000014
}
.s2-stage {
color:#1e2332
}
.s2-stage {
color:#008caa
}
.s2-stage .jiedian-mianban {
background:linear-gradient(135deg,var(--bg-page-a),var(--bg-panel-a));border-radius:16px;padding:1.5rem;border:1px solid var(--w-8);box-shadow:0 8px 32px var(--b-30);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative
}
.s2-stage .delete-btn {
position:absolute;left:.75rem;top:.75rem;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:#ef444426;border:none;border-radius:.375rem;color:#ef4444e6;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);z-index:10;opacity:.85
}
.s2-stage .delete-btn:hover {
background:#ef444440;color:#ef4444;transform:scale(1.08);opacity:1
}
.s2-stage .delete-btn:active {
transform:scale(.95)
}
.s2-stage .delete-btn svg {
width:1rem;height:1rem
}
.s2-stage .user-input-area {
display:flex;justify-content:flex-end;align-items:flex-start;gap:.75rem;padding:0 1.25rem;margin-bottom:1.5rem
}
.s2-stage .user-bubble-main {
max-width:50rem;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem
}
.s2-stage .user-bubble {
background:#1a1a1c;border:1px solid var(--w-10);border-radius:1rem 1rem .25rem;padding:.75rem 1rem;overflow:hidden
}
.s2-stage .user-images {
display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem
}
.s2-stage .user-image-thumb {
width:3.5rem;height:3.5rem;object-fit:cover;border-radius:8px;border:1px solid var(--w-10);transition:transform .2s,border-color .2s
}
.s2-stage .user-image-thumb:hover {
transform:scale(1.05);border-color:var(--c-primary-50)
}
.s2-stage .user-content-wrapper {
position:relative;overflow:hidden;transition:max-height .3s ease
}
.s2-stage .user-content-wrapper.collapsed {
max-height:200px
}
.s2-stage .user-content-wrapper.collapsed:after {
content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to bottom,transparent,rgb(26,26,28));pointer-events:none
}
.s2-stage .user-desc {
color:var(--text-content);font-size:1rem;line-height:1.8;letter-spacing:.015em;white-space:pre-wrap;word-break:break-word
}
.s2-stage .user-expand-btn {
display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .75rem;margin:.5rem -1rem -.75rem;background:linear-gradient(135deg,#64b4ff14,#50a0ff0a);border-top:1px solid rgba(100,180,255,.12);border-radius:0 0 .25rem 1rem;color:#64b4ffbf;font-size:.8rem;cursor:pointer;transition:all .2s
}
.s2-stage .user-expand-btn:hover {
background:linear-gradient(135deg,#64b4ff1f,#50a0ff14);color:#78c8ff
}
.s2-stage .user-expand-btn svg {
transition:transform .2s
}
.s2-stage .user-expand-btn svg.expanded {
transform:rotate(180deg)
}
.s2-stage .user-bottom-bar {
display:flex;align-items:center;gap:1rem;padding:0 .25rem
}
.s2-stage .user-action-btn {
display:flex;align-items:center;gap:.35rem;padding:.375rem .5rem;background:transparent;border:none;border-radius:6px;color:var(--w-60);font-size:.75rem;cursor:pointer;transition:all .2s
}
.s2-stage .user-action-btn:hover {
background:var(--w-5);color:var(--w-85)
}
.s2-stage .user-avatar {
width:2.5rem;height:2.5rem;min-width:2.5rem;min-height:2.5rem;border-radius:50%;background:linear-gradient(135deg,var(--c-primary-20),rgba(59,130,246,.2));border:2px solid var(--c-primary-30);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;margin-top:.125rem
}
.s2-stage .user-avatar .avatar-img {
width:100%;height:100%;object-fit:cover
}
.s2-stage .user-avatar svg {
width:1.5rem;height:1.5rem;color:var(--c-primary-90)
}
.s2-stage .jieDian-list {
display:flex;flex-direction:column
}
.s2-stage .jieDian-item {
display:flex;gap:1rem;min-height:3.5rem;min-width:0;width:100%
}
.s2-stage .jieDian-left {
display:flex;flex-direction:column;align-items:center;width:2.5rem;flex-shrink:0;padding-top:.125rem
}
.s2-stage .jieDian-icon {
width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease;box-sizing:border-box
}
.s2-stage .jieDian-icon svg {
width:1.125rem;height:1.125rem
}
.s2-stage .jieDian-icon.icon-pending {
background:var(--w-5);border:2px dashed var(--w-20)
}
.s2-stage .jieDian-icon.icon-pending .icon-num {
font-size:.75rem;font-weight:600;color:var(--w-40)
}
.s2-stage .spinner-only {
width:1.25rem;height:1.25rem;border:2px solid rgba(59,130,246,.3);border-top-color:#3b82f6;border-radius:50%;animation:spin-a747e022 .8s linear infinite;flex-shrink:0
}
@keyframes spin-a747e022{to{transform:rotate(360deg)}}
.s2-stage .jieDian-icon.icon-confirm {
background:#fbbf2426;border:2px solid rgba(251,191,36,.5);color:#fbbf24
}
.s2-stage .icon-exclaim {
font-size:1rem;font-weight:800;line-height:1
}
.s2-stage .jieDian-icon.icon-done {
background:#22c55e26;border:2px solid rgba(34,197,94,.5);color:#22c55e
}
.s2-stage .jieDian-icon.icon-error {
background:#ef444426;border:2px solid rgba(239,68,68,.5);color:#f87171
}
.s2-stage .jieDian-line {
width:2px;flex:1;min-height:2.5rem;background:var(--w-10);margin:.625rem 0;border-radius:1px
}
.s2-stage .jieDian-line.line-done {
background:linear-gradient(to bottom,#22c55e99,#22c55e4d)
}
.s2-stage .jieDian-line.line-active {
background:linear-gradient(to bottom,rgba(59,130,246,.6),var(--w-10))
}
.s2-stage .jieDian-line.line-error {
background:linear-gradient(to bottom,rgba(239,68,68,.6),var(--w-10))
}
.s2-stage .jieDian-content {
flex:1;padding-bottom:3.25rem;position:relative;min-width:0;overflow:visible
}
.s2-stage .jieDian-item:last-child .jieDian-content {
padding-bottom:4.5rem
}
.s2-stage .rollback-btn {
position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--w-4);border:1px solid var(--w-10);border-radius:.375rem;color:var(--w-40);font-size:.6875rem;cursor:pointer;transition:all .2s ease;z-index:5
}
.s2-stage .rollback-btn:hover {
background:#fbbf241a;border-color:#fbbf244d;color:#fbbf24e6
}
.s2-stage .rollback-btn:active {
transform:scale(.95)
}
.s2-stage .jieDian-header {
margin-bottom:.25rem
}
.s2-stage .jieDian-name {
font-size:1rem;font-weight:600;color:var(--w-100)
}
.s2-stage .jieDian-item.is-pending .jieDian-name {
color:var(--w-40)
}
.s2-stage .jieDian-timeout-block {
display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.5rem .875rem;background:#fbbf2414;border:1px solid rgba(251,191,36,.2);border-radius:8px;animation:fadeIn-a747e022 .3s ease
}
.s2-stage .jieDian-timeout-hint {
display:flex;align-items:center;gap:.375rem;flex:1
}
.s2-stage .timeout-icon {
width:1rem;height:1rem;color:#fbbf24cc;flex-shrink:0
}
.s2-stage .timeout-text {
font-size:.8125rem;color:#fbbf24e6;line-height:1.4
}
.s2-stage .timeout-retry {
background:#fbbf241a!important;border-color:#fbbf244d!important;color:#fbbf24!important;flex-shrink:0
}
.s2-stage .timeout-retry:hover {
background:#fbbf2433!important;border-color:#fbbf2480!important;color:#fcd34d!important
}
@keyframes fadeIn-a747e022{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.s2-stage .jieDian-error {
display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.625rem .875rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px
}
.s2-stage .jieDian-error .error-icon {
width:1rem;height:1rem;color:#f87171;flex-shrink:0
}
.s2-stage .jieDian-error .error-text {
font-size:.8125rem;color:#fca5a5;line-height:1.4;word-break:break-word
}
.s2-stage .jieDian-error-block {
display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem
}
.s2-stage .retry-btn {
display:inline-flex;align-items:center;gap:.375rem;padding:.4rem .875rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:.5rem;color:#60a5fa;font-size:.8125rem;cursor:pointer;transition:all .2s ease;align-self:flex-end
}
.s2-stage .retry-btn:hover {
background:#3b82f633;border-color:#3b82f680;color:#93bbfd
}
.s2-stage .retry-btn .retry-icon {
width:.875rem;height:.875rem
}
.s2-stage .wave-dots {
display:inline-flex;margin-left:2px
}
.s2-stage .wave-dots .dot {
color:#ffc800e6;font-size:1.2em;animation:wave-a747e022 1.4s ease-in-out infinite
}
.s2-stage .wave-dots .dot:nth-child(1) {
animation-delay:0s
}
.s2-stage .wave-dots .dot:nth-child(2) {
animation-delay:.2s
}
.s2-stage .wave-dots .dot:nth-child(3) {
animation-delay:.4s
}
@keyframes wave-a747e022{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}
.s2-stage .s2-config-header {
margin-top:6.88rem;margin-bottom:2rem;padding:1rem;background:linear-gradient(135deg,var(--c-primary-8),rgba(59,130,246,.05));border-radius:12px;border:1px solid var(--c-primary-15);box-shadow:0 4px 12px var(--c-primary-8)
}
.s2-stage .s2-config-title {
font-size:1rem;font-weight:600;color:var(--w-100);letter-spacing:.5px;margin-bottom:.875rem;display:flex;align-items:center;gap:.5rem
}
.s2-stage .s2-config-title:before {
content:"";width:4px;height:1rem;background:linear-gradient(180deg,var(--color-primary),#3b82f6);border-radius:2px
}
.s2-stage .s2-config-selectors {
display:flex;gap:1.25rem;flex-wrap:wrap;align-items:center;padding-top:.625rem;border-top:1px solid var(--w-6)
}
.s2-stage .s2-config-item {
display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--w-3);border-radius:8px;transition:all .2s ease
}
.s2-stage .s2-config-item:hover {
background:var(--w-5)
}
.s2-stage .s2-config-label {
font-size:.8125rem;color:var(--w-50);font-weight:500;white-space:nowrap
}
.s2-stage .s2-config-locked {
opacity:.4;pointer-events:none;filter:grayscale(.5)
}
.s2-stage .s2-config-lock-tag {
display:flex;align-items:center;gap:.3rem;font-size:.6875rem;color:var(--w-35);white-space:nowrap;padding:.25rem .625rem;background:var(--w-2);border-radius:6px;border:1px solid var(--w-6);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none
}
.s2-stage .s2-config-lock-tag:hover {
background:var(--w-5);color:var(--w-50);border-color:var(--w-10)
}
.s2-stage .s2-config-lock-tag svg {
flex-shrink:0;opacity:.6
}
.s2-stage .s2-lock-arrow {
transition:transform .25s ease;margin-left:.125rem
}
.s2-stage .s2-lock-arrow.is-open {
transform:rotate(180deg)
}
.s2-stage .s2-lock-reason-panel {
width:100%;flex-basis:100%;padding:.875rem 1rem;border-radius:.5rem;background:#eab3080a;border:1px solid rgba(234,179,8,.12)
}
.s2-stage .s2-lock-reason-title {
display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:#facc15d9;margin-bottom:.5rem
}
.s2-stage .s2-lock-reason-title svg {
color:#facc15b3
}
.s2-stage .s2-lock-reason-body {
font-size:.75rem;line-height:1.6;color:var(--w-45)
}
.s2-stage .s2-lock-reason-body p {
margin:0 0 .625rem
}
.s2-stage .s2-lock-reason-body b {
color:#ffffffa6;font-weight:500
}
.s2-stage .s2-lock-reason-list {
display:flex;flex-direction:column;gap:.375rem
}
.s2-stage .s2-lock-reason-item {
display:flex;align-items:flex-start;gap:.5rem
}
.s2-stage .s2-lock-dot {
width:6px;height:6px;border-radius:50%;margin-top:.375rem;flex-shrink:0
}
.s2-stage .s2-lock-dot.ok {
background:#4ade80b3
}
.s2-stage .s2-lock-dot.warn {
background:#facc15b3
}
.s2-stage .s2-lock-dot.danger {
background:#f87171b3
}
.s2-stage .s2-lock-reason-divider {
height:1px;background:var(--w-6);margin:.625rem 0
}
.s2-stage .s2-lock-reason-subtitle {
font-size:.75rem;font-weight:600;color:#ffffff8c;margin-bottom:.375rem
}
.s2-stage .s2-lock-reason-footer {
margin:.5rem 0 0;color:var(--w-30);font-size:.6875rem
}
.s2-stage .lock-reason-enter-active,
.s2-stage .lock-reason-leave-active {
transition:all .25s ease;overflow:hidden
}
.s2-stage .lock-reason-enter-from,
.s2-stage .lock-reason-leave-to {
opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin-top:0
}
.s2-stage .lock-reason-enter-to,
.s2-stage .lock-reason-leave-from {
opacity:1;max-height:300px
}
.s2-stage .jieDian-item.tuoguan-active {
position:relative
}
.s2-stage .jieDian-item.tuoguan-active:before {
content:"";position:absolute;inset:-2px;border-radius:1rem;border:1.5px solid var(--c-primary-35);box-shadow:0 0 1.5rem var(--c-primary-10),inset 0 0 .5rem var(--c-primary-3);pointer-events:none;animation:tuoguan-pulse-a747e022 2s ease-in-out infinite
}
@keyframes tuoguan-pulse-a747e022{0%,to{border-color:var(--c-primary-35);box-shadow:0 0 1.5rem var(--c-primary-10)}50%{border-color:#00cae08c;box-shadow:0 0 2rem var(--c-primary-20)}}
.s2-stage {
background:linear-gradient(135deg,#fff,#f5fcff);border-color:#00000014;box-shadow:0 4px 20px #0000000f
}
.s2-stage {
background:#f0f8fc;border-color:#00000014
}
.s2-stage {
background:linear-gradient(to bottom,transparent,rgb(240,248,252))
}
.s2-stage {
color:#1e2332
}
.s2-stage {
border-color:#0000001a
}
.s2-stage {
color:#465064
}
.s2-stage {
background:#0000000a;color:#1e2332
}
.s2-stage {
background:#dc32321a;color:#c83232
}
.s2-stage {
background:#dc32322e;color:#b41e1e
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#a0a5b4
}
.s2-stage {
background:#00000008;border:2px dashed rgba(0,0,0,.15)
}
.s2-stage {
color:#6e768c
}
.s2-stage {
background:#00000014
}
.s2-stage {
background:#0000000a;border-color:#0000001a;color:#646e82
}
.s2-stage {
color:var(--text-primary)
}
.s2-stage {
color:var(--text-secondary)
}
.s2-stage {
background:#92400e1f;border:2px solid rgba(146,64,14,.45);color:#a16207
}
.s2-stage {
background:#15803d1f;border:2px solid rgba(21,128,61,.45);color:#15803d
}
.s2-stage {
color:#b43232
}
.s2-stage {
background:#92400e14;border-color:#92400e47
}
.s2-stage {
color:#92400ed9
}
.s2-stage {
color:#92400eeb
}
.s2-stage {
background:#92400e1a!important;border-color:#92400e61!important;color:#a16207!important
}
.s2-stage {
background:#92400e2e!important;border-color:#92400e85!important;color:#92400e!important
}
.s2-stage {
background:linear-gradient(135deg,#00648c1a,#0050780f);border-top-color:#00648c33;color:#00648c;font-weight:600
}
.s2-stage {
background:linear-gradient(135deg,#00648c2e,#0050781f);color:#005073
}
.s2-stage .guide-header {
position:relative;text-align:center;padding:2rem 0 2.5rem;border-bottom:1px solid var(--w-4)
}
.s2-stage .header-glow {
position:absolute;top:-60%;left:50%;transform:translate(-50%);width:30rem;height:18rem;background:radial-gradient(ellipse,var(--c-primary-8) 0%,transparent 70%);pointer-events:none
}
.s2-stage .header-badge {
display:inline-flex;align-items:center;gap:.5rem;padding:.35rem 1.2rem;background:var(--c-primary-6);border:1px solid var(--c-primary-20);border-radius:100px;font-size:.85rem;color:var(--c-primary-90);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.25rem
}
.s2-stage .badge-pulse {
width:6px;height:6px;background:#00e5a0;border-radius:50%;animation:pulse-02c3c711 2s ease-in-out infinite
}
@keyframes pulse-02c3c711{0%,to{opacity:.4}50%{opacity:1;box-shadow:0 0 10px #00e5a0e6}}
.s2-stage .header-title {
margin:0 0 .75rem;font-size:2.65rem;font-weight:800;background:linear-gradient(135deg,var(--w-100) 0%,rgba(0,202,224,1) 50%,rgba(0,229,160,1) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em
}
.s2-stage .header-desc {
margin:0 0 1.5rem;font-size:1.15rem;color:#a0afbeb3;line-height:1.6
}
.s2-stage .header-tags {
display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center
}
.s2-stage .h-tag {
padding:.35rem .95rem;background:var(--w-3);border:1px solid var(--w-6);border-radius:100px;font-size:.9rem;color:#b4c3d2a6;transition:all .25s ease
}
.s2-stage .h-tag:hover {
background:var(--c-primary-6);border-color:var(--c-primary-20);color:var(--c-primary-90)
}
.s2-stage .section {
display:flex;flex-direction:column;gap:1.25rem
}
.s2-stage .section-title-row {
display:flex;align-items:center;gap:.75rem
}
.s2-stage .section-icon {
width:2.25rem;height:2.25rem;border-radius:.625rem;display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.s2-stage .section-icon svg {
width:18px;height:18px
}
.s2-stage .section-title {
margin:0;font-size:1.5rem;font-weight:700;color:#ebf2fa
}
.s2-stage .section-tag {
margin-left:auto;font-size:.85rem;padding:.2rem .7rem;background:#00e5a00f;border:1px solid rgba(0,229,160,.15);border-radius:100px;color:#00e5a0cc
}
.s2-stage .section-desc {
margin:0;font-size:1.05rem;color:#afbecdc7;line-height:1.75
}
.s2-stage .video-icon {
background:#38bdf81a;color:#38bdf8e6
}
.s2-stage .overview-icon {
background:var(--c-primary-10);color:var(--c-primary-90)
}
.s2-stage .prep-icon {
background:#00e5a01a;color:#00e5a0e6
}
.s2-stage .core-icon {
background:#f59e0b1a;color:#f59e0be6
}
.s2-stage .mode-icon {
background:#a855f71a;color:#a855f7e6
}
.s2-stage .config-icon {
background:#3b82f61a;color:#3b82f6e6
}
.s2-stage .adv-icon {
background:#ec48991a;color:#ec4899e6
}
.s2-stage .img-icon {
background:#6366f11a;color:#6366f1e6
}
.s2-stage .video-hero-card {
position:relative;padding:2rem 2.5rem;background:linear-gradient(135deg,#38bdf80f,#a855f70a,#00e5a00a);border:1px solid rgba(56,189,248,.15);border-radius:1rem;cursor:pointer;overflow:hidden;transition:all .35s ease
}
.s2-stage .video-hero-card:hover {
border-color:#38bdf859;transform:translateY(-2px);box-shadow:0 8px 32px #38bdf814,0 0 0 1px #38bdf81a
}
.s2-stage .video-hero-glow {
position:absolute;top:-50%;right:-20%;width:24rem;height:18rem;background:radial-gradient(ellipse,rgba(56,189,248,.06) 0%,transparent 70%);pointer-events:none
}
.s2-stage .video-hero-content {
display:flex;align-items:center;gap:2rem;position:relative
}
.s2-stage .video-hero-play {
width:4rem;height:4rem;flex-shrink:0;color:#38bdf8cc;transition:all .3s ease
}
.s2-stage .video-hero-card:hover .video-hero-play {
color:#38bdf8;transform:scale(1.08)
}
.s2-stage .video-hero-play svg {
width:100%;height:100%
}
.s2-stage .video-hero-info {
flex:1
}
.s2-stage .video-hero-badge {
display:inline-block;padding:.2rem .65rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.25);border-radius:4px;font-size:.8rem;font-weight:600;color:#38bdf8e6;letter-spacing:.05em;margin-bottom:.5rem
}
.s2-stage .video-hero-info h3 {
margin:0 0 .4rem;font-size:1.35rem;font-weight:700;color:#f0f5fa
}
.s2-stage .video-hero-info p {
margin:0;font-size:1rem;color:#a0afbea6;line-height:1.6
}
.s2-stage .video-hero-hint {
display:flex;align-items:center;gap:.35rem;margin-top:1rem;font-size:.85rem;color:var(--w-25);position:relative
}
.s2-stage .video-grid {
display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem
}
.s2-stage .video-card {
display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem;background:var(--w-2);border:1px solid var(--w-5);border-radius:.75rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden
}
.s2-stage .video-card:before {
content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s ease;pointer-events:none;border-radius:.75rem
}
.s2-stage .video-card.vcard-0:before {
background:linear-gradient(135deg,rgba(0,202,224,.04),transparent)
}
.s2-stage .video-card.vcard-1:before {
background:linear-gradient(135deg,rgba(168,85,247,.04),transparent)
}
.s2-stage .video-card.vcard-2:before {
background:linear-gradient(135deg,rgba(245,158,11,.04),transparent)
}
.s2-stage .video-card.vcard-3:before {
background:linear-gradient(135deg,rgba(0,229,160,.04),transparent)
}
.s2-stage .video-card:hover:before {
opacity:1
}
.s2-stage .video-card:hover {
border-color:var(--w-12);transform:translateY(-1px);box-shadow:0 4px 16px var(--b-20)
}
.s2-stage .video-card-num {
width:2.25rem;height:2.25rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;font-family:Courier New,monospace;flex-shrink:0
}
.s2-stage .vnum-0 {
background:var(--c-primary-10);color:var(--c-primary-90)
}
.s2-stage .vnum-1 {
background:#a855f71a;color:#a855f7e6
}
.s2-stage .vnum-2 {
background:#f59e0b1a;color:#f59e0be6
}
.s2-stage .vnum-3 {
background:#00e5a01a;color:#00e5a0e6
}
.s2-stage .video-card-body {
flex:1;min-width:0
}
.s2-stage .video-card-body h4 {
margin:0 0 .25rem;font-size:1.025rem;font-weight:600;color:#e6f0faf2
}
.s2-stage .video-card-body p {
margin:0;font-size:.9rem;color:#a0afbe8c;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.s2-stage .video-card-play {
width:1.75rem;height:1.75rem;flex-shrink:0;color:var(--w-15);transition:all .25s ease
}
.s2-stage .video-card:hover .video-card-play {
color:#38bdf8b3;transform:scale(1.1)
}
.s2-stage .video-card-play svg {
width:100%;height:100%
}
.s2-stage .flow-timeline {
position:relative;display:flex;flex-direction:column;gap:0;padding:1rem 0 .5rem 1.25rem
}
.s2-stage .flow-track {
position:absolute;left:2.1rem;top:2.75rem;bottom:1.25rem;width:2px;background:linear-gradient(180deg,var(--c-primary-30),rgba(168,85,247,.3),rgba(245,158,11,.3));border-radius:1px
}
.s2-stage .flow-node {
display:flex;align-items:center;gap:1rem;padding:.5rem 0;position:relative
}
.s2-stage .flow-dot {
width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;font-family:Courier New,monospace;flex-shrink:0;position:relative;z-index:1
}
.s2-stage .flow-dot.fdot-0 {
background:var(--c-primary-12);color:var(--c-primary-90);border:1.5px solid var(--c-primary-30)
}
.s2-stage .flow-dot.fdot-1 {
background:#a855f71f;color:#a855f7e6;border:1.5px solid rgba(168,85,247,.3)
}
.s2-stage .flow-dot.fdot-2 {
background:#f59e0b1f;color:#f59e0be6;border:1.5px solid rgba(245,158,11,.3)
}
.s2-stage .flow-info {
display:flex;align-items:center;gap:.6rem
}
.s2-stage .flow-phase-tag {
font-size:.75rem;padding:.15rem .55rem;border-radius:3px;font-weight:500
}
.s2-stage .flow-phase-tag.fptag-0 {
background:var(--c-primary-8);color:var(--c-primary-70)
}
.s2-stage .flow-phase-tag.fptag-1 {
background:#a855f714;color:#a855f7b3
}
.s2-stage .flow-phase-tag.fptag-2 {
background:#f59e0b14;color:#f59e0bb3
}
.s2-stage .flow-label {
font-size:1.05rem;color:#d2dce6d9;font-weight:500
}
.s2-stage .prep-cards {
display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem
}
.s2-stage .prep-card {
display:flex;gap:.85rem;padding:1.25rem;border-radius:.75rem;transition:all .25s ease;border-left:3px solid
}
.s2-stage .prep-cyan {
background:#00cae006;border-left-color:var(--c-primary-35);border-top:1px solid var(--c-primary-6);border-right:1px solid var(--c-primary-6);border-bottom:1px solid var(--c-primary-6)
}
.s2-stage .prep-cyan:hover {
background:var(--c-primary-5);border-left-color:var(--c-primary-50)
}
.s2-stage .prep-purple {
background:#a855f706;border-left-color:#a855f759;border-top:1px solid rgba(168,85,247,.06);border-right:1px solid rgba(168,85,247,.06);border-bottom:1px solid rgba(168,85,247,.06)
}
.s2-stage .prep-purple:hover {
background:#a855f70d;border-left-color:#a855f780
}
.s2-stage .prep-amber {
background:#f59e0b06;border-left-color:#f59e0b59;border-top:1px solid rgba(245,158,11,.06);border-right:1px solid rgba(245,158,11,.06);border-bottom:1px solid rgba(245,158,11,.06)
}
.s2-stage .prep-amber:hover {
background:#f59e0b0d;border-left-color:#f59e0b80
}
.s2-stage .prep-green {
background:#00e5a006;border-left-color:#00e5a059;border-top:1px solid rgba(0,229,160,.06);border-right:1px solid rgba(0,229,160,.06);border-bottom:1px solid rgba(0,229,160,.06)
}
.s2-stage .prep-green:hover {
background:#00e5a00d;border-left-color:#00e5a080
}
.s2-stage .prep-num {
width:2rem;height:2rem;border-radius:50%;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.s2-stage .pnum-cyan {
background:var(--c-primary-12);color:var(--c-primary-90)
}
.s2-stage .pnum-purple {
background:#a855f71f;color:#a855f7e6
}
.s2-stage .pnum-amber {
background:#f59e0b1f;color:#f59e0be6
}
.s2-stage .pnum-green {
background:#00e5a01f;color:#00e5a0e6
}
.s2-stage .prep-info h4 {
margin:0 0 .35rem;font-size:1.1rem;font-weight:600;color:#e6f0faf2
}
.s2-stage .prep-info p {
margin:0;font-size:.95rem;color:#a0afbeb3;line-height:1.7
}
.s2-stage .node-list {
display:flex;flex-direction:column
}
.s2-stage .phase-divider {
display:flex;align-items:center;gap:1rem;margin:1rem 0 .5rem 2.75rem;padding-left:1rem
}
.s2-stage .phase-divider-line {
flex:1;height:1px
}
.s2-stage .pdline-0 {
background:linear-gradient(90deg,transparent,var(--c-primary-20),transparent)
}
.s2-stage .pdline-1 {
background:linear-gradient(90deg,transparent,rgba(168,85,247,.2),transparent)
}
.s2-stage .pdline-2 {
background:linear-gradient(90deg,transparent,rgba(245,158,11,.2),transparent)
}
.s2-stage .phase-divider-label {
font-size:.8rem;font-weight:600;letter-spacing:.1em;white-space:nowrap;padding:.25rem .85rem;border-radius:100px
}
.s2-stage .pdlabel-0 {
color:var(--c-primary-70);background:var(--c-primary-6);border:1px solid var(--c-primary-12)
}
.s2-stage .pdlabel-1 {
color:#a855f7b3;background:#a855f70f;border:1px solid rgba(168,85,247,.12)
}
.s2-stage .pdlabel-2 {
color:#f59e0bb3;background:#f59e0b0f;border:1px solid rgba(245,158,11,.12)
}
.s2-stage .node-card {
display:flex;gap:1rem
}
.s2-stage .node-left {
display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:2.75rem
}
.s2-stage .node-num {
width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;font-family:Courier New,monospace;flex-shrink:0
}
.s2-stage .node-num.num-0 {
background:var(--c-primary-12);color:var(--c-primary-90);border:1.5px solid var(--c-primary-25)
}
.s2-stage .node-num.num-1 {
background:#a855f71f;color:#a855f7e6;border:1.5px solid rgba(168,85,247,.25)
}
.s2-stage .node-num.num-2 {
background:#f59e0b1f;color:#f59e0be6;border:1.5px solid rgba(245,158,11,.25)
}
.s2-stage .node-line {
flex:1;width:2px;min-height:1rem;border-radius:1px
}
.s2-stage .node-line.line-0 {
background:linear-gradient(180deg,var(--c-primary-25),rgba(0,202,224,.04))
}
.s2-stage .node-line.line-1 {
background:linear-gradient(180deg,#a855f740,#a855f70a)
}
.s2-stage .node-line.line-2 {
background:linear-gradient(180deg,#f59e0b40,#f59e0b0a)
}
.s2-stage .node-right {
flex:1;padding-bottom:1rem
}
.s2-stage .node-body-card {
padding:1.25rem 1.5rem;border-radius:.75rem;border:1px solid var(--w-4);border-left:3px solid;transition:all .25s ease
}
.s2-stage .node-body-card:hover {
border-top-color:var(--w-8);border-right-color:var(--w-8);border-bottom-color:var(--w-8)
}
.s2-stage .nbcard-0 {
background:#00cae005;border-left-color:var(--c-primary-35)
}
.s2-stage .nbcard-0:hover {
background:#00cae009;border-left-color:var(--c-primary-50)
}
.s2-stage .nbcard-1 {
background:#a855f705;border-left-color:#a855f759
}
.s2-stage .nbcard-1:hover {
background:#a855f709;border-left-color:#a855f780
}
.s2-stage .nbcard-2 {
background:#f59e0b05;border-left-color:#f59e0b59
}
.s2-stage .nbcard-2:hover {
background:#f59e0b09;border-left-color:#f59e0b80
}
.s2-stage .node-header {
display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem
}
.s2-stage .node-phase-tag {
font-size:.8rem;padding:.2rem .6rem;border-radius:4px;font-weight:500
}
.s2-stage .node-phase-tag.tag-0 {
background:var(--c-primary-8);color:#00cae0bf
}
.s2-stage .node-phase-tag.tag-1 {
background:#a855f714;color:#a855f7bf
}
.s2-stage .node-phase-tag.tag-2 {
background:#f59e0b14;color:#f59e0bbf
}
.s2-stage .node-name {
margin:0;font-size:1.25rem;font-weight:600;color:#ebf2fa
}
.s2-stage .node-desc {
margin:0 0 .85rem;font-size:1rem;color:#b9c8d7bf;line-height:1.8
}
.s2-stage .node-desc .hl {
font-weight:600;padding:.1rem .35rem;border-radius:3px
}
.s2-stage .node-desc .hl-0 {
color:var(--c-primary-95);background:var(--c-primary-8)
}
.s2-stage .node-desc .hl-1 {
color:#a855f7f2;background:#a855f714
}
.s2-stage .node-desc .hl-2 {
color:#f59e0bf2;background:#f59e0b14
}
.s2-stage .node-tips {
display:flex;flex-wrap:wrap;gap:.5rem
}
.s2-stage .tip-tag {
display:inline-flex;align-items:flex-start;gap:.4rem;padding:.4rem .85rem;border-radius:.5rem;font-size:.9rem;line-height:1.5;transition:all .2s ease
}
.s2-stage .tiptag-0 {
background:var(--c-primary-5);border:1px solid var(--c-primary-10);color:#b4d7e1cc
}
.s2-stage .tiptag-0:hover {
background:var(--c-primary-8);border-color:var(--c-primary-20)
}
.s2-stage .tiptag-1 {
background:#a855f70d;border:1px solid rgba(168,85,247,.1);color:#c8b4e6cc
}
.s2-stage .tiptag-1:hover {
background:#a855f714;border-color:#a855f733
}
.s2-stage .tiptag-2 {
background:#f59e0b0d;border:1px solid rgba(245,158,11,.1);color:#e6c8a0cc
}
.s2-stage .tiptag-2:hover {
background:#f59e0b14;border-color:#f59e0b33
}
.s2-stage .tip-tag .hl {
font-weight:600;padding:.05rem .3rem;border-radius:3px
}
.s2-stage .tip-tag .hl-0 {
color:var(--c-primary-95);background:var(--c-primary-10)
}
.s2-stage .tip-tag .hl-1 {
color:#a855f7f2;background:#a855f71a
}
.s2-stage .tip-tag .hl-2 {
color:#f59e0bf2;background:#f59e0b1a
}
.s2-stage .tip-tag-dot {
width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:.5rem
}
.s2-stage .ttdot-0 {
background:var(--c-primary-60);box-shadow:0 0 4px var(--c-primary-30)
}
.s2-stage .ttdot-1 {
background:#a855f799;box-shadow:0 0 4px #a855f74d
}
.s2-stage .ttdot-2 {
background:#f59e0b99;box-shadow:0 0 4px #f59e0b4d
}
.s2-stage .mode-cards {
display:grid;grid-template-columns:repeat(2,1fr);gap:1rem
}
.s2-stage .mode-card {
padding:1.5rem;border-radius:.875rem;border:1px solid
}
.s2-stage .mode-card.mode-step {
background:#00cae005;border-color:var(--c-primary-10)
}
.s2-stage .mode-card.mode-auto {
background:#a855f705;border-color:#a855f71a
}
.s2-stage .mode-card-header {
display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem
}
.s2-stage .mode-card-icon {
width:2.25rem;height:2.25rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center
}
.s2-stage .mode-card-icon svg {
width:18px;height:18px
}
.s2-stage .step-color {
background:var(--c-primary-10);color:var(--c-primary-90)
}
.s2-stage .auto-color {
background:#a855f71a;color:#a855f7e6
}
.s2-stage .mode-card h3 {
margin:0;font-size:1.2rem;font-weight:600;color:#ebf2fa
}
.s2-stage .coming-soon-tag {
font-size:.75rem;padding:.15rem .5rem;background:#eab3081a;border:1px solid rgba(234,179,8,.25);border-radius:100px;color:#eab308d9;font-weight:500;margin-left:auto
}
.s2-stage .mode-card p {
margin:0 0 .5rem;font-size:1rem;color:#a0afbea6;line-height:1.6
}
.s2-stage .mode-card ul {
margin:0 0 .85rem;padding-left:1.2rem;list-style:none
}
.s2-stage .mode-card li {
position:relative;font-size:.95rem;color:#b4c3d299;line-height:1.85;padding-left:.25rem
}
.s2-stage .mode-card li:before {
content:"";position:absolute;left:-.8rem;top:.65rem;width:4px;height:4px;border-radius:50%
}
.s2-stage .mode-card.mode-step li:before {
background:#00cae073
}
.s2-stage .mode-card.mode-auto li:before {
background:#a855f773
}
.s2-stage .mode-badge {
display:inline-block;font-size:.85rem;padding:.3rem .85rem;border-radius:100px;font-weight:500
}
.s2-stage .step-badge {
background:var(--c-primary-6);color:#00cae0bf;border:1px solid var(--c-primary-12)
}
.s2-stage .auto-badge {
background:#a855f70f;color:#a855f7bf;border:1px solid rgba(168,85,247,.12)
}
.s2-stage .mode-tip-text {
margin:0;font-size:.95rem;color:#a0afbe66;text-align:center;font-style:italic
}
.s2-stage .config-grid {
display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem
}
.s2-stage .config-card {
padding:1.25rem;border-radius:.75rem;transition:all .25s ease;border-left:3px solid
}
.s2-stage .config-card:nth-child(1) {
background:#3b82f606;border-left-color:#3b82f64d;border-top:1px solid rgba(59,130,246,.06);border-right:1px solid rgba(59,130,246,.06);border-bottom:1px solid rgba(59,130,246,.06)
}
.s2-stage .config-card:nth-child(1):hover {
background:#3b82f60d;border-left-color:#3b82f680
}
.s2-stage .config-card:nth-child(2) {
background:#00e5a006;border-left-color:#00e5a04d;border-top:1px solid rgba(0,229,160,.06);border-right:1px solid rgba(0,229,160,.06);border-bottom:1px solid rgba(0,229,160,.06)
}
.s2-stage .config-card:nth-child(2):hover {
background:#00e5a00d;border-left-color:#00e5a080
}
.s2-stage .config-card:nth-child(3) {
background:#f59e0b06;border-left-color:#f59e0b4d;border-top:1px solid rgba(245,158,11,.06);border-right:1px solid rgba(245,158,11,.06);border-bottom:1px solid rgba(245,158,11,.06)
}
.s2-stage .config-card:nth-child(3):hover {
background:#f59e0b0d;border-left-color:#f59e0b80
}
.s2-stage .config-card:nth-child(4) {
background:#a855f706;border-left-color:#a855f74d;border-top:1px solid rgba(168,85,247,.06);border-right:1px solid rgba(168,85,247,.06);border-bottom:1px solid rgba(168,85,247,.06)
}
.s2-stage .config-card:nth-child(4):hover {
background:#a855f70d;border-left-color:#a855f780
}
.s2-stage .config-card-icon {
width:2.25rem;height:2.25rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem
}
.s2-stage .config-card-icon svg {
width:18px;height:18px
}
.s2-stage .cfg-icon-0 {
background:#3b82f61a;color:#3b82f6d9
}
.s2-stage .cfg-icon-1 {
background:#00e5a01a;color:#00e5a0d9
}
.s2-stage .cfg-icon-2 {
background:#f59e0b1a;color:#f59e0bd9
}
.s2-stage .cfg-icon-3 {
background:#a855f71a;color:#a855f7d9
}
.s2-stage .config-card h4 {
margin:0 0 .4rem;font-size:1.075rem;font-weight:600;color:#e6f0faf2
}
.s2-stage .config-card p {
margin:0;font-size:.95rem;color:#a0afbea6;line-height:1.65
}
.s2-stage .adv-grid {
display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem
}
.s2-stage .adv-card {
padding:1.1rem;border-radius:.75rem;transition:all .25s ease;border-left:3px solid
}
.s2-stage .adv-card-icon {
width:2rem;height:2rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;margin-bottom:.6rem
}
.s2-stage .adv-card-icon svg {
width:16px;height:16px
}
.s2-stage .adv-card h4 {
margin:0 0 .4rem;font-size:1rem;font-weight:600;color:#e6f0faf2
}
.s2-stage .adv-card p {
margin:0;font-size:.9rem;color:#a0afbea6;line-height:1.6
}
.s2-stage .adv-cyan {
background:var(--c-primary-3);border-color:var(--c-primary-25);border-right:1px solid var(--c-primary-6);border-top:1px solid var(--c-primary-6);border-bottom:1px solid var(--c-primary-6)
}
.s2-stage .adv-cyan:hover {
background:var(--c-primary-6);border-color:var(--c-primary-40)
}
.s2-stage .advicon-cyan {
background:var(--c-primary-10);color:var(--c-primary-85)
}
.s2-stage .adv-purple {
background:#a855f708;border-color:#a855f740;border-right:1px solid rgba(168,85,247,.06);border-top:1px solid rgba(168,85,247,.06);border-bottom:1px solid rgba(168,85,247,.06)
}
.s2-stage .adv-purple:hover {
background:#a855f70f;border-color:#a855f766
}
.s2-stage .advicon-purple {
background:#a855f71a;color:#a855f7d9
}
.s2-stage .adv-green {
background:#00e5a008;border-color:#00e5a040;border-right:1px solid rgba(0,229,160,.06);border-top:1px solid rgba(0,229,160,.06);border-bottom:1px solid rgba(0,229,160,.06)
}
.s2-stage .adv-green:hover {
background:#00e5a00f;border-color:#00e5a066
}
.s2-stage .advicon-green {
background:#00e5a01a;color:#00e5a0d9
}
.s2-stage .adv-amber {
background:#f59e0b08;border-color:#f59e0b40;border-right:1px solid rgba(245,158,11,.06);border-top:1px solid rgba(245,158,11,.06);border-bottom:1px solid rgba(245,158,11,.06)
}
.s2-stage .adv-amber:hover {
background:#f59e0b0f;border-color:#f59e0b66
}
.s2-stage .advicon-amber {
background:#f59e0b1a;color:#f59e0bd9
}
.s2-stage .adv-rose {
background:#f43f5e08;border-color:#f43f5e40;border-right:1px solid rgba(244,63,94,.06);border-top:1px solid rgba(244,63,94,.06);border-bottom:1px solid rgba(244,63,94,.06)
}
.s2-stage .adv-rose:hover {
background:#f43f5e0f;border-color:#f43f5e66
}
.s2-stage .advicon-rose {
background:#f43f5e1a;color:#f43f5ed9
}
.s2-stage .adv-orange {
background:#fb923c08;border-color:#fb923c40;border-right:1px solid rgba(251,146,60,.06);border-top:1px solid rgba(251,146,60,.06);border-bottom:1px solid rgba(251,146,60,.06)
}
.s2-stage .adv-orange:hover {
background:#fb923c0f;border-color:#fb923c66
}
.s2-stage .advicon-orange {
background:#fb923c1a;color:#fb923cd9
}
.s2-stage .adv-sky {
background:#38bdf808;border-color:#38bdf840;border-right:1px solid rgba(56,189,248,.06);border-top:1px solid rgba(56,189,248,.06);border-bottom:1px solid rgba(56,189,248,.06)
}
.s2-stage .adv-sky:hover {
background:#38bdf80f;border-color:#38bdf866
}
.s2-stage .advicon-sky {
background:#38bdf81a;color:#38bdf8d9
}
.s2-stage .adv-indigo {
background:#6366f108;border-color:#6366f140;border-right:1px solid rgba(99,102,241,.06);border-top:1px solid rgba(99,102,241,.06);border-bottom:1px solid rgba(99,102,241,.06)
}
.s2-stage .adv-indigo:hover {
background:#6366f10f;border-color:#6366f166
}
.s2-stage .advicon-indigo {
background:#6366f11a;color:#6366f1d9
}
.s2-stage .img-types {
display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem
}
.s2-stage .img-type-card {
display:flex;gap:.85rem;padding:1.15rem;border-radius:.75rem;transition:all .25s ease;border-left:3px solid
}
.s2-stage .img-type-card:nth-child(1) {
background:#3b82f606;border-left-color:#3b82f659;border-top:1px solid rgba(59,130,246,.06);border-right:1px solid rgba(59,130,246,.06);border-bottom:1px solid rgba(59,130,246,.06)
}
.s2-stage .img-type-card:nth-child(1):hover {
background:#3b82f60e;border-left-color:#3b82f680
}
.s2-stage .img-type-card:nth-child(2) {
background:#00cae006;border-left-color:var(--c-primary-35);border-top:1px solid var(--c-primary-6);border-right:1px solid var(--c-primary-6);border-bottom:1px solid var(--c-primary-6)
}
.s2-stage .img-type-card:nth-child(2):hover {
background:#00cae00e;border-left-color:var(--c-primary-50)
}
.s2-stage .img-type-card:nth-child(3) {
background:#a855f706;border-left-color:#a855f759;border-top:1px solid rgba(168,85,247,.06);border-right:1px solid rgba(168,85,247,.06);border-bottom:1px solid rgba(168,85,247,.06)
}
.s2-stage .img-type-card:nth-child(3):hover {
background:#a855f70e;border-left-color:#a855f780
}
.s2-stage .img-type-card:nth-child(4) {
background:#f59e0b06;border-left-color:#f59e0b59;border-top:1px solid rgba(245,158,11,.06);border-right:1px solid rgba(245,158,11,.06);border-bottom:1px solid rgba(245,158,11,.06)
}
.s2-stage .img-type-card:nth-child(4):hover {
background:#f59e0b0e;border-left-color:#f59e0b80
}
.s2-stage .img-type-icon {
width:2.75rem;height:2.75rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.s2-stage .img-type-icon svg {
width:22px;height:22px
}
.s2-stage .type-icon-0 {
background:#3b82f61a;color:#3b82f6d9
}
.s2-stage .type-icon-1 {
background:var(--c-primary-10);color:var(--c-primary-85)
}
.s2-stage .type-icon-2 {
background:#a855f71a;color:#a855f7d9
}
.s2-stage .type-icon-3 {
background:#f59e0b1a;color:#f59e0bd9
}
.s2-stage .img-type-info h4 {
margin:0 0 .35rem;font-size:1.05rem;font-weight:600;color:#e6f0faf2
}
.s2-stage .img-type-info p {
margin:0;font-size:.95rem;color:#a0afbeb3;line-height:1.65
}
.s2-stage .guide-footer {
position:relative;text-align:center;padding-top:2rem;border-top:1px solid var(--w-4)
}
.s2-stage .footer-glow {
position:absolute;bottom:0;left:50%;transform:translate(-50%);width:20rem;height:8rem;background:radial-gradient(ellipse,rgba(0,202,224,.04) 0%,transparent 70%);pointer-events:none
}
.s2-stage .guide-footer p {
margin:0 0 1.25rem;font-size:1.1rem;color:#a0afbe80
}
.s2-stage {
background:linear-gradient(135deg,#141928,#007d9b,#00a06e);-webkit-background-clip:text;background-clip:text
}
.s2-stage {
color:#374155
}
.s2-stage {
color:#3c465a;background:#0000000a;border-color:#0000001a
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#374155
}
.s2-stage {
background:#00b48214;border-color:#00b48233;color:#00825f
}
.s2-stage {
box-shadow:0 1px 4px #0000000f
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#414b5f
}
.s2-stage {
color:#4b5569
}
.s2-stage {
color:#191e32
}
.s2-stage {
color:#4b5569
}
.s2-stage {
background:#fffffff2;border-color:#00000014;box-shadow:0 2px 8px #0000000a
}
.s2-stage {
border-color:#00000024;box-shadow:0 4px 16px #00000014
}
.s2-stage {
color:#0003
}
.s2-stage {
background:linear-gradient(180deg,#0000000f,#00000005)
}
.s2-stage {
color:#283246
}
.s2-stage {
color:#283246
}
.s2-stage {
background:#00a1c21f;color:#00789b;border-color:#00a1c24d
}
.s2-stage {
background:#8b5cf61f;color:#6d28d9;border-color:#8b5cf64d
}
.s2-stage {
background:#d977061f;color:#b45309;border-color:#d977064d
}
.s2-stage {
background:#00a1c21a;color:#00789b
}
.s2-stage {
background:#8b5cf61a;color:#6d28d9
}
.s2-stage {
background:#d977061a;color:#b45309
}
.s2-stage {
background:#fffffff2;border-color:#00000014;box-shadow:0 2px 8px #0000000a
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#3c465a
}
.s2-stage {
background:#00a1c21f;color:#00789b
}
.s2-stage {
background:#8b5cf61f;color:#6d28d9
}
.s2-stage {
background:#d977061f;color:#b45309
}
.s2-stage {
background:#00b4821f;color:#00825f
}
.s2-stage {
border-color:#00000014
}
.s2-stage {
border-top-color:#0000001f;border-right-color:#0000001f;border-bottom-color:#0000001f
}
.s2-stage {
background:#00a1c20a;border-left-color:#00a1c273
}
.s2-stage {
background:#00a1c212;border-left-color:#00a1c2a6
}
.s2-stage {
background:#8b5cf60a;border-left-color:#8b5cf673
}
.s2-stage {
background:#8b5cf612;border-left-color:#8b5cf6a6
}
.s2-stage {
background:#d977060a;border-left-color:#d9770673
}
.s2-stage {
background:#d9770612;border-left-color:#d97706a6
}
.s2-stage {
background:#00a1c21f;color:#00789b;border-color:#00a1c24d
}
.s2-stage {
background:#8b5cf61f;color:#6d28d9;border-color:#8b5cf64d
}
.s2-stage {
background:#d977061f;color:#b45309;border-color:#d977064d
}
.s2-stage {
background:linear-gradient(180deg,#00a1c24d,#00a1c20d)
}
.s2-stage {
background:linear-gradient(180deg,#8b5cf64d,#8b5cf60d)
}
.s2-stage {
background:linear-gradient(180deg,#d977064d,#d977060d)
}
.s2-stage {
background:#00a1c21a;color:#00789b
}
.s2-stage {
background:#8b5cf61a;color:#6d28d9
}
.s2-stage {
background:#d977061a;color:#b45309
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#374155
}
.s2-stage {
color:#00789b;background:#00a1c21a
}
.s2-stage {
color:#6d28d9;background:#8b5cf61a
}
.s2-stage {
color:#b45309;background:#d977061a
}
.s2-stage {
background:#00a1c20f;border-color:#00a1c226;color:#284b5a
}
.s2-stage {
background:#00a1c21a;border-color:#00a1c240
}
.s2-stage {
background:#8b5cf60f;border-color:#8b5cf626;color:#412d64
}
.s2-stage {
background:#8b5cf61a;border-color:#8b5cf640
}
.s2-stage {
background:#d977060f;border-color:#d9770626;color:#644114
}
.s2-stage {
background:#d977061a;border-color:#d9770640
}
.s2-stage {
color:#00789b;background:#00a1c21f
}
.s2-stage {
color:#6d28d9;background:#8b5cf61f
}
.s2-stage {
color:#b45309;background:#d977061f
}
.s2-stage {
background:#008caf;box-shadow:0 0 4px #00a1c259
}
.s2-stage {
background:#7846e6;box-shadow:0 0 4px #8b5cf659
}
.s2-stage {
background:#c86400;box-shadow:0 0 4px #d9770659
}
.s2-stage {
background:linear-gradient(90deg,transparent,rgba(0,161,194,.25),transparent)
}
.s2-stage {
background:linear-gradient(90deg,transparent,rgba(139,92,246,.25),transparent)
}
.s2-stage {
background:linear-gradient(90deg,transparent,rgba(217,119,6,.25),transparent)
}
.s2-stage {
color:#00789b;background:#00a1c214;border-color:#00a1c22e
}
.s2-stage {
color:#6d28d9;background:#8b5cf614;border-color:#8b5cf62e
}
.s2-stage {
color:#b45309;background:#d9770614;border-color:#d977062e
}
.s2-stage {
background:#fffffff2;border-color:#00000014;box-shadow:0 2px 8px #0000000a
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#374155
}
.s2-stage {
color:#414b5f
}
.s2-stage {
background:#008caf
}
.s2-stage {
background:#7846e6
}
.s2-stage {
background:#00a1c214;color:#00789b;border-color:#00a1c233
}
.s2-stage {
background:#8b5cf614;color:#6d28d9;border-color:#8b5cf633
}
.s2-stage {
background:#00a1c21f;color:#00789b
}
.s2-stage {
background:#8b5cf61f;color:#6d28d9
}
.s2-stage {
color:#5a6478
}
.s2-stage {
background:#d9770614;border-color:#d9770633;color:#b45309
}
.s2-stage {
background:#fffffff2;border-color:#00000014;box-shadow:0 2px 8px #0000000a
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#3c465a
}
.s2-stage {
background:#fffffff2;border-color:#00000014;box-shadow:0 2px 8px #0000000a
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#3c465a
}
.s2-stage {
background:#fffffff2;border-color:#00000014;box-shadow:0 2px 8px #0000000a
}
.s2-stage {
color:#141928
}
.s2-stage {
color:#3c465a
}
.s2-stage {
border-top-color:#0000000f
}
.s2-stage {
color:#4b5569
}
.s2-stage {
background:radial-gradient(ellipse,rgba(0,161,194,.06) 0%,transparent 70%)
}
.s2-stage .tuoguan-modal-overlay {
position:fixed;inset:0;background:var(--b-80);-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem
}
.s2-stage .tuoguan-modal-container {
position:relative;background:linear-gradient(145deg,rgb(16,16,20) 0%,var(--bg-panel-3) 50%,rgb(16,16,20) 100%);border-radius:1rem;box-shadow:0 1.25rem 4rem #000000a6,0 0 0 1px var(--c-primary-12),0 0 2rem var(--c-primary-3);width:58rem;max-width:94vw;max-height:92vh;overflow-y:auto;overflow-x:hidden
}
.s2-stage .modal-close {
position:absolute;top:.875rem;right:.875rem;width:2rem;height:2rem;border-radius:.5rem;border:none;background:var(--w-5);color:var(--w-45);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;z-index:10
}
.s2-stage .modal-close:hover {
background:var(--w-10);color:var(--w-100);transform:rotate(90deg)
}
.s2-stage .modal-header {
padding:1.125rem 1.5rem .875rem;display:flex;align-items:flex-start;gap:.75rem;border-bottom:1px solid var(--w-5)
}
.s2-stage .header-icon {
width:2.25rem;height:2.25rem;border-radius:.625rem;background:linear-gradient(135deg,#00cae02e,#0066ff1f);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0
}
.s2-stage .header-text {
flex:1;padding-right:1.75rem
}
.s2-stage .modal-title {
font-size:1.05rem;font-weight:600;color:var(--w-100);margin:0 0 .1875rem;background:linear-gradient(135deg,var(--w-100),var(--w-85));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text
}
.s2-stage .modal-subtitle {
font-size:.75rem;color:var(--w-40);margin:0;line-height:1.4
}
.s2-stage .notice-bar {
margin:0 1.5rem;padding:.375rem .75rem;border-radius:.5rem;background:#f59e0b0f;border:1px solid rgba(245,158,11,.12);display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:#f59e0bbf;line-height:1.5
}
.s2-stage .notice-icon {
flex-shrink:0;color:#f59e0b99
}
.s2-stage .groups-grid {
display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;padding:1rem 1.5rem
}
.s2-stage .config-group {
padding:0 .875rem
}
.s2-stage .config-group:first-child {
padding-left:0
}
.s2-stage .config-group:last-child {
padding-right:0
}
.s2-stage .config-group:not(:last-child) {
border-right:1px solid var(--w-5)
}
.s2-stage .group-header {
display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;padding-bottom:.375rem;border-bottom:1px solid var(--w-5)
}
.s2-stage .group-dot {
width:.4rem;height:.4rem;border-radius:50%;flex-shrink:0
}
.s2-stage .group-title {
font-size:.8125rem;font-weight:600;color:var(--w-80);flex:1
}
.s2-stage .group-toggle {
font-size:.72rem;color:#00cae0a6;background:none;border:none;cursor:pointer;padding:.125rem .375rem;border-radius:.25rem;transition:all .2s
}
.s2-stage .group-toggle:hover {
color:var(--color-primary);background:var(--c-primary-8)
}
.s2-stage .group-items {
display:flex;flex-direction:column;gap:.1875rem
}
.s2-stage .config-item {
display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem;border-radius:.4375rem;cursor:pointer;transition:all .15s;border:1px solid transparent
}
.s2-stage .config-item:hover {
background:var(--w-3);border-color:var(--w-4)
}
.s2-stage .config-item.checked {
background:var(--c-primary-5);border-color:var(--c-primary-12)
}
.s2-stage .cb-wrap {
position:relative;flex-shrink:0
}
.s2-stage .cb-wrap input {
position:absolute;opacity:0;width:0;height:0
}
.s2-stage .cb-box {
width:1rem;height:1rem;border-radius:.25rem;border:1.5px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;transition:all .15s
}
.s2-stage .config-item.checked .cb-box {
background:var(--c-primary-85);border-color:var(--c-primary-85);color:var(--w-100)
}
.s2-stage .item-info {
flex:1;min-width:0
}
.s2-stage .item-name {
display:block;font-size:.78rem;color:var(--w-85);font-weight:500;line-height:1.25
}
.s2-stage .item-desc {
display:block;font-size:.66rem;color:var(--w-30);margin-top:.0625rem;line-height:1.25
}
.s2-stage .config-item.checked .item-name {
color:var(--w-95)
}
.s2-stage .modal-footer {
padding:.875rem 1.5rem 1rem;border-top:1px solid var(--w-6);display:flex;flex-direction:column;gap:.75rem;background:#0000001f
}
.s2-stage .retry-section-title {
display:flex;align-items:center;gap:.375rem;font-size:.72rem;font-weight:500;color:var(--w-45);margin-bottom:.375rem
}
.s2-stage .retry-section-title svg {
color:var(--w-30)
}
.s2-stage .retry-cards {
display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem
}
.s2-stage .retry-card {
display:flex;align-items:center;gap:.45rem;padding:.45rem .625rem;border-radius:.5rem;background:var(--w-3);border:1px solid var(--w-6);transition:border-color .2s
}
.s2-stage .retry-card:hover {
border-color:var(--w-10)
}
.s2-stage .retry-card-icon {
width:1.625rem;height:1.625rem;border-radius:.375rem;background:var(--w-4);display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.s2-stage .retry-card-body {
flex:1;min-width:0
}
.s2-stage .retry-card-label {
display:block;font-size:.72rem;color:var(--w-80);font-weight:500;line-height:1.2
}
.s2-stage .retry-card-hint {
display:block;font-size:.62rem;color:var(--w-30);margin-top:.025rem;line-height:1.2
}
.s2-stage .retry-ctrl {
display:flex;align-items:center;gap:.125rem;flex-shrink:0
}
.s2-stage .adj-btn {
width:1.375rem;height:1.375rem;border-radius:.3125rem;border:1px solid var(--w-10);background:var(--w-4);color:var(--w-50);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:300;transition:all .15s;padding:0
}
.s2-stage .adj-btn:hover {
border-color:var(--c-primary-40);color:var(--color-primary);background:var(--c-primary-6)
}
.s2-stage .retry-val {
width:1.4rem;text-align:center;font-size:.8rem;font-weight:600;color:var(--w-100);font-variant-numeric:tabular-nums
}
.s2-stage .retry-unit {
font-size:.66rem;color:var(--w-25);flex-shrink:0;margin-left:.0625rem
}
.s2-stage .video-target-card {
border-color:#10b98126
}
.s2-stage .video-target-card:hover {
border-color:#10b9814d
}
.s2-stage .footer-actions {
display:flex;align-items:center;justify-content:flex-end;gap:.625rem
}
.s2-stage .checked-count {
font-size:.75rem;color:var(--w-40);margin-right:auto
}
.s2-stage .checked-count strong {
color:#00cae0bf;font-weight:600
}
.s2-stage .cancel-btn {
padding:.4375rem 1.125rem;border-radius:.5rem;border:1px solid var(--w-10);background:transparent;color:#ffffff8c;font-size:.75rem;cursor:pointer;transition:all .2s
}
.s2-stage .cancel-btn:hover {
border-color:var(--w-20);color:var(--w-80)
}
.s2-stage .start-btn {
padding:.4375rem 1.25rem;border-radius:.5rem;border:none;background:linear-gradient(135deg,var(--c-primary-85),rgba(0,150,200,.85));color:var(--w-100);font-size:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.375rem;transition:all .2s;box-shadow:0 0 1.25rem #00cae02e
}
.s2-stage .start-btn:hover:not(:disabled) {
box-shadow:0 0 2rem var(--c-primary-35);transform:translateY(-1px)
}
.s2-stage .start-btn:disabled {
opacity:.4;cursor:not-allowed
}
.s2-stage .tuoguan-modal-fade-enter-active {
transition:opacity .25s ease
}
.s2-stage .tuoguan-modal-fade-enter-active .tuoguan-modal-container {
transition:transform .25s ease,opacity .25s ease
}
.s2-stage .tuoguan-modal-fade-leave-active {
transition:opacity .15s ease
}
.s2-stage .tuoguan-modal-fade-leave-active .tuoguan-modal-container {
transition:transform .15s ease,opacity .15s ease
}
.s2-stage .tuoguan-modal-fade-enter-from {
opacity:0
}
.s2-stage .tuoguan-modal-fade-enter-from .tuoguan-modal-container {
transform:scale(.96) translateY(.5rem);opacity:0
}
.s2-stage .tuoguan-modal-fade-leave-to {
opacity:0
}
.s2-stage .tuoguan-modal-fade-leave-to .tuoguan-modal-container {
transform:scale(.96);opacity:0
}
@media(max-width:56rem) {
.s2-stage .groups-grid {
grid-template-columns:1fr;gap:1rem
}.s2-stage .config-group {
padding:0!important;border-right:none!important
}.s2-stage .tuoguan-modal-container {
width:100%
}.s2-stage .retry-cards {
grid-template-columns:1fr
}.s2-stage .footer-actions {
flex-wrap:wrap
}
}
.s2-stage {
background:#00000059
}
.s2-stage {
background:linear-gradient(145deg,#fff,#f8faff,#fff);box-shadow:0 2rem 6rem #0000001f,0 0 0 1px #00a1c214
}
.s2-stage {
background:linear-gradient(135deg,#191e2d,#3c4150);-webkit-background-clip:text;background-clip:text
}
.s2-stage {
color:#414b64
}
.s2-stage {
color:#282d3c
}
.s2-stage {
color:#323746
}
.s2-stage {
color:#191c28
}
.s2-stage {
color:#5a6478
}
.s2-stage {
background:#00000008
}
.s2-stage {
background:#00a1c20a;border-color:#00a1c226
}
.s2-stage {
border-color:#0003
}
.s2-stage {
background:#00000005;border-top-color:#0000000f
}
.s2-stage {
color:#3c4150
}
.s2-stage {
color:#414b64
}
.s2-stage {
background:#ffffffe6;border:1px solid rgba(0,0,0,.08)
}
.s2-stage {
border-color:#00000026
}
.s2-stage {
background:#0000000a
}
.s2-stage {
color:#282d3c
}
.s2-stage {
color:#5a6478
}
.s2-stage {
border-color:#0000001f;background:#ffffffe6;color:#505a6e
}
.s2-stage {
border-color:#00a1c266;color:#008caa;background:#00a1c20f
}
.s2-stage {
color:#191c28
}
.s2-stage {
color:#5a6478
}
.s2-stage {
border-color:#10b98133
}
.s2-stage {
border-color:#10b98159
}
.s2-stage {
color:#414b64
}
.s2-stage {
color:#008caa
}
.s2-stage {
border-color:#0000001a;color:#505a6e
}
.s2-stage {
border-color:#0003;color:#282d3c
}
.s2-stage {
background:#a162070f;border-color:#a162071f;color:#a16207e0
}
.s2-stage {
color:#a16207a6
}
.s2-stage .manju-s2-container {
width:100%;height:100vh;display:flex;background:var(--bg-page-2);color:#f5fbff;overflow:hidden;position:relative
}
.s2-stage .manju-s2-container:before {
content:"";position:absolute;inset:0;background:radial-gradient(ellipse 100% 60% at 50% -10%,var(--c-primary-3) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 100% 100%,rgba(0,150,180,.02) 0%,transparent 50%);pointer-events:none
}
.s2-stage .left-panel {
width:22rem;height:100%;display:flex;flex-direction:column;background:var(--bg-page);border-right:1px solid var(--w-6);flex-shrink:0;position:relative;z-index:1;transition:width .35s cubic-bezier(.4,0,.2,1);overflow:hidden
}
.s2-stage .left-panel.collapsed {
width:2.75rem;cursor:pointer
}
.s2-stage .left-panel.collapsed:hover {
width:3rem;background:#121216;border-right-color:var(--c-primary-20)
}
.s2-stage .panel-content {
position:absolute;inset:0;width:22rem;display:flex;flex-direction:column;opacity:1;transition:opacity .2s ease .3s
}
.s2-stage .panel-content.hidden {
opacity:0;pointer-events:none;transition:opacity .12s ease
}
.s2-stage .collapsed-indicator {
position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding-top:1.25rem;gap:.75rem;opacity:0;pointer-events:none;transition:opacity .2s ease
}
.s2-stage .collapsed-indicator.visible {
opacity:1;pointer-events:auto;transition:opacity .2s ease .35s
}
.s2-stage .collapsed-line {
width:2px;height:2rem;background:linear-gradient(180deg,var(--c-primary-60),var(--c-primary-10));border-radius:1px
}
.s2-stage .collapsed-icon {
color:var(--c-primary-50);transition:all .2s ease;display:flex;align-items:center;justify-content:center
}
.s2-stage .left-panel.collapsed:hover .collapsed-icon {
color:var(--c-primary-90);transform:translate(2px)
}
.s2-stage .collapsed-text {
writing-mode:vertical-rl;font-size:.75rem;color:var(--w-30);letter-spacing:.15em;transition:color .2s ease;max-height:6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.s2-stage .left-panel.collapsed:hover .collapsed-text {
color:var(--c-primary-70)
}
.s2-stage .collapsed-chapter {
writing-mode:vertical-rl;font-size:.65rem;color:var(--c-primary-50);letter-spacing:.1em;transition:color .2s ease;margin-top:.25rem
}
.s2-stage .left-panel.collapsed:hover .collapsed-chapter {
color:var(--c-primary-80)
}
.s2-stage .collapsed-chapter-title {
writing-mode:vertical-rl;font-size:.6rem;color:var(--w-25);letter-spacing:.05em;transition:color .2s ease;margin-top:.2rem;max-height:5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.s2-stage .left-panel.collapsed:hover .collapsed-chapter-title {
color:var(--w-50)
}
.s2-stage .main-content {
flex:1;position:relative;overflow:hidden;z-index:1
}
.s2-stage .content-area {
position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;padding-top:2rem;box-sizing:border-box
}
.s2-stage .content-area::-webkit-scrollbar {
width:8px
}
.s2-stage .content-area::-webkit-scrollbar-track {
background:var(--b-30);border-radius:4px
}
.s2-stage .content-area::-webkit-scrollbar-thumb {
background:var(--w-20);border-radius:4px
}
.s2-stage .task-container {
width:100%;max-width:100rem;margin:0 auto;display:flex;flex-direction:column;gap:2rem;box-sizing:border-box;padding:0 2rem
}
.s2-stage .bottom-spacer {
height:18rem;flex-shrink:0
}
.s2-stage .mobile-action-icon {
width:2.1rem;height:2.1rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:.65rem;background:var(--c-primary-10);color:var(--c-primary-90)
}
.s2-stage .mobile-action-icon svg {
width:1.15rem;height:1.15rem
}
.s2-stage .mobile-mode-title {
margin-bottom:.65rem;color:var(--w-60);font-size:.78rem;font-weight:600
}
.s2-stage .mobile-mode-card .mode-switch-wrapper {
position:static;right:auto;bottom:auto;z-index:auto
}
.s2-stage .mobile-mode-card .mode-switch {
width:100%
}
.s2-stage .mobile-mode-card .mode-switch-option {
flex:1;justify-content:center;padding:.65rem .45rem
}
.s2-stage .config-btn-wrapper {
position:static;z-index:1;display:flex;align-items:center;margin-left:.5rem
}
.s2-stage .config-btn {
width:2.125rem;height:2.125rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(var(--c-primary-rgb),.08);border:1.5px solid rgba(var(--c-primary-rgb),.28);border-radius:.75rem;cursor:pointer;position:relative;overflow:hidden;color:var(--c-primary-85);box-shadow:inset 0 1px #ffffff0f;transition:all .3s ease;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem)
}
.s2-stage .config-btn:hover {
background:rgba(var(--c-primary-rgb),.14);border-color:rgba(var(--c-primary-rgb),.48);color:var(--c-primary-95);box-shadow:0 0 .875rem rgba(var(--c-primary-rgb),.16),inset 0 1px #ffffff14
}
.s2-stage .config-btn svg {
position:relative;z-index:1
}
.s2-stage .wide-legacy-actions {
display:none
}
.s2-stage .manju-s2-container .bottom-section .desktop-guide-action {
position:static;left:auto;bottom:1rem;z-index:1;width:2.125rem;height:2.125rem;border-radius:.75rem;background:rgba(var(--c-primary-rgb),.08);border-color:rgba(var(--c-primary-rgb),.28);color:var(--c-primary-85);box-shadow:inset 0 1px #ffffff0f
}
.s2-stage .manju-s2-container .bottom-section .desktop-guide-action:hover {
background:rgba(var(--c-primary-rgb),.14);border-color:rgba(var(--c-primary-rgb),.48);color:var(--c-primary-95);box-shadow:0 0 .875rem rgba(var(--c-primary-rgb),.16),inset 0 1px #ffffff14
}
.s2-stage .manju-s2-container .bottom-input-wrapper.is-floating-actions .bottom-action-left .desktop-guide-action {
bottom:3rem;border-radius:.75rem;background:rgba(var(--c-primary-rgb),.08);border-color:rgba(var(--c-primary-rgb),.28);color:var(--c-primary-85);box-shadow:inset 0 1px #ffffff0f
}
.s2-stage .manju-s2-container .bottom-input-wrapper.is-floating-actions .bottom-action-left .desktop-guide-action:hover {
background:rgba(var(--c-primary-rgb),.14);border-color:rgba(var(--c-primary-rgb),.48);color:var(--c-primary-95);box-shadow:0 0 .875rem rgba(var(--c-primary-rgb),.16),inset 0 1px #ffffff14
}
.s2-stage .manju-s2-container .bottom-section .desktop-mode-switch {
position:static;right:auto;bottom:auto;z-index:1;flex-shrink:0
}
.s2-stage .manju-s2-container .bottom-section .desktop-mode-switch .mode-switch {
background:#0c0e1680;border-color:rgba(var(--c-primary-rgb),.16);border-radius:.875rem;padding:.125rem;box-shadow:inset 0 1px #ffffff0d
}
.s2-stage .manju-s2-container .bottom-section .desktop-mode-switch .mode-switch:hover {
border-color:rgba(var(--c-primary-rgb),.28)
}
.s2-stage .manju-s2-container .bottom-section .desktop-mode-switch .mode-switch-option {
gap:.3125rem;padding:.375rem .65rem;border-radius:.75rem
}
.s2-stage .manju-s2-container .bottom-section .desktop-mode-switch .mode-switch-option span {
font-size:.75rem;letter-spacing:0
}
.s2-stage .manju-s2-container .bottom-section .desktop-mode-switch .mode-icon {
width:.9375rem;height:.9375rem
}
.s2-stage .manju-s2-container .bottom-section .desktop-mode-switch .mode-switch-slider {
top:.125rem;height:calc(100% - .25rem);border-radius:.75rem
}
@media(min-width:1601px) {
.s2-stage .wide-legacy-actions {
display:block
}.s2-stage .manju-s2-container .bottom-section .desktop-guide-action,
.s2-stage .manju-s2-container .bottom-section .desktop-mode-switch,
.s2-stage .manju-s2-container .bottom-section .config-btn-wrapper {
display:none
}.s2-stage .wide-legacy-actions .config-btn-wrapper {
position:absolute;left:1.25rem;bottom:4.2rem;z-index:100;margin-left:0
}.s2-stage .wide-legacy-actions .config-btn {
width:3rem;height:3rem;background:transparent;border:none;color:var(--c-primary-60);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none
}.s2-stage .wide-legacy-actions .config-btn-bg {
position:absolute;inset:0;border-radius:inherit;background:var(--c-primary-6);border:1px solid var(--c-primary-15);transition:all .3s ease
}.s2-stage .wide-legacy-actions .config-btn:hover .config-btn-bg {
background:var(--c-primary-12);border-color:var(--c-primary-35)
}.s2-stage .wide-legacy-actions .config-btn:hover {
color:var(--c-primary-95);box-shadow:none
}.s2-stage .wide-legacy-actions .desktop-mode-switch {
position:absolute;right:2rem;bottom:2rem;z-index:100
}
}
.s2-stage {
color:var(--text-primary)
}
.s2-stage {
background:var(--bg-hover-solid);border-right-color:var(--w-12)
}
.s2-stage {
background:#00a1c21f;color:#0082a0
}
.s2-stage {
color:var(--text-tertiary)
}
.s2-stage {
background:#ffffffd1;border-color:rgba(var(--c-primary-rgb),.2);color:#0082a0;box-shadow:0 .125rem .5rem rgba(var(--c-primary-rgb),.08)
}
.s2-stage {
background:#ecfdfff5;border-color:rgba(var(--c-primary-rgb),.36);color:#00647d;box-shadow:0 .25rem .875rem rgba(var(--c-primary-rgb),.12)
}
.s2-stage {
background:#ffffffd1;border-color:rgba(var(--c-primary-rgb),.2);color:#0082a0;box-shadow:0 .125rem .5rem rgba(var(--c-primary-rgb),.08)
}
.s2-stage {
background:#ecfdfff5;border-color:rgba(var(--c-primary-rgb),.36);color:#00647d;box-shadow:0 .25rem .875rem rgba(var(--c-primary-rgb),.12)
}
.s2-stage {
background:#ffffffd1;border-color:rgba(var(--c-primary-rgb),.2);color:#0082a0;box-shadow:0 .125rem .5rem rgba(var(--c-primary-rgb),.08)
}
.s2-stage {
background:#ecfdfff5;border-color:rgba(var(--c-primary-rgb),.36);color:#00647d;box-shadow:0 .25rem .875rem rgba(var(--c-primary-rgb),.12)
}
.s2-stage {
background:#ffffffc2;border-color:rgba(var(--c-primary-rgb),.14);box-shadow:0 .125rem .5rem #0f172a0f
}
@media(max-width:1400px) {
.s2-stage .config-btn-wrapper,
.s2-stage .desktop-guide-action,
.s2-stage .desktop-mode-switch {
display:none
}.s2-stage .left-panel {
position:absolute;left:0;top:0;bottom:0;z-index:30
}.s2-stage .main-content {
margin-left:2.75rem
}.s2-stage .content-area.task-area {
bottom:3.5rem
}.s2-stage .manju-s2-container .bottom-input-wrapper.is-floating-actions {
display:none
}.s2-stage .manju-s2-container .mobile-action-entry {
position:absolute;right:1rem;bottom:.75rem;z-index:110;display:block!important
}
}
@media(max-width:1400px) {
.s2-stage body.in-manjus2 .right-action-buttons-group {
display:none!important
}
}

/* ---- MoShiQieHuan-BXu0dm9J.css ---- */

.s2-stage .mode-switch-wrapper {
position:absolute;right:2rem;bottom:2rem;z-index:100
}
.s2-stage .mode-switch {
display:flex;align-items:center;position:relative;background:var(--b-60);border:1px solid var(--w-8);border-radius:1.5rem;padding:.1875rem;gap:0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .3s ease,box-shadow .3s ease
}
.s2-stage .mode-switch:hover {
border-color:var(--w-15)
}
.s2-stage .mode-switch-slider {
position:absolute;top:.1875rem;height:calc(100% - .375rem);width:calc(50% - .1875rem);border-radius:1.25rem;transition:transform .35s cubic-bezier(.4,0,.2,1),background .35s ease,border-color .35s ease,box-shadow .35s ease;pointer-events:none
}
.s2-stage .mode-switch-slider.slide-left {
transform:translate(0)
}
.s2-stage .mode-switch-slider.slide-right {
transform:translate(calc(100% + .1875rem))
}
.s2-stage .mode-switch-slider.slider-step {
background:linear-gradient(135deg,var(--c-primary-20),var(--c-primary-8));border:1px solid var(--c-primary-40);box-shadow:0 0 12px var(--c-primary-15),inset 0 1px 0 var(--w-5)
}
.s2-stage .mode-switch-slider.slider-auto {
background:linear-gradient(135deg,#eab30838,#eab30814);border:1px solid rgba(234,179,8,.45);box-shadow:0 0 12px #eab3082e,inset 0 1px 0 var(--w-5)
}
.s2-stage .mode-switch-option {
position:relative;z-index:1;display:flex;align-items:center;gap:.4rem;padding:.5625rem 1rem;border:none;background:transparent;cursor:pointer;outline:none;border-radius:1.25rem;transition:all .3s ease;white-space:nowrap
}
.s2-stage .mode-switch-option span {
font-size:.8125rem;font-weight:500;color:var(--w-35);transition:color .3s ease;letter-spacing:.02em
}
.s2-stage .mode-switch-option.active span {
color:var(--w-95)
}
.s2-stage .mode-switch-option:not(.active):hover span {
color:#ffffff8c
}
.s2-stage .mode-icon {
width:1.0625rem;height:1.0625rem;color:var(--w-25);transition:color .3s ease,filter .3s ease;flex-shrink:0
}
.s2-stage .mode-switch-option.opt-step.active .mode-icon {
color:var(--color-primary);filter:drop-shadow(0 0 4px var(--c-primary-50))
}
.s2-stage .mode-switch-option.opt-auto.active .mode-icon {
color:#eab308;filter:drop-shadow(0 0 4px rgba(234,179,8,.5))
}
.s2-stage .mode-switch-option:not(.active):hover .mode-icon {
color:var(--w-45)
}
.s2-stage .mode-switch.is-auto {
border-color:#eab3082e;box-shadow:0 0 20px #eab3080f;animation:auto-glow-54c7607a 2.5s ease-in-out infinite
}
@keyframes auto-glow-54c7607a{0%,to{box-shadow:0 0 20px #eab3080f}50%{box-shadow:0 0 28px #eab3081f}}
.s2-stage {
background:#ffffffeb;border-color:#0000001a;box-shadow:0 2px 8px #0000000f
}
.s2-stage {
border-color:#00000026
}
.s2-stage {
color:#788296
}
.s2-stage {
color:#1e1e32
}
.s2-stage {
color:#505564
}
.s2-stage {
color:#a0a5b4
}
.s2-stage {
color:#646e82
}
.s2-stage {
background:linear-gradient(135deg,#00a1c21f,#00a1c20d);border-color:#00a1c24d;box-shadow:0 0 8px #00a1c21a
}
.s2-stage {
background:linear-gradient(135deg,#eab3081f,#eab3080d);border-color:#c896004d;box-shadow:0 0 8px #eab3081a
}
.s2-stage {
border-color:#a1620738;box-shadow:0 0 12px #ca8a040f
}
.s2-stage {
color:#b45309;filter:none
}
.s2-stage {
filter:none
}

/* ---- ImageLightbox-BxgjYtkC.css ---- */

.s2-stage .image-lightbox-overlay {
position:fixed;inset:0;width:100vw;height:100vh;background-color:var(--b-90);backdrop-filter:blur(.5rem);-webkit-backdrop-filter:blur(.5rem);display:flex;align-items:center;justify-content:center;z-index:10002
}
.s2-stage .image-lightbox-content {
display:flex;align-items:center;justify-content:center;max-width:90vw;max-height:90vh;position:relative;overflow:visible
}
.s2-stage .image-lightbox-actions {
position:absolute;top:-1.5rem;right:-.5rem;z-index:10;display:flex;align-items:center;gap:.25rem;padding:.3rem .35rem;background:#14161ac7;border:1px solid rgba(255,255,255,.1);border-radius:.625rem;box-shadow:0 .375rem 1rem #00000047;backdrop-filter:blur(.5rem);-webkit-backdrop-filter:blur(.5rem)
}
.s2-stage .image-lightbox-btn {
width:2rem;height:2rem;flex-shrink:0;background:transparent;border:none;border-radius:.45rem;color:#ffffffd9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s
}
.s2-stage .image-lightbox-btn:hover:not(:disabled) {
background:#ffffff24;color:#fff
}
.s2-stage .image-lightbox-download:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .image-lightbox-yuantu {
background:#06b6d438;color:#22d3ee
}
.s2-stage .image-lightbox-yuantu:hover:not(:disabled) {
background:#06b6d466;color:#67e8f9
}
.s2-stage .image-lightbox-yuantu:disabled {
opacity:.6;cursor:default
}
.s2-stage .image-lightbox-yuantu-spin {
animation:image-lightbox-yuantu-spin-d67c8a3f .9s linear infinite
}
@keyframes image-lightbox-yuantu-spin-d67c8a3f{to{transform:rotate(360deg)}}
.s2-stage .image-lightbox-quality {
position:absolute;bottom:1.5rem;left:1.5rem;z-index:10
}
.s2-stage .image-lightbox-img {
max-width:100%;max-height:85vh;object-fit:contain;border-radius:.5rem;box-shadow:0 .5rem 2rem var(--b-50);transform-origin:center center;transition:transform .12s ease-out;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;touch-action:none
}
.s2-stage .image-lightbox-img.dragging {
transition:none
}
.s2-stage .image-lightbox-nav {
position:absolute;width:3.5rem;height:3.5rem;background-color:var(--w-10);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10
}
.s2-stage .image-lightbox-nav:hover:not(:disabled) {
background-color:var(--w-20);transform:scale(1.1)
}
.s2-stage .image-lightbox-nav:disabled {
opacity:.3;cursor:not-allowed
}
.s2-stage .image-lightbox-prev {
left:-5rem
}
.s2-stage .image-lightbox-next {
right:-5rem
}
.s2-stage .image-lightbox-counter {
position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background-color:var(--b-60);border-radius:1rem;color:var(--w-90);font-size:.875rem;z-index:10
}
.s2-stage .image-lightbox-fade-enter-active,
.s2-stage .image-lightbox-fade-leave-active {
transition:opacity .3s ease
}
.s2-stage .image-lightbox-fade-enter-from,
.s2-stage .image-lightbox-fade-leave-to {
opacity:0
}
@media(max-width:48rem) {
.s2-stage .image-lightbox-quality {
left:1rem;bottom:1rem
}.s2-stage .image-lightbox-prev {
left:1rem
}.s2-stage .image-lightbox-next {
right:1rem
}
}

/* ---- ZiChanXuanZeQi-BVpquTd2.css ---- */

.s2-stage .zcxzq-mask {
position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);display:flex;align-items:center;justify-content:center;z-index:10002
}
.s2-stage .zcxzq-modal {
width:44rem;max-width:calc(100vw - 2rem);height:36rem;max-height:calc(100vh - 4rem);background:var(--color-2);border:.0625rem solid var(--w-15);border-radius:.875rem;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 1.25rem 3rem var(--b-50)
}
.s2-stage .zcxzq-header {
display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-bottom:.0625rem solid var(--w-10)
}
.s2-stage .zcxzq-header h3 {
margin:0;font-size:.9375rem;color:var(--color-text-primary)
}
.s2-stage .zcxzq-close {
background:transparent;border:none;color:var(--color-text-secondary);font-size:1.25rem;cursor:pointer;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center
}
.s2-stage .zcxzq-close:hover {
color:var(--color-text-primary)
}
.s2-stage .zcxzq-toolbar {
display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;border-bottom:.0625rem solid var(--w-10)
}
.s2-stage .zcxzq-source-tabs {
display:flex;gap:.375rem
}
.s2-stage .zcxzq-source-tab {
flex:1;height:2rem;border:.0625rem solid var(--w-15);background:var(--bg-card);color:var(--color-text-primary);border-radius:.5rem;cursor:pointer;font-size:.8125rem;font-weight:500;transition:all .15s ease
}
.s2-stage .zcxzq-source-tab:hover {
border-color:var(--color-primary)
}
.s2-stage .zcxzq-source-tab.active {
background:var(--color-primary);color:#fff;border-color:var(--color-primary)
}
.s2-stage .zcxzq-linggan-hint {
font-size:.6875rem;line-height:1.4;color:var(--color-text-secondary);opacity:.9
}
.s2-stage .zcxzq-retention-hint {
display:flex;align-items:center;gap:.375rem;margin-top:.5rem;padding:.3rem .55rem;border-radius:.4rem;font-size:.6875rem;line-height:1.4;color:#fde0abeb;background:linear-gradient(135deg,#f59e0b1f,#ea580c0f);border:1px solid rgba(245,158,11,.25)
}
.s2-stage .zcxzq-retention-hint b {
color:#fde68a;font-weight:600
}
.s2-stage .zcxzq-retention-dot {
width:.375rem;height:.375rem;border-radius:50%;background:#fbbf24f2;flex-shrink:0
}
.s2-stage {
background:linear-gradient(135deg,#f59e0b1a,#ea580c0d);border-color:#f59e0b59;color:#b45309
}
.s2-stage {
color:#92400e
}
.s2-stage {
background:#d97706
}
.s2-stage .zcxzq-card-linggan .zcxzq-meta {
min-height:2.5rem
}
.s2-stage .zcxzq-linggan-sub {
margin-top:.125rem
}
.s2-stage .zcxzq-linggan-price {
font-size:.6875rem;color:var(--color-primary);font-weight:600
}
.s2-stage .zcxzq-linggan-price.free {
color:var(--color-text-secondary);font-weight:500
}
.s2-stage .zcxzq-type-tag.type-linggan {
background:#ec4899e0
}
.s2-stage .zcxzq-using-overlay {
position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;border-radius:inherit
}
.s2-stage .zcxzq-card-linggan {
cursor:pointer
}
.s2-stage .zcxzq-card-linggan:hover {
border-color:color-mix(in srgb,var(--color-primary) 55%,var(--w-15))
}
.s2-stage .zcxzq-card-linggan.is-paid {
cursor:not-allowed
}
.s2-stage .zcxzq-card-linggan.is-paid .zcxzq-thumb img {
filter:grayscale(.65) brightness(.7)
}
.s2-stage .zcxzq-card-linggan.is-paid:hover {
border-color:var(--w-15)
}
.s2-stage .zcxzq-paid-overlay {
position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;border-radius:inherit
}
.s2-stage .zcxzq-paid-tag {
background:#000000a6;color:#fff;font-size:.75rem;padding:.25rem .625rem;border-radius:.875rem;letter-spacing:.0625rem
}
.s2-stage .zcxzq-toolbar-row {
display:flex;gap:.5rem;align-items:center
}
.s2-stage .zcxzq-create-btn {
flex-shrink:0;height:2rem;padding:0 .75rem;background:var(--bg-card);border:.0625rem dashed var(--w-20);color:var(--color-text-primary);border-radius:.375rem;cursor:pointer;font-size:.75rem;white-space:nowrap;transition:all .15s ease
}
.s2-stage .zcxzq-create-btn:hover {
border-color:var(--color-primary);color:var(--color-primary);border-style:solid
}
.s2-stage .zcxzq-search {
width:100%;flex:1;height:2rem;padding:0 .625rem;background:var(--bg-card);border:.0625rem solid var(--w-15);border-radius:.375rem;color:var(--color-text-primary);font-size:.8125rem;outline:none;box-sizing:border-box;transition:border-color .15s ease
}
.s2-stage .zcxzq-search:focus {
border-color:var(--color-primary)
}
.s2-stage .zcxzq-search:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .zcxzq-type-tabs {
display:flex;flex-wrap:wrap;gap:.375rem
}
.s2-stage .zcxzq-type-tab {
height:1.75rem;padding:0 .75rem;border:.0625rem solid var(--w-15);background:var(--bg-card);color:var(--color-text-primary);border-radius:.875rem;cursor:pointer;font-size:.75rem;transition:all .15s ease
}
.s2-stage .zcxzq-select-all {
margin-left:auto;display:inline-flex;align-items:center;gap:.375rem;height:1.75rem;padding:0 .25rem;font-size:.75rem;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .15s ease
}
.s2-stage .zcxzq-select-all:hover {
color:var(--color-text-primary)
}
.s2-stage .zcxzq-select-all.busy {
cursor:wait
}
.s2-stage .zcxzq-select-all-box {
width:.875rem;height:.875rem;margin:0;cursor:pointer;accent-color:var(--color-primary)
}
.s2-stage .zcxzq-select-all .zcxzq-spinner {
width:.875rem;height:.875rem;border-color:color-mix(in srgb,var(--color-primary) 25%,transparent);border-top-color:var(--color-primary)
}
.s2-stage .zcxzq-type-tab:hover {
border-color:var(--color-primary)
}
.s2-stage .zcxzq-type-tab:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .zcxzq-type-tab:disabled:hover {
border-color:var(--w-15)
}
.s2-stage .zcxzq-type-tab.active {
background:var(--color-primary);color:#fff;border-color:var(--color-primary)
}
.s2-stage .zcxzq-body {
flex:1;overflow-y:auto;padding:.75rem 1rem;scrollbar-width:thin;scrollbar-color:var(--w-10) transparent
}
.s2-stage .zcxzq-body::-webkit-scrollbar {
width:5px
}
.s2-stage .zcxzq-body::-webkit-scrollbar-thumb {
background:var(--w-10);border-radius:3px
}
.s2-stage .zcxzq-grid {
display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.625rem
}
.s2-stage .zcxzq-card {
background:var(--bg-card);border:.125rem solid transparent;border-radius:.5rem;cursor:pointer;overflow:hidden;transition:all .15s ease;display:flex;flex-direction:column
}
.s2-stage .zcxzq-card:hover {
transform:translateY(-2px);border-color:var(--w-15)
}
.s2-stage .zcxzq-card.is-management {
cursor:pointer
}
.s2-stage .zcxzq-card.is-management.is-text {
cursor:default
}
.s2-stage .zcxzq-card.selected {
border-color:var(--color-primary);box-shadow:0 0 0 .125rem color-mix(in srgb,var(--color-primary) 30%,transparent)
}
.s2-stage .zcxzq-card.is-pinned:not(.selected) {
border-color:color-mix(in srgb,var(--color-warn, #f59e0b) 45%,var(--w-15))
}
.s2-stage .zcxzq-thumb {
position:relative;width:100%;aspect-ratio:1;background:var(--b-30);overflow:hidden
}
.s2-stage .zcxzq-thumb img {
width:100%;height:100%;object-fit:cover;display:block
}
.s2-stage .zcxzq-thumb-placeholder {
width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--color-text-secondary)
}
.s2-stage .zcxzq-type-tag {
position:absolute;top:.25rem;left:.25rem;padding:.0625rem .3125rem;font-size:.625rem;border-radius:.1875rem;color:#fff;font-weight:500
}
.s2-stage .zcxzq-type-tag.type-character {
background:#6366f1d9
}
.s2-stage .zcxzq-type-tag.type-scene {
background:#22c55ed9
}
.s2-stage .zcxzq-type-tag.type-tool {
background:#f97316d9
}
.s2-stage .zcxzq-type-tag.type-text {
background:#a855f7d9
}
.s2-stage .zcxzq-type-tag.type-audio {
background:#06b6d4e0
}
.s2-stage .zcxzq-type-tag.type-video {
background:#ec4899e0
}
.s2-stage .zcxzq-type-tag.type-document {
background:#3b82f6e0
}
.s2-stage .zcxzq-thumb.is-video img {
filter:brightness(.82)
}
.s2-stage .zcxzq-video-badge {
position:absolute;right:.3125rem;bottom:.3125rem;width:1.375rem;height:1.375rem;border-radius:50%;background:#0000008c;border:.0625rem solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;pointer-events:none
}
.s2-stage .zcxzq-thumb-document {
background:linear-gradient(135deg,#3b82f62e,#0ea5e91f);display:flex;align-items:center;justify-content:center
}
.s2-stage .zcxzq-document-icon {
min-width:2.25rem;height:1.75rem;padding:0 .375rem;display:inline-flex;align-items:center;justify-content:center;border:.0625rem solid rgba(255,255,255,.22);border-radius:.375rem;background:#3b82f638;color:#dbeafef2;font-size:.6875rem;font-weight:700;letter-spacing:.04em
}
.s2-stage .zcxzq-thumb-audio {
background:linear-gradient(135deg,#06b6d429,#6366f129);display:flex;align-items:center;justify-content:center
}
.s2-stage .zcxzq-audio-icon {
font-size:1.75rem;line-height:1;opacity:.88;filter:drop-shadow(0 .0625rem .125rem rgba(0,0,0,.25))
}
.s2-stage .zcxzq-audio-play {
position:absolute;bottom:.25rem;right:.25rem;width:1.375rem;height:1.375rem;border-radius:50%;background:#0000008c;border:.0625rem solid rgba(255,255,255,.25);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s ease,transform .12s ease
}
.s2-stage .zcxzq-audio-play:hover {
background:#06b6d4d9;transform:scale(1.08)
}
.s2-stage .zcxzq-audio-play.playing {
background:#06b6d4f2;animation:zcxzq-audio-pulse-d5f287ee 1.2s ease-in-out infinite
}
@keyframes zcxzq-audio-pulse-d5f287ee{0%,to{box-shadow:0 0 #06b6d473}50%{box-shadow:0 0 0 .3125rem #06b6d400}}
.s2-stage .zcxzq-text-body {
position:relative;width:100%;aspect-ratio:1;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 6%,var(--bg-card)),var(--bg-card));padding:1.625rem .625rem .625rem;box-sizing:border-box;overflow:hidden
}
.s2-stage .zcxzq-text-snippet {
width:100%;height:100%;font-size:.6875rem;line-height:1.4;color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;white-space:pre-wrap;opacity:.85
}
.s2-stage .zcxzq-checkmark {
position:absolute;top:.25rem;right:.25rem;width:1.125rem;height:1.125rem;border-radius:50%;background:#00000073;border:.0625rem solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;transition:all .15s ease
}
.s2-stage .zcxzq-checkmark.checked {
background:var(--color-primary);border-color:var(--color-primary)
}
.s2-stage .zcxzq-card-actions {
position:absolute;bottom:.25rem;left:.25rem;display:flex;align-items:center;gap:.375rem;padding:.375rem;border:.0625rem solid var(--bg-card-2);border-radius:999px;background:var(--bg-input-a);backdrop-filter:blur(.625rem);-webkit-backdrop-filter:blur(.625rem);box-shadow:0 .5rem 1.25rem #0000002e;opacity:0;transition:opacity .15s ease;z-index:4
}
.s2-stage .zcxzq-card:hover .zcxzq-card-actions,
.s2-stage .zcxzq-card-actions.has-pinned {
opacity:1
}
.s2-stage .zcxzq-pin-btn,
.s2-stage .zcxzq-edit-btn,
.s2-stage .zcxzq-delete-btn {
width:1.25rem;height:1.25rem;border-radius:50%;border:.0625rem solid var(--w-8);background:var(--w-5);color:var(--w-70);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;padding:0;font-size:.625rem;line-height:1;flex-shrink:0
}
.s2-stage .zcxzq-pin-btn svg,
.s2-stage .zcxzq-edit-btn svg {
display:block
}
.s2-stage .zcxzq-pin-btn.active {
color:#fbbf24;border-color:color-mix(in srgb,#fbbf24 45%,transparent);background:color-mix(in srgb,#fbbf24 12%,transparent)
}
.s2-stage .zcxzq-pin-btn:hover:not(:disabled),
.s2-stage .zcxzq-edit-btn:hover:not(:disabled),
.s2-stage .zcxzq-delete-btn:hover:not(:disabled) {
border-color:#ffffffad;background:var(--w-8);color:var(--w-90);transform:scale(1.08);box-shadow:0 0 .75rem #ffffff29
}
.s2-stage .zcxzq-pin-btn:disabled {
cursor:wait;opacity:.85
}
.s2-stage .zcxzq-delete-btn {
color:#fca5a5
}
.s2-stage .zcxzq-delete-btn:disabled {
cursor:wait;opacity:.6
}
.s2-stage {
background:#ffffffe0;border-color:#0000001a;box-shadow:0 .5rem 1.125rem #0f172a1a
}
.s2-stage,
.s2-stage,
.s2-stage {
border-color:#0f172a14;background:#0f172a0a;color:#0f172a9e
}
.s2-stage,
.s2-stage,
.s2-stage {
border-color:#fff;background:#0f172a12;color:#0f172adb;box-shadow:0 0 .75rem #ffffff8c
}
.s2-stage {
color:#b45309;border-color:#d9770647;background:#d9770614
}
.s2-stage {
color:#dc2626
}
.s2-stage .zcxzq-spinner {
width:.75rem;height:.75rem;border:.0938rem solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:zcxzq-spin-d5f287ee .7s linear infinite
}
@keyframes zcxzq-spin-d5f287ee{to{transform:rotate(360deg)}}
.s2-stage .zcxzq-meta {
padding:.375rem .5rem;font-size:.75rem;line-height:1.3;background:var(--w-10);border-top:.0625rem solid var(--w-8)
}
.s2-stage .zcxzq-name {
color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700
}
.s2-stage .zcxzq-voice {
margin-top:.125rem;color:var(--color-text-secondary);font-size:.6875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.s2-stage .zcxzq-status {
text-align:center;padding:1rem 0;color:var(--color-text-secondary);font-size:.75rem
}
.s2-stage .zcxzq-status.muted {
opacity:.6
}
.s2-stage .zcxzq-empty {
display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:.5rem
}
.s2-stage .zcxzq-empty-icon {
font-size:2.25rem;opacity:.6
}
.s2-stage .zcxzq-empty-title {
font-size:.9375rem;color:var(--color-text-primary);font-weight:500
}
.s2-stage .zcxzq-empty-tip {
font-size:.75rem;color:var(--color-text-secondary);text-align:center;line-height:1.7;max-width:22rem
}
.s2-stage .zcxzq-footer {
display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-top:.0625rem solid var(--w-10);background:var(--bg-card)
}
.s2-stage .zcxzq-selected-count {
font-size:.75rem;color:var(--color-text-secondary)
}
.s2-stage .zcxzq-footer-btns {
display:flex;gap:.5rem
}
.s2-stage .zcxzq-footer-left {
display:flex;align-items:center;gap:.625rem
}
.s2-stage .zcxzq-download-btn {
display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;border:.0625rem solid color-mix(in srgb,var(--color-primary) 35%,transparent);background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);cursor:pointer;transition:all .15s ease
}
.s2-stage .zcxzq-download-btn:hover {
background:color-mix(in srgb,var(--color-primary) 20%,transparent);border-color:var(--color-primary)
}
.s2-stage .zcxzq-download-btn:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .zcxzq-btn-secondary,
.s2-stage .zcxzq-btn-primary {
height:2rem;padding:0 1rem;border-radius:.375rem;font-size:.8125rem;cursor:pointer;border:.0625rem solid var(--w-15);transition:all .15s ease
}
.s2-stage .zcxzq-btn-secondary {
background:transparent;color:var(--color-text-primary)
}
.s2-stage .zcxzq-btn-secondary:hover {
background:var(--bg-elevated-2)
}
.s2-stage .zcxzq-btn-primary {
background:var(--color-primary);color:#fff;border-color:var(--color-primary)
}
.s2-stage .zcxzq-btn-primary:hover:not(:disabled) {
opacity:.9
}
.s2-stage .zcxzq-btn-primary:disabled {
opacity:.5;cursor:not-allowed
}
.s2-stage .zcxzq-fade-enter-active,
.s2-stage .zcxzq-fade-leave-active {
transition:opacity .18s ease
}
.s2-stage .zcxzq-fade-enter-from,
.s2-stage .zcxzq-fade-leave-to {
opacity:0
}
.s2-stage .zcxzq-sub-mask {
position:absolute;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:5;border-radius:.875rem
}
.s2-stage .zcxzq-sub-modal {
width:28rem;max-width:calc(100% - 2rem);background:var(--color-2);border:.0625rem solid var(--w-15);border-radius:.625rem;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 .625rem 1.875rem var(--b-50)
}
.s2-stage .zcxzq-sub-header {
display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:.0625rem solid var(--w-10)
}
.s2-stage .zcxzq-sub-header h4 {
margin:0;font-size:.875rem;color:var(--color-text-primary)
}
.s2-stage .zcxzq-sub-body {
padding:.875rem 1rem;display:flex;flex-direction:column;gap:.375rem
}
.s2-stage .zcxzq-sub-label {
font-size:.75rem;color:var(--color-text-secondary);margin-top:.25rem
}
.s2-stage .zcxzq-sub-input {
height:2rem;padding:0 .625rem;background:var(--bg-card);border:.0625rem solid var(--w-15);border-radius:.375rem;color:var(--color-text-primary);font-size:.8125rem;outline:none
}
.s2-stage .zcxzq-sub-input:focus {
border-color:var(--color-primary)
}
.s2-stage .zcxzq-sub-textarea {
min-height:8rem;max-height:14rem;padding:.5rem .625rem;background:var(--bg-card);border:.0625rem solid var(--w-15);border-radius:.375rem;color:var(--color-text-primary);font-size:.8125rem;font-family:inherit;line-height:1.45;outline:none;resize:none;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent
}
.s2-stage .zcxzq-sub-textarea:focus {
border-color:var(--color-primary)
}
.s2-stage .zcxzq-sub-textarea::-webkit-scrollbar {
width:.1875rem
}
.s2-stage .zcxzq-sub-textarea::-webkit-scrollbar-track {
background:transparent
}
.s2-stage .zcxzq-sub-textarea::-webkit-scrollbar-thumb {
background:var(--scrollbar-thumb);border-radius:.125rem
}
.s2-stage .zcxzq-sub-textarea::-webkit-scrollbar-thumb:hover {
background:var(--scrollbar-thumb)
}
.s2-stage .zcxzq-sub-counter {
font-size:.6875rem;color:var(--color-text-secondary);text-align:right;opacity:.7
}
.s2-stage .zcxzq-sub-footer {
display:flex;justify-content:flex-end;gap:.5rem;padding:.625rem 1rem .875rem;border-top:.0625rem solid var(--w-10)
}
.s2-stage .zcxzq-upload-modal {
width:30rem
}
.s2-stage .zcxzq-upload-cat-row {
display:flex;gap:.375rem;margin-bottom:.25rem
}
.s2-stage .zcxzq-upload-cat {
flex:1;height:1.875rem;border:.0625rem solid var(--w-15);background:var(--bg-card);color:var(--color-text-primary);border-radius:.4rem;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .15s ease
}
.s2-stage .zcxzq-upload-cat:hover:not(:disabled) {
border-color:var(--color-primary)
}
.s2-stage .zcxzq-upload-cat.active {
background:var(--color-primary);color:#fff;border-color:var(--color-primary)
}
.s2-stage .zcxzq-upload-cat:disabled {
cursor:not-allowed;opacity:.6
}
.s2-stage .zcxzq-upload-picker {
margin:.25rem 0 .5rem
}
.s2-stage .zcxzq-upload-dropzone {
display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:1.25rem 1rem;border:.0938rem dashed var(--w-20);border-radius:.5rem;background:var(--bg-card);cursor:pointer;transition:all .15s ease
}
.s2-stage .zcxzq-upload-dropzone:hover {
border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,var(--bg-card))
}
.s2-stage .zcxzq-upload-icon {
color:var(--color-primary);display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 14%,transparent)
}
.s2-stage .zcxzq-upload-tips {
text-align:center
}
.s2-stage .zcxzq-upload-tip-main {
font-size:.8125rem;color:var(--color-text-primary);font-weight:500
}
.s2-stage .zcxzq-upload-tip-sub {
margin-top:.1875rem;font-size:.6875rem;color:var(--color-text-secondary);opacity:.85
}
.s2-stage .zcxzq-upload-input {
display:none
}
.s2-stage .zcxzq-upload-preview {
display:flex;flex-direction:column;gap:.5rem;padding:.5rem;border:.0625rem solid var(--w-15);border-radius:.5rem;background:var(--bg-card)
}
.s2-stage .zcxzq-upload-preview img,
.s2-stage .zcxzq-upload-preview video {
width:100%;max-height:12rem;object-fit:contain;background:var(--b-30);border-radius:.375rem;display:block
}
.s2-stage .zcxzq-upload-preview audio {
width:100%
}
.s2-stage .zcxzq-upload-document {
min-height:6rem;display:flex;align-items:center;justify-content:center;background:var(--b-30);border-radius:.375rem
}
.s2-stage .zcxzq-upload-meta {
display:flex;align-items:center;gap:.5rem
}
.s2-stage .zcxzq-upload-fname {
flex:1;font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.s2-stage .zcxzq-upload-replace {
flex-shrink:0;height:1.625rem;padding:0 .625rem;border-radius:.3125rem;border:.0625rem solid var(--w-15);background:transparent;color:var(--color-text-primary);font-size:.6875rem;cursor:pointer;transition:all .15s ease
}
.s2-stage .zcxzq-upload-replace:hover:not(:disabled) {
border-color:var(--color-primary);color:var(--color-primary)
}
.s2-stage .zcxzq-upload-replace:disabled {
cursor:not-allowed;opacity:.6
}
.s2-stage .zcxzq-upload-chip-row {
display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.25rem
}
.s2-stage .zcxzq-upload-chip {
height:1.75rem;padding:0 .75rem;border:.0625rem solid var(--w-15);background:var(--bg-card);color:var(--color-text-primary);border-radius:.875rem;cursor:pointer;font-size:.75rem;transition:all .15s ease
}
.s2-stage .zcxzq-upload-chip:hover:not(:disabled) {
border-color:var(--color-primary)
}
.s2-stage .zcxzq-upload-chip.active {
background:var(--color-primary);color:#fff;border-color:var(--color-primary)
}
.s2-stage .zcxzq-upload-chip:disabled {
cursor:not-allowed;opacity:.6
}
.s2-stage .zcxzq-upload-desc {
min-height:4rem;max-height:7rem
}
.s2-stage .zcxzq-upload-progress {
display:flex;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.75rem;color:var(--color-text-secondary)
}
.s2-stage .zcxzq-upload-progress .zcxzq-spinner {
border-color:#ffffff40;border-top-color:var(--color-primary);width:.875rem;height:.875rem
}

/* ---- ImageQualityBadge-C5WwC7WO.css ---- */

.s2-stage .iqb {
display:inline-flex;align-items:center;gap:.375rem;max-width:min(80vw,28rem);padding:.3125rem .625rem;border:1px solid rgba(255,255,255,.16);border-radius:1rem;background-color:#0000008c;backdrop-filter:blur(.375rem);-webkit-backdrop-filter:blur(.375rem);color:#ffffffc7;font-size:.75rem;line-height:1.2;white-space:nowrap;overflow:hidden
}
.s2-stage .iqb-text {
overflow:hidden;text-overflow:ellipsis
}
.s2-stage .iqb-original {
color:#ffffff9e
}
.s2-stage .iqb-spin {
animation:iqb-spin-bdb929ed .9s linear infinite
}
@keyframes iqb-spin-bdb929ed{to{transform:rotate(360deg)}}
@media(max-width:48rem) {
.s2-stage .iqb {
max-width:calc(100vw - 2rem);font-size:.6875rem
}
}

/* extra component CSS (dagang/xiaoshuo/juben/scene) scoped */
@keyframes lkBootSpin { 
  100% { transform: rotate(360deg); }
}
@keyframes dialog-fade-in { 
  0% { opacity: 0; transform: translateY(-20px); }
  100% { opacity: 1; transform: translate(0px); }
}
@keyframes dialog-fade-out { 
  0% { opacity: 1; transform: translate(0px); }
  100% { opacity: 0; transform: translateY(-20px); }
}
@keyframes modal-fade-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes modal-fade-out { 
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes viewer-fade-in { 
  0% { opacity: 0; transform: translateY(-20px); }
  100% { opacity: 1; transform: translate(0px); }
}
@keyframes viewer-fade-out { 
  0% { opacity: 1; transform: translate(0px); }
  100% { opacity: 0; transform: translateY(-20px); }
}
@keyframes msgbox-fade-in { 
  0% { opacity: 0; transform: translateY(-20px); }
  100% { opacity: 1; transform: translate(0px); }
}
@keyframes pulse-0daf1ee8 { 
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.1); opacity: 0.8; }
}
@keyframes dotPulse-0daf1ee8 { 
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.5); opacity: 0.5; }
}
@keyframes pulse-00aff4e2 { 
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.1); opacity: 0.8; }
}
@keyframes dotPulse-00aff4e2 { 
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.5); opacity: 0.5; }
}
@keyframes pulse-788d1321 { 
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.1); opacity: 0.8; }
}
@keyframes dotPulse-788d1321 { 
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.5); opacity: 0.5; }
}
@keyframes pulse-4fb0d0e8 { 
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.1); opacity: 0.8; }
}
@keyframes dotPulse-4fb0d0e8 { 
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.5); opacity: 0.5; }
}
@keyframes kflt-spin-a66c97d7 { 
  100% { transform: rotate(360deg); }
}
@keyframes spin-5822edca { 
  100% { transform: rotate(360deg); }
}
@keyframes pulse-dot-5822edca { 
  0%, 100% { opacity: 1; }
  50% { opacity: 0.55; }
}
@keyframes tongyongPulse-5822edca { 
  0%, 100% { transform: scale(1); opacity: 0.55; }
  50% { transform: scale(1.15); opacity: 0; }
}
@keyframes dotPulse-57156c54 { 
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.7); }
}
@keyframes overlayFadeIn-57156c54 { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes spin-7f379a57 { 
  100% { transform: rotate(360deg); }
}
@keyframes rocket-flame-pulse-d9099e51 { 
  0% { transform: scaleY(0.85); opacity: 0.85; }
  100% { transform: scaleY(1.1); opacity: 1; }
}
@media (max-width: 450px){.s2-stage .role-selector-absolute,
.s2-stage .character-selector-absolute,
.s2-stage .bottom-left-mode-actions,
.s2-stage .left-bottom-btns display: none !important;}
@keyframes sonner-fade-in { 
  0% { opacity: 0; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes sonner-fade-out { 
  0% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(0.8); }
}
@keyframes sonner-spin { 
  0% { opacity: 1; }
  100% { opacity: 0.15; }
}
@keyframes overlayFadeIn-c78c81c1 { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes shimmer-c78c81c1 { 
  0% { transform: translate(-100%); }
  100% { transform: translate(100%); }
}
@keyframes pulse-glow-c78c81c1 { 
  0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }
  50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.1); }
}
@keyframes spin-c78c81c1 { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes spin-a0982ad7 { 
  100% { transform: rotate(360deg); }
}
@keyframes yq-hook-glow-1b064dda { 
  0%, 100% { filter: brightness(1); transform: scale(1); }
  50% { filter: brightness(1.18); transform: scale(1.035); }
}
@keyframes yq-spin-1b064dda { 
  100% { transform: rotate(360deg); }
}
@keyframes yq-pulse-1b064dda { 
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.14); }
}
@keyframes spin-3caf1903 { 
  100% { transform: rotate(360deg); }
}
@keyframes zcxzq-audio-pulse-d5f287ee { 
  0%, 100% { box-shadow: rgba(6, 182, 212, 0.45) 0px 0px; }
  50% { box-shadow: rgba(6, 182, 212, 0) 0px 0px 0px 0.3125rem; }
}
@keyframes zcxzq-spin-d5f287ee { 
  100% { transform: rotate(360deg); }
}
@keyframes yhscFabHaloSpin-04e7767c { 
  100% { transform: rotate(360deg); }
}
@keyframes dotPulse-1aa97eca { 
  0%, 100% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.3); }
}
@keyframes badgePulse-1aa97eca { 
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.7; }
}
@keyframes btnPulse-1aa97eca { 
  0% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
  100% { transform: translate(-50%, -50%) scale(1.5); opacity: 0; }
}
@keyframes yhscShimmer-d2cc968c { 
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}
@keyframes yhscSpin-d2cc968c { 
  100% { transform: rotate(360deg); }
}
@keyframes pulse-ab5bdb1a { 
  0%, 100% { opacity: 0.4; transform: translate(-50%, -50%) scale(1); }
  50% { opacity: 0.6; transform: translate(-50%, -50%) scale(1.1); }
}
@keyframes spin-75af99be { 
  100% { transform: rotate(360deg); }
}
@keyframes tag-multimodal-pulse-7bdf066b { 
  0%, 100% { box-shadow: rgba(255, 90, 54, 0.3) 0px 0px 0.25rem; }
  50% { box-shadow: rgba(255, 90, 54, 0.6) 0px 0px 0.5rem; }
}
@keyframes recharge-shimmer-7417f888 { 
  0% { transform: translate(-100%); }
  100% { transform: translate(100%); }
}
@keyframes activity-pulse-7417f888 { 
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}
@keyframes agentPortalHaloSpin-ea9c0a63 { 
  100% { transform: rotate(360deg); }
}
@keyframes triggerHaloSpin-ea9c0a63 { 
  100% { transform: rotate(360deg); }
}
@keyframes triggerUnreadPulse-ea9c0a63 { 
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.25); }
}
@keyframes panelShimmer-ea9c0a63 { 
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}
@keyframes rewardsPulse-ea9c0a63 { 
  0%, 100% { box-shadow: rgba(0, 0, 0, 0.25) 0px 0.25rem 0.625rem, rgba(245, 158, 11, 0.45) 0px 0px; }
  50% { box-shadow: rgba(0, 0, 0, 0.3) 0px 0.5rem 1.125rem, rgba(245, 158, 11, 0.55) 0px 0px 1.25rem; }
}
@keyframes dyrw-spin-0391aa11 { 
  100% { transform: rotate(360deg); }
}
@keyframes dyrw-coin-glow-0391aa11 { 
  0%, 100% { box-shadow: rgba(255, 245, 214, 0.45) 0px 1px inset, rgba(0, 0, 0, 0.3) 0px -1px inset, rgba(253, 224, 71, 0.22) 0px 0px 0.75rem, rgba(0, 0, 0, 0.35) 0px 6px 16px; }
  50% { box-shadow: rgba(255, 245, 214, 0.6) 0px 1px inset, rgba(0, 0, 0, 0.3) 0px -1px inset, rgba(253, 224, 71, 0.5) 0px 0px 1.75rem, rgba(0, 0, 0, 0.35) 0px 6px 16px; }
}
@keyframes dyrw-coin-pulse-0391aa11 { 
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}
@keyframes spin-fa47b6ee { 
  100% { transform: rotate(360deg); }
}
@keyframes spin-14173990 { 
  100% { transform: rotate(360deg); }
}
@keyframes spin-6f2f8e55 { 
  100% { transform: rotate(360deg); }
}
@keyframes unreadPulse-2597944e { 
  0%, 100% { box-shadow: rgba(239, 68, 68, 0.5) 0px 0px 0.375rem; }
  50% { box-shadow: rgba(239, 68, 68, 0.8) 0px 0px 0.75rem; }
}
@keyframes overlayFadeIn-2597944e { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes shimmer-2597944e { 
  0%, 100% { opacity: 0.8; }
  50% { opacity: 1; }
}
@keyframes spin-2597944e { 
  100% { transform: rotate(360deg); }
}
@keyframes message-spin-3af3f1c7 { 
  100% { transform: rotate(360deg); }
}
@keyframes iqb-spin-bdb929ed { 
  100% { transform: rotate(360deg); }
}
@keyframes ytylt-spin-c7602690 { 
  100% { transform: rotate(360deg); }
}
@keyframes paichu-spin-4c585511 { 
  100% { transform: rotate(360deg); }
}
@keyframes image-cropper-spin-e9e86a7e { 
  100% { transform: rotate(360deg); }
}
@keyframes image-lightbox-yuantu-spin-d67c8a3f { 
  100% { transform: rotate(360deg); }
}
@keyframes scan-upload-spin-aaeccd8c { 
  100% { transform: rotate(360deg); }
}
@keyframes auto-glow-54c7607a { 
  0%, 100% { box-shadow: rgba(234, 179, 8, 0.06) 0px 0px 20px; }
  50% { box-shadow: rgba(234, 179, 8, 0.12) 0px 0px 28px; }
}
@keyframes gridPulse-dbc851fb { 
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}
@keyframes glowPulse-ec5fb97b { 
  0%, 100% { opacity: 0.5; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
}
@keyframes orbitSpin-ec5fb97b { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes badgePulse-ec5fb97b { 
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; box-shadow: rgba(0, 229, 160, 0.8) 0px 0px 10px; }
}
@keyframes modePulse-ec5fb97b { 
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; box-shadow: rgba(0, 229, 160, 0.8) 0px 0px 6px; }
}
@keyframes showGlow-ec5fb97b { 
  0%, 100% { box-shadow: 0 0 20px var(--c-primary-10),0 10px 40px -10px var(--b-40); }
  50% { box-shadow: 0 0 35px var(--c-primary-20),0 15px 50px -10px var(--b-50); }
}
@keyframes mjS2QiShowGlowLight-ec5fb97b { 
  0%, 100% { box-shadow: rgba(0, 161, 194, 0.1) 0px 0px 20px, rgba(0, 0, 0, 0.08) 0px 10px 36px -10px; }
  50% { box-shadow: rgba(0, 161, 194, 0.18) 0px 0px 30px, rgba(0, 0, 0, 0.1) 0px 14px 44px -10px; }
}
@keyframes fadeIn-dff07870 { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes fadeIn-a73268a1 { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes fadeIn-fa4fa685 { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes spin-fa4fa685 { 
  100% { transform: rotate(360deg); }
}
@keyframes spin-de22ccf0 { 
  100% { transform: rotate(360deg); }
}
.s2-stage .chapter-count color: rgba(0, 202, 224, 0.45); flex-shrink: 0; white-space: nowrap;
.s2-stage .chapter-count.zero color: rgba(140, 153, 160, 0.5);
.s2-stage .chapters-section padding: 0.625rem; background: var(--bg-page-2); border-radius: 0.375rem;
.s2-stage .chapters-header display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.5rem; font-size: 0.875rem; font-weight: 500; color: var(--w-50); letter-spacing: 0.05em;
.s2-stage .chapters-list display: flex; flex-direction: column; gap: 0.375rem; max-height: 24rem; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--c-primary-20) transparent;
.s2-stage .chapters-list::-webkit-scrollbar width: 4px;
.s2-stage .chapters-list::-webkit-scrollbar-track background: transparent;
.s2-stage .chapters-list::-webkit-scrollbar-thumb background: var(--c-primary-20); border-radius: 2px;
.s2-stage .chapters-list::-webkit-scrollbar-thumb:hover background: var(--c-primary-40);
.s2-stage .chapter-loading display: flex; justify-content: center; padding: 0.75rem;
.s2-stage .chapter-loading-spinner width: 1rem; height: 1rem; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top-color: var(--color-primary); border-radius: 50%; animation: 0.8s linear 0s infinite normal none running spin-de22ccf0;
@keyframes textPulse-de22ccf0 { 
  0%, 100% { opacity: 0.8; text-shadow: rgba(255, 180, 50, 0.4) 0px 0px 8px; }
  50% { opacity: 1; text-shadow: rgba(255, 180, 50, 0.8) 0px 0px 15px; }
}
@keyframes pathGlow-de22ccf0 { 
  0%, 100% { filter: drop-shadow(rgba(255, 180, 50, 0.6) 0px 0px 3px); opacity: 0.8; }
  50% { filter: drop-shadow(rgb(255, 180, 50) 0px 0px 8px); opacity: 1; }
}
.s2-stage .chapter-item display: flex; align-items: center; justify-content: space-between; padding: 1rem 0.75rem; min-height: 5rem; border-radius: 0.5rem; border-left: 3px solid transparent; cursor: pointer; transition: 0.2s;
.s2-stage .chapter-item:hover background: var(--w-4);
.s2-stage .chapter-item.active background: var(--c-primary-8); border-left-color: var(--color-primary);
.s2-stage .chapter-content flex: 1 1 0%; display: flex; flex-direction: column; gap: 0.375rem; min-width: 0px;
.s2-stage .chapter-number font-size: 0.8125rem; color: rgba(147, 197, 253, 0.6); font-weight: 600; letter-spacing: 0.02em;
.s2-stage .chapter-title font-size: 0.9375rem; color: var(--w-85); line-height: 1.5; font-weight: 500; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-overflow: ellipsis; word-break: break-word;
.s2-stage .chapter-item.active .chapter-number color: rgb(96, 165, 250);
.s2-stage .chapter-item.active .chapter-title color: var(--color-primary);
.s2-stage .chapter-item.highlight animation: 1.5s ease 0s 1 normal none running chapterHighlight-de22ccf0;
.s2-stage .chapter-load-more-hint text-align: center; padding: 0.5rem; font-size: 0.75rem; color: var(--w-25);
.s2-stage .chapter-actions display: flex; flex-direction: column; gap: 0.375rem; opacity: 0; transition: opacity 0.15s; margin-left: 0.5rem; flex-shrink: 0;
.s2-stage .chapter-item:hover .chapter-actions opacity: 1;
.s2-stage .chapter-edit,
.s2-stage .chapter-delete width: 1.75rem; height: 1.75rem; display: flex; align-items: center; justify-content: center; background: var(--w-4); border: 1px solid var(--w-8); border-radius: 0.375rem; color: var(--w-40); cursor: pointer; transition: 0.2s;
.s2-stage .chapter-edit:hover background: rgba(59, 130, 246, 0.12); border-color: rgba(59, 130, 246, 0.3); color: rgb(147, 197, 253); transform: translateY(-1px);
.s2-stage .chapter-delete:hover background: rgba(239, 68, 68, 0.12); border-color: rgba(239, 68, 68, 0.3); color: rgb(252, 165, 165); transform: translateY(-1px);
@keyframes icon-pulse-de22ccf0 { 
  0%, 100% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.15); opacity: 0.8; }
}
@keyframes icon-pulse-fast-de22ccf0 { 
  0%, 100% { transform: scale(1); opacity: 0.6; }
  50% { transform: scale(1.2); opacity: 1; }
}
.s2-stage html[data-theme="light"] .card-meta .chapter-count color: rgba(0, 140, 180, 0.7);
.s2-stage html[data-theme="light"] .card-meta .chapter-count.zero color: rgba(0, 0, 0, 0.3);
.s2-stage html[data-theme="light"] .chapters-section background: rgb(246, 249, 253); border: 1px solid rgba(0, 140, 210, 0.1); border-radius: 0.5rem;
.s2-stage html[data-theme="light"] .chapters-header color: rgb(80, 90, 110); border-bottom: 1px solid rgba(0, 0, 0, 0.04); padding-bottom: 0.5rem;
.s2-stage html[data-theme="light"] .chapter-item border-radius: 0.5rem;
.s2-stage html[data-theme="light"] .chapter-item:hover background: rgba(0, 140, 210, 0.04);
.s2-stage html[data-theme="light"] .chapter-item.active background: rgba(0, 140, 210, 0.06); border-left-color: var(--color-primary);
.s2-stage html[data-theme="light"] .chapter-number color: rgb(0, 130, 170);
.s2-stage html[data-theme="light"] .chapter-title color: rgb(30, 35, 50);
.s2-stage html[data-theme="light"] .chapter-item.active .chapter-number color: rgb(0, 110, 150); font-weight: 700;
.s2-stage html[data-theme="light"] .chapter-item.active .chapter-title color: rgb(0, 100, 140);
.s2-stage html[data-theme="light"] .chapter-edit,
.s2-stage html[data-theme="light"] .chapter-delete background: rgba(0, 0, 0, 0.03); border-color: rgba(0, 0, 0, 0.06); color: rgb(130, 140, 155);
.s2-stage html[data-theme="light"] .chapter-edit:hover background: rgba(37, 99, 235, 0.06); border-color: rgba(37, 99, 235, 0.2); color: rgb(37, 99, 235);
.s2-stage html[data-theme="light"] .chapter-delete:hover background: rgba(220, 38, 38, 0.06); border-color: rgba(220, 38, 38, 0.2); color: rgb(220, 38, 38);
.s2-stage html[data-theme="light"] .chapter-load-more-hint color: rgb(160, 165, 175);
@keyframes overlay-spin-76e86758 { 
  100% { transform: rotate(360deg); }
}
@keyframes spin-a9916ea5 { 
  100% { transform: rotate(360deg); }
}
@keyframes spin-109d6d53 { 
  100% { transform: rotate(360deg); }
}
@keyframes signalPulse-49f46274 { 
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.7; }
}
@keyframes thinkPulse-49f46274 { 
  0%, 100% { transform: scale(1); box-shadow: rgba(139, 92, 246, 0.5) 0px 0px 12px; }
  50% { transform: scale(1.15); box-shadow: rgba(139, 92, 246, 0.7) 0px 0px 20px; }
}
@keyframes spin-49f46274 { 
  100% { transform: rotate(360deg); }
}
@keyframes nodeGlow-49f46274 { 
  0%, 100% { box-shadow: currentcolor 0px 0px 8px, rgba(139, 92, 246, 0.1) 0px 0px 16px; }
  50% { box-shadow: currentcolor 0px 0px 14px, rgba(139, 92, 246, 0.2) 0px 0px 28px; }
}
@keyframes spin-4cf5f644 { 
  100% { transform: rotate(360deg); }
}
.s2-stage .scene-chip display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.25rem 0.625rem; background: rgba(var(--accent),.08); border: 1px solid rgba(var(--accent),.12); border-radius: 2rem; transition: 0.25s;
.s2-stage .fangxiang-card.selected .scene-chip background: rgba(var(--accent),.14); border-color: rgba(var(--accent),.25);
@keyframes spin-e181bb5b { 
  100% { transform: rotate(360deg); }
}
.s2-stage .dagang-confirm-area margin-top: 0.75rem; display: flex; flex-direction: column; gap: 1rem;
.s2-stage .dagang-top-info padding: 1.125rem 1.25rem; background: linear-gradient(135deg,rgba(139,92,246,.06),rgba(59,130,246,.04),var(--c-primary-3)); border: 1px solid rgba(139, 92, 246, 0.12); border-radius: 1rem; position: relative; overflow: hidden;
.s2-stage .dagang-top-info::before content: ""; position: absolute; top: 0px; left: 0px; right: 0px; height: 2px; background: linear-gradient(90deg,rgba(139,92,246,.6),rgba(59,130,246,.4),var(--c-primary-30),transparent);
.s2-stage .top-info-main display: flex; flex-direction: column; gap: 0.625rem;
.s2-stage .story-title font-size: 1.25rem; font-weight: 700; color: var(--w-100); margin: 0px; line-height: 1.4; letter-spacing: 0.01em;
.s2-stage .type-tag display: inline-flex; align-items: center; padding: 0.1875rem 0.625rem; border-radius: 2rem; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.03em;
.s2-stage .type-tag-0 background: rgba(139, 92, 246, 0.12); border: 1px solid rgba(139, 92, 246, 0.2); color: rgba(167, 139, 250, 0.95);
.s2-stage .type-tag-1 background: rgba(59, 130, 246, 0.12); border: 1px solid rgba(59, 130, 246, 0.2); color: rgba(96, 165, 250, 0.95);
.s2-stage .type-tag-2 background: rgba(251, 146, 60, 0.12); border: 1px solid rgba(251, 146, 60, 0.2); color: rgba(251, 146, 60, 0.95);
.s2-stage .type-tag-3 background: rgba(244, 114, 182, 0.12); border: 1px solid rgba(244, 114, 182, 0.2); color: rgba(244, 114, 182, 0.95);
.s2-stage .mood-tag display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.1875rem 0.625rem; background: rgba(251, 191, 36, 0.08); border: 1px solid rgba(251, 191, 36, 0.15); border-radius: 2rem; font-size: 0.6875rem; font-weight: 500; color: rgba(251, 191, 36, 0.85);
.s2-stage .mood-tag svg flex-shrink: 0; color: rgba(251, 191, 36, 0.7);
.s2-stage .conflict-card display: flex; gap: 0px; background: rgba(239, 68, 68, 0.04); border: 1px solid rgba(239, 68, 68, 0.1); border-radius: 0.875rem; overflow: hidden; transition: 0.25s;
.s2-stage .conflict-card:hover background: rgba(239, 68, 68, 0.06); border-color: rgba(239, 68, 68, 0.18);
.s2-stage .conflict-accent width: 3px; background: linear-gradient(rgba(239, 68, 68, 0.8), rgba(251, 146, 60, 0.6)); flex-shrink: 0;
.s2-stage .conflict-content padding: 0.875rem 1rem; display: flex; flex-direction: column; gap: 0.375rem;
.s2-stage .conflict-label display: flex; align-items: center; gap: 0.375rem; font-size: 0.6875rem; font-weight: 700; color: rgba(239, 68, 68, 0.8); text-transform: uppercase; letter-spacing: 0.08em;
.s2-stage .conflict-label svg color: rgba(239, 68, 68, 0.7);
.s2-stage .conflict-text font-size: 0.9rem; color: var(--w-85); line-height: 1.6; font-weight: 500;
.s2-stage .characters-area display: flex; flex-direction: column; gap: 0.75rem;
.s2-stage .characters-grid display: flex; flex-wrap: wrap; gap: 0.625rem;
.s2-stage .character-card --ch-color: 139, 92, 246; flex: 1 1 0%; min-width: 10rem; max-width: 16rem; padding: 0.75rem 0.875rem; background: rgba(var(--ch-color),.04); border: 1px solid rgba(var(--ch-color),.1); border-radius: 0.75rem; transition: 0.25s;
.s2-stage .character-card:hover background: rgba(var(--ch-color),.07); border-color: rgba(var(--ch-color),.2); transform: translateY(-1px);
.s2-stage .char-accent-0 --ch-color: 139, 92, 246;
.s2-stage .char-accent-1 --ch-color: 59, 130, 246;
.s2-stage .char-accent-2 --ch-color: 34, 211, 238;
.s2-stage .char-accent-3 --ch-color: 251, 146, 60;
.s2-stage .char-accent-4 --ch-color: 244, 114, 182;
.s2-stage .char-header display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.375rem;
.s2-stage .char-name font-size: 0.875rem; font-weight: 600; color: var(--w-95);
.s2-stage .char-role font-size: 0.625rem; font-weight: 600; padding: 0.0625rem 0.375rem; background: rgba(var(--ch-color),.15); border: 1px solid rgba(var(--ch-color),.2); border-radius: 1rem; color: rgba(var(--ch-color),.9); white-space: nowrap;
.s2-stage .char-desc font-size: 0.75rem; color: var(--w-50); line-height: 1.55;
.s2-stage .dagang-content-area background: var(--w-2); border: 1px solid var(--w-8); border-radius: 1rem; overflow: hidden;
.s2-stage .dagang-header display: flex; align-items: center; justify-content: space-between; padding: 0.875rem 1.25rem; border-bottom: 1px solid var(--w-6); background: linear-gradient(135deg, rgba(139, 92, 246, 0.06), rgba(59, 130, 246, 0.04));
.s2-stage .dagang-body padding: 1.125rem 1.375rem; line-height: 1.8; color: rgba(255, 255, 255, 0.78); font-size: 0.8625rem;
.s2-stage .dagang-body .md-h1 font-size: 1.1875rem; font-weight: 700; color: var(--w-100); margin: 0.875rem 0px 0.5rem; padding-bottom: 0.375rem; border-bottom: 1px solid var(--w-8);
.s2-stage .dagang-body .md-h2 font-size: 1.0325rem; font-weight: 600; color: var(--w-100); margin: 0.75rem 0px 0.375rem;
.s2-stage .dagang-body .md-h3 font-size: 0.9375rem; font-weight: 600; color: var(--w-95); margin: 0.625rem 0px 0.25rem;
.s2-stage .dagang-body .md-p margin: 0.25rem 0px;
.s2-stage .dagang-body .md-blockquote margin: 0.5rem 0px; padding: 0.625rem 1rem; border-left: 3px solid rgba(139, 92, 246, 0.45); background: rgba(139, 92, 246, 0.05); border-radius: 0px 0.5rem 0.5rem 0px;
.s2-stage .dagang-body .md-blockquote p margin: 0.2rem 0px; color: rgba(255, 255, 255, 0.72);
.s2-stage .dagang-body .md-list margin: 0.375rem 0px; padding-left: 1.25rem; list-style: none;
.s2-stage .dagang-body .md-list li position: relative; padding: 0.125rem 0px;
.s2-stage .dagang-body .md-list li::before content: ""; position: absolute; left: -1rem; top: 0.65em; width: 0.3rem; height: 0.3rem; border-radius: 50%; background: rgba(139, 92, 246, 0.55);
.s2-stage .dagang-body .md-hr border-right-width: medium; border-bottom-width: medium; border-left-width: medium; border-right-style: none; border-bottom-style: none; border-left-style: none; border-right-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: initial; border-top: 1px solid var(--w-8); margin: 0.75rem 0px;
.s2-stage .dagang-body .md-spacer height: 0.325rem;
.s2-stage .dagang-body strong color: var(--w-100); font-weight: 600;
.s2-stage .dagang-body em color: rgba(139, 92, 246, 0.85); font-style: italic;
.s2-stage .dagang-body .md-code padding: 0.125rem 0.375rem; background: var(--w-7); border-radius: 0.25rem; font-family: monospace; font-size: 0.8rem;
.s2-stage .dagang-done-area margin-top: 0.625rem;
@keyframes spin-c0b42fe8 { 
  100% { transform: rotate(360deg); }
}
.s2-stage html[data-theme="light"] .dagang-body color: rgb(30, 35, 50);
.s2-stage html[data-theme="light"] .dagang-body p color: rgb(35, 40, 55);
.s2-stage html[data-theme="light"] .dagang-body .md-blockquote p color: rgb(40, 45, 60);
.s2-stage html[data-theme="light"] .dagang-body .md-blockquote background: rgba(139, 92, 246, 0.04); border-left-color: rgba(139, 92, 246, 0.3);
.s2-stage html[data-theme="light"] .dagang-body strong color: rgb(15, 18, 30);
.s2-stage html[data-theme="light"] .dagang-body .md-code background: rgba(0, 0, 0, 0.04); color: rgb(40, 45, 65);
.s2-stage .xiaoshuo-confirm-area margin-top: 0.75rem; display: flex; flex-direction: column; gap: 1rem;
.s2-stage .xiaoshuo-top-bar padding: 1rem 1.25rem; background: linear-gradient(135deg, rgba(245, 158, 11, 0.06), rgba(251, 146, 60, 0.04), rgba(139, 92, 246, 0.03)); border: 1px solid rgba(245, 158, 11, 0.12); border-radius: 1rem; position: relative; overflow: hidden;
.s2-stage .xiaoshuo-top-bar::before content: ""; position: absolute; top: 0px; left: 0px; right: 0px; height: 2px; background: linear-gradient(90deg, rgba(245, 158, 11, 0.7), rgba(251, 146, 60, 0.5), rgba(139, 92, 246, 0.3), transparent);
.s2-stage .chapter-title font-size: 1.1875rem; font-weight: 700; color: var(--w-100); margin: 0px; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
.s2-stage .reader-paper position: relative; padding: 2rem 1.75rem; background: linear-gradient(180deg,var(--w-3),rgba(255,255,255,.015)); border: 1px solid var(--w-6); border-radius: 1rem;
.s2-stage .scene-overview display: flex; flex-direction: column; gap: 0.75rem;
.s2-stage .scene-section-title display: flex; align-items: center; gap: 0.4rem; font-size: 0.8125rem; font-weight: 600; color: var(--w-70);
.s2-stage .scene-section-title svg color: rgba(245, 158, 11, 0.7);
.s2-stage .scene-count margin-left: auto; font-size: 0.6875rem; font-weight: 500; color: var(--w-35);
.s2-stage .scene-strip display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.625rem; padding-top: 0.25rem; padding-bottom: 0.5rem;
.s2-stage .scene-card --sc-color: 245, 158, 11; padding: 0.875rem 1rem; background: rgba(var(--sc-color),.04); border: 1px solid rgba(var(--sc-color),.1); border-radius: 0.75rem; transition: 0.25s;
.s2-stage .scene-card:hover background: rgba(var(--sc-color),.07); border-color: rgba(var(--sc-color),.2); transform: translateY(-1px);
.s2-stage .scene-accent-0 --sc-color: 245, 158, 11;
.s2-stage .scene-accent-1 --sc-color: 139, 92, 246;
.s2-stage .scene-accent-2 --sc-color: 59, 130, 246;
.s2-stage .scene-accent-3 --sc-color: 34, 211, 238;
.s2-stage .scene-accent-4 --sc-color: 244, 114, 182;
.s2-stage .scene-header display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.375rem;
.s2-stage .scene-number font-size: 0.625rem; font-weight: 700; padding: 0.125rem 0.375rem; background: rgba(var(--sc-color),.15); border: 1px solid rgba(var(--sc-color),.2); border-radius: 0.25rem; color: rgba(var(--sc-color),.9); font-family: monospace;
.s2-stage .scene-name font-size: 0.875rem; font-weight: 600; color: var(--w-95);
.s2-stage .scene-desc font-size: 0.75rem; color: var(--w-50); line-height: 1.55; margin-bottom: 0.5rem;
.s2-stage .scene-characters display: flex; flex-wrap: wrap; gap: 0.3rem;
.s2-stage .scene-char-tag display: inline-flex; padding: 0.0625rem 0.375rem; background: var(--w-5); border: 1px solid var(--w-8); border-radius: 1rem; font-size: 0.625rem; font-weight: 500; color: rgba(255, 255, 255, 0.55);
.s2-stage .xiaoshuo-done-area margin-top: 0.625rem;
@keyframes spin-7fa780fc { 
  100% { transform: rotate(360deg); }
}
.s2-stage html[data-theme="light"] .scene-char-tag color: rgb(50, 60, 80);
.s2-stage html[data-theme="light"] .scene-name color: rgb(20, 24, 38);
.s2-stage html[data-theme="light"] .scene-desc color: rgb(50, 60, 80);
.s2-stage .juben-node min-width: 0px; overflow: hidden;
.s2-stage .juben-confirm-area margin-top: 0.75rem; display: flex; flex-direction: column; gap: 1rem; min-width: 0px; overflow: hidden;
.s2-stage .juben-top-bar padding: 1rem 1.25rem; background: linear-gradient(135deg, rgba(59, 130, 246, 0.06), rgba(99, 102, 241, 0.04), rgba(139, 92, 246, 0.03)); border: 1px solid rgba(59, 130, 246, 0.12); border-radius: 1rem; position: relative; overflow: hidden;
.s2-stage .juben-top-bar::before content: ""; position: absolute; top: 0px; left: 0px; right: 0px; height: 2px; background: linear-gradient(90deg, rgba(59, 130, 246, 0.7), rgba(99, 102, 241, 0.5), rgba(139, 92, 246, 0.3), transparent);
.s2-stage .juben-title font-size: 1.3rem; font-weight: 700; color: var(--w-100); margin: 0px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
.s2-stage .scene-index display: flex; flex-direction: column;
.s2-stage .scene-index-count margin-left: auto; font-size: 0.75rem; color: var(--w-35);
.s2-stage .scene-grid display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem;
.s2-stage .scene-card --sc-color: 59, 130, 246; padding: 0.75rem 0.875rem; background: rgba(var(--sc-color),.04); border: 1px solid rgba(var(--sc-color),.1); border-radius: 0.75rem; transition: 0.25s; min-width: 0px;
.s2-stage .scene-card:hover background: rgba(var(--sc-color),.07); border-color: rgba(var(--sc-color),.2); transform: translateY(-1px);
.s2-stage .scene-accent-0 --sc-color: 59, 130, 246;
.s2-stage .scene-accent-1 --sc-color: 139, 92, 246;
.s2-stage .scene-accent-2 --sc-color: 245, 158, 11;
.s2-stage .scene-accent-3 --sc-color: 34, 211, 238;
.s2-stage .scene-accent-4 --sc-color: 244, 114, 182;
.s2-stage .scene-header display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.375rem;
.s2-stage .scene-number font-size: 0.6875rem; font-weight: 700; padding: 0.125rem 0.375rem; background: rgba(var(--sc-color),.15); border: 1px solid rgba(var(--sc-color),.2); border-radius: 0.25rem; color: rgba(var(--sc-color),.9); font-family: monospace;
.s2-stage .scene-name font-size: 0.825rem; font-weight: 600; color: var(--w-95); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
.s2-stage .scene-desc font-size: 0.75rem; color: rgba(255, 255, 255, 0.42); line-height: 1.5; margin-bottom: 0.3rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
.s2-stage .scene-characters display: flex; flex-wrap: wrap; gap: 0.25rem;
.s2-stage .scene-char-tag padding: 0.0625rem 0.375rem; background: var(--w-5); border: 1px solid var(--w-8); border-radius: 1rem; font-size: 0.65rem; font-weight: 500; color: var(--w-50);
.s2-stage .juben-done-area margin-top: 0.625rem;
.s2-stage .scene-dot --dc: 59, 130, 246; width: 0.5rem; height: 0.5rem; flex-shrink: 0; border-radius: 50%; background: rgba(var(--dc),.5); border: 1.5px solid rgba(var(--dc),.3); margin-top: 0.25rem;
.s2-stage .scene-dot-more background: var(--w-15); border-color: var(--w-10);
.s2-stage .scene-item-body flex: 1 1 0%; min-width: 0px; display: flex; flex-direction: column; gap: 0.1rem;
.s2-stage .scene-item-title font-size: 0.825rem; font-weight: 600; color: var(--w-70); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
.s2-stage .scene-item-desc font-size: 0.7rem; color: rgba(255, 255, 255, 0.32); line-height: 1.45; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
.s2-stage .scene-item-more font-size: 0.7rem; color: var(--w-25); margin-top: 0.05rem;
@keyframes spin-70ca8bbf { 
  100% { transform: rotate(360deg); }
}
.s2-stage html[data-theme="light"] .cast-desc,
.s2-stage html[data-theme="light"] .scene-desc,
.s2-stage html[data-theme="light"] .done-excerpt,
.s2-stage html[data-theme="light"] .scene-item-desc color: rgb(65, 75, 95);
.s2-stage html[data-theme="light"] .cast-name,
.s2-stage html[data-theme="light"] .scene-name color: rgb(20, 24, 38);
.s2-stage html[data-theme="light"] .scene-item-title color: rgb(30, 38, 55);
.s2-stage html[data-theme="light"] .scene-item-more color: rgb(85, 95, 115);
@keyframes fadeIn-24c88ec6 { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes spin-24c88ec6 { 
  100% { transform: rotate(360deg); }
}
.s2-stage .type-tag display: flex; align-items: center; gap: 0.25rem; padding: 0.4375rem 0.875rem; background: var(--w-4); border: 1px solid var(--w-10); border-radius: 2rem; color: var(--w-60); font-size: 0.8125rem; cursor: pointer; transition: 0.2s; user-select: none;
.s2-stage .type-tag:hover background: var(--w-8); border-color: var(--w-20); color: var(--w-85);
.s2-stage .type-tag.active background: rgba(99, 102, 241, 0.15); border-color: rgba(99, 102, 241, 0.5); color: rgb(129, 140, 248);
.s2-stage .type-tag.add-type border-style: dashed; border-color: rgba(99, 102, 241, 0.25); color: rgba(99, 102, 241, 0.6);
.s2-stage .type-tag.add-type:hover border-color: rgba(99, 102, 241, 0.5); background: rgba(99, 102, 241, 0.08); color: rgb(129, 140, 248);
@keyframes fadeIn-f5d510c3 { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.s2-stage .type-tag display: flex; align-items: center; gap: 0.25rem; padding: 0.4375rem 0.875rem; background: var(--w-4); border: 1px solid var(--w-10); border-radius: 2rem; color: var(--w-70); font-size: 0.8125rem; cursor: pointer; transition: 0.2s; user-select: none;
.s2-stage .type-tag:hover background: var(--w-8); border-color: var(--w-20); color: var(--w-85);
.s2-stage .type-tag.active background: rgba(99, 102, 241, 0.15); border-color: rgba(99, 102, 241, 0.5); color: rgb(129, 140, 248);
.s2-stage .type-tag.add-type border-style: dashed; border-color: rgba(99, 102, 241, 0.25); color: rgba(99, 102, 241, 0.6);
.s2-stage .type-tag.add-type:hover border-color: rgba(99, 102, 241, 0.5); background: rgba(99, 102, 241, 0.08); color: rgb(129, 140, 248);
@keyframes spin-f5d510c3 { 
  100% { transform: rotate(360deg); }
}
@keyframes spin-95eef96f { 
  100% { transform: rotate(360deg); }
}
@keyframes spin-5aab131b { 
  100% { transform: rotate(360deg); }
}
@keyframes fadeIn-02f2ddc9 { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes spin-02f2ddc9 { 
  100% { transform: rotate(360deg); }
}
@keyframes newAssetPulse-02f2ddc9 { 
  0% { box-shadow: rgba(99, 102, 241, 0.5) 0px 0px; }
  50% { box-shadow: rgba(99, 102, 241, 0.3) 0px 0px 25px 5px; }
  100% { box-shadow: rgba(99, 102, 241, 0.2) 0px 0px 20px; }
}
@keyframes add-spin-79c2b390 { 
  100% { transform: rotate(360deg); }
}
@keyframes spin-79c2b390 { 
  100% { transform: rotate(360deg); }
}
@keyframes fadeIn-79c2b390 { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes spin-c8645aa7 { 
  100% { transform: rotate(360deg); }
}
@keyframes timeout-fade-in-5a669976 { 
  0% { opacity: 0; transform: translateY(-0.25rem); }
  100% { opacity: 1; transform: translateY(0px); }
}
@keyframes spin-5a669976 { 
  100% { transform: rotate(360deg); }
}
@keyframes fullimg-fadein { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes hm-fadein { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes spin-8ec07442 { 
  100% { transform: rotate(360deg); }
}
@keyframes lockHintPulse-d518aaf5 { 
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
@keyframes spin-d518aaf5 { 
  100% { transform: rotate(360deg); }
}
@keyframes spin-4353fda4 { 
  100% { transform: rotate(360deg); }
}
@keyframes spin-3190645e { 
  100% { transform: rotate(360deg); }
}
@keyframes spin-a747e022 { 
  100% { transform: rotate(360deg); }
}
@keyframes fadeIn-a747e022 { 
  0% { opacity: 0; transform: translateY(-4px); }
  100% { opacity: 1; transform: translateY(0px); }
}
@keyframes tuoguan-pulse-a747e022 { 
  0%, 100% { border-color: var(--c-primary-35); box-shadow: 0 0 1.5rem var(--c-primary-10); }
  50% { border-color: rgba(0, 202, 224, 0.55); box-shadow: 0 0 2rem var(--c-primary-20); }
}
@keyframes pulse-02c3c711 { 
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; box-shadow: rgba(0, 229, 160, 0.9) 0px 0px 10px; }
}


/* @V56 vo-done 参考形态：深色封面 + 常驻中央播放三角（点击才注入播放器） */
.s2-stage .vo-cover-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:.375rem;background:radial-gradient(130% 130% at 28% 18%,#1d2447 0%,#0b0c15 72%);overflow:hidden}
.s2-stage .vo-cover-fallback::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,#8b5cf614 48%,transparent 66%);}
.s2-stage .vo-cover-film{font-size:1.15rem;opacity:.4;filter:grayscale(.3)}
.s2-stage .vo-done .vo-play-icon{position:relative;z-index:2;width:1.7rem;height:1.7rem;display:flex;align-items:center;justify-content:center;color:#fff;filter:drop-shadow(0 2px 10px rgba(0,0,0,.75));transition:transform .15s}
.s2-stage .vo-done .vo-play-icon svg{width:100%;height:100%;fill:#fff}


/* ===== @V69 node_07/node_08 1:1 parity（manual-hint / merge / split / asset-chip / cover） ===== */
.s2-stage .add-card{display:flex;align-items:stretch;justify-content:center}
.s2-stage .add-card .card-preview{width:100%}
.s2-stage .add-card .add-preview{min-height:152px;height:100%;width:100%;border-radius:.75rem}
.s2-stage .manual-hint{display:flex;align-items:center;gap:.4rem;margin:.6rem .1rem .15rem;font-size:.72rem;color:var(--text-tertiary,#9aa6c7)}
.s2-stage .manual-hint-ico{color:#a78bfa;font-size:.8rem}
.s2-stage .merge-connector{display:flex;align-items:center;gap:.45rem;margin:.1rem 0;padding:0 .6rem}
.s2-stage .merge-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(251,191,36,.35),transparent)}
.s2-stage .merge-connector-btn{flex:none;border:1px solid rgba(251,191,36,.35);background:rgba(251,191,36,.08);color:#fbbf24;font-size:.68rem;padding:.16rem .65rem;border-radius:999px;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}
.s2-stage .merge-connector-btn:hover{background:rgba(251,191,36,.2);border-color:rgba(251,191,36,.65)}
.s2-stage .split-btn{border:1px solid rgba(139,92,246,.4);background:rgba(139,92,246,.12);color:#c4b5fd;font-size:.64rem;padding:.12rem .45rem;border-radius:.35rem;cursor:pointer;font-family:inherit;transition:all .15s;margin-right:.3rem;white-space:nowrap}
.s2-stage .split-btn:hover{background:rgba(139,92,246,.26);border-color:rgba(139,92,246,.7)}
.s2-stage .shot-head-right{flex-wrap:wrap;justify-content:flex-end}
.s2-stage .assets-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}
.s2-stage .asset-chip{display:inline-flex;align-items:center;gap:.32rem;padding:.22rem .5rem .22rem .3rem;border-radius:999px;font-size:.7rem;border:1px solid var(--w-12);background:rgba(255,255,255,.045);color:var(--w-70)}
.s2-stage .chip-no{display:inline-flex;align-items:center;justify-content:center;min-width:1.08rem;height:1.08rem;padding:0 .22rem;border-radius:999px;font-size:.62rem;font-weight:700;color:#fff}
.s2-stage .chip-role .chip-no{background:linear-gradient(135deg,#6366f1,#8b5cf6)}
.s2-stage .chip-scene .chip-no{background:linear-gradient(135deg,#0ea5e9,#22d3ee)}
.s2-stage .chip-prop .chip-no{background:linear-gradient(135deg,#f59e0b,#f97316)}
.s2-stage .chip-type{color:var(--text-tertiary,#9aa6c7);font-size:.64rem}
.s2-stage .chip-name{color:var(--w-85);font-weight:500}
.s2-stage .chip-delete{border:none;background:transparent;color:var(--w-40);cursor:pointer;font-size:.68rem;padding:0 .1rem;line-height:1}
.s2-stage .chip-delete:hover{color:#f87171}
.s2-stage .asset-chip-add{border:1px dashed var(--w-18);background:transparent;color:var(--w-50);border-radius:999px;padding:.22rem .65rem;font-size:.7rem;cursor:pointer;font-family:inherit;transition:all .15s}
.s2-stage .asset-chip-add:hover{border-color:rgba(139,92,246,.55);color:#c4b5fd}
.s2-stage .vo-cover-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:.375rem;background:#0b0c15}
.s2-stage .vo-fallback-tag{position:absolute;top:.22rem;left:.22rem;z-index:3;font-size:.55rem;padding:.05rem .3rem;border-radius:.25rem;background:rgba(245,158,11,.88);color:#1a1206;font-weight:700}
.s2-stage .merged-prompt-text{white-space:pre-line}


/* @V57 引擎历史只读回放 */
.s2ie-archive-bar{margin:4px 4px 14px;padding:9px 14px;border-radius:10px;font-size:12.5px;line-height:1.6;color:#9ec5ff;background:rgba(56,120,248,.10);border:1px solid rgba(96,165,250,.28)}
.s2ie-archived .action-area,.s2ie-archived .suggestion-section,.s2ie-archived .rollback-btn{display:none!important}
.s2ie-archived .step-btn,.s2ie-archived .vo-add,.s2ie-archived .vo-retry-btn,.s2ie-archived .vo-delete-btn,.s2ie-archived .vo-delete-sm,.s2ie-archived .chip-delete,.s2ie-archived .asset-chip-add,.s2ie-archived .asset-add-btn,.s2ie-archived .prompt-edit-btn,.s2ie-archived .s2ie-ship-foot{display:none!important}
.s2ie-archived .video-duration-clickable{pointer-events:none;opacity:.7;cursor:default}
.s2ie-archived .vo-done{cursor:pointer}
.s2ie-archived .jieDian-item.is-confirm{cursor:default}
