*{box-sizing:border-box}:root{--color-accent: #1d4e89;--color-accent-bg: #e6f2ff;--color-accent-bg-hover: #d4e8ff;--color-selection: #3498db;--color-selection-bg: #e3f2fb;--color-border: #cccccc;--color-surface: #ffffff;--color-surface-hover: #f5f5f5;--color-text-summary: #333333;--color-text-muted: #888888;--color-text-chat: #c4c4c4;--color-text-code: #353535;--color-viewer-background: #ebebeb;--color-viewer-foreground: #333333;--color-neutral-bg: #fafaf9;--color-neutral-bg-hover: #f5f5f4;--color-neutral-selected: #e7e5e4;--color-neutral-accent: #57534e;--color-neutral-edited: #f5f2ed;--color-neutral-edited-accent: #a8a29e;--color-result-bg: #f0efed;--color-result-text: #78716c;--color-success: #137333;--color-success-bg: #e6f4ea;--color-error: #c5221f;--color-error-bg: #aa3333;--color-error-on: #ffffff;--color-warning: #b06000;--color-warning-emphasis: #8a5200;--color-warning-bg: #fef7e0}body{margin:0;font-family:system-ui,sans-serif}.mobile-toggle,.mobile-table,.mobile-viewer,.mobile-send-results,.nesting-curve-preview{display:none}.center-panel--nesting-preview .nesting-curve-preview{display:flex}@media(max-width:768px){.app{flex-direction:column;height:100vh}.app:not(:has(.message-user)) .main{display:none}.app:not(:has(.message-user)) .sidebar{flex:1 1 auto}.app:has(.message-user) .main{order:1;flex:1 1 auto;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,2fr)}.app:has(.message-user) .center-panel{display:contents}.app:has(.message-user) .mobile-table{grid-row:1;display:flex;flex-direction:column;min-height:0;overflow:auto;border-bottom:1px solid var(--color-border)}.app:has(.message-user) .mobile-toggle{grid-row:2;display:flex;flex-shrink:0}.app:has(.message-user) .mobile-viewer{grid-row:3;display:flex;flex-direction:column;min-height:0;overflow:hidden}.app:has(.message-user) .parallel-slot{display:none;flex:1;border-bottom:none}.main:has(#mobile-plot:checked) .parallel-slot{display:flex}.main:has(#mobile-plot:checked) .mobile-viewer .nesting-panel-bar,.main:has(#mobile-plot:checked) .mobile-viewer .nesting-curve-preview{display:none}.app:has(.message-user):not(:has(#mobile-chat:checked)) .sidebar{display:none}.app:has(.message-user):has(#mobile-chat:checked){display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,2fr)}.app:has(.message-user):has(#mobile-chat:checked) .main{display:contents}.app:has(.message-user):has(#mobile-chat:checked) .mobile-viewer,.app:has(.message-user):has(#mobile-chat:checked) .main>.view{display:none}.app:has(.message-user):has(#mobile-chat:checked) .sidebar{display:flex;grid-row:3;flex-direction:column;min-height:0;overflow:hidden;width:100%;min-width:0;padding:0;gap:0;border-right:none}.app:has(.message-user):has(#mobile-chat:checked) .chat-slot{flex:1;min-height:0}.app:has(.message-user) .sidebar h1{display:none}.mobile-toggle input{position:absolute;opacity:0;pointer-events:none}.mobile-toggle label{flex:1;padding:.4rem;font-size:.8rem;text-align:center;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface)}.mobile-toggle input:checked+label{background:var(--color-neutral-selected)}.mobile-toggle input:disabled+label{opacity:.45;cursor:not-allowed}.main>.view{display:none;min-height:0;grid-row:3}.mobile-viewer .nesting-panel-bar,.mobile-viewer .nesting-curve-preview{display:none;min-height:0}.main:has(#mobile-3d:checked) .mobile-viewer{display:none}.main:has(#mobile-3d:checked)>.view{display:block;border-left:none}.main:has(#mobile-nesting:checked) .nesting-panel-bar{display:flex;flex-direction:column;align-items:stretch;flex-shrink:0;padding-top:1rem;padding-bottom:1rem}.main:has(#mobile-nesting:checked) .nesting-panel-bar .nesting-divider,.main:has(#mobile-nesting:checked) .nesting-column--action{display:none}.main:has(#mobile-nesting:checked) .nesting-curve-preview{display:flex;flex:1;min-height:0}.main:has(#mobile-nesting:checked) .mobile-send-results{display:block;flex-shrink:0;padding:.65rem;border-top:1px solid var(--color-border);background:var(--color-neutral-bg)}.main:has(#mobile-nesting:checked) .mobile-send-results .btn-send-results{flex-direction:row;justify-content:center;gap:.35rem;width:100%;padding:.55rem .75rem}.main:has(#mobile-nesting:checked) .mobile-send-results .btn-send-results__line{display:inline}.center-panel--nesting-preview .nesting-curve-preview{display:none}}.chat-panel[data-v-feb6ccf1]{position:relative;display:flex;flex-direction:column;height:100%;min-height:12rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);overflow:hidden}.chat-panel--dragging[data-v-feb6ccf1]{border-color:var(--color-accent);background:var(--color-accent-bg)}.chat-panel--busy .composer[data-v-feb6ccf1]{opacity:.85}.message-list[data-v-feb6ccf1]{flex:1;min-height:0;overflow-y:auto;padding:.65rem;display:flex;flex-direction:column;gap:.5rem}.empty-hint[data-v-feb6ccf1]{margin:auto 0;text-align:center;font-size:.78rem;line-height:1.4;color:var(--color-text-muted)}.message[data-v-feb6ccf1]{display:flex;max-width:92%}.message-user[data-v-feb6ccf1]{align-self:flex-end}.message-assistant[data-v-feb6ccf1]{align-self:flex-start}.bubble[data-v-feb6ccf1]{padding:.45rem .6rem;border-radius:8px;font-size:.8rem;line-height:1.35;word-break:break-word}.bubble-user[data-v-feb6ccf1]{background:var(--color-accent-bg);color:var(--color-text-summary)}.bubble-assistant[data-v-feb6ccf1]{background:var(--color-surface-hover);color:var(--color-text-summary)}.bubble-result[data-v-feb6ccf1]{background:#ececec;color:#7a7a7a}.bubble-error[data-v-feb6ccf1]{background:var(--color-warning-bg);color:var(--color-warning-emphasis)}.bubble-confirm[data-v-feb6ccf1]{background:var(--color-accent-bg);color:var(--color-text-summary)}.confirm-actions[data-v-feb6ccf1]{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.confirm-actions button[data-v-feb6ccf1]{padding:.25rem .5rem;font-size:.75rem;cursor:pointer;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);text-transform:capitalize}.bubble-text[data-v-feb6ccf1]{margin:0;white-space:pre-line}.typing-indicator[data-v-feb6ccf1]{margin:0;font-size:.75rem;color:var(--color-text-muted);font-style:italic}.drop-overlay[data-v-feb6ccf1]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#e6f2ffeb;border:2px dashed var(--color-accent);border-radius:6px;font-size:.85rem;font-weight:600;color:var(--color-accent);pointer-events:none;z-index:1}.composer[data-v-feb6ccf1]{flex-shrink:0;display:flex;flex-direction:column;gap:.4rem;padding:.5rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.file-input[data-v-feb6ccf1]{display:none}.composer-input[data-v-feb6ccf1]{width:100%;resize:vertical;min-height:2.5rem;max-height:6rem;padding:.4rem .5rem;font:inherit;font-size:.8rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface)}.composer-input[data-v-feb6ccf1]:focus{outline:2px solid var(--color-accent-bg-hover);border-color:var(--color-accent)}.composer-input[data-v-feb6ccf1]:disabled{background:var(--color-surface-hover);cursor:not-allowed}.composer-actions[data-v-feb6ccf1]{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.35rem}.composer-actions button[data-v-feb6ccf1]{padding:.3rem .65rem;font-size:.78rem;cursor:pointer;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface)}.composer-actions .btn-clear[data-v-feb6ccf1]:hover:not(:disabled),.composer-actions .btn-attach[data-v-feb6ccf1]:hover:not(:disabled){background:var(--color-result-bg);border-color:var(--color-neutral-edited-accent)}.composer-actions button[data-v-feb6ccf1]:disabled{opacity:.5;cursor:not-allowed}.composer-actions .btn-send[data-v-feb6ccf1]{border:1px solid var(--color-neutral-edited-accent);background:var(--color-result-bg);color:var(--color-result-text);font-weight:600}.composer-actions .btn-send[data-v-feb6ccf1]:hover:not(:disabled){background:var(--color-neutral-selected);border-color:var(--color-result-text)}.sidebar[data-v-680d570b]{flex:0 0 16.666667%;min-width:240px;padding:1rem;border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:.75rem;min-height:0;overflow:hidden}h1[data-v-680d570b]{margin:0;font-size:1.1rem;flex-shrink:0}.chat-slot[data-v-680d570b]{flex:1;min-height:0}.view[data-v-06fb2541]{flex:1;min-width:0;min-height:0;position:relative;background:var(--color-viewer-background);border-left:1px solid var(--color-border)}.view[data-v-06fb2541] canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.overlay[data-v-06fb2541]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:color-mix(in srgb,var(--color-viewer-background) 75%,transparent);pointer-events:none}.overlay-error[data-v-06fb2541]{background:color-mix(in srgb,var(--color-viewer-background) 85%,transparent)}.overlay-text[data-v-06fb2541]{margin:0;font-size:.85rem;color:var(--color-viewer-foreground);text-align:center;max-width:80%}.overlay-error .overlay-text[data-v-06fb2541]{color:#f5a8a8}.spinner[data-v-06fb2541]{width:2rem;height:2rem;border:3px solid color-mix(in srgb,var(--color-viewer-foreground) 25%,transparent);border-top-color:var(--color-viewer-foreground);border-radius:50%;animation:spin-06fb2541 .8s linear infinite}@keyframes spin-06fb2541{to{transform:rotate(360deg)}}.csv-variation-row[data-v-d1f24011]{cursor:default}.name-cell[data-v-d1f24011]{cursor:pointer}.param-cell[data-v-d1f24011]{cursor:text}.csv-variation-row.computing[data-v-d1f24011]{background:var(--color-neutral-bg)}.csv-variation-row[data-v-d1f24011]:nth-child(2n):not(.computing):not(.selected){background:var(--color-neutral-bg)}.csv-variation-row[data-v-d1f24011]:hover{background:var(--color-neutral-bg-hover)}.csv-variation-row.selected[data-v-d1f24011]{background:var(--color-selection-bg);box-shadow:inset 3px 0 0 var(--color-selection)}.csv-variation-row.selected[data-v-d1f24011]:hover{background:var(--color-selection-bg)}.status-cell[data-v-d1f24011]{width:1.75rem;padding-left:.45rem;padding-right:.25rem;text-align:center}.status-indicator[data-v-d1f24011]{display:inline-block;width:.85rem;height:.85rem;line-height:.85rem;font-size:.65rem;font-weight:700;text-align:center}.status-indicator.pending[data-v-d1f24011]{width:.45rem;height:.45rem;border-radius:50%;background:#ccc;vertical-align:middle}.status-indicator.done[data-v-d1f24011]{color:#2e7d32}.status-indicator.failed[data-v-d1f24011]{color:#c0392b}.status-indicator.spinner[data-v-d1f24011]{border:2px solid #ccc;border-top-color:var(--color-result-text);border-radius:50%;animation:spin-d1f24011 .8s linear infinite}@keyframes spin-d1f24011{to{transform:rotate(360deg)}}td[data-v-d1f24011]{padding:.45rem .65rem;border-bottom:1px solid #e8e8e8}td.cell-edited[data-v-d1f24011]{background:var(--color-neutral-edited);box-shadow:inset 2px 0 0 var(--color-neutral-edited-accent)}td.cell-empty[data-v-d1f24011]{background:var(--color-neutral-bg-hover);color:var(--color-result-text);font-style:italic}td.cell-missing[data-v-d1f24011]{background:#fdecea;color:#a94442;font-style:italic}td.cell-out-of-range[data-v-d1f24011]{background:#fff3e0;color:#b45309;font-style:italic}.csv-variation-row.selected td.cell-edited[data-v-d1f24011]{background:#d4e8f5}.csv-variation-row.selected td.cell-empty[data-v-d1f24011]{background:#d9edf8}.csv-variation-row.selected td.cell-missing[data-v-d1f24011]{background:#f5d0cd}.csv-variation-row.selected td.cell-out-of-range[data-v-d1f24011]{background:#ffe8c7}.cell-input[data-v-d1f24011]{width:auto;min-width:2ch;max-width:100%;field-sizing:content;padding:.15rem .25rem;font-size:inherit;font-family:inherit;border:1px solid #ccc;border-radius:3px;box-sizing:border-box;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.cell-input[data-v-d1f24011]::-webkit-outer-spin-button,.cell-input[data-v-d1f24011]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cell-input[data-v-d1f24011]:focus{outline:none;border-color:var(--color-neutral-edited-accent)}.csv-preview[data-v-34711592]{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.table-slot[data-v-34711592]{flex:1;min-height:0;overflow:auto}.data-table[data-v-34711592]{width:100%;border-collapse:collapse;font-size:.8rem}thead th[data-v-34711592]{position:sticky;top:0;z-index:1;padding:.5rem .65rem;text-align:left;font-weight:600;background:#f0f0f0;border-bottom:1px solid #ccc;white-space:nowrap}.parallel-coords[data-v-d71a24b5]{width:100%;height:100%;min-height:0;display:flex;flex-direction:column}.svg-container[data-v-d71a24b5]{flex:1;min-height:0;width:100%;overflow:hidden}.message[data-v-d71a24b5]{margin:auto;font-size:.85rem}.message.muted[data-v-d71a24b5]{color:#888}.message.error[data-v-d71a24b5]{color:#a33}.btn-preview-nesting[data-v-d0e5c9d9]{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .75rem;min-width:0;font-size:.82rem;line-height:1.2;cursor:pointer;border:1px solid var(--color-neutral-edited-accent);border-radius:4px;background:var(--color-result-bg);color:var(--color-result-text);font-weight:600}.btn-preview-nesting[data-v-d0e5c9d9]:hover:not(:disabled){background:var(--color-neutral-selected);border-color:var(--color-result-text)}.btn-preview-nesting[data-v-d0e5c9d9]:disabled{opacity:.5;cursor:not-allowed}.btn-preview-nesting__line[data-v-d0e5c9d9]{display:block}.btn-send-results[data-v-a6808dba]{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .75rem;min-width:0;font-size:.82rem;line-height:1.2;cursor:pointer;border:1px solid var(--color-neutral-edited-accent);border-radius:4px;background:var(--color-result-bg);color:var(--color-result-text);font-weight:600}.btn-send-results[data-v-a6808dba]:hover:not(:disabled){background:var(--color-neutral-selected);border-color:var(--color-result-text)}.btn-send-results[data-v-a6808dba]:disabled{opacity:.5;cursor:not-allowed}.btn-send-results__line[data-v-a6808dba]{display:block}.nesting-panel-bar[data-v-31cfefc9]{font-size:.8rem;display:flex;flex-direction:row;align-items:stretch;gap:.75rem}.nesting-column--counts[data-v-31cfefc9]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.55rem}.nesting-divider[data-v-31cfefc9]{flex-shrink:0;width:1px;align-self:stretch;background:#ddd;margin:0 .25rem}.nesting-column--action[data-v-31cfefc9]{flex:0 0 auto;display:flex;align-items:center;gap:.5rem;padding-left:0}.nesting-heading[data-v-31cfefc9]{margin:0;font-size:.85rem;font-weight:600;position:relative;width:fit-content;cursor:help}.nesting-heading[data-v-31cfefc9]:after{content:attr(data-tooltip);position:absolute;left:0;bottom:calc(100% + .35rem);width:max-content;max-width:16rem;padding:.4rem .55rem;font-size:.75rem;font-weight:400;line-height:1.35;color:#fff;background:#333;border-radius:4px;box-shadow:0 2px 8px #0000002e;opacity:0;visibility:hidden;pointer-events:none;z-index:20;transition:opacity .12s ease,visibility .12s ease}.nesting-heading[data-v-31cfefc9]:hover,.nesting-heading[data-v-31cfefc9]:focus-visible{z-index:30}.nesting-heading[data-v-31cfefc9]:hover:after,.nesting-heading[data-v-31cfefc9]:focus-visible:after{opacity:1;visibility:visible}.count-list[data-v-31cfefc9]{margin:0;display:flex;flex-direction:column;gap:.5rem}.count-row[data-v-31cfefc9]{display:flex;align-items:baseline;gap:.55rem}.count-leader[data-v-31cfefc9]{flex:1;min-width:.5rem;border-bottom:1px solid #ddd;margin-bottom:.15em}dt[data-v-31cfefc9]{margin:0;color:var(--color-text-muted, #666);white-space:nowrap}dd[data-v-31cfefc9]{margin:0;flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600}.nesting-curve-preview[data-v-a3f1aec9]{flex:0 0 50%;min-height:0;position:relative;background:#fff;border-top:1px solid #ddd;overflow:hidden}.material-toggle-group[data-v-a3f1aec9]{position:absolute;top:.5rem;right:.65rem;z-index:1;display:flex}.material-toggle[data-v-a3f1aec9]{padding:.35rem .65rem;font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid var(--color-neutral-edited-accent);background:var(--color-neutral-bg);color:var(--color-result-text)}.material-toggle--kiefer[data-v-a3f1aec9]{border-radius:4px 0 0 4px;border-right:none}.material-toggle--film[data-v-a3f1aec9]{border-radius:0 4px 4px 0}.material-toggle[data-v-a3f1aec9]:not(.material-toggle--active):hover{background:var(--color-neutral-bg-hover)}.material-toggle--active[data-v-a3f1aec9]{background:var(--color-neutral-selected);border-color:var(--color-neutral-edited-accent);color:var(--color-result-text)}.curve-svg[data-v-a3f1aec9]{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.curve-svg--dragging[data-v-a3f1aec9]{cursor:grabbing}.app[data-v-f5598ce5]{display:flex;height:100vh}.main[data-v-f5598ce5]{flex:1;min-width:0;display:flex;flex-direction:row}.center-panel[data-v-f5598ce5]{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;color:#222}.mobile-table[data-v-f5598ce5],.mobile-viewer[data-v-f5598ce5]{display:contents}.parallel-slot[data-v-f5598ce5]{flex:0 0 25%;min-height:0;overflow:hidden;border-bottom:1px solid #ddd;background:#fafafa;display:flex;flex-direction:column;order:-1}.center-panel--nesting-preview[data-v-f5598ce5] .csv-preview{flex:0 0 50%;min-height:0}[data-v-f5598ce5] .nesting-panel-bar{flex-shrink:0;border-top:1px solid #ddd;background:#f5f5f5;padding:1.25rem .65rem 1.6rem;order:1}.center-panel--nesting-preview .nesting-curve-preview[data-v-f5598ce5]{order:0;flex:1;min-height:0}.send-results-overlay[data-v-f5598ce5]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#333333bf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.send-results-dialog[data-v-f5598ce5]{background:var(--color-surface);border-radius:6px;padding:1rem 1.25rem;max-width:18rem;text-align:center}.send-results-dialog__text[data-v-f5598ce5]{margin:0;font-size:.85rem;color:var(--color-text-summary)}.send-results-dialog__actions[data-v-f5598ce5]{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.75rem}.send-results-dialog__actions button[data-v-f5598ce5]{padding:.35rem .65rem;font-size:.8rem;cursor:pointer;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface)}
