:root{--bg:#f5f6f9;--surface:#fff;--ink:#24252b;--muted:#91919d;--line:#e6e6ed;--accent:#8961e9;--accent-dark:#7041d6;--lavender:#f0eaff;--shadow:0 4px 14px #26223b08,0 1px 3px #26223b04;color:var(--ink);font-synthesis:none;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body{margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{background:0 0;border:0}button:disabled{cursor:default;opacity:.38}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px #8961e911;border-color:#b69bf3!important}button,select{transition:background .16s,color .16s,border-color .16s,box-shadow .16s}svg{stroke-width:1.7px;flex-shrink:0}input,textarea,select{color:var(--ink)}input,textarea{border:1px solid var(--line);background:#fff;border-radius:9px}input[type=file]{display:none}select{cursor:pointer;background:0 0}textarea{resize:vertical}button:hover:not(:disabled){color:var(--accent-dark)}.app-shell{flex-direction:column;height:100dvh;min-height:460px;display:flex}.app-header{border-bottom:1px solid var(--line);z-index:30;background:#fff;align-items:center;gap:24px;height:70px;min-height:70px;padding:0 23px;display:flex}.brand{align-items:center;gap:10px;padding:0;display:flex;color:#1e1e22!important}.brand span{letter-spacing:-1px;font-size:25px;font-weight:750}.header-divider{background:#d9d9e2;width:1px;height:24px;margin-left:2px}.breadcrumb{white-space:nowrap;align-items:center;gap:15px;padding:0;font-size:13px;display:flex}.breadcrumb>span{color:#babac4}.breadcrumb b{text-overflow:ellipsis;max-width:200px;font-size:13px;font-weight:570;overflow:hidden}.breadcrumb svg{color:#a3a1ac}.view-tabs{align-items:center;gap:6px;height:70px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.view-tabs button{border-radius:11px;height:42px;padding:0 24px;font-size:14px;position:relative}.view-tabs button.active{color:var(--accent-dark);background:#f5f0ff;font-weight:600}.view-tabs button.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-14px;left:16px;right:16px}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.undo-actions{gap:1px;margin-right:4px;display:flex}.icon-button{color:#6f6f7c;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.icon-button:hover{background:#f5f2fb}.icon-button.small{width:26px;height:26px}.button{white-space:nowrap;background:#fff;border:1px solid #dedee6;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.button:hover{background:#faf8ff;border-color:#c6b4ec}.button.primary{background:var(--accent);border-color:var(--accent);box-shadow:0 3px 8px #8961e920;color:#fff!important}.button.primary:hover{background:#7950db}.button.full{width:100%}.account-control{position:relative}.account-button{align-items:center;gap:9px;display:flex}.account-button>span,.account-button>svg:first-child{color:#5d35a9;background:#eee5fd;border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;padding:8px;font-size:14px;font-weight:650;display:flex}.account-button>span{padding:0}.account-menu{border:1px solid var(--line);z-index:60;background:#fff;border-radius:12px;width:210px;padding:16px 7px 7px;position:absolute;top:48px;right:0;box-shadow:0 12px 40px #22203518}.account-menu b,.account-menu>small{margin:0 9px 7px;display:block}.account-menu>small{color:var(--muted);margin-bottom:15px;font-size:11px}.account-menu button{text-align:left;border-radius:7px;align-items:center;gap:10px;width:100%;padding:10px;font-size:12px;display:flex}.account-menu button:hover{background:var(--lavender)}.app-body{flex:1;min-height:0;display:flex}.app-rail{border-right:1px solid var(--line);z-index:25;background:#fff;flex-direction:column;justify-content:space-between;width:68px;min-width:68px;padding:20px 10px 16px;display:flex}.app-rail>div{flex-direction:column;align-items:center;gap:12px;display:flex}.app-rail button{border-radius:10px;justify-content:center;align-items:center;width:43px;height:43px;display:flex}.app-rail button svg{width:22px;height:22px}.app-rail button:hover{background:#f6f3fc}.app-rail button.active,.app-rail button.primary{background:var(--lavender);color:#7546d9}.app-rail button.primary svg{width:25px;height:25px}.rail-separator{background:var(--line);width:25px;height:1px;margin:0 0 1px}.workspace-main{flex:1;min-width:0;position:relative;overflow:hidden}.flow-canvas{background-color:var(--bg);touch-action:none;background-image:radial-gradient(#d7d5e2 .85px,#0000 .85px);background-size:21px 21px;width:100%;height:100%;position:relative;overflow:hidden}.flow-canvas.tool-hand{cursor:grab}.flow-canvas.is-connecting{cursor:crosshair}.workspace-heading{z-index:10;max-width:360px;position:absolute;top:30px;left:34px}.workspace-heading>input{letter-spacing:-.7px;background:0 0;border:0;border-radius:0;width:300px;max-width:100%;padding:0;font-size:25px;font-weight:650;line-height:36px}.workspace-heading>input:focus{box-shadow:none;border-bottom:1px solid #c4b1ed!important}.save-caption{color:#8d8b9a;align-items:center;gap:5px;margin-top:5px;font-size:11px;display:flex}.save-caption>svg{color:#4c9d74}.save-caption button{color:#916cd2;padding:0 0 0 7px;font-size:10px}.canvas-floating{z-index:15;position:absolute}.canvas-toolbar{box-shadow:var(--shadow);background:#fff;border:1px solid #ebebf1;border-radius:13px;align-items:center;gap:3px;padding:6px;display:flex;top:27px;left:50%;transform:translate(-50%)}.canvas-toolbar>button{border-radius:8px;justify-content:center;align-items:center;width:39px;height:37px;display:flex}.canvas-toolbar>button>svg{width:20px;height:20px}.canvas-toolbar>span{background:var(--line);width:1px;height:21px;margin:0 3px}.canvas-toolbar>button.active{background:var(--lavender);color:#7746db}.graph-world{transform-origin:0 0;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.connection-layer{pointer-events:none;z-index:1;position:absolute;overflow:visible}.connection{pointer-events:stroke;cursor:pointer}.edge-hit{fill:none;stroke:#0000;stroke-width:16px}.edge-line{fill:none;stroke:#b18bef;stroke-width:1.7px;pointer-events:none}.connection.selected .edge-line{stroke:#7144db;stroke-width:2.8px}.edge-line.pending{stroke-dasharray:6 5}.delete-edge{color:#9764e3;pointer-events:auto;background:#fff;border:1px solid #e4d6f7;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;display:flex;box-shadow:0 1px 6px #33265422}.flow-node{background:#fffffff5;border:1px solid #dcdbe6;border-radius:19px;transition:box-shadow .18s,border-color .18s;position:absolute;box-shadow:0 3px 5px #28233706}.flow-node.selected{border-color:#ae8af9;box-shadow:0 0 0 1px #ba9af750,0 6px 15px #44316b0b}.flow-node.generating{box-shadow:0 0 0 2px #a780ec2c,0 6px 25px #6342a81a}.node-header{cursor:grab;justify-content:space-between;align-items:center;height:43px;padding:5px 12px 2px 15px;display:flex;position:relative}.node-header>span{align-items:center;gap:8px;display:flex}.node-header>span>b{font-size:13px;font-weight:600}.node-header>span>svg{color:#777281}.node-header>button{color:#aaa5b4}.generate-node>.node-header{height:35px;padding-bottom:0}.generate-node>.node-header>span{font-size:11px}.generate-node>.node-header>span>b{color:#a39aaa;font-size:11px;font-weight:500}.generate-node>.node-header>span>svg{color:#b7a5cc;width:13px;height:13px}.reference-picture{cursor:grab;background:#f3f1f1;border-radius:11px;height:225px;margin:4px 12px 0;position:relative;overflow:hidden}.reference-picture>img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%}.reference-caption{color:#a49ba7;justify-content:space-between;align-items:center;padding:10px 15px 12px;font-size:10px;display:flex}.reference-caption svg{color:#c8c1ca}.replace-image{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;cursor:pointer;color:#544b5d;background:#ffffffdb;border:1px solid #fff9;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;bottom:8px;right:8px}.reference-picture:hover .replace-image{opacity:1}.upload-empty{cursor:pointer;color:#a28dbb;background:#faf8fd;border:1px dashed #d2c2e9;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:11px;width:100%;height:100%;display:flex}.upload-empty span{color:#7f718e;font-size:12px}.upload-empty small{color:#b3a9be;font-size:10px}.port{z-index:12;background:#a478ef;border:2px solid #fff;border-radius:50%;width:13px;height:13px;position:absolute;transform:translateY(-50%);box-shadow:0 0 0 1px #b99be425}.port.output{right:-7px}.port.input{left:-7px}.port:hover,.port.connecting{background:#6c37cf;box-shadow:0 0 0 5px #b293ea2d}.port.can-connect{animation:1.3s infinite portPulse}@keyframes portPulse{50%{box-shadow:0 0 0 6px #b293ea33}}.result-picture{aspect-ratio:1.27;cursor:grab;isolation:isolate;background:#f6f3fa;border-radius:12px;margin:6px 13px 0;position:relative;overflow:hidden}.result-picture.has-image{aspect-ratio:1}.result-picture>img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.result-picture.annotating{cursor:crosshair}.result-picture.annotating:after{content:"";pointer-events:none;border-radius:12px;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #a477eb}.result-caption{color:#fff;pointer-events:none;background:linear-gradient(#0000,#211b184e);justify-content:space-between;align-items:center;padding:21px 12px 11px;font-size:11px;display:flex;position:absolute;bottom:0;left:0;right:0}.result-caption>span{text-shadow:0 1px 3px #0003;font-weight:500}.result-caption>div{pointer-events:auto;gap:5px;display:flex}.result-caption button{border-radius:5px;width:27px;height:27px;padding:2px;color:#fff!important}.result-caption button:hover{background:#ffffff28}.result-empty{background:radial-gradient(at 50% 40%,#f0e8fc,#faf8fd 70%);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.empty-orbit{color:#ae89dd;background:#eee5fa;border:1px solid #e5d8f6;border-radius:23px;place-items:center;width:76px;height:76px;margin-bottom:21px;display:grid;transform:rotate(-9deg);box-shadow:0 8px 20px #a685d311}.empty-orbit svg{transform:rotate(9deg)}.result-empty h3{letter-spacing:.5px;color:#7b668d;margin:0 0 9px;font-size:18px;font-weight:500}.result-empty p{color:#ac9eb9;margin:0;font-size:11px}.context-actions{height:40px;box-shadow:var(--shadow);white-space:nowrap;background:#fff;border:1px solid #e7e1ed;border-radius:12px;align-items:center;display:flex;position:absolute;top:-57px;left:50%;transform:translate(-50%)}.context-actions:after{content:"";background:#fff;border-bottom:1px solid #e7e1ed;border-right:1px solid #e7e1ed;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:rotate(45deg)}.context-actions>button{z-index:1;align-items:center;gap:7px;padding:10px 17px;font-size:12px;display:flex}.context-actions>button:last-child svg{color:#9662e7}.context-actions>span{background:var(--line);width:1px;height:17px}.composer{padding:13px 15px 12px;position:relative}.reference-strip{flex-wrap:wrap;align-items:center;gap:7px;min-height:37px;margin-bottom:9px;display:flex}.reference-chip{background:#f2ecff;border-radius:8px;align-items:center;gap:7px;height:37px;padding:3px 6px 3px 3px;font-size:11px;display:flex}.reference-chip>img{object-fit:cover;border-radius:6px;width:31px;height:31px}.reference-chip>button{color:#9d85b4;place-items:center;width:17px;height:25px;padding:0;display:grid}.reference-chip>span{white-space:nowrap}.add-reference{color:#ad9bbc;border:1px dashed #e4d9f0;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-width:29px;height:29px;padding:5px;font-size:11px;display:flex}.composer>textarea{background:#fff;border:1px solid #e0dbe8;border-radius:9px;width:100%;min-height:77px;max-height:200px;padding:10px 12px;font-size:12px;line-height:1.7;display:block}.composer>textarea::placeholder{color:#b5aabd}.composer-controls{align-items:center;gap:7px;margin-top:12px;display:flex}.model-control{min-width:0;height:34px;color:var(--accent);border:1px solid #e6e0ed;border-radius:8px;flex:1;align-items:center;gap:5px;padding-left:9px;display:flex}.model-control>select{color:#6d607b;border:0;outline:none;width:100%;min-width:0;height:32px;padding:0 2px;font-size:10px}.ratio-control,.resolution-control{color:#7b6a8c;border:1px solid #e6e0ed;border-radius:8px;max-width:63px;height:34px;padding:0 3px 0 7px;font-size:11px}.resolution-control{max-width:52px;padding-left:5px}.send-button{background:#9871ed;border-radius:50%;place-items:center;width:36px;min-width:36px;height:36px;display:grid;box-shadow:0 3px 7px #9770e721;color:#fff!important}.send-button:hover{background:#8657e4}.composer-foot{color:#b9afc0;justify-content:space-between;align-items:center;margin-top:9px;font-size:9px;display:flex}.composer-foot>button{color:#b0a4bb;align-items:center;gap:4px;padding:0;font-size:9px;display:flex}.advanced-settings{border-top:1px solid #eee8f3;gap:12px;margin-top:10px;padding:12px 0 0;display:flex}.advanced-settings>label{color:#a596b4;flex-direction:column;flex:1;gap:7px;font-size:10px;display:flex}.advanced-settings select{border:1px solid #e7e0ef;border-radius:6px;padding:5px;font-size:10px}.node-popover{z-index:40;background:#fff;border:1px solid #e7deef;border-radius:10px;padding:7px;position:absolute;box-shadow:0 8px 30px #3e2c561c}.node-menu{min-width:195px;top:34px;right:10px}.node-menu>button{text-align:left;white-space:nowrap;border-radius:6px;align-items:center;gap:9px;width:100%;padding:10px 8px;font-size:11px;display:flex}.node-menu>button:hover{background:#f6f1ff}.reference-picker{max-height:270px;top:55px;left:10px;right:10px;overflow:auto}.reference-picker>b{color:#9986aa;padding:8px;font-size:10px;font-weight:500;display:block}.reference-picker>button{border-radius:6px;align-items:center;gap:9px;width:100%;padding:6px;font-size:11px;display:flex}.reference-picker>button:hover{background:#f5effd}.reference-picker>button>img{object-fit:cover;border-radius:5px;width:30px;height:30px}.reference-picker>button>svg{margin-left:auto}.reference-picker>label{color:#8e66c1;cursor:pointer;border-top:1px solid #eee6f4;justify-content:center;align-items:center;gap:7px;margin-top:5px;padding:13px;font-size:11px;display:flex}.note-node{background:#fffbe9;border-color:#eee6bf}.note-node .node-header{color:#a99a5c}.note-text{color:#8d8149;resize:vertical;width:100%;min-height:110px;padding:10px 15px;font-size:12px;line-height:1.7;box-shadow:none!important;background:0 0!important;border:0!important}.canvas-minimap{width:177px;height:83px;box-shadow:var(--shadow);cursor:pointer;background:#ffffffed;border:1px solid #e9e6ed;border-radius:13px;padding:8px;bottom:24px;left:24px}.canvas-minimap>svg{width:100%;height:100%;overflow:visible}.canvas-hint{white-space:nowrap;color:#8b7a9c;pointer-events:none;background:#fffc;border:1px solid #ebe7f1;border-radius:10px;align-items:center;gap:8px;padding:10px 15px;font-size:11px;display:flex;bottom:31px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #24203204}.canvas-hint svg{color:#a17cd8}.zoom-tools{box-shadow:var(--shadow);background:#fff;border:1px solid #e9e6ed;border-radius:11px;align-items:center;padding:4px;display:flex;bottom:27px;right:25px}.zoom-tools>button{border-radius:7px;place-items:center;width:31px;height:31px;display:grid}.zoom-tools>button:hover{background:#f6f1fd}.zoom-tools>.zoom-value{width:48px;font-size:11px}.zoom-tools>span{background:var(--line);width:1px;height:17px;margin:0 4px}.image-mark{pointer-events:none;border:2px solid #a77be8;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #fff5}.image-mark>span{color:#fff;background:#8b60da;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;display:grid;position:absolute;top:0;left:0;transform:translate(-15%,-15%)}.generation-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;z-index:20;background:#1f162963;flex-direction:column;justify-content:center;align-items:center;gap:13px;display:flex;position:absolute;inset:0}.generation-overlay>strong{letter-spacing:1px;font-size:14px;font-weight:500}.generation-overlay>span{opacity:.7;font-size:10px}.generation-spinner{border:2px solid #ffffff35;border-top-color:#fff;border-radius:50%;width:36px;height:36px;margin-bottom:5px;animation:1s linear infinite spin}.tiny-spinner{border:2px solid #fff5;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.side-drawer{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;border-right:1px solid var(--line);background:#fffffff5;flex-direction:column;width:302px;animation:.2s drawerIn;display:flex;position:absolute;top:0;bottom:0;left:0;box-shadow:8px 0 24px #29223307}.side-drawer>header,.annotation-panel>header{justify-content:space-between;align-items:center;padding:20px 19px 13px;display:flex}.side-drawer h2,.annotation-panel h2{margin:0;font-size:16px;font-weight:600}.drawer-content{flex:1;padding:0 18px 20px;overflow:auto}.drawer-content>p{color:#a49aa9;margin:0 0 25px;font-size:12px}.add-node-item{text-align:left;border-bottom:1px solid #f0ecf3;align-items:center;gap:12px;width:100%;padding:14px 4px;display:flex}.add-node-item>span{color:#9a71ce;background:#f1eafa;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.add-node-item>span>svg{width:19px}.add-node-item>div{flex:1}.add-node-item b{font-size:12px;font-weight:550;display:block}.add-node-item small{color:#aaa0b1;margin-top:6px;font-size:10px;display:block}.add-node-item>svg{color:#b6a8c1}.drawer-tip{color:#ad9fba;background:#f9f6fc;border-radius:9px;margin-top:28px;padding:14px;font-size:10px;line-height:1.9}.layer-item{text-align:left;border-radius:9px;align-items:center;gap:12px;width:100%;margin:5px 0;padding:10px;display:flex}.layer-item:hover,.layer-item.active{background:#f4eefd}.layer-item>img{object-fit:cover;border-radius:7px;width:35px;height:35px}.layer-item>span{flex:1;font-size:12px}.layer-item small{color:#aa9bb9;margin-top:4px;font-size:9px;display:block}.layer-item>svg{color:#b1a2bf}.drawer-empty{text-align:center;color:#b9a8c9;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.drawer-empty>svg{width:33px;height:33px;margin-bottom:10px}.drawer-empty>h3{color:#877293;font-size:15px;font-weight:500}.drawer-empty>p{color:#b3a6bf;margin:0 0 20px;font-size:11px;line-height:1.8}.project-item{text-align:left;border:1px solid #eee7f3;border-radius:10px;align-items:center;gap:12px;width:100%;margin-top:13px;padding:14px 12px;display:flex}.project-item.active{background:#f6f0fd;border-color:#d7c6ee}.project-item>svg{color:#ae8ed2}.project-item>span{flex:1;overflow:hidden}.project-item b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;display:block;overflow:hidden}.project-item small{color:#b7a8c4;margin-top:6px;font-size:9px;display:block}.history-item{border-bottom:1px solid #eee7f3;gap:12px;margin-bottom:8px;padding:12px 0 18px;display:flex}.history-item>img{object-fit:cover;cursor:zoom-in;border-radius:9px;width:75px;height:75px}.history-item>div{flex:1;min-width:0}.history-item time{color:#b8a9c6;font-size:9px}.history-item p{color:#95839f;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:7px 0;font-size:10px;line-height:1.6;display:-webkit-box;overflow:hidden}.history-item button{color:#9b74c7;align-items:center;gap:5px;padding:0;font-size:10px;display:flex}.annotation-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid var(--line);z-index:23;background:#fffffff7;flex-direction:column;width:310px;animation:.2s drawerIn;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #2b1f3d08}.annotation-panel>header>div{align-items:center;gap:9px;display:flex}.annotation-panel>header>div>svg{color:#a179d3}.annotation-panel>p{color:#ab9cb8;border-bottom:1px solid #f0eaf6;margin:0;padding:0 20px 20px;font-size:11px;line-height:1.7}.annotation-content{flex:1;padding:10px 20px;overflow:auto}.annotation-empty{text-align:center;color:#c5b4d8;flex-direction:column;align-items:center;gap:12px;padding-top:100px;display:flex}.annotation-empty h3{color:#a28bb3;margin:6px 0 0;font-size:14px;font-weight:500}.annotation-empty span{font-size:10px}.mark-editor{border-bottom:1px solid #f0eaf6;padding:16px 0 20px}.mark-editor>div{align-items:center;gap:8px;margin-bottom:11px;display:flex}.number-mark{background:var(--lavender);color:#8d62cf;border-radius:50%;place-items:center;width:25px;height:25px;font-size:12px;display:grid}.mark-editor b{flex:1;font-size:12px;font-weight:500}.mark-editor textarea{resize:vertical;border-color:#e5dced;width:100%;min-height:80px;padding:10px;font-size:11px;line-height:1.7}.mark-editor>label{color:#ae9bbc;align-items:center;gap:12px;margin-top:13px;font-size:10px;display:flex}.mark-editor input[type=range]{accent-color:#9f77d6;flex:1;min-width:0;height:4px}.annotation-panel>footer{border-top:1px solid #eee6f3;padding:18px 20px 23px}.annotation-panel>footer>p{text-align:center;color:#b9a6c6;margin:0 0 13px;font-size:9px}.annotation-panel>footer>button{height:41px;font-size:12px}.toast{color:#fff;z-index:100;background:#2e2938f2;border:1px solid #ffffff17;border-radius:11px;align-items:center;gap:9px;max-width:90vw;padding:13px 20px;font-size:12px;line-height:1.6;animation:.2s toastIn;display:flex;position:fixed;bottom:27px;left:50%;transform:translate(-50%);box-shadow:0 7px 25px #221a3a25}.toast>svg{color:#cbb5fb}.error-banner{max-width:410px;box-shadow:var(--shadow);background:#fff;border:1px solid #efd8df;border-radius:12px;align-items:flex-start;gap:20px;padding:15px;display:flex;bottom:92px;right:25px}.error-banner>span{color:#b9778e;overflow-wrap:anywhere;font-size:11px;line-height:1.7}.error-banner b{color:#a45773;margin-bottom:5px;font-size:12px;font-weight:500;display:block}.error-banner>button{color:#bf8fa0;padding:0}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:70;background:#26203040;justify-content:center;align-items:center;padding:24px;animation:.16s fadeIn;display:flex;position:fixed;inset:0}.modal{background:#fff;border:1px solid #fff9;border-radius:20px;width:465px;max-height:90dvh;padding:24px 28px;overflow:auto;box-shadow:0 20px 90px #261a3a26}.modal>header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.modal h2{letter-spacing:-.4px;margin:0;font-size:21px;font-weight:600}.modal-intro{color:#a296ad;margin:10px 0 24px;font-size:12px;line-height:1.9}.modal label{color:#6f5e80;margin-bottom:18px;font-size:12px;font-weight:500;display:block}.modal label small{float:right;color:#b8a7c7;font-size:10px;font-weight:400}.modal label>input{color:#786585;border-color:#e3dbea;width:100%;height:43px;margin-top:9px;padding:0 13px;font-size:12px;display:block}.modal label>input::placeholder{color:#c0b2cb}.modal footer{border-top:1px solid #efe9f5;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:20px;display:flex}.modal footer small{color:#b9a9c6;font-size:9px;line-height:1.6}.provider-card{color:#9f8aac;background:#fcfafd;border:1px solid #e9e0f0;border-radius:9px;align-items:center;gap:8px;margin-bottom:22px;padding:13px 11px;font-size:10px;display:flex}.provider-card small{color:#b9a8c7;margin-left:auto;font-size:8px}.connection-dot{background:#d4c6e0;border-radius:50%;width:6px;height:6px}.connection-dot.on{background:#73ad88;box-shadow:0 0 0 3px #75ad8813}.field-help{color:#b4a4bf;margin:-6px 0 22px;font-size:10px;line-height:1.7}.model-list{border-top:1px solid #f0eaf4;padding-top:17px}.model-list>b{color:#aa98b6;margin-bottom:10px;font-size:11px;font-weight:500;display:block}.model-list>div{color:#8f7c9f;align-items:center;gap:7px;padding:7px 0;font-size:11px;display:flex}.model-list svg{color:#b79bcf}.auth-modal{width:430px}.auth-modal>header h2{font-size:20px}.auth-brand{text-align:center;color:#9672c8;margin:27px 0 10px}.auth-modal .modal-intro{text-align:center;margin-bottom:25px;font-size:11px}.auth-modal .button.full{height:44px;margin-top:8px}.auth-switch{text-align:center;color:#ac99ba;margin:23px 0 3px;font-size:11px}.auth-switch button{color:#9671bd;padding:0 0 0 7px;font-size:11px}.form-error{color:#bc6f8a;margin:10px 0;font-size:11px;line-height:1.7}.help-list{margin-top:25px}.help-list section{gap:16px;margin-bottom:22px;display:flex}.help-list section>span{color:#a581d1;font-variant-numeric:tabular-nums;padding-top:3px;font-size:11px}.help-list h3{color:#8f72a2;margin:0 0 6px;font-size:13px;font-weight:500}.help-list p{color:#b09abd;margin:0;font-size:11px;line-height:1.8}.lightbox{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:80;background:#1c1820eb;justify-content:center;align-items:center;padding:55px 35px;display:flex;position:fixed;inset:0}.lightbox>img{object-fit:contain;border-radius:5px;max-width:100%;max-height:100%;box-shadow:0 10px 70px #0004}.lightbox>div{gap:10px;display:flex;position:absolute;top:15px;right:20px}.lightbox button{color:#d7ccdf}.gallery{background:#faf9fc;height:100%;padding:40px 45px;overflow:auto}.gallery>header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.gallery h1{letter-spacing:-.6px;margin:0 0 8px;font-size:26px;font-weight:600}.gallery>header p{color:#a89bb0;margin:0;font-size:12px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:26px;display:grid}.gallery-grid article{min-width:0}.gallery-grid article>div{position:relative}.gallery-grid article img{aspect-ratio:1;object-fit:cover;cursor:zoom-in;border-radius:13px;width:100%}.gallery-download{color:#6e5c7d;background:#ffffffd9;border-radius:8px;place-items:center;width:33px;height:33px;display:grid;position:absolute;bottom:12px;right:12px}.gallery-grid article>p{color:#9c88ac;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:11px 0 9px;font-size:11px;line-height:1.6;display:-webkit-box;overflow:hidden}.gallery-grid article>footer{justify-content:space-between;align-items:center;display:flex}.gallery-grid small{color:#b7a7c3;font-size:9px}.gallery-grid footer button{color:#a084b5;align-items:center;gap:4px;font-size:10px;display:flex}.gallery-empty{flex-direction:column;justify-content:center;align-items:center;height:70%;display:flex}.gallery-empty>div{color:#bba0d1;background:#f2ebfa;border-radius:30px;place-items:center;width:110px;height:110px;display:grid}.gallery-empty h2{color:#967da7;margin:25px 0 9px;font-size:20px;font-weight:500}.gallery-empty p{color:#b8a5c7;margin:0 0 25px;font-size:12px}@keyframes drawerIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes toastIn{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@media (min-width:1650px){.app-header{padding:0 28px}.workspace-heading{top:34px;left:40px}.canvas-toolbar{top:32px}}@media (max-width:1250px){.breadcrumb b{max-width:130px}.app-header{gap:15px;padding:0 18px}.undo-actions{display:none}.view-tabs{margin-left:auto;position:static;transform:none}.header-actions{margin-left:20px}.workspace-heading>input{width:250px;font-size:22px}.canvas-hint{font-size:10px}.canvas-minimap{width:145px;height:74px}.canvas-toolbar{left:60%}}@media (max-width:950px){.breadcrumb,.header-divider{display:none}.view-tabs{margin-left:30px}.header-actions{margin-left:auto}.canvas-hint{display:none}.workspace-heading>input{width:220px;font-size:21px}.side-drawer{width:280px}.annotation-panel{width:285px}.canvas-toolbar{left:auto;right:24px;transform:none}}@media (max-width:700px){html,body{overflow:hidden}.app-header{gap:10px;height:61px;min-height:61px;padding:0 14px}.brand svg{width:30px}.brand span{font-size:21px}.view-tabs{gap:0;height:61px;margin-left:5px}.view-tabs button{height:35px;padding:0 13px;font-size:12px}.view-tabs button.active:after{bottom:-13px}.header-actions{gap:6px}.header-actions .button{border:0;min-height:32px;padding:7px}.header-actions .button svg{width:19px}.header-actions .button span{display:none}.account-button{gap:0;padding:0}.account-button>svg:last-child{display:none}.account-button>svg:first-child,.account-button>span{width:30px;height:30px;padding:7px}.app-rail{width:47px;min-width:47px;padding:17px 5px 12px}.app-rail button{border-radius:9px;width:35px;height:35px}.app-rail button svg{width:19px;height:19px}.app-rail>div{gap:11px}.app-rail>div:last-child{gap:8px}.flow-canvas{touch-action:pan-y;overflow:auto}.workspace-heading{max-width:calc(100% - 35px);top:19px;left:20px}.workspace-heading>input{width:230px;max-width:100%;font-size:20px;line-height:29px}.save-caption{margin-top:2px;font-size:9px}.canvas-toolbar{border-radius:10px;gap:2px;padding:4px;top:92px;left:20px;right:auto}.canvas-toolbar>button{width:31px;height:29px}.canvas-toolbar>button svg{width:17px;height:17px}.canvas-toolbar>button:nth-child(2),.canvas-toolbar>span{display:none}.graph-world{flex-wrap:wrap;align-items:flex-start;gap:14px 10px;width:100%;height:auto;padding:156px 15px 110px;display:flex;position:relative;top:0;left:0;transform:none!important}.flow-node{border-radius:14px;width:100%!important;position:relative!important;top:auto!important;left:auto!important}.reference-node{width:calc(50% - 5px)!important}.node-header{height:36px;padding:5px 7px 0 10px}.node-header>span{gap:5px}.node-header>span>b{font-size:11px}.node-header>span>svg{width:14px}.reference-picture{aspect-ratio:1;border-radius:8px;height:auto;margin:3px 8px 0}.reference-caption{padding:8px 10px;font-size:8px}.reference-caption svg{display:none}.replace-image{opacity:1;width:23px;height:23px;bottom:5px;right:5px}.connection-layer,.port{display:none}.context-actions{height:34px;box-shadow:none;border:0;border-bottom:1px solid #eee6f7;border-radius:13px 13px 0 0;justify-content:center;position:static;transform:none}.context-actions:after{display:none}.context-actions>button{padding:7px 13px;font-size:10px}.context-actions>button svg{width:14px}.generate-node>.node-header{height:30px}.result-picture{border-radius:9px;margin:3px 9px 0}.composer{padding:10px 11px}.composer-controls{gap:5px}.model-control{gap:2px;padding-left:6px}.model-control>select{padding:0;font-size:9px}.model-control>svg{width:12px}.ratio-control,.resolution-control{max-width:51px;padding-left:3px;font-size:10px}.resolution-control{max-width:44px}.send-button{width:31px;min-width:31px;height:31px}.composer-foot{font-size:8px}.composer>textarea{min-height:76px;padding:9px;font-size:11px}.result-empty h3{font-size:16px}.result-empty p{font-size:9px}.canvas-minimap,.zoom-tools,.canvas-hint{display:none}.side-drawer,.annotation-panel{width:min(285px,100%)}.modal-backdrop{padding:14px}.modal{border-radius:15px;width:100%;max-height:92dvh;padding:20px}.modal h2{font-size:18px}.provider-card{gap:5px;padding:10px 8px;font-size:9px}.provider-card small{font-size:7px}.gallery{padding:24px 18px}.gallery h1{font-size:22px}.gallery>header>.button{padding:8px;font-size:10px}.gallery>header p{font-size:10px}.gallery-grid{grid-template-columns:1fr;gap:25px}.gallery-empty h2{text-align:center;font-size:17px}.gallery-empty p{text-align:center;font-size:10px;line-height:1.8}.gallery-empty>div{border-radius:24px;width:85px;height:85px}.error-banner{max-width:none;position:fixed;bottom:30px;left:60px;right:16px}.toast{white-space:normal;max-width:calc(100% - 35px);padding:11px 15px;font-size:10px;bottom:20px}.account-menu{right:0}.upload-empty>span{font-size:9px}.upload-empty>small{font-size:8px}.upload-empty>svg{width:23px}.node-popover{z-index:50}.result-caption{padding:20px 9px 9px;font-size:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (min-width:701px){.workspace-main,.flow-canvas{overflow:clip}}.flow-canvas{-webkit-user-select:none;user-select:none}.flow-canvas input,.flow-canvas textarea{-webkit-user-select:text;user-select:text}@media (max-width:700px){.annotation-panel{border-top:1px solid #e4d7ef;border-left:0;width:100%;height:44%;max-height:430px;top:auto}.annotation-panel>header{padding:12px 17px 5px}.annotation-panel>p{padding:0 18px 10px;font-size:10px}.annotation-panel>footer{padding:10px 17px 14px}.annotation-panel>footer>p{display:none}.annotation-empty{gap:7px;padding-top:15px}.annotation-empty>svg{width:24px}.annotation-empty h3{font-size:12px}.annotation-content{padding:0 17px}.mark-editor{padding:9px 0 12px}.mark-editor textarea{min-height:55px}.mark-editor>div{margin-bottom:7px}.annotation-panel>footer>button{height:35px}.result-picture.annotating{scroll-margin-top:15px}}.admin-screen{z-index:50;background:#f7f7fa;position:fixed;inset:0;overflow:auto}.admin-screen>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:72px;padding:0 38px;display:flex}.admin-screen>header>div{align-items:center;gap:13px;display:flex}.admin-screen>header>div>svg{color:var(--accent)}.admin-screen h1{margin:0;font-size:19px;font-weight:600}.admin-screen>header span{color:#b19ac6;border-left:1px solid #e5dfee;margin-left:5px;padding-left:14px;font-size:12px}.admin-summary{grid-template-columns:repeat(4,1fr);gap:20px;max-width:1180px;margin:27px auto;display:grid}.admin-summary>div{background:#fff;border:1px solid #e9e4f0;border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex}.admin-summary svg{color:#b39acb;width:24px}.admin-summary span{color:#a594b3;font-size:11px}.admin-summary strong{color:#6f557f;letter-spacing:-.8px;margin-top:10px;font-size:24px;font-weight:550;display:block}.admin-tabs{border-bottom:1px solid #e6dfed;gap:22px;max-width:1180px;margin:0 auto;display:flex}.admin-tabs>button{color:#a08caf;border-bottom:2px solid #0000;padding:11px 5px 15px;font-size:13px}.admin-tabs>button.active{color:#8955bf;border-color:#9972cf;font-weight:600}.admin-content{max-width:1180px;margin:25px auto 45px}.admin-form-grid{grid-template-columns:1.15fr 1fr;gap:25px;display:grid}.admin-section{background:#fff;border:1px solid #e6dfee;border-radius:13px;margin-bottom:22px;padding:25px}.admin-section h2{color:#8d6aa3;align-items:center;gap:9px;margin:0 0 24px;font-size:14px;font-weight:550;display:flex}.admin-section>label{color:#9d83af;margin:17px 0;font-size:11px;display:block}.admin-section input{color:#80628e;border-color:#e5d9ee;width:100%;height:39px;margin-top:9px;padding:0 12px;font-size:12px;display:block}.admin-section>label small{float:right;color:#bdabcc;font-size:9px}.admin-section p{color:#af9bbd;font-size:11px;line-height:1.9}.admin-section .field-help{margin:8px 0 22px}.admin-section b{color:#9471a9;font-weight:550}.admin-notice{border-radius:8px;align-items:center;gap:8px;max-width:1180px;margin:18px auto -5px;padding:12px 16px;font-size:12px;display:flex}.admin-notice.error{color:#b66b84;background:#fff1f3;border:1px solid #f0d6dd}.admin-notice.success{color:#75a37c;background:#f0f7f0;border:1px solid #dfecdf}.admin-loading{color:#af97bf;justify-content:center;align-items:center;gap:12px;height:300px;font-size:13px;display:flex}.admin-loading svg{animation:1s linear infinite spin}.admin-table-wrap{background:#fff;border:1px solid #e9e1f0;border-radius:12px;overflow:auto}.admin-table-wrap table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}.admin-table-wrap th{color:#b19ac1;background:#fbf9fd;border-bottom:1px solid #ece5f2;padding:16px;font-size:10px;font-weight:500}.admin-table-wrap td{color:#9d85ad;border-bottom:1px solid #f1ebf5;padding:16px;font-size:10px;line-height:1.6}.admin-table-wrap td:last-child{white-space:normal;min-width:120px}.admin-table-wrap td>b{color:#8a6f9e;font-size:12px;font-weight:500;display:block}.admin-table-wrap td>small{color:#baa7c7;margin-top:4px;font-size:9px;display:block}.admin-table-wrap code{font-family:ui-monospace,monospace;font-size:10px}.admin-images-caption{color:#b49fc4;margin-bottom:18px;font-size:11px}.admin-images{grid-template-columns:repeat(5,1fr);gap:22px;display:grid}.admin-images article{min-width:0}.admin-images img{aspect-ratio:1;object-fit:cover;background:#eee8f4;border-radius:11px;width:100%}.admin-images b{color:#9b7bac;margin-top:9px;font-size:11px;font-weight:500;display:block}.admin-images small,.admin-images time{color:#b39ac3;margin-top:5px;font-size:9px;display:block}.admin-empty{text-align:center;color:#b5a1c3;padding:60px 15px;font-size:12px}@media (max-width:1250px){.admin-summary,.admin-tabs,.admin-content,.admin-notice{margin-left:30px;margin-right:30px}}@media (max-width:700px){.admin-screen>header{height:61px;padding:0 15px}.admin-screen h1{font-size:17px}.admin-screen>header>div{gap:7px}.admin-screen>header span{display:none}.admin-summary{grid-template-columns:1fr 1fr;gap:12px;margin:20px 15px}.admin-summary>div{gap:10px;padding:16px 12px}.admin-summary strong{font-size:22px}.admin-summary svg{width:18px}.admin-summary span{font-size:9px}.admin-tabs{justify-content:space-between;gap:16px;margin:0 15px}.admin-tabs>button{padding:10px 0 13px;font-size:11px}.admin-content{margin:20px 15px}.admin-form-grid{grid-template-columns:1fr;gap:0}.admin-section{padding:20px}.admin-images{grid-template-columns:1fr 1fr;gap:17px}.admin-notice{margin-left:15px;margin-right:15px}.admin-table-wrap th,.admin-table-wrap td{padding:12px;font-size:9px}}
