/* ============================================================
   全屏沉浸式覆盖：S2 命中时把工作台从居中窄布局改为满宽
   ============================================================ */
.agent-ws.s2-full{max-width:none !important;padding:18px clamp(20px,3.2vw,46px) 30px !important;}
.agent-ws.s2-full .ag-hero{padding-top:6px;}
.agent-ws.s2-full .ag-hero-ico{width:84px;height:84px;border-radius:22px;font-size:42px;}
.agent-ws.s2-full .ag-hero-title h2{font-size:30px;}
.agent-ws.s2-full .ag-form-card{max-width:none;}

/* ============================================================
   需求6：AI漫剧 S2.0 —— 全屏沉浸式 · 星座式智能引擎
   ============================================================ */
.s2-engine.s2-immersive{margin:16px 0 6px;max-width:none;width:100%;color:#e6edf6;opacity:1;
  font-family:inherit;animation:s2eIn .5s cubic-bezier(.2,.8,.25,1) forwards;}
@keyframes s2eIn{from{transform:translateY(14px);}to{transform:none;}}

/* 标题行 */
.s2e-head{display:flex;align-items:center;gap:11px;margin-bottom:18px;}
.s2e-head-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:0 0 40px;
  background:linear-gradient(135deg,rgba(34,211,238,.22),rgba(99,102,241,.22));border:1px solid rgba(34,211,238,.4);
  box-shadow:0 0 18px -4px rgba(34,211,238,.6);}
