
:root{color-scheme:dark;--bg:#050912;--panel:#0b111d;--panel2:#111827;--line:#253249;--text:#f7f9fc;--muted:#8c99ad;--purple:#7157ff;--cyan:#23c9ff;--pink:#ef4d9a;--green:#39d6a6;--amber:#f6c75a;--red:#fb7185}
.studioGrid.noInspector{grid-template-columns:285px minmax(680px,1fr)}.studioGrid.withInspector{grid-template-columns:285px minmax(680px,1fr) 370px}.canvasTopActions{display:flex;align-items:center;gap:10px}.canvasPane{position:relative}.canvasTools{position:absolute;right:14px;bottom:14px;z-index:25;display:flex;align-items:center;gap:5px;padding:6px;background:rgba(8,13,21,.92);border:1px solid #28364c;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.35)}.canvasTools span{min-width:46px;text-align:center;font-size:10px;color:#a6b2c4;font-weight:850}.zoomButton{min-width:32px;height:30px;border:1px solid #33435c;border-radius:7px;background:#111927;color:#fff;font-weight:900}.zoomButton.reset{padding:0 9px;font-size:10px}.canvasZoomStage{position:relative;min-width:100%;min-height:100%}.nodeInlinePrompt,.nodeInlineName{user-select:text;touch-action:auto}.nodeInlinePrompt{display:block;width:calc(100% - 18px);min-height:86px;margin:9px;border:1px solid #2a3547;border-radius:8px;background:#0b1018;color:#eef3fb;padding:9px;resize:vertical;font-size:10px;line-height:1.4}.nodeInlineName{display:block;width:calc(100% - 18px);margin:8px 9px 10px;min-height:34px;padding:7px 8px;font-size:10px;font-weight:800}.nodeReferenceDrop{position:relative;margin:9px;border:1px dashed #7d4763;border-radius:9px;min-height:108px;display:grid;place-items:center;align-content:center;gap:4px;background:#0b0f16;overflow:hidden;color:#d9a9bf;text-align:center;cursor:pointer}.nodeReferenceDrop b{font-size:10px}.nodeReferenceDrop span{font-size:9px;color:#8f7684}.nodeReferenceDrop input{position:absolute;inset:0;opacity:0;cursor:pointer}.nodeReferenceDrop.nodeHasImage{height:128px;padding:0}.nodeReferenceDrop.nodeHasImage img{width:100%;height:100%;object-fit:cover}.nodeReferenceDrop.nodeHasImage span{position:absolute;left:8px;right:8px;bottom:7px;padding:4px 6px;border-radius:6px;background:rgba(0,0,0,.72);color:#fff}.nodeReferenceDrop.dropActive{border-color:#8e78ff;box-shadow:0 0 0 2px rgba(142,120,255,.22),inset 0 0 30px rgba(113,87,255,.12)}.wfNode{min-height:156px}.wfNode.reference{min-height:205px}.wfNode.prompt,.wfNode.image,.wfNode.video{min-height:190px}.referencesBox .stableId{display:none}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:#050912;color:var(--text);font:14px/1.45 Inter,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.top{position:sticky;top:0;z-index:60;background:rgba(9,13,21,.97);border-bottom:1px solid #1d2635;backdrop-filter:blur(18px)}.topInner{width:min(1740px,calc(100% - 24px));height:66px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}.brandMini,.topRight,.topNav{display:flex;align-items:center;gap:10px}.brandButton{border:0;background:transparent;color:inherit;text-align:left;padding:0}.topRight{justify-content:flex-end}.brandMini strong{display:block;font-size:12px;letter-spacing:.045em}.brandMini small{display:block;font-size:10px;color:#8e9bb0}.alsLogo.miniLogo{width:48px;height:43px}.topNav{justify-content:center;background:#080d15;border:1px solid #202b3d;border-radius:10px;padding:4px}.navBtn{border:0;background:transparent;color:#8f9cb1;padding:8px 14px;border-radius:7px;font-weight:800;font-size:12px}.navBtn.active{background:#151d2a;color:#fff}.navBtn.disabled{opacity:.35;cursor:not-allowed}.ownerPill,.eyebrow,.statusBadge,.dirtyBadge{display:inline-flex;align-items:center;border:1px solid #31425b;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;letter-spacing:.05em}.ownerPill{color:#ffe5a1;border-color:rgba(246,199,90,.3)}.dirtyBadge{color:#ffd7a6;border-color:rgba(246,199,90,.3);background:rgba(246,199,90,.06)}
.button,.iconButton,.backLink{border:1px solid #2b3950;background:#121a28;color:#fff;border-radius:9px;min-height:38px;padding:0 13px;font-weight:850;text-decoration:none}.button.primary{background:linear-gradient(135deg,#7658ff,#5235d1);border-color:#846fff;box-shadow:0 8px 24px rgba(113,87,255,.2)}.button.secondary{background:#0d1521}.button.danger{color:#ffc0cc;border-color:rgba(251,113,133,.32);background:rgba(251,113,133,.06)}.button.small{min-height:31px;padding:0 10px;font-size:11px}.button.full{width:100%}.iconButton{width:36px;padding:0}.dangerIcon{color:#ff98aa;border-color:rgba(255,100,130,.3)}.backLink{border:0;background:transparent;color:#94a1b5;padding:0;min-height:auto}.toast{position:fixed;right:18px;bottom:18px;z-index:100;background:#0c1723;border:1px solid rgba(57,214,166,.35);box-shadow:0 18px 50px rgba(0,0,0,.4);color:#b9f3dd;padding:12px 15px;border-radius:11px;max-width:min(460px,calc(100% - 30px))}.toast.error{border-color:rgba(251,113,133,.35);color:#ffc0cc}.toast.success{display:block}
.loginWrap{width:min(1160px,calc(100% - 22px));margin:5vh auto}.loginPanel{display:grid;grid-template-columns:1.1fr .9fr;min-height:610px;background:#09111c;border:1px solid #233148;border-radius:24px;overflow:hidden;box-shadow:0 36px 100px rgba(0,0,0,.42)}.loginArt{padding:44px;background:radial-gradient(circle at 34% 24%,rgba(0,130,255,.16),transparent 28%),linear-gradient(145deg,#0d1830,#070d16);display:flex;flex-direction:column;justify-content:flex-end}.heroLogo{width:min(430px,82%);height:auto;margin:0 auto auto}.loginArt h1{font-size:48px;line-height:1;letter-spacing:-.05em;margin:12px 0}.loginArt p{color:#b1bfd2}.loginCard{padding:48px;display:flex;flex-direction:column;justify-content:center}.loginCard h2{font-size:31px}.formStack{display:grid;gap:12px}.loginMessage{padding:10px;border:1px solid rgba(57,214,166,.3);border-radius:9px;color:#a9efd7}.loginMessage.error{border-color:rgba(251,113,133,.3);color:#ffc0cc}.center{display:flex;align-items:center;justify-content:center}
label{display:grid;gap:6px;color:#c8d3e2;font-size:11px;font-weight:800}input,select,textarea{width:100%;background:#070c14;color:#fff;border:1px solid #2a3850;border-radius:8px;padding:9px 10px;outline:0}input,select{min-height:38px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#745dff;box-shadow:0 0 0 3px rgba(116,93,255,.12)}input[readonly]{color:#76879f;background:#080d14}.grid2,.grid3{display:grid;gap:8px}.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr 1fr 1fr}
.library{width:min(1540px,calc(100% - 28px));margin:0 auto 60px}.libraryHead{display:flex;justify-content:space-between;align-items:flex-end;padding:34px 2px 20px}.libraryHead h1{font-size:38px;letter-spacing:-.045em;margin:8px 0 4px}.libraryHead p{margin:0;color:var(--muted)}.testNotice{border:1px solid rgba(57,214,166,.2);background:rgba(57,214,166,.045);color:#9fb3c8;border-radius:10px;padding:10px 12px;margin-bottom:14px}.testNotice strong{color:#a9efd7}.stats{display:grid;grid-template-columns:repeat(4,180px);gap:10px;margin-bottom:16px}.stats button{border:1px solid #202d41;background:#0a101a;color:#fff;border-radius:12px;padding:14px;text-align:left}.stats strong,.stats span{display:block}.stats strong{font-size:25px}.stats span{font-size:10px;color:var(--muted)}.libraryTools{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1d2838;margin-bottom:18px;gap:12px}.libraryTabs{display:flex;gap:8px}.tab{border:0;background:transparent;padding:10px 12px;color:#8190a5;font-weight:800;font-size:11px}.tab.active{color:#fff;border-bottom:2px solid #755cff}.searchInput{max-width:280px;margin-bottom:8px}.templateGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.templateCard{overflow:hidden;background:#0a111c;border:1px solid #202c3f;border-radius:15px;transition:.18s}.templateCard:hover{transform:translateY(-2px);border-color:#344560}.templateCover{width:100%;height:250px;position:relative;background:#070c14;overflow:hidden;border:0;padding:0;color:#fff;text-align:left}.templateCover img{width:100%;height:100%;object-fit:cover}.templateCover .statusBadge{position:absolute;top:12px;right:12px;background:rgba(6,10,16,.82)}.statusBadge.published{color:#9ef2d2}.statusBadge.draft{color:#ffe3a1}.statusBadge.archived{color:#aeb8c8}.coverPlaceholder{height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:radial-gradient(circle at 72% 18%,rgba(35,201,255,.17),transparent 28%),radial-gradient(circle at 20% 20%,rgba(113,87,255,.24),transparent 30%),linear-gradient(135deg,#0a1220,#070b12)}.coverPlaceholder span{color:#8da0bb;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.coverPlaceholder strong{font-size:25px;max-width:80%;margin-top:5px}.templateBody{padding:16px}.templateMeta,.templateFoot,.cardActions{display:flex;align-items:center;justify-content:space-between;gap:8px}.templateMeta{font-size:10px;color:#8a9ab0}.templateBody h3{font-size:18px;margin:8px 0 5px}.templateBody p{margin:0;color:#95a3b5;font-size:12px;min-height:36px}.templateFoot{margin-top:16px;padding-top:12px;border-top:1px solid #1c2737;color:#7f8ea3;font-size:10px}.cardActions{display:flex}.libraryEmpty{grid-column:1/-1;text-align:center;border:1px dashed #28364b;border-radius:16px;padding:60px;color:#8e9db2}.emptyIcon{font-size:40px;color:#6557d9}
.studio{height:calc(100vh - 66px);overflow:hidden}.studioBar{height:74px;border-bottom:1px solid #1d2838;background:#080d15;display:flex;align-items:center;justify-content:space-between;padding:10px 16px}.studioTitle{display:grid;grid-template-columns:auto minmax(260px,520px) auto;align-items:center;gap:12px}.titleInput{background:transparent;border:0;font-size:19px;font-weight:850;min-height:38px;padding:5px 8px}.saveState{font-size:10px;color:#7f8da1}.studioActions{display:flex;gap:8px}.studioGrid{height:calc(100% - 74px);min-height:0;display:grid;grid-template-columns:285px minmax(680px,1fr) 370px}.toolbox,.inspector{min-height:0;overflow:auto;background:#080e17;padding:14px;border-right:1px solid #1d2838}.inspector{border-right:0;border-left:1px solid #1d2838}.panelTitle{margin-bottom:12px}.panelTitle span{display:block;color:#667790;font-size:9px;font-weight:900;letter-spacing:.1em}.panelTitle strong{display:block;margin-top:2px;font-size:14px}.panelTitle.split{margin-top:22px;padding-top:18px;border-top:1px solid #1d2838}.addGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.addNode{cursor:grab;border:1px solid #243249;background:#0c1420;color:#cbd6e5;border-radius:9px;padding:10px 6px;display:grid;gap:3px;place-items:center}.addNode:active{cursor:grabbing}.addNode:hover{border-color:#51617a}.addNode b{font-size:17px;color:#65caff}.addNode span{font-size:9px;font-weight:800}.toolbox>label,.toolbox>.grid2{margin-bottom:9px}.uploadButton{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.uploadButton input{position:absolute;inset:0;opacity:0;cursor:pointer}.coverMini{margin:8px 0 10px;border:1px solid #26354a;border-radius:8px;overflow:hidden}.coverMini img{display:block;width:100%;height:130px;object-fit:cover}
.referencesBox{margin-top:16px;border-top:1px solid #1d2838;padding-top:12px}.referencesBox summary{cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:2px}.referencesBox summary span{grid-column:1/-1;color:#667790;font-size:9px;letter-spacing:.1em}.referencesBox summary em{font-style:normal;color:#6f7f95}.referenceList{display:grid;gap:8px;margin:9px 0}.refCard{border:1px solid #223049;border-radius:9px;background:#0b121e;overflow:hidden}.refPreview{height:120px;display:grid;place-items:center;background:#070c14;color:#63758e;font-size:9px}.refPreview img{width:100%;height:100%;object-fit:cover}.refFields{padding:9px;display:grid;gap:7px}.stableId{font-size:9px;color:#65778f;word-break:break-all}.uploadRow{display:flex;gap:6px}.uploadRow .button{flex:1}.miniEmpty{padding:16px;text-align:center;color:#65778f}.tinyMuted{font-size:10px;color:#71829a}
.canvasPane{min-width:0;min-height:0;background:#070b12;display:grid;grid-template-rows:52px 1fr}.canvasTop{display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #192333;background:#080d15}.canvasTop strong{display:block;font-size:11px;margin-top:2px}.canvasHint{font-size:9px;color:#667890}.canvasScroll{overflow:auto;min-width:0;min-height:0;cursor:grab;background:#070b12}.canvasScroll.panning{cursor:grabbing;user-select:none}.workflowCanvas{position:relative;background-color:#070b12;background-image:radial-gradient(#2b3442 1px,transparent 1px);background-size:18px 18px}.workflowCanvas.dropReady{box-shadow:inset 0 0 0 2px #7157ff, inset 0 0 55px rgba(113,87,255,.08)}.edgeLayer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.edgePath{fill:none;stroke:#5a6380;stroke-width:2.2;opacity:.9;filter:drop-shadow(0 0 3px rgba(113,87,255,.32))}.edge1{stroke:#6658b8}.edge2{stroke:#315f8f}.wfNode{position:absolute;width:286px;min-height:156px;background:#121720;border:1px solid #303845;border-radius:12px;color:#f7f9fc;box-shadow:0 12px 28px rgba(0,0,0,.2);user-select:none;touch-action:none}.wfNode:hover,.wfNode.selected{border-color:#7768ff;box-shadow:0 0 0 2px rgba(119,104,255,.13),0 16px 34px rgba(0,0,0,.28)}.wfNode.reference{border-color:#723452}.wfNode.image,.wfNode.video{border-color:#294f71}.nodeHead{height:42px;display:flex;align-items:center;gap:7px;padding:8px 9px;border-bottom:1px solid #262f3c;font-size:11px}.nodeHead strong{flex:1}.nodeKind{width:23px;height:23px;border-radius:6px;display:grid;place-items:center;background:#252d3a;font-size:10px}.nodeKind.reference{background:#5c2241;color:#ff91c0}.nodeKind.prompt{background:#302957;color:#b9a8ff}.nodeKind.image,.nodeKind.video{background:#123b5e;color:#6ed1ff}.nodeKind.output{background:#164637;color:#77e5bc}.providerBadge{font-size:8px;color:#8acdf4}.nodeMedia{height:135px;background:#080d14;overflow:hidden}.nodeMedia img{width:100%;height:100%;object-fit:cover}.nodePrompt{padding:10px;margin:0;font-size:9px;line-height:1.45;color:#c4ccda;min-height:55px;white-space:pre-line}.nodeMeta{border-top:1px solid #222b38;padding:7px 10px;color:#75879e;font-size:8px}.port{position:absolute;top:70px;width:16px;height:16px;border-radius:50%;background:#171e29;border:2px solid #4b5568}.port.in{left:-9px}.port.out{right:-9px;border-color:#7567dc}
.inspectorHead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1f2b3b;padding-bottom:12px;margin-bottom:12px}.inspectorHead>div{display:flex;align-items:center;gap:8px}.inspectorHead strong,.inspectorHead small{display:block}.inspectorHead small{font-size:8px;color:#64758d;max-width:220px;word-break:break-all}.tiny{font-size:9px;color:#6e7f94}.inspectorForm{display:grid;gap:9px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:5px}.checkRow{display:flex;align-items:center;gap:5px;border:1px solid #223049;border-radius:7px;padding:6px}.checkRow input{width:auto;min-height:auto}.nodeButtons{display:flex;gap:7px;padding-top:8px;border-top:1px solid #1d2938}.connectionBox{display:grid;gap:7px;padding-top:8px;border-top:1px solid #1d2938}.connectionRow{display:grid;grid-template-columns:1fr auto;gap:6px}.edgeList{display:flex;flex-wrap:wrap;gap:5px}.edgeChip{border:1px solid #2b384b;border-radius:999px;padding:4px 7px;color:#91a0b3;font-size:9px}.edgeChip button{border:0;background:transparent;color:#ff90a5}.inspectorEmpty{padding:60px 10px;text-align:center;color:#72839b}.inspectorEmpty span{font-size:35px;color:#665ad3}
.previewPage{width:min(1520px,calc(100% - 28px));margin:0 auto 60px}.previewTop{display:flex;align-items:center;justify-content:space-between;padding:24px 0 14px}.previewHero{display:grid;grid-template-columns:1.4fr .8fr;gap:24px;background:#09101a;border:1px solid #202d40;border-radius:18px;padding:18px}.previewMedia{min-height:420px;border-radius:13px;overflow:hidden;background:#070b12}.previewMedia img{width:100%;height:100%;object-fit:cover;max-height:520px}.previewHeroPlaceholder{height:100%;min-height:420px;display:grid;place-items:center;background:radial-gradient(circle at 50% 25%,rgba(35,201,255,.15),transparent 30%),radial-gradient(circle at 28% 18%,rgba(113,87,255,.2),transparent 28%),#070c14}.previewLogo{width:320px;height:auto}.previewHeroPlaceholder span{color:#71849f}.previewCopy{padding:24px 14px}.previewCopy h1{font-size:40px;line-height:1.02;letter-spacing:-.045em;margin:10px 0}.previewCopy p{color:#9cabbf;font-size:13px}.previewStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.previewStats div{border:1px solid #223147;border-radius:10px;padding:11px}.previewStats strong,.previewStats span{display:block}.previewStats span{font-size:9px;color:#718299}.previewSection{margin-top:24px}.sectionHeading h2{margin:4px 0 12px}.previewSection .canvasScroll{border:1px solid #223046;border-radius:14px;max-height:650px}.previewRefs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.previewRef{border:1px solid #223046;background:#0a111b;border-radius:11px;padding:8px}.previewRef img,.refNoImage{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:7px}.refNoImage{display:grid;place-items:center;background:#070c14;color:#65778f}.previewRef strong,.previewRef span{display:block}.previewRef strong{margin-top:8px}.previewRef span{font-size:9px;color:#7c8ca2}.studioBootFallback{margin:12vh auto;max-width:620px;padding:30px;border:1px solid #29394f;border-radius:16px;background:#0b111d;text-align:center}.studioBootFallback strong,.studioBootFallback span{display:block}.studioBootFallback strong{font-size:22px}.studioBootFallback span{margin-top:8px;color:#8c99ad}.previewLogoMark{width:140px;height:140px;border:2px solid #23c9ff;border-radius:28px;display:grid;place-items:center;margin:auto;color:#23c9ff;font-weight:900;font-size:34px;letter-spacing:.08em}.fatal{width:min(800px,calc(100% - 30px));margin:10vh auto;padding:30px;border:1px solid #29394f;border-radius:16px;background:#0b111d}
@media(max-width:1300px){.studioGrid{grid-template-columns:250px minmax(620px,1fr) 330px}.templateGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.previewHero{grid-template-columns:1fr}.previewRefs{grid-template-columns:repeat(3,1fr)}}@media(max-width:1020px){.topInner{grid-template-columns:1fr auto}.topNav{display:none}.loginPanel{grid-template-columns:1fr}.studio{height:auto;overflow:visible}.studioGrid{height:auto;display:block}.toolbox,.inspector{border:0;border-bottom:1px solid #1d2838}.canvasPane{height:720px}.templateGrid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.studioBar{height:auto;align-items:flex-start;gap:10px}.studioTitle{grid-template-columns:1fr}.previewRefs{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.topInner{width:calc(100% - 12px)}.ownerPill{display:none}.library{width:calc(100% - 14px)}.libraryHead{display:block}.libraryHead .button{margin-top:12px}.stats{grid-template-columns:1fr 1fr}.libraryTools{display:block}.searchInput{max-width:none}.grid2,.grid3,.checks{grid-template-columns:1fr}.loginArt,.loginCard{padding:24px}.loginArt h1{font-size:36px}.studioBar{display:block}.studioActions{margin-top:10px}.previewPage{width:calc(100% - 14px)}.previewCopy h1{font-size:32px}.previewRefs{grid-template-columns:1fr}}
  