:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#f2f3f0;background:#0b0c0d;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.43;cursor:not-allowed}[hidden]{display:none!important}.muted{color:#787d82}.lime{color:#d0fa42}.workspace{height:100vh;display:flex;background:#0b0c0d}.rail{width:56px;flex:0 0 56px;display:flex;align-items:center;flex-direction:column;gap:9px;border-right:1px solid #26282a;background:#0e0f10;padding:11px 0;z-index:7}.rail button,.rail a:not(.mark){display:grid;place-items:center;border:0;color:#a5a7a7;background:transparent;width:39px;height:39px;border-radius:9px;font-size:21px}.rail button:hover,.rail a:hover{background:#232527;color:white}.rail-space{flex:1}.mark{background:#d0fa42;color:#080909;font-size:25px;font-weight:1000;display:grid;place-items:center;border-radius:10px;width:38px;height:39px;margin-bottom:15px}.mark span{color:#5b8021}.stage-shell{min-width:0;flex:1;position:relative;background:#101112}.appbar{height:57px;position:relative;z-index:6;background:#0f1011;border-bottom:1px solid #232527;display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:15px}.title-group,.header-actions{display:flex;align-items:center;gap:9px;min-width:0}.title-group input{border:1px solid transparent;background:transparent;color:#e4e7e3;font-weight:700;font-size:13px;min-width:90px;width:220px;max-width:35vw;padding:7px 3px;border-radius:4px}.title-group input:focus{outline:none;border-color:#66782a}.saved{color:#757b76;font-size:11px}.slash{color:#454849}.top-ic,.pill{border:1px solid #303337;background:#1a1c1e;color:#e2e4e1;padding:8px 12px;border-radius:7px;font-size:12px;font-weight:650}.pill:hover,.top-ic:hover{border-color:#5b6b35}.pill.primary{background:#cffa47;color:#101208;border:1px solid #cffa47}.free-chip{font-size:10px;color:#d2fa50;padding:7px 11px;background:#1a2311;border:1px solid #32431c;border-radius:8px;white-space:nowrap;font-weight:800}.board{position:absolute;inset:57px 0 0;overflow:hidden;background-color:#111213;background-image:radial-gradient(circle,#303334 1.05px,transparent 1.15px);background-size:20px 20px;cursor:grab;touch-action:none}.board.panning{cursor:grabbing}.viewport{width:2400px;height:1500px;position:absolute;left:0;top:0;transform-origin:0 0}.connections{position:absolute;top:0;left:0;width:2400px;height:1500px;pointer-events:none;overflow:visible}.connection{fill:none;stroke:#5f6765;stroke-width:2.1;opacity:.8}.connection.active{stroke:#cffa47;opacity:.96}.connection.clickable{stroke:transparent;stroke-width:18;pointer-events:stroke;cursor:pointer}.node{position:absolute;width:300px;background:#1a1b1c;border:1px solid #373a3b;box-shadow:0 12px 45px #0006;border-radius:12px;overflow:hidden;cursor:auto}.node:focus-within{border-color:#6a7c42}.node.selected{outline:1px solid #819e3d}.node.image{width:278px}.node.prompt{width:308px}.node.model{width:339px}.node.output{width:307px}.node-head{display:flex;align-items:center;gap:9px;padding:12px 13px;background:#252628;border-bottom:1px solid #343639;cursor:grab;user-select:none;font-size:11px;font-weight:900;letter-spacing:.07em}.node-head:active{cursor:grabbing}.node-ico{color:#d1fa4c}.node-head small{color:#858a8b;font-size:9px;margin-left:auto;font-weight:600;letter-spacing:0}.node-body{padding:12px}.node p{font-size:11px;line-height:1.5;color:#8b9090;margin:8px 0}.node label{display:block;color:#9b9fa0;font-weight:700;font-size:10px;letter-spacing:.07em;margin:10px 0 5px}.node textarea,.node select{background:#131415;border:1px solid #353739;border-radius:6px;padding:10px;color:#e9ece7;outline:none;width:100%;font-size:12px;resize:vertical}.node textarea{height:140px;line-height:1.6}.node textarea:focus,.node select:focus{border-color:#b9ed38}.node input[type=file]{display:none}.node-btn{display:block;width:100%;padding:10px 9px;color:#e5e7df;background:#252729;border:1px solid #3c403b;border-radius:7px;font-weight:700;font-size:11px}.node-btn:hover{border-color:#afdf37}.node-btn.run{background:#cbfa49;color:#12150a;border-color:#cbfa49;font-weight:900}.node-note{font-size:10px;color:#939793}.node-asset{width:100%;height:165px;object-fit:contain;background:#111;margin-bottom:10px;border-radius:6px;border:1px solid #2d2f31}.node.empty .node-asset{display:none}.node .file-drop{padding:25px 5px;text-align:center;border:1px dashed #44494b;border-radius:8px;color:#747c78;font-size:11px;margin-bottom:8px;background:#151718}.port{position:absolute;width:13px;height:13px;border-radius:50%;background:#9ca3a0;border:3px solid #191c1c;box-shadow:0 0 0 1px #454c45;top:50%;transform:translateY(-50%);cursor:crosshair;z-index:2}.port.in{left:-7px}.port.out{right:-7px;background:#cffa47}.port:hover,.port.connecting{box-shadow:0 0 0 3px #a6ec466b}.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.model-tag{background:#202b12;border:1px solid #415520;border-radius:7px;padding:8px 9px;color:#d0fc55;font-size:11px;font-weight:800}.hint-warning{margin:9px 0;padding:8px;border:1px solid #494330;background:#252216;border-radius:6px;color:#ccc197;font-size:10px;line-height:1.5}.output-placeholder{border:1px dashed #383d3b;background:#121414;border-radius:7px;min-height:150px;display:grid;place-items:center;text-align:center;color:#687269;font-size:12px;padding:10px}.node-video{width:100%;max-height:260px;background:#050606;border-radius:7px}.status-line{font-size:11px;color:#d3e5b6;margin:12px 0;white-space:normal;line-height:1.5}.download{display:block;background:#282c26;color:#d3fb61;padding:10px;text-align:center;border-radius:6px;border:1px solid #526c28;font-weight:800;font-size:11px}.canvas-top{position:absolute;top:77px;left:22px;pointer-events:none;color:#f3f4f0;font-size:13px;font-weight:700;z-index:3}.canvas-top .scene-eyebrow{display:block;color:#a6d34b;font-size:10px;letter-spacing:.18em;margin-bottom:4px}.canvas-top .muted{font-weight:500;font-size:11px}.canvas-controls{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;background:#1a1c1d;border:1px solid #333639;padding:6px;border-radius:10px;z-index:3;box-shadow:0 12px 45px #0009;white-space:nowrap}.canvas-controls button,.zoom-panel button{background:transparent;border:0;border-radius:6px;color:#e0e4dc;padding:9px 12px;font-weight:650;font-size:11px}.canvas-controls button:hover,.zoom-panel button:hover{background:#303433}.canvas-controls .run{background:#cffa47;color:#171a0b;font-weight:900}.divider-vertical{height:23px;border-left:1px solid #363a37}.zoom-panel{position:absolute;bottom:25px;right:23px;background:#1c1e1f;border:1px solid #36393a;padding:2px;border-radius:8px;display:flex;align-items:center;gap:4px;color:#c4c9c2;font-size:11px;z-index:3}.zoom-panel span{min-width:34px;text-align:center}.drawer{flex:0 0 290px;background:#171819;border-left:1px solid #2a2c2e;z-index:9;display:flex;flex-direction:column;min-height:0}.drawer-head{display:flex;justify-content:space-between;padding:16px;border-bottom:1px solid #2e3030}.drawer-head button{background:none;border:0;color:#aaa}.drawer-tools{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.drawer-tools small,.drawer-foot{color:#929a95;font-size:10px;line-height:1.5}.file-button{padding:10px;background:#cffa47;color:#15190b;text-align:center;font-size:12px;font-weight:800;border-radius:6px;cursor:pointer}.drawer-list{flex:1;overflow:auto;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px}.drawer-card{border:1px solid #323537;border-radius:7px;background:#1f2222;overflow:hidden;min-width:0}.drawer-card img,.drawer-card video{width:100%;height:94px;object-fit:cover;background:#111}.drawer-card .meta{padding:8px;font-size:10px;color:#c1c6bd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-card button{background:none;border-top:1px solid #383b3b;border-left:0;border-right:0;border-bottom:0;color:#cffa47;width:100%;padding:7px;font-size:10px}.drawer-card button:hover{background:#303b20}.drawer-foot{padding:10px 16px}.toast{position:absolute;z-index:25;top:73px;right:19px;max-width:340px;border:1px solid #647737;background:#222c17;color:#e3fbcc;border-radius:8px;padding:12px 14px;box-shadow:0 10px 35px #0009;font-size:12px}.welcome-overlay,.dialog-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#070808df;backdrop-filter:blur(8px)}.welcome-card{width:min(600px,calc(100vw - 30px));min-height:340px;display:grid;grid-template-columns:200px 1fr;background:#1e2021;border:1px solid #343737;border-radius:12px;box-shadow:0 35px 100px #000b;overflow:hidden}.welcome-brand{background:#0c0d0e;padding:28px 25px;display:flex;flex-direction:column;justify-content:center;gap:10px}.welcome-brand>span{font-size:37px;font-weight:950;letter-spacing:-.07em}.welcome-brand small{font-size:10px;color:#737b75;letter-spacing:.1em;line-height:1.5}.welcome-options{padding:24px 21px}.kicker{color:#a8aa9f;font-size:10px;letter-spacing:.15em;margin-bottom:12px}.welcome-options button{position:relative;display:flex;flex-direction:column;align-items:start;border:0;border-bottom:1px solid #383b3a;background:transparent;color:#eee;padding:12px 24px 12px 2px;width:100%;text-align:left;gap:4px}.welcome-options button:hover{color:#cffa47}.welcome-options button b{font-size:13px}.welcome-options button small{color:#8d938f;font-size:10px}.welcome-options button>span{position:absolute;right:1px;top:20px}.dialog-card{width:min(530px,calc(100vw - 35px));background:#222425;border:1px solid #3b3d3e;padding:20px;border-radius:12px;max-height:76vh;display:flex;flex-direction:column;gap:16px}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head button{border:0;background:none;color:white}.project-list{overflow:auto;display:flex;flex-direction:column;gap:7px;max-height:50vh}.project-entry{display:flex;align-items:center;gap:7px;border:1px solid #363a38;padding:12px;border-radius:8px;background:#191b1b}.project-entry>button{background:none;border:0;color:#cdd4ce}.project-entry .entry-main{flex:1;text-align:left;display:flex;flex-direction:column;gap:3px}.project-entry small{color:#808884}.project-entry .trash{color:#f1998d}.dialog-foot{display:flex;gap:9px}@media(max-width:1050px){.saved,.free-chip{display:none}.drawer{flex-basis:230px}.canvas-controls{left:42%;}.canvas-controls button{padding:8px 7px}}@media(max-width:700px){.header-actions .pill:nth-child(2){display:none}.appbar{padding:0 8px}.title-group input{width:135px}.canvas-top{top:68px;left:12px}.canvas-controls{width:calc(100% - 24px);left:12px;transform:none;bottom:14px;justify-content:space-between;gap:2px}.canvas-controls button{font-size:9px;padding:7px}.zoom-panel{bottom:75px;right:15px}.drawer{position:fixed;right:0;top:57px;bottom:0;width:min(320px,80vw)}.welcome-card{grid-template-columns:1fr}.welcome-brand{padding:20px}.welcome-brand>span{font-size:28px}}