.s2e-head-ico svg{width:22px;height:22px;}
.s2e-head-tit{font-size:17px;font-weight:800;letter-spacing:.5px;background:linear-gradient(90deg,#a5f3fc,#c4b5fd);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.s2e-head-sub{font-size:12.5px;color:rgba(199,210,228,.55);margin-left:2px;}
.s2e-head-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 16px;border-radius:999px;cursor:pointer;
  background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.4);color:#67e8f9;font-size:12.5px;font-weight:600;transition:.18s;}
.s2e-head-btn:hover{background:rgba(34,211,238,.2);box-shadow:0 0 18px -4px rgba(34,211,238,.7);}

/* 星座舞台：左卡片 + 连线层 + 右大详情卡 */
.s2e-stage{position:relative;}
.s2e-const{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.s2e-cline{fill:none;}
.s2e-cline-base{stroke:rgba(148,178,220,.18);stroke-width:1.1;}
.s2e-cline-flow{stroke:var(--ec,#22d3ee);stroke-width:1.4;stroke-linecap:round;
  stroke-dasharray:2 12;opacity:.85;filter:drop-shadow(0 0 3px var(--ec,#22d3ee));
  animation:s2eFlow 1.1s linear infinite;}
@keyframes s2eFlow{to{stroke-dashoffset:-28;}}

.s2e-main{position:relative;z-index:1;display:flex;gap:0;align-items:stretch;}
.s2e-list{flex:0 0 320px;display:flex;flex-direction:column;gap:12px;padding:6px 46px 6px 0;}
.s2e-item{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:15px;cursor:pointer;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);transition:.18s;overflow:hidden;}
.s2e-item:hover{background:rgba(255,255,255,.06);transform:translateX(3px);}
.s2e-item.active{background:linear-gradient(135deg,rgba(34,211,238,.14),rgba(99,102,241,.1));
  border-color:var(--ec,#22d3ee);box-shadow:0 0 22px -8px var(--ec,#22d3ee);}
.s2e-item.active::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:3px;
  background:linear-gradient(180deg,#22d3ee,#818cf8);}
.s2e-item-ico{flex:0 0 42px;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--ec,#22d3ee),#6366f1);box-shadow:0 6px 16px -6px var(--ec,#22d3ee);}
.s2e-item-ico svg{width:23px;height:23px;}
.s2e-item-txt b{display:block;font-size:14px;font-weight:700;color:#eef4fb;margin-bottom:3px;}
.s2e-item-txt small{font-size:11.5px;color:rgba(199,210,228,.55);line-height:1.3;display:block;}

/* 右侧大详情卡（约 55% 宽） */
.s2e-detail{flex:1;min-width:0;border-radius:18px;padding:24px 28px;position:relative;overflow:hidden;
  background:linear-gradient(150deg,rgba(28,40,62,.92),rgba(18,24,40,.92));border:1px solid rgba(34,211,238,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 24px 50px -28px rgba(0,0,0,.85);}
.s2e-detail::after{content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,var(--mc,#22d3ee),transparent 70%);opacity:.18;pointer-events:none;}
.s2e-detail-top{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.s2e-no{width:38px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:800;letter-spacing:1px;
  background:rgba(34,211,238,.16);color:#67e8f9;border:1px solid rgba(34,211,238,.3);}
.s2e-manual{margin-left:auto;font-size:11.5px;color:#34d399;display:inline-flex;align-items:center;gap:5px;
  padding:4px 12px;border-radius:999px;background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.3);}
.s2e-detail-main{display:flex;gap:18px;align-items:flex-start;margin-bottom:14px;}
.s2e-detail-ico{flex:0 0 58px;width:58px;height:58px;border-radius:15px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--ec,#22d3ee),#6366f1);box-shadow:0 10px 24px -8px var(--ec,#22d3ee);}
.s2e-detail-ico svg{width:32px;height:32px;}
.s2e-detail-txt{min-width:0;flex:1;}
.s2e-detail h4{font-size:22px;font-weight:800;color:#f4f9ff;margin:0 0 10px;min-height:26px;}
.s2e-detail p{font-size:14px;line-height:1.9;color:rgba(208,220,238,.88);margin:0;min-height:80px;}
/* 打字机光标 */
.s2e-typing::after{content:"▌";margin-left:1px;font-weight:400;color:var(--mc,#22d3ee);animation:s2Caret .85s steps(1) infinite;}
@keyframes s2Caret{0%,49%{opacity:1;}50%,100%{opacity:0;}}
.s2e-tags{display:flex;flex-wrap:wrap;gap:9px;}
.s2e-tags span{font-size:12.5px;padding:6px 14px;border-radius:9px;color:#a5f3fc;background:rgba(34,211,238,.08);
  border:1px solid rgba(34,211,238,.22);}
.s2e-dots{display:flex;gap:7px;justify-content:center;margin-top:18px;position:relative;z-index:1;}
.s2e-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18);cursor:pointer;transition:.2s;}
.s2e-dots i.on{width:24px;border-radius:4px;background:linear-gradient(90deg,#22d3ee,#818cf8);}

/* 创作流水线：横向贯穿时间轴（1:1 参考站） */
.s2-pipe{margin-top:16px;border-radius:14px;padding:18px 20px 16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);}
.s2-pipe-title{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:rgba(226,236,248,.85);margin-bottom:18px;}
.s2-pipe-title::before{content:"";width:4px;height:14px;border-radius:2px;background:linear-gradient(180deg,#22d3ee,#818cf8);}
.s2-track{position:relative;padding-top:36px;}
.stg-glabel{position:absolute;top:0;transform:translateX(-50%);padding:3px 12px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap;}
.stg-glabel.g1{color:#67e8f9;background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.3);}
.stg-glabel.g2{color:#c4b5fd;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.32);}
.stg-glabel.g3{color:#fdba74;background:rgba(251,146,60,.12);border:1px solid rgba(251,146,60,.32);}
.stg-row{position:relative;display:flex;justify-content:space-between;align-items:flex-start;}
/* 贯穿水平轨道线（圆点中心高度） */
.stg-row::before{content:"";position:absolute;left:4%;right:4%;top:5px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,rgba(34,211,238,.55) 0%,rgba(139,92,246,.5) 56%,rgba(251,146,60,.55) 100%);}
.s2-pnode{position:relative;z-index:1;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:9px;cursor:default;}
.s2-pnode .pn-dot{width:14px;height:14px;border-radius:50%;background:#0b1220;border:2px solid rgba(255,255,255,.28);transition:.25s;box-sizing:border-box;position:relative;}
.s2-pnode.g1 .pn-dot{border-color:rgba(34,211,238,.55);}
.s2-pnode.g2 .pn-dot{border-color:rgba(139,92,246,.6);}
.s2-pnode.g3 .pn-dot{border-color:rgba(251,146,60,.6);}
.s2-pnode b{font-size:12px;font-weight:500;color:rgba(200,212,230,.72);text-align:center;white-space:nowrap;}
.s2-pnode:hover .pn-dot,.s2-pnode.lit .pn-dot{transform:scale(1.2);}
.s2-pnode.g1:hover .pn-dot,.s2-pnode.g1.lit .pn-dot{background:#22d3ee;border-color:#a5f3fc;box-shadow:0 0 12px rgba(34,211,238,.85);}
.s2-pnode.g2:hover .pn-dot,.s2-pnode.g2.lit .pn-dot{background:#a78bfa;border-color:#ddd6fe;box-shadow:0 0 12px rgba(139,92,246,.85);}
.s2-pnode.g3:hover .pn-dot,.s2-pnode.g3.lit .pn-dot{background:#fb923c;border-color:#fed7aa;box-shadow:0 0 12px rgba(251,146,60,.85);}
.s2-pnode.latest .pn-dot{animation:s2Pulse 1.6s ease-out infinite;}
@keyframes s2Pulse{0%{box-shadow:0 0 0 0 rgba(34,211,238,.55);}70%{box-shadow:0 0 0 12px rgba(34,211,238,0);}100%{box-shadow:0 0 0 0 rgba(34,211,238,0);}}

/* 模式条 */
.s2-mode{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap;}
.s2-mode-lab{font-size:12px;color:rgba(199,210,228,.6);margin-right:2px;}
.s2-mode-pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 16px;border-radius:999px;cursor:pointer;font-size:12.5px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:rgba(208,220,238,.75);transition:.16s;}
.s2-mode-pill.on{background:linear-gradient(135deg,rgba(34,211,238,.2),rgba(99,102,241,.18));
  border-color:rgba(34,211,238,.55);color:#a5f3fc;font-weight:700;box-shadow:0 0 16px -6px rgba(34,211,238,.8);}
.s2-mode-pill:hover{border-color:rgba(34,211,238,.4);}

/* 智能引擎弹窗 */
.s2e-mask{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;
  background:rgba(6,10,18,.66);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:s2eMask .2s ease both;}
@keyframes s2eMask{from{opacity:0;}to{opacity:1;}}
.s2e-modal{width:min(980px,94vw);max-height:88vh;overflow:auto;border-radius:20px;padding:26px 28px;position:relative;
  background:linear-gradient(160deg,#161b28,#0f131e);border:1px solid rgba(255,255,255,.09);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.9);animation:s2ePop .28s cubic-bezier(.2,.8,.25,1) both;}
@keyframes s2ePop{from{opacity:0;transform:translateY(18px) scale(.98);}to{opacity:1;transform:none;}}
.s2e-modal-x{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:9px;border:0;cursor:pointer;
  background:rgba(255,255,255,.06);color:#c8d2e4;font-size:16px;}
.s2e-modal-x:hover{background:rgba(255,255,255,.12);color:#fff;}
.s2e-m-title{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:800;color:#f2f7ff;}
.s2e-m-title .mt-ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:19px;color:#fff;
  background:linear-gradient(135deg,#22d3ee,#6366f1);}
.s2e-m-sub{font-size:12.5px;color:rgba(199,210,228,.55);margin:8px 0 18px;}
.s2e-dim{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-radius:13px;overflow:hidden;margin-bottom:20px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);}
.s2e-dim button{display:flex;align-items:center;gap:10px;padding:14px 16px;border:0;cursor:pointer;text-align:left;
  background:transparent;color:rgba(208,220,238,.7);transition:.16s;border-right:1px solid rgba(255,255,255,.06);}
.s2e-dim button:last-child{border-right:0;}
.s2e-dim button .dm-ico{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:14px;font-weight:800;flex:0 0 30px;}
.s2e-dim button b{display:block;font-size:13.5px;}
.s2e-dim button small{font-size:11px;opacity:.7;}
.s2e-dim button.on{background:linear-gradient(135deg,rgba(34,211,238,.12),rgba(99,102,241,.08));color:#fff;}
.s2e-m-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.s2e-m-card{border-radius:14px;padding:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
  border-top:2px solid var(--mc,#22d3ee);display:flex;flex-direction:column;}
.s2e-mc-top{display:flex;align-items:center;gap:9px;margin-bottom:12px;}
.s2e-mc-ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:16px;color:#fff;flex:0 0 34px;}
.s2e-mc-role{margin-left:auto;font-size:10.5px;padding:3px 9px;border-radius:999px;color:var(--mc,#22d3ee);
  background:color-mix(in srgb,var(--mc,#22d3ee) 14%,transparent);border:1px solid color-mix(in srgb,var(--mc,#22d3ee) 34%,transparent);}
.s2e-mc-name{font-size:15px;font-weight:800;color:#f2f7ff;margin-bottom:9px;}
.s2e-mc-desc{font-size:12px;line-height:1.8;color:rgba(200,210,228,.72);flex:1;}
.s2e-mc-feats{display:flex;flex-direction:column;gap:5px;margin:11px 0;font-size:11.5px;color:var(--mc,#22d3ee);}
.s2e-mc-feats span::before{content:"• ";}
.s2e-mc-tags{display:flex;flex-wrap:wrap;gap:6px;}
.s2e-mc-tags span{font-size:11px;padding:3px 9px;border-radius:6px;color:rgba(208,220,238,.78);background:rgba(255,255,255,.05);}
.s2e-mc-note{margin-top:10px;font-size:11.5px;line-height:1.7;color:rgba(251,171,91,.85);
  background:rgba(251,146,60,.08);border-radius:8px;padding:7px 10px;}
.s2e-m-foot{margin-top:20px;text-align:center;}
.s2e-m-foot p{font-size:11.5px;color:rgba(199,210,228,.45);margin:0 0 12px;}
.s2e-price-btn{display:inline-flex;align-items:center;gap:8px;width:100%;justify-content:center;height:44px;border:0;cursor:pointer;
  border-radius:12px;font-size:14px;font-weight:700;color:#06222b;
  background:linear-gradient(90deg,#22d3ee,#67e8f9);box-shadow:0 12px 28px -12px rgba(34,211,238,.8);}
.s2e-price-btn:hover{filter:brightness(1.06);}

/* 浅色模式 */
html[data-theme="light"] .s2-engine,.theme-light .s2-engine{color:#0f172a;}
html[data-theme="light"] .s2e-item,.theme-light .s2e-item{background:#fff;border-color:#e2e8f0;}
html[data-theme="light"] .s2e-item-txt b,.theme-light .s2e-item-txt b{color:#0f172a;}
html[data-theme="light"] .s2e-detail,.theme-light .s2e-detail{background:linear-gradient(150deg,#f8fafc,#eef4ff);border-color:#bae6fd;}
html[data-theme="light"] .s2e-detail h4,.theme-light .s2e-detail h4{color:#0f172a;}
html[data-theme="light"] .s2e-detail p,.theme-light .s2e-detail p{color:#475569;}
html[data-theme="light"] .s2-pipe,.theme-light .s2-pipe{background:#fff;border-color:#e2e8f0;}
html[data-theme="light"] .s2-modal,.theme-light .s2e-modal{background:#fff;}

@media(max-width:860px){
  .s2e-main{flex-direction:column;}
  .s2e-list{flex-basis:auto;flex-direction:row;flex-wrap:wrap;}
  .s2e-item{flex:1 1 46%;min-width:150px;}
  .s2e-m-cards{grid-template-columns:1fr;}
  .s2e-dim{grid-template-columns:1fr;}
  .s2e-dim button{border-right:0;border-bottom:1px solid rgba(255,255,255,.06);}
}
@media(max-width:560px){
  .s2-engine{margin:14px 0 4px;}
  .s2e-head{flex-wrap:wrap;gap:8px;}
  .s2e-head-sub{display:none;}
  .s2e-list{flex-direction:column;}
  .s2e-item{flex:1 1 100%;}
  .s2e-detail{padding:15px 15px;border-radius:13px;}
  .s2e-detail h4{font-size:16px;}
  .s2e-detail p{font-size:12.5px;line-height:1.75;}
  .s2e-tags span{font-size:11px;padding:4px 9px;}
  .s2-pipe{padding:13px 13px;}
  .s2-pnode{font-size:11px;}
  .s2-pnode:not(:last-child)::after{width:10px;}
  .s2-mode-pill{flex:1 1 100%;justify-content:center;}
  .s2e-modal{padding:18px 15px;border-radius:16px;}
  .s2e-m-title{font-size:18px;}
  .s2e-m-card{padding:13px;}
}

/* ============ 偏好设置弹窗（1:1 参考站） ============ */
.pf-mask{position:fixed;inset:0;z-index:10000;background:rgba(4,6,12,.62);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:26px;animation:pfFade .2s ease;}
@keyframes pfFade{from{opacity:0}to{opacity:1}}
.pf-modal{position:relative;width:880px;max-width:96vw;max-height:92vh;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;
  background:linear-gradient(180deg,#141722,#0f121b);border:1px solid rgba(139,92,246,.28);
  box-shadow:0 30px 90px rgba(0,0,0,.66),inset 0 1px 0 rgba(255,255,255,.05);}
.pf-modal::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#22d3ee,#8b5cf6,#ec4899);}
.pf-head{display:flex;align-items:center;gap:13px;padding:20px 24px 16px;border-bottom:1px solid rgba(255,255,255,.06);}
.pf-head-ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:20px;color:#c4b5fd;background:rgba(139,92,246,.14);border:1px solid rgba(139,92,246,.3);}
.pf-head h3{font-size:19px;font-weight:800;color:#f1f5fb;margin:0;}
.pf-head p{font-size:12.5px;color:rgba(199,210,228,.6);margin:2px 0 0;}
.pf-sys{margin-left:auto;border:1px solid rgba(139,92,246,.5);color:#ddd6fe;background:rgba(139,92,246,.14);border-radius:999px;padding:8px 18px;font-size:13px;font-weight:700;cursor:pointer;transition:.2s;white-space:nowrap;}
.pf-sys:hover{background:rgba(139,92,246,.26);}
.pf-body{overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px;flex:1 1 auto;}
.pf-card{border:1px solid rgba(255,255,255,.07);border-radius:15px;padding:16px 18px;background:rgba(255,255,255,.025);}
.pf-card-ph{background:transparent;border-color:transparent;}
.pf-card-h{display:flex;align-items:center;gap:9px;margin-bottom:13px;}
.pf-card-h b{font-size:14.5px;font-weight:700;color:#e8edf6;}
.pf-ico{font-size:15px;color:#a5b4fc;}
.pf-rule{font-size:11.5px;font-weight:700;color:#fcd34d;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3);padding:2px 9px;border-radius:6px;cursor:help;}
.pf-right-note{margin-left:auto;font-size:12px;color:rgba(199,210,228,.55);}
.pf-note{font-size:12px;color:rgba(199,210,228,.5);margin:10px 0 0;line-height:1.6;}
.pf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
/* 语言/标签胶囊 */
.pf-seg{display:flex;flex-wrap:wrap;gap:9px;}
.pf-opt{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:rgba(220,228,240,.82);border-radius:999px;padding:7px 16px;font-size:13px;cursor:pointer;transition:.18s;position:relative;}
.pf-opt:hover{border-color:rgba(139,92,246,.5);color:#fff;}
.pf-opt.on{background:linear-gradient(135deg,rgba(139,92,246,.9),rgba(99,102,241,.9));border-color:transparent;color:#fff;font-weight:700;box-shadow:0 4px 14px rgba(139,92,246,.35);}
.pf-tag{font-style:normal;font-size:10px;font-weight:700;color:#a5f3fc;background:rgba(34,211,238,.16);border:1px solid rgba(34,211,238,.3);border-radius:5px;padding:1px 5px;margin-left:7px;}
/* 大单选行 */
.pf-radio{display:flex;align-items:flex-start;gap:11px;width:100%;text-align:left;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:12px 14px;margin-top:10px;cursor:pointer;transition:.18s;position:relative;color:#dbe3f0;}
.pf-radio:hover{border-color:rgba(139,92,246,.4);}
.pf-radio.on{border-color:rgba(139,92,246,.65);background:rgba(139,92,246,.1);box-shadow:inset 0 0 0 1px rgba(139,92,246,.25);}
.pr-dot{flex:0 0 auto;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.25);margin-top:2px;position:relative;}
.pf-radio.on .pr-dot{border-color:#a78bfa;}
.pf-radio.on .pr-dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:linear-gradient(135deg,#a78bfa,#818cf8);}
.pf-radio b{font-size:13.5px;font-weight:700;color:#eef2f9;display:inline-flex;align-items:center;}
.pf-radio small{display:block;font-size:12px;color:rgba(199,210,228,.55);margin-top:3px;line-height:1.5;font-weight:400;}
.pr-check{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-size:12px;font-style:normal;}
/* 步进器 */
.pf-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;}
.pf-line-lab{font-size:13px;color:rgba(214,224,238,.78);}
.pf-step,.pf-shotmax{display:inline-flex;align-items:center;gap:0;border:1px solid rgba(255,255,255,.12);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.03);}
.pf-step button,.pf-shotmax button{width:34px;height:34px;border:none;background:transparent;color:#c4b5fd;font-size:17px;cursor:pointer;}
.pf-step button:hover,.pf-shotmax button:hover{background:rgba(139,92,246,.18);}
.pf-step-val,.pf-shotmax b{min-width:56px;text-align:center;font-size:14px;font-weight:700;color:#fff;}
/* 宫格 */
.pf-grids{display:flex;gap:12px;}
.pf-grid{flex:1;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 8px 10px;background:rgba(255,255,255,.02);cursor:pointer;transition:.18s;display:flex;flex-direction:column;align-items:center;gap:9px;color:#cbd5e1;}
.pf-grid:hover{border-color:rgba(139,92,246,.45);}
.pf-grid.on{border-color:rgba(139,92,246,.7);background:rgba(139,92,246,.12);color:#fff;}
.pg-box{display:grid;gap:3px;width:46px;height:46px;}
.pg-box i{background:rgba(255,255,255,.18);border-radius:2px;}
.pf-grid.on .pg-box i{background:rgba(167,139,250,.85);}
.pf-grid b{font-size:12.5px;font-weight:600;}
/* 下拉 */
.pf-selects{display:flex;gap:12px;}
.pf-select{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#dbe3f0;border-radius:10px;padding:9px 15px;font-size:13.5px;cursor:pointer;transition:.18s;}
.pf-select:hover{border-color:rgba(139,92,246,.5);}
.pf-chatmodel{display:flex;align-items:center;gap:10px;}
.pf-main{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:800;color:#a5f3fc;background:rgba(34,211,238,.14);border:1px solid rgba(34,211,238,.3);}
.pf-chatmodel .pf-select{flex:1;text-align:left;}
.pf-add{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;border:1px dashed rgba(255,255,255,.2);color:rgba(255,255,255,.6);cursor:pointer;}
.pf-add:hover{border-color:#a78bfa;color:#fff;}
.pf-foot{padding:15px 24px 20px;border-top:1px solid rgba(255,255,255,.06);}
.pf-save{width:100%;height:48px;border:none;border-radius:13px;cursor:pointer;font-size:15px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,#7c3aed,#6366f1);box-shadow:0 8px 24px rgba(124,58,237,.4);transition:.2s;}
.pf-save:hover{filter:brightness(1.1);transform:translateY(-1px);}
html[data-theme="light"] .pf-modal,.theme-light .pf-modal{background:linear-gradient(180deg,#fff,#f4f5fb);border-color:#e2e8f0;}
html[data-theme="light"] .pf-head,html[data-theme="light"] .pf-foot,.theme-light .pf-head,.theme-light .pf-foot{border-color:#e6e9f2;}
html[data-theme="light"] .pf-head h3,.theme-light .pf-head h3{color:#1e2433;}
html[data-theme="light"] .pf-card,.theme-light .pf-card{background:#f7f8fc;border-color:#e6e9f2;}
html[data-theme="light"] .pf-card-h b,.theme-light .pf-card-h b{color:#22293a;}
html[data-theme="light"] .pf-opt,.theme-light .pf-opt{background:#fff;border-color:#dfe3ee;color:#475066;}
html[data-theme="light"] .pf-radio,.theme-light .pf-radio{background:#fff;border-color:#e2e6f0;}
@media(max-width:720px){.pf-grid2{grid-template-columns:1fr;}.pf-modal{max-height:94vh;}.pf-grids{gap:8px;}.pf-head{padding:16px;}.pf-body{padding:15px;}}

/* ============ 智能引擎：切换按钮 / 模型 code / 模型选择浮层 ============ */
.s2e-pref-btn{margin-left:8px;display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;cursor:pointer;
  background:transparent;border:1px solid rgba(255,255,255,.16);color:rgba(208,220,238,.7);font-size:12px;transition:.16s;}
.s2e-pref-btn:hover{border-color:rgba(34,211,238,.5);color:#a5f3fc;}
.s2e-mc-switch{margin-left:auto;border:1px solid color-mix(in srgb,var(--mc,#22d3ee) 45%,transparent);color:var(--mc,#22d3ee);
  background:color-mix(in srgb,var(--mc,#22d3ee) 12%,transparent);border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:700;cursor:pointer;transition:.16s;white-space:nowrap;}
.s2e-mc-switch:hover{background:color-mix(in srgb,var(--mc,#22d3ee) 26%,transparent);}
.s2e-mc-code{font-size:11px;color:rgba(148,163,184,.7);margin:-4px 0 9px;font-family:ui-monospace,Menlo,Consolas,monospace;}
.s2e-pick-pop{position:relative;margin-top:10px;border-radius:11px;padding:10px;background:rgba(8,12,22,.92);border:1px solid rgba(34,211,238,.35);
  box-shadow:0 14px 34px -12px rgba(0,0,0,.8);animation:s2ePop .18s ease;}
.s2e-pick-t{font-size:12px;font-weight:700;color:#a5f3fc;margin-bottom:8px;}
.s2e-pick{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);border-radius:9px;padding:8px 11px;margin-bottom:6px;cursor:pointer;color:#dbe3f0;font-size:13px;transition:.15s;}
.s2e-pick:last-child{margin-bottom:0;}
.s2e-pick:hover{border-color:rgba(34,211,238,.5);}
.s2e-pick.on{border-color:#22d3ee;background:rgba(34,211,238,.1);}
.s2e-pick small{font-size:10.5px;color:rgba(148,163,184,.75);font-family:ui-monospace,Menlo,Consolas,monospace;}

/* ============ 三阶段工作流推进面板 ============ */
.s2-flow{margin-top:16px;border-radius:14px;padding:16px 18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);}
.s2-flow-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;}
.s2-flow-head span{font-size:14px;font-weight:800;color:#eef4fb;}
.s2-flow-head small{font-size:11.5px;color:rgba(199,210,228,.5);}
.s2-flow-input{width:100%;box-sizing:border-box;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);border-radius:11px;
  padding:10px 13px;color:#e8edf6;font-size:13px;line-height:1.6;resize:vertical;font-family:inherit;margin-bottom:10px;}
.s2-flow-input:focus{outline:none;border-color:rgba(34,211,238,.55);}
.s2-flow-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.s2-flow-start{height:36px;padding:0 18px;border:0;border-radius:999px;cursor:pointer;font-size:13px;font-weight:700;color:#06222b;
  background:linear-gradient(90deg,#22d3ee,#67e8f9);box-shadow:0 10px 22px -12px rgba(34,211,238,.8);}
.s2-flow-auto{height:36px;padding:0 18px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:700;color:#ddd6fe;
  background:rgba(139,92,246,.16);border:1px solid rgba(139,92,246,.5);transition:.16s;}
.s2-flow-auto:hover{background:rgba(139,92,246,.3);}
.s2-flow-engine{margin-left:auto;font-size:11.5px;color:rgba(199,210,228,.55);}
.s2-flow-stagebar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;}
.s2f-stage{border-radius:10px;padding:9px 12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);}
.s2f-stage b{display:block;font-size:12.5px;margin-bottom:3px;}
.s2f-stage.g1 b{color:#67e8f9;}.s2f-stage.g2 b{color:#c4b5fd;}.s2f-stage.g3 b{color:#fdba74;}
.s2f-stage small{font-size:11px;color:rgba(199,210,228,.55);}
.s2f-bar{height:4px;border-radius:3px;background:rgba(255,255,255,.08);margin-top:7px;overflow:hidden;}
.s2f-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#22d3ee,#818cf8);transition:.4s;}
.s2-flow-cur{border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18);padding:13px 15px;}
.s2f-cur-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.s2f-cur-stage{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;}
.s2f-cur-stage.g1{color:#67e8f9;background:rgba(34,211,238,.12);border:1px solid rgba(34,211,238,.3);}
.s2f-cur-stage.g2{color:#c4b5fd;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.3);}
.s2f-cur-stage.g3{color:#fdba74;background:rgba(251,146,60,.12);border:1px solid rgba(251,146,60,.3);}
.s2f-cur-head b{font-size:13.5px;color:#eef4fb;}
.s2f-cur-spin{font-size:11.5px;color:#67e8f9;}
.s2f-cur-spin::before{content:"⏳ ";}
.s2f-cur-ok{font-size:11.5px;color:#34d399;margin-left:auto;}
.s2f-cur-out{white-space:pre-wrap;font-size:12.5px;line-height:1.75;color:rgba(214,224,238,.85);margin:0;min-height:60px;font-family:inherit;}
.s2f-cur-edit{width:100%;box-sizing:border-box;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);border-radius:9px;
  padding:9px 11px;color:#e8edf6;font-size:12.5px;line-height:1.7;resize:vertical;font-family:inherit;}
.s2f-cur-edit:focus{outline:none;border-color:rgba(34,211,238,.5);}
.s2f-cur-actions{margin-top:10px;text-align:right;}
.s2f-next{height:34px;padding:0 16px;border:0;border-radius:999px;cursor:pointer;font-size:12.5px;font-weight:700;color:#06222b;
  background:linear-gradient(90deg,#34d399,#6ee7b7);}
.s2f-done{font-size:13px;color:#34d399;font-weight:700;}
@media(max-width:640px){.s2-flow-stagebar{grid-template-columns:1fr;}.s2-flow-engine{margin-left:0;width:100%;}}

/* ============ 任务3：真实渲染引擎面板（逐镜头出片） ============ */
.s2-render{ margin-top:14px; border:1px solid rgba(34,211,238,.28); border-radius:14px; padding:14px 16px; background:linear-gradient(180deg,rgba(15,23,42,.6),rgba(10,16,30,.6)); }
.s2r-title{ display:flex; align-items:center; gap:8px; font-weight:700; font-size:15px; color:#eaf6ff; }
.s2r-dot{ width:9px; height:9px; border-radius:50%; background:#22d3ee; box-shadow:0 0 10px #22d3ee; animation:s2rPulse 1.6s ease-in-out infinite; }
@keyframes s2rPulse{ 0%,100%{opacity:1} 50%{opacity:.35} }
.s2r-sub{ margin-top:6px; font-size:12.5px; color:#9fd8e8; }
.s2r-note{ margin:8px 0; font-size:12px; color:#8aa0ad; line-height:1.6; }
.s2r-note b{ color:#22d3ee; }
.s2r-actions{ display:flex; align-items:center; gap:12px; margin:10px 0; }
.s2r-start{ appearance:none; border:none; cursor:pointer; padding:10px 20px; border-radius:10px; font-size:14px; font-weight:700; color:#04121a; background:linear-gradient(135deg,#22d3ee,#0ea5e9); box-shadow:0 8px 20px -8px rgba(34,211,238,.7); }
.s2r-start:disabled{ opacity:.6; cursor:not-allowed; }
.s2r-progress{ font-size:12.5px; color:#9fd8e8; }
.s2rs-list{ display:flex; flex-direction:column; gap:10px; margin-top:10px; }
.s2rs-row{ border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:10px 12px; background:rgba(255,255,255,.02); }
.s2rs-row.rendering{ border-color:rgba(250,204,21,.5); }
.s2rs-row.done{ border-color:rgba(52,211,153,.45); }
.s2rs-row.fail{ border-color:rgba(248,113,113,.5); }
.s2rs-head{ display:flex; justify-content:space-between; align-items:center; }
.s2rs-no{ font-weight:700; font-size:13px; color:#cfe9ff; }
.s2rs-status{ font-size:12px; color:#9fd8e8; }
.s2rs-fail{ color:#fca5a5; font-weight:700; }
.s2rs-retry{ margin-left:8px; appearance:none; border:1px solid rgba(34,211,238,.5); background:rgba(34,211,238,.12); color:#7de9ff; border-radius:6px; padding:2px 10px; font-size:12px; cursor:pointer; }
.s2rs-prompt{ margin-top:6px; font-size:12px; color:#9aa7b5; line-height:1.5; }
.s2rs-video{ margin-top:8px; }
.s2rs-err{ margin-top:6px; font-size:11.5px; color:#fca5a5; }
.s2f-reparse{ margin-left:10px; appearance:none; border:1px solid rgba(255,255,255,.18); background:transparent; color:#cfe9ff; border-radius:8px; padding:6px 12px; font-size:12.5px; cursor:pointer; }

/* ============================================================
   manju（AI漫剧·剧情版/解说版）左下浮动「智能引擎」按钮
   1:1 参考站：深色半透明宽胶囊 + 青色描边 + hover 发光，点击打开同款智能创作引擎弹窗
   ============================================================ */
.s2-manju-eng-btn{position:fixed;left:24px;bottom:96px;z-index:90;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:14px;border:1px solid rgba(0,202,224,.45);background:rgba(8,18,26,.72);color:#a5f3fc;font-size:14px;font-weight:600;cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 6px 22px -10px rgba(0,202,224,.5);transition:.18s;}
.s2-manju-eng-btn .s2me-ic{color:#00cae0;font-size:15px;line-height:1;}
.s2-manju-eng-btn:hover{background:rgba(0,202,224,.14);border-color:rgba(0,202,224,.75);box-shadow:0 0 18px rgba(0,202,224,.45);color:#cffafe;}
