.parameter-panel h2{font-size:1.125rem;margin:0 0 1rem;color:#2d3748;font-weight:600}.param-group{margin-bottom:1.5rem}.param-group h3{font-size:.875rem;font-weight:600;color:#4a5568;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.param-field{margin-bottom:1rem}.param-field label{display:flex;flex-direction:column;font-size:.875rem;font-weight:500;color:#2d3748;gap:.25rem}.param-field input{margin-top:.25rem;padding:.5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;transition:border-color .2s}.param-field input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.param-field input:disabled{background:#f7fafc;color:#a0aec0;cursor:not-allowed}.param-hint{font-size:.75rem;color:#718096;font-style:italic}.param-info{background:#edf2f7;padding:.75rem;border-radius:6px;margin-top:1rem}.param-info p{margin:0;font-size:.75rem;color:#4a5568;line-height:1.4}.param-info strong{color:#2d3748}.axis-configuration h2{font-size:1.125rem;margin:0 0 1rem;color:#2d3748;font-weight:600}.axis-control{padding:1rem;background:#f7fafc;border-radius:8px;margin-bottom:1rem}.axis-control h3{font-size:.875rem;font-weight:600;color:#667eea;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.axis-field{margin-bottom:.75rem}.axis-field:last-child{margin-bottom:0}.axis-field label{display:flex;flex-direction:column;font-size:.8125rem;font-weight:500;color:#2d3748;gap:.25rem}.axis-field select,.axis-field input[type=number]{margin-top:.25rem;padding:.5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;background:#fff;transition:border-color .2s}.axis-field select:focus,.axis-field input[type=number]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.axis-field select:disabled,.axis-field input:disabled{background:#edf2f7;color:#a0aec0;cursor:not-allowed}.axis-description{font-size:.75rem;color:#718096;font-style:italic;margin-top:.25rem}.axis-range{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}.checkbox-label{flex-direction:row!important;align-items:center;gap:.5rem!important;cursor:pointer}.checkbox-label input[type=checkbox]{margin:0;width:18px;height:18px;cursor:pointer;accent-color:#667eea}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.axis-info{background:#edf2f7;padding:.75rem;border-radius:6px;margin-top:1rem}.axis-info p{margin:0;font-size:.75rem;color:#4a5568;line-height:1.4}.axis-info strong{color:#2d3748}.fault-upload h2{font-size:1.125rem;margin:0 0 1rem;color:#2d3748;font-weight:600}.upload-area{text-align:center;padding:1.5rem;border:2px dashed #cbd5e0;border-radius:8px;background:#f7fafc;transition:border-color .2s,background-color .2s}.upload-area:hover{border-color:#667eea;background:#edf2f7}.upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;cursor:pointer;font-weight:600;transition:transform .2s,box-shadow .2s}.upload-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.upload-button svg{width:20px;height:20px}.upload-hint{margin:.75rem 0 0;font-size:.75rem;color:#718096}.uploaded-files{margin-top:1rem;padding:1rem;background:#f7fafc;border-radius:8px}.files-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.files-header h3{font-size:.875rem;font-weight:600;color:#2d3748;margin:0}.clear-button{padding:.375rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#e53e3e;font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .2s}.clear-button:hover:not(:disabled){background:#fff5f5}.clear-button:disabled{opacity:.5;cursor:not-allowed}.file-list{list-style:none;padding:0;margin:0}.file-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border-radius:6px;margin-bottom:.5rem;font-size:.875rem;color:#2d3748}.file-item:last-child{margin-bottom:0}.file-item svg{color:#48bb78;flex-shrink:0}.upload-info{background:#edf2f7;padding:.75rem;border-radius:6px;margin-top:1rem}.upload-info p{margin:0;font-size:.75rem;color:#4a5568;line-height:1.4}.upload-info strong{color:#2d3748}.plot2d-container{display:flex;flex-direction:column;height:100%;gap:1rem}.plot2d{flex:1;min-height:0}.plot-info{background:#edf2f7;padding:.75rem 1rem;border-radius:6px}.plot3d-container{display:flex;flex-direction:column;height:100%;position:relative}.plot3d{flex:1;position:relative;min-height:0;background:#f7fafc}.plot3d-controls{padding:1rem;background:#fff;border-top:1px solid #e2e8f0}.plot-info{margin-bottom:1rem}.plot-info p{margin:0;font-size:.875rem;color:#4a5568;line-height:1.4}.plot-info strong{color:#2d3748}.plot3d-legend{padding:1rem;background:#f7fafc;border-radius:6px}.plot3d-legend h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#2d3748}.legend-gradient{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:#718096}.gradient-bar{flex:1;height:20px;background:linear-gradient(to right,navy,#334dcc,#6680ff,#b3b3ff,#e6e6e6);border-radius:4px;border:1px solid #cbd5e0}.legend-gradient span{white-space:nowrap;font-weight:500}.app{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column}.app-header{background:#fffffff2;padding:1.5rem 2rem;box-shadow:0 2px 8px #0000001a;text-align:center}.app-header h1{margin:0;font-size:2rem;color:#2d3748;font-weight:700}.app-header p{margin:.5rem 0 0;color:#718096;font-size:1rem}.app-container{flex:1;display:flex;gap:1rem;padding:1rem;max-width:1920px;margin:0 auto;width:100%}.sidebar{width:380px;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;overflow-y:auto;max-height:calc(100vh - 120px)}.control-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.control-section:last-child{border-bottom:none}.control-section h2{font-size:1.125rem;margin:0 0 1rem;color:#2d3748;font-weight:600}.mode-selector{display:flex;gap:.5rem}.mode-selector button{flex:1;padding:.75rem;border:2px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-weight:600;color:#4a5568;transition:all .2s}.mode-selector button:hover:not(:disabled){border-color:#667eea;color:#667eea}.mode-selector button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.mode-selector button:disabled{opacity:.5;cursor:not-allowed}.sampling-control{display:flex;flex-direction:column;gap:.5rem}.sampling-control label{font-weight:500;color:#4a5568}.sampling-control input[type=range]{width:100%;margin-top:.5rem}.run-button{width:100%;padding:1rem;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;border-radius:8px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.run-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #48bb7866}.run-button:disabled{background:#cbd5e0;cursor:not-allowed;transform:none}.warning{margin-top:.5rem;color:#e53e3e;font-size:.875rem;font-weight:500}.main-content{flex:1;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;display:flex;flex-direction:column}.visualization-container{flex:1;display:flex;flex-direction:column;padding:1rem}.placeholder{flex:1;display:flex;align-items:center;justify-content:center}.placeholder-content{text-align:center;color:#718096}.placeholder-content h2{font-size:1.5rem;margin-bottom:.5rem;color:#4a5568}.placeholder-content p{font-size:1rem}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:#f7fafc;border-radius:4px}.sidebar::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.sidebar::-webkit-scrollbar-thumb:hover{background:#a0aec0}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:5px}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#555}
