.参考视频工坊{display:grid;gap:18px}.参考工坊标题{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--线)}.参考工坊标题 span{color:var(--绿);font-size:12px}.参考工坊标题 h2{margin:4px 0;font-size:24px;letter-spacing:0}.参考工坊标题 p,.参考设置组 p{margin:0;color:var(--淡);font-size:13px}.能力状态{padding:7px 10px;border:1px solid #e1d7c1;border-radius:6px;background:#f7f5f0;color:#978349;font-size:12px;white-space:nowrap}.能力状态.已验证{border-color:#c1e1d5;background:#f1f8f6;color:#499775}.参考工坊布局{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:16px}.参考工坊输入,.参考工坊设置,.参考状态区{padding:18px;border:1px solid var(--线);border-radius:8px;background:#f4f4f6}.参考工坊输入{display:grid;gap:14px}.参考工坊输入 label,.参考参数网格 label{display:grid;gap:7px;color:#23202a;font-size:13px}.参考工坊输入 input,.参考工坊输入 textarea,.参考工坊输入 select,.参考参数网格 select{width:100%;box-sizing:border-box}.参考输入方式{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--线);border-radius:7px;background:#f6f6f8}.参考输入方式 button{min-height:40px;border:0;border-radius:5px;background:transparent;color:var(--淡);cursor:pointer}.参考输入方式 button.选中{background:#efeef2;color:#242424}.参考上传{min-height:130px;align-content:center;padding:16px;border:1px dashed #d0cdd5;border-radius:7px;text-align:center;cursor:pointer}.参考上传 input{position:absolute;width:1px;height:1px;opacity:0}.参考上传 span{color:var(--淡)}.参考视频预览{width:100%;max-height:420px;aspect-ratio:16/9;object-fit:contain;border-radius:6px;background:#f7f7fa}.参考工坊设置{display:grid;align-content:start;gap:16px}.参考设置组{display:grid;gap:10px;padding-bottom:15px;border-bottom:1px solid var(--线)}.参考设置组 h3,.参考状态头 h3{margin:0;font-size:15px;letter-spacing:0}.参考功能网格{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.参考功能{display:grid;grid-template-columns:20px 1fr;gap:2px 7px;min-height:58px;padding:10px;border:1px solid var(--线);border-radius:6px;background:#f5f5f8}.参考功能 input{grid-row:1/3;width:16px;margin:2px 0 0}.参考功能 small{color:#878159;font-size:11px}.参考功能.待验证{opacity:.72}.参考开关{display:flex;align-items:center;gap:9px}.参考参数网格{display:grid;grid-template-columns:1fr 1fr;gap:10px}.原尺寸说明{padding:9px;border-left:3px solid var(--绿);background:#f2f9f7;color:#2a5643!important;line-height:1.55}.参考开始{width:100%;min-height:48px}.参考状态区{display:grid;gap:14px}.参考状态区 .次按钮{justify-self:start;min-height:40px;padding:0 14px;border:1px solid #d0cdd5;border-radius:6px;background:#f2f1f4;color:#231a2d;cursor:pointer}.参考状态区 .次按钮:hover{border-color:#d0ced5;background:#efeef2}.参考状态区 .次按钮:disabled{opacity:.55;cursor:not-allowed}.参考状态头{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.参考状态头 p{margin:5px 0 0;color:var(--淡);font-size:12px}.参考状态头 strong{font-variant-numeric:tabular-nums}.参考进度槽{height:8px;border:1px solid #ebeaee;border-radius:99px;background:#f6f6f9;overflow:hidden}.参考进度槽 i{display:block;width:0;height:100%;background:#499777;transition:width .3s}.参考状态步骤{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.参考状态步骤 li{min-height:58px;padding:10px;border:1px solid var(--线);border-radius:6px;background:#f5f5f8}.参考状态步骤 b,.参考状态步骤 span{display:block}.参考状态步骤 b{font-size:12px}.参考状态步骤 span{margin-top:5px;color:var(--淡);font-size:11px}.参考状态步骤 li.完成{border-color:#c1e1d5;background:#f1f8f6}.参考状态步骤 li.完成 span{color:#499775}.参考状态步骤 li.错误{border-color:#e1c1c1}.参考媒体信息,.参考分片列表{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:11px;border:1px solid var(--线);border-radius:6px;background:#f5f5f8}.参考媒体信息 span,.参考分片列表 span{padding:5px 7px;border-radius:4px;background:#f1f1f4;color:#312e37;font-size:11px}.参考媒体信息 em{flex-basis:100%;color:#499777;font-size:11px;font-style:normal}.参考成片区{display:grid;gap:10px;padding:12px;border:1px solid #c1e1d5;border-radius:7px;background:#f3f9f7}.参考成片头{display:flex;align-items:center;justify-content:space-between;gap:12px}.参考成片头 b,.参考成片头 span{display:block}.参考成片头 span{margin-top:4px;color:#499776;font-size:11px}.参考成片区 video{display:block;width:100%;max-height:520px;object-fit:contain;background:#f7f7fa}.参考成片区 p{margin:0;color:var(--淡);font-size:11px;line-height:1.55}.分栏视图 #参考视频工坊区{scroll-margin-top:112px}
@media(max-width:900px){.参考工坊布局{grid-template-columns:1fr}.参考状态步骤{grid-template-columns:repeat(2,minmax(0,1fr))}}
#参考配乐设置{display:grid;gap:14px;padding:16px;background:var(--卡片,#fff);border:1px solid var(--线,#dce1e8);border-radius:16px}#参考配乐设置.隐藏{display:none}#参考配乐设置 audio{width:100%;min-width:0}#参考配乐设置 .参考字段{display:grid;gap:8px;font-size:13px}#参考配乐设置 input[type=file]{max-width:100%;min-height:44px;font-size:12px}#参考配乐设置 input[type=range]{width:100%;min-height:32px;accent-color:#5f78b4}#参考配乐设置 output{color:var(--淡,#687689);font-size:12px}
@media(max-width:560px){.参考工坊标题{display:grid}.能力状态{white-space:normal}.参考功能网格,.参考参数网格,.参考状态步骤{grid-template-columns:1fr}.参考工坊输入,.参考工坊设置,.参考状态区{padding:13px}.参考视频工坊{min-width:0}.参考媒体信息,.参考分片列表{align-items:stretch}.参考媒体信息 span,.参考分片列表 span{max-width:100%;overflow-wrap:anywhere}.参考成片头{align-items:stretch;display:grid}.参考成片头 .次按钮{width:100%}}

#参考配乐设置 .参考配乐上传{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:12px;border:1px dashed #aebbd1;border-radius:12px;background:#f5f8fe;color:#34527d;cursor:pointer}
#参考配乐设置 .参考配乐上传 input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
#参考配乐设置 .参考配乐上传:focus-within{outline:2px solid #607bad;outline-offset:3px}
#参考配乐文件名{display:block;margin-top:5px;color:#63718a;font-size:12px;overflow-wrap:anywhere}
#参考配乐设置 .参考原声开关{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
#参考配乐设置 .参考原声开关 input{width:18px;height:18px;margin:0;flex:0 0 18px;accent-color:#5f78b4}
.参考配乐上传:hover{border-color:#627fae!important;background:#edf3ff!important}
@media(max-width:560px){.参考功能网格{grid-template-columns:repeat(2,minmax(0,1fr))}.参考功能{padding:10px;min-height:64px}.参考功能 span{font-size:13px}.参考功能 small{font-size:11px;line-height:1.5}.参考工坊标题 h2{font-size:24px}.参考工坊输入,.参考工坊设置{gap:16px}}


/* 本地 ReActor 换脸与 Hypit 成片 */
.换脸工坊{margin-top:24px;padding:28px;border:1px solid rgba(119,140,255,.2);background:linear-gradient(135deg,rgba(16,22,42,.96),rgba(27,20,45,.94));box-shadow:0 24px 70px rgba(4,7,18,.28)}
.换脸标题区{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.换脸标题区 h3{margin:8px 0 7px;font-size:clamp(22px,3vw,34px);letter-spacing:-.025em}
.换脸标题区 p{margin:0;max-width:720px;color:var(--次文字,#aeb6cc);line-height:1.7}
.换脸标题区>strong{flex:none;padding:10px 14px;border:1px solid rgba(92,230,186,.25);border-radius:999px;background:rgba(92,230,186,.08);color:#8af0d0;font-size:12px;letter-spacing:.04em}
.换脸本地标记{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(132,109,255,.16);color:#bcaeff;font-size:12px;font-weight:700}
.换脸布局{display:grid;grid-template-columns:1fr 1fr minmax(250px,.8fr);gap:16px;align-items:stretch}
.换脸上传组,.换脸设置{min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.035);padding:16px}
.换脸上传{display:flex;min-height:126px;flex-direction:column;align-items:center;justify-content:center;gap:11px;border:1px dashed rgba(155,169,255,.4);border-radius:14px;color:#dfe4ff;font-weight:700;cursor:pointer;text-align:center;transition:.2s ease}
.换脸上传:hover{border-color:#9c8cff;background:rgba(125,103,255,.08);transform:translateY(-1px)}
.换脸上传 input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.换脸上传 span{max-width:100%;padding:0 10px;color:#9ca7c4;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.换脸媒体预览{display:block;width:100%;max-height:260px;margin-top:12px;border-radius:12px;background:#070910;object-fit:contain}
.换脸设置{display:flex;flex-direction:column;gap:14px}
.换脸设置 label{display:grid;gap:7px;color:#dfe4ff;font-size:13px;font-weight:700}
.换脸设置 input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(5,8,18,.56);padding:12px;color:#fff;outline:none}
.换脸设置 input:focus{border-color:#8b7cff;box-shadow:0 0 0 3px rgba(139,124,255,.12)}
.换脸规则{display:grid;gap:8px;margin:0;padding-left:20px;color:#aeb6cc;font-size:12px;line-height:1.55}
.换脸设置 .主按钮{margin-top:auto}
.换脸状态卡{margin-top:18px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(6,9,20,.52);padding:18px}
.换脸状态头{display:flex;align-items:center;justify-content:space-between;gap:16px}
.换脸状态头 div{display:grid;gap:5px}.换脸状态头 b{color:#f4f6ff}.换脸状态头 span{color:#9ea8c3;font-size:13px}.换脸状态头>strong{color:#a898ff;font-size:20px}
.换脸进度槽{height:8px;margin:15px 0 17px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.换脸进度槽 i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7967ff,#5de0b5);transition:width .35s ease}
.换脸下载{display:flex;flex-wrap:wrap;gap:10px}.换脸下载 button:disabled{opacity:.42;cursor:not-allowed}
.换脸说明{margin-top:16px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025);padding:0 16px;color:#abb4cc}
.换脸说明 summary{padding:15px 0;color:#e8ebff;font-weight:750;cursor:pointer}.换脸说明 ol{display:grid;gap:8px;padding-left:22px;line-height:1.6}.换脸说明 p{font-size:12px;color:#8f99b5}
@media (max-width:980px){.换脸布局{grid-template-columns:1fr 1fr}.换脸设置{grid-column:1/-1}.换脸标题区{flex-direction:column}.换脸标题区>strong{align-self:flex-start}}
@media (max-width:650px){.换脸工坊{padding:18px}.换脸布局{grid-template-columns:1fr}.换脸设置{grid-column:auto}.换脸下载{display:grid;grid-template-columns:1fr}.换脸状态头{align-items:flex-start}}
.参考功能 em{grid-column:2;color:var(--淡);font-size:10px;font-style:normal;line-height:1.45}
.参考功能入口{display:grid;grid-template-columns:1fr;gap:3px;width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit}
.参考功能入口 span{font-weight:700}
.参考功能入口 small,.参考功能入口 em{grid-column:1;color:#499775}
.参考功能入口:hover{border-color:#8cc8b2;background:#eef8f4}
