@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{--bg:#070b0f;--surface:#0c1217;--surface-2:#11191f;--surface-3:#162128;--text:#f4f7f8;--muted:#8a969f;--muted-2:#5e6a73;--border:#aac8d624;--border-strong:#aadce43d;--cyan:#48e3ed;--green:#78f59a;--coral:#ff7168;--danger:#ff6e69;--sidebar:212px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{background:var(--bg);min-height:100vh;overflow-x:hidden}button,input,textarea,select{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}::selection{color:#061014;background:var(--cyan)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#28343b;border-radius:8px}.app-shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns .25s;display:grid}.app-shell.is-collapsed{--sidebar:72px}.sidebar{z-index:20;border-right:1px solid var(--border);background:#080d11;flex-direction:column;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.sidebar-head{justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:0 3px 0 6px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:inline-flex}.brand-mark{color:#061014;background:var(--cyan);clip-path:polygon(50% 0,63% 34%,100% 50%,63% 66%,50% 100%,37% 66%,0 50%,37% 34%);flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.brand-copy{white-space:nowrap;flex-direction:column;min-width:0;line-height:1.15;display:flex}.brand-copy strong{font-size:17px;font-weight:700}.brand-copy small{color:var(--muted);margin-top:4px;font-size:10px}.icon-button{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:5px;flex:none;place-items:center;padding:0;display:inline-grid}.icon-button:hover{color:var(--text);background:#ffffff0f}.icon-button.small{width:28px;height:28px}.icon-button.bordered{border:1px solid var(--border)}.sidebar-toggle{width:30px;height:30px}.sidebar-nav{gap:5px;margin-top:28px;display:grid}.nav-item{color:#97a3ac;white-space:nowrap;border-radius:6px;align-items:center;gap:13px;height:44px;padding:0 13px;transition:color .18s,background .18s;display:flex;position:relative;overflow:hidden}.nav-item:hover{color:var(--text);background:#ffffff09}.nav-item.active{color:var(--cyan);background:#48e3ed1a}.nav-item.active:before{background:var(--cyan);content:"";border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;left:0}.nav-item span{font-size:13px}.sidebar-foot{gap:18px;margin-top:auto;display:grid}.motto{color:var(--muted-2);flex-direction:column;gap:4px;padding:0 10px;font-size:8px;line-height:1.2;display:flex}.profile-button{text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.profile-button:hover{background:#ffffff0d}.avatar{color:#071012;background:var(--cyan);border:1px solid #48e3ed59;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.avatar-small{flex-basis:32px;width:32px;height:32px}.profile-copy{flex-direction:column;min-width:0;display:flex}.profile-copy strong{white-space:nowrap;font-size:12px}.profile-copy small{color:var(--green);margin-top:3px;font-size:9px}.is-collapsed .sidebar-head{justify-content:center;padding:0}.is-collapsed .sidebar-toggle{position:absolute;top:66px}.is-collapsed .sidebar-nav{margin-top:58px}.is-collapsed .nav-item{justify-content:center;padding:0}.is-collapsed .nav-item span,.is-collapsed .motto,.is-collapsed .profile-copy{display:none}.is-collapsed .profile-button{justify-content:center;padding:6px 0}.app-column{min-width:0}.topbar{z-index:15;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070b0fe6;justify-content:space-between;align-items:center;height:66px;padding:0 30px;display:flex;position:sticky;top:0}.global-search,.search-control{color:var(--muted);border:1px solid var(--border);background:#ffffff06;align-items:center;display:flex}.global-search{border-radius:6px;gap:10px;width:min(48vw,600px);height:38px;padding:0 12px}.global-search input,.search-control input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.global-search input::placeholder,.search-control input::placeholder{color:var(--muted-2)}kbd{color:var(--muted-2);background:0 0;border:0;font-size:11px}.topbar-actions{align-items:center;gap:13px;display:flex}.credit-button{border:1px solid var(--border);background:#ffffff06;border-radius:5px;align-items:center;gap:8px;height:34px;padding:0 11px;font-size:12px;display:flex}.credit-button svg{color:var(--green)}.credit-button span{color:var(--muted);border-left:1px solid var(--border);padding-left:8px}.notify-button{position:relative}.notify-button i{border:1px solid var(--bg);background:var(--coral);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px}.main-content{min-width:0;min-height:calc(100vh - 66px)}.no-topbar .main-content{min-height:100vh}.page-enter{animation:.35s both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.home-page{width:min(100%,1500px);margin:0 auto;padding:42px 30px 64px}.home-intro{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.home-intro h1{letter-spacing:0;font-size:clamp(30px,4vw,49px);font-weight:700;line-height:1.12}.home-intro p{color:var(--muted);margin-top:10px;font-size:14px}.accent-cyan{color:var(--cyan)}.accent-coral{color:var(--coral)}.text-button,.link-button{color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:12px;display:inline-flex}.text-button{padding-bottom:7px}.text-button:hover,.link-button:hover{color:var(--cyan)}.quick-composer{border:1px solid var(--border-strong);background:linear-gradient(135deg,#0f181ef2,#0a1015f7);border-radius:7px;overflow:hidden;box-shadow:0 24px 60px #00000047}.composer-tabs{border-bottom:1px solid var(--border);gap:7px;height:48px;padding:0 16px;display:flex}.composer-tabs button{color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;padding:0 16px;font-size:12px;display:inline-flex;position:relative}.composer-tabs button.active{color:var(--cyan)}.composer-tabs button.active:after{background:var(--cyan);content:"";height:2px;position:absolute;bottom:0;left:10px;right:10px}.prompt-line{align-items:center;gap:14px;min-height:74px;padding:12px 22px;display:flex}.prompt-line svg{color:var(--cyan)}.prompt-line input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:17px}.composer-options{align-items:center;gap:12px;padding:10px 14px 14px 18px;display:flex}.prompt-tools{gap:7px;margin-right:auto;display:flex}.prompt-tools button,.ratio-group button,.category-tabs button{border:1px solid var(--border);color:var(--muted);background:#ffffff05}.prompt-tools button{border-radius:5px;align-items:center;gap:6px;height:32px;padding:0 10px;font-size:11px;display:flex}.ratio-group{display:flex}.ratio-group button{border-right-width:0;min-width:48px;height:32px;font-size:11px}.ratio-group button:first-child{border-radius:5px 0 0 5px}.ratio-group button:last-child{border-right-width:1px;border-radius:0 5px 5px 0}.ratio-group button.active{color:var(--cyan);background:#48e3ed17;border-color:#48e3ed8c}.primary-button{color:#051012;background:linear-gradient(100deg, var(--green), var(--cyan));border:0;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 18px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 0 26px #48e3ed21}.primary-button:hover{filter:brightness(1.08)}.content-section{margin-top:36px}.section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.section-heading h2{font-size:16px;font-weight:600}.recent-rail{grid-template-columns:repeat(6,minmax(150px,1fr));gap:10px;display:grid}.new-canvas-tile,.project-tile{border:1px solid var(--border);background:var(--surface);border-radius:6px;min-width:0}.new-canvas-tile{min-height:178px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.new-canvas-tile:hover{color:var(--text);border-color:#48e3ed66}.new-canvas-tile span{width:46px;height:46px;color:var(--cyan);background:#48e3ed17;border-radius:50%;place-items:center;display:grid}.new-canvas-tile strong{font-size:12px}.new-canvas-tile small{color:var(--muted-2);font-size:9px}.project-tile{overflow:hidden}.media-button{background:var(--surface-2);border:0;width:100%;height:118px;padding:0;display:block;overflow:hidden}.media-button img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.project-tile:hover .media-button img{transform:scale(1.035)}.project-tile>div{justify-content:space-between;align-items:center;gap:6px;padding:9px 9px 1px;display:flex}.project-tile strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.project-tile>small{color:var(--muted-2);padding:0 9px 10px;font-size:9px;display:block}.inspiration-head>div{align-items:center;gap:20px;min-width:0;display:flex}.category-tabs{flex-wrap:wrap;gap:6px;display:flex}.category-tabs button{border-radius:14px;height:28px;padding:0 11px;font-size:10px}.category-tabs button.active{color:#071012;border-color:var(--cyan);background:var(--cyan)}.inspiration-grid{grid-template-rows:150px 150px;grid-template-columns:1.15fr 1.15fr 1.15fr .8fr;gap:9px;display:grid}.inspiration-item{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:6px;min-width:0;padding:0;position:relative;overflow:hidden}.inspiration-item.item-1,.inspiration-item.item-2,.inspiration-item.item-3{grid-row:1/3}.inspiration-item img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.inspiration-item:hover img{transform:scale(1.035)}.inspiration-item:after{content:"";background:linear-gradient(#0000,#020608d1);position:absolute;inset:45% 0 0}.inspiration-item span{z-index:1;flex-direction:column;gap:3px;display:flex;position:absolute;bottom:11px;left:12px;right:12px}.inspiration-item strong{font-size:11px}.inspiration-item small{color:#b3bec4;font-size:9px}.shotlab-home{width:100%;max-width:none;padding:24px 28px 64px;overflow:hidden}.showcase{grid-template-columns:minmax(120px,.72fr) minmax(430px,1.28fr) minmax(120px,.72fr);align-items:center;gap:12px;height:326px;margin:0 auto;display:grid;position:relative;overflow:hidden}.showcase:before{z-index:4;pointer-events:none;background:linear-gradient(90deg, var(--bg), transparent 9%, transparent 91%, var(--bg));content:"";position:absolute;inset:0}.showcase-side,.showcase-active{background:var(--surface);border:0;border-radius:7px;height:260px;position:relative;overflow:hidden}.showcase-side{opacity:.42;filter:saturate(.7);padding:0}.showcase-side img,.showcase-active>img{object-fit:cover;width:100%;height:100%}.showcase-active{z-index:5;border:1px solid var(--border-strong);height:300px;box-shadow:0 20px 55px #0000006b}.showcase-active:after{content:"";background:linear-gradient(#0000,#03070ae6);position:absolute;inset:38% 0 0}.showcase-copy{z-index:2;text-align:center;justify-items:center;gap:6px;display:grid;position:absolute;bottom:22px;left:24px;right:24px}.showcase-copy strong{font-size:24px}.showcase-copy span{color:#c0c8cd;font-size:11px}.showcase-copy button{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060c1094;border:1px solid #ffffff40;border-radius:4px;align-items:center;gap:6px;height:30px;margin-top:4px;padding:0 12px;font-size:9px;display:inline-flex}.showcase-arrow{z-index:8;color:#fff;background:#05090cad;border:1px solid #ffffff1a;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.showcase-arrow.left{left:22px}.showcase-arrow.right{right:22px}.showcase-dots{z-index:8;gap:8px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.showcase-dots button{background:#39454c;border:0;border-radius:2px;width:14px;height:3px;padding:0;transition:width .2s,background .2s}.showcase-dots button.active{background:var(--cyan);width:26px}.recent-section{margin-top:28px}.shotlab-rail{grid-template-columns:repeat(6,minmax(150px,1fr))}.shotlab-rail .new-canvas-tile{background:radial-gradient(circle at 50% 20%, #48e3ed1f, transparent 62%), var(--surface);min-height:168px}.shotlab-rail .media-button{height:108px;position:relative}.shotlab-rail .media-button i{color:#dbe3e6;background:#04080bb8;border-radius:3px;align-items:center;gap:4px;padding:4px 6px;font-size:7px;font-style:normal;display:inline-flex;position:absolute;bottom:7px;right:7px}.discovery-section{border-top:1px solid var(--border);padding-top:4px}.discovery-tabs{border-bottom:1px solid var(--border);align-items:center;gap:24px;height:46px;margin-bottom:13px;display:flex}.discovery-tabs button{height:100%;color:var(--muted);background:0 0;border:0;padding:0 3px;font-size:11px;position:relative}.discovery-tabs button.active{color:var(--text)}.discovery-tabs button.active:after{background:var(--cyan);content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0}.discovery-grid{columns:4 220px;column-gap:10px}.discovery-card{break-inside:avoid;border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:6px;width:100%;margin:0 0 10px;padding:0;position:relative;overflow:hidden}.discovery-card img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform .35s}.discovery-card:nth-child(3n+2) img{aspect-ratio:4/3}.discovery-card:hover img{transform:scale(1.025)}.discovery-card span{justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.discovery-card strong{font-size:10px}.discovery-card small{color:var(--muted);font-size:8px}.page-title-row{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.page-title-row h1{font-size:30px}.page-title-row p{color:var(--muted);margin-top:8px;font-size:13px}.secondary-button{border:1px solid var(--border);color:#c8d0d5;background:#ffffff06;border-radius:5px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 12px;font-size:11px;display:inline-flex}.secondary-button:hover{color:var(--text);border-color:var(--border-strong)}.assets-page{padding:36px 30px 60px}.asset-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin:28px 0 16px;padding-bottom:13px;display:flex}.search-control{border-radius:5px;gap:8px;width:min(340px,60vw);height:36px;padding:0 11px}.segmented{display:inline-flex}.segmented button{border:1px solid var(--border);width:36px;height:34px;color:var(--muted);background:0 0;place-items:center;padding:0;display:grid}.segmented button+button{border-left:0}.segmented button:first-child{border-radius:5px 0 0 5px}.segmented button:last-child{border-radius:0 5px 5px 0}.segmented button.active{color:var(--cyan);background:#48e3ed14}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.asset-list{gap:8px;display:grid}.asset-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;overflow:hidden}.asset-grid .asset-card>img{aspect-ratio:16/10;object-fit:cover;width:100%}.asset-list .asset-card{grid-template-columns:180px 1fr;display:grid}.asset-list .asset-card>img{object-fit:cover;width:180px;height:104px}.asset-card>div{justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:11px 12px;display:flex}.asset-card>div>span{flex-direction:column;gap:4px;min-width:0;display:flex}.asset-card strong{font-size:12px}.asset-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.image-studio{grid-template-columns:360px minmax(0,1fr);height:calc(100vh - 66px);display:grid;position:relative;overflow:hidden}.generation-panel{border-right:1px solid var(--border);background:#0a1014;min-width:0;padding:20px 18px 94px;overflow-y:auto}.panel-title{justify-content:space-between;align-items:center;display:flex}.panel-title h1{font-size:18px}.setting-section{border-bottom:1px solid var(--border);padding:16px 0}.setting-label{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.setting-label strong,.inline-setting>strong{font-size:12px}.setting-label span,.setting-label button{color:var(--muted-2);background:0 0;border:0;padding:0;font-size:9px}.setting-section textarea{resize:vertical;border:1px solid var(--border);color:#cbd3d8;background:var(--surface-2);border-radius:5px;outline:0;width:100%;min-height:112px;padding:11px;font-size:11px;line-height:1.65}.setting-section textarea:focus{border-color:#48e3ed73}.prompt-tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.prompt-tags button{border:1px solid var(--border);height:27px;color:var(--muted);background:#ffffff06;border-radius:4px;padding:0 8px;font-size:9px}.reference-row{align-items:center;gap:8px;min-height:36px;margin-top:8px;display:flex}.reference-row>small{color:var(--muted-2);font-size:8px}.reference-upload-button{border:1px solid var(--border);height:30px;color:var(--muted);cursor:pointer;background:#ffffff06;border-radius:4px;align-items:center;gap:6px;padding:0 9px;font-size:9px;display:inline-flex}.reference-upload-button:hover{color:var(--cyan);border-color:#48e3ed61}.reference-upload-button input{display:none}.reference-chip{border:1px solid var(--border);background:var(--surface-2);border-radius:4px;align-items:center;gap:6px;min-width:0;max-width:190px;height:32px;padding:3px 4px;display:flex}.reference-chip img{object-fit:cover;border-radius:3px;width:26px;height:24px}.reference-chip em{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:8px;font-style:normal;overflow:hidden}.reference-chip button{width:22px;height:22px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.model-select{border:1px solid var(--border-strong);background:var(--surface-2);text-align:left;border-radius:5px;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;width:100%;padding:9px;display:grid}.model-thumb{color:#071012;background:var(--cyan);border-radius:4px;place-items:center;width:38px;height:38px;display:grid}.model-select>span:nth-child(2){flex-direction:column;display:flex}.model-select strong{font-size:11px}.model-select small{color:var(--muted);margin-top:4px;font-size:8px}.style-swatches{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.style-swatches button{min-width:0;color:var(--muted);background:0 0;border:0;padding:0;font-size:9px}.style-swatches img{aspect-ratio:1;object-fit:cover;border:1px solid #0000;border-radius:4px;width:100%}.style-swatches button.active{color:var(--green)}.style-swatches button.active img{border:2px solid var(--green)}.style-swatches span{margin-top:5px;display:block}.ratio-tiles{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.ratio-tiles button{border:1px solid var(--border);min-width:0;height:58px;color:var(--muted);background:var(--surface-2);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0;font-size:8px;display:flex}.ratio-tiles button.active{color:var(--green);border-color:var(--green);background:#78f59a0d}.ratio-shape{border:1px solid;border-radius:2px;width:17px;height:17px;display:block}.ratio-16-9,.ratio-4-3{width:23px;height:14px}.ratio-9-16,.ratio-3-4{width:13px;height:21px}.inline-setting{justify-content:space-between;align-items:center;display:flex}.stepper{border:1px solid var(--border);border-radius:4px;grid-template-columns:30px 44px 30px;height:30px;display:grid}.stepper button,.stepper span{color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.stepper span{color:var(--text);border-right:1px solid var(--border);border-left:1px solid var(--border);font-size:10px}.advanced-toggle{background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.advanced-toggle span{align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex}.advanced-toggle svg{transition:transform .2s}.advanced-toggle svg.rotate{transform:rotate(180deg)}.advanced-body{gap:11px;padding-top:13px;display:grid}.advanced-body label{gap:7px;display:grid}.advanced-body label>span{color:var(--muted);justify-content:space-between;font-size:9px;display:flex}input[type=range]{width:100%;accent-color:var(--cyan)}.toggle-row{color:var(--muted);grid-template-columns:1fr auto 1fr auto;align-items:center;gap:7px;font-size:9px;display:grid}input[type=checkbox]{width:28px;height:15px;accent-color:var(--green);margin:0}.generate-button{width:100%;height:52px;margin-top:18px}.generate-button kbd{color:#05101294;margin-left:auto}.results-panel{min-width:0;padding:25px 20px 110px;overflow-y:auto}.results-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:13px;display:flex}.results-head h2{font-size:21px}.result-filters{gap:22px;margin-top:16px;display:flex}.result-filters button{color:var(--muted);background:0 0;border:0;padding:0 0 10px;font-size:11px;position:relative}.result-filters button span{color:var(--muted-2)}.result-filters button.active{color:var(--green)}.result-filters button.active:after{background:var(--green);content:"";height:2px;position:absolute;bottom:-14px;left:0;right:0}.results-tools{align-items:center;gap:8px;display:flex}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin-top:14px;display:grid}.result-card{min-width:0}.result-media{border:1px solid var(--border);background:var(--surface);border-radius:6px;position:relative;overflow:hidden}.result-media img{aspect-ratio:16/10;object-fit:cover;width:100%}.media-actions{opacity:0;gap:5px;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:9px;right:9px;transform:translateY(-3px)}.result-media:hover .media-actions,.media-actions:focus-within{opacity:1;transform:none}.media-actions button,.media-actions a{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05090cc2;border:1px solid #ffffff24;border-radius:4px;place-items:center;width:32px;height:32px;padding:0;display:grid}.media-actions button.active{color:var(--coral)}.result-card>strong{text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:11px;display:block;overflow:hidden}.result-card>small{color:var(--muted-2);align-items:center;gap:7px;margin-top:5px;font-size:8px;display:flex}.result-card>small span{background:var(--surface-2);border-radius:3px;padding:3px 5px}.generation-progress{z-index:30;border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a1014f0;border-radius:6px;grid-template-columns:92px 1fr auto 34px;align-items:center;gap:13px;width:min(620px,100vw - 48px);padding:10px;display:grid;position:fixed;bottom:20px;right:24px;box-shadow:0 16px 50px #00000070}.generation-progress img{object-fit:cover;border-radius:4px;width:92px;height:54px}.generation-progress strong{font-size:11px}.generation-progress p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:8px;overflow:hidden}.generation-progress b{color:var(--green);font-size:11px}.progress-track{background:#253039;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--green), var(--cyan));height:100%;transition:width .18s linear;display:block}.empty-state{min-height:280px;color:var(--muted);border:1px dashed var(--border);border-radius:6px;grid-column:1/-1;align-content:center;place-items:center;gap:9px;display:grid}.empty-state strong{color:var(--text);font-size:12px}.empty-state p{font-size:10px}.canvas-studio{background:#071015;position:fixed;inset:0;overflow:hidden}.canvas-topbar{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#070c10f0;grid-template-columns:1fr auto 1fr;align-items:center;height:58px;padding:0 13px;display:grid;position:absolute;inset:0 0 auto}.canvas-brand,.canvas-mode-tools,.canvas-actions{align-items:center;gap:8px;min-width:0;display:flex}.canvas-brand .brand-copy small{display:none}.canvas-brand:after{background:var(--border);content:"";width:1px;height:22px;margin:0 5px}.canvas-back,.canvas-mode-tools button,.canvas-actions>button{height:34px;color:var(--muted);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:0 9px;font-size:10px;display:inline-flex}.canvas-back:hover,.canvas-mode-tools button:hover,.canvas-actions>button:hover{color:var(--text);background:#ffffff0e}.canvas-brand input{width:170px;min-width:100px;color:var(--text);background:0 0;border:0;outline:0;font-size:12px;font-weight:600}.save-status{color:var(--muted-2);white-space:nowrap;align-items:center;gap:4px;font-size:8px;display:inline-flex}.canvas-mode-tools i{background:var(--border);width:1px;height:22px;margin:0 4px}.canvas-mode-tools button.active{color:var(--text);background:#ffffff14}.canvas-actions{justify-content:flex-end}.canvas-actions>button{border:1px solid var(--border);color:var(--text);padding:0 13px}.canvas-actions>.primary-button{color:#061012;border:0}.canvas-toolrail{z-index:15;border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a1014e6;border-radius:8px;flex-direction:column;align-items:stretch;gap:3px;width:62px;padding:7px;display:flex;position:absolute;top:78px;left:12px}.canvas-toolrail button{height:50px;color:var(--muted);background:0 0;border:0;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;font-size:8px;display:flex}.canvas-toolrail button:hover{color:var(--cyan);background:#48e3ed12}.canvas-toolrail i{background:var(--border);height:1px;margin:3px 2px}.flow-stage{position:absolute;inset:58px 0 0}.react-flow__pane{cursor:grab}.react-flow__node{border-radius:7px}.react-flow__node.selected{box-shadow:0 0 0 2px var(--cyan), 0 0 34px #48e3ed29}.react-flow__handle{background:var(--cyan);border:2px solid #0a1116;width:10px;height:10px}.react-flow__edge-path{stroke:var(--cyan);stroke-width:2px}.flow-stage .react-flow__minimap{border:1px solid var(--border-strong);border-radius:6px;width:170px;height:104px;background:#080e12f0!important;bottom:18px!important;left:auto!important;right:20px!important}.flow-stage .react-flow__minimap-mask{fill:#05090cc2}.flow-stage .react-flow__controls{border:1px solid var(--border-strong);box-shadow:none;border-radius:5px;overflow:hidden;bottom:18px!important;left:auto!important;right:198px!important}.flow-stage .react-flow__controls-button{width:30px;height:30px;color:var(--muted);fill:currentColor;border-color:var(--border);background:#0b1217}.flow-stage .react-flow__controls-button:hover{color:var(--text);background:var(--surface-3)}.nova-node{width:250px;color:var(--text);border:1px solid var(--border-strong);background:#0c1318f7;border-radius:7px;overflow:hidden;box-shadow:0 15px 35px #0000004d}.nova-node.kind-prompt{border-color:#ff7168b3;width:270px}.nova-node.kind-model{border-color:#48e3edad}.nova-node.kind-output{border-color:#78f59ab3;width:190px}.node-head{color:#c8d1d6;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;height:39px;padding:0 12px;font-size:10px;font-weight:600;display:flex}.node-head span{align-items:center;gap:7px;display:flex}.kind-prompt .node-head{color:var(--coral);background:#ff71680f}.kind-model .node-head{color:var(--cyan)}.kind-image .node-head,.kind-output .node-head{color:var(--green)}.nova-node p{color:#c4ccd1;padding:12px 13px 4px;font-size:10px;line-height:1.7}.node-tags{flex-wrap:wrap;gap:5px;padding:8px 12px 12px;display:flex}.node-tags span{color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:4px 6px;font-size:7px}.model-node-body{gap:8px;padding:13px;display:grid}.model-node-body strong{border:1px solid var(--border);border-radius:4px;padding:9px;font-size:11px}.model-node-body span{color:var(--muted);border-bottom:1px solid var(--border);padding:7px 9px;font-size:9px}.node-image{object-fit:cover;width:100%;height:180px}.image-node-meta{color:var(--muted-2);justify-content:space-between;padding:7px 10px;font-size:8px;display:flex}.output-node-body{gap:10px;padding:12px;display:grid}.output-node-body label{color:var(--muted);justify-content:space-between;align-items:center;font-size:9px;display:flex}.output-node-body button{border:1px solid var(--border);color:#cbd5d9;background:#ffffff06;border-radius:4px;justify-content:center;align-items:center;gap:6px;min-height:46px;padding:8px;font-size:9px;display:flex}.mini-toggle{background:var(--green);border-radius:7px;width:26px;height:14px;display:block}.add-node-trigger{z-index:8;border:1px dashed var(--border-strong);height:38px;color:var(--muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a1014e0;border-radius:5px;align-items:center;gap:7px;padding:0 13px;font-size:10px;display:inline-flex;position:absolute;bottom:20px;left:86px}.add-node-menu{z-index:9;border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a1014f5;border-radius:6px;gap:3px;width:170px;padding:6px;display:grid;position:absolute;bottom:65px;left:86px;box-shadow:0 18px 44px #00000059}.add-node-menu button{height:34px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:9px;padding:0 9px;font-size:10px;display:flex}.add-node-menu button:hover{color:var(--text);background:#ffffff0f}.canvas-composer{z-index:11;border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c1217f0;border-radius:7px;width:min(540px,100vw - 640px);min-width:420px;padding:10px;position:absolute;bottom:17px;left:50%;transform:translate(-50%);box-shadow:0 18px 55px #0000006b}.canvas-composer-tools{align-items:center;gap:4px;margin-bottom:7px;display:flex}.canvas-composer-tools button{height:23px;color:var(--muted);background:#ffffff09;border:0;border-radius:3px;align-items:center;gap:4px;padding:0 7px;font-size:8px;display:inline-flex}.canvas-composer>label{align-items:flex-start;gap:8px;display:flex}.canvas-composer>label>svg{color:var(--cyan);margin-top:6px}.canvas-composer textarea{resize:none;width:100%;height:47px;color:var(--text);background:0 0;border:0;outline:0;padding:5px 0;font-size:10px;line-height:1.5}.canvas-composer-foot{border-top:1px solid var(--border);align-items:center;gap:6px;padding-top:7px;display:flex}.canvas-composer-foot button{height:29px;color:var(--muted);background:#ffffff09;border:0;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:8px;display:inline-flex}.canvas-composer-foot .composer-add{width:29px;color:var(--text);padding:0}.canvas-composer-foot .canvas-generate{color:#061012;background:var(--green);min-width:72px;margin-left:auto;font-weight:700}.spinner{border:2px solid #05101240;border-top-color:#061012;border-radius:50%;width:13px;height:13px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.node-inspector{z-index:18;border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a1014f0;border-radius:7px;width:274px;max-height:calc(100vh - 88px);padding-bottom:10px;position:absolute;top:72px;right:14px;overflow-y:auto;box-shadow:0 18px 50px #0000004d}.inspector-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:42px;padding:0 8px 0 12px;display:flex}.inspector-head>span{color:var(--green);align-items:center;gap:7px;font-size:10px;font-weight:600;display:flex}.inspector-preview{object-fit:cover;border-radius:4px;width:calc(100% - 20px);height:126px;margin:10px}.inspector-kind{border:1px solid var(--border);height:94px;color:var(--cyan);background:#48e3ed0d;border-radius:4px;place-items:center;margin:10px;font-size:12px;display:grid}.inspector-tabs{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.inspector-tabs button{height:38px;color:var(--muted);background:0 0;border:0;font-size:9px}.inspector-tabs button.active{color:var(--cyan);border-bottom:2px solid var(--cyan)}.inspector-form{gap:12px;padding:13px 11px 0;display:grid}.inspector-form label{gap:6px;display:grid}.inspector-form label>span{color:var(--muted);justify-content:space-between;font-size:8px;display:flex}.inspector-form input:not([type=range]),.inspector-form textarea,.inspector-form label>button{border:1px solid var(--border);color:#cbd3d7;background:var(--surface-2);border-radius:4px;outline:0;width:100%;min-height:34px;padding:8px 9px;font-size:9px}.inspector-form textarea{resize:vertical;min-height:96px;line-height:1.5}.inspector-form label>button{justify-content:space-between;align-items:center;display:flex}.inspector-primary{width:100%}.danger-button{height:34px;color:var(--danger);background:#ff71680f;border:1px solid #ff716840;border-radius:4px;justify-content:center;align-items:center;gap:7px;font-size:9px;display:inline-flex}@media (width<=1180px){.recent-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.new-canvas-tile{min-height:166px}.media-button{height:110px}.inspiration-grid{grid-template-columns:repeat(3,1fr)}.inspiration-item.item-1,.inspiration-item.item-2,.inspiration-item.item-3{grid-row:auto}.inspiration-item{min-height:190px}.results-tools .search-control{display:none}.canvas-topbar{grid-template-columns:1fr auto}.canvas-mode-tools{border:1px solid var(--border);background:#0a1014e6;border-radius:6px;padding:4px;position:absolute;top:66px;left:90px}.canvas-composer{width:min(500px,100vw - 390px);min-width:380px}.showcase{grid-template-columns:minmax(90px,.45fr) minmax(430px,1.5fr) minmax(90px,.45fr)}.shotlab-rail{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=820px){.app-shell{--sidebar:72px}.sidebar-head{justify-content:center;padding:0}.sidebar-toggle{position:absolute;top:66px}.sidebar-nav{margin-top:58px}.nav-item{justify-content:center;padding:0}.nav-item span,.motto,.profile-copy{display:none}.profile-button{justify-content:center;padding:6px 0}.home-page{padding:30px 20px 50px}.home-intro{flex-direction:column;align-items:flex-start}.composer-options{flex-wrap:wrap;align-items:stretch}.prompt-tools{width:100%}.primary-button{margin-left:auto}.inspiration-grid{grid-template-rows:none;grid-template-columns:repeat(2,1fr)}.inspiration-item{min-height:180px}.inspiration-head>div{flex-direction:column;align-items:flex-start}.image-studio{grid-template-columns:310px minmax(0,1fr)}.generation-panel{padding-left:14px;padding-right:14px}.results-grid{grid-template-columns:1fr}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase{grid-template-columns:1fr;height:290px}.showcase-active{height:260px}.showcase-side{display:none}}@media (width<=640px){.app-shell{display:block}.sidebar{z-index:50;border-top:1px solid var(--border);border-right:0;width:100%;height:64px;padding:5px 8px;position:fixed;inset:auto 0 0}.sidebar-head,.sidebar-foot{display:none}.sidebar-nav{grid-template-columns:repeat(4,1fr);gap:2px;height:100%;margin:0;display:grid}.nav-item{flex-direction:column;gap:3px;height:54px;padding:5px 0}.nav-item span{font-size:8px;display:block}.nav-item.active:before{width:40%;height:2px;inset:auto 30% 0}.topbar{height:56px;padding:0 14px}.global-search{width:calc(100% - 100px)}.global-search kbd,.credit-button{display:none}.main-content{min-height:calc(100vh - 56px);padding-bottom:64px}.home-page{padding:26px 14px 42px}.shotlab-home{padding:10px 10px 38px}.showcase{height:258px}.showcase-active{height:230px}.showcase-copy strong{font-size:19px}.showcase-arrow.left{left:8px}.showcase-arrow.right{right:8px}.home-intro h1{font-size:31px}.text-button{display:none}.prompt-line{min-height:64px;padding:10px 14px}.prompt-line input{font-size:13px}.composer-options{gap:8px;padding:8px 10px 11px}.prompt-tools button:nth-child(2){display:none}.ratio-group button{min-width:42px}.recent-rail{scroll-snap-type:x mandatory;padding-bottom:8px;display:flex;overflow-x:auto}.shotlab-rail{display:flex}.new-canvas-tile,.project-tile{scroll-snap-align:start;flex:0 0 170px}.inspiration-grid{grid-template-columns:1fr}.inspiration-item{min-height:240px}.category-tabs{flex-wrap:nowrap;width:calc(100vw - 28px);padding-bottom:5px;overflow-x:auto}.category-tabs button{flex:none}.inspiration-head>.link-button{display:none}.assets-page{padding:24px 14px 40px}.page-title-row h1{font-size:25px}.asset-grid{grid-template-columns:1fr}.asset-list .asset-card{grid-template-columns:110px 1fr}.asset-list .asset-card>img{width:110px;height:82px}.image-studio{height:auto;display:block;overflow:visible}.generation-panel{border-right:0;border-bottom:1px solid var(--border);padding:18px 14px 26px;overflow:visible}.results-panel{padding:22px 14px 90px;overflow:visible}.results-head{flex-direction:column}.results-tools{width:100%}.results-tools .search-control{width:100%;display:flex}.results-tools .secondary-button,.results-tools .icon-button{display:none}.results-grid{gap:19px}.media-actions{opacity:1;transform:none}.generation-progress{grid-template-columns:68px 1fr auto;width:calc(100vw - 20px);bottom:74px;right:10px}.generation-progress img{width:68px;height:48px}.generation-progress .icon-button{display:none}.canvas-topbar{grid-template-columns:1fr auto;height:54px;padding:0 8px}.canvas-brand .brand,.canvas-brand:after,.canvas-mode-tools,.canvas-actions>button:first-child,.canvas-actions .avatar{display:none}.canvas-brand input{width:140px}.flow-stage{inset-block-start:54px}.canvas-toolrail{width:50px;top:67px;left:7px}.canvas-toolrail button{height:44px}.canvas-toolrail button span{display:none}.node-inspector{width:min(274px,100vw - 76px);max-height:44vh;top:auto;bottom:8px;right:8px}.add-node-trigger{bottom:18px;left:66px}.add-node-menu{bottom:63px;left:66px}.canvas-composer{width:auto;min-width:0;bottom:8px;left:66px;right:8px;transform:none}.canvas-studio:has(.node-inspector) .canvas-composer{display:none}.react-flow__minimap{display:none}.react-flow__controls{bottom:10px;right:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!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:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--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;touch-action:none}.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}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.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))}