/* Fusionbox branding fits the welcome card without overflowing. */
.welcome-brand>span{font-size:25px;letter-spacing:-.055em;overflow-wrap:anywhere}

/* v0.5 official Fusionbox logo & node palette */
.mark{background:#151718;border:1px solid #353b2a;overflow:hidden;padding:3px}
.mark img{width:100%;height:100%;object-fit:contain}
.welcome-logo{width:105px;height:105px;object-fit:contain;margin:0 0 12px;filter:drop-shadow(0 3px 20px #a4eb2933)}
.node.ingredient{width:284px}.node.mixer{width:316px}.node.note{width:275px}
.node.ingredient .node-asset{height:124px}
.node.ingredient .file-drop{padding:16px 5px}
.node .node-head .node-delete{font-size:14px;margin-left:8px;color:#adb2a9;background:transparent;border:0;line-height:1;cursor:pointer;padding:2px 5px;border-radius:4px}
.node .node-head .node-delete:hover{color:#faafa5;background:#523332}
.node-head small{margin-left:auto}
.node input[type=text]{width:100%;background:#121416;border:1px solid #353739;color:#e6eae3;border-radius:6px;padding:9px;font-size:12px}
.node input[type=checkbox]{accent-color:#cbf94d}
.ingredient-info{padding:10px;border:1px solid #49533b;background:#1e2517;color:#d3e4bb;border-radius:7px;font-size:11px;line-height:1.5;margin-top:8px}
.priority-row{display:flex;align-items:center;gap:10px}.priority-row input{width:100%;accent-color:#cffa47}.priority-value{min-width:22px;color:#d3fa67;font-weight:800}
.primary-row{display:flex;gap:6px;align-items:center;font-size:12px;color:#cbd3bd;margin-top:10px}
.node-note-field{min-height:130px}
.palette{position:fixed;z-index:42;width:248px;border:1px solid #42473c;border-radius:11px;background:#212423;box-shadow:0 25px 60px #000b;padding:8px}
.palette-heading{font-size:10px;color:#cffa47;letter-spacing:.1em;padding:8px 10px}.palette-heading small{display:block;color:#999e97;letter-spacing:0;margin-top:3px}
.palette button{border:0;background:transparent;color:#e9ece7;width:100%;text-align:left;display:block;padding:9px 11px;border-radius:7px;font-size:12px;font-weight:750}
.palette button:hover{background:#333e26;color:#e3ff82}
.palette button small{display:block;color:#92998f;font-size:10px;font-weight:400;margin:4px 0 0 18px}
.guide-card{width:min(780px,calc(100vw - 26px));max-height:90vh}
.guide-content{overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0}
.guide-content>div{background:#171918;border:1px solid #3b403a;border-radius:9px;padding:13px}
.guide-content b{font-size:12px;color:#d9ff73}.guide-content p{font-size:12px;color:#bbc1b9;line-height:1.55;margin:9px 0 0}
kbd{font-size:10px;background:#343735;border:1px solid #505650;border-radius:5px;padding:2px 5px;white-space:nowrap}
.guide-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.guide-foot span{font-size:11px;color:#929990}
.node.note textarea{height:120px}
@media(max-width:800px){.canvas-controls{overflow-x:auto;max-width:calc(100vw - 100px)}.guide-content{grid-template-columns:1fr}}
