#project-studio .wf,#project-dialog.wf,#project-dialog .pj-prop-reference.wf{--bg:#f5f6f8;--ink:#14161a;--muted:#8b94a3;--line:#e8eaee;--ai:linear-gradient(135deg,#5b6cff,#8b5cf6 50%,#ec4899);--soft:linear-gradient(135deg,#eef1ff,#f4ecff 50%,#fdecf6);--green:#0a9e6b;--shadow:0 1px 2px #10182804,0 8px 24px -12px #1018281a}
.wf{max-width:1320px;margin:auto}.wf h1,.wf h2,.wf h3,.wf h4,.wf p{margin:0}.wf h1{font-size:24px}.wf h2{font-size:17px}.wf h3{font-size:15px}.wf h4{font-size:13px}.wf .muted{color:var(--muted)}.wf .small{font-size:11px}.wf .subtitle{color:var(--muted);font-size:12px;margin:5px 0 20px}.wf .tag{display:inline-flex;align-items:center;white-space:nowrap;font-size:10px;font-weight:700;padding:3px 9px;border-radius:6px;background:#f0f2f6;color:#81899b}.wf .tag.purple{background:#f3ecff;color:#8b5cf6}.wf .tag.green{background:#e6f7f0;color:var(--green)}.wf .tag.amber{background:#fdf5e6;color:#b7791f}.wf .tag.blue{background:#e0f5fa;color:#0891b2}.wf .tag.red{background:#fdebec;color:#d94b55}.wf .btn{height:34px;padding:0 14px;border-radius:9px;border:1px solid var(--line);background:#fff;color:#566071;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.wf .btn:hover:not(:disabled){border-color:#b4a1f6;color:#7c3aed}.wf .btn.ai{background:var(--ai);border:0;color:#fff;box-shadow:0 6px 16px -6px #8b5cf688}.wf .btn.soft{background:var(--soft);border:1px solid #e2d4ff;color:#803ff0}.wf .btn.ok{color:#fff;background:var(--green);border-color:var(--green)}.wf .btn.sm{font-size:11px;height:29px;padding:0 11px}.wf .btn.dark{background:#191c25;color:white;border-color:#191c25}.wf .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.wf .push{margin-left:auto}.wf .topnav{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.wf .crumb{color:var(--muted);font-size:12px}.wf .crumb b{color:#4b5563}.wf .tabs{display:flex;gap:3px;border:1px solid var(--line);border-radius:12px;padding:4px;background:white}.wf .tabs button{background:none;border:0;border-radius:8px;padding:7px 13px;font-size:12px;color:#687080}.wf .tabs button.on{background:var(--ai);color:white}.wf .tabs em{font-style:normal;border-radius:20px;background:#f0f2f6;padding:1px 6px;font-size:10px;margin-left:5px;color:#8e98a8}.wf .card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.wf .stepper{padding:22px 26px 16px;margin-bottom:23px}.wf .task-head{display:flex;gap:12px;align-items:center;margin-bottom:22px}.wf .ai-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--ai);color:white;font-size:19px;flex-shrink:0}.wf .task-head p{font-size:11px;color:var(--muted);margin-top:3px}.wf .steps{display:flex}.wf .step{flex:1;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;padding:0 3px;min-width:0}.wf .step:not(:last-child):after{content:"";position:absolute;top:21px;height:2px;background:var(--line);left:calc(50% + 25px);right:calc(-50% + 25px)}.wf .node{width:42px;height:42px;border:2px solid var(--line);border-radius:50%;display:grid;place-items:center;color:#9aa3af;background:#fff;font-size:15px;font-weight:700;z-index:1}.wf .step.done .node{color:white;background:var(--green);border-color:var(--green)}.wf .step.done:after{background:var(--green)}.wf .step.cur .node{background:var(--ai);border:0;color:#fff;box-shadow:0 0 0 5px #8b5cf622,0 8px 20px -6px #8b5cf699}.wf .step b{font-size:11px;color:#4b5563;font-weight:600;text-align:center}.wf .step small{color:var(--muted);font-size:10px}.wf .step.cur small{color:#8b5cf6}.wf .pipe-meta{display:flex;gap:22px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:13px;margin-top:18px;color:var(--muted);font-size:11px}.wf .pipe-meta b{color:#454c5b}.wf .view-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.wf .view-head .stage-tag{background:#191c25;color:white;padding:3px 11px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.8px}.wf .view-head .stage-tag.ai{background:var(--ai)}.wf .view-head .sub{font-size:11px;color:var(--muted)}.wf .grid-side{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.wf .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wf .padded{padding:18px}.wf .section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}.wf .section-title:before{content:"";width:4px;height:14px;border-radius:2px;background:var(--ai)}.wf pre{font:12px/1.95 "Microsoft YaHei",sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:#525b6a}.wf .constraint{padding:13px;background:#fdf5e6;border:1px solid #f3e3c0;border-radius:10px;color:#946410;font-size:12px;line-height:1.9;white-space:pre-wrap}.wf .hint{font-size:11px;color:var(--muted);line-height:1.8;margin-top:11px}.wf table{width:100%;border-collapse:collapse;font-size:12px}.wf th{background:#f8f9fb;text-align:left;font-size:11px;color:#929aa6;font-weight:500;padding:10px 12px;white-space:nowrap}.wf td{border-top:1px solid #f0f2f5;padding:13px 12px;vertical-align:middle}.wf .table-wrap{overflow-x:auto}.wf .old{color:#9aa3af;text-decoration:line-through;font-size:11px;display:block}.wf .new{font-weight:600}.wf .map-image{display:flex;gap:8px;align-items:center;font-size:10px}.wf .mini-thumb{width:38px;height:38px;border-radius:8px;object-fit:cover;background:#f1edf9;flex-shrink:0;display:grid;place-items:center;font-size:18px;color:#9b8dc6}.wf .editor{margin-top:16px;padding:16px}.wf details>summary{cursor:pointer;color:#7b6cf6;font-size:12px}.wf textarea{width:100%;min-height:190px;resize:vertical;border:1px solid #e2e5ee;border-radius:10px;padding:12px;color:#465166;line-height:1.9;background:#fdfdff;margin:12px 0}.wf .modelbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 16px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;color:#8790a0;font-size:11px}.wf select,.wf input{border:1px solid #e2e5ee;border-radius:7px;padding:6px 9px;color:#4b5563;background:#fff;min-width:0}.wf .review-line{padding:12px 0;border-bottom:1px solid #eff1f5}.wf .review-line:last-child{border:0}.wf .review-line strong{color:#353f51;font-size:12px;display:block;margin-bottom:5px}.wf .shot{padding:13px 15px;border:1px solid var(--line);border-radius:11px;margin-bottom:10px}.wf .shot .no{color:#3b5bfd;background:#eef1ff;padding:3px 9px;border-radius:6px;font-weight:700;font-size:11px;display:inline-block;margin-bottom:8px}.wf .shot p{font-size:12px;color:#636c7a;line-height:1.9}.wf .shot .dialogue{background:#fff8e6;border-left:3px solid #f59e0b;padding:7px 10px;border-radius:0 7px 7px 0;color:#875325;margin-top:7px}.wf .stack{display:grid;gap:14px}.wf .stack .btn{width:100%;margin-top:9px}.wf .audit{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wf .audit div{background:#f7f8fc;border-radius:9px;padding:12px;text-align:center}.wf .audit strong{display:block;font-size:19px;color:#596276}.wf .audit span{color:#8d96a7;font-size:10px}.wf .empty{padding:50px 20px;text-align:center}.wf .empty .empty-icon{font-size:30px;color:#a397d2;margin-bottom:10px}.wf .empty p{color:var(--muted);margin:7px 0 17px;font-size:12px}.wf .error{border:1px solid #f3d9db;background:#fff6f6;border-radius:12px;padding:16px;color:#b15058;margin-bottom:16px;font-size:12px}
.wf .gen-hero{display:flex;align-items:center;gap:16px;background:var(--ai);border-radius:16px;padding:19px 22px;color:white;box-shadow:0 14px 34px -10px #8b5cf666;margin-bottom:17px;position:relative;overflow:hidden}.wf .gen-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 88% 10%,#ffffff38,transparent 40%)}.wf .gen-symbol{font-size:23px;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#ffffff24;flex-shrink:0}.wf .gen-hero h3{font-size:16px;font-weight:800}.wf .gen-hero p{font-size:11px;opacity:.86;margin-top:4px;max-width:370px}.wf .hero-stats{display:flex;gap:8px;margin-left:auto;position:relative}.wf .hero-stats>div{min-width:65px;padding:8px;border-radius:11px;text-align:center;background:#ffffff22}.wf .hero-stats b{display:block;font-size:18px}.wf .hero-stats small{font-size:9px;opacity:.88}.wf .hero-stats .hot{background:#ffd66644}.wf .hero-button{border:0;background:white;border-radius:11px;color:#7b3cf6;padding:10px 15px;position:relative;white-space:nowrap;font-size:12px;font-weight:700;box-shadow:0 8px 20px -6px #0004}.wf .hero-button small{display:block;color:#9c8fb9;font-size:9px;font-weight:400;margin-top:3px}.wf .stylebar{background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 14px;margin-bottom:16px;font-size:11px;color:#8b94a3}.wf .chip{border:1px solid var(--line);border-radius:22px;padding:4px 10px;background:#fff;color:#647080;font-size:11px}.wf .chip.on{background:#191c25;color:white;border-color:#191c25}.wf .shelf{padding:16px 18px;margin-bottom:14px}.wf .shelf-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:13px}.wf .shelf-head h3{font-size:14px}.wf .shelf-head small{color:var(--muted);font-size:10px}.wf .shelf-row{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 5px}.wf .asset{flex:0 0 142px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe;overflow:hidden;position:relative}.wf .asset-thumb{height:104px;display:block;width:100%;padding:0;border:0;background:var(--soft);position:relative;color:#9c8acf}.wf .asset-thumb img{width:100%;height:100%;object-fit:cover}.wf .asset-thumb>.symbol{font-size:30px}.wf .asset-thumb .tag{position:absolute;top:7px;left:7px;background:#fffffff0;font-size:9px}.wf .asset h4{padding:9px 10px 2px;font-size:12px}.wf .asset p{font-size:10px;padding:0 10px 10px;color:var(--muted)}.wf .asset>.btn{margin:0 10px 10px;width:calc(100% - 20px)}.wf .asset.wait{border-style:dashed;border-color:#d8c9ff;background:var(--soft)}.wf .asset.wait h4{color:#7b3cf6}.wf .reuse{position:absolute;bottom:0;left:0;right:0;padding:5px;font-size:8px;color:white;background:#0891b2bb}.wf .candidates{display:flex;gap:5px;padding:7px 10px 10px}.wf .candidate{height:40px;flex:1;border-radius:7px;border:2px solid transparent;background:#eef0f6;padding:0;position:relative;min-width:0}.wf .candidate img{width:100%;height:100%;object-fit:cover;border-radius:5px}.wf .candidate.selected{border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf622}.wf .candidate.selected:after{content:"✓";position:absolute;right:-5px;top:-6px;background:#8b5cf6;border-radius:20px;font-size:9px;color:white;width:14px;height:14px}.wf .completion{display:flex;gap:12px;padding:15px 18px;align-items:center;flex-wrap:wrap}.wf .track{height:7px;background:#eef0f5;border-radius:20px;overflow:hidden;flex:1;min-width:70px}.wf .track i{display:block;height:100%;background:var(--ai);border-radius:20px}.wf .log{margin-top:18px;padding:15px 18px}.wf .log summary{color:#7c8799}.wf .log p{font-size:11px;color:#8b94a3;margin-top:8px}
dialog.wf{width:880px;max-width:94vw;max-height:90vh;border:1px solid #e9e6f2;border-radius:20px;padding:0;box-shadow:0 24px 60px #131a3d33;overflow:hidden}dialog.wf::backdrop{background:#10142266;backdrop-filter:blur(3px)}dialog.wf[open]{display:flex;flex-direction:column}dialog.wf>header{padding:17px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;flex:none}dialog.wf>header small{font-size:9px;letter-spacing:1.5px;color:#9d8eb7}dialog.wf>header>button{margin-left:auto;background:white;border:1px solid var(--line);border-radius:8px;width:31px;height:31px;color:#8a91a1;font-size:20px}.wf-dialog-body{padding:20px 24px;overflow:auto;min-height:0}dialog.wf>footer{padding:15px 24px;border-top:1px solid var(--line);background:#fafbfd;display:flex;align-items:center;gap:9px;flex-wrap:wrap;flex:none}.wf .gen-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:17px}.wf .gen-settings label{display:grid;gap:6px;color:#8c93a0;font-size:11px}.wf .batch-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;margin-bottom:8px}.wf .batch-row h4{font-size:12px}.wf .batch-row p{font-size:10px;color:#8c93a0;margin-top:2px}.wf .batch-row>input{accent-color:#8b5cf6}.wf .batch-row .tag{margin-left:auto}.wf .ring{width:64px;height:64px;border-radius:50%;background:conic-gradient(#8b5cf6 var(--p),#eef0f5 0);display:grid;place-items:center;flex-shrink:0}.wf .ring b{width:54px;height:54px;background:white;border-radius:50%;display:grid;place-items:center;color:#8b5cf6}.wf .overall{display:flex;gap:16px;align-items:center;margin-bottom:20px}.wf .overall>div:last-child{flex:1}.wf .overall p{font-size:11px;color:var(--muted);margin:5px 0 10px}.wf .reference-slot{border:1px dashed #d8c9ff;border-radius:11px;padding:15px;margin:14px 0;background:#faf9ff}.wf .diff{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wf .diff>div{padding:16px;background:#fafbfc;border:1px solid var(--line);border-radius:10px;min-width:0}.wf .diff h4{margin-bottom:10px}.wf .diff pre{max-height:50vh;overflow:auto}.wf .image-preview{width:100%;max-height:52vh;object-fit:contain;background:#f4f4f8;border-radius:10px}.wf .draft-note{background:#f6f1ff;color:#8a75aa;border:1px solid #e8ddfa;padding:10px 13px;border-radius:9px;font-size:11px;margin-bottom:15px}
.wf .btn.ai:hover:not(:disabled),.wf .btn.ok:hover:not(:disabled),.wf .btn.dark:hover:not(:disabled){color:#fff;filter:brightness(1.04)}
@media(max-width:850px){.wf .grid-side,.wf .grid2,.wf .diff{grid-template-columns:1fr}.wf .task-head{align-items:flex-start;flex-wrap:wrap}.wf .steps{overflow-x:auto;gap:12px;padding:6px 3px 10px}.wf .step{min-width:105px}.wf .step:after{display:none}.wf .stepper{padding:18px 14px 12px}.wf .pipe-meta{gap:8px 18px}.wf .gen-settings{grid-template-columns:1fr 1fr}.wf .topnav{gap:10px}.wf .tabs{max-width:100%;overflow-x:auto}.wf .tabs button{white-space:nowrap}.wf .gen-hero{padding:17px;flex-wrap:wrap}.wf .gen-hero>div:nth-child(2){flex:1;min-width:180px}.wf .hero-stats{margin:0;order:3}.wf .hero-stats>div{min-width:58px}.wf .hero-button{order:4;width:100%}.wf .view-head .push{margin-left:0}.wf .view-head .sub{width:100%}.wf .completion .btn{width:100%}.wf .table-wrap table{min-width:620px}.wf .gen-settings select{width:100%}}

#project-studio .wf{color:var(--ink);font:13px/1.6 Arial,"Microsoft YaHei",sans-serif}#project-studio .wf h1{font-size:24px}#project-studio .wf p{margin:0}#project-studio .wf .subtitle{margin:5px 0 20px}#project-studio .wf .hint{margin-top:11px}#project-studio .wf .asset p{margin:0}#project-studio .wf .gen-hero p{margin-top:4px}#project-dialog.wf .pj-dialog-body{padding:20px 24px}#project-dialog.wf{max-width:94vw;width:880px}#project-dialog.wf .pj-dialog-body>footer{margin:14px -24px -20px;padding:15px 24px}.wf .asset .inline-progress{margin:0 10px 10px}.wf .result-layout{margin-bottom:16px}.wf .result-layout pre{max-height:420px;overflow:auto}.wf .wf-original{margin-bottom:20px}.wf .wf-subnav{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.wf .wf-check-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}#project-dialog.wf pre{max-height:52vh;overflow:auto}.wf .result-stale{padding:12px;background:#fff5e8;border:1px solid #f0ddc2;border-radius:10px;margin-bottom:16px;color:#9a6926}.wf .mapping-help{padding:12px;font-size:11px;color:#8b94a3}
@media(max-width:500px){.wf .hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:5px}.wf .hero-stats>div{min-width:0;padding:8px 4px}.wf .hero-stats b{font-size:14px;white-space:nowrap}}
.wf .wf-directions{margin-bottom:24px;scroll-margin-top:20px}.wf .direction-card{min-width:0;margin:0;padding:14px;background:#fafbff;box-shadow:none;border-radius:12px}.wf .direction-card legend{font-size:13px;font-weight:700;padding:0 6px;color:#27364d}.wf .direction-card .pj-field{margin:12px 0 0}.wf .direction-card [hidden]{display:none!important}.wf .direction-source{font-size:11px;line-height:1.65;color:#77849a;white-space:pre-wrap;margin-bottom:7px;overflow-wrap:anywhere}.wf .direction-card details{font-size:11px;color:#7d6faa}.wf .direction-card pre{max-height:150px;overflow:auto}.wf .direction-options{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.wf .direction-options label{display:flex;align-items:center;gap:5px;padding:8px 10px;border:1px solid #e1e5ee;border-radius:8px;background:white;font-size:11px;cursor:pointer}.wf .direction-options label:has(input:checked){border-color:#9b78fb;background:#f3edff;color:#753add}.wf .direction-options input{accent-color:#8457ed}.wf .wf-direction-footer{position:relative;z-index:1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e7ddfb;box-shadow:0 6px 24px #4c367018;padding:14px;border-radius:12px;margin-top:14px}.wf .wf-direction-footer span{font-size:12px;color:#66758d}.wf .wf-direction-footer button{margin-left:auto}.wf .wf-direction-footer small{font-size:10px;color:#7f8a9d;width:100%}.wf .wf-map-result-head{margin-bottom:12px}.wf .wf-live pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:13px;min-height:180px;max-height:60vh;overflow:auto;padding:18px;background:#fafbff;border:1px solid #ececf4;border-radius:10px;margin:12px 0}.wf .wf-live [hidden]{display:none!important}.wf .wf-live h4{font-size:15px}
@media(max-width:600px){.wf .wf-direction-footer{bottom:5px}.wf .wf-direction-footer button{width:100%;margin:0}.wf .direction-options{flex-direction:column}.wf .direction-options label{font-size:12px}.wf .wf-live pre{padding:10px}}
.wf .direction-card textarea{min-height:84px;height:84px;max-height:260px;resize:vertical}.wf [data-direction-other]{min-height:96px;height:96px;resize:vertical}
.wf .asset-guide{margin-bottom:18px;border-color:#dcd2fb;scroll-margin-top:20px}.wf .asset-guide-steps{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.wf .asset-guide-steps span{padding:7px 13px;border-radius:20px;background:#f3f4f8;color:#8490a4;font-size:12px}.wf .asset-guide-steps .current{background:#eee7ff;color:#7138d4;font-weight:700}.wf .asset-guide-main{display:flex;align-items:center;gap:24px;justify-content:space-between}.wf .asset-guide-main>div{min-width:0;flex:1}.wf .asset-guide-main h3{font-size:19px;margin-bottom:8px}.wf .asset-guide-main p{color:#64748b;line-height:1.8;overflow-wrap:anywhere}.wf .asset-guide-main small{display:block;margin-top:12px;color:#8d97a8}.wf .asset-guide-main>.btn{min-width:180px;white-space:normal;flex-shrink:0}.wf .asset-guide .hint .btn{margin-left:12px}.wf .prompt-review-item{border:1px solid #e8e5f3;border-radius:10px;padding:14px;margin:12px 0}.wf .prompt-review-item pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#fafaff;padding:12px;margin-top:10px}
@media(max-width:600px){.wf .asset-guide-main{align-items:stretch;flex-direction:column;gap:16px}.wf .asset-guide-main>.btn{width:100%}.wf .asset-guide-steps{gap:6px}.wf .asset-guide-steps span{font-size:11px;padding:6px 9px}}
.wf .btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
.wf .product-generation-item{border:1px solid #e8e5f3;border-radius:12px;margin:12px 0;overflow:hidden}.wf .product-generation-item>.batch-row{margin:0;border:0}.wf .product-reference-box{padding:14px;background:#faf9ff;border-top:1px solid #eee8fa}.wf .product-reference-thumbs{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.wf .product-reference-thumbs>div{width:132px}.wf .product-reference-thumbs img{width:132px;height:94px;object-fit:contain;background:white;border:1px solid #e2ddef;border-radius:8px}.wf .product-reference-thumbs>div>div{display:flex;gap:6px;margin-top:5px}.wf .product-reference-history{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}.wf .product-reference-history button{min-width:0;padding:5px;background:white;border:1px solid #ded8ec;border-radius:8px;text-align:left}.wf .product-reference-history img{width:100%;height:85px;object-fit:cover}.wf .product-reference-history small{display:block;overflow-wrap:anywhere}.wf [data-product-notice]{color:#7543c9}
@media(max-width:600px){.wf .product-reference-history{grid-template-columns:repeat(2,minmax(0,1fr))}.wf .product-reference-box>.row{flex-wrap:wrap}.wf .product-reference-box b{width:100%}}
#project-dialog .pj-prop-reference.wf{max-width:none;margin:18px 0}.pj-prop-reference.wf>.pj-field{margin-top:12px;max-width:320px}.pj-prop-reference.wf>.product-reference-box{border:1px solid #e8e5f3;border-radius:10px;margin-top:12px}.pj-prop-reference.wf .btn:disabled{opacity:.5;cursor:not-allowed}
.wf .stylebar>label{display:flex;align-items:center;gap:6px;max-width:100%}.wf .stylebar>label select{max-width:260px}.wf .stylebar>.push{font-size:10px}
.wf [data-action=retry-image-quote][hidden]{display:none}
.wf .wf-review{align-items:start;margin-bottom:20px}.wf .wf-review-text{min-width:0}.wf .wf-review-text>[data-review-text]{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font:13px/1.9 Arial,"Microsoft Yahei",sans-serif;margin:18px 0 0;max-height:65vh;overflow:auto;padding:18px;background:#fafbff;border:1px solid #ececf4;border-radius:10px}.wf .wf-review-actions{position:sticky;top:20px}.wf .wf-review-actions>.btn{display:block;width:100%;margin-top:12px;white-space:normal;line-height:1.6}.wf .wf-review-text>.wf-live{box-shadow:none;border:0;padding:0;margin-top:14px}@media(max-width:850px){.wf .wf-review-actions{position:static}.wf .wf-review-text>[data-review-text]{padding:12px;max-height:55vh}}
#wf-extract [hidden]{display:none!important}#wf-extract footer{display:flex;align-items:center;gap:10px;margin-top:20px;flex-wrap:wrap}#wf-extract-quote{padding:14px;border-radius:10px;background:#f7f4ff;color:#6940ac;font-weight:600}
/* Persistent progress entry and on-demand original media previews. */
.wf .task-progress{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border-color:#ddd4ff;color:#7350d9;background:#faf8ff}
.wf .task-indicator{width:9px;height:9px;border-radius:50%;background:currentColor;flex-shrink:0}
.wf .task-progress.is-busy{background:#f1eaff;color:#7044dd}
.wf .is-busy .task-indicator{width:13px;height:13px;border:2px solid #d9caff;border-top-color:currentColor;background:none;animation:wf-task-spin 1s linear infinite}
.wf .task-progress.needs-attention{background:#fff8ed;border-color:#f5d8a5;color:#a76a17}
@keyframes wf-task-spin{to{transform:rotate(360deg)}}
.wf .step.is-running .node{position:relative;background:var(--ai);color:#fff;border:0;box-shadow:0 0 0 5px #8b5cf61a}
.wf .step.is-running .node:before{content:"";position:absolute;inset:-6px;border:2px solid transparent;border-top-color:#8b5cf6;border-right-color:#d54cbe;border-radius:50%;animation:wf-task-spin 1.2s linear infinite;pointer-events:none}
.wf .step.is-running small{color:#7c3aed;font-weight:600}
.wf .wf-busy-dots{display:inline-flex;width:12px;justify-content:space-between;vertical-align:baseline}
.wf .wf-busy-dots i{font-style:normal;animation:wf-busy-dot 1.2s ease-in-out infinite}
.wf .wf-busy-dots i:nth-child(2){animation-delay:.2s}.wf .wf-busy-dots i:nth-child(3){animation-delay:.4s}
.wf .btn.is-busy:disabled{opacity:1;cursor:wait}
@keyframes wf-busy-dot{0%,70%,100%{opacity:.25}35%{opacity:1}}
@media(prefers-reduced-motion:reduce){.wf .step.is-running .node:before,.wf .wf-busy-dots i{animation:none}.wf .wf-busy-dots i{opacity:1}}
.wf .asset-thumb .original-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#18203980;color:#fff;font-size:12px;opacity:0;transition:opacity .15s}
.wf .asset-thumb:hover .original-hint,.wf .asset-thumb:focus-visible .original-hint{opacity:1}
.wf-original-preview{min-height:200px;display:flex;justify-content:center;align-items:center;background:#f1f3f8;border-radius:12px}
.wf-original-preview img{display:block;max-width:100%;max-height:65vh;object-fit:contain}
.pj-film-cover{position:relative;width:100%;aspect-ratio:16/9;border:0;border-radius:10px;overflow:hidden;background:#edf0f8;color:#6f65a9;cursor:pointer;display:grid;place-content:center;gap:8px}
.pj-film-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#171d30}
.pj-film-cover .pj-play-mark{position:absolute;z-index:1;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%)}
.pj-films{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}.pj-films>article{flex:0 0 220px;width:220px;max-width:100%;box-sizing:border-box;padding:10px;border:1px solid #e6e9f3;border-radius:13px;background:#fafbff}.pj-films .pj-film-cover{height:300px;aspect-ratio:auto}.pj-films .pj-film-cover img{object-fit:cover;background:#eeedf7}.pj-films article>strong{min-height:44px;margin-top:10px}.pj-films article>p{line-height:1.6;overflow-wrap:anywhere}
@media(hover:none){.wf .asset-thumb .original-hint{inset:auto 0 22px auto;padding:3px 6px;opacity:1;border-radius:5px}}
@media(prefers-reduced-motion:reduce){.wf .is-busy .task-indicator{animation:none}.wf .asset-thumb .original-hint{transition:none}}
/* Reference layout, shared by all seven workflow steps. */
#project-studio .wf{max-width:1320px}
#project-studio .wf .workspace-head{display:block;position:relative;margin:0 0 20px}
#project-studio .wf .workspace-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
#project-studio .wf .workspace-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#project-studio .wf .workspace-title h1{line-height:1.4}
#project-studio .wf .project-nav{margin:20px 0 0}
#project-studio .wf .crumb{overflow-wrap:anywhere}
#project-studio .wf .workspace-nav [aria-current=page]:not(.on){border-color:#c9b9ff;background:#f5f0ff;color:#793bed}
#project-studio .wf .workspace-more{position:relative}
#project-studio .wf .workspace-more>summary{list-style:none;border:1px solid var(--line);border-radius:8px;background:white;padding:5px 12px;color:#667185;font-size:11px}
#project-studio .wf .workspace-more>summary::-webkit-details-marker{display:none}
#project-studio .wf .workspace-more>div{position:absolute;z-index:20;right:0;top:36px;min-width:180px;display:grid;gap:4px;padding:8px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #18263c18}
#project-studio .wf .workspace-more:not([open])>div{display:none}
#project-studio .wf .workspace-more .btn{justify-content:flex-start;border:0}
#project-studio .wf .tabs .btn{height:32px;gap:0}
#project-studio .wf .tabs .btn.on{background:var(--ai)}
#project-studio .wf .task-head h2{overflow-wrap:anywhere}
#project-studio .wf .modelbar,#project-studio .wf .stylebar{position:relative}
#project-studio .wf .wf-review-actions{top:18px}
#project-studio .wf .asset-guide{padding:20px 22px;border:0}
#project-studio .wf .asset-guide-main{flex:1;position:relative;gap:18px}
#project-studio .wf .asset-guide-main>div:first-child{flex:1;min-width:0}
#project-studio .wf .asset-guide-main h2{font-size:17px;margin:0 0 5px}
#project-studio .wf .asset-guide-main h3{font-size:12px;margin:0 0 3px}
#project-studio .wf .asset-guide-main p{font-size:11px;color:#fff;line-height:1.65;max-width:440px}
#project-studio .wf .asset-guide-main small{color:#fff;opacity:.88;font-size:10px}
#project-studio .wf .asset-guide-main>.hero-stats{flex:0 0 auto;min-width:0}
#project-studio .wf .asset-guide-main>.hero-button{flex:0 0 auto;min-width:120px;height:auto;min-height:48px;padding:12px 16px;margin:0;color:#793bed}
#project-studio .wf .asset-guide-main>.hero-button:disabled{color:#6a5984;opacity:.72}
#project-studio .wf .stylebar>.push{font-size:10px}
#project-studio .wf .shelf-row{display:grid;grid-template-columns:repeat(auto-fill,170px);gap:12px;overflow:visible;align-items:stretch}
#project-studio .wf .asset{min-width:0;display:flex;flex-direction:column;height:236px;box-sizing:border-box;align-self:start}
#project-studio .wf .asset-actions{display:flex;gap:6px;margin:auto 10px 10px;flex-shrink:0}
#project-studio .wf .asset-actions>.btn{flex:1;min-width:0;padding:0 5px;height:30px;white-space:nowrap}
#project-studio .wf .asset-actions>[data-action=trash-asset]{flex:0 0 38px;color:#ad3d54}
#project-studio .wf .asset-thumb{position:relative;display:block;width:100%;height:auto;min-height:0;aspect-ratio:16/9;flex:0 0 auto;overflow:hidden;background:#eef0f5}
#project-studio .wf .asset-thumb img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:100%;object-fit:contain}
#project-studio .wf .asset-thumb>.symbol{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
#project-studio .wf .asset h4{line-height:1.5;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;height:36px;flex-shrink:0;margin:9px 10px 2px;padding:0}
#project-studio .wf .asset p{line-height:1.7;flex:none;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;height:34px;margin:0 10px 10px;padding:0}
#project-studio .wf .asset>.btn{flex-shrink:0;margin-top:auto}
#project-studio .wf .candidate{height:auto;aspect-ratio:16/9;overflow:hidden}
#project-studio .wf .candidate img{position:absolute;inset:0;object-fit:contain}
#project-studio .wf .btn:focus-visible,#project-studio .wf summary:focus-visible{outline:2px solid #9672e9;outline-offset:3px}
@media(max-width:1000px){
 #project-studio .wf .asset-guide-main{flex-wrap:wrap}
 #project-studio .wf .asset-guide-main>div:first-child{flex-basis:100%}
 #project-studio .wf .asset-guide-main>.hero-stats{margin:0}
 #project-studio .wf .asset-guide-main>.hero-button{margin-left:auto}
}
@media(max-width:850px){
 #project-studio .wf .project-nav{gap:12px}
 #project-studio .wf .project-nav>.crumb{width:100%}
 #project-studio .wf .task-head>.row{width:100%;margin-left:50px}
 #project-studio .wf .wf-review-actions{top:auto}
 #project-studio .wf .asset-guide-main{width:100%}
 #project-studio .wf .stylebar>.push{width:100%;margin:0}
}
@media(max-width:500px){
 #project-studio .wf .workspace-title h1{font-size:21px}
 #project-studio .wf .workspace-toolbar>.workspace-nav{width:100%;margin:0;gap:6px}
 #project-studio .wf .project-nav>.tabs{width:100%;gap:0;padding:3px}
 #project-studio .wf .tabs .btn{padding:5px 8px;font-size:11px}
 #project-studio .wf .tabs em{padding:1px 3px;margin-left:3px}
 #project-studio .wf .project-nav>.row{margin:0}
 #project-studio .wf .asset-guide{padding:17px}
 #project-studio .wf .asset-guide>.gen-symbol{display:none}
 #project-studio .wf .asset-guide-main>.hero-stats{width:100%;display:grid;flex-basis:100%}
 #project-studio .wf .asset-guide-main>.hero-button{width:100%;margin:0}
 #project-studio .wf .shelf{padding:13px}
 #project-studio .wf .shelf-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 #project-studio .wf .shelf-head>.row{width:100%;margin-left:0}
 #project-studio .wf .asset>.btn{padding:0 4px;font-size:10px}
}


/* One persistent workspace during initial fetch, refresh and background verification. */
.wf .novel-entry{padding:24px;margin-bottom:20px}
.wf .novel-entry>header,.wf .novel-entry>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.wf .novel-entry h3{margin:8px 0;font-size:20px}
.wf .novel-composer{margin:20px 0 16px;border:1px solid #ddd9f4;border-radius:16px;background:#fcfbff;overflow:hidden}
.wf .novel-composer:focus-within{border-color:#8063ff;box-shadow:0 0 0 3px #8063ff12}
.wf #novel-text{display:block;width:100%;box-sizing:border-box;min-height:180px;max-height:500px;resize:vertical;border:0;outline:0;background:transparent;padding:18px;font:inherit;line-height:1.8;color:#27334e}
.wf .novel-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;border-top:1px solid #eeeaf7}
.wf .novel-tools label{display:flex;align-items:center;gap:8px;font-size:12px;color:#6d7892}
.wf .novel-tools select{max-width:230px;border:1px solid #ddd9f4;background:white;border-radius:9px;padding:8px;color:#37445e}
.wf .novel-cost{margin-left:auto;color:#7550dc;background:#f0ebff;border-radius:20px;padding:7px 12px;font-size:12px;white-space:nowrap}
.wf .novel-status{font-size:12px;color:#7b86a0;max-width:65%;line-height:1.6}
.wf .novel-status .task-indicator{display:inline-block;width:13px;height:13px;border:2px solid #ddd4ff;border-top-color:#8063ff;background:none;animation:wf-task-spin .9s linear infinite}
@media(prefers-reduced-motion:reduce){.wf .novel-status .task-indicator{animation:none}}
.wf .novel-entry .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:650px){.wf .novel-entry{padding:16px}.wf .novel-status{max-width:100%}.wf .novel-entry>footer>.row{width:100%;flex-wrap:wrap}.wf .novel-entry>footer>.row>.btn{flex:1}.wf .novel-tools{padding:10px}.wf .novel-tools select{max-width:180px}}
.wf .extraction-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.wf .asset-guide .extraction-confirmed:disabled{background:#e5e7eb;color:#6b7280;border-color:#d1d5db;opacity:1;box-shadow:none}
#project-studio .wf .workspace-toolbar{position:relative}
#project-studio .wf .project-sync{order:1;min-width:110px;font-size:10px;color:#8993a3;line-height:16px}
#project-studio .wf .workspace-toolbar>.workspace-back{order:0}
#project-studio .wf .workspace-toolbar>.workspace-nav{order:2}
#project-studio .wf[data-project-skeleton] .wf-review-text>[data-review-text]{min-height:250px;color:#97a1af;background:linear-gradient(110deg,#fafbff,#f3f5fa,#fafbff)}
#project-studio .wf[data-project-skeleton] .steps .node{color:#a7afbc}

/* Keep the project workspace close to the navigation without changing other pages. */
body.dz-ready[data-dz-view="assets"] .main:has(#project-studio .workspace-head){padding-left:24px!important;padding-right:24px!important}
#project-studio>.wf:has(.workspace-head){max-width:none}
#project-studio .wf .workspace-head{margin-bottom:14px}
#project-studio .wf .workspace-toolbar{margin:0 0 0 auto;gap:8px}
#project-studio .wf .project-sync:empty{display:none}
#project-studio .wf .workspace-head .subtitle{margin:4px 0 10px}
#project-studio .wf .project-nav{margin-top:10px;gap:12px}
#project-studio .wf .novel-entry{padding:18px;margin-bottom:14px}
#project-studio .wf .novel-composer{margin:12px 0}
#project-studio .wf .stepper{padding:18px 20px 14px;margin-bottom:16px}
#project-studio .wf .task-head{margin-bottom:16px}
#project-studio .wf .padded{padding:16px}
@media(max-width:1000px){
 #project-studio .wf .project-nav>.workspace-toolbar{width:100%;margin:0}
}
@media(max-width:700px){
 body.dz-ready[data-dz-view="assets"] .main:has(#project-studio .workspace-head){padding-left:16px!important;padding-right:16px!important}
 #project-studio .wf .novel-entry,#project-studio .wf .stepper{padding:14px}
}

/* Model options retain the existing select/change contract while displaying brand icons. */
.wf .wf-model-picker{display:inline-flex;min-width:0;max-width:100%;vertical-align:middle}
.wf .wf-model-picker select[hidden]{display:none!important}
.wf .wf-model-trigger{display:inline-flex;align-items:center;gap:8px;min-height:32px;min-width:155px;max-width:100%;padding:6px 10px;border:1px solid #dce3f1;border-radius:8px;background:#fff;color:#273c63;font:inherit;font-size:12px;cursor:pointer;text-align:left}
.wf .modelbar .wf-model-trigger{min-width:250px;max-width:360px}
.wf .wf-model-trigger:focus-visible{outline:2px solid #8a70ff;outline-offset:2px}
.wf .wf-model-trigger[aria-expanded=true]{border-color:#8a70ff;box-shadow:0 0 0 3px #8a70ff14}
.wf .wf-model-trigger:disabled{cursor:not-allowed;opacity:.55}
.wf .wf-model-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:inherit}
.wf-model-logo,.wf .wf-model-logo{display:inline-grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:6px;background:#f2f5fc;color:#7686a9}
.wf-model-logo img{display:block;width:20px;height:20px;object-fit:contain}
.wf-model-logo.is-kimi,.wf .wf-model-logo.is-kimi{background:#172033}
.wf .wf-model-chevron{flex:0 0 14px;margin-left:auto}
.wf-model-options{position:fixed;inset:auto;margin:0;padding:5px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;z-index:10000;border:1px solid #e0e6f1;border-radius:12px;background:#fff;box-shadow:0 12px 35px #26365a24;color:#273c63;font:13px/1.5 system-ui,sans-serif}
.wf-model-options[hidden]{display:none!important}
.wf-model-options [role=option]{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:7px;cursor:pointer}
.wf-model-options [role=option]>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.wf-model-options [role=option]:hover,.wf-model-options [role=option].is-active{background:#f1eeff}
.wf-model-options [aria-selected=true]{color:#6950d5;background:#f7f5ff}
.wf-model-options [aria-disabled=true]{opacity:.45;cursor:not-allowed}
.wf-model-check{margin-left:auto;flex:0 0 14px;font-weight:700}
@media(max-width:600px){.wf .modelbar .wf-model-picker{width:100%}.wf .modelbar .wf-model-trigger{width:100%;min-width:0;max-width:100%}}

#project-studio .wf .asset-actions{flex-wrap:wrap}
#project-studio .wf .asset-actions>.asset-regenerate{flex:0 0 100%;height:30px}
#project-studio .wf .asset:has(.asset-regenerate){height:272px}
#project-studio .wf .wf-error-notice{position:relative;padding-right:52px}
#project-studio .wf .wf-error-close{position:absolute;top:8px;right:8px;width:30px;height:30px;padding:0;border:0;background:transparent;color:inherit;font-size:23px;line-height:1}
#project-studio .wf .wf-error-close:hover{background:#ffe4e8;color:#ac304a}
#project-studio .wf .wf-error-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
#project-studio .wf .workspace-projects{position:relative}
#project-studio .wf .workspace-projects>summary{list-style:none;cursor:pointer;gap:6px}
#project-studio .wf .workspace-projects>summary::-webkit-details-marker{display:none}
#project-studio .wf .workspace-projects[open]>summary{border-color:#a99aff;color:var(--purple)}
#project-studio .wf .workspace-projects[open]>summary svg{transform:rotate(180deg)}
#project-studio .wf #pj-project-options{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:min(280px,calc(100vw - 32px));max-height:min(360px,60vh);overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 32px #18263c18}
#project-studio .wf .workspace-projects:not([open])>#pj-project-options{display:none}
#project-studio .wf .project-option{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:12px;text-align:left;cursor:pointer}
#project-studio .wf .project-option>span{flex:1;min-width:0;overflow-wrap:anywhere}
#project-studio .wf .project-option>small{flex-shrink:0;font-size:10px}
#project-studio .wf .project-option:hover,#project-studio .wf .project-option:focus-visible{background:#f5f3ff}
#project-studio .wf .project-option[aria-current="page"]{background:#efebff;color:#7753ee}
#project-studio .wf .project-options-status{margin:0;padding:14px 12px;color:#8190a5;font-size:12px}
@media(max-width:1000px){#project-studio .wf #pj-project-options{left:0;right:auto}}
.wf .wf-publication{min-width:0;margin:18px 0 0;padding:16px 0 0;border:0;border-top:1px solid #ececf4}.wf .wf-publication label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;margin:14px 0 7px;font-size:12px}.wf .wf-publication small{font-size:10px;color:#8490a4}.wf .wf-publication input,.wf .wf-publication textarea{box-sizing:border-box;width:100%;margin:0;font-size:12px;line-height:1.7}.wf .wf-publication textarea{min-height:130px;resize:vertical}.wf .wf-publication [aria-invalid=true]{border-color:#df687e}.wf .wf-publication .btn{margin-top:8px}.wf .wf-publication .hint{overflow-wrap:anywhere}
