:root{color-scheme:light;font-family:Inter,Segoe UI,Microsoft YaHei,Arial,sans-serif;background:#f5f5f2;color:#252522;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr) 320px;min-height:100vh}.canvas-app-shell{grid-template-columns:248px minmax(0,1fr)}.canvas-app-shell .inspector{display:none}.sidebar{display:flex;flex-direction:column;gap:24px;padding:22px 18px;background:#202321;color:#f7f4ec}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#d9ff63;color:#202321}.brand strong,.brand span{display:block}.brand strong{font-size:15px}.brand span,.sidebar-footer{color:#b9b9af;font-size:12px}.nav{display:grid;gap:8px}.nav button,.sidebar-footer{display:flex;align-items:center;gap:10px}.nav button{width:100%;min-height:42px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#ddd9cc;text-align:left}.nav button.active,.nav button:hover{background:#353a35;color:#fff}.sidebar-footer{margin-top:auto;padding-top:18px;border-top:1px solid #3a3e3a}.main{min-width:0;padding:22px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px}h1,h2,p{margin:0}.topbar h1{font-size:26px;line-height:1.2}.topbar p{margin-top:6px;color:#696a63;font-size:14px}.queue-pill{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid #d8d6cb;border-radius:999px;background:#fff;color:#4f504a;white-space:nowrap}.member-pill{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 8px 0 12px;border:1px solid #d8d6cb;border-radius:999px;background:#fff;color:#4f504a;white-space:nowrap}.member-pill button{min-height:26px;padding:0 10px;border:0;border-radius:999px;background:#202321;color:#fff;font-size:12px}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:#f5f5f2}.auth-panel{display:grid;gap:16px;width:min(420px,100%);padding:24px;border:1px solid #dedbd0;border-radius:8px;background:#fff;box-shadow:0 18px 40px #20232114}.auth-panel h1{font-size:24px;line-height:1.2}.auth-panel p{color:#696a63;line-height:1.6}.auth-form{align-content:start}.auth-actions{display:flex;gap:10px;flex-wrap:wrap}.auth-error{padding:10px 12px;border:1px solid #f0b5a8;border-radius:8px;background:#fff3ef;color:#9a3412;line-height:1.5}.workspace{min-height:calc(100vh - 112px)}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,380px);gap:18px}.generation-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:18px}.canvas-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);grid-template-areas:"assets frames" "stage stage";gap:12px}.canvas-workspace{display:grid;gap:14px}.canvas-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) repeat(6,max-content);align-items:end;gap:10px;min-height:auto;padding:12px}.panel{min-width:0;height:100%;padding:16px;border:1px solid #dedbd0;border-radius:8px;background:#fff}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:10px;margin-bottom:14px}.search-box,.field,.parameter-row label{display:grid;gap:7px}.search-box{grid-template-columns:20px minmax(0,1fr);align-items:center;min-height:42px;padding:0 12px;border:1px solid #d6d3c6;border-radius:8px;background:#fbfbf8}input,select,textarea{width:100%;border:1px solid #d6d3c6;border-radius:8px;background:#fbfbf8;color:#252522}.search-box input{border:0;background:transparent;outline:0}select,input{min-height:42px;padding:0 11px}textarea{min-height:92px;padding:11px;resize:vertical}.template-grid,.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;max-height:calc(100vh - 170px);overflow:auto;padding-right:4px}.template-card,.asset-card{border:1px solid #ddd9ce;border-radius:8px;background:#fff;overflow:hidden}.template-card{display:grid;gap:7px;padding:0 0 12px;text-align:left;transition:border-color .16s ease,transform .16s ease}.template-card:hover,.template-card.selected{border-color:#747a31;transform:translateY(-1px)}.template-card img{width:100%;aspect-ratio:1 / 1;object-fit:contain;background:#e9e6dc;border-bottom:1px solid #e1ded2}.template-card span,.template-card strong,.template-card small{padding:0 10px}.template-card span,.detail-meta span,.asset-card span,.job-card span{color:#717269;font-size:12px}.template-card strong{min-height:40px;line-height:1.3;color:#252522}.template-card small{color:#6a6b63}.detail-panel{display:flex;flex-direction:column;gap:14px}.detail-image{width:100%;max-height:52vh;aspect-ratio:4 / 3;object-fit:contain;border-radius:8px;background:#e9e6dc;border:1px solid #e1ded2}.detail-meta h2{margin-top:4px;font-size:20px;line-height:1.25}.detail-meta p{margin-top:8px;color:#62635d;line-height:1.55}.tag-row,.action-row,.prompt-actions,.section-title,.parameter-row{display:flex;align-items:center;gap:8px}.tag-row{flex-wrap:wrap}.tag-row span{padding:5px 8px;border-radius:999px;background:#eef0d8;color:#4d5520;font-size:12px}.workflow-template-panel{min-height:auto}.workflow-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.workflow-template-card{display:grid;gap:14px;padding:14px;border:1px solid #ddd9ce;border-radius:8px;background:#fff}.workflow-template-card h2{margin-bottom:7px;font-size:18px}.workflow-template-card p{color:#62635d;font-size:14px;line-height:1.55}.workflow-template-preview{display:flex;align-items:center;gap:8px;min-height:78px;padding:12px;border-radius:8px;background:#f3f1e9;overflow:auto}.workflow-template-preview span{position:relative;display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border-radius:7px;background:#fff;border-top:4px solid #8c6df2;color:#30312d;font-size:12px;white-space:nowrap}.workflow-template-preview span+span:before{content:"";position:absolute;left:-9px;width:9px;height:2px;background:#7c8330}.workflow-template-preview .text_to_image{border-top-color:#1f9f75}.workflow-template-preview .asset{border-top-color:#d99a22}.workflow-template-preview .image_to_video{border-top-color:#2d72d9}.primary,.secondary,.prompt-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 13px;border-radius:8px;text-decoration:none}.primary{border:1px solid #202321;background:#202321;color:#fff}.secondary,.prompt-actions button{border:1px solid #d1cec1;background:#fff;color:#30312d}.prompt-preview,.prompt-box pre{max-height:220px;margin:0;padding:12px;overflow:auto;border-radius:8px;background:#f6f4ee;color:#363732;font-family:JetBrains Mono,Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap}.section-title{margin-bottom:14px}.section-title.compact{margin-bottom:10px}.section-title h2{font-size:17px}.editor-panel{display:flex;flex-direction:column;gap:14px}.selected-strip{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;padding:8px;border:1px solid #dedbd0;border-radius:8px;background:#fbfaf6}.selected-strip img{width:58px;height:58px;object-fit:cover;border-radius:7px}.selected-strip strong,.selected-strip span,.asset-card strong,.asset-card span{display:block}.selected-strip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-strip span{margin-top:4px;color:#6c6d65;font-size:12px}.field span,.parameter-row span{color:#5f6058;font-size:13px}.reference-uploader{display:grid;gap:10px;padding:12px;border:1px solid #dedbd0;border-radius:8px;background:#fbfaf6}.upload-drop{display:grid;place-items:center;gap:7px;min-height:150px;padding:16px;border:1px dashed #bdb8a8;border-radius:8px;background:#fff;color:#5f6058;text-align:center;cursor:pointer}.upload-drop strong{color:#252522}.upload-drop span{max-width:260px;font-size:12px;line-height:1.45}.upload-drop input{display:none}.selected-file-note{margin:-2px 0 0;padding:9px 10px;border:1px solid #dedbd0;border-radius:8px;background:#fbfaf6;color:#4f5149;font-size:13px;line-height:1.45;word-break:break-all}.reference-preview{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center}.reference-preview img{width:88px;height:88px;border-radius:8px;object-fit:cover;background:#e9e6dc}.reference-preview strong,.reference-preview span{display:block}.reference-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reference-preview span{margin:4px 0 10px;color:#6c6d65;font-size:12px}.output-panel{display:flex;flex-direction:column;gap:14px}.parameter-row{align-items:end}.parameter-row label{flex:1;min-width:0}.preview-stage,.video-source{display:grid;place-items:center;min-height:310px;border:1px solid #dedbd0;border-radius:8px;background:#eeece3;overflow:hidden}.preview-stage img,.video-source img{width:100%;height:100%;max-height:520px;object-fit:contain}.video-source-tools{margin-top:18px}.video-asset-picker{display:grid;gap:10px;margin-top:14px}.video-asset-picker>strong{font-size:.95rem}.video-asset-picker>span{color:#676257;font-size:.9rem}.video-asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px}.video-asset-pagination,.video-asset-page-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.video-asset-pagination span{color:#676257;font-size:.85rem}.video-asset-pagination select{width:auto;min-height:32px;padding:0 8px;font-size:.85rem}.video-asset-page-actions .secondary{flex:1;min-height:32px;font-size:.86rem}.video-asset-option{display:grid;gap:7px;padding:8px;border:1px solid #dedbd0;border-radius:10px;background:#f7f5ee;text-align:left;cursor:pointer}.video-asset-option.active{border-color:#111;box-shadow:0 0 0 2px #11111114}.video-asset-option img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#ebe7dc}.video-asset-option span{overflow:hidden;color:#2b2924;font-size:.82rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.reverse-workspace .upload-drop{min-height:190px}.reverse-preview{display:grid;gap:10px;margin-top:14px}.reverse-preview img,.reverse-preview video{width:100%;display:block;max-height:460px;object-fit:contain;border-radius:8px;background:#e9e6dc}.stable-video-preview,.reverse-video-preview{display:grid;gap:8px;width:100%}.stable-video-poster,.reverse-video-poster{aspect-ratio:16 / 9;min-height:180px}.stable-video-preview video,.reverse-video-preview video{aspect-ratio:16 / 9;min-height:180px}.stable-video-note,.reverse-preview-note{padding:8px 10px;border:1px solid #d9d4bf;border-radius:8px;background:#fff9df;color:#5b4700;line-height:1.45}.stable-video-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.stable-video-actions a,.stable-video-actions button{border:1px solid #d8d0ac;border-radius:6px;background:#ffffffb8;color:#3a310d;font:inherit;line-height:1;padding:6px 8px;text-decoration:none}.reverse-preview strong,.reverse-preview span{display:block}.reverse-preview span{margin-top:3px;color:#717269;font-size:13px}.reverse-prompt-editor{min-height:360px}.reverse-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reverse-summary-grid div{display:grid;gap:4px;padding:10px;border:1px solid #e2dfd2;border-radius:8px;background:#fbfaf6}.reverse-summary-grid span{color:#717269;font-size:12px}.reverse-summary-grid strong{font-size:13px;line-height:1.45}.reverse-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.talking-layout,.clone-layout,.digital-human-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:18px}.digital-human-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.talking-script-editor{min-height:300px}.talking-results-panel{align-self:start}.digital-selection-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.digital-selection-preview>div{display:grid;gap:8px;min-width:0}.digital-selection-preview span,.clone-card span{color:#717269;font-size:12px}.digital-selection-preview video,.digital-selection-preview audio,.clone-card video,.clone-card img,.clone-card audio,.stable-video-preview{width:100%}.digital-selection-preview video,.clone-card video,.clone-card img{aspect-ratio:4 / 3;object-fit:contain;border-radius:8px;background:#e9e6dc}.clone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.clone-card{display:grid;gap:10px;padding:12px;border:1px solid #ddd9ce;border-radius:8px;background:#fff}.clone-card pre{max-height:160px;overflow:auto;margin:0;white-space:pre-wrap;font-size:12px}.audio-tile{display:grid;place-items:center;min-height:120px;border:1px solid #e1ded2;border-radius:8px;background:#f3f1e9;color:#747a31}.full-span{grid-column:1 / -1}.prompt-box{display:grid;gap:8px}.prompt-actions{justify-content:space-between}.inline-error{margin:0;padding:8px 10px;border:1px solid #efb1a1;border-radius:8px;background:#fff2ee;color:#9a3412;font-size:13px;line-height:1.5}.inline-success{margin:0;padding:8px 10px;border:1px solid #b9d784;border-radius:8px;background:#f5ffe4;color:#3f6212;font-size:13px;line-height:1.5}.strength-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.comparison-panel{display:grid;gap:12px;padding:12px;border:1px solid #cfcabb;border-radius:8px;background:#fffdf7}.comparison-notice{display:grid;gap:4px;padding:10px 12px;border:1px solid #d9c889;border-radius:8px;background:#fff8d8}.comparison-notice strong{color:#5b4700}.comparison-notice span{color:#6e5a14;font-size:13px}.comparison-card{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid #dedbd0;border-radius:8px;background:#fff}.comparison-card.optimized{border-color:#8fb35e;background:#fbfff4}.comparison-card-head{display:grid;gap:3px}.comparison-card-head span{color:#717269;font-size:12px}.comparison-grid pre{max-height:180px}.score-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;border:1px solid #d8d6cb;border-radius:8px;background:#fbfaf6}.score-panel div{display:grid;place-items:center;gap:4px;min-height:56px;border-radius:7px;background:#fff}.score-panel span{color:#6c6d65;font-size:12px}.score-panel strong{font-size:20px}.score-panel p{grid-column:1 / -1;color:#55574f;font-size:13px;line-height:1.55}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid #d6d3c6;border-radius:8px;background:#f6f4ee}.segmented-control button{min-height:34px;border:0;border-radius:6px;background:transparent;color:#55574f}.segmented-control button.active{background:#202321;color:#fff}.full-prompt-editor{min-height:260px;font-family:JetBrains Mono,Consolas,monospace;font-size:12px;line-height:1.55}.generate-button{width:100%;min-height:44px}.inspector{padding:22px 18px;border-left:1px solid #ddd9ce;background:#fbfaf6}.inspector h2{margin-bottom:14px;font-size:17px}.job-list{display:grid;gap:10px}.job-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;padding:8px;border:1px solid #dedbd0;border-radius:8px;background:#fff}.job-card img,.job-card video{width:52px;height:52px;object-fit:cover;border-radius:7px;background:#e9e6dc}.job-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.job-card span{display:block;margin-top:5px}.empty-state{display:grid;place-items:center;gap:8px;min-height:220px;padding:20px;border:1px dashed #ccc8ba;border-radius:8px;color:#6b6c64;text-align:center}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:none}.canvas-source-panel,.canvas-board-panel,.frame-panel{display:flex;flex-direction:column;gap:10px}.canvas-source-panel{grid-area:assets;min-height:0}.frame-panel{grid-area:frames;min-height:0}.canvas-asset-list{display:flex;gap:8px;max-height:142px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px}.canvas-upload-list{display:grid;gap:8px}.canvas-upload-list>strong{font-size:13px}.canvas-asset-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center;padding:8px;border:1px solid #dedbd0;border-radius:8px;background:#fbfaf6;min-width:220px}.canvas-upload-row{min-width:280px}.canvas-asset-row img,.canvas-asset-row video{width:54px;height:54px;object-fit:cover;border-radius:7px;background:#e9e6dc}.canvas-asset-row strong,.canvas-tile strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-asset-row span,.canvas-tile span,.frame-slot>span{color:#717269;font-size:12px}.qiniu-status{display:block;font-weight:700}.qiniu-status.is-uploaded{color:#24835a}.qiniu-status.is-uploading{color:#8a6a10}.qiniu-status.is-failed{color:#b3261e}.canvas-asset-row button{grid-column:1 / -1;min-height:32px}.canvas-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;overflow:auto}.canvas-stage-panel{grid-area:stage;display:grid;grid-template-rows:auto minmax(780px,1fr);gap:12px;padding:12px}.canvas-stage-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.canvas-zoom-controls{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px}.canvas-zoom-controls strong{min-width:48px;text-align:center}.canvas-zoom-controls button{min-height:34px;padding:0 12px}.canvas-clear-button{min-height:36px;padding:0 10px;font-size:.84rem}.canvas-stage-header strong,.canvas-stage-header span{display:block}.canvas-stage-header span{margin-top:4px;color:#717269;font-size:12px}.infinite-canvas{position:relative;min-height:calc(100vh - 260px);border:1px solid #d8d6cb;border-radius:8px;overflow:hidden;cursor:grab;touch-action:none;background-color:#f3f1e9;background-image:linear-gradient(#dedbd0 1px,transparent 1px),linear-gradient(90deg,#dedbd0 1px,transparent 1px);background-size:34px 34px}.infinite-canvas.panning{cursor:grabbing}.canvas-plane{position:absolute;top:0;right:0;bottom:0;left:0;width:3600px;height:2200px;transform-origin:0 0}.canvas-edges{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.canvas-edges line{stroke:#7c8330;stroke-width:2;stroke-linecap:round}.workflow-node{position:absolute;display:grid;gap:9px;width:240px;min-height:164px;padding:11px;border:1px solid #cfcabb;border-radius:8px;background:#fff;box-shadow:0 12px 30px #26272214;cursor:grab}.workflow-node>strong{overflow:hidden;display:-webkit-box;line-height:1.35;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.workflow-node.asset{width:280px}.workflow-node:active{cursor:grabbing}.node-port{position:absolute;top:74px;z-index:2;width:18px;height:18px;padding:0;border:2px solid #ffffff;border-radius:999px;background:#7c8330;box-shadow:0 0 0 1px #7c8330;cursor:crosshair}.node-port.input{left:-9px}.node-port.output{right:-9px}.node-port:hover,.node-port.active,.node-port.connectable{background:#202321;box-shadow:0 0 0 4px #d9ff63b8}.workflow-node.selected{border-color:#202321;box-shadow:0 0 0 3px #d9ff6399,0 12px 30px #26272214}.workflow-node.prompt{border-top:4px solid #8c6df2}.workflow-node.text_to_image{border-top:4px solid #1f9f75}.workflow-node.image_to_video{border-top:4px solid #2d72d9}.node-header,.node-actions{display:flex;gap:7px;align-items:center;justify-content:space-between}.node-header-actions{display:inline-flex;align-items:center;gap:6px}.node-header span,.node-header small,.node-model span{color:#717269;font-size:12px}.node-delete{display:grid;place-items:center;width:24px;height:24px;border:1px solid #d6d3c6;border-radius:6px;background:#fbfaf6;color:#55574f}.node-delete:hover{border-color:#e59b8a;background:#fff2ee;color:#9a3412}.node-model{display:grid;gap:5px}.node-prompt-editor{display:grid;gap:6px}.node-upload{position:relative;display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid #d6d3c6;border-radius:7px;background:#fbfaf6;color:#34352f;font-size:12px;font-weight:650;cursor:pointer}.node-upload:hover{border-color:#202321;background:#fff}.node-upload input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.node-prompt-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.node-prompt-title span{color:#717269;font-size:12px}.node-prompt-title button{min-height:28px;padding:0 8px;font-size:12px}.node-model select{min-height:34px;padding:0 8px;font-size:12px}.workflow-node textarea{min-height:84px;font-size:12px;line-height:1.45}.node-media-preview{display:block;width:100%;padding:0;border:0;border-radius:7px;background:transparent;cursor:zoom-in;overflow:hidden}.node-media-preview:hover{outline:2px solid rgba(32,35,33,.25);outline-offset:2px}.workflow-node img,.workflow-node video{width:100%;max-height:180px;aspect-ratio:4 / 3;object-fit:contain;border-radius:7px;background:#e9e6dc}.workflow-node.asset img,.workflow-node.asset video{height:180px;aspect-ratio:auto}.canvas-media-modal{display:flex;flex-direction:column;width:min(94vw,980px);gap:0;padding:18px}.canvas-media-modal-body{display:grid;place-items:center;min-height:320px;border-radius:10px;background:#ebe7dc;overflow:hidden}.canvas-media-modal-body img,.canvas-media-modal-body video{width:100%;max-height:78vh;object-fit:contain}.canvas-media-modal-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;width:100%;padding-top:12px}.canvas-media-modal-footer strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-actions .secondary{min-height:32px;padding:0 9px;font-size:12px}.node-run{width:100%;min-height:34px;padding:0 10px;font-size:12px}.canvas-context-menu{position:fixed;z-index:80;display:grid;gap:4px;min-width:168px;padding:8px;border:1px solid #cfcabb;border-radius:8px;background:#fff;box-shadow:0 18px 40px #2627222e}.canvas-context-menu strong{padding:5px 8px 7px;color:#717269;font-size:12px}.canvas-context-menu button{min-height:34px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#252522;text-align:left}.canvas-context-menu button:hover{background:#f0eee4}.canvas-tile{display:grid;gap:10px;padding:10px;border:1px solid #dedbd0;border-radius:8px;background:#fbfaf6}.canvas-tile img,.canvas-tile video{width:100%;aspect-ratio:4 / 3;object-fit:contain;border-radius:7px;background:#e9e6dc}.canvas-tile-actions{display:flex;flex-wrap:wrap;gap:7px}.canvas-tile-actions .secondary{flex:1 1 auto;min-height:34px;padding:0 9px;font-size:12px}.frame-panel{align-self:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;min-width:0}.frame-panel .section-title,.frame-panel .generate-button{grid-column:1 / -1}.frame-slot{display:grid;grid-template-rows:auto auto auto;gap:8px;min-width:0;padding:10px;border:1px solid #dedbd0;border-radius:8px;background:#fbfaf6;overflow:hidden}.frame-slot img{width:100%;aspect-ratio:16 / 9;object-fit:contain;border-radius:7px;background:#e9e6dc}.frame-slot strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frame-slot button{width:100%}.frame-empty{display:grid;place-items:center;width:100%;aspect-ratio:16 / 9;min-height:0;padding:12px;border:1px dashed #c9c5b8;border-radius:8px;color:#77786f;font-size:13px;text-align:center;word-break:break-word}.asset-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.asset-search-box{flex:1 1 280px}.asset-toolbar select{max-width:240px}.asset-pagination{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin-top:18px;color:#676257;font-size:.92rem}.asset-pagination-top{justify-content:space-between;margin:0 0 14px}.asset-pagination>div{display:inline-flex;gap:8px}.asset-pagination .secondary{min-height:34px;padding:0 12px}.asset-card{display:grid;gap:12px;padding-bottom:12px}.asset-card img,.asset-card video{width:100%;aspect-ratio:4 / 3;object-fit:cover}.asset-card div{padding:0 12px}.asset-project{display:grid;gap:6px;padding:0 12px}.asset-project span{color:#717269;font-size:12px}.asset-project select{min-height:36px}.asset-card .action-row{justify-content:space-between}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.settings-panel{display:grid;align-content:start;gap:18px}.settings-note{display:grid;gap:6px;padding:12px;border:1px solid #d9d4bf;border-radius:8px;background:#fff9df;color:#575245}.settings-note strong{color:#252522}.settings-note span{line-height:1.55;font-size:13px}.settings-clear-button{justify-self:start}.settings-groups{display:grid;gap:22px}.settings-section{display:grid;gap:14px;padding-top:18px;border-top:1px solid #e3e0d4}.settings-section:first-of-type{padding-top:0;border-top:0}.settings-section-head{display:grid;gap:5px}.settings-section-head h3{margin:0;color:#252522;font-size:16px}.settings-section-head p{margin:0;color:#717269;font-size:13px;line-height:1.55}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.connection-test-bar{display:flex;flex-wrap:wrap;gap:8px}.connection-test-bar button{min-height:34px;padding:0 12px}.model-endpoint-list{display:grid;gap:10px}.model-endpoint-row{grid-template-columns:minmax(190px,.45fr) minmax(0,1fr);align-items:center}.model-endpoint-row span{align-self:center}.model-section-grid{align-items:start}.full-field{grid-column:1 / -1}.model-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;padding:12px;border:1px solid #d6d3c6;border-radius:8px;background:#fbfaf6}.model-checklist legend{padding:0 5px;color:#5f6058;font-size:13px}.model-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.model-option-row .toggle-row{min-width:0}.model-delete{min-height:28px;padding:0 8px;border:1px solid #efb1a1;border-radius:6px;background:#fff7f4;color:#9a3412;font-size:12px}.model-delete:hover{background:#ffe9e2}.custom-model-field{grid-template-columns:minmax(0,1fr) max-content;align-items:end}.custom-model-field span{grid-column:1 / -1}.toggle-row{display:flex;align-items:center;gap:10px;min-height:42px;color:#4d4e47}.compact-toggle{min-height:auto;align-items:flex-start;color:#5f6058;font-size:13px;line-height:1.45}.toggle-row input{width:18px;min-height:18px}.settings-summary{align-self:start;position:sticky;top:18px}.settings-summary h2{margin-bottom:16px;font-size:17px}.settings-summary dl{display:grid;gap:12px;margin:0}.settings-summary dt{color:#73746b;font-size:12px}.settings-summary dd{margin:-8px 0 0;padding-bottom:10px;border-bottom:1px solid #e1ded2;color:#252522;font-weight:650;overflow-wrap:anywhere}@media(max-width:1180px){.app-shell,.canvas-app-shell{grid-template-columns:86px minmax(0,1fr)}.brand div:not(.brand-mark),.nav button span,.sidebar-footer span,.inspector{display:none}.sidebar{padding:18px 14px}.two-column,.canvas-layout{grid-template-columns:1fr;grid-template-areas:"assets" "frames" "stage"}.canvas-stage-panel{grid-template-rows:auto minmax(700px,1fr)}.infinite-canvas{min-height:700px}.detail-image{max-height:420px}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:10;flex-direction:row;align-items:center;padding:12px}.nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow:auto}.sidebar-footer{display:none}.main{padding:14px}.topbar,.two-column,.generation-grid,.canvas-layout,.canvas-toolbar,.settings-layout,.toolbar,.settings-grid,.model-checklist{grid-template-columns:1fr}.settings-summary{position:static}.topbar{display:grid}.workspace{min-height:auto}.template-grid{max-height:none}}button:disabled{cursor:not-allowed;opacity:.55}:root[data-theme=dark]{color-scheme:dark;background:#181a18;color:#f3f0e8}:root[data-theme=dark] body{background:#181a18}.theme-toggle{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border:1px solid #3a3e3a;border-radius:8px;background:transparent;color:#ddd9cc}.template-toolbar{display:flex;flex-wrap:wrap;align-items:center}.template-toolbar .search-box{flex:1 1 280px}.template-toolbar select{flex:1 1 150px;max-width:210px}.search-box input::placeholder{color:#77786f}.scope-control{margin-bottom:14px}.template-card{position:relative}.template-image-button{display:block;width:100%;padding:0;border:0;background:transparent}.card-actions,.asset-actions{display:flex;flex-wrap:wrap;gap:7px;padding:0 10px}.mini-button{flex:1;min-height:36px;padding:0 10px}.corner-badge{position:absolute;top:8px;right:8px;padding:4px 7px!important;border-radius:999px;background:#202321;color:#fff!important;font-size:11px!important}.compact-drop{min-height:96px}.video-endframe{margin-top:14px}.asset-actions{padding:0 12px}.asset-actions .secondary{flex:1 1 auto;min-height:34px;padding:0 9px;font-size:12px}.asset-delete-button{flex:1 1 auto;display:inline-flex;gap:6px;align-items:center;justify-content:center;min-height:34px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#141614ad}.modal{position:relative;display:grid;grid-template-columns:minmax(280px,560px) minmax(260px,420px);gap:16px;width:min(1040px,100%);max-height:88vh;overflow:auto;padding:16px;border-radius:8px;background:#fff;color:#252522}.modal img,.modal video{width:100%;max-height:78vh;object-fit:contain;border-radius:8px;background:#e9e6dc}.modal.canvas-media-modal{display:flex;flex-direction:column;grid-template-columns:none;width:min(94vw,980px);gap:0;padding:18px}.modal-body{display:grid;align-content:start;gap:12px}.modal-body span{color:#717269;font-size:12px}.modal-body pre{max-height:46vh;overflow:auto;margin:0;padding:12px;border-radius:8px;background:#f6f4ee;white-space:pre-wrap;font-family:JetBrains Mono,Consolas,monospace;font-size:12px;line-height:1.55}.modal-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #d1cec1;border-radius:8px;background:#fff;color:#252522}.job-card{cursor:pointer}.job-detail-modal{grid-template-columns:minmax(260px,440px) minmax(280px,1fr)}.job-detail-media{display:grid;place-items:center;min-height:320px;border-radius:8px;background:#e9e6dc;overflow:hidden}.job-detail-media img,.job-detail-media video{width:100%;height:100%;max-height:70vh;object-fit:contain}.job-detail-list{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px 10px;margin:0}.job-detail-list dt{color:#717269;font-size:12px}.job-detail-list dd{min-width:0;margin:0;overflow-wrap:anywhere}:root[data-theme=dark] .main,:root[data-theme=dark] .inspector{background:#181a18}:root[data-theme=dark] .panel,:root[data-theme=dark] .template-card,:root[data-theme=dark] .workflow-template-card,:root[data-theme=dark] .asset-card,:root[data-theme=dark] .job-card,:root[data-theme=dark] .queue-pill,:root[data-theme=dark] .member-pill,:root[data-theme=dark] .auth-panel,:root[data-theme=dark] .modal{border-color:#3f433e;background:#232722;color:#f3f0e8}:root[data-theme=dark] .auth-shell{background:#181a18}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .search-box,:root[data-theme=dark] .reference-uploader,:root[data-theme=dark] .selected-strip,:root[data-theme=dark] .workflow-template-preview,:root[data-theme=dark] .canvas-asset-row,:root[data-theme=dark] .video-asset-option,:root[data-theme=dark] .canvas-tile,:root[data-theme=dark] .workflow-node,:root[data-theme=dark] .canvas-context-menu,:root[data-theme=dark] .frame-slot,:root[data-theme=dark] .upload-drop,:root[data-theme=dark] .secondary,:root[data-theme=dark] .prompt-actions button,:root[data-theme=dark] .segmented-control,:root[data-theme=dark] .model-checklist,:root[data-theme=dark] .node-delete,:root[data-theme=dark] .prompt-preview,:root[data-theme=dark] .prompt-box pre,:root[data-theme=dark] .score-panel,:root[data-theme=dark] .score-panel div,:root[data-theme=dark] .modal-body pre{border-color:#42483f;background:#1d201d;color:#f3f0e8}:root[data-theme=dark] .inline-error{border-color:#7c2d12;background:#351d16;color:#fed7aa}:root[data-theme=dark] .auth-error{border-color:#7c2d12;background:#351d16;color:#fed7aa}:root[data-theme=dark] .stable-video-note,:root[data-theme=dark] .reverse-preview-note{border-color:#6f633a;background:#2b281b;color:#f4df9f}:root[data-theme=dark] .topbar p,:root[data-theme=dark] .auth-panel p,:root[data-theme=dark] .template-card span,:root[data-theme=dark] .template-card small,:root[data-theme=dark] .detail-meta p,:root[data-theme=dark] .field span,:root[data-theme=dark] .parameter-row span,:root[data-theme=dark] .job-card span,:root[data-theme=dark] .asset-card span{color:#b9b9af}:root[data-theme=dark] .template-card strong,:root[data-theme=dark] .asset-card strong,:root[data-theme=dark] .workflow-template-card h2,:root[data-theme=dark] .workflow-template-preview span,:root[data-theme=dark] .modal-body h2,:root[data-theme=dark] .upload-drop strong{color:#f3f0e8}:root[data-theme=dark] .video-asset-picker>span,:root[data-theme=dark] .video-asset-option span,:root[data-theme=dark] .video-asset-pagination span,:root[data-theme=dark] .asset-pagination{color:#d9d5c9}:root[data-theme=dark] .canvas-context-menu button{color:#f3f0e8}:root[data-theme=dark] .canvas-context-menu button:hover{background:#2b302a}:root[data-theme=dark] .node-port{border-color:#232722;background:#d9ff63;box-shadow:0 0 0 1px #d9ff63}:root[data-theme=dark] .model-delete{border-color:#7c2d12;background:#351d16;color:#fed7aa}:root[data-theme=dark] .preview-stage,:root[data-theme=dark] .video-source,:root[data-theme=dark] .infinite-canvas,:root[data-theme=dark] .job-detail-media,:root[data-theme=dark] .canvas-tile img,:root[data-theme=dark] .canvas-tile video,:root[data-theme=dark] .workflow-node img,:root[data-theme=dark] .workflow-node video,:root[data-theme=dark] .frame-slot img,:root[data-theme=dark] .template-card img,:root[data-theme=dark] .detail-image,:root[data-theme=dark] .modal img{background:#151715;border-color:#42483f}@media(max-width:860px){.strength-grid,.comparison-grid,.score-panel,.job-detail-modal{grid-template-columns:1fr}.asset-toolbar{display:grid}.asset-toolbar select{max-width:none}.template-toolbar{display:grid;grid-template-columns:1fr}.template-toolbar select{max-width:none}.modal{grid-template-columns:1fr}}
