*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:#f8fafc;background:#0f172a;font-family:Arial,Microsoft YaHei,sans-serif}.pageShell{flex-direction:column;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.videoShell{color:#e2e8f0;background:#0b1120;min-height:100vh;padding:28px 20px 56px}.studio{width:min(1200px,100%);margin:0 auto}.studioHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.studioEyebrow{letter-spacing:2px;text-transform:uppercase;color:#38bdf8;margin:0;font-size:12px}.studioTitle{color:#f8fafc;margin:6px 0 8px;font-size:34px;line-height:1.1}.studioSub{color:#94a3b8;margin:0;font-size:14px;line-height:1.6}.serviceBadge{color:#cbd5e1;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:13px;display:inline-flex}.serviceDot{background:#64748b;border-radius:50%;width:9px;height:9px}.serviceBadge.online{color:#4ade80;background:#22c55e1a;border-color:#4ade8059}.serviceBadge.online .serviceDot{background:#4ade80}.serviceBadge.offline{color:#fca5a5;background:#f871711a;border-color:#f8717159}.serviceBadge.offline .serviceDot{background:#f87171}.serviceBadge.checking .serviceDot{animation:1.2s infinite dotPulse}.studioLayout{grid-template-columns:minmax(0,430px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.panel{background:#111a2c;border:1px solid #ffffff14;border-radius:16px;padding:20px}.modeTabs{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.modeTab{text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.modeTab:hover{border-color:#38bdf880}.modeTab.active{background:#38bdf81a;border-color:#38bdf8}.modeLabel{color:#f1f5f9;font-size:14px;font-weight:600}.modeDesc{color:#94a3b8;font-size:11px;line-height:1.4}.fieldLabel{color:#94a3b8;margin-bottom:6px;font-size:13px;display:block}.intentInput{color:#f1f5f9;resize:vertical;background:#0b1120;border:1px solid #ffffff24;border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.6}.intentInput:focus{border-color:#38bdf8;outline:none}.intentInput::placeholder{color:#475569}.charCount{text-align:right;color:#64748b;margin-top:4px;font-size:12px}.paramGrid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px;display:grid}.paramItem{flex-direction:column;gap:4px;min-width:0;display:flex}.chipRow{flex-wrap:wrap;gap:6px;display:flex}.chip{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;padding:5px 12px;font-family:inherit;font-size:13px}.chip:hover{border-color:#38bdf880}.chip.active{color:#7dd3fc;background:#38bdf829;border-color:#38bdf8}.durationRange{accent-color:#38bdf8;width:100%}.paramHint{color:#64748b;margin:0;font-size:12px;line-height:1.6}.optimizeRow{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.optimizeRow .paramHint{margin:0}.optimizeRow .ghostBtn{white-space:nowrap;flex:none}.ghostBtn:disabled{opacity:.5;cursor:not-allowed}.frameGrid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;display:grid}.frameSlot{min-width:0}.frameDrop{color:#94a3b8;cursor:pointer;background:#0b1120;border:1px dashed #94a3b866;border-radius:10px;width:100%;min-height:110px;font-family:inherit;font-size:13px}.frameDrop:hover,.frameSlot.over .frameDrop{color:#7dd3fc;border-color:#38bdf8}.frameSlot.over .framePreview img{outline-offset:-2px;outline:2px solid #38bdf8}.framePreview{position:relative}.framePreview img{object-fit:cover;border:1px solid #ffffff1a;border-radius:10px;width:100%;height:120px;display:block}.refRemove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;width:22px;height:22px;padding:0;font-size:14px;line-height:1;position:absolute;top:6px;right:6px}.refRemove:hover{background:#dc2626cc}.refSection{margin-top:16px}.refDrop{color:#94a3b8;cursor:pointer;text-align:center;background:#0b1120;border:1px dashed #94a3b866;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;min-height:110px;padding:12px;font-family:inherit;font-size:13px;display:flex}.refDrop:hover,.refSection.over .refDrop{color:#7dd3fc;border-color:#38bdf8}.refSection.over .refGrid{outline-offset:4px;border-radius:8px;outline:2px solid #38bdf8}.refHeader{align-items:center;gap:12px;margin-bottom:8px;display:flex}.refHeader .fieldLabel{margin-bottom:0}.ghostBtn{color:#e2e8f0;cursor:pointer;text-align:center;background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:13px;text-decoration:none}.ghostBtn:hover{background:#ffffff1f}.refGrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.refItem{margin:0;position:relative}.refItem img{object-fit:cover;border:1px solid #ffffff1a;border-radius:8px;width:100%;height:90px;display:block}.refItem figcaption{color:#64748b;margin-top:4px;font-size:11px}.formError{word-break:break-word;color:#fca5a5;background:#f871711a;border:1px solid #f871714d;border-radius:10px;margin:14px 0 0;padding:10px 12px;font-size:13px;line-height:1.6}.primaryBtn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#38bdf8);border:none;border-radius:10px;width:100%;margin-top:18px;padding:12px;font-family:inherit;font-size:15px;font-weight:600}.primaryBtn:hover:not(:disabled){filter:brightness(1.1)}.primaryBtn:disabled{color:#94a3b8;cursor:not-allowed;background:#334155}.taskChips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.taskChip{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;padding:5px 12px;font-family:inherit;font-size:12px}.taskChip.active{color:#7dd3fc;background:#38bdf81f;border-color:#38bdf8}.taskCard{gap:12px;display:grid}.taskHead{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.badge{color:#cbd5e1;background:#ffffff14;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.badge.queued{color:#93c5fd;background:#2563eb2e}.badge.polling{color:#fbbf24;background:#eab30829;animation:1.6s infinite dotPulse}.badge.completed{color:#4ade80;background:#22c55e29}.badge.failed{color:#fca5a5;background:#f8717129}.elapsed{color:#94a3b8;font-size:12px}.taskId{color:#64748b;margin-left:auto;font-size:12px}.pendingBar{background:#ffffff14;border-radius:999px;height:6px;position:relative;overflow:hidden}.pendingBar span{background:linear-gradient(90deg,#0000,#38bdf8,#0000);border-radius:999px;width:40%;height:100%;animation:1.6s infinite barSlide;position:absolute;top:0;left:-40%}.pendingHint{color:#94a3b8;margin:0;font-size:13px;line-height:1.7}.promptBox{background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;padding:10px 14px;font-size:13px}.promptBox summary{cursor:pointer;color:#7dd3fc}.promptBox p{word-break:break-word;color:#cbd5e1;margin:8px 0 0;font-size:13px;line-height:1.7}.taskError{word-break:break-word;color:#fca5a5;background:#f8717114;border:1px solid #f8717140;border-radius:10px;justify-items:start;gap:10px;padding:10px 12px;font-size:13px;line-height:1.6;display:grid}.taskError p{margin:0}.videoWrap{justify-items:start;gap:10px;display:grid}.videoWrap video{background:#000;border-radius:10px;width:100%;max-height:480px;display:block}.downloadBtn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#38bdf8);border:none;border-radius:10px;padding:9px 20px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none}.downloadBtn:hover{filter:brightness(1.1)}.taskMetaRow{color:#64748b;margin:0;font-size:12px}.emptyState{text-align:center;border:1px dashed #94a3b84d;border-radius:12px;padding:48px 20px}.emptyTitle{color:#cbd5e1;margin:0 0 6px;font-size:15px}.emptyHint{color:#64748b;margin:0;font-size:13px}@keyframes dotPulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes barSlide{to{left:100%}}.psdShell{flex-direction:column;gap:14px;width:min(640px,100%);padding:8px 0 24px;display:flex}.psdBackLink{color:#93c5fd;align-self:flex-start;margin-top:4px;font-size:13px;text-decoration:none}.psdBackLink:hover{text-decoration:underline}.psdBanner{color:#fbbf24;background:#78350f;border:1px solid #fbbf244d;border-radius:10px;padding:10px 16px;font-size:13px;line-height:1.6}.psdCard{background:#1e293b;border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;gap:14px;padding:22px 20px;display:flex}.psdTitle{color:#f1f5f9;margin:0;font-size:18px;font-weight:600}.psdHint{color:#94a3b8;margin:0;font-size:13px}.psdUpload{flex-direction:column;gap:12px;display:flex}.psdDrop{text-align:center;cursor:pointer;background:#0f172a;border:1px dashed #94a3b880;border-radius:12px;justify-content:center;align-items:center;min-height:140px;padding:20px;transition:border-color .15s;display:flex;position:relative}.psdDrop:hover,.psdDropOver{border-color:#38bdf8}.psdFileInput{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.psdDropText{color:#94a3b8;margin:0;font-size:14px}.psdFileName{color:#e2e8f0;word-break:break-all;margin:0;font-size:14px}.psdError{color:#fca5a5;margin:0;font-size:13px;line-height:1.6}.psdPrimaryBtn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;align-self:flex-start;padding:10px 22px;font-size:14px;font-weight:600;text-decoration:none}.psdPrimaryBtn:hover:not(:disabled){background:#1d4ed8}.psdPrimaryBtn:disabled{color:#94a3b8;cursor:not-allowed;background:#475569}.psdStateRow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.psdBadge{color:#cbd5e1;background:#ffffff14;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.psdBadge.queued{color:#93c5fd;background:#2563eb2e}.psdBadge.running{color:#fbbf24;background:#eab30829}.psdBadge.completed{color:#4ade80;background:#22c55e29}.psdBadge.failed{color:#fca5a5;background:#f8717129}.psdSpinner{border:2px solid #94a3b866;border-top-color:#38bdf8;border-radius:50%;width:14px;height:14px;animation:.9s linear infinite psdSpin}@keyframes psdSpin{to{transform:rotate(360deg)}}.psdMeta{flex-direction:column;gap:8px;margin:0;display:flex}.psdMetaRow{gap:12px;font-size:13px;display:flex}.psdMetaRow dt{color:#64748b;flex:none;width:64px}.psdMetaRow dd{color:#e2e8f0;word-break:break-all;margin:0}.psdDownload{align-self:flex-start}.psdProgressWrap{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.psdProgressBar{background:#ffffff1a;border-radius:999px;flex:1;min-width:140px;height:8px;overflow:hidden}.psdProgressFill{background:#38bdf8;border-radius:999px;height:100%;transition:width .2s}.psdProgressText{color:#94a3b8;font-size:12px}.psdCancelBtn{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;padding:6px 14px;font-size:13px}.psdCancelBtn:hover{background:#ffffff29}@media (max-width:960px){.studioLayout{grid-template-columns:1fr}.studioTitle{font-size:28px}}@media (max-width:640px){.pageShell{padding:0}.videoShell{padding:20px 14px 40px}.modeTabs,.paramGrid,.frameGrid{grid-template-columns:1fr}.refGrid{grid-template-columns:repeat(2,1fr)}}
