.account-login,.account-overlay,.account-loading{color:#eee;background:#141414;font-family:Inter,Segoe UI,sans-serif}.account-login{height:100%;overflow:auto;padding:36px 6vw;background:radial-gradient(ellipse at 25% 55%,#242125 0,transparent 48%),#141414}.login-brand{display:flex;align-items:center;gap:12px;font-size:20px}.login-brand svg{color:#d1eab3}.login-layout{max-width:1170px;margin:70px auto;display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}.account-eyebrow{font-size:10px;letter-spacing:2.4px;color:#999}.login-story h1{font-size:clamp(30px,3.3vw,49px);font-weight:550;line-height:1.4;letter-spacing:0;margin:22px 0}.login-story h1 span{color:#8e8e8e}.login-story p{color:#919191;font-size:14px;line-height:1.9}.login-card{padding:38px;border:1px solid #363636;background:#1b1b1be8;border-radius:20px;box-shadow:0 24px 80px #0003}.login-card h2{font-size:25px;letter-spacing:0;margin:15px 0 10px}.login-card>p{font-size:12px;color:#999;margin-bottom:29px}.account-tabs{display:flex;gap:4px;background:#111;border:1px solid #303030;border-radius:10px;padding:4px}.account-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;color:#888;padding:10px 14px;border-radius:7px;white-space:nowrap;font-size:12px}.account-tabs button.active{color:#eee;background:#303030;box-shadow:0 2px 5px #0003}.login-mode-tabs{margin-bottom:12px}.login-card label,.credit-form label,.station-form label,.recharge-form label{display:block;font-size:12px;color:#bbb;margin-top:22px}.account-login input,.account-panel input,.account-panel select{width:100%;border:1px solid #3a3a3a;border-radius:8px;background:#151515;color:#eee;outline:none;padding:13px 14px;font:inherit;margin-top:9px;min-width:0}.account-login input:focus,.account-panel input:focus,.account-panel select:focus{border-color:#c8dda9;box-shadow:0 0 0 3px #bdd6a014}.code-input{display:flex;align-items:center;position:relative}.code-input input{padding-right:128px}.code-input button{position:absolute;right:12px;top:22px;border:0;background:transparent;font-size:12px;color:#cfdfb9}.account-primary{border:1px solid #dfedcc;background:#d0e4b7;color:#1d2516;border-radius:9px;padding:12px 18px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px}.account-primary:is(a){text-decoration:none}.account-primary:hover{background:#e1efcd}.account-primary:disabled,button:disabled{opacity:.5;cursor:not-allowed}.login-submit{width:100%;margin-top:26px;height:46px;justify-content:space-between}.login-security,.login-gift{display:flex;align-items:center}.login-security{gap:7px;justify-content:center;color:#777;font-size:10px;margin-top:22px;line-height:1.7}.login-gift{gap:13px;color:#cdddba;margin-top:20px}.login-gift strong{display:block;font-size:13px;font-weight:500}.login-gift span{display:block;font-size:11px;margin-top:6px;color:#858585}.login-footer{text-align:center;color:#666;font-size:10px;letter-spacing:2px}.login-art{height:186px;display:flex;align-items:center;margin-top:15px}.art-card{border:1px solid #454545;border-radius:12px;background:#222;box-shadow:0 15px 30px #0004}.art-one{width:144px;padding:18px;transform:rotate(-6deg)}.art-one>svg{width:17px;color:#d0e4b7}.art-one>span{display:block;margin:12px 0;font-size:11px;color:#bbb}.art-line{height:5px;border-radius:6px;background:#404040;margin-top:7px}.art-line.short{width:65%}.art-connector{height:1px;width:63px;background:#82926e;position:relative}.art-connector:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;background:#c8dda9;border-radius:50%}.art-two{width:156px;padding:9px;transform:rotate(7deg)}.art-two>span{display:flex;justify-content:space-between;padding:8px 5px;font-size:10px}.art-orb{height:100px;border-radius:7px;overflow:hidden;background:radial-gradient(circle at 46% 42%,#eff3c8 0,#bcd48f 15%,#768451 27%,#252c22 40%,#151b15 55%,#374534 80%)}.account-loading{height:100%;display:flex;gap:12px;align-items:center;justify-content:center}.account-pill{display:inline-flex;align-items:center;gap:9px!important;padding:8px 12px!important;border:1px solid #404437!important;border-radius:9px!important;background:#292e23!important;color:#dce9c8!important;white-space:nowrap;font-size:12px!important}.account-pill span{color:inherit!important}.account-pill-label{padding-left:9px;border-left:1px solid #505545;font-size:11px!important}.account-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#050505ba;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:30px;display:flex;align-items:center;justify-content:center}.account-panel{background:#191919;width:1050px;max-height:94vh;overflow:auto;border:1px solid #3a3a3a;border-radius:19px;padding:30px;box-shadow:0 30px 120px #0009}.account-panel-header,.account-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.account-panel h2{margin:8px 0 0;font-size:23px}.account-panel h3{font-size:15px;font-weight:500;display:flex;align-items:center;gap:8px}.account-icon{border:1px solid #393939;background:#252525;color:#aaa;border-radius:50%;height:33px;width:33px;display:grid;place-items:center}.account-icon svg{width:17px}.account-panel-nav{display:flex;gap:22px;margin:24px 0;border-bottom:1px solid #353535}.account-panel-nav button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 0;color:#929292;font-size:12px;display:flex;gap:7px;align-items:center}.account-panel-nav button.active{color:#d4e7be;border-bottom-color:#d4e7be}.account-panel-nav button:last-child{margin-left:auto}.wallet-hero{display:flex;align-items:center;justify-content:space-between;padding:28px 32px;background:radial-gradient(at 95% 20%,#3c4930,transparent 60%),#262d21;border:1px solid #46503b;border-radius:13px}.wallet-hero span{font-size:12px;color:#b9c4ae}.wallet-hero strong{display:block;font-size:43px;font-weight:500;letter-spacing:0;margin:12px 0}.wallet-hero p{margin:0;font-size:12px;color:#a2ad98}.wallet-hero>svg{color:#92a17d;opacity:.6}.account-notice{font-size:12px;line-height:1.8;padding:14px 17px;margin:17px 0;background:#28261f;border:1px solid #464131;color:#c5bda2;border-radius:9px}.account-history{margin-top:26px}.account-history .account-tabs{background:#171717}.account-history .account-tabs button{padding:7px 12px}.account-table-wrap{overflow:auto;border:1px solid #333;border-radius:10px;margin-top:14px}.account-panel table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px;text-align:left}.account-panel th{background:#222;color:#868686;padding:13px 16px;font-weight:400}.account-panel td{border-top:1px solid #303030;padding:16px;color:#c7c7c7}.account-panel td strong{font-weight:450;color:#ddd}.account-panel td small{display:block;font-size:10px;color:#828282;margin-top:6px;white-space:normal;max-width:480px;line-height:1.5}.account-panel td.amount-positive{color:#c1d9a9}.account-empty{padding:42px;text-align:center;color:#888;font-size:13px}.account-muted{color:#858585;font-size:10px;line-height:1.7}.account-error{background:#422626;color:#f3b5ad;border:1px solid #6a3933;border-radius:8px;padding:12px 14px;font-size:12px;margin:14px 0}.account-success{color:#bcdca5;display:flex;gap:7px;font-size:12px;margin:14px 0;line-height:1.6}.recharge-card{padding:20px;border:1px solid #343a2d;background:#1f221c;border-radius:12px;margin-top:17px}.recharge-form{display:grid;grid-template-columns:1.2fr 1fr auto;gap:14px;align-items:end}.recharge-form label{margin:0}.pay-methods{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pay-methods button,.amount-shortcuts button{border:1px solid #383838;background:#181818;color:#aaa;border-radius:8px;padding:11px 12px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:8px}.pay-methods button.active{border-color:#cddfba;background:#2b3424;color:#e2efcf}.pay-methods small{font-size:10px;color:#777}.support-card{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:18px;align-items:center;padding:16px;margin:15px 0;border:1px solid #3d4235;border-radius:10px;background:#181b16}.support-copy{display:grid;gap:8px}.support-copy strong{color:#eef5df;font-size:14px;font-weight:600}.support-copy span{color:#aeb99e;font-size:12px}.support-qrs{display:flex;gap:12px}.support-qrs figure{margin:0;text-align:center;color:#a7a7a7;font-size:10px}.support-qrs img{display:block;width:104px;height:104px;object-fit:cover;object-position:center;border-radius:8px;background:#fff;margin-bottom:7px}.amount-shortcuts{display:flex;gap:7px;grid-column:2}.amount-shortcuts button{padding:9px 11px}.pay-order{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;border-top:1px solid #343a2d;margin-top:18px;padding-top:18px}.pay-order strong{display:block;font-size:14px;font-weight:500;color:#eee}.pay-order span{display:block;font-size:11px;color:#898989;margin-top:7px}.pay-order img{width:142px;height:142px;background:#fff;border-radius:8px;padding:8px;grid-row:1 / span 2}.pay-checkout-link{justify-self:end;white-space:nowrap}.pay-order .account-link{justify-self:start}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 26px}.admin-stat{padding:22px;border:1px solid #363636;border-radius:11px;background:#212121}.admin-stat span{display:block;color:#979797;font-size:11px}.admin-stat strong{display:block;font-size:27px;font-weight:500;margin-top:13px;letter-spacing:0}.station-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:25px}.station-card{padding:20px;background:#202020;border:1px solid #393939;border-radius:11px}.station-card strong{font-size:12px;font-weight:500}.station-warning{border-color:#766142}.station-balance{font-size:25px;margin-top:19px}.station-balance small{font-size:10px;color:#8b8b8b;margin-left:12px}.station-alert{font-size:11px;color:#cbb68f;line-height:1.8}.account-link,.account-back{background:none;border:0;color:#cddfba;display:inline-flex;gap:4px;align-items:center;font-size:11px;padding:4px}.account-section-heading>input{width:240px;font-size:12px;padding:9px 12px;margin:0}.account-count{color:#888;font-size:11px;margin-left:7px}.credit-form{padding:20px;border:1px solid #3a3a3a;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#222}.credit-form label{margin:0}.credit-note{grid-column:1 / -1}.credit-form button{justify-self:start}.station-form{display:grid;gap:10px;margin-top:13px}.station-form label{margin:0}.account-panel button:focus-visible,.account-login button:focus-visible{outline:2px solid #cddfba;outline-offset:3px}@media (max-width: 850px){.login-layout{gap:30px;margin:40px auto;grid-template-columns:1fr}.login-story{display:none}.login-card{max-width:460px;width:100%;margin:auto;padding:28px}.account-overlay{padding:10px}.account-panel{padding:20px;max-height:97vh}.admin-stats{gap:8px}.admin-stat{padding:14px}.admin-stat strong{font-size:20px}.station-grid,.recharge-form{grid-template-columns:1fr}.amount-shortcuts{grid-column:1;flex-wrap:wrap}.pay-order,.support-card{grid-template-columns:1fr}.support-qrs{justify-content:space-between}.pay-order img{grid-row:auto}.account-pill-label{display:none}.account-section-heading{flex-wrap:wrap}.credit-form{grid-template-columns:1fr}.wallet-hero{padding:24px}.account-panel-nav{gap:14px}.account-panel-nav button{font-size:11px}}:root{color:#e5edf8;background:#070a12;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.workflow-canvas img,.workflow-canvas video,.image-modal img,.image-modal video,.project-card img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.app-shell{width:100%;height:100%;display:grid;grid-template-rows:58px minmax(0,1fr);background:#070a12}.app-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid rgba(148,163,184,.14);background:#090d18eb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-header strong{display:block;font-size:16px;letter-spacing:0;color:#f8fafc}.app-header span{color:#94a3b8;font-size:12px}.project-name-input{display:block;width:min(360px,42vw);margin-top:3px;border:0;background:transparent;color:#94a3b8;outline:none;font-size:12px}.project-name-input:focus{color:#e2e8f0}.header-status{display:flex;align-items:center;gap:10px}.header-status span{padding:7px 10px;border:1px solid rgba(148,163,184,.16);border-radius:999px;background:#0f172ab8;color:#cbd5e1}.header-status button,.back-to-workspace-button{min-height:34px;border:1px solid rgba(148,163,184,.18);border-radius:999px;padding:0 12px;background:#0f172ac7;color:#dbeafe;font-size:12px;font-weight:700}.project-header-left{display:flex;align-items:center;gap:14px;min-width:0}.project-shell .project-name-input{width:min(420px,34vw)}.workspace-shell{min-height:100%;overflow:auto;background:radial-gradient(circle at 20% 0%,rgba(56,189,248,.09),transparent 30%),radial-gradient(circle at 82% 12%,rgba(167,139,250,.1),transparent 28%),#080a0f;color:#e5edf8}.workspace-topnav{position:sticky;top:0;z-index:10;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid rgba(148,163,184,.12);background:#0a0c12db;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.workspace-brand,.workspace-nav-actions{display:flex;align-items:center;gap:14px}.workspace-logo,.workspace-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,#38bdf8,#8b5cf6 58%,#22c55e);color:#f8fafc;font-weight:900}.workspace-brand strong{color:#f8fafc;font-size:16px}.workspace-brand span:last-child{color:#94a3b8;font-size:14px}.workspace-avatar{border-radius:50%;background:#075985}.workspace-primary-button,.workspace-filter-button,.view-toggle-button,.workspace-empty-state button{min-height:40px;border:1px solid rgba(148,163,184,.18);border-radius:14px;padding:0 14px;background:#1e293bb8;color:#e2e8f0;font-weight:800}.workspace-primary-button{border-color:#7dd3fc61;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#f8fafc}.view-toggle-button{width:42px;padding:0;font-size:20px}.workspace-main{width:min(1560px,calc(100vw - 80px));margin:0 auto;padding:40px 0 72px}.workspace-tabs{display:flex;align-items:center;gap:28px;margin-bottom:24px}.workspace-tabs button{border:0;border-bottom:2px solid transparent;padding:0 0 11px;background:transparent;color:#7f8da3;font-size:18px;font-weight:800}.workspace-tabs button.is-active{border-color:#e2e8f0;color:#f8fafc}.workspace-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:-62px 0 28px}.workspace-search{width:280px;min-height:44px;display:flex;align-items:center;gap:9px;border:1px solid rgba(148,163,184,.16);border-radius:14px;padding:0 13px;background:#1e293b8f}.workspace-search span{color:#64748b}.workspace-search input{width:100%;border:0;outline:none;background:transparent;color:#e2e8f0}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.project-card{position:relative;min-height:260px;overflow:hidden;border:1px solid rgba(148,163,184,.14);border-radius:18px;background:linear-gradient(180deg,#20242cf5,#181a20f5),#181b22;box-shadow:0 18px 52px #00000047;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.project-card:hover{border-color:#7dd3fc6b;transform:translateY(-2px);box-shadow:0 26px 72px #0000005c}.project-cover-button{width:calc(100% - 20px);aspect-ratio:16 / 9;display:block;overflow:hidden;margin:10px;border:0;border-radius:13px;padding:0;background:transparent}.project-cover-button img{width:100%;height:100%;object-fit:cover;display:block}.project-cover-placeholder{width:100%;height:100%;background:radial-gradient(circle at 28% 28%,rgba(255,255,255,.18),transparent 26%),linear-gradient(135deg,#1f2937,#334155 48%,#2563eb)}.project-card-body{padding:0 14px 14px}.project-card-title-row{display:flex;align-items:center;gap:8px}.project-title-button,.project-more-button{border:0;background:transparent;color:#f8fafc}.project-title-button{min-width:0;flex:1;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:900}.project-more-button{color:#94a3b8;font-weight:900}.project-updated{display:block;margin-top:5px;color:#64748b;font-size:12px}.project-card-actions{position:absolute;inset:10px 10px auto 10px;display:flex;gap:7px;opacity:0;transform:translateY(-5px);transition:opacity .15s ease,transform .15s ease}.project-card:hover .project-card-actions{opacity:1;transform:translateY(0)}.project-card-actions button{min-height:28px;border:1px solid rgba(148,163,184,.2);border-radius:999px;padding:0 9px;background:#020617c7;color:#dbeafe;font-size:11px;font-weight:800}.project-card-actions button.danger{color:#fecaca}.new-project-card{display:grid;place-items:center;align-content:center;gap:14px;border-style:dashed;color:#f8fafc}.new-project-plus{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#f8fafc;color:#111827;font-size:34px;font-weight:600}.workspace-empty-state{min-height:320px;display:grid;place-items:center;align-content:center;gap:12px;border:1px dashed rgba(148,163,184,.18);border-radius:22px;background:#0f172a6b;color:#94a3b8}.workspace-empty-state strong{color:#e2e8f0}.canvas-editor{position:relative;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at 1px 1px,rgba(148,163,184,.14) 1px,transparent 0) 0 0 / 24px 24px,linear-gradient(180deg,#080d18,#060914);cursor:default;-webkit-user-select:none;user-select:none}.canvas-editor.is-space-panning{cursor:grab}.canvas-editor.is-asset-dragging{box-shadow:inset 0 0 0 2px #60a5fa94}.world-layer{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;pointer-events:none}.edge-layer{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.edge-hit-path{fill:none;stroke:transparent;stroke-width:22px;pointer-events:stroke}.workflow-edge{fill:none;stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(125,211,252,.2));pointer-events:none}.workflow-edge.is-selected{stroke-width:5px;filter:drop-shadow(0 0 12px rgba(255,255,255,.42))}.workflow-edge.is-draft{stroke:#7dd3fccc;stroke-dasharray:10 8}.workflow-node{position:absolute;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:linear-gradient(180deg,#1e293bf0,#0f172af0),#0f172a;box-shadow:0 20px 70px #0000006b;color:#e2e8f0;pointer-events:auto;overflow:visible}.workflow-node.is-selected{border-color:#7dd3fcd1;box-shadow:0 0 0 2px #7dd3fc2e,0 24px 80px #00000080}.workflow-node.is-highlighted{border-color:#facc15d1;box-shadow:0 0 0 3px #facc1529,0 24px 80px #00000080}.node-titlebar{height:42px;display:flex;align-items:center;gap:9px;padding:0 14px;border-bottom:1px solid rgba(148,163,184,.12);font-size:13px;font-weight:700}.node-title-spacer{flex:1;min-width:4px}.node-mini-tag,.node-status{flex:0 0 auto;max-width:74px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:4px 7px;border:1px solid rgba(148,163,184,.16);background:#0f172ac7;color:#cbd5e1;font-size:10px;font-weight:700}.node-mini-tag{color:#bae6fd;border-color:#38bdf838}.node-status.generating{color:#fde68a;border-color:#f59e0b6b}.node-status.success{color:#bbf7d0;border-color:#22c55e6b}.node-status.error{color:#fecaca;border-color:#f871716b}.node-type-dot{width:10px;height:10px;border-radius:999px;background:#38bdf8}.node-type-dot.image-node{background:#22c55e}.node-type-dot.video-node{background:#a78bfa}.node-content{height:calc(100% - 42px);display:flex;flex-direction:column;gap:10px;padding:12px}.node-port{position:absolute;top:50%;width:15px;height:15px;border-radius:50%;border:2px solid rgba(226,232,240,.82);background:#0f172a;transform:translateY(-50%);padding:0;z-index:4}.node-port:hover{transform:translateY(-50%) scale(1.22);box-shadow:0 0 0 7px #7dd3fc29}.node-port.input{left:-8px}.node-port.output{right:-8px}.node-port.output.image{background:#38bdf8;border-color:#bae6fd}.node-port.output.video{background:#a78bfa;border-color:#ddd6fe}.node-port.is-disabled,.node-port:disabled{opacity:.34;cursor:not-allowed}.upload-dropzone{flex:1;min-height:118px;display:grid;place-items:center;border:1px dashed rgba(148,163,184,.3);border-radius:14px;background:#0206177a;overflow:hidden}.upload-dropzone.is-active{border-color:#7dd3fcd9;background:#0e749024}.upload-dropzone img,.upload-dropzone video,.generation-preview img,.generation-preview video,.reference-thumb img{width:100%;height:100%;object-fit:cover;display:block}.upload-empty{display:grid;justify-items:center;gap:6px;color:#94a3b8;text-align:center;padding:14px}.upload-empty strong{color:#e2e8f0}.media-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#38bdf81f;color:#7dd3fc;font-size:24px}.asset-meta{display:grid;gap:3px;min-height:44px;font-size:12px;color:#cbd5e1}.asset-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-meta small,.muted,.asset-meta.empty{color:#64748b}.node-secondary-button,.generate-button,.placeholder-controls button,.node-picker-button,.node-picker-option{border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#0f172ad1;color:#dbeafe}.node-secondary-button,.generate-button{min-height:34px;font-weight:700}.generate-button{border-color:#7dd3fc61;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#f8fafc}.generate-button:disabled{opacity:.62;cursor:wait}.generate-button.video{border-color:#a78bfa80;background:linear-gradient(135deg,#7c3aed,#4f46e5)}.generation-preview{position:relative;display:grid;place-items:center;min-height:172px;border-radius:15px;overflow:hidden;border:1px solid rgba(148,163,184,.16);background:linear-gradient(135deg,#1e293bb8,#0f172ab8),#020617}.image-preview-shell{flex:0 0 258px;height:258px;display:grid;place-items:center;padding:4px 0}.generation-preview.image-preview-frame{min-height:0;max-width:100%;border-color:#94a3b842;background:radial-gradient(circle at 50% 45%,rgba(148,163,184,.08),transparent 36%),linear-gradient(135deg,#1e293bbd,#0f172ad1),#020617;box-shadow:inset 0 0 0 1px #ffffff06,0 12px 32px #00000038;transition:width .16s ease,height .16s ease,border-color .16s ease}.video-preview{min-height:164px}.preview-placeholder{color:#64748b;font-weight:700}.mode-badge{position:absolute;right:10px;bottom:10px;border-radius:999px;padding:5px 9px;background:#020617c7;color:#bfdbfe;font-size:11px}.preview-state,.preview-error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0206179e;color:#fde68a;font-weight:800}.preview-error{color:#fecaca;text-align:center}.result-warning{margin-top:-4px;border:1px solid rgba(250,204,21,.2);border-radius:10px;padding:7px 9px;background:#78350f24;color:#fde68a;font-size:11px;line-height:1.35}.selected-model-note{margin-top:-2px;color:#c4b5fd;font-size:12px}.aspect-summary{margin-top:-6px;color:#a7f3d0;font-size:12px}.output-spec-summary,.actual-output-summary{margin-top:-6px;color:#cbd5e1;font-size:11px}.actual-output-summary{color:#7dd3fc}.input-summary{min-height:22px;color:#93c5fd;font-size:12px}.reference-strip{display:flex;align-items:center;gap:7px;min-height:42px}.input-strip{display:flex;align-items:stretch;gap:7px;min-height:64px;overflow-x:auto;padding-bottom:2px}.input-thumb{position:relative;flex:0 0 72px;min-width:72px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#020617a8;color:#cbd5e1;overflow:hidden;padding:0}.input-thumb:hover{border-color:#facc159e;box-shadow:0 0 0 2px #facc151f}.input-thumb img{width:100%;height:42px;object-fit:cover;display:block}.input-thumb-index{position:absolute;left:4px;top:4px;z-index:2;border-radius:999px;padding:2px 5px;background:#020617c7;color:#e0f2fe;font-size:9px;font-weight:800}.input-thumb-label{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 5px;font-size:10px}.input-thumb-empty{display:grid;place-items:center;width:100%;height:42px;color:#64748b;font-size:10px}.input-remove{position:absolute;top:3px;right:3px;z-index:3;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#0f172adb;color:#fecaca;font-size:13px;line-height:1}.local-input-note{margin-top:-4px;color:#94a3b8;font-size:11px}.reference-thumb{width:42px;height:42px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:#020617b8;color:#94a3b8;font-size:10px}.prompt-input{min-height:78px;width:100%;resize:none;border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:10px;background:#0206179e;color:#e2e8f0;outline:none}.prompt-input:focus{border-color:#7dd3fcbf;box-shadow:0 0 0 3px #7dd3fc1f}.picker-row{display:grid;grid-template-columns:1.1fr .8fr .75fr;gap:7px}.node-picker{position:relative;min-width:0}.node-picker-button{width:100%;height:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;padding:0 8px}.node-picker-menu{position:absolute;right:0;bottom:36px;z-index:20;display:grid;gap:4px;min-width:130px;padding:6px;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:#0f172afa;box-shadow:0 16px 48px #0000005c}.node-picker-menu.model-picker-menu{width:230px}.node-picker-menu.wide{grid-template-columns:repeat(2,minmax(58px,1fr))}.node-picker-option{min-height:28px;padding:0 8px;text-align:left;color:#cbd5e1;font-size:11px}.node-picker-option.is-active{border-color:#7dd3fc9e;background:#0ea5e929;color:#e0f2fe}.model-picker-option{display:grid;gap:3px;padding:7px 9px}.model-picker-option small{color:#64748b;font-size:10px;line-height:1.3}.model-picker-option.is-active small{color:#bae6fd}.placeholder-controls{display:flex;gap:7px}.placeholder-controls button{min-height:30px;flex:1;color:#cbd5e1;font-size:12px}.add-node-menu{position:absolute;z-index:30;width:190px;padding:8px;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:#0f172af5;box-shadow:0 24px 70px #0000007a}.add-node-menu-header{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 8px;color:#cbd5e1;font-size:12px;font-weight:700}.add-node-menu-header button{border:0;background:transparent;color:#94a3b8;font-size:18px}.add-node-option{display:grid;gap:3px;width:100%;min-height:54px;margin-top:4px;padding:9px 10px;border:1px solid transparent;border-radius:12px;background:#0206176b;color:#e2e8f0;text-align:left}.add-node-option:hover{border-color:#7dd3fc6b;background:#0ea5e91f}.add-node-option span{color:#94a3b8;font-size:12px}.canvas-hud{position:absolute;left:18px;bottom:18px;z-index:4;display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:12px;pointer-events:none}.canvas-hud span{padding:7px 9px;border:1px solid rgba(148,163,184,.14);border-radius:999px;background:#0f172aa8}.text-assistant-trigger{position:fixed;right:22px;bottom:22px;z-index:90;display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:#efefef;color:#111;box-shadow:0 18px 46px #00000073}.text-assistant-trigger:hover{transform:translateY(-1px);background:#fff}.text-assistant{position:fixed;right:16px;bottom:16px;z-index:100;width:min(430px,calc(100vw - 28px));height:min(720px,calc(100vh - 88px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:#1b1b1bfa;box-shadow:0 26px 90px #00000094;color:#f4f4f5}.text-assistant-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:12px 14px}.text-assistant-title,.text-assistant-actions button,.text-model-chip,.text-send-button{border:0;color:inherit}.text-assistant-title{display:inline-flex;align-items:center;gap:9px;min-width:0;background:transparent;font-size:15px;font-weight:800}.text-assistant-actions{display:flex;align-items:center;gap:7px}.text-assistant-actions button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffffff0f}.text-assistant-actions button:hover{background:#ffffff1f}.text-model-menu{position:absolute;left:14px;right:14px;top:54px;z-index:3;display:grid;gap:5px;max-height:min(420px,calc(100vh - 240px));overflow:auto;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#252525;box-shadow:0 18px 44px #00000073}.text-model-menu-title{padding:3px 6px 7px;color:#9ca3af;font-size:12px}.text-model-menu button{position:relative;display:grid;gap:5px;width:100%;min-height:62px;border:0;border-radius:12px;padding:10px 38px 10px 12px;background:transparent;color:#f4f4f5;text-align:left}.text-model-menu button:hover:not(:disabled),.text-model-menu button.active{background:#ffffff1a}.text-model-menu button:disabled{cursor:not-allowed;color:gray}.text-model-menu button>span{display:flex;align-items:center;gap:7px;min-width:0}.text-model-menu strong{font-size:14px}.text-model-menu em{border-radius:999px;padding:2px 6px;background:#00f0a0;color:#06120d;font-size:10px;font-style:normal;font-weight:900}.text-model-menu small{color:#a1a1aa;font-size:12px}.text-model-menu svg{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.text-assistant-feed{min-height:0;overflow:auto;padding:16px 14px 12px}.text-assistant-empty{min-height:100%;display:grid;align-content:end;gap:22px;padding-bottom:14px}.text-assistant-empty>div:first-child{display:grid;gap:12px;color:#c7c7c7;font-size:22px;font-weight:700}.text-assistant-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.text-assistant-suggestions button{display:grid;gap:8px;min-height:118px;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:13px;background:#ffffff09;color:#f1f5f9;text-align:left}.text-assistant-suggestions button:hover{background:#ffffff14}.text-assistant-suggestions strong{font-size:14px}.text-assistant-suggestions span{color:#a1a1aa;font-size:12px;line-height:1.5}.text-message{width:fit-content;max-width:88%;margin:0 0 14px}.text-message.user{margin-left:auto}.text-message.assistant{width:100%;max-width:100%}.text-message-content,.text-message.is-loading{border-radius:16px;padding:11px 13px;line-height:1.58;word-break:break-word;overflow-wrap:anywhere;font-size:14px}.text-message.user .text-message-content,.text-message.is-loading{white-space:pre-wrap}.text-message.user .text-message-content{background:#f1f5f9;color:#111}.text-message.assistant .text-message-content,.text-message.is-loading{background:#ffffff0e;color:#f4f4f5}.markdown-message{display:grid;gap:10px}.markdown-message h3,.markdown-message h4,.markdown-message h5{margin:2px 0 0;color:#f8fafc;font-size:15px;font-weight:850;line-height:1.45}.markdown-message h4,.markdown-message h5{font-size:14px}.markdown-message p{margin:0;color:#e7e7ea;line-height:1.72}.markdown-message ul,.markdown-message ol{display:grid;gap:6px;margin:0;padding-left:20px;color:#e7e7ea}.markdown-message li{padding-left:2px;line-height:1.62}.markdown-message strong{color:#fff;font-weight:850}.markdown-message code{border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:1px 5px;background:#ffffff14;color:#fef3c7;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}.markdown-message pre{max-width:100%;overflow:auto;margin:0;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px;background:#00000038}.markdown-message pre code{display:block;border:0;padding:0;background:transparent;color:#e5e7eb;white-space:pre}.markdown-message blockquote{margin:0;border-left:3px solid rgba(255,255,255,.2);padding:4px 0 4px 12px;color:#cbd5e1}.text-message.is-loading{display:inline-flex;align-items:center;gap:8px}.text-message-meta{display:flex;align-items:center;gap:8px;margin-top:6px;color:#8b8b8b;font-size:11px}.text-message-meta button{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:#ffffff0f;color:#cbd5e1}.text-assistant-composer{display:grid;gap:10px;padding:12px}.text-assistant-composer textarea{width:100%;min-height:86px;max-height:180px;resize:vertical;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:13px;background:#ffffff0e;color:#f8fafc;outline:none}.text-assistant-composer textarea:focus{border-color:#fff3}.text-assistant-footer{display:grid;grid-template-columns:auto minmax(0,1fr) 40px;align-items:center;gap:9px}.text-model-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;border-radius:999px;padding:0 12px;background:#ffffff17;color:#f4f4f5;font-size:13px;font-weight:800}.text-assistant-footer>span{overflow:hidden;color:#a1a1aa;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.text-send-button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#f4f4f5;color:#111}.text-send-button:disabled{cursor:not-allowed;opacity:.45}.text-assistant-error{border:1px solid rgba(248,113,113,.26);border-radius:12px;padding:9px 11px;background:#7f1d1d38;color:#fecaca;font-size:12px;line-height:1.5}.canvas-toast{position:absolute;left:50%;bottom:62px;z-index:40;max-width:min(460px,calc(100vw - 48px));transform:translate(-50%);border:1px solid rgba(250,204,21,.26);border-radius:999px;padding:10px 14px;background:#0f172aeb;color:#fde68a;box-shadow:0 18px 60px #0000006b;font-size:13px}.canvas-drop-hint{position:absolute;left:50%;top:82px;z-index:40;transform:translate(-50%);border:1px solid rgba(96,165,250,.42);border-radius:999px;padding:10px 16px;background:#0f172ae6;color:#bfdbfe;box-shadow:0 18px 60px #2563eb38;font-size:13px}.generation-preview.can-open-preview{cursor:zoom-in}.preview-open-hint{position:absolute;left:50%;bottom:44px;z-index:3;opacity:0;transform:translate(-50%) translateY(6px);border:1px solid rgba(125,211,252,.24);border-radius:999px;padding:6px 10px;background:#020617c7;color:#e0f2fe;font-size:11px;font-weight:700;pointer-events:none;transition:opacity .16s ease,transform .16s ease}.generation-preview.can-open-preview:hover .preview-open-hint{opacity:1;transform:translate(-50%) translateY(0)}.image-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:28px;background:#020617d1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.image-modal{width:min(1180px,94vw);max-height:94vh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:22px;background:linear-gradient(180deg,#0f172afa,#020617f5),#020617;box-shadow:0 32px 100px #0000009e}.image-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:14px 16px 14px 18px;border-bottom:1px solid rgba(148,163,184,.14)}.image-modal-title{min-width:0;display:grid;gap:4px}.image-modal-title strong{color:#f8fafc;font-size:15px}.image-modal-title span{max-width:min(520px,48vw);overflow:hidden;color:#94a3b8;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.image-modal-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.image-modal-actions button{min-height:34px;border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:0 11px;background:#0f172adb;color:#dbeafe;font-size:12px;font-weight:700}.image-modal-actions button:hover:not(:disabled){border-color:#7dd3fc7a;background:#0ea5e929;color:#e0f2fe}.image-modal-actions button:disabled{opacity:.48;cursor:not-allowed}.image-modal-actions .image-modal-close{width:34px;padding:0;color:#f8fafc}.image-modal-body{min-height:0;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 50% 0%,rgba(56,189,248,.1),transparent 34%),#0206179e}.image-modal-body img,.image-modal-body video{max-width:90vw;max-height:85vh;object-fit:contain;display:block;border-radius:14px;box-shadow:0 22px 70px #00000080}@media (max-width: 720px){.image-modal-backdrop{padding:12px}.image-modal-header{align-items:stretch;flex-direction:column}.image-modal-title span{max-width:100%}.image-modal-actions{flex-wrap:wrap}}:root{color:#f2f2f2;background:#090909;font-family:Inter,PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{letter-spacing:0}.app-shell{grid-template-rows:58px minmax(0,1fr);background:#080808}.app-header{padding:0 16px;border-bottom-color:#ffffff14;background:#0d0d0df0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.project-header-left,.project-title-control,.header-status,.header-status span,.header-status button,.back-to-workspace-button{display:flex;align-items:center}.project-header-left{gap:8px}.back-to-workspace-button{width:36px;min-height:36px;justify-content:center;padding:0;border-color:#ffffff1a;border-radius:10px;background:#1b1b1b;color:#d9d9d9}.project-title-control{min-width:0;gap:9px;height:40px;padding:4px 12px 4px 6px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#171717}.project-brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#f0f0f0;color:#151515}.project-title-control>div{min-width:0}.project-title-control>div>span{display:block;margin-top:-1px;color:#737373;font-size:10px;line-height:12px}.project-shell .project-name-input{width:min(330px,32vw);margin:0;color:#f1f1f1;font-size:13px;font-weight:650;line-height:18px}.header-status{gap:7px}.header-status span,.header-status button{min-height:32px;gap:6px;padding:0 10px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#171717;color:#a7a7a7;font-size:11px;font-weight:500}.header-status button:hover,.back-to-workspace-button:hover{border-color:#fff3;background:#242424;color:#fff}.workspace-shell{background:#101010;color:#ededed}.workspace-topnav{height:64px;padding:0 28px;border-bottom-color:#ffffff12;background:#131313f0}.workspace-brand{gap:10px}.workspace-brand>div{display:flex;align-items:baseline;gap:12px}.workspace-logo,.workspace-avatar{width:34px;height:34px;border-radius:10px;background:#ededed;color:#161616}.workspace-avatar{border-radius:50%;background:#2a2a2a;color:#e5e5e5}.workspace-brand strong{font-size:15px}.workspace-brand span:last-child{color:#8c8c8c;font-size:13px}.workspace-primary-button,.workspace-filter-button,.view-toggle-button,.workspace-empty-state button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border-color:#ffffff1a;border-radius:9px;background:#222;color:#dedede;font-size:13px;font-weight:600}.workspace-primary-button{border-color:#ededed;background:#ededed;color:#161616}.view-toggle-button{width:38px}.workspace-main{width:min(1440px,calc(100vw - 64px));padding:34px 0 64px}.workspace-tabs{gap:24px;margin-bottom:22px}.workspace-tabs button{padding-bottom:9px;color:#777;font-size:15px;font-weight:600}.workspace-tabs button.is-active{border-color:#eee;color:#f2f2f2}.workspace-toolbar{margin:-57px 0 24px}.workspace-search{width:260px;min-height:38px;border-color:#ffffff1a;border-radius:9px;background:#1c1c1c;color:#707070}.workspace-filter-button.is-active{background:#2a2a2a;color:#f0f0f0}.project-grid{grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:16px}.project-card{min-height:232px;overflow:visible;border-color:#ffffff17;border-radius:10px;background:#1b1b1b;box-shadow:none}.project-card:hover{border-color:#ffffff3d;transform:none;box-shadow:0 12px 34px #00000040}.project-cover-button{position:relative;width:calc(100% - 14px);margin:7px;border-radius:7px;background:#242424}.project-open-overlay{position:absolute;left:50%;top:50%;display:inline-flex;align-items:center;gap:6px;opacity:0;transform:translate(-50%,-42%);border:1px solid rgba(255,255,255,.13);border-radius:8px;padding:8px 11px;background:#121212d6;color:#f3f3f3;font-size:12px;transition:opacity .15s ease,transform .15s ease}.project-cover-button:hover .project-open-overlay{opacity:1;transform:translate(-50%,-50%)}.project-cover-button:hover img,.project-cover-button:hover .project-cover-placeholder{filter:brightness(.72)}.project-cover-placeholder{background-color:#292929;background-image:linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.025) 25%,transparent 25%);background-size:22px 22px}.project-card-body{padding:5px 12px 13px}.project-title-button{font-size:14px;font-weight:650}.project-updated{color:#707070;font-size:11px}.project-more-wrap{position:relative;flex:0 0 auto}.project-more-button{display:grid;place-items:center;width:28px;height:28px;padding:0;border-radius:7px}.project-more-button:hover{background:#292929;color:#fff}.project-action-menu{position:absolute;right:0;top:32px;z-index:20;width:142px;display:grid;gap:2px;padding:5px;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:#222;box-shadow:0 16px 40px #0000006b}.project-action-menu button{display:flex;align-items:center;gap:8px;min-height:32px;border:0;border-radius:6px;padding:0 9px;background:transparent;color:#d4d4d4;font-size:12px}.project-action-menu button:hover{background:#303030;color:#fff}.project-action-menu button.danger{color:#ff9f9f}.new-project-card{min-height:232px;overflow:hidden;border-style:solid;background:#191919}.new-project-plus{width:44px;height:44px;background:#f0f0f0;color:#151515}.workspace-empty-state{border-radius:10px;background:#181818}.canvas-editor{background-color:#050505;background-image:radial-gradient(circle,rgba(255,255,255,.15) .8px,transparent .9px);background-position:var(--grid-x) var(--grid-y);background-size:var(--grid-size) var(--grid-size)}.canvas-editor>.konvajs-content{opacity:.13}.canvas-editor.is-asset-dragging{box-shadow:inset 0 0 0 2px #ffffff5c}.canvas-tool-dock{position:absolute;left:18px;top:50%;z-index:40;transform:translateY(-50%);padding:5px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#1c1c1ce6;box-shadow:0 10px 30px #00000059;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.canvas-tool-dock button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:#eee;color:#151515}.canvas-tool-dock button:hover{background:#fff;transform:scale(1.03)}.workflow-edge{stroke-width:1.6px;opacity:.68;filter:none}.workflow-edge.is-selected{stroke-width:2.8px;opacity:1;filter:drop-shadow(0 0 6px rgba(255,255,255,.24))}.workflow-node{border-color:#ffffff21;border-radius:11px;background:#1d1d1d;box-shadow:0 12px 32px #00000047;color:#ededed;transition:border-color .14s ease,box-shadow .14s ease}.workflow-node.is-selected{border-color:#ffffff7a;box-shadow:0 0 0 1px #ffffff1f,0 16px 40px #0006}.workflow-node.is-highlighted{border-color:#ffd65cd9;box-shadow:0 0 0 2px #ffd65c26}.node-titlebar{height:34px;gap:7px;padding:0 10px;border-bottom-color:#ffffff14;color:#d8d8d8;font-size:12px;font-weight:600}.node-titlebar>svg{color:#9b9b9b}.node-mini-tag,.node-status{max-width:68px;border-color:#ffffff1a;border-radius:7px;padding:3px 6px;background:#151515;color:#a8a8a8;font-size:9px;font-weight:550}.node-status.generating{color:#f4d676;border-color:#f4d67659}.node-status.success{color:#8fe3ae;border-color:#59c78252}.node-status.error{color:#ffabab;border-color:#ff6b6b52}.node-content{position:relative;height:calc(100% - 34px);gap:0;padding:9px}.node-port{top:50%;width:30px;height:30px;display:grid;place-items:center;border:1.5px solid rgba(230,230,230,.58);background:#111111eb;color:#cfcfcf;opacity:.72;z-index:8}.node-port.input{left:-36px}.node-port.output{right:-36px}.node-port.output.image,.node-port.output.video{border-color:#f0f0f0a6;background:#111111eb;color:#eee}.node-port:hover{opacity:1;transform:translateY(-50%) scale(1.08);box-shadow:0 0 0 6px #ffffff14}.node-port:disabled{opacity:.24}.image-preview-shell{height:100%;flex:1 1 auto;padding:0}.generation-preview,.generation-preview.image-preview-frame,.upload-dropzone{border-color:#ffffff2e;border-radius:9px;background:#242424;box-shadow:none}.generation-preview.image-preview-frame{transition:width .17s ease,height .17s ease,border-color .15s ease}.video-preview,.upload-dropzone{width:100%;height:100%;min-height:0}.upload-dropzone{border-style:dashed}.upload-dropzone.is-active{border-color:#ffffffb8;background:#2a2a2a}.upload-empty{gap:7px;color:#858585;font-size:12px}.upload-empty strong{color:#e7e7e7;font-size:14px}.media-icon{width:42px;height:42px;border-radius:10px;background:#303030;color:#ddd}.preview-placeholder-icon{color:#666}.mode-badge{right:8px;bottom:8px;border:1px solid rgba(255,255,255,.08);border-radius:7px;padding:4px 7px;background:#0f0f0fc7;color:#aaa;font-size:10px}.preview-state,.preview-error{gap:9px;background:#0a0a0ab8;color:#f2dd8c;font-size:13px}.spinner,.spinner-icon{animation:canvasai-spin .9s linear infinite}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%}@keyframes canvasai-spin{to{transform:rotate(360deg)}}.node-config-panel{position:absolute;left:50%;top:calc(100% + 12px);z-index:50;width:560px;display:grid;gap:10px;transform:translate(-50%) scale(var(--node-ui-scale));transform-origin:top center;border:1px solid rgba(255,255,255,.11);border-radius:16px;padding:12px;background:#1f1f1ffa;box-shadow:0 18px 52px #00000070;color:#ededed;pointer-events:auto;animation:config-panel-in .13s ease-out}.workflow-node.panel-above .node-config-panel{top:auto;bottom:calc(100% + 12px);transform-origin:bottom center;animation-name:config-panel-in-above}.image-config-panel{width:min(590px,calc(100vw - 32px))}.video-config-panel{width:min(540px,calc(100vw - 32px))}.upload-config-panel{width:min(370px,calc(100vw - 32px))}@keyframes config-panel-in{0%{opacity:0;transform:translate(-50%) translateY(-5px) scale(var(--node-ui-scale))}to{opacity:1;transform:translate(-50%) translateY(0) scale(var(--node-ui-scale))}}@keyframes config-panel-in-above{0%{opacity:0;transform:translate(-50%) translateY(5px) scale(var(--node-ui-scale))}to{opacity:1;transform:translate(-50%) translateY(0) scale(var(--node-ui-scale))}}.config-panel-heading{display:flex;align-items:center;justify-content:space-between;min-height:30px;color:#8a8a8a}.config-panel-heading>div{display:flex;align-items:baseline;gap:8px}.config-panel-heading strong{color:#f2f2f2;font-size:14px;font-weight:620}.config-panel-heading span,.config-model-label{color:#858585;font-size:11px}.config-model-label{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-input{min-height:92px;border:0;border-radius:8px;padding:10px 11px;background:#252525;color:#f1f1f1;font-size:14px;line-height:21px}.prompt-input::placeholder{color:#707070}.prompt-input:focus{box-shadow:inset 0 0 0 1px #ffffff38}.node-config-meta{display:flex;align-items:center;gap:6px;overflow-x:auto;color:#858585;font-size:10px}.node-config-meta span{flex:0 0 auto;border-radius:6px;padding:4px 6px;background:#272727}.node-control-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.picker-row{grid-template-columns:minmax(140px,1.2fr) minmax(88px,.8fr) minmax(76px,.7fr);gap:4px}.picker-row.video-picker-row{grid-template-columns:minmax(170px,1.4fr) minmax(78px,.7fr) minmax(74px,.65fr) minmax(68px,.55fr)}.node-picker-button,.node-picker-option,.placeholder-controls button,.node-secondary-button,.generate-button{border-color:transparent;border-radius:8px;background:transparent;color:#dedede}.node-picker-button{height:34px;display:flex;align-items:center;gap:6px;padding:0 8px;font-size:12px}.node-picker-button>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.node-picker-button:hover,.placeholder-controls button:hover{background:#2d2d2d;color:#fff}.picker-chevron{flex:0 0 auto;color:#777}.node-picker-menu{right:auto;left:0;bottom:39px;min-width:170px;max-height:320px;overflow-y:auto;overscroll-behavior:contain;border-color:#ffffff1f;border-radius:10px;padding:5px;background:#252525;box-shadow:0 18px 48px #0000007a}.node-picker-menu::-webkit-scrollbar{width:6px}.node-picker-menu::-webkit-scrollbar-track{background:transparent}.node-picker-menu::-webkit-scrollbar-thumb{border-radius:999px;background:#fff3}.node-picker-menu.model-picker-menu{width:282px}.node-picker-section{display:grid;gap:3px}.node-picker-section+.node-picker-section{margin-top:4px;padding-top:5px;border-top:1px solid rgba(255,255,255,.08)}.node-picker-section-label{padding:3px 8px 2px;color:#8b8b8b;font-size:10px;line-height:14px}.workflow-node.panel-above .node-picker-menu{top:39px;bottom:auto}.node-picker-option{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;color:#c9c9c9;font-size:12px}.node-picker-option:hover{background:#303030}.node-picker-option.is-active{border-color:transparent;background:#363636;color:#fff}.model-picker-option{display:grid;grid-template-columns:1fr auto}.model-option-copy{min-width:0;display:grid;gap:2px;text-align:left}.model-option-copy strong{font-size:12px;font-weight:580}.model-picker-option small{color:#777;font-size:9px}.placeholder-controls{grid-column:1 / -1;gap:2px}.placeholder-controls button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:500}.generate-button{grid-column:2;grid-row:1 / span 2;align-self:stretch;min-width:112px;min-height:72px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-color:#ededed;background:#ededed;color:#161616;font-size:13px;font-weight:650}.generate-action{grid-column:2;grid-row:1 / span 2;min-width:112px;display:grid;align-self:stretch;grid-template-rows:minmax(54px,1fr) auto;gap:6px}.generate-action .generate-button{grid-column:auto;grid-row:auto;width:100%;min-width:0;min-height:54px}.generation-cost{display:block;color:#aaa;font-size:10px;line-height:14px;text-align:center;white-space:nowrap;cursor:help}.generate-button.video{border-color:#ededed;background:#ededed;color:#161616}.generate-button:hover:not(:disabled){background:#fff}.node-secondary-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.11);background:#282828;font-size:12px}.asset-meta{gap:4px;color:#d0d0d0;font-size:12px}.asset-meta small,.muted,.local-input-note{color:#7c7c7c}.input-strip{min-height:62px}.input-thumb{border-color:#ffffff1c;border-radius:8px;background:#252525;color:#d0d0d0}.input-thumb:hover{border-color:#ffffff59;box-shadow:none}.result-warning{margin:0;border-color:#f1c44c2e;border-radius:8px;background:#664c0f33;color:#e7cd81;font-size:11px}.preview-open-hint{border-color:#ffffff1f;border-radius:7px;background:#121212d1;color:#e1e1e1}.add-node-menu{width:252px;padding:7px;border-color:#ffffff1f;border-radius:12px;background:#202020fa;box-shadow:0 20px 52px #0000007a}.add-node-menu-header{padding:6px 7px 9px;color:#929292;font-size:11px;font-weight:550}.add-node-menu-header button{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;color:#999}.add-node-menu-header button:hover{background:#303030;color:#fff}.add-node-option{min-height:52px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;margin-top:2px;padding:7px;border-radius:8px;background:transparent}.add-node-option:hover{border-color:transparent;background:#303030}.add-node-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#3a3a3a;color:#ddd}.add-node-copy{min-width:0;display:grid;gap:2px}.add-node-copy strong{color:#eee;font-size:13px;font-weight:580}.add-node-copy small{color:#818181;font-size:10px}.canvas-hud{left:14px;bottom:14px;gap:5px;color:#888;font-size:10px}.canvas-hud span{min-height:28px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border-color:#ffffff14;border-radius:8px;background:#191919d1}.canvas-hud .canvas-zoom-value{color:#ddd}.canvas-toast,.canvas-drop-hint{border-color:#ffffff1f;border-radius:9px;background:#1e1e1ef0;color:#e4e4e4}.image-modal-backdrop{background:#050505e0}.image-modal{border-color:#ffffff1f;border-radius:12px;background:#181818}.image-modal-body{background:#101010}@media (max-width: 900px){.header-status span:first-child,.header-status button{display:none}.workspace-main{width:calc(100vw - 28px)}.workspace-toolbar{margin:0 0 20px;justify-content:flex-start;flex-wrap:wrap}.workspace-search{width:100%}.node-config-panel{width:min(520px,calc(100vw - 24px))}.text-assistant{right:10px;bottom:10px;width:calc(100vw - 20px);height:min(660px,calc(100vh - 78px))}.text-assistant-suggestions{grid-template-columns:1fr}.text-assistant-footer{grid-template-columns:minmax(0,1fr) 40px}.text-assistant-footer>span{grid-column:1 / -1;order:-1}}
