:root{--bg-primary: #0f0f0f;--bg-secondary: #1a1a1a;--bg-tertiary: #242424;--bg-hover: #2a2a2a;--bg-active: #333333;--bg-input: #1e1e1e;--border-primary: #333333;--border-secondary: #404040;--border-accent: #4a4a4a;--border-dashed: #505050;--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .6);--text-tertiary: rgba(255, 255, 255, .4);--accent-primary: #646cff;--accent-hover: #535bf2;--accent-active: #4248d6;--success: #4ade80;--warning: #fbbf24;--danger: #ef4444;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;font-family:Segoe UI,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-size:14px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary)}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}#root{width:100vw;height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;margin:0}h1{font-size:2rem;line-height:1.2}h2{font-size:1.5rem;line-height:1.3}h3{font-size:1.25rem;line-height:1.4;margin-bottom:var(--spacing-md)}h4{font-size:1.1rem;line-height:1.4}h5{font-size:1rem;line-height:1.5}a{font-weight:500;color:var(--accent-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-hover)}.app-container{display:flex;height:100vh;width:100vw;background-color:var(--bg-primary)}.sidebar{width:260px;padding:var(--spacing-sm);background-color:var(--bg-secondary);border-right:1px solid var(--border-primary);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--spacing-sm)}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:var(--bg-secondary)}.sidebar::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:4px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--border-accent)}.viewport{flex:1;position:relative;background-color:var(--bg-primary)}.panel{background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px;padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.panel:last-child{margin-bottom:0}.panel-header{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.panel-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.drop-zone{border:2px dashed var(--border-dashed);border-radius:6px;padding:var(--spacing-md);text-align:center;background-color:var(--bg-input);transition:all .2s ease;cursor:pointer}.drop-zone:hover{border-color:var(--accent-primary);background-color:var(--bg-hover)}.drop-zone-label{color:var(--text-secondary);margin-bottom:var(--spacing-sm);font-size:.9rem}.drop-zone input[type=file]{width:100%;font-size:.85rem;color:var(--text-secondary);cursor:pointer}.drop-zone input[type=file]::file-selector-button{background-color:var(--bg-active);border:1px solid var(--border-secondary);border-radius:4px;padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.85rem}.drop-zone input[type=file]::file-selector-button:hover{background-color:var(--bg-hover);border-color:var(--accent-primary)}button{border-radius:4px;border:1px solid var(--border-secondary);padding:.5rem 1rem;font-size:.9rem;font-weight:500;font-family:inherit;background-color:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all .2s ease;white-space:nowrap}button:hover{background-color:var(--bg-hover);border-color:var(--accent-primary)}button:active{background-color:var(--bg-active);transform:scale(.98)}button:focus,button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff}button.primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}button.danger{background-color:transparent;border-color:var(--danger);color:var(--danger);padding:.25rem .5rem;font-size:.85rem}button.danger:hover{background-color:var(--danger);color:#fff}button.active{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600}input[type=text],input[type=number],input[type=email],input[type=password],textarea,select{width:100%;padding:.4rem .6rem;font-size:.9rem;font-family:inherit;color:var(--text-primary);background-color:var(--bg-input);border:1px solid var(--border-secondary);border-radius:4px;transition:all .2s ease}input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-primary);background-color:var(--bg-secondary)}input[type=text]:hover,input[type=number]:hover,textarea:hover,select:hover{border-color:var(--border-accent)}textarea{resize:vertical;min-height:100px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.85rem;line-height:1.4}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.form-group:last-child{margin-bottom:0}.form-label{font-size:.85rem;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:var(--spacing-xs)}.form-row{display:flex;gap:var(--spacing-sm);align-items:center}.form-row .form-label{min-width:80px;margin:0}.form-row input{flex:1;width:100%}.input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-group-label{font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}ul{list-style:none;padding:0;margin:0}.thruster-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto}.thruster-list::-webkit-scrollbar{width:6px}.thruster-list::-webkit-scrollbar-track{background:var(--bg-tertiary)}.thruster-list::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}.thruster-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--bg-input);border-radius:4px;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.thruster-list-item:hover{background-color:var(--bg-hover);border-color:var(--border-accent)}.thruster-list-item.selected{background-color:var(--bg-active);border-color:var(--accent-primary)}.thruster-list-item-label{flex:1;color:var(--text-primary);font-size:.9rem;font-family:Consolas,Monaco,monospace}.thruster-list-item button{padding:.15rem .4rem;font-size:.75rem;min-width:unset}.toolbar{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px}.toolbar-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.toolbar-group{display:flex;gap:var(--spacing-xs)}.toolbar button{padding:.4rem .8rem;font-size:.85rem}.info-display{padding:var(--spacing-sm);background-color:var(--bg-input);border:1px solid var(--border-secondary);border-radius:4px;font-size:.9rem;color:var(--text-secondary)}.info-display strong{color:var(--text-primary);font-weight:600}.properties-form{font-size:.9rem}.properties-section{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-primary)}.properties-section:first-child{margin-top:0;padding-top:0;border-top:none}.properties-section-title{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.1em}
