.st-number-input.is-busy[data-v-da08987b]{position:relative}.st-number-loader[data-v-da08987b]{position:absolute;left:50%;top:50%;width:.95rem;height:.95rem;margin-left:-.475rem;margin-top:-.475rem;border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:999px;animation:st-spin-da08987b .7s linear infinite;pointer-events:none}@keyframes st-spin-da08987b{to{transform:rotate(360deg)}}.sidebar-fieldset[data-v-325fbc76]{border:0;padding:0;margin:0;min-inline-size:0}.part-weight-table[data-v-325fbc76]{width:100%;border-collapse:collapse;font-size:.78rem;margin:.35rem 0 .15rem}.part-weight-table td[data-v-325fbc76]{padding:.2rem .35rem;border-bottom:1px solid #eef1f5}.part-weight-table td[data-v-325fbc76]:last-child{text-align:right;font-variant-numeric:tabular-nums}.part-weight-table .part-weight-total td[data-v-325fbc76]{font-weight:700;border-top:1px solid #cbd5e1;border-bottom:none}.chart-tools[data-v-383eab35]{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:.75rem;align-items:stretch}.chart-tools.is-busy[data-v-383eab35]{opacity:.85}.chart-tool[data-v-383eab35]{flex:1 1 220px;margin:0;min-width:0}.movie-mode-bar[data-v-383eab35]{flex:1.6 1 320px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:.55rem .85rem .5rem;display:flex;flex-direction:column;justify-content:center;gap:.25rem}.movie-mode-surface[data-v-383eab35]{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .85rem}.movie-mode-title[data-v-383eab35]{font-weight:700;font-size:.95rem;color:#0f172a;white-space:nowrap}.movie-mode-actions[data-v-383eab35]{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.movie-mode-actions button[data-v-383eab35]{font-size:.78rem;padding:.35rem .7rem}.movie-mode-caption[data-v-383eab35]{margin:0;font-size:.7rem;color:#64748b}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:#f1f5f9;color:#0f172a}#app{min-height:100vh}.layout{display:grid;grid-template-columns:320px 1fr;min-height:100vh}@media(max-width:900px){.layout{grid-template-columns:1fr}}.sidebar{background:#fff;border-right:1px solid #e2e8f0;padding:1rem 1rem 1.5rem;overflow-y:auto;max-height:100vh;color:#31333f}.main{padding:1rem 1.25rem 2rem;overflow-y:auto}.card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem 1rem;box-shadow:0 1px 2px #0f172a0d}.field{margin-bottom:.75rem}.field label{display:block;font-size:.75rem;font-weight:600;color:#64748b;margin-bottom:.25rem}.field input,.field select{width:100%;padding:.4rem .5rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.875rem}.field input:disabled,.field select:disabled{background:#f8fafc;color:#94a3b8}.expander{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.5rem}.expander summary{cursor:pointer;padding:.5rem .75rem;font-weight:600;font-size:.8rem;list-style:none}.expander[open] summary{border-bottom:1px solid #e2e8f0}.expander .body{padding:.75rem}.sidebar-note{margin:.35rem 0 0;font-size:.72rem;color:#64748b}.sidebar-subhead{margin:0 0 .5rem;font-size:.78rem;font-weight:700;color:#334155}.st-field{margin-bottom:.9rem}.st-field-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.st-field-label{display:block;flex:1 1 auto;min-width:0;font-size:.875rem;font-weight:400;color:#31333f;margin-bottom:0;line-height:1.4}.st-help-wrap{position:relative;display:inline-flex;flex:0 0 auto;margin-left:auto}.st-help-icon{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border-radius:50%;border:1px solid rgba(49,51,63,.35);background:transparent;color:#31333fa6;font-size:.62rem;font-weight:700;cursor:help;padding:0;line-height:1;box-shadow:none}.st-help-wrap:hover .st-help-tooltip,.st-help-wrap:focus-within .st-help-tooltip{opacity:1;visibility:visible}.st-help-tooltip{position:absolute;right:0;left:auto;bottom:calc(100% + 8px);transform:none;width:max-content;max-width:16rem;padding:.55rem .7rem;background:#262730;color:#fff;font-size:.78rem;font-weight:400;line-height:1.35;border-radius:.4rem;box-shadow:0 6px 16px #0000002e;opacity:0;visibility:hidden;z-index:30;pointer-events:none;white-space:normal;text-align:left}.st-number-input{display:flex;align-items:stretch;background:#f0f2f6;border:1px solid rgba(49,51,63,.2);border-radius:.5rem;overflow:hidden;min-height:2.5rem;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.st-number-input:focus-within{border-color:#ff4b4b;background:#fff;box-shadow:none}.st-number-input.is-disabled{opacity:.55}.st-number-value{flex:1 1 auto;width:100%;min-width:0;border:none;background:transparent;padding:.5rem .75rem;font-size:.875rem;color:#31333f;outline:none}.st-number-steppers{display:flex;align-items:stretch;flex:0 0 auto;align-self:stretch;border-left:1px solid rgba(49,51,63,.15);background:#f0f2f6}.st-number-input button.st-stepper{display:flex;align-items:center;justify-content:center;width:2rem;min-width:2rem;height:auto;min-height:0;padding:0;margin:0;border:none;border-radius:0;background:transparent;color:#31333f;font-size:1.15rem;font-weight:400;line-height:1;cursor:pointer;box-shadow:none}.st-number-input button.st-stepper+button.st-stepper{border-left:1px solid rgba(49,51,63,.15)}.st-number-input button.st-stepper-minus:hover:not(:disabled),.st-number-input button.st-stepper-plus:hover:not(:disabled){background:#0068c9;color:#fff}.st-number-input button.st-stepper:disabled{cursor:not-allowed;opacity:.45}.st-radio-row{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem}.st-radio-option{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:#31333f;cursor:pointer}.st-radio-option input{width:1rem;height:1rem;margin:0;accent-color:#ff4b4b}.st-caption{margin:.15rem 0 .65rem;font-size:.8rem;line-height:1.45;color:#6b7280}.st-caption strong{color:#31333f;font-weight:600}.action-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin-top:1rem}.action-btn{display:flex;align-items:center;justify-content:center;min-height:2.75rem;height:2.75rem;padding:0;border-radius:10px;font-size:.95rem;font-weight:700;box-shadow:0 1px 2px #0f172a1f;white-space:nowrap}.action-btn-inner{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.action-icon{width:1rem;height:1rem;flex:0 0 auto}.action-reset{background:#e53e3e;color:#fff;border:1px solid #e53e3e}.action-calculate{background:linear-gradient(135deg,#f6e05e,#ecc94b);color:#111827;border:1px solid #ecc94b}.action-export{background:#19b0f0;color:#fff;border:1px solid #19b0f0}.action-import{position:relative;background:#11b050;color:#fff;border:1px solid #11b050;cursor:pointer;overflow:hidden}.action-import input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.action-import.disabled{opacity:.6;pointer-events:none;cursor:not-allowed}.action-import span{pointer-events:none}.filename-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0f172a61}.filename-modal{width:min(100%,28rem);padding:1.5rem}.filename-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.filename-modal-title{margin:0;font-size:1.1rem}.filename-modal-subtitle{margin:.35rem 0 0;color:#64748b;font-size:.9rem}.filename-close-btn{width:2rem;height:2rem;padding:0;border:none;border-radius:8px;background:#e2e8f0;color:#475569;font-size:1.25rem;line-height:1}.filename-form{display:grid;gap:.85rem}.filename-field{display:grid;gap:.35rem}.filename-field span{font-size:.83rem;font-weight:600;color:#475569}.filename-field input{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:.7rem .85rem;font-size:.92rem}.filename-preview{margin-top:1rem;padding:.9rem 1rem;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff}.filename-preview-label{font-size:.8rem;font-weight:800;letter-spacing:.08em;color:#475569}.filename-preview-line{margin-top:.4rem;font-style:italic;overflow-wrap:anywhere}.filename-preview-stamp{color:#64748b}.filename-preview-name{color:#e53e3e}.filename-preview-placeholder{margin-top:.4rem;color:#64748b;font-style:italic}.filename-modal-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:.65rem;margin-top:1.2rem}.results-hint{margin-top:1rem}.results-title{margin:.5rem 0 .35rem;padding-bottom:.25rem;font-size:.85rem;font-weight:650;color:#334155;border-bottom:2px solid #e2e8f0}.results-card{margin-top:0}.btn-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1rem}button{cursor:pointer;border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:.5rem;font-size:.8rem;font-weight:600}button.primary{background:#2563eb;color:#fff;border-color:#2563eb}button:disabled{opacity:.6;cursor:not-allowed}button.st-help-icon{width:1.05rem;height:1.05rem;padding:0;border-radius:50%;border:1px solid rgba(49,51,63,.35);background:transparent;font-size:.62rem;font-weight:700}.st-number-input button.st-stepper{width:2rem;min-width:2rem;padding:0;border-radius:0;border:none;background:transparent;font-size:1.15rem;font-weight:400}.valve-badge{font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.28rem .65rem;border-radius:999px}.valve-badge.open{background:#dcfce7;color:#166534;border:1px solid #86efac}.valve-badge.closed{background:#ffedd5;color:#9a3412;border:1px solid #fdba74}.alert{padding:.5rem .75rem;border-radius:8px;font-size:.8rem;margin-bottom:.5rem}.alert.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert.warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.alert.info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.view-placeholder{min-height:420px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:10px;color:#64748b;text-align:center;padding:2rem}.scene-svg,.scene-three{width:100%;min-height:460px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.scene-three{height:460px;overflow:hidden}.plotly-wrap{width:100%;min-height:600px;height:600px}.plotly-wrap .js-plotly-plot,.plotly-wrap .plot-container{width:100%!important;height:100%!important}.panel-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-bottom:.75rem}.panel-toolbar-left{min-width:0}.panel-valve-badge{justify-self:center;grid-column:2}.separator-type-line{margin:.25rem 0 0;font-size:.72rem;color:#475569;font-weight:600}.view-switch{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;grid-column:3;justify-self:end}.view-switch .detail-view-btn{min-width:4.5rem}.movie-card{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.movie-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.movie-grid{margin-top:.75rem;display:grid;grid-template-columns:repeat(2,minmax(140px,180px));gap:.75rem}.slider-wrap{position:relative;margin-top:.75rem;padding:1.35rem 2.75rem .4rem}.movie-slider{width:100%;display:block}.movie-meta{display:flex;gap:.65rem 1.35rem;flex-wrap:wrap;margin-top:1rem;padding-top:.85rem;border-top:1px solid #eef2f7;font-size:.75rem;color:#64748b}.movie-meta>span{display:inline-flex;align-items:center;white-space:nowrap}.movie-meta strong{color:#334155}body.export-modal-open{overflow:hidden}.export-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.export-modal{width:min(420px,100%);padding:1rem 1.1rem;box-shadow:0 20px 50px #0f172a40}.export-modal-title{margin:0;font-size:1rem}.export-modal-subtitle{margin:.35rem 0 .85rem;font-size:.8rem;color:#64748b}.export-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.65rem}.export-cancel-btn{min-width:88px}.export-progress{margin-bottom:.75rem;padding:.65rem .85rem}.export-progress-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.45rem;font-size:.78rem}.export-progress-label{color:#334155}.export-progress-pct{font-weight:700;color:#2563eb;font-variant-numeric:tabular-nums}.export-progress-track{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.export-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#2563eb);transition:width .2s ease}.marker{position:absolute;top:0;transform:translate(-50%);pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:.2rem;z-index:1}.marker-line{display:block;width:2px;height:18px;background:#dc2626;margin:0 auto}.marker-label{display:block;font-size:.65rem;color:#dc2626;text-align:center;white-space:nowrap;line-height:1}.marker-close .marker-line{background:#1e293b}.marker-close .marker-label{color:#1e293b;font-weight:700}.checkbox{display:flex;align-items:center;gap:.45rem;margin-bottom:.65rem;font-size:.8rem}.radio-row{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.radio-option{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;cursor:pointer}.svg-label{font-size:18px;fill:#334155;font-weight:600}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;margin-top:.4rem}@media(max-width:900px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.metrics,.action-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.results-subtitle-spaced{margin-top:.9rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;margin-top:.75rem}.results-subtitle{margin:0 0 .5rem;font-size:.82rem;color:#0f172a}.mass-table{width:100%;border-collapse:collapse;font-size:.78rem}.mass-table th,.mass-table td{padding:.35rem .45rem;text-align:left;border-bottom:1px solid #e2e8f0}.mass-table th{color:#475569;font-weight:700}.mass-table-total td{font-weight:700;color:#1e293b}.trim-note{margin:.75rem 0 0;font-size:.75rem;color:#64748b;line-height:1.45}.results-list{display:grid;gap:.35rem;font-size:.8rem;color:#334155}.metric{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.3rem .45rem}.metric label{display:block;font-size:.62rem;font-weight:600;text-transform:none;letter-spacing:.02em;color:#94a3b8;margin-bottom:.1rem}.metric span{font-size:.82rem;font-weight:600;color:#0f172a;font-variant-numeric:tabular-nums}.tech-line{font-size:.67rem;color:#94a3b8;margin:.4rem 0 0;padding-top:.35rem;border-top:1px solid #f1f5f9;font-variant-numeric:tabular-nums}
