:root{color-scheme:dark;--bg:#181b1e;--panel:#222629;--panel2:#292d31;--line:#373c40;--text:#e2e6e8;--muted:#919b9f;--accent:#75dcc8;--accent-bg:#29443f;--orange:#e3aa69;font:14px/1.45 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,select{cursor:pointer}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;border:1px solid transparent;border-radius:5px;min-height:30px;padding:5px 9px;white-space:nowrap}button:hover{background:#ffffff0d}button:disabled{opacity:.38;cursor:default}button.active{background:var(--accent-bg);color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{background:#191c1f;border:1px solid var(--line);border-radius:4px;min-width:0;padding:6px 8px}input[type=range]{accent-color:var(--accent);padding:0;height:18px;width:100%}input[type=color]{padding:0;width:32px;height:29px;border:0}h1,h2,h3,p{margin:0}svg.icon{width:17px;height:17px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.boot{padding:30px}.app{height:100dvh;display:grid;grid-template-rows:51px 40px 43px minmax(0,1fr) 28px}.topbar,.menubar,.contextbar,.statusbar{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:0 16px;gap:12px;background:#202427}.topbar{gap:22px}.brand{font-weight:700;font-size:18px;letter-spacing:-.6px;display:flex;align-items:center;gap:9px}.brand img{width:27px;height:27px}.brand span{font-weight:400;color:var(--muted);font-size:13px;letter-spacing:0;margin-left:2px}.project-title{color:#bdc5c8;font-size:13px;border-left:1px solid var(--line);padding-left:20px}.project-title b{color:#e4e8e9;font-weight:500}.spacer{flex:1}.save-state{font-size:12px;color:var(--muted)}.primary{background:var(--accent)!important;color:#12382e!important;font-weight:650;border-color:var(--accent)!important}.secondary{border:1px solid #4b5559;background:#30373a}.menubar{padding-left:11px;gap:3px;background:#25292c}.menu-wrap{position:relative}.menu-content{position:absolute;top:32px;left:0;z-index:30;min-width:215px;padding:5px;background:#2b3034;border:1px solid #51595e;border-radius:6px;box-shadow:0 16px 40px #0008}.menu-content button{width:100%;justify-content:space-between}.menu-content kbd{color:var(--muted);font:12px system-ui}.contextbar{background:#202427;padding-left:15px;gap:17px}.contextbar label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.contextbar input[type=range]{width:76px}.contextbar output{min-width:29px;color:var(--text)}.contextbar .separator{height:20px;border-left:1px solid var(--line)}.workspace{display:grid;grid-template-columns:226px 45px minmax(200px,1fr) 276px;min-height:0}.leftbar,.rightbar{background:var(--panel);min-height:0;overflow:auto}.leftbar{border-right:1px solid var(--line)}.rightbar{border-left:1px solid var(--line)}.section-head{height:41px;display:flex;align-items:center;padding:0 14px;gap:8px;font-size:13px;font-weight:600;border-bottom:1px solid var(--line)}.section-head .muted{font-weight:400}.section-head button{min-height:25px;padding:3px}.section-body{padding:12px}.muted{color:var(--muted)}.tiny{font-size:12px}.scene-row{display:flex;align-items:center;padding:8px 12px;gap:8px;font-size:13px}.scene-row.selected{background:#3b4446;box-shadow:inset 2px 0 var(--accent)}.scene-row .icon{color:#a4b5b5}.scene-row.indent{padding-left:29px}.badge{font-size:11px;background:#3a4044;padding:1px 5px;border-radius:3px;color:#b4bfc3}.channels{padding:7px}.channel{width:100%;justify-content:flex-start;font-size:13px;gap:8px;padding:8px}.channel-dot{width:13px;height:13px;border-radius:3px;background:#8db9ac}.channel.active .channel-dot{box-shadow:0 0 0 2px #77d2bc40}.channel small{margin-left:auto;color:var(--muted);font-size:11px}.panel-tabs{display:flex;border-bottom:1px solid var(--line);gap:0;padding:0 6px}.panel-tabs button{border-radius:0;color:var(--muted);font-size:12px;padding:10px 8px}.panel-tabs button.active{color:var(--text);background:transparent;border-bottom:2px solid var(--accent)}.search{width:100%;font-size:12px;margin-bottom:12px}.shelf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.material-card{padding:5px 3px;display:flex;flex-direction:column;min-width:0;gap:5px;border:1px solid #394045;background:#272c30;overflow:hidden}.material-card.active{border-color:var(--accent)}.material-card canvas{width:48px;height:48px;border-radius:50%}.material-card span{font-size:10px;color:#bbc4c8;white-space:nowrap}.shelf-note{font-size:12px;color:var(--muted);padding-top:13px}.toolstrip{border-right:1px solid var(--line);background:#25292c;display:flex;align-items:center;flex-direction:column;padding:10px 4px;gap:7px}.toolstrip button{width:35px;height:35px;padding:6px}.toolstrip hr{border:0;border-top:1px solid var(--line);width:25px;margin:6px 0}.center{min-height:0;min-width:0;display:grid;grid-template-rows:minmax(160px,1fr) 206px}.viewport-wrap{position:relative;min-height:0;overflow:hidden;background:radial-gradient(ellipse at 50% 47%,#3b4346 0%,#272e32 43%,#1c2226 100%)}.view-tabs{position:absolute;top:0;left:0;right:0;height:39px;border-bottom:1px solid #50585d66;background:#23292db8;display:flex;align-items:center;padding:0 10px;gap:3px;z-index:4}.view-tabs button{font-size:12px;border-radius:3px;min-height:25px;padding:4px 8px}.view-tabs button.active{background:#485457;color:#e4efed}.view-tabs select{font-size:12px;padding:3px 7px;background:#252c30}.canvas-area{position:absolute;inset:39px 0 0}#viewport,#uvcanvas{width:100%;height:100%;display:block;touch-action:none}.canvas-area.split{display:grid;grid-template-columns:1fr 1fr}.canvas-area.split #uvcanvas{border-left:1px solid #576269}.viewport-caption{position:absolute;top:56px;left:19px;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:1.9px;color:#95a4a9}.viewport-caption h2{font-size:16px;font-weight:500;margin-top:3px;color:#d4dddf}.viewport-caption p{font-size:11px;color:#87989d;margin-top:2px}.canvas-footer{position:absolute;bottom:14px;left:19px;right:17px;display:flex;gap:14px;align-items:center;color:#8d9b9f;font-size:11px;pointer-events:none}.canvas-footer button{pointer-events:auto;font-size:11px;background:#252d30;border:1px solid #485256}.engine-badge{display:flex;gap:6px;align-items:center;font-size:10px;letter-spacing:.8px;background:#1b2428bd;color:#adbbb8;padding:4px 7px;border:1px solid #48595477;border-radius:4px}.engine-badge:before{content:"";height:5px;width:5px;border-radius:50%;background:var(--accent)}.axis{position:absolute;right:20px;top:58px;font-size:11px;line-height:1;pointer-events:none}.axis svg{width:48px;height:48px}.brush-cursor{position:absolute;pointer-events:none;border:1px solid #eef7ee;border-radius:50%;box-shadow:0 0 0 1px #1118;display:none;z-index:6;transform:translate(-50%,-50%)}.lower{background:#202528;min-height:0;border-top:1px solid var(--line);display:grid;grid-template-rows:37px minmax(0,1fr)}.lower-bar{display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--line);padding:0 11px}.lower-bar button{font-size:12px;padding:4px 9px;min-height:28px}.lower-bar button.active{color:var(--accent);background:transparent}.lower-content{overflow:auto;position:relative}.graph{position:relative;min-width:620px;height:100%;min-height:165px;background-image:radial-gradient(#4a535a66 1px,transparent 1px);background-size:16px 16px}.graph > svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.node{position:absolute;width:140px;border:1px solid #596469;border-radius:5px;background:#2e353a;box-shadow:0 5px 15px #0003;font-size:11px;overflow:hidden;cursor:grab}.node.selected{border-color:var(--accent)}.node-title{padding:6px 9px;background:#394649;font-weight:600;display:flex;gap:7px;color:#b9ded4}.node-body{padding:8px;display:flex;gap:9px;align-items:center;color:#aebec1}.node-preview{height:33px;width:33px;border-radius:4px;background:#527d6d}.node-port{position:absolute;width:7px;height:7px;border-radius:50%;background:#b1c9c1;top:50%}.node-port.in{left:0}.node-port.out{right:0}.graph-info{position:absolute;bottom:8px;right:12px;color:#7d8c92;font-size:10px}.tile-row{display:flex;gap:12px;padding:13px}.tile-card{border:1px solid var(--line);padding:5px;display:flex;flex-direction:column;gap:4px;min-width:116px;font-size:12px}.tile-card.active{border-color:var(--accent)}.tile-card canvas{width:100px;height:90px;object-fit:contain}.layer-controls{display:flex;gap:7px;padding:11px}.layer-controls select{flex:1;font-size:12px}.layer-controls input{width:57px;font-size:12px}.layer-row{display:grid;grid-template-columns:22px 30px minmax(0,1fr) 21px;align-items:center;gap:7px;padding:10px 11px;border-bottom:1px solid #343a3e;font-size:12px;cursor:pointer}.layer-row.active{background:#364441;box-shadow:inset 2px 0 var(--accent)}.layer-row button{padding:0;min-height:22px}.layer-thumb{width:30px;height:30px;background:#567f6e;border:1px solid #62746f;border-radius:3px;object-fit:cover}.layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-name small{display:block;color:#95a39e;font-size:10px;margin-top:2px}.layer-actions{padding:7px 9px;display:flex;border-bottom:1px solid var(--line);gap:4px}.layer-actions button{padding:5px;min-height:25px}.property-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin:10px 0}.property-row input[type=number]{width:65px}.property-row label{color:#a6b1b6}.brush-preview{background:#171d20;border:1px solid var(--line);height:52px;width:100%;border-radius:4px}.color-row{display:flex;align-items:center;gap:9px}.color-main{width:44px!important;height:42px!important;border-radius:5px}.hex-value{font:12px ui-monospace,monospace;color:#a9b8bc}.swatches{display:flex;gap:5px;margin-top:11px}.swatch{width:24px;height:24px;border:1px solid #ffffff25;border-radius:4px;min-height:24px;padding:0}.statusbar{border-top:1px solid var(--line);border-bottom:0;padding:0 13px;gap:18px;font-size:11px;color:#8c999e}.statusbar b{color:#a8b7ba;font-weight:400}.toast{position:fixed;bottom:43px;left:50%;transform:translateX(-50%);background:#354640;border:1px solid #648d7e;border-radius:7px;padding:11px 18px;font-size:13px;z-index:100;box-shadow:0 10px 30px #0005;max-width:90vw}.toast.error{background:#4f3030;border-color:#ac6969}.dialog{position:fixed;inset:0;background:#0009;z-index:50;display:grid;place-items:center;padding:20px}.dialog-card{background:#252b2e;border:1px solid #526065;border-radius:10px;box-shadow:0 30px 100px #0009;width:min(570px,94vw);max-height:85vh;overflow:auto}.dialog-head{display:flex;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);font-size:17px;font-weight:600}.dialog-body{padding:20px 22px}.dialog-foot{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px;border-top:1px solid var(--line)}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field label{font-size:13px;color:#b0bdc1}.field input,.field select{width:100%;padding:9px}.dialog-body p{font-size:13px;color:#a9b7bc;margin-bottom:12px}.project-card{display:flex;align-items:center;padding:12px;border:1px solid #465054;border-radius:5px;margin-bottom:9px;gap:12px}.project-card div{flex:1}.comment{padding:11px 14px;border-bottom:1px solid var(--line);font-size:13px}.comment strong{font-size:12px}.comment p{padding-top:4px;color:#b6c1c5}.history-entry{display:flex;padding:9px 17px;border-bottom:1px solid #343b3f;font-size:12px;gap:12px}.empty{padding:22px;color:var(--muted);font-size:13px}.hide{display:none!important}.key-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.key-grid div{display:flex;justify-content:space-between;padding:7px 0;font-size:12px}.key-grid kbd{background:#3d4549;padding:2px 6px;border-radius:3px}.light{--bg:#e3e8eb;--panel:#eff2f3;--panel2:#e1e7e9;--line:#c4cdd1;--text:#233238;--muted:#65747b;--accent:#168a72;--accent-bg:#c6e7de;color-scheme:light}.light .topbar,.light .menubar,.light .contextbar,.light .toolstrip,.light .lower,.light .statusbar{background:#e3e9ec}.light input,.light select{background:#f5f7f8}.light .layer-row.active{background:#d4e6e0}.light .material-card{background:#dae3e6}.light .panel-tabs button.active{color:#24363c}.light .project-title b{color:#253c45}.light .dialog-card{background:#edf2f3}.light .dialog-body p{color:#51646c}
@media(min-width:1650px){.workspace{grid-template-columns:250px 48px minmax(200px,1fr) 300px}.center{grid-template-rows:minmax(160px,1fr) 230px}.shelf-grid{gap:11px}.material-card canvas{width:55px;height:55px}}@media(max-width:1150px){.workspace{grid-template-columns:185px 42px minmax(180px,1fr) 235px}.contextbar{gap:8px}.contextbar input[type=range]{width:55px}.project-title{max-width:260px;overflow:hidden;white-space:nowrap}.brand span{display:none}.shelf-grid{grid-template-columns:repeat(2,1fr)}.center{grid-template-rows:minmax(160px,1fr) 180px}.node{width:115px}.rightbar .section-body{padding:9px}.save-state{display:none}}@media(max-width:880px){.workspace{grid-template-columns:42px minmax(180px,1fr) 220px}.leftbar{display:none}.topbar{gap:10px;padding:0 10px}.project-title{max-width:200px;font-size:11px;padding-left:10px}.contextbar .optional{display:none}.contextbar{gap:12px}.viewport-caption h2{font-size:13px}.view-tabs{padding:0 4px}.view-tabs button{padding:4px;font-size:11px}.center{grid-template-rows:minmax(180px,1fr) 160px}.canvas-footer .hint{display:none}.brand{font-size:16px}}@media(max-width:600px){.app{grid-template-rows:49px 37px 42px minmax(0,1fr) 26px}.workspace{grid-template-columns:40px minmax(0,1fr)}.rightbar{display:none}.topbar .project-title{display:none}.topbar button{font-size:12px}.menubar{padding:0 5px}.menubar>button,.menu-wrap>button{font-size:12px;padding:5px 7px}.menubar .workspace-label{display:none}.contextbar{padding:0 9px;gap:9px}.contextbar label{font-size:11px;gap:5px}.contextbar input[type=range]{width:40px}.contextbar .mobile-hide{display:none}.center{grid-template-rows:minmax(200px,1fr) 145px}.view-tabs select{max-width:92px}.statusbar{gap:9px}.statusbar .optional{display:none}.engine-badge{font-size:9px}.section-head{font-size:12px}.viewport-caption{left:12px}.canvas-footer{left:10px}.node{width:110px}.lower-bar{padding:0 4px}.lower-bar button{padding:4px 7px;font-size:11px}.dialog{padding:10px}.key-grid{grid-template-columns:1fr}}
