@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#30372b;background:#f6f6f2;--green:#c5ee89;--muted:#839078;--line:#e1e6da;--panel:#fafbf7;--white:#fff;--raised:#f0f3eb;--ink:#344528;--selected:#eaf2df;--input:#fcfdf9;--border:#dce3d3;--canvas:#e9ede4}*{box-sizing:border-box}body{margin:0}html,body{height:100%;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;border-radius:5px;transition:background .15s}button:hover:not(:disabled){background:var(--selected)}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #83ad59;outline-offset:2px}[hidden]{display:none!important}a{color:inherit;text-decoration:none}svg{width:17px;height:17px;flex-shrink:0;display:block;pointer-events:none}[data-icon]{display:inline-flex;align-items:center;justify-content:center}input,select{min-width:0;background:var(--input);border:1px solid var(--border);border-radius:5px;font-size:11px;padding:8px;outline-offset:1px}input[type=checkbox]{accent-color:#88ae62}input[type=color]{padding:2px;width:34px;height:29px}input[type=number]{width:100%;appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{display:none}.editor{height:100dvh;display:flex;flex-direction:column}header{height:68px;flex-shrink:0;display:flex;align-items:center;gap:24px;padding:0 22px;border-bottom:1px solid var(--line);background:var(--panel)}.brand{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:26px;letter-spacing:-1.6px;display:flex;align-items:center}.brand-icon{height:32px;width:32px;display:flex;background:var(--green);border-radius:10px;margin-right:9px;color:#344528}.brand-icon svg{width:21px;height:21px}.brand-dot{color:#80a859}.project-info{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:20px;margin-right:auto;min-width:0}.project-info input{background:transparent;border-color:transparent;font-weight:550;font-size:12px;width:165px}.project-info input:hover{border-color:var(--border)}#saveStatus{font-size:8px;letter-spacing:.7px;white-space:nowrap;color:var(--muted)}.live-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#8caf68}nav{display:flex;gap:8px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--white);padding:10px 12px;font-size:11px;font-weight:600;border-radius:7px;white-space:nowrap}.button svg{width:14px;height:14px}.primary{background:var(--green);border-color:var(--green);color:#344528}.primary:hover{background:#b5df7f!important}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;color:var(--muted)}.icon-button svg{width:15px;height:15px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:10px;padding:6px 4px}.text-button svg{width:14px;height:14px}.options-bar{height:48px;flex-shrink:0;position:relative;display:flex;align-items:center;gap:17px;padding:0 18px;background:var(--white);border-bottom:1px solid var(--line)}.segment{display:flex;background:var(--raised);border:1px solid var(--line);border-radius:6px;padding:3px;gap:3px}.segment button{font-size:10px;padding:5px 15px;color:var(--muted)}.segment .active{background:var(--white);box-shadow:0 1px 4px #0001;color:var(--ink)}.toolbar-hint{font-size:10px;color:var(--muted)}.play-controls{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px}.play-button{display:flex;align-items:center;gap:7px;padding:7px 16px;background:var(--selected);color:var(--ink);font-size:11px;font-weight:600;border:1px solid var(--border)}.play-button svg{width:14px;height:14px}.play-button.running{background:var(--green);color:#344528}.history{margin-left:auto;display:flex;align-items:center;gap:5px}.divider{height:17px;border-left:1px solid var(--line);margin:0 9px}.workspace{display:grid;grid-template-columns:238px minmax(200px,1fr) 276px;flex:1;min-height:0}.left-panel,.right-panel{background:var(--panel);min-height:0;display:flex;flex-direction:column}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line)}.panel-heading{height:48px;min-height:48px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}h2{margin:0;font-size:11px;font-weight:650}.panel-heading>span{color:var(--muted);width:14px}.count{background:var(--raised);border-radius:4px;padding:2px 5px;font-size:9px;font-weight:400;margin-left:5px;color:var(--muted)}.search{display:flex;align-items:center;gap:7px;background:var(--white);border:1px solid var(--border);border-radius:6px;margin:16px 13px 19px;padding:0 9px}.search svg{width:13px;color:var(--muted)}.search input{border:0;background:transparent;width:100%;font-size:10px;padding:9px 0}.scene-title{display:flex;align-items:center;gap:7px;padding:0 15px 12px;color:var(--ink);font-size:10px}.scene-title svg{width:14px;color:#8a9e76}.tag{font-size:7px;letter-spacing:.8px;background:var(--raised);border-radius:4px;padding:4px 6px;color:var(--muted);white-space:nowrap}.scene-title .tag{margin-left:auto}.hierarchy{overflow:auto;min-height:80px;padding:0 9px 12px;flex:1}.object-row{display:flex;align-items:center;gap:4px;border-radius:5px;margin-bottom:3px;border:1px solid transparent}.object-row.selected{background:var(--selected);border-color:var(--border)}.object-row>button:first-child{display:flex;align-items:center;gap:8px;flex:1;text-align:left;min-width:0;font-size:11px;padding:9px 7px}.object-row>button:first-child span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-row svg{width:14px;height:14px;color:var(--muted)}.object-row .icon-button{width:25px;height:24px;opacity:.5}.object-row:hover .icon-button{opacity:1}.object-row.is-hidden{opacity:.45}.object-row .object-dot{height:6px;width:6px;border-radius:2px;flex-shrink:0}.left-bottom{border-top:1px solid var(--line);padding:22px 17px 20px}.left-bottom>span{color:#94ac7c;margin-bottom:12px}.left-bottom strong{display:block;font-size:11px;font-weight:550}.left-bottom p{font-size:10px;color:var(--muted);line-height:1.9;margin:8px 0 12px}.left-bottom .text-button{font-size:9px;padding:0}.panel-footer{height:39px;min-height:39px;display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid var(--line);font-size:8px;color:var(--muted)}.panel-footer svg{width:12px;height:12px}.center{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--white)}.document-bar{height:43px;min-height:43px;display:flex;align-items:center;gap:10px;padding:0 17px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}.document-bar strong{font-weight:500;color:var(--ink)}.document-bar svg{width:14px;height:14px}.document-bar .text-button{margin-left:auto}.viewport{position:relative;flex:1;min-height:150px;overflow:hidden;background:var(--canvas);outline:none}.viewport>canvas{display:block;width:100%;height:100%}.viewport-top{position:absolute;top:18px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;z-index:1;pointer-events:none;font-size:10px;color:#6d7d60}.viewport-top>span:first-child{display:flex;align-items:center;gap:8px}.viewport-top .tag{background:#ffffff60;color:#7c8b71}.tools{position:absolute;left:16px;top:60px;display:flex;flex-direction:column;background:var(--panel);padding:5px;border:1px solid var(--border);border-radius:9px;z-index:2;box-shadow:0 4px 14px #34452807;gap:3px}.tool{width:31px;height:31px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.tool svg{width:16px;height:16px}.tool.active{background:var(--selected);color:#69844f}.tools>span{border-top:1px solid var(--line);margin:4px}.view-axis{position:absolute;right:25px;top:60px;width:53px;height:62px;pointer-events:none}.axis{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:50%;width:20px;height:20px;font-size:9px;font-weight:600}.axis.y{top:0;left:17px;color:#6a9156;background:#d4e2c9}.axis.x{bottom:4px;right:0;color:#b37466;background:#eed5c9}.axis.z{bottom:4px;left:0;color:#718fbb;background:#d0ddeb}.viewport-note{position:absolute;bottom:18px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:7px;pointer-events:none;color:#7b8870;font-size:9px}.viewport-note svg{width:13px;height:13px}.canvas-footer{height:32px;flex-shrink:0;display:flex;gap:15px;align-items:center;padding:0 15px;color:var(--muted);font-size:8px;border-top:1px solid var(--line)}#renderInfo{margin-left:auto}.status-pill{display:flex;align-items:center;gap:6px;color:#738860}.status-pill i{width:5px;height:5px}.assets-panel{height:191px;min-height:155px;border-top:1px solid var(--line);display:flex;flex-direction:column;background:var(--panel)}.assets-tabs{height:43px;min-height:43px;display:flex;align-items:stretch;border-bottom:1px solid var(--line);padding:0 14px;gap:20px}.assets-tabs>button{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);border-radius:0;padding:0}.assets-tabs>button svg{width:14px;height:14px}.assets-tabs>button.active{border-bottom:2px solid #95b773;color:var(--ink)}.assets-hint{font-size:9px;color:var(--muted);align-self:center;margin-left:auto}.assets-tabs .text-button{font-size:9px}.assets-path{display:flex;align-items:center;gap:9px;margin:12px 17px 11px;color:var(--muted);font-size:9px}.assets-path svg{width:12px;height:12px}.assets-path .tag{margin-left:auto;font-size:6px}.asset-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;padding:0 16px 13px}.asset-card{border:1px solid var(--line);background:var(--white);border-radius:7px;padding:10px 4px 8px;display:flex;align-items:center;flex-direction:column;gap:5px;font-size:9px;min-width:0}.asset-card svg{height:24px;width:24px;stroke-width:1.25;color:#8da876;margin-bottom:2px}.asset-card small{font-size:7px;color:var(--muted)}.inspector{overflow:auto;flex:1}.inspect-section{padding:19px 18px;border-bottom:1px solid var(--line)}.inspect-title{display:flex;align-items:center;gap:9px;margin-bottom:16px}.inspect-title .object-symbol{height:32px;width:32px;display:flex;align-items:center;justify-content:center;background:var(--selected);color:#8aa273;border:1px solid var(--line);border-radius:8px}.inspect-title strong{display:block;font-size:12px;font-weight:550}.inspect-title small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.inspect-title input{margin-left:auto}.field{display:flex;flex-direction:column;gap:7px;font-size:10px;color:var(--muted);margin-bottom:14px}.field:last-child{margin-bottom:0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-heading svg{width:13px;height:13px;color:var(--muted)}.section-heading span{font-size:7px;letter-spacing:1px;color:var(--muted)}.transform-row{display:grid;grid-template-columns:17px 1fr 1fr 1fr;gap:6px;align-items:center;margin-top:9px}.transform-row>span{font-size:9px;color:var(--muted)}.axis-input{display:flex;align-items:center;background:var(--input);border:1px solid var(--border);border-radius:4px;overflow:hidden}.axis-input b{font-size:8px;font-weight:500;padding-left:7px;color:#bb8171}.axis-input:nth-child(3) b{color:#86a36f}.axis-input:nth-child(4) b{color:#7e99b7}.axis-input input{padding:7px 4px;width:100%;border:0;background:transparent;font-size:10px;text-align:center;outline-offset:-2px}.transform-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-top:14px}.color-field{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:15px}.swatches{display:flex;gap:7px;margin-top:8px}.swatch{height:19px;width:19px;border-radius:50%;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--line)}.hint{font-size:10px;line-height:1.85;color:var(--muted);margin:10px 0 0}.component-badge{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid var(--line);background:var(--raised);font-size:9px;color:var(--muted);border-radius:5px;margin-top:13px}.component-badge svg{width:13px;height:13px}.empty-inspector{padding:36px 20px;text-align:center}.empty-inspector>svg{margin:0 auto 17px;height:30px;width:30px;color:#9daf8c}.empty-inspector h2{font-family:Manrope,Arial,sans-serif;font-size:14px}.empty-inspector p{font-size:11px;line-height:1.9;color:var(--muted)}.app-footer{height:29px;min-height:29px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;background:var(--panel);border-top:1px solid var(--line);font-size:8px;color:var(--muted)}.app-footer>span{display:flex;align-items:center;gap:7px}.app-footer>span:last-child{font-size:6px;letter-spacing:1px}.footer-separator{color:var(--border);margin:0 3px}.console{overflow:auto;font:10px/1.8 monospace;padding:10px 15px;flex:1}.log-line{border-bottom:1px solid var(--line);padding:4px 0;display:flex;gap:12px}.log-line time{color:var(--muted)}.log-line.error{color:#b76f5e}.game-hud{position:absolute;top:56px;left:50%;transform:translateX(-50%);padding:10px 18px;border:1px solid #fff7;border-radius:8px;background:#fafbf7dc;box-shadow:0 4px 20px #3445280a;color:#536546;font-size:11px;white-space:nowrap;pointer-events:none}.playing .tools,.playing .view-axis,.playing .viewport-top .tag{display:none}.playing .viewport{box-shadow:inset 0 0 0 2px #a5c77b}.render-error{position:absolute;inset:25%;background:var(--panel);padding:25px;border:1px solid var(--border);font-size:12px;line-height:1.8;border-radius:8px}dialog{border:1px solid var(--line);border-radius:14px;background:var(--panel);color:inherit;width:640px;max-width:calc(100vw - 30px);max-height:85vh;padding:28px;box-shadow:0 25px 100px #273c2526}dialog::backdrop{background:#293c2555;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}h1{font-family:Manrope,Arial,sans-serif;font-size:24px;letter-spacing:-1px;margin:9px 0 10px;font-weight:650}.eyebrow{font-size:8px;letter-spacing:1.6px;color:var(--muted)}dialog>p{font-size:11px;line-height:1.9;color:var(--muted)}dialog strong{color:var(--ink)}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:23px}.template-grid>button{overflow:hidden;padding:0;text-align:left;border:1px solid var(--line);background:var(--white);border-radius:9px}.template-grid strong{display:block;padding:16px 14px 0;font-size:12px}.template-grid strong span{float:right;font-size:9px;color:var(--muted)}.template-grid p{font-size:10px;line-height:1.8;color:var(--muted);padding:0 14px 12px}.template-art{height:150px;position:relative;background:#e7ecdf;overflow:hidden}.island{width:150px;height:80px;background:#adbf94;position:absolute;left:50%;top:60px;transform:translateX(-50%) rotate(-18deg) skew(20deg);box-shadow:-7px 14px 0 #93a67c}.tree{width:60px;height:68px;border-radius:45%;background:#7f9f6f;position:absolute;left:65px;top:26px;box-shadow:2px 14px 0 -4px #9d896d}.cube{width:23px;height:30px;background:#d6ac7c;position:absolute;left:155px;top:71px;transform:skewY(-15deg);box-shadow:5px 3px 0 #be946b}.coin{width:17px;height:17px;background:#e4c365;position:absolute;left:185px;top:38px;transform:rotate(35deg);box-shadow:2px 2px 0 #c8aa4f}.platform i{position:absolute;bottom:15px;left:0;width:100%;height:20px;background:#a4b98b}.platform i:nth-child(2){left:35px;bottom:56px;width:75px;height:13px;background:#b8c6a4}.platform i:nth-child(3){left:150px;bottom:92px;width:70px;height:13px;background:#9bb281}.platform b{position:absolute;width:19px;height:25px;background:#d6ac7c;bottom:69px;left:62px;border-radius:3px}.platform em{position:absolute;width:16px;height:16px;background:#e3c367;left:175px;bottom:120px;transform:rotate(35deg)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.export-options{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:24px 0 5px}.export-options>button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:16px;padding:24px;border:1px solid var(--border);background:var(--white)}.export-options svg{height:26px;width:26px;color:#96af7c}.export-options strong{font-size:13px}.export-options small{font-size:10px;color:var(--muted)}.shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0;padding-top:15px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.shortcuts span{display:flex;align-items:center;justify-content:space-between;gap:10px}kbd{font:9px monospace;background:var(--raised);border:1px solid var(--border);border-radius:4px;padding:4px}.saved-project{width:100%;display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);background:var(--white);margin:10px 0;text-align:left}.saved-project strong{display:block;font-size:12px}.saved-project small{display:block;font-size:9px;color:var(--muted);margin-top:5px}#openFileButton{margin-top:16px}#toast{position:fixed;bottom:45px;left:50%;transform:translateX(-50%);padding:13px 21px;border-radius:8px;background:#344528;color:#fff;box-shadow:0 4px 25px #0002;font-size:12px;z-index:50;max-width:90vw}#addDialog{width:560px}#addGrid{grid-template-columns:repeat(3,1fr);padding:20px 0 0}#addGrid .asset-card{padding:20px}#assetContent{overflow:auto}body.playing #inspector{opacity:.6;pointer-events:none}
:root[data-theme=dark]{color-scheme:dark;color:#e4e9ef;background:#1b2027;--muted:#a4afba;--line:#333b43;--panel:#20262e;--white:#252d35;--raised:#2b333d;--ink:#e4e9ef;--selected:#34462d;--input:#20262e;--border:#414c58;--canvas:#252e2a}:root[data-theme=dark] .brand-icon,:root[data-theme=dark] .primary{color:#344528}:root[data-theme=dark] .tool.active{color:#c5ee89}:root[data-theme=dark] .viewport-top,:root[data-theme=dark] .viewport-note{color:#b5c3aa}:root[data-theme=dark] .template-art{filter:brightness(.8)}
@media(min-width:1700px){.workspace{grid-template-columns:260px minmax(200px,1fr) 300px}.assets-panel{height:215px}.asset-card{padding:15px 6px}.inspect-section{padding:23px}.left-bottom{padding:27px 20px}}@media(max-width:1250px){.workspace{grid-template-columns:205px minmax(180px,1fr) 245px}.toolbar-hint,#saveStatus,.assets-hint{display:none}header{padding:0 15px;gap:15px}.project-info{padding-left:13px}.project-info input{width:145px}nav{gap:5px}.button{padding:9px}.assets-tabs{gap:15px}.asset-grid{gap:5px;padding-right:10px;padding-left:10px}.inspect-section{padding:16px 13px}.transform-row{gap:4px}.axis-input b{padding-left:4px}.assets-tabs .text-button{margin-left:auto}.app-footer>span:last-child{display:none}}@media(max-width:1000px){.workspace{grid-template-columns:175px minmax(150px,1fr) 225px}.brand{font-size:22px}.brand-icon{height:28px;width:28px}nav .button>span:not([data-icon]){display:none}.project-info input{width:150px}.left-bottom{padding:16px 12px}.left-bottom strong{font-size:10px}.left-bottom .text-button{font-size:8px}.assets-tabs{gap:10px}.assets-tabs>button{font-size:9px}.asset-card small{display:none}.asset-grid{grid-template-columns:repeat(6, minmax(45px,1fr))}.assets-path .tag{display:none}.viewport-note{font-size:7px}.document-bar{padding:0 10px}.app-footer>span:nth-child(2){display:none}.scene-title .tag{display:none}}@media(max-width:720px){header{height:58px;padding:0 10px;gap:8px}.project-info{display:none}nav{margin-left:auto}#newButton,#helpButton{display:none}.workspace{grid-template-columns:145px minmax(140px,1fr)}.right-panel{display:none}.options-bar{padding:0 10px}.history{gap:0}.history .text-button{font-size:0}.play-controls{gap:2px}.play-button{padding:7px 9px}.left-bottom{display:none}.search{margin:12px 8px}.search svg{display:none}.search input{font-size:9px}.scene-title{padding-left:10px;font-size:9px}.object-row>button:first-child{font-size:10px;padding:8px 4px;gap:5px}.object-row .icon-button{display:none}.panel-heading{padding:0 10px}.assets-panel{height:162px}.assets-tabs{padding:0 10px}.assets-tabs #importImage{font-size:0}.assets-tabs #importImage svg{width:15px}.asset-card{font-size:8px}.asset-card svg{height:20px;width:20px}.viewport-note{font-size:0}.viewport-note svg{display:none}.document-bar .tag{display:none}.canvas-footer #renderInfo{display:none}.status-pill{margin-left:auto}.brand{font-size:21px}dialog{padding:20px}h1{font-size:21px}.template-grid{gap:10px}.template-art{height:130px}.shortcuts{grid-template-columns:1fr}.app-footer{padding:0 10px}.tools{left:9px;top:52px}.tool{height:27px;width:27px}}
