*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#0f8;--primary-dark:#00cc6a;--primary-glow:#00ff8826;--secondary:#1a1a2e;--background:#050508;--surface:#0f0f1a;--surface-light:#1a1a2e;--surface-dark:#08080f;--text:#f0f0f5;--text-muted:#6b7280;--text-light:#4b5563;--border:#1e1e2d;--border-light:#2d2d44;--success:#4ade80;--warning:#fbbf24;--error:#f87171;--accent-cyan:#22d3ee}body{background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.logo{align-items:center;gap:.75rem;display:flex}.logo-icon{background:var(--primary);border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.logo h1{color:var(--text);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.main{flex:1;gap:1rem;width:100%;min-height:0;padding:1rem;display:flex}.sidebar{background:var(--surface);z-index:5;border-right:1px solid #ffffff1a;border-radius:12px;flex-shrink:0;align-self:flex-start;width:200px;max-height:calc(100vh - 2rem);padding:1rem .75rem;position:sticky;top:1rem;overflow-y:auto}.sidebar h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;font-size:.75rem;font-weight:600}.nav-item{cursor:pointer;color:var(--text-muted);border-radius:10px;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.875rem 1rem;transition:all .2s;display:flex}.nav-item:hover{background:var(--surface-light);color:var(--text)}.nav-item.active{color:#0a0a0a;background:linear-gradient(135deg,#0f8 0%,#00cc6a 100%);border-radius:10px;font-weight:600;box-shadow:0 0 20px #00ff884d}.content{flex-direction:column;flex:1;gap:1rem;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.content>div{animation:.15s ease-out tab-fade-in}@keyframes tab-fade-in{0%{opacity:0}to{opacity:1}}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.card-header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.card-header h2{font-size:1.25rem;font-weight:600}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-muted);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-group input,.form-group textarea,.form-group select{background:var(--background);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;padding:.875rem 1rem;font-size:.9375rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.form-group textarea{resize:vertical;min-height:120px}.btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{color:#0a0a0a;background:linear-gradient(135deg,#0f8 0%,#00cc6a 100%);font-weight:600}.btn-primary:hover{background:linear-gradient(135deg,#3f9 0%,#0f8 100%);transform:translateY(-1px);box-shadow:0 4px 20px #00ff884d}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--surface-light);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.options-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.option-item{background:var(--background);cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:.5rem;padding:.875rem;transition:all .2s;display:flex}.option-item:hover{border-color:var(--border)}.option-item.selected{border-color:var(--primary);background:var(--primary-glow)}.option-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.model-select{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.model-option{background:var(--background);cursor:pointer;border:1px solid var(--border);text-align:center;border-radius:8px;padding:1rem;transition:all .2s}.model-option:hover{border-color:var(--border-light)}.model-option.selected{border-color:var(--primary);background:var(--primary-glow)}.model-option h4{margin-bottom:.25rem;font-size:.875rem;font-weight:600}.model-option p{color:var(--text-muted);font-size:.75rem}.results-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.result-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:all .2s;overflow:hidden}.result-card:hover{border-color:var(--border-light);transform:translateY(-2px);box-shadow:0 8px 30px #0000004d}.result-image{aspect-ratio:16/9;object-fit:cover;background:var(--background);width:100%}.result-content{padding:1rem}.result-title{margin-bottom:.5rem;font-size:.875rem;font-weight:500}.result-meta{color:var(--text-muted);align-items:center;gap:1rem;font-size:.75rem;display:flex}.loading{flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.history-list{flex-direction:column;gap:.75rem;display:flex}.history-item{background:var(--background);cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;transition:all .2s;display:flex}.history-item:hover{border-color:var(--border);background:var(--surface-light)}.tabs{gap:.5rem;display:flex}.tab{background:var(--surface-light);color:var(--text-muted);cursor:pointer;border:1px solid #ffffff1a;border-radius:10px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s}.tab:hover{color:var(--text);border-color:#fff3}.tab.active{border-color:var(--primary);background:var(--primary-glow);color:var(--primary)}.history-item-info h4{margin-bottom:.25rem;font-size:.875rem;font-weight:500}.history-item-info p{color:var(--text-muted);font-size:.75rem}@media (width<=768px){.main{flex-direction:column}.sidebar{width:100%}.options-grid,.results-grid{grid-template-columns:1fr}}.prompt-builder{flex-direction:column;gap:1.25rem;display:flex}.prompt-preview{background:var(--background);border:1px solid var(--border);border-radius:10px;min-height:100px;padding:1rem}.prompt-preview p{white-space:pre-wrap;color:var(--text);line-height:1.7}.prompt-preview.empty p{color:var(--text-muted);font-style:italic}.prompt-actions{flex-wrap:wrap;gap:.75rem;display:flex}.prompt-templates{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.template-card{background:var(--background);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.template-card h4{color:var(--text);font-size:.95rem;font-weight:600}.template-card p{color:var(--text-muted);min-height:3.2em;font-size:.8rem;line-height:1.6}.template-card button{align-self:flex-start}@media (width<=900px){.prompt-templates{grid-template-columns:1fr}}.actor-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.actor-card{background:var(--background);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.actor-preview{aspect-ratio:3/4;background:#0a0f13;border-radius:10px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.actor-preview img{object-fit:cover;width:100%;height:100%}.actor-placeholder{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.actor-fields{flex-direction:column;gap:.75rem;display:flex}.actor-actions{flex-wrap:wrap;gap:.5rem;display:flex}.actor-actions .btn{flex:1;min-width:120px}.video-tasks{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.video-task-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.video-task-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.video-task-title{font-size:.95rem;font-weight:600}.video-task-status{color:var(--text-muted);font-size:.75rem}.video-task-body{color:var(--text-muted);flex-direction:column;gap:.5rem;font-size:.85rem;display:flex}.video-task-actions{flex-wrap:wrap;gap:.5rem;display:flex}.ic-wrap{flex:1;width:100%;min-height:0;position:relative}.ic-canvas-wrapper{background:radial-gradient(circle at 20% 20%,#4f8ef714,#0000 35%),#06070c;border:1px solid #ffffff14;border-radius:18px;outline:none;width:100%;height:calc(100vh - 140px);min-height:640px;position:relative;overflow:hidden}.ic-canvas-wrapper .react-flow__renderer,.ic-canvas-wrapper .react-flow__selectionpane,.ic-canvas-wrapper .react-flow__viewport{cursor:default}.ic-canvas-wrapper .react-flow__selection{background:#58a6ff1f;border:1px dashed #58a6ffbf}.ic-toolbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0c12c7;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:.35rem;padding:.4rem .55rem;display:flex;box-shadow:0 8px 24px #00000040}.ic-tool-btn{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.ic-tool-btn:hover{color:var(--text);background:#ffffff0f}.ic-tool-btn.active{color:#0a0a0a;background:linear-gradient(135deg,#0f8 0%,#00cc6a 100%);box-shadow:0 0 18px #00ff884d}.ic-tool-btn.danger:hover{color:#fff;background:#f871712e}.ic-toolbar-divider{background:#ffffff14;width:1px;height:20px;margin:0 .2rem}.ic-controls{overflow:hidden;border:1px solid #ffffff14!important;border-radius:14px!important;box-shadow:0 8px 22px #00000047!important}.ic-controls button{color:#dbe3ff!important;background:#0f111aeb!important;border-bottom:1px solid #ffffff0f!important}.ic-controls button:hover{background:#232634f5!important}.ic-minimap{overflow:hidden;background:#080a10e6!important;border:1px solid #ffffff14!important;border-radius:16px!important;box-shadow:0 10px 28px #00000040!important}.ic-node{background:#0f111af5;border:1px solid #ffffff14;border-radius:14px;min-width:220px;overflow:hidden;box-shadow:0 10px 28px #0000003d}.ic-node.selected{border-color:#78b3fff2;box-shadow:0 0 0 1px #78b3ff73,0 0 20px #58a6ff38,0 14px 32px #00000057}.ic-node-header{color:var(--text);background:#ffffff05;border-bottom:1px solid #ffffff0f;align-items:center;gap:.45rem;padding:.65rem .75rem;font-size:.8125rem;font-weight:600;display:flex}.ic-node-body{padding:.8rem}.ic-note-node{min-width:200px;max-width:320px}.ic-note-content{color:#f8fafc;white-space:pre-wrap;min-height:90px;font-size:.85rem;line-height:1.65}.ic-note-content.empty{color:var(--text-muted);font-style:italic}.ic-note-editor{resize:vertical;color:#fff;background:#0000002e;border:1px solid #ffffff14;border-radius:10px;outline:none;width:100%;min-height:90px;padding:.7rem}.ic-text-node{min-width:180px;max-width:360px}.ic-text-display{color:#f5f8ff;white-space:pre-wrap;min-height:40px;font-weight:600;line-height:1.55}.ic-text-display.empty{color:var(--text-muted);font-style:italic}.ic-text-editor{resize:none;color:#fff;background:#00000029;border:1px solid #ffffff14;border-radius:10px;outline:none;width:100%;padding:.65rem .75rem}.ic-media-dropzone{height:180px;color:var(--text-muted);background:#ffffff05;border:1px dashed #ffffff1f;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;display:flex}.ic-media-dropzone:hover{color:var(--text);border-color:#0f86}.ic-media-preview{background:#0b0d14;border-radius:14px;width:100%;overflow:hidden}.ic-media-preview video,.ic-media-preview img{width:100%;display:block}.ic-handle{box-shadow:0 0 0 6px #4f8ef71f;background:#4f8ef7!important;border:2px solid #fffc!important;width:10px!important;height:10px!important}.ic-handle.react-flow__handle-left{left:-6px}.ic-handle.react-flow__handle-right{right:-6px}.ctx-menu{z-index:9999;background:#0c0e16f7;border:1px solid #ffffff14;border-radius:14px;min-width:210px;padding:.35rem;position:fixed;box-shadow:0 12px 32px #00000059}.ctx-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:.55rem;padding:.65rem .75rem;font-size:.84rem;display:flex}.ctx-item:hover:not(:disabled),.ctx-item-with-submenu:hover{background:#ffffff0f}.ctx-item:disabled{opacity:.45;cursor:not-allowed}.ctx-item svg{color:var(--text-muted);flex-shrink:0}.ctx-item-icon{width:14px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ctx-item-with-submenu{position:relative}.ctx-submenu-arrow{margin-left:auto;transition:transform .18s}.ctx-submenu-arrow.open{transform:rotate(90deg)}.ctx-submenu{background:#0c0e16fc;border:1px solid #ffffff14;border-radius:12px;min-width:160px;padding:.35rem;position:absolute;top:0;left:calc(100% + 8px);box-shadow:0 12px 32px #00000059}.ic-context-menu{z-index:9999;background:#0c0e16f7;border:1px solid #ffffff14;border-radius:14px;min-width:180px;padding:.35rem;position:fixed;box-shadow:0 12px 32px #00000059}.ic-context-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:.55rem;padding:.65rem .75rem;font-size:.84rem;display:flex}.ic-context-item:hover{background:#ffffff0f}.ic-context-item svg{color:var(--text-muted)}.ic-edge-plus-btn{color:#dbe3ff;cursor:pointer;background:#090c14eb;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex;box-shadow:0 4px 14px #0000003d}.ic-edge-plus-btn:hover{color:#0a0a0a;background:linear-gradient(135deg,#0f8 0%,#00cc6a 100%);border-color:#00ff884d;transform:scale(1.06)}.history-empty{text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:10px;padding:2rem}.character-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.character-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:all .2s;overflow:hidden}.character-card:hover{border-color:var(--border-light);box-shadow:0 10px 28px #0000003d}.character-card img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.character-card-body{flex-direction:column;gap:.4rem;padding:.9rem;display:flex}.character-card-body h4{font-size:.95rem;font-weight:600}.character-card-body p{color:var(--text-muted);font-size:.8rem;line-height:1.55}.text-muted{color:var(--text-muted)}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.history-preview-overlay{z-index:9999;background:#000000e0;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.history-preview-content{justify-content:center;align-items:center;max-width:min(92vw,1200px);max-height:90vh;display:flex;position:relative}.history-preview-content img{object-fit:contain;background:#0b0d14;border-radius:14px;max-width:100%;max-height:90vh;box-shadow:0 12px 40px #00000073}.history-preview-close{color:#fff;cursor:pointer;background:#080a10e0;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:inline-flex;position:absolute;top:-14px;right:-14px}.history-preview-close:hover{background:#f8717129;border-color:#f8717166}.history-table-wrap{overflow-x:auto}.history-table{border-collapse:collapse;width:100%;min-width:860px}.history-table th,.history-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #ffffff0f;padding:.85rem .9rem}.history-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:600}.history-table td{color:var(--text);font-size:.86rem}.history-thumb{object-fit:cover;background:#0b0d14;border:1px solid #ffffff14;border-radius:10px;width:72px;height:72px}.history-thumb-btn{cursor:pointer;background:0 0;border:none;padding:0}.history-thumb-btn:hover .history-thumb{border-color:#0f86;box-shadow:0 0 0 2px #00ff8814}.history-prompt-cell{white-space:pre-wrap;word-break:break-word;color:#dde5ff;max-width:320px}.history-badge{color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.76rem;display:inline-flex}.history-actions{flex-wrap:wrap;gap:.5rem;display:flex}.history-actions .btn{padding:.55rem .85rem;font-size:.8rem}.history-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.history-grid .history-item{background:var(--surface);cursor:default;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;display:flex;overflow:hidden}.history-grid .history-item:hover{background:var(--surface);border-color:#ffffff24;box-shadow:0 12px 28px #0000003d}.history-grid .history-item-info{flex-direction:column;gap:.6rem;padding:.9rem;display:flex}.history-item-prompt-wrap{flex-direction:column;gap:.45rem;display:flex}.history-item-prompt-badge{color:#72f7bc;background:#00ff8814;border:1px solid #00ff882e;border-radius:999px;align-items:center;width:fit-content;padding:.22rem .55rem;font-size:.68rem;line-height:1;display:inline-flex}.history-grid .history-item-info h4{color:#eef5ff;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;font-weight:600;line-height:1.5;display:-webkit-box;overflow:hidden}.history-status-pill{color:#e8eefb;background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.3rem;padding:.28rem .58rem;display:inline-flex}.history-viewer-overlay{z-index:100000;background:#000000e0;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.history-viewer-shell{background:#0f111a;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;width:min(1100px,94vw);max-height:92vh;display:flex;overflow:hidden;box-shadow:0 24px 80px #00000080}.history-viewer-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:.9rem 1rem;display:flex}.history-viewer-title{align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.history-viewer-close{color:#fff;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;width:36px;height:36px}.history-viewer-stage{background:#0000003d;flex:1;justify-content:center;align-items:center;min-height:0;padding:1rem;display:flex}.history-viewer-image{object-fit:contain;background:#090b10;border-radius:12px;max-width:100%;max-height:calc(92vh - 150px)}.history-viewer-actions{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding:.9rem 1rem 1rem;display:flex}.bplanner{grid-template-columns:minmax(0,1fr) 320px;gap:1rem;min-height:calc(100vh - 220px);display:grid}.bstage-section,.bpanel{background:var(--surface);border:1px solid var(--border);border-radius:16px;min-width:0}.bstage-section{flex-direction:column;gap:.9rem;padding:1rem;display:flex}.bstage-toolbar,.bstage-toolbar-left,.bstage-toolbar-right{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.bstage-toolbar{justify-content:space-between}.bstage-preview-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.bstage-preview-badge,.bstage-preview-tip,.bchip-label{color:var(--text-muted);font-size:.78rem}.bstage-canvas-wrap{background:#0b0f18;border:1px solid #ffffff14;border-radius:18px;flex:1;min-height:620px;position:relative;overflow:hidden}.bstage-canvas-wrap canvas{width:100%;height:100%;display:block}.bfigure{cursor:grab;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:.35rem;display:flex;position:absolute;transform:translate(-50%,-50%)}.bfigure.selected .bfigure-dot{box-shadow:0 0 0 2px #58a6ff52,0 0 24px #58a6ff33}.bfigure-dot{color:#0a0a0a;border:2px solid #0000;justify-content:center;align-items:center;width:44px;min-width:44px;font-weight:700;display:flex;box-shadow:0 10px 20px #00000047}.bfigure-initial{font-size:.95rem}.bfigure-arrow{color:#fff;text-shadow:0 2px 12px #0000006b;pointer-events:none;position:absolute;top:50%;left:50%}.bfigure-name{color:#fff;white-space:nowrap;background:#06080cc7;border:1px solid #ffffff14;border-radius:999px;padding:.2rem .45rem;font-size:.72rem}.bpanel{flex-direction:column;gap:.9rem;padding:1rem;display:flex}.bpanel-header h3,.bpanel-section-title{font-size:.95rem;font-weight:600}.bpanel-section{flex-direction:column;gap:.65rem;display:flex}.bpanel-label{color:var(--text-muted);font-size:.8rem}.bpanel-divider{background:#ffffff14;height:1px}.bchip-row{flex-wrap:wrap;gap:.5rem;display:flex}.bchip,.bpill{color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;padding:.48rem .72rem;display:inline-flex}.bchip.active,.bpill.active{color:#0f8;background:#00ff881f;border-color:#00ff8859}.bpill.danger{color:#ff9f9f}.bpill.full{width:100%}.bchip-dot{border-radius:50%;width:10px;height:10px}.binput{background:var(--background);min-width:0;color:var(--text);border:1px solid #ffffff1a;border-radius:10px;flex:1;padding:.7rem .8rem}@media (width<=1100px){.bplanner{grid-template-columns:1fr}.bstage-canvas-wrap{min-height:520px}}.story-import-wrap{flex-direction:column;gap:1rem;display:flex}.story-import-actions{flex-wrap:wrap;gap:.75rem;display:flex}.story-import-help{color:var(--text-muted);font-size:.82rem;line-height:1.7}.story-scenes-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.story-scene-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:.65rem;padding:.95rem;display:flex}.story-scene-card h4{color:var(--text);font-size:.92rem;font-weight:600}.story-scene-card p{color:var(--text-muted);white-space:pre-wrap;font-size:.82rem;line-height:1.65}.ic-node-gen-prompt{resize:vertical;width:100%;min-height:64px;color:var(--text);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;outline:none;padding:.55rem .65rem;font-family:inherit;font-size:.76rem;line-height:1.45}.ic-node-gen-prompt:focus{border-color:#58a6ff8c}.ic-node-gen-ctrls{flex-wrap:nowrap;align-items:center;gap:.45rem;padding-bottom:.1rem;display:flex;overflow-x:auto}.ic-node-gen-ctrls::-webkit-scrollbar{height:6px}.ic-image-floating-toolbar::-webkit-scrollbar{height:6px}.ic-node-gen-ctrls::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.ic-image-floating-toolbar::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.ic-node-gen-sel{color:#e0e0f0;cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;appearance:none;background:#1a1a2e url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l3 3 3-3' stroke='%23999' stroke-width='1.2'/%3E%3C/svg%3E") right .3rem center no-repeat;border:1px solid #ffffff1a;border-radius:6px;outline:none;flex:none;padding:.28rem 1.2rem .28rem .4rem;font-size:.7rem}select{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.ic-node-gen-btn{color:#08110c;cursor:pointer;background:linear-gradient(135deg,#0f8 0%,#00d86f 100%);border:none;border-radius:8px;flex:none;align-items:center;gap:.25rem;padding:.34rem .78rem;font-size:.72rem;font-weight:700;display:inline-flex}.ic-node-gen-btn:disabled{opacity:.65}.ic-node-gen-err{color:#f59e0b;font-size:.68rem}.ic-mention-picker{z-index:20;background:#0c0e16fa;border:1px solid #00ff8840;border-radius:10px;max-height:160px;margin-top:4px;overflow-y:auto}.ic-mention-item{cursor:pointer;align-items:center;gap:.5rem;padding:.45rem .6rem;transition:background .12s;display:flex}.ic-mention-item:hover,.ic-mention-item.active{background:#00ff881a}.ic-mention-item img{object-fit:cover;border-radius:5px;flex-shrink:0;width:32px;height:32px}.ic-mention-item-info{flex:1;min-width:0}.ic-mention-item-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;display:block;overflow:hidden}.ic-mention-item-ratio{color:var(--text-muted);font-size:.65rem}.mi-tag{color:#8cb8ff;font-size:inherit;cursor:default;-webkit-user-select:all;user-select:all;white-space:nowrap;background:#4488ff2e;border:1px solid #4488ff59;border-radius:5px;margin:0 1px;padding:1px 5px;font-weight:600;display:inline}.mi-tag::selection{color:#fff;background:#4488ff4d}.mi-picker{z-index:60;background:#1a1a2e;border:1px solid #4488ff4d;border-radius:10px;width:100%;max-width:280px;max-height:180px;padding:.25rem;position:absolute;bottom:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 32px #00000080}.mi-picker-item{cursor:pointer;border-radius:7px;align-items:center;gap:.5rem;padding:.5rem .6rem;transition:background .12s;display:flex}.mi-picker-item:hover,.mi-picker-item.active{background:#4488ff26}.mi-drop-preview{z-index:70;pointer-events:none;background:linear-gradient(135deg,#00ff8814,#4488ff14);border:1px dashed #00ff88a6;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;box-shadow:0 0 0 1px #00ff882e,0 0 30px #00ff8826}.mi-drop-preview-inner{color:#e9fff3;text-align:center;background:#06080ce0;border-radius:14px;flex-direction:column;align-items:center;gap:.35rem;min-width:220px;max-width:320px;padding:.75rem 1rem;display:flex}.mi-drop-preview-title{letter-spacing:.08em;text-transform:uppercase;color:#72f7bc;font-size:.72rem}.mi-drop-preview-inner strong{font-size:.92rem;line-height:1.4}.mi-drop-preview-inner span:last-child{color:var(--text-muted);font-size:.75rem}.ic-node-gen-color{cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:6px;width:36px;height:28px;padding:2px}.ic-image-stack{flex-direction:column;align-items:center;gap:10px;display:flex;position:relative}.ic-image-card,.ic-node-gen-panel{background:var(--surface);border:1px solid #ffffff14;border-radius:10px;overflow:visible;box-shadow:0 2px 12px #0000004d}.ic-image-stack.selected .ic-image-card,.ic-image-stack.selected .ic-node-gen-panel,.ic-image-stack.selected .ic-image-floating-toolbar{border-color:#78b3ffeb;box-shadow:0 0 0 1px #78b3ff80,0 0 18px #58a6ff42,0 0 34px #58a6ff1f,0 8px 24px #0000006b}.ic-image-card{overflow:hidden}.ic-image-node{box-shadow:none;background:0 0;border:none;min-width:auto;max-width:none}.ic-image-node.selected{box-shadow:none;border-color:#0000}.ic-image-toolbar{background:#ffffff05;align-items:center;gap:.3rem;padding:.35rem .6rem;display:flex}.ic-image-floating-toolbar{background:#0c0e16f5;border:1px solid #ffffff14;border-radius:10px;flex-wrap:wrap;justify-content:flex-start;align-self:center;align-items:center;gap:.2rem;width:auto;max-width:min(720px,96vw);padding:.35rem .5rem;display:inline-flex;overflow:visible}.ic-image-body{border-radius:0 0 10px 10px;justify-content:center;align-items:center;min-height:80px;display:flex;position:relative;overflow:hidden}.ic-image-body img{object-fit:cover;border-radius:0 0 10px 10px;width:100%;height:100%;display:block}.ic-image-body.annotating img{-webkit-user-select:none;user-select:none;pointer-events:none}.ic-node-gen-panel{background:#10111af5;flex-direction:column;gap:.45rem;width:min(520px,92vw);min-width:0;padding:.6rem .7rem .7rem;display:flex}.ic-node-gen-thumb-row{flex-wrap:nowrap;align-items:center;gap:.5rem;display:flex;overflow:visible}.ic-node-gen-ref-main-row{align-items:center;gap:.5rem;min-width:0;display:flex}.ic-node-gen-thumb-wrap-main{flex:none}.ic-node-gen-thumb-main{width:72px;height:72px}.ic-node-gen-thumb-wrap{position:relative;overflow:visible}.ic-node-gen-thumb{background:#0e1018;border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;width:52px;height:52px;overflow:hidden}.ic-node-gen-thumb img{object-fit:cover;width:100%;height:100%;display:block}.ic-node-gen-thumb-popover{opacity:0;pointer-events:none;z-index:40;background:#0a0b12fa;border:1px solid #ffffff1a;border-radius:12px;width:220px;max-width:40vw;padding:6px;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(4px);box-shadow:0 12px 32px #00000080}.ic-node-gen-thumb-popover img{object-fit:contain;background:#0e1018;border-radius:8px;width:100%;height:auto;max-height:320px;display:block}.ic-node-gen-thumb-wrap:hover .ic-node-gen-thumb-popover{opacity:1;transform:translateY(0)}.ic-image-tool-btn{color:var(--text-muted);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;flex:none;align-items:center;gap:.25rem;padding:.22rem .5rem;font-size:.7rem;display:inline-flex}.ic-image-tool-btn:hover{color:var(--text);background:#ffffff14}.ic-image-tool-btn.active{color:#0f8;border-color:#00ff884d}.ic-image-tool-sep{background:#ffffff1a;flex:none;width:1px;height:18px;margin:0 .15rem}.ic-image-color-dot{cursor:pointer;border:1.5px solid #fff3;border-radius:50%;flex-shrink:0;width:16px;height:16px}.ic-image-color-dot.active{border-color:#fff;box-shadow:0 0 0 2px #ffffff4d}.ic-image-tool-val{color:var(--text-muted);text-align:center;flex:none;min-width:34px;font-size:.65rem}.ic-annotate-toolbar{gap:.2rem}.ic-annotate-tool-tip{color:var(--text-muted);white-space:nowrap;flex:none;font-size:.64rem}.ic-annotate-save{color:#0f8!important;background:#00ff881f!important;border-color:#00ff884d!important}.ic-annotate-cancel{color:#ff8f8f!important;padding:.1rem .4rem!important;font-size:1rem!important}.ic-annotate-canvas{cursor:crosshair;z-index:5;width:100%;height:100%;position:absolute;top:0;left:0}.ic-annotate-inline-input-wrap{z-index:7;pointer-events:auto;flex-direction:column;gap:.35rem;min-width:170px;display:flex;position:absolute}.ic-annotate-inline-input-head{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.4rem;padding:.18rem .3rem 0 .2rem;font-size:.68rem;display:flex}.ic-annotate-inline-cancel{color:#ff9b9b;cursor:pointer;background:0 0;border:none;padding:0;font-size:.68rem}.ic-annotate-inline-cancel:hover{color:#ffd0d0}.ic-annotate-inline-btn{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;padding:2px 4px;transition:background .15s;display:flex}.ic-annotate-inline-btn:hover{background:#ffffff1f}.ic-annotate-inline-input{width:160px;color:var(--text);background:#080b12f5;border:1px solid #58a6ff8c;border-radius:8px;outline:none;padding:.32rem .45rem;font-size:.76rem;box-shadow:0 8px 24px #00000059}.ic-annotate-inline-input:focus{border-color:#00ff8873;box-shadow:0 0 0 3px #00ff881a,0 8px 24px #00000059}.ic-preview-overlay{z-index:100000;cursor:pointer;background:#000000eb;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ic-preview-img{object-fit:contain;cursor:default;border-radius:8px;width:auto;max-width:min(92vw,1600px);height:auto;max-height:calc(100vh - 40px);box-shadow:0 24px 80px #0000008c}.ic-preview-close{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;width:38px;height:38px;font-size:20px;position:absolute;top:16px;right:16px}.ic-video-node,.ic-music-node{min-width:280px;max-width:380px}.ic-media-header{color:var(--text);border-bottom:1px solid #ffffff14;align-items:center;gap:.45rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;display:flex}.ic-media-header span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ic-media-upload-btn{color:var(--text-muted);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;padding:.22rem .6rem;font-size:.72rem}.ic-media-upload-btn:hover{color:var(--text);background:#ffffff14;border-color:#fff3}.ic-media-body{justify-content:center;align-items:center;min-height:150px;padding:.6rem;display:flex;position:relative}.ic-media-body.selected:after{content:"";pointer-events:none;border:1px solid #85bcffe6;border-radius:10px;animation:2.1s ease-in-out infinite ic-node-blue-pulse;position:absolute;inset:.55rem;box-shadow:0 0 0 1px #85bcff66,0 0 24px #58a6ff38}.ic-video-preview{background:#05070d;border-radius:10px;width:min(100%,320px);max-height:220px;display:block}.ic-audio-body{min-height:120px}.ic-audio-preview-wrap{flex-direction:column;gap:.8rem;width:100%;display:flex}.ic-audio-wave{background:linear-gradient(90deg,#4f8ef72e 0%,#4f8ef78c 50%,#4f8ef72e 100%),repeating-linear-gradient(90deg,#ffffff24 0 4px,#0000 4px 10px);border:1px solid #ffffff14;border-radius:10px;height:54px}.ic-audio-preview{width:100%}.ic-media-placeholder{color:var(--text-muted);flex-direction:column;align-items:center;gap:.55rem;padding:1.2rem;font-size:.8125rem;display:flex}.ic-media-footer{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.75rem;padding:0 .75rem .7rem;font-size:.72rem;display:flex}.ic-media-error{color:#f59e0b;text-align:right}.ic-note-node{border-radius:10px;min-width:200px}.ic-note-header{border-bottom:1px solid #ffffff14;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;display:flex}.ic-note-body{cursor:text;min-height:60px;padding:.75rem}.ic-note-body p{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.5}.ic-note-textarea{width:100%;min-height:60px;color:var(--text);resize:vertical;background:#0003;border:1px solid #ffffff26;border-radius:6px;outline:none;padding:.5rem;font-family:inherit;font-size:.875rem}.ic-text-node{min-width:200px}.ic-text-editor-inline{resize:vertical;width:100%;min-height:44px;color:var(--text);background:0 0;border:1px dashed #ffffff1f;border-radius:8px;outline:none;padding:.45rem .55rem;font-family:inherit}.ic-text-render{white-space:pre-wrap;word-break:break-word}.ic-help-badge{color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.3rem;padding:.24rem .55rem;font-size:.74rem;display:inline-flex}.ic-spin{animation:1s linear infinite spin}.ic-image-header{color:var(--text);border-bottom:1px solid #ffffff14;align-items:center;gap:.45rem;padding:.5rem .7rem;font-size:.78rem;font-weight:600;display:flex}.ic-image-header span:first-of-type{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ic-image-ratio-tag{color:#8bb6ff;background:#4f8ef71f;border:1px solid #4f8ef738;border-radius:999px;padding:.1rem .42rem;font-size:.68rem}.ic-image-placeholder{width:100%;height:100%;color:var(--text-muted);background:#ffffff05;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.ic-node-gen-thumb-wrap-multi{flex:none}.ic-node-gen-ref-strip{flex-direction:column;gap:.4rem;display:flex}.ic-node-gen-ref-strip-label{color:var(--text-muted);align-items:center;gap:.32rem;font-size:.72rem;display:inline-flex}.ic-node-gen-ref-list{align-items:center;gap:.45rem;padding-bottom:.1rem;display:flex;overflow-x:auto}.ic-node-gen-thumb-mini{width:42px;height:42px}.ic-node-gen-thumb-mini.is-primary{border:1px solid #58a6ffb3;box-shadow:0 0 0 1px #58a6ff33}.ic-node-gen-thumb-meta{color:var(--text);flex-direction:column;gap:.15rem;margin-top:.4rem;font-size:.72rem;display:flex}.ic-node-gen-thumb-meta strong{font-size:.75rem}.ic-node-gen-thumb-meta span{color:var(--text-muted)}.ic-node-gen-replace,.ic-node-gen-upload-btn{color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;flex:none;align-items:center;gap:.28rem;padding:.35rem .55rem;font-size:.72rem;display:inline-flex}.ic-node-gen-replace:hover,.ic-node-gen-upload-btn:hover{background:#ffffff14}.image-controls-bar{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.75rem;display:grid}.image-options-row{flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0;display:flex}.image-generate-side{justify-content:flex-end;align-items:center;gap:.6rem;min-width:0;display:flex}.generate-btn{color:#0a0a0a;cursor:pointer;background:linear-gradient(135deg,#0f8 0%,#00cc6a 100%);border:none;border-radius:14px;justify-content:center;align-items:center;gap:.35rem;min-width:168px;height:48px;padding:0 1.2rem;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 8px 24px #00ff883d}.generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#3f9 0%,#0f8 100%);transform:translateY(-1px);box-shadow:0 10px 28px #00ff8852}.generate-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.image-task-card{background:#0f111af5;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:.9rem;padding:1rem 1rem 1.05rem;display:flex}.image-task-header{flex-direction:column;gap:.45rem;display:flex}.image-task-prompt{color:#eef5ff;white-space:pre-wrap;word-break:break-word;font-size:.92rem;line-height:1.65}.image-task-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.76rem;display:flex}.image-task-actions{flex-wrap:wrap;gap:.5rem;display:flex}.image-action-btn{color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;gap:.28rem;padding:.45rem .8rem;font-size:.76rem;display:inline-flex}.image-action-btn:hover{background:#ffffff14}.image-task-img-wrap{cursor:zoom-in;background:#0b0d14;border:1px solid #ffffff14;border-radius:10px;position:relative;overflow:hidden}.image-task-placeholder{color:var(--text-muted);background:#ffffff08;border:1px dashed #ffffff1f;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;font-size:.76rem;display:flex}.image-task-img-wrap:active{cursor:grabbing}.image-task-img-wrap[draggable=true]{-webkit-user-select:none;user-select:none}@media (width<=980px){.image-controls-bar{grid-template-columns:1fr}.image-generate-side{justify-content:flex-start}.generate-btn{min-width:140px}}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}@keyframes toastFadeIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeOut{0%{opacity:1}to{opacity:0}}.history-viewer-overlay{overflow:hidden!important}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
