:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0a0a0d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.magi-panel{position:absolute;width:320px;max-height:90vh;background:#14141ef2;border:1px solid rgba(255,255,255,.1);border-radius:8px;z-index:100;overflow:hidden;box-shadow:0 4px 20px #00000080;display:flex;flex-direction:column}.magi-panel.dragging{opacity:.9;cursor:grabbing}.magi-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;-webkit-user-select:none;user-select:none}.magi-panel.dragging .magi-header{cursor:grabbing}.magi-header h3{margin:0;font-size:14px;font-weight:600;color:#fff}.magi-close{background:none;border:none;color:#fff9;font-size:20px;cursor:pointer;padding:0;line-height:1}.magi-close:hover{color:#fff}.magi-content{padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1}.magi-tabs{display:flex;gap:4px}.magi-tabs button{flex:1;padding:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff9;cursor:pointer;font-size:12px;transition:all .2s}.magi-tabs button:hover{background:#ffffff1a}.magi-tabs button.active{background:#503cc880;border-color:#7864ff80;color:#fff}.magi-input{width:100%;min-height:80px;padding:10px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:13px;resize:vertical;font-family:inherit}.magi-input:focus{outline:none;border-color:#7864ff80}.magi-input::placeholder{color:#ffffff4d}.magi-image-input{min-height:100px}.magi-upload{width:100%;height:100px;background:#0000004d;border:2px dashed rgba(255,255,255,.2);border-radius:4px;color:#ffffff80;cursor:pointer;transition:all .2s}.magi-upload:hover{border-color:#7864ff80;color:#fffc}.magi-preview{position:relative}.magi-preview img{width:100%;max-height:150px;object-fit:contain;border-radius:4px;background:#0000004d}.magi-preview button{position:absolute;top:4px;right:4px;padding:4px 8px;background:#c83232cc;border:none;border-radius:4px;color:#fff;font-size:11px;cursor:pointer}.magi-options{display:flex;flex-direction:column;gap:8px}.magi-options label{display:flex;align-items:center;gap:8px;font-size:12px;color:#ffffffb3}.magi-options select{flex:1;padding:6px 8px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:12px}.magi-generate{padding:12px;background:linear-gradient(135deg,#5040c8,#7060e0);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.magi-generate:hover:not(:disabled){background:linear-gradient(135deg,#6050d8,#8070f0)}.magi-generate:disabled{opacity:.5;cursor:not-allowed}.magi-actions{display:flex;gap:8px}.magi-actions .magi-generate{flex:1}.magi-upload-model{padding:12px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.magi-upload-model:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.magi-upload-model:disabled{opacity:.5;cursor:not-allowed}.magi-progress{padding:12px;background:#0000004d;border-radius:4px}.magi-status{font-size:12px;color:#ffffffb3;margin-bottom:8px}.magi-status strong{color:#7060e0}.magi-result-preview{width:100%;max-height:120px;object-fit:contain;border-radius:4px;margin-bottom:8px}.magi-result a{display:block;padding:8px;background:#3cb4644d;border-radius:4px;color:#6fc;text-align:center;text-decoration:none;font-size:12px}.magi-result a:hover{background:#3cb46480}.magi-error{padding:10px;background:#c8323233;border:1px solid rgba(200,50,50,.3);border-radius:4px;color:#f88;font-size:12px}.magi-active-count{font-size:11px;font-weight:400;color:#7c6}.magi-jobs{border-top:1px solid rgba(255,255,255,.1);padding-top:12px;margin-top:4px}.magi-jobs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.magi-jobs-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.magi-job{padding:10px;background:#0000004d;border-radius:6px;border-left:3px solid rgba(255,255,255,.2)}.magi-job.submitting,.magi-job.pending{border-left-color:#fa0}.magi-job.running{border-left-color:#4af;animation:pulse 1.5s ease-in-out infinite}.magi-job.done{border-left-color:#4c8}.magi-job.failed{border-left-color:#f55}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.magi-job-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.magi-job-prompt{font-size:12px;color:#fffc;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.magi-job-status{font-size:10px;padding:2px 6px;border-radius:3px;background:#ffffff1a;color:#fff9;white-space:nowrap}.magi-job-status.submitting,.magi-job-status.pending{background:#fa03;color:#fa0}.magi-job-status.running{background:#4af3;color:#4af}.magi-job-status.done{background:#44c88833;color:#4c8}.magi-job-status.failed{background:#f553;color:#f55}.magi-job-preview{width:100%;max-height:80px;object-fit:contain;border-radius:4px;margin-top:8px}.magi-job-input-preview{opacity:.7;border:1px dashed rgba(255,255,255,.2)}.magi-job-error{font-size:11px;color:#f88;margin-top:6px}.magi-job-actions{display:flex;gap:6px;margin-top:8px}.magi-job-actions button,.magi-job-actions a{flex:1;padding:6px 10px;background:#ffffff1a;border:none;border-radius:4px;color:#fffc;font-size:11px;cursor:pointer;text-decoration:none;text-align:center;transition:background .2s}.magi-job-actions button:hover,.magi-job-actions a:hover{background:#fff3}.magi-job-actions .magi-job-remove{background:#c832324d}.magi-job-actions .magi-job-remove:hover{background:#c8323280}.magi-saved{border-top:1px solid rgba(255,255,255,.1);padding-top:12px;margin-top:4px}.magi-saved-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#0003;border-radius:4px;cursor:pointer;font-size:12px;color:#ffffffb3;transition:background .2s}.magi-saved-header:hover{background:#0000004d}.magi-saved-toggle{font-size:10px;color:#fff6}.magi-saved-list{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:200px;overflow-y:auto}.magi-saved-loading,.magi-saved-empty{font-size:11px;color:#fff6;text-align:center;padding:12px}.magi-saved-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#0000004d;border-radius:4px;border-left:3px solid rgba(100,180,130,.6)}.magi-saved-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.magi-saved-name{font-size:11px;color:#fffc;font-family:monospace}.magi-saved-meta{font-size:10px;color:#fff6}.magi-saved-actions{display:flex;gap:4px}.magi-saved-actions button,.magi-saved-actions a{padding:4px 8px;background:#ffffff1a;border:none;border-radius:3px;color:#ffffffb3;font-size:10px;cursor:pointer;text-decoration:none;transition:background .2s}.magi-saved-actions button:hover,.magi-saved-actions a:hover{background:#fff3;color:#fff}.terra-panel{position:absolute;width:340px;background:#14141ef2;border:1px solid rgba(255,255,255,.1);border-radius:8px;z-index:100;overflow:hidden;box-shadow:0 4px 20px #00000080}.terra-panel.dragging{opacity:.9;cursor:grabbing}.terra-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#28503c66;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;-webkit-user-select:none;user-select:none}.terra-panel.dragging .terra-header{cursor:grabbing}.terra-header h3{margin:0;font-size:14px;font-weight:600;color:#8fc}.terra-header-actions{display:flex;gap:8px}.terra-drawer-toggle,.terra-close{background:none;border:none;color:#fff9;font-size:18px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px}.terra-drawer-toggle:hover,.terra-close:hover{color:#fff;background:#ffffff1a}.terra-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.terra-content.open{max-height:80vh;overflow-y:auto}.terra-actions{display:flex;gap:4px;padding:12px;border-bottom:1px solid rgba(255,255,255,.05)}.terra-actions button{flex:1;padding:6px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffb3;font-size:11px;cursor:pointer;transition:all .2s}.terra-actions button:hover{background:#ffffff1a;color:#fff}.terra-section{padding:12px;border-bottom:1px solid rgba(255,255,255,.05)}.terra-section:last-child{border-bottom:none}.terra-section-header{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#fff6;margin-bottom:10px}.terra-brushes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.terra-brush{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;transition:all .2s}.terra-brush:hover{background:#ffffff14;border-color:#ffffff26}.terra-brush.active{background:#64b4824d;border-color:#64b48280}.terra-brush-icon{font-size:18px;color:#8fc}.terra-brush-label{font-size:10px;color:#ffffffb3}.terra-brush.active .terra-brush-label{color:#fff}.terra-slider{margin-bottom:12px}.terra-slider:last-child{margin-bottom:0}.terra-slider label{display:flex;justify-content:space-between;font-size:11px;color:#fff9;margin-bottom:6px}.terra-value{color:#8fc;font-weight:500}.terra-slider input[type=range]{width:100%;height:4px;background:#ffffff1a;border-radius:2px;outline:none;-webkit-appearance:none}.terra-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#8fc;border-radius:50%;cursor:pointer;transition:transform .1s}.terra-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.terra-slider input[type=range]::-moz-range-thumb{width:14px;height:14px;background:#8fc;border-radius:50%;cursor:pointer;border:none}.terra-alphas{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.terra-alpha{display:flex;align-items:center;justify-content:center;padding:10px 6px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;transition:all .2s}.terra-alpha:hover{background:#ffffff14;border-color:#ffffff26}.terra-alpha.active{background:#64b4824d;border-color:#64b48280}.terra-alpha-icon{font-size:16px;color:#8fc}.terra-alpha.active .terra-alpha-icon{color:#fff}.terra-io{display:flex;gap:8px}.terra-io button{flex:1;padding:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffb3;font-size:12px;cursor:pointer;transition:all .2s}.terra-io button:hover{background:#64b48233;border-color:#64b48266;color:#8fc}.terra-mode-toggle{display:flex;gap:4px}.terra-mode-btn{flex:1;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff9;font-size:12px;cursor:pointer;transition:all .2s}.terra-mode-btn:hover{background:#ffffff1a;color:#fff}.terra-mode-btn.active{background:#64b4824d;border-color:#64b48280;color:#8fc}.terra-channels{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.terra-channel{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;transition:all .2s}.terra-channel:hover{background:#ffffff14;border-color:#ffffff26}.terra-channel.active{background:rgba(var(--channel-color-rgb, 100, 180, 130),.2);border-color:var(--channel-color, rgba(100, 180, 130, .5))}.terra-channel-dot{width:12px;height:12px;border-radius:50%;background:var(--channel-color, #8fc)}.terra-channel-label{font-size:11px;color:#ffffffb3}.terra-channel.active .terra-channel-label{color:#fff}.terra-brush-shape-row{display:flex;gap:12px;align-items:flex-start}.terra-brush-preview{width:64px;height:64px;border:1px solid rgba(255,255,255,.2);border-radius:6px;overflow:hidden;background:#0000004d;flex-shrink:0}.terra-brush-preview img{width:100%;height:100%;object-fit:contain}.terra-brush-shape-row .terra-alphas{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.terra-texture-layers{display:flex;flex-direction:column;gap:6px}.terra-texture-layer{display:flex;align-items:center;gap:10px;padding:8px;background:#ffffff08;border:2px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;transition:all .2s}.terra-texture-layer:hover{background:#ffffff14;border-color:#ffffff26}.terra-texture-layer.active{border-color:var(--channel-color, rgba(100, 180, 130, .8));background:#ffffff0d}.terra-layer-previews{display:flex;gap:4px;flex-shrink:0}.terra-layer-preview{width:32px;height:32px;border-radius:3px;overflow:hidden;background:#0000004d;flex-shrink:0;border:1px solid rgba(255,255,255,.1);position:relative}.terra-layer-preview img{width:100%;height:100%;object-fit:cover}.terra-layer-default{display:block;width:100%;height:100%;opacity:.7}.terra-layer-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:10px;color:#ffffff4d}.terra-normal-preview{border-color:#6496c866}.terra-preview-label{position:absolute;bottom:1px;right:2px;font-size:8px;font-weight:600;color:#fff9;text-shadow:0 1px 2px rgba(0,0,0,.8)}.terra-layer-info{flex:1;display:flex;align-items:center;justify-content:space-between}.terra-layer-name{font-size:12px;color:#fffc}.terra-texture-layer.active .terra-layer-name{color:#fff}.terra-layer-load{width:24px;height:24px;border-radius:3px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.terra-layer-load:hover{background:#64b4824d;border-color:#64b48280;color:#8fc}.terra-layer-load.has-normal{background:#6482b44d;border-color:#6482b480;color:#8cf}.terra-layer-buttons{display:flex;gap:4px;flex-wrap:wrap}.terra-layer-tiling{padding:8px 12px;background:#ffffff05;border-radius:0 0 6px 6px;margin-top:-4px;border:1px solid rgba(255,255,255,.05);border-top:none}.terra-layer-tiling label{display:flex;justify-content:space-between;font-size:10px;color:#ffffff80;margin-bottom:4px}.terra-layer-tiling input[type=range]{width:100%;height:3px;background:#ffffff1a;border-radius:2px;outline:none;-webkit-appearance:none}.terra-layer-tiling input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#8fc;border-radius:50%;cursor:pointer}.terra-layer-tiling input[type=range]::-moz-range-thumb{width:12px;height:12px;background:#8fc;border-radius:50%;cursor:pointer;border:none}.terra-add-layer{width:100%;padding:8px;margin-top:8px;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:6px;color:#ffffff80;font-size:12px;cursor:pointer;transition:all .2s}.terra-add-layer:hover{background:#64b4821a;border-color:#64b48266;color:#8fc}.terra-generated-textures{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.terra-generated-texture{aspect-ratio:1;border-radius:4px;overflow:hidden;background:#0000004d;border:2px solid rgba(255,255,255,.1);padding:0;cursor:pointer;transition:all .2s}.terra-generated-texture:hover{border-color:#64b48299;transform:scale(1.05)}.terra-generated-texture img{width:100%;height:100%;object-fit:cover}.terra-generated-hint{font-size:10px;color:#fff6;text-align:center;margin-top:8px}.terra-size-info{font-size:12px;color:#ffffffb3;text-align:center;margin-bottom:10px}.terra-size-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.terra-size-tiles{color:#ffffff80;font-size:11px}.terra-size-area{margin-top:4px;font-size:14px;font-weight:600;color:#78c8ffe6}.terra-size-hectares{margin-left:8px;font-size:11px;font-weight:400;color:#ffffff80}.terra-resolution-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.terra-resolution-row label{font-size:12px;color:#ffffffb3}.terra-resolution-row select{flex:1;padding:4px 8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;font-size:12px;cursor:pointer}.terra-resolution-row select:hover{background:#ffffff26}.terra-resolution-row select option{background:#1a1a2e;color:#fff}.terra-expand-controls{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:10px}.terra-expand-row{display:flex;align-items:center;gap:4px}.terra-expand-btn{width:32px;height:32px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffb3;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.terra-expand-btn:hover{background:#64b4824d;border-color:#64b48280;color:#8fc}.terra-expand-center{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#ffffff4d;font-size:16px}.terra-auto-expand{display:flex;align-items:center;gap:8px;font-size:11px;color:#fff9;cursor:pointer}.terra-auto-expand input[type=checkbox]{accent-color:#8fc}.terra-auto-expand:hover{color:#fffc}.terra-grass-distance-fade{display:flex;align-items:center;gap:8px;font-size:11px;color:#fff9;cursor:pointer;margin-top:8px}.terra-grass-distance-fade input[type=checkbox]{accent-color:#8fc}.terra-grass-distance-fade:hover{color:#fffc}.terra-layer-name{cursor:pointer}.terra-layer-name:hover{text-decoration:underline;text-decoration-style:dashed;text-underline-offset:2px}.terra-layer-name-input{width:80px;padding:2px 6px;font-size:12px;background:#0006;border:1px solid rgba(100,180,130,.5);border-radius:3px;color:#fff;outline:none}.terra-layer-generate{width:24px;height:24px;border-radius:4px;background:#ffc8641a;border:1px solid rgba(255,200,100,.3);color:#ffc864e6;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.terra-layer-generate:hover{background:#ffc8644d;border-color:#ffc86499;transform:scale(1.1)}.terra-layer-generate-prompt{display:flex;gap:6px;padding:8px;background:#0000004d;border-radius:0 0 6px 6px;margin-top:-4px;border:1px solid rgba(255,200,100,.3);border-top:none}.terra-layer-generate-prompt input{flex:1;padding:6px 8px;font-size:11px;background:#0006;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;outline:none}.terra-layer-generate-prompt input:focus{border-color:#ffc86480}.terra-layer-generate-prompt input::placeholder{color:#fff6}.terra-generate-submit{padding:6px 12px;font-size:11px;background:#ffc86433;border:1px solid rgba(255,200,100,.4);border-radius:4px;color:#ffc864e6;cursor:pointer;transition:all .2s;white-space:nowrap}.terra-generate-submit:hover{background:#ffc8644d;border-color:#ffc86499}.terra-flatten-height{margin-top:12px;padding:10px;background:#ffffff05;border-radius:6px;border:1px solid rgba(255,255,255,.08)}.terra-flatten-height label{display:flex;justify-content:space-between;font-size:11px;color:#fff9;margin-bottom:8px}.terra-flatten-row{display:flex;align-items:center;gap:10px}.terra-flatten-row input[type=number]{width:70px;padding:6px 8px;font-size:12px;background:#0006;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;outline:none;text-align:center}.terra-flatten-row input[type=number]:focus{border-color:#64b48280}.terra-flatten-hint{font-size:10px;color:#fff6;font-style:italic}.terra-layer-job{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:11px;color:#fffc;background:#0000004d;border-radius:4px;margin-top:6px;animation:terra-job-fade-in .2s ease-out}@keyframes terra-job-fade-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.terra-layer-job.loading{border-left:3px solid rgba(255,200,100,.8)}.terra-layer-job.done{border-left:3px solid rgba(100,200,130,.8)}.terra-layer-job.error{border-left:3px solid rgba(255,100,100,.8)}.terra-job-spinner{display:inline-block;animation:terra-spin 1s linear infinite;color:#ffc864e6}@keyframes terra-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.terra-job-done{color:#64c882e6;font-weight:700}.terra-job-error{color:#ff6464e6;font-weight:700}.terra-height-btn{background:#96644633;border-color:#96644666;color:#c89664cc}.terra-height-btn:hover{background:#96644666!important;border-color:#96644699!important;color:#c96!important}.terra-layer-load.has-height{background:#b4784666;border-color:#b4784699;color:#d97}.terra-slot-btn.has-texture{background:#50c87866;border-color:#50c878b3;color:#6f6;box-shadow:0 0 6px #50c8784d}.terra-layer-preview.has-texture{border-color:#50c878b3;box-shadow:0 0 4px #50c8784d}.terra-layer-parallax{border-color:#96644633}.terra-layer-parallax input[type=range]::-webkit-slider-thumb{background:#c96}.terra-layer-parallax input[type=range]::-moz-range-thumb{background:#c96}.terra-layer-parallax .terra-value{color:#c96}.terra-parallax-hint{display:block;font-size:9px;color:#c89664b3;margin-top:4px;font-style:italic}.terra-grass-section{border-color:#64b4644d}.terra-grass-section .terra-section-header{display:flex;justify-content:space-between;align-items:center}.terra-grass-toggle{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.terra-grass-toggle input{opacity:0;width:0;height:0}.terra-toggle-slider{position:absolute;inset:0;background-color:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:20px;transition:.3s}.terra-toggle-slider:before{position:absolute;content:"";height:14px;width:14px;left:2px;bottom:2px;background-color:#ffffff80;border-radius:50%;transition:.3s}.terra-grass-toggle input:checked+.terra-toggle-slider{background-color:#64b46466;border-color:#64b46499}.terra-grass-toggle input:checked+.terra-toggle-slider:before{transform:translate(16px);background-color:#6b6}.terra-grass-channel{margin-top:8px}.terra-grass-channel label{display:block;font-size:11px;color:#fff9;margin-bottom:6px}.terra-grass-channel-buttons{display:flex;gap:4px;flex-wrap:wrap}.terra-grass-channel-btn{width:28px;height:28px;background:#ffffff14;border:2px solid rgba(255,255,255,.2);border-radius:4px;color:#ffffffb3;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.terra-grass-channel-btn:hover{background:#64b46433}.terra-grass-channel-btn.active{background:#64b46466;border-color:#6b6;color:#fff}.terra-grass-texture{margin-bottom:12px}.terra-grass-texture label{display:block;font-size:11px;color:#fff9;margin-bottom:6px}.terra-grass-texture-row{display:flex;gap:8px;align-items:center}.terra-grass-texture-preview{width:48px;height:48px;background:#ffffff14;border:2px dashed rgba(100,180,100,.4);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:all .2s}.terra-grass-texture-preview:hover{border-color:#64b464cc;background:#64b4641a}.terra-grass-texture-preview span{font-size:20px;color:#64b46499}.terra-grass-texture-preview.has-texture{border-style:solid;border-color:#64b46499}.terra-grass-texture-preview img{width:100%;height:100%;object-fit:cover}.terra-grass-clear-btn{width:24px;height:24px;background:#ff646433;border:1px solid rgba(255,100,100,.4);border-radius:4px;color:#ff6464cc;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s}.terra-grass-clear-btn:hover{background:#ff646466;border-color:#ff6464cc}.terra-mode-btn.terra-grass-mode{background:linear-gradient(135deg,#508c504d,#3c643c4d)}.terra-mode-btn.terra-grass-mode:hover{background:linear-gradient(135deg,#508c5066,#3c643c66)}.terra-mode-btn.terra-grass-mode.active{background:linear-gradient(135deg,#50b45099,#3c8c3c99);border-color:#78c878cc}.terra-grass-paint-tools{display:flex;gap:6px}.terra-grass-paint-btn{flex:1;padding:8px 12px;background:#50b45033;border:1px solid rgba(80,180,80,.4);border-radius:4px;color:#8c8;font-size:12px;cursor:pointer;transition:all .2s}.terra-grass-paint-btn:hover{background:#50b4504d;border-color:#50b45099}.terra-grass-paint-btn.active{background:#50b45080;border-color:#78dc78cc;color:#afa}.terra-grass-paint-btn.terra-grass-erase{background:#b4645033;border-color:#b4645066;color:#ca8}.terra-grass-paint-btn.terra-grass-erase:hover{background:#b464504d;border-color:#b4645099}.terra-grass-paint-btn.terra-grass-erase.active{background:#b4645080;border-color:#dc7864cc;color:#fca}.terra-grass-paint-info{margin-top:8px;font-size:11px;color:#ffffff80;text-align:center}.terra-grass-paint-hint{margin-top:8px;padding:8px;background:#508c5026;border-radius:4px;font-size:11px;color:#ffffffb3;text-align:center}.terra-grass-paint-hint strong{color:#8c8}.terra-grass-mode-link{display:block;margin-top:6px;padding:6px 12px;background:#50b4504d;border:1px solid rgba(80,180,80,.5);border-radius:4px;color:#8c8;font-size:11px;cursor:pointer;transition:all .2s}.terra-grass-mode-link:hover{background:#50b45066;border-color:#50b450b3}.terra-grass-alpha{padding:8px 0;display:flex;align-items:center;gap:8px}.terra-grass-alpha label{font-size:11px;color:#fff9;min-width:70px}.terra-grass-alpha-buttons{display:flex;gap:4px}.terra-alpha-btn{width:28px;height:24px;padding:0;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff9;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.terra-alpha-btn:hover{background:#ffffff26;color:#fff}.terra-alpha-btn.active{background:#50b45066;border-color:#50b450b3;color:#8fc}.terra-grass-colors{padding:8px 0;display:flex;gap:16px}.terra-grass-color-row{display:flex;align-items:center;gap:6px}.terra-grass-color-row label{font-size:11px;color:#fff9}.terra-grass-color-row input[type=color]{width:32px;height:24px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:transparent;cursor:pointer}.terra-grass-color-row input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.terra-grass-color-row input[type=color]::-webkit-color-swatch{border-radius:2px;border:none}.terra-grass-height-row{display:flex;gap:8px}.terra-slider.terra-half{flex:1}.terra-slider.terra-half label span:first-child{font-size:10px}.terra-grass-layers{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px 12px}.terra-grass-layer{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:#ffffff08;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s}.terra-grass-layer:hover{background:#ffffff14}.terra-grass-layer.active{background:rgba(var(--layer-color-rgb, 100, 200, 100),.15);border-color:var(--layer-color, #6c6)}.terra-grass-layer-preview{width:40px;height:40px;background:#ffffff1a;border-radius:4px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:all .2s}.terra-grass-layer-preview:hover{background:#fff3}.terra-grass-layer-preview img{width:100%;height:100%;object-fit:cover}.terra-grass-layer-empty{font-size:18px;color:#ffffff4d}.terra-grass-layer-uploading{font-size:14px;color:#64c8ffcc;animation:pulse 1s infinite}.terra-grass-layer-preview.uploading{pointer-events:none;opacity:.7}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.terra-grass-layer-label{font-size:9px;color:#ffffff80;text-align:center}.terra-grass-layer.active .terra-grass-layer-label{color:#fffc}.materials-panel{position:absolute;width:900px;max-height:90vh;display:flex;flex-direction:column;background:#14141ef2;border:1px solid rgba(255,255,255,.1);border-radius:8px;z-index:100;overflow:hidden;box-shadow:0 4px 20px #00000080}.materials-panel.dragging{opacity:.9;cursor:grabbing}.materials-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.materials-panel.dragging .materials-header{cursor:grabbing}.materials-header h3{margin:0;font-size:14px;font-weight:600;color:#fff}.materials-close{background:none;border:none;color:#fff9;font-size:20px;cursor:pointer;padding:0;line-height:1}.materials-close:hover{color:#fff}.materials-header-actions{display:flex;align-items:center;gap:8px}.materials-save-btn{padding:4px 12px;background:linear-gradient(135deg,#64b48299,#50966e99);border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.materials-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#64b482cc,#50966ecc)}.materials-save-btn:disabled{opacity:.4;cursor:not-allowed}.materials-content{padding:12px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1;min-height:0}.materials-list{background:#0003;border-radius:6px;overflow:hidden}.materials-list-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;font-size:11px;color:#fff9;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.05)}.materials-add-btn{width:22px;height:22px;padding:0;background:#64b4824d;border:1px solid rgba(100,180,130,.5);border-radius:4px;color:#fff;font-size:16px;line-height:1;cursor:pointer}.materials-add-btn:hover{background:#64b48280}.materials-list-items{max-height:120px;overflow-y:auto}.materials-list-item{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;transition:background .15s}.materials-list-item:hover{background:#ffffff0d}.materials-list-item.selected{background:#64b48233}.materials-list-preview{width:32px;height:32px;border-radius:4px;overflow:hidden;background:#0000004d;display:flex;align-items:center;justify-content:center;flex-shrink:0}.materials-list-preview img{width:100%;height:100%;object-fit:cover}.materials-list-empty{color:#ffffff4d;font-size:14px}.materials-list-name{flex:1;font-size:12px;color:#fffc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.materials-list-delete{width:20px;height:20px;padding:0;background:#c850504d;border:none;border-radius:3px;color:#fff9;font-size:14px;cursor:pointer;opacity:0;transition:opacity .15s}.materials-list-item:hover .materials-list-delete{opacity:1}.materials-list-delete:hover{background:#c8505099;color:#fff}.materials-list-duplicate{width:20px;height:20px;padding:0;background:#6496c84d;border:none;border-radius:3px;color:#fff9;font-size:12px;cursor:pointer;opacity:0;transition:opacity .15s}.materials-list-item:hover .materials-list-duplicate{opacity:1}.materials-list-duplicate:hover{background:#6496c899;color:#fff}.materials-list-empty-state{padding:16px;text-align:center;font-size:11px;color:#fff6}.materials-details{display:flex;flex-direction:column;gap:10px;padding:12px;background:#0003;border-radius:6px}.materials-details-header{display:flex;gap:8px}.materials-name-input{flex:1;padding:6px 10px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:13px;font-weight:500}.materials-name-input:focus{outline:none;border-color:#64b48280}.materials-apply-btn{padding:6px 12px;background:linear-gradient(135deg,#308050,#40a060);border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:600;cursor:pointer}.materials-apply-btn:hover{background:linear-gradient(135deg,#409060,#50b070)}.materials-generate{display:flex;gap:6px}.materials-generate-input{flex:1;padding:8px 10px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:12px}.materials-generate-input:focus{outline:none;border-color:#64b48280}.materials-generate-input::placeholder{color:#ffffff4d}.materials-generate-btn{padding:8px 14px;background:linear-gradient(135deg,#308050,#40a060);border:none;border-radius:4px;color:#fff;font-size:12px;font-weight:600;cursor:pointer}.materials-generate-btn:disabled{opacity:.5;cursor:not-allowed}.materials-presets{display:flex;flex-wrap:wrap;gap:4px}.materials-preset-btn{padding:4px 8px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:3px;color:#ffffffb3;font-size:10px;cursor:pointer;text-transform:capitalize}.materials-preset-btn:hover:not(:disabled){background:#64b48233;border-color:#64b4824d;color:#fff}.materials-preset-btn:disabled{opacity:.5;cursor:not-allowed}.materials-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.materials-slot{display:flex;flex-direction:column;align-items:center;gap:4px}.materials-slot-preview{width:100%;aspect-ratio:1;border-radius:4px;overflow:hidden;background:#0000004d;border:2px solid rgba(255,255,255,.1);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:border-color .15s}.materials-slot-preview:hover,.materials-slot-preview.drag-over{border-color:var(--slot-color, rgba(100, 180, 130, .5));box-shadow:0 0 8px var(--slot-color, rgba(100, 180, 130, .3))}.materials-slot-preview.has-texture{border-color:var(--slot-color, rgba(100, 180, 130, .4))}.materials-slot-preview.generating{opacity:.6}.materials-slot-preview img{width:100%;height:100%;object-fit:cover}.materials-slot-empty{color:#fff3;font-size:14px;font-weight:600}.materials-slot-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;color:#fff;font-size:12px}.materials-slot-info{display:flex;flex-direction:column;align-items:center;gap:2px}.materials-slot-label{font-size:9px;color:#ffffff80;text-transform:uppercase}.materials-slot-gen{padding:2px 6px;background:#9664c84d;border:none;border-radius:2px;color:#fffc;font-size:8px;cursor:pointer}.materials-slot-gen:hover:not(:disabled){background:#9664c880}.materials-slot-gen:disabled{opacity:.5;cursor:not-allowed}.materials-settings{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.materials-setting label{display:flex;justify-content:space-between;font-size:11px;color:#fff9;margin-bottom:4px}.materials-setting-value{color:#fffc}.materials-setting input[type=range]{width:100%;height:4px;-webkit-appearance:none;background:#ffffff1a;border-radius:2px;cursor:pointer}.materials-setting input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#64b482;cursor:pointer}.materials-saved{border-top:1px solid rgba(255,255,255,.1);padding-top:8px}.materials-saved-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#0003;border-radius:4px;cursor:pointer;font-size:11px;color:#fff9}.materials-saved-header:hover{background:#0000004d}.materials-saved-toggle{font-size:10px;color:#fff6}.materials-saved-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin-top:8px;max-height:400px;overflow-y:auto}.materials-saved-loading,.materials-saved-empty{grid-column:1 / -1;font-size:11px;color:#fff6;text-align:center;padding:12px}.materials-saved-item{position:relative;width:100%;padding-bottom:100%;border-radius:4px;overflow:hidden;background:#0000004d;border:2px solid rgba(100,180,130,.4);cursor:grab}.materials-saved-item:active{cursor:grabbing}.materials-saved-item img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.materials-saved-actions{position:absolute;bottom:0;left:0;right:0;display:flex;gap:2px;padding:4px;background:linear-gradient(transparent,#000000e6);opacity:0;transition:opacity .2s}.materials-saved-item:hover .materials-saved-actions{opacity:1}.materials-saved-actions button{flex:1;padding:4px 2px;background:#64b48280;border:none;border-radius:2px;color:#fff;font-size:9px;font-weight:600;cursor:pointer;min-width:0}.materials-saved-actions button:hover{background:#64b482cc}.materials-gen-btn{background:#9664c880!important;font-weight:600}.materials-gen-btn:hover{background:#9664c8cc!important}.materials-variation-menu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:280px;display:flex;flex-direction:column;gap:8px;padding:16px;background:#14141efa;border:1px solid rgba(150,100,200,.5);border-radius:8px;z-index:1000;box-shadow:0 8px 32px #000000b3}.materials-variation-menu:before{content:"Generate Variation";font-size:12px;font-weight:600;color:#9664c8e6;margin-bottom:4px}.materials-variation-input{width:100%;padding:6px 8px;background:#0006;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-size:11px;outline:none}.materials-variation-input:focus{border-color:#9664c899}.materials-variation-input::placeholder{color:#fff6}.materials-variation-presets{display:flex;gap:4px;flex-wrap:wrap}.materials-variation-presets button{padding:4px 8px;background:#9664c840;border:1px solid rgba(150,100,200,.3);border-radius:3px;color:#fffc;font-size:9px;cursor:pointer;transition:all .15s}.materials-variation-presets button:hover{background:#9664c880;border-color:#9664c899;color:#fff}.materials-variation-submit{padding:6px 10px;background:linear-gradient(135deg,#9664c899,#7850b499);border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.materials-variation-submit:hover:not(:disabled){background:linear-gradient(135deg,#9664c8cc,#7850b4cc)}.materials-variation-submit:disabled{opacity:.4;cursor:not-allowed}.hierarchy-panel{position:absolute;width:250px;background:#14141ef2;border:1px solid rgba(255,255,255,.1);border-radius:8px;z-index:100;overflow:hidden;box-shadow:0 4px 20px #00000080}.hierarchy-panel.dragging{opacity:.9;cursor:grabbing}.hierarchy-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#5078b44d;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;-webkit-user-select:none;user-select:none}.hierarchy-panel.dragging .hierarchy-header{cursor:grabbing}.hierarchy-header h3{margin:0;font-size:14px;font-weight:600;color:#8cf}.hierarchy-header-actions{display:flex;gap:8px}.hierarchy-drawer-toggle,.hierarchy-close{background:none;border:none;color:#fff9;font-size:18px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px}.hierarchy-drawer-toggle:hover,.hierarchy-close:hover{color:#fff;background:#ffffff1a}.hierarchy-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.hierarchy-content.open{max-height:400px;overflow-y:auto}.hierarchy-list{padding:4px 0}.hierarchy-empty{padding:20px;text-align:center;color:#fff6;font-size:12px}.hierarchy-item{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer;transition:background .15s}.hierarchy-item:hover{background:#ffffff0d}.hierarchy-item.selected{background:#5078b466}.hierarchy-item.hidden-node{opacity:.5}.hierarchy-expand{background:none;border:none;color:#ffffff80;font-size:8px;cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.hierarchy-expand:hover{color:#fff}.hierarchy-expand-placeholder{width:16px;height:16px}.hierarchy-icon{font-size:12px;width:16px;text-align:center}.hierarchy-icon-mesh{color:#8cf}.hierarchy-icon-light{color:#fc8}.hierarchy-icon-camera{color:#f8c}.hierarchy-icon-terrain{color:#8fc}.hierarchy-icon-transform{color:#ccc}.hierarchy-icon-other{color:#888}.hierarchy-name{flex:1;font-size:12px;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hierarchy-visibility{background:none;border:none;color:#ffffff4d;font-size:12px;cursor:pointer;padding:2px 4px;border-radius:3px;opacity:0;transition:opacity .15s}.hierarchy-item:hover .hierarchy-visibility{opacity:1}.hierarchy-visibility.visible{color:#ffffffb3}.hierarchy-visibility:hover{background:#ffffff1a}.inspector-panel{position:absolute;width:250px;background:#14141ef2;border:1px solid rgba(255,255,255,.1);border-radius:8px;z-index:100;overflow:hidden;box-shadow:0 4px 20px #00000080}.inspector-panel.dragging{opacity:.9;cursor:grabbing}.inspector-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#b464b44d;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;-webkit-user-select:none;user-select:none}.inspector-panel.dragging .inspector-header{cursor:grabbing}.inspector-header h3{margin:0;font-size:14px;font-weight:600;color:#f8c;display:flex;align-items:center;gap:6px}.inspector-header-icon{font-size:12px}.inspector-icon-mesh{color:#9cf}.inspector-icon-light{color:#fc8}.inspector-icon-camera{color:#8fc}.inspector-icon-terrain{color:#8c8}.inspector-icon-transform{color:#c9f}.inspector-icon-other{color:#888}.inspector-header-actions{display:flex;gap:8px}.inspector-locked-badge{margin-left:6px;font-size:11px}.inspector-frame,.inspector-lock,.inspector-drawer-toggle,.inspector-close{background:none;border:none;color:#fff9;font-size:14px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px}.inspector-frame:hover{background:#64b4ff33;color:#8cf}.inspector-drawer-toggle,.inspector-close{font-size:18px}.inspector-lock:hover,.inspector-drawer-toggle:hover,.inspector-close:hover{color:#fff;background:#ffffff1a}.inspector-lock.locked{color:#fc8}.inspector-panel.docked-right,.inspector-panel.docked-left,.inspector-panel.docked-top,.inspector-panel.docked-bottom{border-radius:4px}.inspector-panel.docked-right{border-top-left-radius:0;border-bottom-left-radius:0}.inspector-panel.docked-left{border-top-right-radius:0;border-bottom-right-radius:0}.inspector-panel.docked-top{border-bottom-left-radius:0;border-bottom-right-radius:0}.inspector-panel.docked-bottom{border-top-left-radius:0;border-top-right-radius:0}.inspector-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.inspector-content.open{max-height:600px;overflow-y:auto}.inspector-empty{padding:20px;text-align:center;color:#fff6;font-size:12px}.inspector-object-header{padding:10px 12px;background:#0003;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:8px}.inspector-object-type{font-size:10px;text-transform:uppercase;color:#fff6;background:#ffffff1a;padding:2px 6px;border-radius:3px}.inspector-object-name{font-size:13px;color:#ffffffe6;font-weight:500}.inspector-section{border-bottom:1px solid rgba(255,255,255,.05)}.inspector-section:last-child{border-bottom:none}.inspector-section-header{display:flex;align-items:center;gap:6px;width:100%;padding:10px 12px;background:#ffffff08;border:none;color:#ffffffb3;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;text-align:left}.inspector-section-header:hover{background:#ffffff0f}.inspector-section-arrow{font-size:8px;color:#fff6}.inspector-section-content{padding:10px 12px}.inspector-vector3{margin-bottom:10px}.inspector-vector3:last-child{margin-bottom:0}.inspector-vector3-label{display:block;font-size:11px;color:#ffffff80;margin-bottom:6px}.inspector-vector3-inputs{display:flex;gap:6px}.inspector-vector3-field{flex:1;display:flex;align-items:center;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;overflow:hidden}.inspector-axis{padding:4px 6px;font-size:10px;font-weight:600}.inspector-axis-x{background:#c8505066;color:#f88}.inspector-axis-y{background:#50c85066;color:#8f8}.inspector-axis-z{background:#5050c866;color:#88f}.inspector-vector3-field input{flex:1;width:100%;min-width:0;padding:4px 6px;background:transparent;border:none;color:#ffffffe6;font-size:11px;outline:none}.inspector-vector3-field input:focus{background:#ffffff0d}.inspector-field{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.inspector-field label{font-size:11px;color:#ffffff80}.inspector-field-value{font-size:11px;color:#fffc}.inspector-color-field{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.inspector-color-field label{font-size:11px;color:#ffffff80}.inspector-color-field input[type=color]{width:40px;height:24px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:none;cursor:pointer}.inspector-color-field input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.inspector-color-field input[type=color]::-webkit-color-swatch{border-radius:2px;border:none}.inspector-slider-field{margin-bottom:10px}.inspector-slider-field:last-child{margin-bottom:0}.inspector-slider-field label{display:flex;justify-content:space-between;font-size:11px;color:#ffffff80;margin-bottom:4px}.inspector-slider-field label span:last-child{color:#f8c}.inspector-slider-field input[type=range]{width:100%;height:4px;background:#ffffff1a;border-radius:2px;outline:none;-webkit-appearance:none}.inspector-slider-field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#f8c;border-radius:50%;cursor:pointer}.inspector-slider-field input[type=range]::-moz-range-thumb{width:12px;height:12px;background:#f8c;border-radius:50%;cursor:pointer;border:none}.inspector-heightmap{margin-top:10px}.inspector-heightmap label{display:block;font-size:11px;color:#ffffff80;margin-bottom:6px}.inspector-heightmap-image{width:100%;height:auto;border-radius:4px;border:1px solid rgba(255,255,255,.1);image-rendering:pixelated}.rendering-panel{position:absolute;width:280px;max-height:90vh;background:#14141ef2;border:1px solid rgba(255,255,255,.1);border-radius:8px;z-index:100;overflow:hidden;box-shadow:0 4px 20px #00000080;display:flex;flex-direction:column}.rendering-panel.dragging{opacity:.9;cursor:grabbing}.rendering-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;-webkit-user-select:none;user-select:none}.rendering-panel.dragging .rendering-header{cursor:grabbing}.rendering-header h3{margin:0;font-size:14px;font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}.rendering-header-icon{font-size:16px}.rendering-close{background:none;border:none;color:#fff9;font-size:20px;cursor:pointer;padding:0;line-height:1}.rendering-close:hover{color:#fff}.rendering-content{padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1}.rendering-section{display:flex;flex-direction:column;gap:10px}.rendering-section-header{font-size:11px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:6px}.rendering-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.rendering-row label{font-size:12px;color:#fffc;flex-shrink:0}.rendering-toggle{position:relative;width:40px;height:22px;background:#ffffff1a;border-radius:11px;cursor:pointer;transition:background .2s}.rendering-toggle.active{background:#50b47899}.rendering-toggle:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;background:#ffffffe6;border-radius:50%;transition:transform .2s}.rendering-toggle.active:after{transform:translate(18px)}.rendering-slider{flex:1;display:flex;flex-direction:column;gap:4px}.rendering-slider-header{display:flex;justify-content:space-between;align-items:center}.rendering-slider-header label{font-size:12px;color:#fffc}.rendering-slider-value{font-size:11px;color:#ffffff80;font-family:monospace;min-width:40px;text-align:right}.rendering-slider input[type=range]{width:100%;height:4px;background:#ffffff1a;border-radius:2px;outline:none;-webkit-appearance:none}.rendering-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 1px 4px #0000004d}.rendering-slider input[type=range]::-moz-range-thumb{width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer;border:none}.rendering-info{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#ffffff80;padding:6px 0}.rendering-info-value{color:#ffffffb3;font-family:monospace}.rendering-select{background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:6px 10px;color:#ffffffe6;font-size:12px;cursor:pointer;outline:none;min-width:100px}.rendering-select:hover:not(:disabled){border-color:#ffffff40}.rendering-select:focus{border-color:#5078c880}.rendering-select:disabled{opacity:.5;cursor:not-allowed}.rendering-select option{background:#1a1a2e;color:#ffffffe6}.rendering-input{background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:6px 10px;color:#ffffffe6;font-size:12px;outline:none;width:80px}.rendering-input:hover:not(:disabled){border-color:#ffffff40}.rendering-input:focus{border-color:#5078c880}.rendering-input:disabled{opacity:.5;cursor:not-allowed}.rendering-button{padding:8px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fffc;font-size:12px;cursor:pointer;transition:all .2s}.rendering-button:hover{background:#ffffff26;border-color:#fff3}.rendering-button.primary{background:#5078c866;border-color:#5078c880}.rendering-button.primary:hover{background:#5078c899}.rendering-debug-info{padding:8px;background:#0000004d;border-radius:4px;font-size:11px;color:#fff9}.rendering-content.disabled{opacity:.5;pointer-events:none}.rendering-status{display:flex;align-items:center;gap:6px;font-size:11px;padding:6px 10px;background:#0003;border-radius:4px;margin-top:4px}.rendering-status-dot{width:8px;height:8px;border-radius:50%;background:#ffffff4d}.rendering-status-dot.active{background:#4c8;box-shadow:0 0 6px #44cc8880}.rendering-status-text{color:#fff9}.scene-panel{position:absolute;width:320px;background:#14141ef2;border:1px solid rgba(255,255,255,.1);border-radius:8px;z-index:100;overflow:hidden;box-shadow:0 4px 20px #00000080}.scene-panel.dragging{opacity:.9;cursor:grabbing}.scene-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#6450b44d;border-bottom:1px solid rgba(255,255,255,.1);cursor:grab;-webkit-user-select:none;user-select:none}.scene-panel.dragging .scene-header{cursor:grabbing}.scene-header h3{margin:0;font-size:14px;font-weight:600;color:#c8f}.scene-close{background:none;border:none;color:#fff9;font-size:18px;cursor:pointer;padding:0;line-height:1}.scene-close:hover{color:#fff}.scene-content{padding:12px;display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.scene-current{background:#0003;border-radius:6px;padding:10px}.scene-current-label{font-size:10px;color:#ffffff80;text-transform:uppercase;margin-bottom:8px}.scene-current-actions{display:flex;align-items:center;gap:8px}.scene-current-name{flex:1;font-size:13px;color:#fff;font-weight:500}.scene-action-btn{padding:4px 10px;border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.scene-save{background:linear-gradient(135deg,#64b48299,#50966e99)}.scene-save:hover:not(:disabled){background:linear-gradient(135deg,#64b482cc,#50966ecc)}.scene-new{background:linear-gradient(135deg,#648cc899,#5078b499)}.scene-new:hover:not(:disabled){background:linear-gradient(135deg,#648cc8cc,#5078b4cc)}.scene-action-btn:disabled{opacity:.4;cursor:not-allowed}.scene-save-as{display:flex;gap:6px}.scene-name-input{flex:1;padding:6px 8px;background:#0006;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-size:12px;outline:none}.scene-name-input:focus{border-color:#64b48299}.scene-save-confirm{padding:6px 12px;background:linear-gradient(135deg,#64b48299,#50966e99);border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:600;cursor:pointer}.scene-save-confirm:hover:not(:disabled){background:linear-gradient(135deg,#64b482cc,#50966ecc)}.scene-save-confirm:disabled{opacity:.4;cursor:not-allowed}.scene-save-cancel{padding:6px 10px;background:#ffffff1a;border:none;border-radius:4px;color:#ffffffb3;font-size:11px;cursor:pointer}.scene-save-cancel:hover{background:#ffffff26;color:#fff}.scene-list{background:#0003;border-radius:6px;overflow:hidden}.scene-list-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;font-size:11px;color:#fff9;background:#0003}.scene-refresh{padding:2px 8px;background:#ffffff1a;border:none;border-radius:3px;color:#fff9;font-size:10px;cursor:pointer}.scene-refresh:hover:not(:disabled){background:#ffffff26;color:#fff}.scene-refresh:disabled{opacity:.4;cursor:not-allowed}.scene-list-items{max-height:250px;overflow-y:auto}.scene-list-loading,.scene-list-empty{padding:16px;text-align:center;font-size:11px;color:#fff6}.scene-list-item{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;transition:background .15s}.scene-list-item:hover{background:#6450b433}.scene-list-item-name{flex:1;font-size:12px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-list-item-date{font-size:10px;color:#fff6}.scene-list-item-load{padding:3px 8px;background:#6450b466;border:none;border-radius:3px;color:#fff;font-size:10px;cursor:pointer;opacity:0;transition:all .15s}.scene-list-item:hover .scene-list-item-load{opacity:1}.scene-list-item-load:hover:not(:disabled){background:#6450b499}.scene-list-item-load:disabled{opacity:.4;cursor:not-allowed}.dashboard{position:absolute;top:10px;left:10px;display:flex;gap:8px;z-index:100}.dash-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#14141ee6;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .2s;font-size:13px}.dash-btn:hover{background:#28283cf2;border-color:#fff3}.dash-btn.active{background:#503cc8cc;border-color:#7864ff80}.dash-btn-terra:hover{border-color:#64b48266}.dash-btn-terra.active{background:#3c7850cc;border-color:#64b48280}.dash-btn-materials:hover{border-color:#78a0c866}.dash-btn-materials.active{background:#3c648ccc;border-color:#78a0c880}.dash-btn-scene:hover{border-color:#9664c866}.dash-btn-scene.active{background:#6450b4cc;border-color:#9664c880}.dash-icon{font-weight:700;font-size:14px}.dash-label{font-weight:500}.dash-separator{width:1px;background:#ffffff26;margin:0 4px}.dash-btn-toggle{padding:8px 10px;min-width:36px}.dash-btn-toggle:not(.active){opacity:.5}.dash-btn-toggle.active{background:#6464c899;border-color:#9696ff66}.dash-btn-lighting:hover{border-color:#ffc86466}.dash-btn-lighting.active{background:#c8963299;border-color:#ffc86480}.dash-btn-hierarchy:hover{border-color:#64b4ff66}.dash-btn-hierarchy.active{background:#5078b499;border-color:#64b4ff80}.dash-btn-inspector:hover{border-color:#ff8cc866}.dash-btn-inspector.active{background:#b464b499;border-color:#ff8cc880}.dash-badge{position:absolute;top:-4px;right:-4px;background:#f8c;color:#000;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.dash-btn,.dash-create-wrapper{position:relative}.dash-btn-create:hover{border-color:#64ff9666}.dash-btn-create.active{background:#32965099;border-color:#64ff9680}.dash-create-menu{position:absolute;top:100%;left:0;margin-top:8px;background:#14141ef2;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:6px;min-width:160px;z-index:200;box-shadow:0 4px 20px #00000080}.dash-create-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:4px;color:#fffc;font-size:13px;cursor:pointer;text-align:left;transition:all .15s}.dash-create-menu button:hover{background:#64ff9626;color:#fff}.dash-create-menu button span:first-child{font-size:16px}.loading-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000}.loading-modal{background:#1a1a2e;border:1px solid #333;border-radius:8px;padding:24px 32px;min-width:320px;text-align:center}.loading-modal h2{margin:0 0 16px;font-size:18px;font-weight:500;color:#fff}.loading-modal-progress{height:8px;background:#333;border-radius:4px;overflow:hidden;margin-bottom:12px}.loading-modal-progress-bar{height:100%;background:linear-gradient(90deg,#4a9eff,#7b68ee);border-radius:4px;transition:width .15s ease-out}.loading-modal-stats{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.loading-modal-percentage{color:#4a9eff;font-weight:600}.loading-modal-count{color:#888}.loading-modal-message{color:#aaa;font-size:12px;min-height:16px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}.app{width:100%;height:100%;background:#0a0a0d}.placement-indicator{position:fixed;top:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 24px;background:#3c78c8e6;border:2px solid rgba(100,160,255,.8);border-radius:8px;color:#fff;font-size:14px;font-weight:600;z-index:1000;box-shadow:0 4px 20px #00000080;animation:pulse 1.5s ease-in-out infinite}.placement-indicator .placement-hint{font-size:11px;font-weight:400;opacity:.7}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.camera-mode-toggle{position:fixed;bottom:20px;left:50%;transform:translate(-50%);padding:10px 24px;background:#1e1e28e6;border:1px solid rgba(100,100,120,.5);border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;z-index:1000;transition:all .2s ease}.camera-mode-toggle:hover{background:#323246f2;border-color:#788cc8b3}.password-gate{position:fixed;inset:0;background:#0a0a12;display:flex;align-items:center;justify-content:center;z-index:10000}.password-gate-box{background:#14141ef2;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:40px;text-align:center;min-width:300px}.password-gate-box h1{margin:0 0 8px;font-size:24px;color:#fff;font-weight:600}.password-gate-box p{margin:0 0 24px;color:#ffffff80;font-size:14px}.password-gate-box form{display:flex;flex-direction:column;gap:12px}.password-gate-box input{padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:14px;outline:none;transition:border-color .2s}.password-gate-box input:focus{border-color:#6496ff80}.password-gate-box input::placeholder{color:#ffffff4d}.password-gate-box button{padding:12px 24px;background:#5064c8cc;border:1px solid rgba(100,120,255,.3);border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.password-gate-box button:hover{background:#6478dce6;border-color:#788cff80}.password-gate-error{margin-top:12px;color:#f66;font-size:13px}
