@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg-app:#0d1117;--bg-panel:#161b22;--bg-header:#010409;--bg-hover:#21262d;--border-color:#30363d;--text-primary:#e6edf3;--text-secondary:#8b949e;--accent:#0094c6;--accent-hover:#005e7c;--danger:#f85149;--success:#2ea043;--warning:#d29922;--overlay-bg:#000c}.light{--bg-app:#f3f4f6;--bg-panel:#fff;--bg-header:#f9fafb;--bg-hover:#e5e7eb;--border-color:#d1d5db;--text-primary:#111827;--text-secondary:#6b7280;--accent:#0094c6;--accent-hover:#005e7c;--overlay-bg:#fff9}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}body{background-color:var(--bg-app);color:var(--text-primary);height:100vh;transition:background-color .3s,color .3s;overflow:hidden}#root,#app{background-color:var(--bg-app);flex-direction:column;width:100%;height:100vh;display:flex}.landing-page{background-color:var(--bg-app);width:100%;height:100vh;color:var(--text-primary);overflow-y:auto}.landing-header{border-bottom:1px solid var(--border-color);background:var(--bg-header);justify-content:space-between;align-items:center;padding:20px 40px;display:flex}.landing-header .logo{color:var(--text-primary);font-size:20px;font-weight:700}.nav-links{align-items:center;gap:24px;display:flex}.nav-links a{color:var(--text-secondary);font-weight:500;text-decoration:none;transition:all .2s}.nav-links a:hover{color:var(--text-primary)}.login-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;padding:8px 20px;font-weight:600;transition:all .2s}.login-btn:hover{background:var(--accent);color:#fff}.hero-section{text-align:center;max-width:800px;margin:0 auto;padding:100px 20px}.hero-section h1{letter-spacing:-1px;margin-bottom:20px;font-size:48px;font-weight:800;line-height:1.2}.text-accent{color:var(--accent)}.hero-section p{color:var(--text-secondary);margin-bottom:40px;font-size:18px;line-height:1.6}.hero-buttons{justify-content:center;gap:16px;display:flex}.cta-btn{background:var(--accent);color:#fff;border-radius:8px;padding:14px 32px;font-size:16px;font-weight:600;text-decoration:none;transition:all .2s;box-shadow:0 4px 12px #2f81f74d}.cta-btn:hover{background:var(--accent-hover);transform:translateY(-2px)}.secondary-btn{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:14px 32px;font-size:16px;font-weight:600;transition:all .2s}.secondary-btn:hover{background:var(--bg-hover)}.pricing-section{background:var(--bg-panel);text-align:center;border-top:1px solid var(--border-color);padding:80px 20px}.pricing-section h2{margin-bottom:10px;font-size:32px}.pricing-card{background:var(--bg-app);border:1px solid var(--border-color);text-align:left;border-radius:12px;max-width:400px;margin:40px auto;padding:40px;box-shadow:0 10px 30px #0000001a}.pricing-card h3{color:var(--text-secondary);margin-bottom:16px;font-size:20px}.pricing-card .price{color:var(--text-primary);margin-bottom:24px;font-size:48px;font-weight:800}.features-list{margin-bottom:32px;list-style:none}.features-list li{color:var(--text-secondary);align-items:center;gap:10px;margin-bottom:12px;display:flex}.features-list i{color:var(--success)}.paypal-container{z-index:1;margin-top:20px;position:relative}.auth-modal-overlay{background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-modal{background:var(--bg-panel);border:1px solid var(--border-color);width:100%;max-width:360px;color:var(--text-primary);border-radius:12px;padding:32px;box-shadow:0 10px 40px #0003}.auth-modal h2{margin-bottom:8px;font-size:24px}.auth-modal p{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.auth-modal input{background:var(--bg-app);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:6px;outline:none;margin-bottom:16px;padding:12px;font-size:14px;transition:all .2s}.auth-modal input:focus{border-color:var(--accent)}.submit-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:12px;font-weight:600;transition:all .2s}.submit-btn:hover{background:var(--accent-hover)}.main-container{flex:1;display:flex;overflow:hidden}.left-panel{background:var(--bg-panel);border-right:1px solid var(--border-color);z-index:10;flex-direction:column;flex-shrink:0;width:320px;display:flex}.canvas-area{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.top-bar{background:var(--bg-header);border-bottom:1px solid var(--border-color);align-items:center;gap:20px;height:50px;padding:0 20px;transition:all .3s;display:flex}.app-title{color:var(--accent);letter-spacing:-.5px;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.menu-group{align-items:center;gap:8px;display:flex}.menu-btn{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000d}.menu-btn:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--text-secondary)}.menu-btn:disabled{opacity:.5;cursor:not-allowed}.menu-btn.icon-only{padding:6px 10px}.menu-btn.btn-blast{border-color:var(--success);color:var(--success);font-weight:600}.menu-btn.btn-blast:hover:not(:disabled){background-color:#2ea0431a}.menu-btn.btn-blast.active{color:var(--success);border-color:var(--success);background-color:#2ea04333}.divider{background:var(--border-color);width:1px;height:24px}.user-profile-group{border-left:1px solid var(--border-color);align-items:center;gap:12px;margin-left:auto;padding-left:20px;display:flex}.user-greeting{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:600;transition:color .2s;display:flex}.user-greeting i{color:var(--accent);font-size:18px}.user-greeting:hover{color:var(--accent)}.logout-btn:hover{color:var(--danger);border-color:var(--danger);background:#f851491a}.panel-tabs{border-bottom:1px solid var(--border-color);background:var(--bg-header);display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 0;font-size:12px;font-weight:500;transition:all .2s;display:flex}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--bg-panel)}.panel-content{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.prop-group{background:var(--bg-app);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;padding:12px}.prop-header{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin-bottom:10px;font-size:10px;font-weight:600}.prop-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:6px 0;font-size:12px;display:flex}.prop-row:last-child{border-bottom:none;padding-bottom:0}.prop-row input{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-primary);text-align:right;border-radius:4px;outline:none;width:80px;padding:4px 8px;font-size:12px}.prop-row input:focus{border-color:var(--accent)}.explorer-toolbar{gap:6px;margin-bottom:8px;display:flex}.search-box{background:var(--bg-app);border:1px solid var(--border-color);border-radius:6px;flex:1;align-items:center;padding:0 8px;transition:border-color .2s;display:flex;position:relative}.search-box:focus-within{border-color:var(--accent)}.search-box i.fa-search{color:var(--text-secondary);font-size:12px}.search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;width:100%;padding:8px;font-size:12px}.clear-search{cursor:pointer;color:var(--text-secondary);font-size:12px;transition:all .2s}.clear-search:hover{color:var(--danger)}.icon-btn{background:var(--bg-app);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:0 12px;transition:all .2s}.icon-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.cad-full-btn{background:var(--bg-app);border:1px dashed var(--border-color);width:100%;color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:12px;font-size:12px;font-weight:500;transition:all .2s}.cad-full-btn:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--accent);border-style:solid}.cad-layer-tree{flex-direction:column;gap:4px;display:flex}.layer-group{border:1px solid var(--border-color);background:var(--bg-app);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.layer-group.drag-over{border-color:var(--accent);box-shadow:0 0 0 2px #2f81f733}.tree-item{background:var(--bg-panel);justify-content:space-between;align-items:center;padding:6px 8px;transition:background .2s;display:flex}.tree-item:hover{background:var(--bg-hover)}.tree-item.layer-hidden{opacity:.6;background:var(--bg-app)}.tree-item.layer-hidden .layer-name{text-decoration:line-through}.tree-item-left{flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}.expand-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;width:16px;padding:2px 4px;font-size:10px}.expand-btn:hover{color:var(--accent)}.layer-checkbox{cursor:pointer;width:14px;height:14px;accent-color:var(--accent)}.layer-name{white-space:nowrap;text-overflow:ellipsis;cursor:default;font-size:12px;font-weight:600;overflow:hidden}.rename-input{background:var(--bg-panel);border:1px solid var(--accent);color:var(--text-primary);border-radius:4px;outline:none;flex:1;min-width:0;padding:2px 4px;font-size:12px}.layer-badge{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:10px;padding:2px 6px;font-size:10px;font-weight:600}.type-icon-csv{color:var(--danger);font-size:12px}.type-icon-dtm{color:var(--success);font-size:12px}.type-icon-custom{color:var(--warning);font-size:12px}.tree-item-actions{opacity:0;gap:4px;transition:opacity .2s;display:flex}.tree-item:hover .tree-item-actions{opacity:1}.tree-item-actions button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:11px}.tree-item-actions button:hover{background:var(--bg-hover);color:var(--accent)}.tree-item-actions button.danger:hover{color:var(--danger)}.layer-children{border-top:1px solid var(--border-color);background:#0003;max-height:60vh;overflow-y:auto}.light .layer-children{background:#00000008}.light .layer-name{color:var(--text-primary)}.bulk-actions{color:var(--text-secondary);border-bottom:1px solid var(--border-color);background:var(--bg-hover);justify-content:flex-end;gap:8px;padding:6px 12px;font-size:10px;display:flex}.bulk-actions button{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:10px}.bulk-actions button:hover{text-decoration:underline}.child-item{color:var(--text-secondary);border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:4px 10px 4px 24px;font-size:11px;display:flex}.child-item:last-child{border-bottom:none}.child-item:hover{background:var(--bg-hover);color:var(--text-primary)}.child-item.selected{color:var(--accent);border-left:2px solid var(--accent);background:#2f81f71a;padding-left:22px}.child-item.child-hidden{opacity:.5}.child-item.child-hidden .child-content span{text-decoration:line-through}.drag-handle{cursor:grab;opacity:.3;padding-right:4px;font-size:12px;transition:all .2s}.child-item:hover .drag-handle{opacity:1}.child-content{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}#app.section-active .scene-viewer canvas{cursor:crosshair}#app.tool-select .scene-viewer canvas{cursor:crosshair!important}#app.tool-pan .scene-viewer canvas{cursor:grab!important}#app.tool-pan .scene-viewer canvas:active{cursor:grabbing!important}#app.tool-section .scene-viewer canvas{cursor:crosshair!important}.cad-popup{background:var(--bg-panel);border:1px solid var(--accent);pointer-events:auto;border-radius:8px;flex-direction:column;gap:6px;width:180px;padding:8px;display:flex;transform:translate(-50%,-110%);box-shadow:0 8px 32px #0003}.cad-popup-title{color:var(--text-secondary);text-transform:uppercase;text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:4px;padding-bottom:6px;font-size:11px;font-weight:700}.cad-popup-input{background:var(--bg-app);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;outline:none;width:100%;margin-bottom:8px;padding:6px;font-size:12px}.cad-popup-input:focus{border-color:var(--accent)}.cad-popup-btn{background:var(--bg-app);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.cad-popup-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.cad-popup-btn.cancel{color:var(--text-secondary);background:0 0;border-color:#0000;justify-content:center;margin-top:2px;padding:4px;font-size:11px}.cad-popup-btn.cancel:hover{background:var(--danger);color:#fff}.live-slice-controller{background:var(--bg-panel);border:1px solid var(--accent);z-index:10;opacity:.95;border-radius:8px;flex-direction:column;gap:8px;width:180px;padding:12px;display:flex;position:absolute;bottom:24px;right:24px;box-shadow:0 8px 32px #0003}.slice-row{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:11px;display:flex}.slice-input{background:var(--bg-app);border:1px solid var(--border-color);color:var(--text-primary);text-align:right;border-radius:4px;outline:none;width:60px;padding:4px 6px;font-size:11px}.slice-input:focus{border-color:var(--accent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.drag-select-box{border:1px solid var(--accent);pointer-events:none;z-index:100;background:#2f81f726;position:absolute}.canvas-tooltip{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-primary);pointer-events:none;z-index:50;border-radius:6px;padding:6px 10px;font-size:11px;position:absolute;transform:translate(15px,15px);box-shadow:0 4px 12px #00000026}.quick-delay-box{background:var(--accent);color:#fff;pointer-events:auto;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;display:flex;box-shadow:0 4px 12px #0000004d}.quick-delay-box input{color:#fff;text-align:center;background:#0003;border:none;border-radius:4px;outline:none;width:50px;padding:2px;font-weight:700}.quick-delay-box input::-webkit-inner-spin-button{-webkit-appearance:none}.project-settings-modal{background:var(--bg-panel);border:1px solid var(--border-color);width:100%;max-width:700px;max-height:85vh;color:var(--text-primary);border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 10px 40px #0003}.modal-header{border-bottom:1px solid var(--border-color);background:var(--bg-header);justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-header h2{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;display:flex}.modal-header .debug-btn-clear{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;transition:all .2s}.modal-header .debug-btn-clear:hover{color:var(--text-primary);transform:scale(1.1)}.modal-tabs{border-bottom:1px solid var(--border-color);background:var(--bg-header);gap:4px;padding:8px 16px;display:flex;overflow-x:auto}.modal-tab-btn{min-width:140px;color:var(--text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.3px;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.modal-tab-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);background:#2f81f71a}.modal-content{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.section-title{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;align-items:center;gap:8px;margin:0 0 16px;font-size:12px;font-weight:700;display:flex}.settings-grid-2col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.explosives-list{grid-template-columns:1fr;gap:12px;display:grid}.settings-checkbox-label{background:var(--bg-app);border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);border-radius:6px;align-items:center;gap:12px;padding:10px;font-size:12px;transition:all .2s;display:flex}.settings-checkbox-label:hover{background:var(--bg-hover);border-color:var(--accent)}.settings-checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--accent)}.settings-checkbox-label span{align-items:center;gap:6px;display:flex}.explosive-item{border:1px solid #d299224d;border-left:3px solid var(--warning);background:#d2992214;border-radius:6px;padding:12px}.explosive-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.explosive-header label{color:var(--text-primary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.explosive-value{color:var(--warning);font-size:11px;font-weight:700}.explosive-input{border:1px solid var(--border-color);background:var(--bg-panel);width:100%;color:var(--text-primary);text-align:center;border-radius:4px;outline:none;padding:8px;font-size:12px;font-weight:600;transition:border-color .2s}.explosive-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2f81f71a}.settings-card{background:var(--bg-app);border:1px solid var(--border-color);border-radius:6px;padding:12px}.settings-card.success{border-left:3px solid var(--success)}.settings-card.warning{border-left:3px solid var(--warning)}.settings-label{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.settings-select{border:1px solid var(--border-color);background:var(--bg-panel);width:100%;color:var(--text-primary);cursor:pointer;border-radius:4px;outline:none;padding:10px;font-size:12px;font-weight:500;transition:border-color .2s}.settings-select:focus{border-color:var(--accent)}.slider-group{align-items:center;gap:8px;display:flex}.settings-slider{cursor:pointer;height:6px;accent-color:var(--success);flex:1}.slider-value{color:var(--success);text-align:right;min-width:50px;font-size:12px;font-weight:600}.info-box{color:var(--text-secondary);background:#2f81f71a;border-radius:6px;align-items:center;gap:8px;margin-bottom:12px;padding:12px;font-size:12px;display:flex}.info-list{color:var(--text-secondary);font-size:11px;line-height:1.8}.info-list div{justify-content:space-between;display:flex}.help-text{color:var(--text-secondary);margin-top:6px;font-size:11px;font-style:italic}.empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:12px}.empty-state i{opacity:.5;margin-bottom:12px;font-size:32px;display:block}.modal-footer{border-top:1px solid var(--border-color);background:var(--bg-header);gap:8px;padding:16px 20px;display:flex}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--text-secondary)}.btn-primary{background:var(--success);color:#fff;cursor:pointer;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.btn-primary:hover{background:#25963a;transform:translateY(-1px)}.btn-primary-full{background:var(--success);color:#fff;cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;gap:6px;width:100%;padding:10px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.btn-primary-full:hover{background:#25963a}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:0 0}.modal-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.quick-delay-container{background:var(--bg-panel);border:1px solid var(--accent);border-radius:6px;flex-direction:column;gap:6px;min-width:90px;padding:6px;display:flex;box-shadow:0 4px 15px #00000080}.quick-delay-buttons{gap:4px;display:flex}.quick-delay-buttons button{background:var(--bg-hover);border:1px solid var(--border-color);color:var(--accent);cursor:pointer;border-radius:4px;flex:1;padding:4px;font-size:11px;font-weight:800;transition:all .2s}.quick-delay-buttons button:hover{background:var(--accent);color:#fff}.quick-delay-input-row{background:var(--bg-app);border:1px solid var(--border-color);border-radius:4px;align-items:center;gap:5px;padding:4px 6px;display:flex}.quick-delay-input-row input{color:#fff;background:0 0;border:none;outline:none;width:45px;font-size:12px;font-weight:700}.quick-delay-input-row span{color:var(--text-secondary);font-size:10px}.excel-table-wrapper{border-top:1px solid var(--border-color);background:var(--bg-panel);flex:1;max-height:calc(85vh - 130px);position:relative;overflow:auto}.excel-table{border-collapse:separate;border-spacing:0;width:100%;color:var(--text-primary);font-size:11px}.excel-table th{background:var(--bg-header);text-align:left;border-bottom:2px solid var(--border-color);border-right:1px solid var(--border-color);white-space:nowrap;z-index:10;box-shadow:0 1px 0 var(--border-color);outline:1px solid var(--bg-header);background-clip:padding-box;padding:8px 12px;font-weight:600;position:sticky;top:0}.excel-table th:last-child,.excel-table td:last-child{border-right:none}.excel-table td{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);white-space:nowrap;padding:4px 12px}.excel-table tr:hover td{background:var(--bg-hover)}.excel-table tr.selected td{background:#2f81f726}.table-input{color:var(--accent);cursor:text;background:0 0;border:1px solid #0000;border-radius:3px;width:100%;min-width:60px;padding:4px 6px;font-size:11px;font-weight:700;transition:all .2s}.table-input:focus{background:var(--bg-app);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);outline:none}.table-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.table-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.table-input[type=number]{-moz-appearance:textfield}.column-menu{background:var(--bg-panel);border:1px solid var(--border-color);z-index:100;border-radius:6px;flex-direction:column;gap:4px;min-width:180px;margin-top:5px;padding:8px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0006}.mobile-blocker{background:var(--bg-app);z-index:99999;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px;animation:.3s ease-in-out fadeIn;display:none;position:fixed;inset:0}.mobile-blocker .icon-container{border:1px solid var(--warning);background:#d299221a;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin-bottom:24px;display:flex}.mobile-blocker i{color:var(--warning);font-size:42px}.mobile-blocker h2{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:12px;font-size:24px;font-weight:800}.mobile-blocker p{color:var(--text-secondary);max-width:400px;font-size:15px;line-height:1.6}@media screen and (width<=850px){.mobile-blocker{display:flex}#app,.landing-page{display:none!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.canvas-label{color:#fff;white-space:nowrap;pointer-events:none;background:#000000b3;border:1px solid #fff3;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.light .canvas-label{color:#111827;background:#ffffffe6;border:1px solid #00000026}.child-actions{opacity:0;gap:4px;margin-left:auto;transition:opacity .2s;display:flex}.child-item:hover .child-actions{opacity:1}.child-actions button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:11px}.child-actions button:hover{background:var(--bg-hover);color:var(--accent)}.child-actions button.danger:hover{color:var(--danger)}.terminal-wrapper{z-index:60;flex-direction:column;width:100%;font-family:Consolas,Courier New,monospace;display:flex;position:absolute;bottom:0;left:0}.terminal-logs-panel{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-top:1px solid var(--border-color);background-color:#0d1117f2;flex-direction:column;gap:2px;max-height:250px;padding:8px 12px;display:flex;overflow-y:auto;box-shadow:0 -4px 12px #0000004d}.terminal-logs-panel::-webkit-scrollbar{width:6px}.terminal-logs-panel::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.log-entry{font-size:.85rem;line-height:1.3}.terminal-input-row{background-color:var(--bg-panel);border-top:1px solid var(--border-color);align-items:center;height:32px;padding:0 8px;display:flex}.terminal-expand-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-right:8px;padding:4px 8px;transition:color .2s}.terminal-expand-btn:hover{color:var(--text-primary)}.terminal-prompt{color:var(--text-secondary);margin-right:8px;font-size:.85rem}.terminal-input-row input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:Consolas,Courier New,monospace;font-size:.9rem;font-weight:700}.terminal-ghost-log{opacity:.6;white-space:nowrap;text-overflow:ellipsis;text-align:right;pointer-events:none;max-width:40%;font-size:.8rem;overflow:hidden}.info{color:#8b949e}.success{color:#2ea043}.error{color:#f85149}.warning{color:#d29922}.cmd{color:#58a6ff;font-weight:700}.system{color:#a5d6ff;font-style:italic}.canvas-toolbar{background:var(--bg-panel);border:1px solid var(--border-color);z-index:100;-webkit-user-select:none;user-select:none;border-radius:12px;flex-direction:row;align-items:center;gap:4px;padding:6px 10px;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}.canvas-toolbar::-webkit-scrollbar{display:none}.toolbar-section-label{color:#444d56;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;align-self:flex-end;margin-bottom:2px;padding:0 4px;font-family:Consolas,monospace;font-size:8px;display:none}.toolbar-group{flex-direction:row;align-items:center;gap:2px;display:flex}.relative-group{position:relative}.toolbar-divider{background:#21262d;flex-shrink:0;width:1px;height:26px;margin:0 4px}.tool-btn{color:#8b949e;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:4px;min-width:28px;min-height:28px;padding:5px 7px;font-size:13px;transition:all .12s;display:inline-flex;position:relative}.tool-btn:hover{color:#e6edf3;background:#1c2128;border-color:#30363d}.tool-btn.active{color:#58a6ff;background:#1f3a5f;border-color:#1f6feb}.tool-btn.menu-open{color:#e6edf3;background:#1c2128;border-color:#30363d}.tool-btn.danger{color:#f85149}.tool-btn.danger:hover{background:#2d1214;border-color:#f85149}.tool-btn.toggle-btn.active{color:#3fb950;background:#1a3a1a;border-color:#238636}.tool-label{font-family:Consolas,monospace;font-size:10px}.tool-badge{color:#fff;background:#1f6feb;border-radius:3px;padding:0 3px;font-size:8px;font-weight:700;line-height:1.6}.tool-badge-sm{color:inherit;opacity:.7;letter-spacing:.04em;font-size:7px;font-weight:700}.caret{opacity:.5;margin-left:1px;font-size:7px!important}.tool-group-badge{background:#58a6ff;border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:3px}.tool-btn.has-submenu{padding-right:5px}.sub-toolbar-horizontal{z-index:1000;background:#161b22;border:1px solid #30363d;border-radius:8px;flex-flow:wrap;align-items:flex-start;gap:3px;min-width:180px;max-width:420px;padding:8px;animation:.12s subToolbarIn;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 32px #0009}@keyframes subToolbarIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sub-toolbar-horizontal .tool-btn{flex-direction:column;gap:3px;min-width:72px;padding:6px 8px;font-size:12px}.sub-toolbar-horizontal .tool-btn .tool-label{text-align:center;font-size:9px}.scrubber-panel{flex-wrap:nowrap;align-items:center;min-width:280px}.scrubber-panel .tool-btn{flex-direction:row;gap:0;min-width:28px;padding:5px 7px}.toolbar-scrubber-slider{appearance:none;cursor:pointer;background:#30363d;border-radius:2px;outline:none;flex:1;min-width:100px;height:4px}.toolbar-scrubber-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:grab;background:#58a6ff;border-radius:50%;width:12px;height:12px}.toolbar-scrubber-slider::-webkit-slider-thumb:active{cursor:grabbing;background:#388bfd}.toolbar-time-display{color:#8b949e;text-align:right;min-width:36px;font-family:Consolas,monospace;font-size:11px}.cad-hud-root{pointer-events:none;font-family:Consolas,monospace}.scene-viewer.tool-pan canvas{cursor:grab!important}.scene-viewer.tool-pan canvas:active{cursor:grabbing!important}.scene-viewer.tool-select canvas,.scene-viewer.tool-draw canvas{cursor:crosshair!important}.single-line-command-bar{background:var(--bg-panel);border-top:1px solid var(--border-color);width:100%;height:36px;color:var(--text-primary);z-index:1000;align-items:center;font-family:Consolas,Courier New,monospace;display:flex;position:absolute;bottom:0;left:0;box-shadow:0 -4px 15px #0000001a}.cmd-status{border-right:1px solid var(--border-color);white-space:nowrap;text-overflow:ellipsis;min-width:250px;padding:0 16px;font-size:12px;overflow:hidden}.cmd-highlight{color:var(--accent);font-weight:700}.cmd-log.error{color:var(--danger)}.cmd-log.success{color:var(--success)}.cmd-input-container{flex:1;align-items:center;padding:0 16px;display:flex}.cmd-chevron{color:var(--accent);margin-right:10px;font-size:10px}.cmd-input-container input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:Consolas,Courier New,monospace;font-size:14px}.cmd-coords{border-left:1px solid var(--border-color);text-align:right;min-width:180px;color:var(--text-secondary);font-variant-numeric:tabular-nums;padding:0 16px;font-size:12px}.layered-toolbar-container{z-index:999;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:46px;left:50%;transform:translate(-50%)}.main-category-layer{background:var(--bg-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:10px;gap:4px;padding:6px;display:flex;box-shadow:0 10px 30px #0003}.cat-btn{width:60px;height:50px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;transition:all .2s;display:flex}.cat-btn i{margin-bottom:4px;font-size:16px}.cat-btn .cat-label{font-size:10px;font-weight:600}.cat-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.cat-btn.active{color:var(--accent);background:#2f81f726}.sub-toolbar-layer{background:var(--bg-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--accent);opacity:0;pointer-events:none;border-radius:8px;gap:6px;padding:6px;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:flex;transform:translateY(10px);box-shadow:0 8px 24px #0003}.sub-toolbar-layer.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.sub-btn{color:var(--text-primary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;transition:all .15s;display:flex}.sub-btn:hover{background:var(--bg-hover)}.sub-btn.active{background:var(--accent);color:#fff;font-weight:700}.sub-btn.danger{color:var(--danger)}.sub-btn.danger:hover{background:#f851491a}.sub-divider{background:var(--border-color);width:1px;margin:0 4px}.sim-scrubber-row{align-items:center;gap:12px;display:flex}.sim-slider-wrap{color:#58a6ff;align-items:center;gap:8px;min-width:200px;font-size:12px;font-weight:700;display:flex}.sim-slider-wrap input{cursor:pointer;accent-color:#58a6ff;flex:1}.active-layer-row{border-left:2px solid #58a6ff;background:#58a6ff26!important}.active-layer-row:hover{background:#58a6ff40!important}
