.code-wrapper,.json-editor,.scene-editor,.interface-editor{width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#0a0a0a;color:#fff;font-family:Inter,system-ui,sans-serif}
.editor-toolbar{height:49px;flex:0 0 49px;display:flex;align-items:center;gap:8px;padding:8px 12px;overflow-x:auto;border-bottom:1px solid #2a2a2a;background:#111}
.editor-toolbar-group,.view-toggle{display:flex;align-items:center;gap:4px}.editor-toolbar>i{width:1px;height:24px;flex:none;margin:0 8px;background:#2a2a2a}.editor-toolbar-spacer,.status-spacer{flex:1}
.editor-toolbar button,.editor-search button,.view-toggle button{height:32px;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:#a0a0a0;font-size:13px;white-space:nowrap;cursor:pointer}
.editor-toolbar button:hover,.editor-search button:hover,.view-toggle button:hover{background:#222;color:#fff}.editor-toolbar button.active,.view-toggle button.active{border-color:#3b82f6;background:#2a2a2a;color:#3b82f6}.editor-toolbar button.disabled{opacity:.4;pointer-events:none}.editor-toolbar button.icon-only{width:32px;padding:6px}.editor-toolbar .material-icon{font-size:18px}
.editor-search{display:flex;align-items:center}.editor-search.expanded{width:min(500px,45vw);gap:3px;padding:3px 5px;border:1px solid #3b82f6;border-radius:6px;background:#1a1a1a}.editor-search.expanded>span{color:#3b82f6}.editor-search input{min-width:0;flex:1;border:0;background:transparent;color:#fff;outline:0;font:13px 'JetBrains Mono',monospace}.editor-search.expanded button{width:24px;height:24px;padding:0}
.editor-content,.json-content{min-height:0;flex:1;overflow:hidden;text-align:left}.editor-content>.cm-editor,.json-content socrate-code,.json-content socrate-tree{width:100%;height:100%}.cm-editor,.cm-scroller,.cm-content,.cm-line{text-align:left!important}.cm-scroller{overflow:auto!important}.cm-tooltip-autocomplete{border:1px solid #333!important;background:#181818!important;color:#ddd!important}.cm-tooltip-autocomplete>ul>li[aria-selected]{background:#2563eb!important;color:#fff!important}
.editor-status{height:31px;flex:0 0 31px;display:flex;align-items:center;gap:12px;padding:6px 12px;border-top:1px solid #2a2a2a;background:#111;color:#a0a0a0;font-size:12px}.editor-status>i{width:1px;height:12px;background:#2a2a2a}.status-indicator{display:flex;align-items:center;gap:6px}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.valid{background:#22c55e}.status-dot.invalid{background:#ef4444}.language-badge{padding:2px 8px;border-radius:4px;background:#1a1a1a;color:#60a5fa;font-weight:500}
.tree-editor{height:100%;margin:0;padding:16px;overflow:auto;background:#0a0a0a;color:#d4d4d4;outline:0;font:13px/1.6 'JetBrains Mono',monospace}.tree-editor[data-invalid=true]{box-shadow:inset 3px 0 #ef4444}.tree-empty,.editor-empty{padding:16px;color:#666;font-size:11px;font-style:italic}
.scene-workspace,.interface-workspace{min-height:0;display:grid;grid-template-columns:256px minmax(0,1fr) 288px;flex:1}.scene-panel,.interface-panel{min-width:0;min-height:0;overflow:auto;border-right:1px solid #2a2a2a;background:#111}.scene-panel.inspector,.interface-panel.inspector{border-right:0;border-left:1px solid #2a2a2a}
.editor-panel-head{height:34px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid #2a2a2a;color:#a0a0a0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.editor-panel-head.sub{height:30px;margin-top:10px;border-top:1px solid #2a2a2a}
.scene-tree-row,.interface-tree-row{width:100%;min-height:32px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 12px;border:0;background:transparent;color:#a0a0a0;text-align:left;cursor:pointer}.scene-tree-row:hover,.interface-tree-row:hover,.scene-tree-row.selected,.interface-tree-row.selected{background:#1a1a1a;color:#fff}.scene-tree-row.selected,.interface-tree-row.selected{box-shadow:inset 2px 0 #3b82f6}.scene-tree-row .material-icon,.interface-tree-row .material-icon{font-size:16px}.scene-tree-row small,.interface-tree-row small{opacity:.65}
.scene-viewport{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#07080a}.scene-viewport canvas{position:absolute;inset:0;display:block;width:100%!important;height:100%!important}.scene-render-error{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:20px;color:#f87171;text-align:center}.scene-render-error small{max-width:480px;color:#888}.scene-render-actions{display:flex;gap:8px;margin-top:5px}.scene-render-actions button{padding:6px 10px;border:1px solid #3b3b3b;border-radius:4px;background:#202020;color:#ddd;font-size:11px;cursor:pointer}.scene-render-actions button:first-child{border-color:#2563eb;background:#2563eb;color:#fff}.scene-render-actions button:hover{filter:brightness(1.15)}
.interface-stage{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:28px;background:#0a0a0a}.interface-canvas{position:relative;width:min(100%,1180px);aspect-ratio:16/9;border:1px solid #2a2a2a;background:linear-gradient(45deg,#ffffff09 25%,transparent 25%),linear-gradient(-45deg,#ffffff09 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ffffff09 75%),linear-gradient(-45deg,transparent 75%,#ffffff09 75%),#050505;background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;box-shadow:0 20px 70px #0006}
.ui-component{position:absolute;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #ffffff1f;cursor:move;user-select:none}.ui-component.selected{outline:2px solid #3b82f6;outline-offset:2px}
.scene-tools,.interface-editor>.toolbar{height:49px;flex:0 0 49px;display:flex;align-items:center;gap:8px;padding:8px 12px;overflow-x:auto;border-bottom:1px solid #2a2a2a;background:#111}.scene-tools .tool-group,.interface-editor .toolbar-group{display:flex;align-items:center;gap:4px}.scene-tools .tool-spacer,.interface-editor .toolbar-spacer{flex:1}.scene-tools .divider,.interface-editor .toolbar-divider{width:1px;height:24px;flex:none;margin:0 8px;background:#2a2a2a}.scene-tools .tool-button,.interface-editor .toolbar-btn{height:31px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:#a0a0a0;font:13px Inter,sans-serif;white-space:nowrap;cursor:pointer}.scene-tools .tool-button:hover,.interface-editor .toolbar-btn:hover{background:#222;color:#fff}.scene-tools .tool-button.active{border-color:#3b82f6;background:#2a2a2a;color:#3b82f6}.scene-tools .tool-button.icon-only,.interface-editor .toolbar-btn.icon-only{width:31px;padding:6px}.scene-tools img,.interface-editor .toolbar-btn img,.scene-editor .tree-row img{width:16px;height:16px;object-fit:contain}.scene-tools .add-menu{position:relative}.scene-tools .add-dropdown{position:absolute;top:35px;left:0;z-index:40;width:170px;padding:4px;border:1px solid #2a2a2a;border-radius:6px;background:#111;box-shadow:0 12px 30px #0008}.scene-tools .add-dropdown[hidden]{display:none}.scene-tools .add-dropdown button{width:100%;height:30px;display:flex;align-items:center;gap:8px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:#aaa;text-align:left;cursor:pointer}.scene-tools .add-dropdown button:hover{background:#222;color:#fff}.scene-workspace{position:relative;display:block}.scene-workspace>.scene-viewport{position:absolute;inset:0}.scene-workspace>.scene-panel{position:absolute;top:14px;bottom:14px;left:14px;z-index:4;width:256px;border:1px solid #2a2a2a;border-radius:8px;background:#111e;box-shadow:0 18px 44px #0006;backdrop-filter:blur(10px)}.scene-workspace>.scene-panel.inspector{right:14px;left:auto;width:288px}.scene-overlay{position:absolute;top:10px;left:284px;z-index:3;display:flex;gap:8px;padding:5px 8px;border:1px solid #2a2a2a;border-radius:6px;background:#111d;color:#999;font-size:11px;pointer-events:none}.scene-overlay strong{color:#3b82f6}.scene-editor .panel-head,.interface-editor .panel-head{height:34px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid #2a2a2a;color:#a0a0a0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.scene-editor .panel-head.sub,.interface-editor .panel-head.sub{margin-top:10px;border-top:1px solid #2a2a2a}.scene-editor .tree-row,.interface-editor .tree-row{width:100%;min-height:32px;display:flex;align-items:center;gap:8px;padding:6px 12px;border:0;background:transparent;color:#aaa;text-align:left;cursor:pointer}.scene-editor .tree-row>span:not(.material-icon),.interface-editor .tree-row>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-editor .tree-row small,.interface-editor .tree-row small{margin-left:auto;opacity:.65}.scene-editor .tree-row:hover,.scene-editor .tree-row.selected,.interface-editor .tree-row:hover,.interface-editor .tree-row.selected{background:#1a1a1a;color:#fff}.scene-editor .tree-row.selected,.interface-editor .tree-row.selected{box-shadow:inset 2px 0 #3b82f6}.scene-editor .field,.interface-editor .field{min-width:0;display:flex;flex-direction:column;gap:5px;padding:10px 10px 0;color:#a0a0a0;font-size:11px}.scene-editor .field-row,.interface-editor .field-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 10px}.scene-editor .field-row .field,.interface-editor .field-row .field{padding-right:0;padding-left:0}.scene-editor .field input,.scene-editor .field select,.interface-editor .field input,.interface-editor .field select,.interface-editor .field textarea{width:100%;min-width:0;height:28px;padding:0 8px;border:1px solid #2a2a2a;border-radius:6px;background:#0a0a0a;color:#fff;outline:none}.interface-editor .field textarea{min-height:72px;padding:7px;resize:vertical;font-family:'JetBrains Mono',monospace}.scene-editor .field input:focus,.interface-editor .field input:focus{border-color:#3b82f6}.interface-editor .check-field{min-height:30px;display:flex;align-items:center;gap:8px;padding:8px 10px;color:#aaa;font-size:11px}.interface-editor .check-field input{width:14px;height:14px}.interface-editor .interface-status{min-width:120px;overflow:hidden;color:#aaa;font:12px 'JetBrains Mono',monospace;text-overflow:ellipsis;white-space:nowrap}.interface-editor .toolbar-btn.disabled{opacity:.4;pointer-events:none}.interface-editor .layer-actions{display:flex;gap:2px}.interface-editor .layer-actions button{width:20px;height:20px;padding:0;border:0;border-radius:3px;background:transparent;color:#888;cursor:pointer}.interface-editor .layer-actions button:hover{background:#ffffff12;color:#fff}.interface-editor .layer-actions button:disabled{opacity:.25}.ui-component img,.ui-component video{width:100%;height:100%;object-fit:cover}.interface-meter{width:80%;height:8px;overflow:hidden;border-radius:4px;background:#0008}.interface-meter>span{display:block;height:100%}.interface-check{display:flex;align-items:center;gap:7px}.check-box{width:16px;height:16px;display:grid;place-items:center;border:1px solid currentColor;border-radius:3px}.interface-input{width:100%;padding:0 8px;text-align:left;opacity:.75}
.scene-tools{position:relative;z-index:30;overflow:visible}.scene-editor{overflow:visible}.scene-workspace{overflow:hidden}.scene-tools .add-menu{z-index:31}.scene-tools .add-dropdown{z-index:50}
.scene-icon-layer{z-index:2;overflow:hidden}.scene-object-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;filter:drop-shadow(0 2px 4px #000a)}.scene-object-icon img{width:40px;height:40px;display:block;object-fit:contain;transform:scale(var(--scene-icon-scale,1));transform-origin:center;transition:transform .08s linear;user-select:none}.scene-object-icon:hover{filter:drop-shadow(0 0 5px #60a5fa)}
.scene-panel.inspector [data-scene-inspector]{height:calc(100% - 34px);overflow:auto;padding-bottom:8px}.scene-property-row{min-height:42px;display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 9px;border-bottom:1px solid #252525;color:#aaa;font-size:11px}.scene-property-row:hover{background:#ffffff05}.scene-property-row>label{overflow:hidden;color:#aaa;text-overflow:ellipsis;white-space:nowrap}.scene-property-row .property-value{min-width:0;overflow:hidden;color:#e5e5e5;text-overflow:ellipsis;white-space:nowrap}.scene-property-row .property-input,.scene-property-row .property-action-select,.scene-property-row .property-actions select{min-width:0;height:28px;padding:0 7px;border:1px solid #303030;border-radius:5px;background:#090909;color:#eee;outline:0}.scene-property-row .property-input{width:100%}.scene-property-row .property-input:focus,.scene-property-row select:focus{border-color:#3b82f6}.scene-property-row .property-action-select{max-width:94px}.scene-property-row .property-actions{display:flex;align-items:center;gap:4px}.scene-property-row .property-actions select{width:62px}.scene-property-row .property-actions button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid #303030;border-radius:5px;background:#181818;color:#bbb;cursor:pointer}.scene-property-row .property-actions button:hover{border-color:#3b82f6;color:#fff}.scene-property-row .property-actions .material-icon{font-size:16px}.scene-property-row .property-no-action{width:28px;color:#555;text-align:center}.property-toggle{position:relative;width:32px;height:18px;display:block!important;overflow:visible!important}.property-toggle input{position:absolute;opacity:0;pointer-events:none}.property-toggle span{position:absolute;inset:0;border-radius:10px;background:#353535;cursor:pointer;transition:.15s}.property-toggle span:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#aaa;transition:.15s}.property-toggle input:checked+span{background:#2563eb}.property-toggle input:checked+span:after{left:17px;background:#fff}
.number-control{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr) 28px 28px;align-items:center}.number-control .property-input{border-radius:0;text-align:center}.number-control button{height:28px;padding:0;border:1px solid #303030;background:#181818;color:#ddd;cursor:pointer}.number-control button:first-child{border-radius:5px 0 0 5px}.number-control button:last-child{border-radius:0 5px 5px 0}.number-control button:hover{border-color:#3b82f6;background:#222;color:#fff}.number-control button .material-icon{font-size:15px}.number-control input::-webkit-inner-spin-button,.number-control input::-webkit-outer-spin-button{appearance:none;margin:0}.scene-asset-picker{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:#0009}.asset-picker-window{width:min(520px,calc(100vw - 40px));max-height:min(600px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #353535;border-radius:8px;background:#111;box-shadow:0 24px 70px #000b}.asset-picker-window header{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #2a2a2a;color:#eee;font-size:12px}.asset-picker-window header button{width:28px;height:28px;border:0;border-radius:4px;background:transparent;color:#aaa;cursor:pointer}.asset-picker-window header button:hover{background:#222;color:#fff}.asset-picker-window>[data-asset-search]{height:32px;margin:10px;padding:0 10px;border:1px solid #303030;border-radius:5px;background:#090909;color:#fff;outline:0}.asset-picker-window>[data-asset-search]:focus{border-color:#3b82f6}.asset-picker-list{min-height:100px;overflow:auto;padding:0 8px 8px}.asset-picker-list>[data-asset-value]{width:100%;height:38px;display:flex;align-items:center;gap:9px;padding:0 10px;border:0;border-radius:5px;background:transparent;color:#bbb;text-align:left;cursor:pointer}.asset-picker-list>[data-asset-value]:hover{background:#222;color:#fff}.asset-picker-list>[data-asset-value] .material-icon{font-size:18px;color:#60a5fa}
.editor-field,.editor-field-row{padding:10px 12px 0}.editor-field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.editor-field-row .editor-field{padding:0}.editor-field{display:flex;flex-direction:column;gap:5px}.editor-field label,.vector-field label{color:#a0a0a0;font-size:11px}.editor-field input,.editor-field select,.vector-field input{height:30px;min-width:0;padding:0 8px;border:1px solid #2a2a2a;border-radius:6px;background:#0a0a0a;color:#fff;outline:0}.editor-field input:focus,.vector-field input:focus{border-color:#3b82f6}.vector-field{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 12px}.vector-field label{display:flex;flex-direction:column;gap:4px}
.output-actions{display:flex;align-items:center;gap:3px}.output-actions button{width:auto!important;padding:0 7px!important;font-size:10px}.output-actions button.active{background:#ffffff12;color:#fff}.output-actions button.error.active{background:#ef444433;color:#f87171}.output-actions button.warning.active{background:#eab30833;color:#facc15}.output-actions button.info.active{background:#3b82f633;color:#60a5fa}.output-actions button:nth-last-child(-n+2){width:24px!important;padding:0!important}.output-actions .material-icon{font-size:14px}
.output-list{width:100%;min-height:0;flex:1;overflow:auto;text-align:left;font:11px 'JetBrains Mono',monospace}.output-empty{height:100%;display:grid;place-items:center;color:#777;font-style:italic}.output-message{width:100%;min-height:28px;display:grid;grid-template-columns:34px minmax(40px,128px) 8px minmax(0,1fr) minmax(0,auto) auto;align-items:center;gap:7px;padding:4px 12px;border-bottom:1px solid #2a2a2a66;text-align:left}.output-message:hover{background:#ffffff0d}.output-message>b{padding:2px 3px;border-radius:3px;font-size:8px;text-align:center}.output-message.error>b{background:#ef444433;color:#f87171}.output-message.warning>b{background:#eab30833;color:#facc15}.output-message.info>b{background:#3b82f633;color:#60a5fa}.output-message>button{min-width:0;overflow:hidden;border:0;background:transparent;color:#888;text-align:left;text-overflow:ellipsis;white-space:nowrap}.output-message>span:nth-of-type(2){min-width:0;overflow-wrap:anywhere}.output-message small,.output-message time{color:#666;font-size:9px;white-space:nowrap}
.editor-output .panel-toolbar{overflow:hidden}.editor-output .panel-title{flex:0 0 auto}.editor-output .panel-toolbar-actions{min-width:0;flex:1;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.editor-output .panel-toolbar-actions::-webkit-scrollbar{display:none}
.panel-file-spacer{width:12px}
.preview-panel{width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff}.preview-toolbar{height:32px;flex:0 0 32px;display:flex;align-items:center;gap:4px;padding:0 12px;border-bottom:1px solid var(--border-color);background:var(--bg-panel);user-select:none}.preview-toolbar strong{margin-right:4px;color:var(--text-secondary);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.preview-toolbar button{width:23px;height:23px;display:grid;place-content:center;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer}.preview-toolbar button:hover{background:#ffffff1a;color:#fff}.preview-toolbar svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.preview-toolbar .preview-stop{width:auto;display:flex;align-items:center;gap:5px;margin-left:auto;padding:0 8px;color:#b91c1c}.preview-toolbar .preview-stop:hover{background:transparent;color:#991b1b}.preview-toolbar .preview-stop svg{fill:currentColor;stroke:none}.preview-frame{min-width:0;min-height:0;display:flex;flex:1}.preview-frame iframe{width:100%;height:100%;flex:1;border:0;background:#fff}
@media(max-width:980px){.scene-workspace,.interface-workspace{grid-template-columns:200px minmax(0,1fr)}.scene-panel.inspector,.interface-panel.inspector{display:none}}@media(max-width:768px){.editor-toolbar button>span:last-child:not(.material-icon){display:none}.editor-toolbar button{padding:6px}.output-message{grid-template-columns:34px 72px 8px minmax(0,1fr)}.output-message small,.output-message time{display:none}}
