:root{--bg:#f2f4f7;--panel:#fff;--line:#1f2937;--accent:#d9480f;--muted:#6b7280;--danger:#b91c1c}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--line);flex-direction:column;height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex;overflow:hidden}#root{flex-direction:column;flex:auto;min-height:0;display:flex}.topbar{z-index:3000;background:#fff;border-bottom:1px solid #d9dde5;flex:none;padding:7px 12px;position:relative;overflow:visible}.topbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;display:flex}.topbar-menubar{align-items:center;gap:10px;min-height:34px;display:flex}.topbar-logo{flex:none;place-items:center;width:32px;height:32px;display:grid}.topbar-logo .app-logo{filter:drop-shadow(0 2px 5px #0f172a1a);width:32px;height:32px}.topbar-title-block{gap:1px;min-width:0;margin-right:4px;line-height:1.05;display:grid}.topbar-title{color:#1f2937;white-space:nowrap;font-size:.96rem;font-weight:800}.topbar-subtitle{color:#64748b;white-space:nowrap;font-size:.68rem;font-weight:650}.file-menu{z-index:3100;position:relative}.file-menu-hidden-controls{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.file-menu-trigger{text-align:left;background:0 0;border-color:#0000;border-radius:5px;width:auto;min-width:56px;margin:0;padding:6px 12px;font-size:.92rem}.file-menu-trigger:hover,.file-menu-trigger[aria-expanded=true]{background:#f8fafc;border-color:#c8cfda}.file-menu-popover{z-index:3200;background:#fff;border:1px solid #c8cfda;border-radius:7px;min-width:260px;padding:5px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 28px #0f172a29}.file-menu-popover button{text-align:left;background:0 0;border:0;border-radius:5px;width:100%;margin:0;padding:7px 9px;font-size:.9rem}.file-menu-popover button:hover{background:#f1f5f9}.file-menu-popover button:disabled{color:#94a3b8;cursor:default}.file-menu-popover button:disabled:hover{background:0 0}.file-menu-slide2{grid-template-columns:68px minmax(140px,1fr);align-items:center;gap:6px 8px;padding:6px 4px;display:grid}.file-menu-slide2 label{color:#64748b;font-size:.76rem;font-weight:700}.file-menu-slide2 input,.file-menu-slide2 select{border:1px solid #cbd5e1;border-radius:5px;min-width:0;margin:0;padding:5px 7px;font-size:.82rem}.file-menu-slide2 button{border:1px solid #cbd5e1;grid-column:2}.file-menu-separator{background:#e2e8f0;height:1px;margin:5px 3px}.file-menu-unsaved-backdrop{z-index:6200;background:#0f172a2e;place-items:start center;padding:78px 16px 16px;display:grid;position:fixed;inset:0}.file-menu-unsaved-modal{background:#fff;border:1px solid #c8cfda;border-radius:8px;width:min(380px,100vw - 32px);padding:16px;box-shadow:0 20px 48px #0f172a38}.file-menu-unsaved-modal h2{color:#1f2937;margin:0 0 8px;font-size:1rem;line-height:1.25}.file-menu-unsaved-modal p{color:#475569;margin:0;font-size:.9rem;line-height:1.45}.file-menu-unsaved-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.file-menu-unsaved-actions button{color:#1f2937;background:#fff;border:1px solid #c8cfda;border-radius:6px;min-width:78px;margin:0;padding:7px 11px;font-size:.88rem}.file-menu-unsaved-actions button:hover:not(:disabled),.file-menu-unsaved-actions button:focus-visible:not(:disabled){background:#f8fafc;border-color:#94a3b8}.file-menu-unsaved-actions button.primary{color:#fff;background:#d9480f;border-color:#d9480f}.file-menu-unsaved-actions button.primary:hover:not(:disabled),.file-menu-unsaved-actions button.primary:focus-visible:not(:disabled){background:#c43d09;border-color:#c43d09}.file-menu-unsaved-actions button:disabled{cursor:default;opacity:.68}.legacy-conversion-backdrop{z-index:6400;background:#0f172a33;place-items:start center;padding:78px 16px 16px;display:grid;position:fixed;inset:0}.legacy-conversion-modal{background:#fff;border:1px solid #c8cfda;border-radius:8px;width:min(440px,100vw - 32px);padding:16px;box-shadow:0 20px 48px #0f172a38}.legacy-conversion-modal h2{color:#1f2937;margin:0 0 8px;font-size:1rem;line-height:1.25}.legacy-conversion-modal p{color:#475569;margin:0;font-size:.9rem;line-height:1.45}.legacy-conversion-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;gap:7px;margin:14px 0 0;padding:10px;display:grid}.legacy-conversion-details div{grid-template-columns:92px minmax(0,1fr);gap:10px;display:grid}.legacy-conversion-details dt,.legacy-conversion-details dd{min-width:0;margin:0;font-size:.84rem;line-height:1.35}.legacy-conversion-details dt{color:#64748b;font-weight:650}.legacy-conversion-details dd{color:#1f2937;overflow-wrap:anywhere}.legacy-conversion-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.legacy-conversion-actions button{color:#1f2937;background:#fff;border:1px solid #c8cfda;border-radius:6px;min-width:104px;margin:0;padding:7px 11px;font-size:.88rem}.legacy-conversion-actions button:hover:not(:disabled),.legacy-conversion-actions button:focus-visible:not(:disabled){background:#f8fafc;border-color:#94a3b8}.legacy-conversion-actions button.primary{color:#fff;background:#d9480f;border-color:#d9480f}.legacy-conversion-actions button.primary:hover:not(:disabled),.legacy-conversion-actions button.primary:focus-visible:not(:disabled){background:#c43d09;border-color:#c43d09}.topbar-brand{align-items:center;gap:.85rem;display:flex}.topbar-copy{min-width:0}.app-logo{filter:drop-shadow(0 4px 10px #0f172a14);flex:none;width:52px;height:52px}.topbar h1{margin:0;font-size:1.3rem}.topbar p{color:var(--muted);margin:.2rem 0 0}.layout{flex:auto;grid-template-columns:320px 1fr;gap:6.3px;min-height:0;padding:9px;display:grid;overflow:hidden}.panel{background:var(--panel);border:1px solid #d9dde5;border-radius:10px;min-height:0;padding:12px;overflow-y:auto}.sidebar-tabs{background:#f8fafc;border:1px solid #c8cfda;border-radius:8px;flex-wrap:nowrap;justify-content:flex-end;align-self:center;gap:0;padding:2px;display:flex}.sidebar-tabs button{background:0 0;border-color:#0000;border-radius:0;width:auto;min-width:112px;margin-bottom:0;padding-inline:14px}.sidebar-tabs button:first-child{border-radius:6px 0 0 6px}.sidebar-tabs button:last-child{border-radius:0 6px 6px 0}.sidebar-tabs button.active{background:#fff;border-color:#94a3b8;box-shadow:0 1px 3px #0f172a14}.tab-panel.hidden{display:none}.tool-group{border:1px solid #e3e6ec;border-radius:8px;margin-bottom:10px;padding:10px}.tool-group label:not(.file-label){color:var(--muted);margin-bottom:4px;font-size:.82rem;display:block}.tool-group label.toggle-row{display:flex}.tool-group input[type=text],.tool-group input[type=number],.tool-group input[type=range],.tool-group input[type=color],.tool-group select{border:1px solid #c8cfda;border-radius:6px;width:100%;margin-bottom:6px;padding:6px 8px}input.number-input-invalid,.tool-group input.number-input-invalid[type=number],.plot-toolbar input.number-input-invalid[type=number]{background:#fef2f2;border-color:#dc2626;box-shadow:0 0 0 2px #dc262629}.tool-group .checkbox-dropdown{margin-bottom:8px;position:relative}.slope-limit-pair-heading{color:var(--line);margin:10px 0 6px;font-size:.8rem;font-weight:800}.slope-limit-coordinate-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.slope-limit-coordinate-row input[type=number]{min-width:0}.parametric-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.parametric-actions button{width:auto;margin:0}.parametric-range-table-wrap{border:1px solid #e3e6ec;border-radius:8px;max-height:44vh;overflow:auto}.parametric-range-table{border-collapse:collapse;width:100%;font-size:.82rem}.parametric-range-table th,.parametric-range-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e8edf5;padding:6px}.parametric-range-table th{z-index:1;color:#475569;background:#f8fafc;font-weight:600;position:sticky;top:0}.parametric-range-table td:first-child,.parametric-range-table th:first-child{width:54px}.parametric-range-table td:last-child,.parametric-range-table th:last-child{width:76px}.parametric-range-table input[type=number]{width:86px;min-width:0}@media (width<=720px){.parametric-range-table input[type=number]{width:74px}}.validated-number-input[aria-invalid=true],.tool-group input.validated-number-input[aria-invalid=true],.cad-property-stack input.validated-number-input[aria-invalid=true],.compute-display-controls input.validated-number-input[aria-invalid=true],.slope-limit-coordinate-row input.validated-number-input[aria-invalid=true],.slope-wizard-value input.validated-number-input[aria-invalid=true]{color:#7f1d1d;background:#fff7f7;border-color:#dc2626;box-shadow:0 0 0 1px #dc262633}.validated-number-input[aria-invalid=true]:focus{outline-offset:1px;outline:2px solid #dc262640}.slope-wizard-value .validated-number-input[aria-invalid=true]{background:#fff7f7;box-shadow:inset 0 -1px #dc2626}.tool-group .checkbox-dropdown summary{width:100%;color:var(--text);cursor:pointer;background:#fff;border:1px solid #c8cfda;border-radius:6px;margin-bottom:0;padding:6px 28px 6px 8px;list-style:none}.tool-group .checkbox-dropdown summary::-webkit-details-marker{display:none}.tool-group .checkbox-dropdown summary:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--muted);position:absolute;top:13px;right:10px}.tool-group .checkbox-dropdown[open] summary:after{transform:rotate(180deg)}.tool-group .checkbox-dropdown-menu{background:#fff;border:1px solid #c8cfda;border-radius:6px;margin-top:4px;padding:6px}.material-list{gap:8px;display:grid}.material-item{background:#fafcff;border:1px solid #e3e6ec;border-radius:8px;padding:8px}.material-item label{color:var(--muted);margin:4px 0 3px;font-size:.8rem;display:block}.material-item input[type=text],.material-item input[type=number],.material-item input[type=color],.material-item select{border:1px solid #c8cfda;border-radius:6px;width:100%;margin-bottom:5px;padding:6px 8px}.material-user-defined-notice{color:#475569;margin:6px 0 8px;font-size:.82rem;line-height:1.35}.material-status{color:#475569;margin:4px 0 0;font-size:.84rem}.control-modal-launchers{gap:10px;display:grid}.control-modal-launchers h3{margin:0;font-size:.98rem}.control-modal-launcher-list{gap:7px;display:grid}.control-modal-launcher-list button{text-align:left;margin:0}.scenario-sidebar{z-index:8;min-height:0;position:relative;overflow:visible}.scenario-sidebar.collapsed{pointer-events:none;display:none}.scenario-sidebar-width-resizer{z-index:7;cursor:col-resize;width:10px;position:absolute;top:0;bottom:0;right:-10px}.scenario-sidebar-width-resizer:before{opacity:0;content:"";background:#cfd6e2;border-radius:999px;width:2px;transition:opacity .1s,background-color .1s;position:absolute;top:18%;bottom:18%;left:calc(50% - 1px)}.scenario-sidebar-width-resizer:hover:before{opacity:1;background:#94a3b8}.scenario-sidebar-reopen-button{z-index:34;color:#475569;background:#fffffff7;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:7px;width:max-content;max-width:calc(100% - 16px);height:32px;min-height:32px;margin:0;padding:0 10px 0 8px;font-size:.86rem;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:10px;left:8px;box-shadow:0 8px 18px #0f172a1f}.scenario-sidebar-reopen-button:hover,.scenario-sidebar-reopen-button:focus-visible{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.scenario-explorer{z-index:auto;width:100%;height:100%;min-height:0;max-height:none;box-shadow:none;color:#1f2937;pointer-events:auto;background:#fffffff7;border:1px solid #cfd6e2;border-radius:10px;grid-template-rows:auto minmax(0,1fr);gap:0;padding:0;display:grid;position:relative;overflow:hidden}.scenario-explorer-header{z-index:3;cursor:pointer;background:#fffffffa;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:34px;padding:7px 11px;transition:background-color .12s;display:flex;position:sticky;top:0}.scenario-explorer-header:hover,.scenario-explorer-header:focus-visible{background:#f8fafc}.scenario-explorer-title{align-items:center;gap:8px;min-width:0;display:flex}.scenario-explorer-title h2{color:#1f2937;margin:0;font-size:.94rem;line-height:1}.scenario-explorer .scenario-header-add-button{width:24px;min-height:22px;padding:0;font-size:.82rem;font-weight:900}.scenario-header-add-button span{transform:translateY(-1px)}.scenario-header-add-button:hover:not(:disabled),.scenario-header-add-button:focus-visible:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.scenario-explorer button{border-radius:5px;justify-content:center;align-items:center;width:auto;min-width:0;min-height:28px;margin:0;padding:5px 8px;font-size:.76rem;line-height:1.1;display:inline-flex}.scenario-tree{align-content:start;gap:2px;min-height:0;padding:8px 10px 10px;display:grid;overflow:auto}.scenario-group{border-radius:6px;align-content:start;align-self:start;gap:2px;display:grid}.scenario-group.active{background:#f8fbff}.scenario-group-heading{color:#475569;text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;min-height:28px;padding:2px 0;font-size:.74rem;font-weight:850;display:grid}.scenario-group.active .scenario-group-heading{background:#eff6ff;border-radius:6px 6px 0 0;box-shadow:inset 2px 0 #93c5fd}.scenario-group.active>ul{background:#f8fbff;border-left-color:#bfdbfe}.scenario-explorer .scenario-group-toggle{color:#1f3b5d;text-transform:uppercase;background:0 0;border-color:#0000;justify-content:flex-start;gap:6px;width:100%;min-width:0;min-height:24px;padding:2px 4px;font-size:.74rem;font-weight:850}.scenario-explorer .scenario-group-toggle:hover,.scenario-explorer .scenario-group-toggle:focus-visible{background:#f8fbff;border-color:#dbeafe}.scenario-disclosure{color:#64748b;text-align:center;text-transform:none;flex:0 0 12px;width:12px;font-size:.68rem;line-height:1}.scenario-group-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.scenario-inline-rename{width:100%;min-width:0;margin:0;display:block}.scenario-inline-rename input{color:#0f172a;width:100%;min-width:0;min-height:24px;font:inherit;background:#f8fbff;border:1px solid #60a5fa;border-radius:5px;outline:2px solid #60a5fa38;margin:0;padding:3px 6px;font-size:.76rem;font-weight:700;line-height:18px;display:block}.scenario-group-inline-rename{align-items:center;gap:6px;min-height:24px;padding:2px 4px;display:flex}.scenario-group-inline-rename input{color:#1f3b5d;font-size:.74rem;font-weight:850}.scenario-group-count{color:#64748b;text-align:center;background:#f1f5f9;border-radius:999px;flex:none;min-width:22px;line-height:18px}.scenario-explorer .scenario-group-add-button{width:24px;min-height:22px;padding:0;font-size:.82rem;font-weight:900}.scenario-group-add-button span{transform:translateY(-1px)}.scenario-group-add-button:hover:not(:disabled),.scenario-group-add-button:focus-visible:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.scenario-group ul{border-left:1px solid #dbe4f0;align-content:start;gap:1px;margin:0;padding:0 0 0 16px;list-style:none;display:grid}.scenario-tree-item{background:0 0;border:1px solid #0000;border-radius:5px;align-content:start;align-self:start;min-height:32px;padding:2px 0 2px 6px;display:block;position:relative}.scenario-tree-item:before{content:"";background:#dbe4f0;width:12px;height:1px;position:absolute;top:50%;left:-16px}.scenario-tree-item.selected{background:#f8fbff;border-color:#93c5fd}.scenario-tree-item.active{border-color:#60a5fa;box-shadow:inset 2px 0 #2563eb}.scenario-tree-item.linked{box-shadow:inset 2px 0 #93c5fd}.scenario-tree-item.active.linked{box-shadow:inset 2px 0 #2563eb}.scenario-tree-item:hover{background:#f8fbff;border-color:#dbeafe}.scenario-row-main{grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:2px 5px;display:grid}.scenario-compute-toggle{color:#94a3b8;background:#f8fafc;border-color:#cbd5e1;border-radius:50%;width:20px;height:20px;min-height:20px;padding:0;font-size:.68rem;font-weight:900;line-height:1}.scenario-compute-toggle span{display:block;transform:translateY(-.5px)}.scenario-compute-toggle[aria-pressed=true]{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.scenario-compute-toggle:hover:not(:disabled),.scenario-compute-toggle:focus-visible:not(:disabled){color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.scenario-name{color:#1f2937;width:100%;min-width:0;min-height:24px;font:inherit;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:5px;padding:3px 6px;font-size:.76rem;font-weight:700;line-height:18px;display:block;overflow:hidden}.scenario-row-badges{color:#64748b;flex-wrap:wrap;grid-column:2/-1;gap:4px;min-width:0;max-width:100%;font-size:.66rem;font-weight:800;display:flex;overflow:hidden}.scenario-row-badges .scenario-fos-pill{color:#3730a3;background:#eef2ff;margin-left:auto}.scenario-row-badges span{text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:999px;min-width:0;max-width:100%;padding:1px 5px;overflow:hidden}.scenario-row-badges .scenario-status-computed,.scenario-row-badges .scenario-status-complete{color:#047857;background:#ecfdf5}.scenario-row-badges .scenario-status-running{color:#1d4ed8;background:#eff6ff}.scenario-row-badges .scenario-status-queued{color:#92400e;background:#fffbeb}.scenario-row-badges .scenario-status-error,.scenario-row-badges .scenario-status-failed,.scenario-row-badges .scenario-error{color:#b91c1c;background:#fef2f2}.scenario-context-menu{z-index:1000;background:#fff;border:1px solid #cbd5e1;border-radius:6px;gap:2px;width:168px;padding:5px;display:grid;position:fixed;box-shadow:0 14px 30px #0f172a29}.scenario-context-menu button{color:#1f2937;background:0 0;border-color:#0000;justify-content:flex-start;width:100%;min-height:28px;padding:5px 8px}.scenario-context-menu button:hover:not(:disabled),.scenario-context-menu button:focus-visible:not(:disabled){background:#eff6ff;border-color:#dbeafe}.scenario-context-menu button.danger{color:#b91c1c}.scenario-context-menu button:disabled{color:#94a3b8}.scenario-explorer-tooltip{z-index:1001;color:#fff;white-space:nowrap;pointer-events:none;background:#111827;border-radius:4px;max-width:160px;padding:4px 7px;font-size:.68rem;font-weight:800;line-height:1.15;position:fixed;transform:translate(-50%,-100%)}@media (width<=720px){.scenario-sidebar{min-height:240px}.scenario-sidebar-width-resizer{display:none}.scenario-explorer{height:min(54vh,440px)}.scenario-row-main{grid-template-columns:20px minmax(0,1fr)}.scenario-row-badges{grid-column:2}}.compute-results{color:#475569;gap:6px;font-size:.84rem;display:grid}.compute-results p{margin:0}.experimental-gw-condition{background:#fafcff;border:1px solid #e3e6ec;border-radius:8px;padding:8px}.experimental-gw-condition p{margin:0 0 6px}.compute-fs-lambda-plot,.compute-gle-function-plot,.compute-slice-plot{border-top:1px solid #e3e6ec;margin-top:8px;padding-top:8px}.compute-slice-diagnostics{margin-top:8px}.compute-fs-lambda-plot h4,.compute-gle-function-plot h4,.compute-slice-plot h4{color:#334155;margin:0 0 8px;font-size:.88rem}.compute-fs-lambda-svg,.compute-gle-function-svg,.compute-slice-svg{background:#fafcff;border:1px solid #e3e6ec;border-radius:8px;width:100%;height:auto;display:block}.compute-fs-axis{stroke:#94a3b8;stroke-width:1px}.compute-fs-axis-grid{stroke:#e2e8f0;stroke-width:1px}.compute-fs-axis-label,.compute-fs-tick{fill:#64748b;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:10px}.compute-fs-force-line{fill:none;stroke:#2563eb;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.compute-fs-moment-line{fill:none;stroke:#dc2626;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.compute-fs-solved-line{stroke:#0f172a;stroke-width:1px;stroke-dasharray:4 3}.compute-slice-zero-line{stroke:#cbd5e1;stroke-width:1px;stroke-dasharray:3 3}.compute-fs-legend{color:#475569;flex-wrap:wrap;gap:10px;margin-top:6px;font-size:.78rem;display:flex}.compute-fs-legend span{align-items:center;gap:6px;display:inline-flex}.compute-fs-swatch{width:12px;height:2px;display:inline-block}.compute-fs-force-swatch{background:#2563eb}.compute-fs-moment-swatch{background:#dc2626}.compute-gle-function-line{fill:none;stroke:#059669;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.compute-gle-function-point{fill:#059669;stroke:#fff;stroke-width:.75px}.compute-slice-series-1,.compute-slice-series-2,.compute-slice-series-3{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.compute-slice-series-1{stroke:#2563eb}.compute-slice-series-2{stroke:#dc2626}.compute-slice-series-3{stroke:#059669}.compute-slice-series-1-point,.compute-slice-series-2-point,.compute-slice-series-3-point{stroke:#fff;stroke-width:.75px}.parametric-analysis-results{border-top:1px solid #e3e6ec;margin-top:10px;padding-top:10px}.parametric-analysis-results h4{color:#334155;margin:0 0 8px;font-size:1rem}.parametric-analysis-svg{background:#fafcff;border:1px solid #e3e6ec;border-radius:8px;width:100%;height:auto;display:block}.parametric-analysis-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.parametric-analysis-svg .compute-fs-axis-label,.parametric-analysis-svg .compute-fs-tick{font-size:26px}.parametric-analysis-results .compute-fs-legend{font-size:.92rem}.compute-slice-series-1-point{fill:#2563eb}.compute-slice-series-2-point{fill:#dc2626}.compute-slice-series-3-point{fill:#059669}.compute-slice-swatch-1{background:#2563eb}.compute-slice-swatch-2{background:#dc2626}.compute-slice-swatch-3{background:#059669}.compute-iteration-summary{border-top:1px solid #e3e6ec;margin-top:10px;padding-top:10px}.compute-iteration-summary h4{color:#334155;margin:0 0 8px;font-size:.88rem}.compute-iteration-list{color:#475569;gap:6px;font-size:.82rem;display:grid}.compute-iteration-list p{margin:0}.slice-data-modal{z-index:24;resize:both;color:#0f172a;background:#fff;border:1px solid #d9dde5;border-radius:8px;grid-template-rows:auto auto 1fr;width:380px;min-width:320px;max-width:calc(100% - 16px);height:430px;min-height:280px;max-height:calc(100% - 16px);font-size:.82rem;display:grid;position:absolute;overflow:hidden;box-shadow:0 16px 34px #0f172a38}.slice-data-modal.hidden{display:none}.slice-data-modal-header{cursor:move;-webkit-user-select:none;user-select:none;background:#f8fafc;border-bottom:1px solid #d9dde5;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:0 10px;display:flex}.slice-data-modal-header h3{color:#1f2937;margin:0;font-size:.92rem;line-height:1.2}.slice-data-modal-actions{align-items:center;gap:4px;display:flex}.slice-data-modal button{border-radius:4px;width:24px;min-width:24px;height:24px;margin:0;padding:0;font-size:.82rem;line-height:1}.slice-data-modal-subtitle{color:#475569;border-bottom:1px solid #e2e8f0;padding:6px 10px;font-weight:600}.slice-data-table-wrap{min-height:0;padding:8px 10px 10px;overflow:auto}.slice-data-table{border-collapse:collapse;background:#fff;width:100%}.slice-data-table th,.slice-data-table td{text-align:left;border:1px solid #cbd5e1;padding:4px 6px;line-height:1.25}.slice-data-table thead th{color:#334155;background:#e8eef6;font-weight:700}.slice-data-table tbody th{color:#334155;width:64%;font-weight:500}.slice-data-table td{color:#0f172a;font-variant-numeric:tabular-nums}.compute-progress{gap:6px;margin-top:8px;display:grid}.compute-progress.hidden{display:none}.compute-progress progress{width:100%;height:12px}.solver-modal{z-index:50;pointer-events:none;display:block;position:fixed;inset:0}.solver-modal.hidden{display:none}.solver-modal-card{pointer-events:auto;box-sizing:border-box;background:#fff;border:1px solid #d9dde5;border-radius:8px;flex-direction:column;width:min(520px,100vw - 16px);min-width:380px;min-height:320px;max-height:calc(100vh - 80px);display:flex;position:absolute;top:72px;left:24px;overflow:hidden;box-shadow:0 24px 60px #0f172a3d}.solver-modal-content{scrollbar-gutter:stable;gap:10px;min-height:0;padding:12px 14px 14px;display:grid;overflow:auto}.solver-modal-resize{z-index:10;touch-action:none;position:absolute}.solver-modal-resize-n,.solver-modal-resize-s{cursor:ns-resize;height:14px;left:18px;right:18px}.solver-modal-resize-n{top:0}.solver-modal-resize-s{bottom:0}.solver-modal-resize-e,.solver-modal-resize-w{cursor:ew-resize;width:14px;top:18px;bottom:18px}.solver-modal-resize-e{right:0}.solver-modal-resize-w{left:0}.solver-modal-resize-ne,.solver-modal-resize-nw,.solver-modal-resize-se,.solver-modal-resize-sw{width:24px;height:24px}.solver-modal-resize-ne{cursor:nesw-resize;top:0;right:0}.solver-modal-resize-nw{cursor:nwse-resize;top:0;left:0}.solver-modal-resize-se{cursor:nwse-resize;bottom:0;right:0}.solver-modal-resize-sw{cursor:nesw-resize;bottom:0;left:0}.solver-modal-header{cursor:move;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.solver-modal-titlebar{color:#334155;cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;background:#f8fafc;border-bottom:1px solid #d9dde5;flex:none;align-items:center;gap:10px;min-height:38px;padding:0 14px;font-size:.82rem;font-weight:650;display:flex}.solver-modal-titlebar-title{flex:auto;min-width:0}.solver-modal-titlebar-grip{background-image:radial-gradient(circle,#94a3b8 1.3px,#0000 1.4px);background-position:0 0;background-size:5px 5px;border-radius:4px;width:16px;height:16px}.solver-modal-titlebar-actions{z-index:12;cursor:default;align-items:center;gap:6px;margin-left:auto;display:flex;position:relative}.solver-modal-titlebar-progress{color:#334155;text-align:center;background:#f8fafc;border:1px solid #d9dde5;border-radius:999px;flex:none;min-width:40px;padding:3px 7px;font-size:.76rem;font-weight:650;line-height:1.2}.solver-modal-header-progress{flex:none;align-items:center;gap:8px;display:inline-flex}.solver-modal-elapsed-time{color:#64748b;white-space:nowrap;font-size:.78rem;font-weight:650;line-height:1.2}.solver-modal-icon-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;place-items:center;width:28px;min-width:28px;height:28px;margin:0;padding:0;display:inline-grid;position:relative}.solver-modal-icon-button:hover:not(:disabled),.solver-modal-icon-button:focus-visible:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.solver-modal-icon-button:disabled{opacity:.48;cursor:not-allowed}.solver-modal-icon-button.danger{color:#991b1b;background:#fff7f7;border-color:#fecaca}.solver-modal-icon-button.danger:hover:not(:disabled),.solver-modal-icon-button.danger:focus-visible:not(:disabled){background:#fef2f2;border-color:#fca5a5}.solver-modal-icon-button svg{fill:currentColor;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px;display:block}.solver-modal-icon-button rect{fill:currentColor}.solver-modal-icon-button path,.solver-modal-icon-button>svg>rect{fill:none}.solver-modal-icon-pause,.solver-modal-icon-resume{place-items:center;display:grid}.solver-modal-icon-button[data-paused=true] .solver-modal-icon-pause,.solver-modal-icon-button:not([data-paused=true]) .solver-modal-icon-resume{display:none}.solver-modal-tooltip{z-index:20;color:#475569;text-align:left;white-space:normal;pointer-events:none;background:#fff;border:1px solid #d9dde5;border-radius:8px;gap:3px;width:220px;padding:9px 10px;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 32px #0f172a2e}.solver-modal-tooltip strong,.solver-modal-tooltip span{display:block}.solver-modal-tooltip strong{color:#0f172a;font-size:.8rem}.solver-modal-tooltip span{font-size:.76rem;font-weight:400;line-height:1.25}.solver-modal-icon-button:hover .solver-modal-tooltip,.solver-modal-icon-button:focus-visible .solver-modal-tooltip{display:grid}.solver-modal-header p{margin:4px 0 0}.solver-modal-header h3,.solver-modal-chart-header h4{min-width:0;margin:0}.solver-modal-progress{gap:4px;display:grid}.solver-modal-progress progress{width:100%;height:14px}.solver-modal-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.solver-modal-actions button{width:auto;margin:0}.solver-modal-actions button.danger{color:#991b1b;background:#fef2f2;border-color:#fecaca}.solver-modal-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.solver-modal-stats-four{grid-template-columns:repeat(4,minmax(0,1fr))}.solver-modal-stat{background:#f8fafc;border:1px solid #e3e6ec;border-radius:8px;padding:8px 10px}.solver-modal-stat span{color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px;font-size:.76rem;display:block}.solver-modal-stat strong{color:#0f172a;font-size:1rem}.control-modal-card{width:min(520px,100vw - 16px)}.control-modal-content{display:block}.control-modal-content .tool-group{border:0;border-radius:0;margin:0;padding:0}.control-modal-content .tool-group h3{margin-top:0}.solver-modal-chart{gap:6px;display:grid}.solver-modal-methods{gap:10px;display:grid}.solver-modal-method-card{background:#fff;border:1px solid #d9dde5;border-radius:8px;gap:9px;padding:10px;display:grid}.solver-modal-method-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.solver-modal-method-header h4{color:#0f172a;margin:0;font-size:.98rem}.solver-modal-method-header p,.solver-modal-method-detail{margin:3px 0 0}.solver-modal-method-detail{text-overflow:ellipsis;white-space:nowrap;max-width:min(460px,70vw);overflow:hidden}.solver-modal-method-badge{color:#334155;text-align:center;background:#f8fafc;border:1px solid #d9dde5;border-radius:999px;flex:none;min-width:42px;padding:3px 7px;font-size:.76rem;font-weight:650}.solver-modal-method-card>progress{width:100%;height:10px}.solver-modal-method-card-combined{gap:8px}.solver-modal-combined-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.solver-modal-combined-row{background:#f8fafc;border:1px solid #e3e6ec;border-radius:8px;grid-template-columns:82px minmax(0,1fr);gap:8px;padding:6px 8px;display:grid}.solver-modal-combined-row>span{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:650}.solver-modal-combined-values{gap:2px;min-width:0;display:grid}.solver-modal-combined-values p{color:#0f172a;justify-content:space-between;gap:8px;margin:0;font-size:.78rem;line-height:1.2;display:flex}.solver-modal-combined-values strong{font-weight:650}.solver-modal-graph-compact{min-height:150px}.solver-modal-graph-compact svg{height:150px}.solver-modal-top-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.solver-modal-diagnostics{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.solver-modal-diagnostics-five{grid-template-columns:repeat(5,minmax(0,1fr))}.solver-modal-diagnostic-row{background:#f8fafc;border:1px solid #e3e6ec;border-radius:8px;padding:6px 8px}.solver-modal-diagnostic-row span{color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:.74rem;display:block}.solver-modal-diagnostic-row strong{color:#0f172a;font-size:.95rem}.solver-modal-chart-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.solver-modal-graph{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #d9dde5;border-radius:8px;min-height:178px;padding:8px}.solver-modal-graph svg{width:100%;height:178px;display:block}.solver-modal-workers{box-sizing:border-box;background:#fff;border:1px solid #d9dde5;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:232px;max-height:240px;padding:8px;display:grid;overflow:auto}.solver-modal-worker-row{background:#f8fafc;border:1px solid #e3e6ec;border-radius:8px;align-content:start;gap:7px;min-height:104px;padding:10px;display:grid;box-shadow:0 1px 2px #0f172a0d}.solver-modal-worker-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.solver-modal-worker-title strong{color:#0f172a;font-size:.92rem}.solver-modal-worker-title span,.solver-modal-worker-detail{font-size:.76rem}.solver-modal-worker-row progress{width:100%;height:8px}.solver-modal-worker-detail{margin:0}@media (width<=900px){.solver-modal-top-row,.solver-modal-workers,.solver-modal-combined-stats{grid-template-columns:minmax(0,1fr)}}.solver-modal-graph-empty{color:#64748b;margin:0}.solver-modal-timings{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #d9dde5;border-radius:8px;gap:4px;padding:8px;display:grid}.solver-modal-timing-row{grid-template-columns:minmax(0,1.6fr) minmax(88px,.7fr) minmax(88px,.7fr);align-items:center;gap:8px;font-size:.82rem;display:grid}.solver-modal-timing-row span{color:#475569}.solver-modal-timing-row strong{color:#0f172a;text-align:right}.solver-modal-timing-subrow{padding-left:14px}.solver-modal-timing-subrow span{color:#64748b}.solver-modal-timing-head{border-bottom:1px solid #e3e6ec;padding-bottom:6px}.solver-modal-timing-head span{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.76rem}.solver-modal-axis{stroke:#94a3b8;stroke-width:1px}.solver-modal-axis-label,.solver-modal-tick{fill:#64748b;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:10px}.solver-modal-grid{stroke:#e2e8f0;stroke-width:1px}.solver-modal-tolerance{stroke:#d97706;stroke-width:1.5px;stroke-dasharray:5 4}.solver-modal-line{fill:none;stroke:#2563eb;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.solver-modal-line-critical{stroke:#dc2626}.solver-modal-legend-line{fill:none;stroke-width:2.5px;stroke-linecap:round}@media (width<=900px){.solver-modal-stats-four,.solver-modal-diagnostics,.solver-modal-diagnostics-five{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.solver-modal-stats,.solver-modal-stats-four,.solver-modal-diagnostics,.solver-modal-diagnostics-five{grid-template-columns:minmax(0,1fr)}}#image-calibration-modal .solver-modal-card{min-width:min(760px,100vw - 16px)}#image-calibration-modal .solver-modal-content{gap:12px}.image-calibration-select-row{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;display:grid}.image-calibration-select-row label{color:#475569;margin:0;font-size:.8rem;font-weight:700}.image-calibration-workspace{grid-template-columns:minmax(320px,1fr) minmax(380px,.9fr);align-items:stretch;gap:12px;min-height:0;display:grid}.image-calibration-preview-panel{align-items:stretch;min-width:0;min-height:0;display:flex}.image-calibration-stage{width:100%;min-height:min(var(--image-calibration-target-height,420px), 50vh);height:min(var(--image-calibration-target-height,420px), calc(100vh - 250px));background:#f8fafc;border:1px solid #dce3ec;border-radius:8px;justify-content:center;align-items:center;display:flex;overflow:hidden}.image-calibration-stage img{cursor:crosshair}.image-calibration-image-frame{width:fit-content;height:fit-content;max-width:min(100%, var(--image-calibration-target-width,520px));max-height:100%;line-height:0;display:block;position:relative}.image-calibration-image-frame img{width:auto;height:auto;max-width:min(100%, var(--image-calibration-target-width,520px));max-height:min(100%, var(--image-calibration-target-height,420px));object-fit:contain;-webkit-user-select:none;user-select:none;display:block}.image-calibration-marker{z-index:2;color:#fff;pointer-events:none;background:#0ea5e9;border:2px solid #fff;border-radius:999px;place-items:center;width:22px;height:22px;font-size:.72rem;font-weight:800;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 5px #0f172a59}.image-calibration-magnifier{z-index:4;pointer-events:none;background-repeat:no-repeat;border:2px solid #fff;border-radius:999px;width:132px;height:132px;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 12px 28px #0f172a4d}.image-calibration-magnifier:before,.image-calibration-magnifier:after{content:"";pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.image-calibration-magnifier:before{border:1px solid #dc2626cc;border-radius:999px;width:18px;height:18px;box-shadow:inset 0 0 0 1px #ffffffb3,0 0 0 1px #ffffffa6}.image-calibration-magnifier:after{background:#dc2626;border:1px solid #fff;border-radius:999px;width:6px;height:6px;box-shadow:0 0 0 1px #7f1d1d6b}.image-calibration-empty{color:#64748b;font-size:.84rem;font-weight:700}.image-calibration-table-actions svg,.image-calibration-remove svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.image-calibration-table-panel{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.image-calibration-table-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.image-calibration-table-header h4{color:#1f2937;margin:0;font-size:.9rem}.image-calibration-table-header span{color:#64748b;margin-top:2px;font-size:.76rem;font-weight:750;display:block}.image-calibration-table-actions{flex:none;align-items:center;gap:6px;display:flex}.image-calibration-table-actions button{justify-content:center;align-items:center;gap:6px;width:auto;min-width:74px;min-height:32px;margin:0;padding:6px 8px;font-size:.8rem;display:inline-flex}.image-calibration-table-wrap{background:#fff;border:1px solid #dce3ec;border-radius:8px;min-height:0;overflow:auto}.image-calibration-table{border-spacing:0;table-layout:fixed;width:100%;min-width:430px}.image-calibration-table th,.image-calibration-table td{vertical-align:middle;border-top:1px solid #edf2f7;min-width:0;padding:5px 6px;font-size:.76rem}.image-calibration-table thead th{color:#64748b;text-align:left;text-transform:uppercase;background:#f8fafc;border-top:0;height:28px;font-size:.66rem;font-weight:800}.image-calibration-table th:first-child,.image-calibration-table td:first-child{width:34px}.image-calibration-table th:last-child,.image-calibration-table td:last-child{width:36px;padding-right:5px}.image-calibration-table tbody th{color:#334155;text-align:left}.image-calibration-table input{border:1px solid #cbd5e1;border-radius:6px;width:100%;min-width:0;margin:0;padding:4px 5px;font-size:.76rem}.image-calibration-remove{color:#991b1b;place-items:center;width:28px;min-width:28px;height:28px;margin:0;padding:0;display:grid}.image-calibration-table-empty{color:#64748b;text-align:center;height:82px}@media (width<=900px){#image-calibration-modal .solver-modal-card{min-width:min(420px,100vw - 16px)}.image-calibration-workspace{grid-template-columns:minmax(0,1fr)}.image-calibration-stage{height:min(var(--image-calibration-target-height,360px), 46vh)}.image-calibration-table-header{flex-direction:column;align-items:flex-start}.image-calibration-table-actions{width:100%}.image-calibration-table-actions button{flex:1 1 0}}.material-row{grid-template-columns:18px 1fr;align-items:center;gap:8px;display:grid}.material-swatch{border:1px solid #9ca3af;border-radius:3px;width:14px;height:14px}.tool-group h3{margin:0 0 8px;font-size:.95rem}button,.file-label{cursor:pointer;text-align:center;width:100%;color:var(--line);background:#fff;border:1px solid #c8cfda;border-radius:6px;margin-top:0;margin-bottom:6px;padding:8px 10px;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.2;display:block}button:hover,.file-label:hover{border-color:#9ca3af}button:disabled{cursor:not-allowed;opacity:.5}.hidden-file-input{display:none}.toggle-row{align-items:center;gap:8px;margin-bottom:8px;padding:4px 2px;font-weight:600;display:flex}.inline-toggle{margin:4px 0 8px;font-size:.84rem}.inline-toggle input{margin:0}.toggle-row input{width:16px;height:16px}button.danger{color:var(--danger);border-color:#f1b7b7}button.active{background:#e8f0ff;border-color:#8fb0e8}.vertex-editor{border-top:1px solid #e3e6ec;margin-top:8px;padding-top:8px}.vertex-editor label{color:var(--muted);margin-bottom:4px;font-size:.82rem;display:block}.vertex-editor input{border:1px solid #c8cfda;border-radius:6px;width:100%;margin-bottom:6px;padding:6px 8px}.vertex-editor.hidden{display:none}ul{color:var(--muted);margin:0;padding-left:16px}.canvas-wrap{background:#fff;border:1px solid #d9dde5;border-radius:10px;height:100%;min-height:0;position:relative;overflow:hidden}#cad-canvas{background:#fff;width:100%;height:100%;display:block}.plot-toolbar{z-index:10;background:#fffffff0;border:1px solid #d9dde5;border-radius:8px;min-width:170px;padding:8px;position:absolute;top:10px;left:12px}.plot-toolbar-toggle{z-index:10;background:#fffffff0;width:auto;min-width:140px;margin-bottom:0;position:absolute;top:10px;left:12px}.plot-toolbar-group{margin-bottom:6px}@media (width<=720px){.solver-modal{padding:12px}.solver-modal-stats{grid-template-columns:1fr}.solver-modal-chart-header{flex-direction:column;align-items:flex-start}}.plot-toolbar-group:last-child{margin-bottom:0}.plot-toolbar button{justify-content:center;align-items:center;gap:6px;margin-bottom:6px;display:inline-flex}.plot-toolbar .toggle-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.plot-toolbar-label{align-items:center;gap:6px;display:inline-flex}.plot-toolbar button svg,.plot-toolbar-label svg{flex:none}.plot-toolbar .toggle-row:last-child{margin-bottom:0}.draw-command-bar{z-index:20;background:#fffffff0;border:1px solid #d9dde5;border-radius:8px;grid-template-columns:1fr;gap:4px;width:min(360px,100% - 24px);padding:8px;display:grid;position:absolute;bottom:41px;right:12px}.draw-command-bar label{color:#475569;font-size:.75rem;font-weight:600}.draw-command-bar input{border:1px solid #c8cfda;border-radius:6px;width:100%;padding:6px 8px;font-size:.9rem}.draw-command-bar input:disabled{color:#94a3b8;background:#f8fafc}.geometry-legacy-controls{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.layout.layout-geometry-dock{grid-template-columns:var(--scenario-sidebar-width,300px) minmax(0, 1fr) var(--cad-inspector-width,320px);padding-bottom:40px;position:relative}.layout.layout-geometry-dock.scenario-sidebar-collapsed{grid-template-columns:minmax(0, 1fr) var(--cad-inspector-width,320px)}.layout.layout-geometry-dock .panel{clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.geometry-dock-shell{left:var(--geometry-dock-x,44px);top:var(--geometry-dock-y,50%);z-index:32;pointer-events:auto;align-items:center;gap:8px;display:none;position:absolute;transform:translateY(-50%)}.geometry-dock-shell.visible{display:flex}.geometry-dock-shell.positioned{transform:none}.geometry-dock-shell.dragging{-webkit-user-select:none;user-select:none}.geometry-dock-controls{opacity:0;pointer-events:none;visibility:hidden;gap:5px;transition:opacity .12s,visibility 0s linear .12s;display:grid;position:absolute;top:0;left:-28px}.geometry-dock-shell.dragging .geometry-dock-controls,.geometry-dock-shell.controls-visible .geometry-dock-controls{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s}.geometry-dock-control{color:#475569;background:#fffffff5;border-radius:6px;place-items:center;width:22px;height:22px;margin:0;padding:0;display:grid}.geometry-dock-control:hover{color:#123b72;border-color:#94a3b8}.geometry-dock-control svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.geometry-dock-move-handle{cursor:grab}.geometry-dock-move-handle:active,.geometry-dock-shell.dragging .geometry-dock-move-handle{cursor:grabbing}.geometry-dock-chain{align-items:center;gap:8px;display:flex;position:relative}.geometry-dock-chain:before{content:"";width:8px;height:100%;position:absolute;top:0;left:100%}.geometry-dock-shell.horizontal{align-items:flex-start;transform:translate(-50%)}.geometry-dock-shell.horizontal.positioned{transform:none}.geometry-dock-shell.horizontal .geometry-dock-controls{grid-template-columns:repeat(3,22px);grid-auto-flow:column;top:-28px;left:0}.geometry-dock-shell.horizontal .geometry-dock-chain{flex-direction:column;align-items:flex-start}.geometry-dock-shell.horizontal .geometry-dock-chain:before{width:100%;height:8px;top:100%;left:0}.geometry-dock-shell.horizontal .geometry-dock{grid-template-columns:none;grid-auto-flow:column;align-items:start}.geometry-dock-shell.horizontal .geometry-dock-tooltip{top:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(-4px)}.geometry-dock-shell.horizontal .geometry-dock-tooltip:before{border:0;border-top:1px solid #cbd5e1;border-left:1px solid #cbd5e1;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.geometry-dock-shell.horizontal .geometry-dock-button:hover .geometry-dock-tooltip,.geometry-dock-shell.horizontal .geometry-dock-button:focus-visible .geometry-dock-tooltip{transform:translate(-50%)translateY(0)}.geometry-dock{border:1px solid rgba(207, 214, 226, var(--geometry-dock-border-opacity,1));background:rgba(255, 255, 255, var(--geometry-dock-bg-opacity,.96));box-shadow:0 12px 28px rgba(15, 23, 42, var(--geometry-dock-shadow-opacity,.14));pointer-events:auto;border-radius:8px;gap:6px;padding:6px;display:grid;overflow:visible}.geometry-dock-root{flex-direction:column;align-items:center;gap:4px;display:flex}.geometry-dock-root .geometry-dock-button{width:var(--geometry-dock-button-size,34px);height:var(--geometry-dock-button-size,34px)}.geometry-dock-root .geometry-dock-icon{width:var(--geometry-dock-icon-size,21px);height:var(--geometry-dock-icon-size,21px)}.geometry-dock-section{justify-items:center;display:grid;position:relative}.geometry-dock-section-items{justify-items:center;gap:6px;display:grid}.geometry-dock-section-label{z-index:1;color:#475569;opacity:.78;pointer-events:none;text-align:center;white-space:nowrap;background:#ffffffeb;border:1px solid #cbd5e1db;border-radius:6px;width:max-content;max-width:132px;padding:4px 6px;font-size:.66rem;font-weight:800;line-height:1;transition:opacity .12s,transform .12s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}:is(.geometry-dock-section:has(.geometry-dock-button:hover)>.geometry-dock-section-label,.geometry-dock-section:has(.geometry-dock-button:focus-visible)>.geometry-dock-section-label){opacity:0;transform:translateY(-50%)translate(4px)}.geometry-dock-shell.horizontal .geometry-dock-root{height:calc(var(--geometry-dock-button-size,34px) + 14px);flex-direction:row;align-items:flex-start}.geometry-dock-shell.horizontal .geometry-dock-section{align-self:flex-start}.geometry-dock-shell.horizontal .geometry-dock-section-items{grid-template-columns:none;grid-auto-flow:column;align-items:start}.geometry-dock-shell.horizontal .geometry-dock-section-label{inset:auto auto calc(100% + 10px) 50%;transform:translate(-50%)}:is(.geometry-dock-shell.horizontal .geometry-dock-section:has(.geometry-dock-button:hover)>.geometry-dock-section-label,.geometry-dock-shell.horizontal .geometry-dock-section:has(.geometry-dock-button:focus-visible)>.geometry-dock-section-label){transform:translate(-50%)translateY(4px)}.geometry-dock-child{left:calc(100% + 8px);top:var(--geometry-dock-child-anchor-y,50%);max-height:min(520px,100vh - 120px);box-shadow:none;transform:translateY(var(--geometry-dock-child-offset-y,-50%));background:0 0;border-color:#0000;animation:.12s ease-out geometry-dock-child-in;position:absolute}.geometry-dock-shell.horizontal .geometry-dock-child{left:var(--geometry-dock-child-anchor-x,50%);top:calc(100% + 8px + max(0px, calc(var(--geometry-dock-root-grow-overflow,0px) - 15px)));height:calc(var(--geometry-dock-child-button-size,42px) + 14px);transform:translateX(var(--geometry-dock-child-offset-x,-50%))}.geometry-dock-button{width:var(--geometry-dock-child-button-size,42px);height:var(--geometry-dock-child-button-size,42px);border-radius:7px;place-items:center;margin:0;padding:0;font-size:.72rem;transition:background-color .12s,border-color .12s,color .12s;display:grid;position:relative}.geometry-dock-button.active{color:#123b72;background:#e6efff;border-color:#7aa2df}.geometry-dock-button.danger{color:#9f1239}.geometry-dock-button:disabled{opacity:.42;cursor:default}.geometry-dock-divider{width:var(--geometry-dock-button-size,34px);background:#d8dee8;border-radius:999px;justify-self:center;height:1px;margin:2px 0;display:block}.geometry-dock-shell.horizontal .geometry-dock-divider{width:1px;height:var(--geometry-dock-button-size,34px);align-self:flex-start;margin:0 2px}.geometry-dock-icon{width:var(--geometry-dock-child-icon-size,25px);height:var(--geometry-dock-child-icon-size,25px);place-items:center;display:grid}.geometry-dock-svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.geometry-dock-tooltip{z-index:2;color:#334155;opacity:0;pointer-events:none;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:max-content;max-width:180px;padding:5px 7px;font-size:.76rem;font-weight:700;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)translate(-4px);box-shadow:0 8px 18px #0f172a1f}.geometry-dock-tooltip:before{content:"";background:#fff;border-bottom:1px solid #cbd5e1;border-left:1px solid #cbd5e1;width:8px;height:8px;position:absolute;top:50%;left:-5px;transform:translateY(-50%)rotate(45deg)}.geometry-dock-button:hover .geometry-dock-tooltip,.geometry-dock-button:focus-visible .geometry-dock-tooltip{opacity:1;transform:translateY(-50%)translate(0)}.geometry-dock-tooltip.root{left:auto;right:calc(100% + 10px);transform:translateY(-50%)translate(4px)}.geometry-dock-tooltip.root:before{border-top:1px solid #cbd5e1;border-bottom:0;border-left:0;border-right:1px solid #cbd5e1;left:auto;right:-5px;transform:translateY(-50%)rotate(45deg)}.geometry-dock-button:hover .geometry-dock-tooltip.root,.geometry-dock-button:focus-visible .geometry-dock-tooltip.root{transform:translateY(-50%)translate(0)}.geometry-dock-shell.horizontal .geometry-dock-tooltip.root{inset:auto auto calc(100% + 10px) 50%;transform:translate(-50%)translateY(4px)}.geometry-dock-shell.horizontal .geometry-dock-tooltip.root:before{border:1px solid #cbd5e1;border-top:0;border-left:0;inset:auto auto -5px 50%;transform:translate(-50%)rotate(45deg)}.geometry-dock-shell.horizontal .geometry-dock-button:hover .geometry-dock-tooltip.root,.geometry-dock-shell.horizontal .geometry-dock-button:focus-visible .geometry-dock-tooltip.root{transform:translate(-50%)translateY(0)}@keyframes geometry-dock-child-in{0%{opacity:0}to{opacity:1}}.geometry-dock-settings-popover{left:calc(var(--geometry-dock-button-size,34px) + 50px);z-index:6;color:#334155;background:#fffffffa;border:1px solid #cbd5e1;border-radius:8px;width:238px;padding:10px;position:absolute;top:0;box-shadow:0 16px 34px #0f172a29}.geometry-dock-shell.vertical .geometry-dock-settings-popover{right:auto}.geometry-dock-shell.horizontal .geometry-dock-settings-popover{left:0;top:calc(var(--geometry-dock-button-size,34px) + 50px)}.geometry-dock-settings-heading{color:#1e293b;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:.82rem;font-weight:800;display:flex}.geometry-dock-settings-heading button{color:#64748b;background:0 0;border-radius:6px;place-items:center;width:22px;height:22px;margin:0;padding:0;display:grid}.geometry-dock-settings-heading button:hover{color:#0f172a;background:#eef2f7}.geometry-dock-settings-heading svg{width:14px;height:14px}.geometry-dock-settings-row{color:#475569;gap:6px;margin:0 0 10px;font-size:.76rem;font-weight:700;display:grid}.geometry-dock-settings-row span{justify-content:space-between;gap:8px;display:flex}.geometry-dock-settings-row strong{color:#0f172a;font-size:.74rem}.geometry-dock-settings-row input[type=range]{accent-color:#2563eb;width:100%;margin:0}.geometry-dock-settings-reset{color:#334155;background:#f8fafc;border-radius:6px;width:100%;margin:0;padding:6px 8px;font-size:.76rem;font-weight:800}.geometry-dock-settings-reset:hover{color:#123b72;border-color:#94a3b8}.geometry-dock-vertex-editor{border-top:1px solid #e3e6ec;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:6px 8px;margin-top:8px;padding-top:8px;display:grid}.geometry-dock-vertex-editor.hidden{display:none}.geometry-dock-vertex-editor label{color:#64748b;margin:0;font-size:.78rem;font-weight:700}.geometry-dock-vertex-editor input{border:1px solid #c8cfda;border-radius:6px;width:100%;min-width:0;padding:6px 8px}.geometry-dock-vertex-editor button{grid-column:1/-1;margin:0}.grid-row{grid-template-columns:1fr 84px;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;display:grid}.grid-row input{border:1px solid #c8cfda;border-radius:6px;width:100%;padding:6px 8px}.cad-viewport-status{color:#475569;pointer-events:auto;background:#ffffffeb;border:1px solid #cfd6e2;border-radius:8px;flex-wrap:wrap;gap:10px;width:fit-content;max-width:min(520px,100vw - 560px);padding:5px 8px;font-size:.76rem;font-weight:650;display:flex;box-shadow:0 8px 20px #0f172a14}.cad-viewport-status span{color:#64748b;font-weight:600}.cad-status-bar{z-index:35;color:#334155;background:#f8fafcfa;border-top:1px solid #cfd6e2;align-items:center;gap:14px;min-height:33px;padding:3px 10px;font-size:.74rem;font-weight:650;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto;box-shadow:0 -8px 20px #0f172a14}.cad-status-readout,.cad-status-group{align-items:center;gap:6px;min-width:0;display:flex}.cad-status-readout{flex:auto;overflow:hidden}.cad-status-readout span{color:#475569;flex:none;min-width:62px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cad-status-toggle{border-radius:4px;justify-content:center;align-items:center;width:auto;min-width:0;height:22px;margin:0;padding:2px 7px;font-size:.72rem;line-height:1;display:inline-flex}.cad-status-toggle svg{flex:none}.cad-status-toggle.active{color:#123b72;background:#e6efff;border-color:#7aa2df}.cad-status-snap-priority{align-items:center;gap:0;display:inline-flex}.cad-status-snap-priority .cad-status-toggle{border-radius:0;position:relative}.cad-status-snap-priority .cad-status-toggle+.cad-status-toggle{margin-left:-1px}.cad-status-snap-priority .cad-status-toggle:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.cad-status-snap-priority .cad-status-toggle:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.cad-status-priority-toggle{min-width:24px;padding-left:6px;padding-right:6px;font-weight:750}.cad-status-priority-toggle:disabled{opacity:.45;cursor:not-allowed}.cad-status-debug-toggle{min-width:44px;padding-left:8px;padding-right:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;font-weight:800}.cad-status-angle-modal{z-index:48;color:#334155;background:#fff;border:1px solid #c5cede;border-radius:8px;width:min(316px,100vw - 16px);padding:8px;position:fixed;box-shadow:0 16px 40px #0f172a2e}.cad-status-angle-modal form{gap:8px;margin:0;display:grid}.cad-status-angle-modal-titlebar{color:#1f2937;justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;font-weight:750;display:flex}.cad-status-angle-icon-button{border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;margin:0;padding:0;display:inline-flex}.cad-status-angle-field{color:#64748b;gap:4px;font-size:.7rem;font-weight:700;display:grid}.cad-status-angle-field input{color:#1f2937;background:#fff;border:1px solid #c8cfda;border-radius:4px;width:100%;height:28px;margin:0;padding:4px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem;font-weight:600}.cad-status-angle-actions{justify-content:flex-end;gap:6px;display:flex}.cad-status-angle-actions button{border-radius:4px;width:auto;min-width:58px;height:26px;margin:0;padding:4px 9px;font-size:.72rem;font-weight:700}.cad-status-angle-actions button.primary{color:#123b72;background:#e6efff;border-color:#7aa2df}.cad-status-field{color:#64748b;white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.cad-status-field input{color:#1f2937;background:#fff;border:1px solid #c8cfda;border-radius:4px;width:58px;height:22px;margin:0;padding:2px 5px;font-size:.72rem}.cad-toolbar-popover{pointer-events:auto;background:#fff;border:1px solid #cfd6e2;border-radius:8px;width:min(360px,100vw - 24px);max-height:min(520px,100vh - 120px);padding:10px;overflow:auto;box-shadow:0 14px 36px #0f172a29}.cad-popover-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.cad-popover-header button{width:auto;margin:0;padding:5px 8px;font-size:.78rem}.cad-layer-grid{border-top:1px solid #eef2f7;grid-template-columns:minmax(130px,1fr) repeat(4,38px);align-items:center;gap:6px;min-height:28px;font-size:.8rem;display:grid}.cad-layer-grid-head{color:#64748b;border-top:0;font-weight:700}.cad-layer-grid input{justify-self:center;width:15px;height:15px}.cad-layer-name{align-items:center;gap:7px;min-width:0;font-weight:650;display:flex}.cad-layer-name i{border:1px solid #94a3b8;border-radius:3px;flex:none;width:12px;height:12px}.cad-inspector-sidebar{grid-template-rows:minmax(190px,.8fr) 10px minmax(0,1.2fr);gap:0;min-height:0;display:grid;position:relative;overflow:visible}.cad-sidebar-width-resizer{z-index:6;cursor:col-resize;width:10px;position:absolute;top:0;bottom:0;left:-10px}.cad-sidebar-width-resizer:before{content:"";opacity:0;background:#cfd6e2;border-radius:999px;width:2px;transition:opacity .1s,background-color .1s;position:absolute;top:18%;bottom:18%;left:calc(50% - 1px)}.cad-sidebar-width-resizer:hover:before{opacity:1;background:#94a3b8}.cad-inspector-split-resizer{cursor:row-resize;position:relative}.cad-inspector-split-resizer:before{content:"";opacity:0;background:#cfd6e2;border-radius:999px;height:2px;transition:opacity .1s,background-color .1s;position:absolute;top:calc(50% - 1px);left:18%;right:18%}.cad-inspector-split-resizer:hover:before{opacity:1;background:#94a3b8}.cad-inspector-pane{background:#fffffff5;border:1px solid #d9dde5;border-radius:10px;min-height:0;overflow:auto}.cad-inspector-panel-hidden{display:none}.cad-inspector-heading{z-index:1;cursor:pointer;background:#fffffffa;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;transition:background-color .12s;display:flex;position:sticky;top:0}.cad-inspector-heading:hover{background:#f8fafc}.cad-inspector-pane.collapsed{overflow:hidden}.cad-inspector-pane.collapsed .cad-property-stack,.cad-inspector-pane.collapsed .cad-property-grid,.cad-inspector-pane.collapsed .cad-layer-tree{display:none}.cad-inspector-heading h3{color:#1f2937;margin:0;font-size:.88rem}.cad-inspector-heading span{color:#64748b;font-size:.75rem;font-weight:700}.cad-inspector-heading button,.cad-property-actions button{width:auto;margin:0;padding:5px 8px;font-size:.78rem}.cad-property-stack{gap:10px;padding:11px;display:grid}.cad-property-stack label{color:#64748b;gap:5px;font-size:.75rem;font-weight:700;display:grid}.cad-property-stack label.toggle-row{color:#334155;align-items:center;gap:8px;font-size:.84rem;font-weight:600;display:flex}.cad-property-stack label.toggle-row span{min-width:0}.cad-property-stack input[type=text],.cad-property-stack input[type=number],.cad-property-stack input[type=color],.cad-property-stack textarea,.cad-property-stack select{color:#1f2937;border:1px solid #c8cfda;border-radius:6px;width:100%;margin:0;padding:6px 8px;font-size:.84rem}.cad-property-stack input[type=color]{min-height:32px;padding:3px}.cad-property-stack textarea{resize:vertical;min-height:72px}.cad-property-stack input[type=range]{width:100%;margin:0}.compute-display-controls{gap:7px;display:grid}.compute-display-tabs{background:#f8fafc;border:1px solid #c8cfda;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:2px;display:grid}.compute-display-tabs button{color:#475569;background:0 0;border:0;border-radius:4px;width:100%;min-height:26px;margin:0;padding:4px 7px;font-size:.74rem;font-weight:800}.compute-display-tabs button.active{color:#1d4ed8;background:#fff;box-shadow:0 0 0 1px #bfdbfe}.cad-property-stack .compute-display-controls label{margin:0}.cad-property-stack .compute-display-controls label.toggle-row{color:#1f2937;gap:6px;min-height:22px;font-size:.74rem;line-height:1.15}.compute-display-controls label.toggle-row input[type=checkbox]{flex:0 0 14px;width:14px;height:14px;margin:0}.cad-property-stack .compute-display-field{color:#64748b;gap:3px;font-size:.68rem;font-weight:700;line-height:1.1;display:grid}.compute-display-two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.compute-display-range-row{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:7px;display:grid}.compute-display-range-row output{color:#334155;text-align:right;font-size:.72rem;font-weight:800}.compute-display-controls input[type=number],.compute-display-controls select{border-radius:5px;min-height:27px;padding:4px 7px;font-size:.76rem;line-height:1.15}.compute-display-controls input[type=range]{width:100%;margin:0}.cad-dimension-properties{gap:10px;display:grid}.cad-property-section,.cad-coordinate-section{border-top:1px solid #edf2f7;gap:9px;padding-top:10px;display:grid}.cad-property-section-title{color:#64748b;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:.72rem;font-weight:800;display:flex}.cad-property-section-title strong{color:#334155;font-size:.72rem}.cad-style-swatches{grid-template-columns:repeat(6,24px);align-items:center;gap:8px;display:grid}.cad-style-swatches button,.cad-rainbow-swatch{cursor:pointer;border:1px solid #d5dbe4;border-radius:999px;width:24px;height:24px;margin:0;padding:0;position:relative;overflow:hidden}.cad-style-swatches button.active{outline-offset:2px;outline:2px solid #0ea5e9}.cad-rainbow-swatch input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.cad-rainbow-swatch span{background:radial-gradient(circle at 35% 35%,#ffffff5c 0 30%,#fff0 56%),conic-gradient(#ef4444,#f97316,#eab308,#22c55e,#06b6d4,#3b82f6,#a855f7,#ef4444);width:100%;height:100%;display:block}.cad-range-control{gap:7px;display:grid}.cad-range-control span{justify-content:space-between;align-items:center;gap:8px;display:flex}.cad-range-control strong{color:#334155;font-size:.72rem}.cad-line-controls-row{grid-template-columns:minmax(0,1.2fr) minmax(104px,.8fr);align-items:end;gap:10px;display:grid}.cad-line-type-control{gap:7px;display:grid}.cad-segmented{border:1px solid #cbd5e1;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.cad-segmented button{color:#475569;background:#fff;border:0;border-radius:0;width:100%;margin:0;padding:7px 8px;font-size:.76rem;font-weight:750}.cad-segmented button+button{border-left:1px solid #cbd5e1}.cad-segmented button.active{color:#fff;background:#0f766e}.cad-style-split{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;display:grid}.cad-property-tabs{background:#fff;border:1px solid #cbd5e1;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.cad-property-tabs button{color:#475569;background:#fff;border:0;border-radius:0;width:100%;margin:0;padding:7px 8px;font-size:.76rem;font-weight:750}.cad-inspector-heading .cad-property-tabs{border-color:#d5dbe4;flex:0 174px;width:min(174px,66%)}.cad-inspector-heading .cad-property-tabs button{padding:5px 7px;font-size:.7rem}.cad-property-tabs button+button{border-left:1px solid #cbd5e1}.cad-property-tabs button:hover{background:#f8fafc}.cad-property-tabs button.active{color:#fff;background:#0f766e}.cad-property-tab-panel{gap:10px;display:grid}.cad-coordinate-table{border-spacing:0;table-layout:fixed;background:#fff;border:1px solid #dce3ec;border-radius:8px;width:100%}.cad-coordinate-table th,.cad-coordinate-table td{vertical-align:middle;border-top:1px solid #edf2f7;min-width:0;padding:5px 7px}.cad-coordinate-table thead th{color:#64748b;text-align:left;text-transform:uppercase;background:#f8fafc;border-top:0;height:28px;font-size:.68rem;font-weight:800}.cad-coordinate-table th:first-child,.cad-coordinate-table td:first-child{width:28%}.cad-coordinate-table tbody tr{min-height:32px}.cad-coordinate-table tbody tr.selected{background:#eef6ff}.cad-coordinate-table tbody th{color:#334155;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:750;overflow:hidden}.cad-coordinate-scroll{max-height:178px;overflow:auto}.cad-coordinate-table input{width:100%;min-width:0;padding:4px 5px;font-size:.76rem}.cad-property-grid{color:#64748b;grid-template-columns:minmax(92px,.75fr) minmax(0,1fr);gap:6px 10px;padding:11px;font-size:.78rem;display:grid}.cad-property-stack .cad-property-grid{padding:0}.cad-property-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.cad-property-grid strong{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.cad-property-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.cad-property-checks label,.cad-inline-check{color:#334155;align-items:center;gap:7px;min-width:0;font-size:.8rem;font-weight:650;display:flex}.cad-property-checks input,.cad-inline-check input{flex:none;width:15px;height:15px}.cad-property-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.cad-layer-tree{gap:4px;padding:8px;display:grid}.cad-layer-tree-layer{background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:border-color .12s,box-shadow .12s,transform .12s;position:relative;overflow:visible}.cad-layer-tree-layer>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:7px 8px;list-style:none;display:grid}.cad-layer-tree-layer>summary::-webkit-details-marker{display:none}.cad-layer-tree-title{color:#1f2937;align-items:center;gap:7px;min-width:0;font-size:.8rem;font-weight:750;display:flex}.cad-layer-tree-title i{border:1px solid #94a3b8;border-radius:3px;flex:none;width:12px;height:12px}.cad-layer-tree-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cad-layer-tree-layer.locked,.cad-layer-tree-child.locked{opacity:.5}.cad-layer-tree-layer.dragging,.cad-layer-tree-child.dragging{opacity:.42;transform:scale(.99)}.cad-layer-tree-toggles{align-items:center;gap:3px;display:flex}.cad-layer-tree-toggles button{color:#64748b;background:0 0;border:0;border-radius:5px;place-items:center;width:24px;height:24px;margin:0;padding:0;display:grid}.cad-layer-tree-toggles button:hover,.cad-layer-tree-toggles button.active{color:#123b72;background:#eef6ff}.cad-layer-tree-toggles svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.cad-layer-tree-children{border-top:1px solid #eef2f7;gap:3px;padding:6px 8px 8px;display:grid}.cad-layer-tree-child{color:#1f2937;text-align:left;cursor:grab;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;margin:0;padding:5px 6px;font-size:.76rem;transition:background-color .12s,box-shadow .12s,transform .12s;display:grid;position:relative}.cad-layer-tree-child.static{cursor:pointer}.cad-layer-tree-child.indent{padding-left:18px}.cad-layer-tree-child.hidden .cad-layer-tree-child-label{color:#94a3b8}.cad-layer-tree-layer>summary{cursor:grab}.cad-layer-tree-child:active,.cad-layer-tree-layer>summary:active{cursor:grabbing}.cad-layer-tree-child:hover,.cad-layer-tree-child:focus-visible,.cad-layer-tree-child.selected{background:#eef6ff}.cad-layer-tree.dragging .cad-layer-tree-child:hover:not(.selected),.cad-layer-tree.dragging .cad-layer-tree-child:focus-visible:not(.selected){background:0 0}.cad-layer-tree-child-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cad-layer-tree-child-actions{opacity:0;pointer-events:none;align-items:center;gap:2px;transition:opacity .1s;display:flex}.cad-layer-tree-child:hover .cad-layer-tree-child-actions,.cad-layer-tree-child:focus-visible .cad-layer-tree-child-actions,.cad-layer-tree-child:focus-within .cad-layer-tree-child-actions,.cad-layer-tree-child.selected .cad-layer-tree-child-actions{opacity:1;pointer-events:auto}.cad-layer-tree.dragging .cad-layer-tree-child-actions{opacity:0;pointer-events:none}.cad-layer-tree-child-actions button{color:#64748b;background:0 0;border:0;border-radius:5px;place-items:center;width:22px;height:22px;margin:0;padding:0;display:grid}.cad-layer-tree-child-actions button:hover,.cad-layer-tree-child-actions button.active{color:#123b72;background:#eef6ff}.cad-layer-tree-child-actions button.danger:hover{color:#991b1b;background:#fee2e2}.cad-layer-tree-child-actions svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.cad-layer-tree-layer.drop-before:before,.cad-layer-tree-layer.drop-after:after,.cad-layer-tree-child.drop-before:before,.cad-layer-tree-child.drop-after:after{content:"";z-index:2;pointer-events:none;background:#2563eb;border-radius:999px;height:2px;position:absolute;left:8px;right:8px;box-shadow:0 0 0 2px #2563eb24}.cad-layer-tree-layer.drop-before:before,.cad-layer-tree-child.drop-before:before{top:-3px}.cad-layer-tree-layer.drop-after:after,.cad-layer-tree-child.drop-after:after{bottom:-3px}.cad-file-label{margin-bottom:8px}.cad-image-list{gap:4px;margin-bottom:8px;display:grid}.cad-image-list button,.cad-popover-actions button{margin-bottom:0}.cad-popover-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.slope-wizard-card{width:min(920px,100vw - 24px)}.slope-wizard-slider-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;display:grid}.slope-wizard-tabbed-params{gap:12px;min-width:0;display:grid}.slope-wizard-tabs{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.slope-wizard-tabs button{color:#64748b;background:0 0;border:0;border-radius:6px;min-width:0;margin:0;padding:8px 10px;font-size:.78rem;font-weight:800;line-height:1.1}.slope-wizard-tabs button:hover,.slope-wizard-tabs button:focus-visible{color:#123b72;background:#eef6ff}.slope-wizard-tabs button.active{color:#0f2f5f;background:#fff;box-shadow:0 1px 3px #0f172a24}.slope-wizard-tab-panel{min-width:0}.slope-wizard-slider-row{gap:7px;min-width:0;display:grid}.slope-wizard-slider-head{color:#475569;justify-content:space-between;align-items:center;gap:8px;min-width:0;font-size:.78rem;font-weight:700;display:flex}.slope-wizard-slider-head label{overflow-wrap:anywhere;min-width:0;margin:0}.slope-wizard-value{background:#fff;border:1px solid #d8dee8;border-radius:6px;flex:none;align-items:center;gap:4px;padding:2px 5px;display:flex}.slope-wizard-value input{text-align:right;border:0;width:58px;margin:0;padding:0;font:.74rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.slope-wizard-value span{color:#64748b;font-size:.72rem}.slope-wizard-slider-row input[type=range]{accent-color:#2563eb;width:100%;margin:0}.slope-wizard-toggle{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:45px;margin:0;padding:8px 10px;font-size:.78rem;font-weight:700;display:flex}.slope-wizard-toggle input{width:16px;height:16px;margin:0}.slope-wizard-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.slope-wizard-actions button{width:auto;min-width:88px;margin:0}@media (width<=760px){.slope-wizard-slider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.slope-wizard-slider-grid,.slope-wizard-tabs{grid-template-columns:1fr}}.cad-context-menu{z-index:1000;background:#fff;border:1px solid #c8cfda;border-radius:8px;width:180px;padding:6px;position:fixed;box-shadow:0 12px 30px #0f172a2e}.cad-context-menu-wide{width:220px}.cad-context-menu button{text-align:left;background:0 0;border:0;border-radius:6px;margin:0;padding:7px 8px;font-size:.88rem}.cad-context-menu button:hover:not(:disabled){background:#f1f5f9}.cad-context-menu button:disabled{opacity:.42}.cad-context-menu-section{gap:6px;padding:6px 2px 2px;display:grid}.cad-context-menu-section label,.cad-context-menu-label{color:#64748b;text-transform:uppercase;font-size:.68rem;font-weight:800}.cad-context-material-list{gap:2px;display:grid}.cad-context-material-list button{color:#1f2937;background:0 0;border:0;border-radius:6px;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:7px;width:100%;min-width:0;margin:0;padding:6px 7px;font-size:.82rem;display:grid}.cad-context-material-list button:hover,.cad-context-material-list button.active{background:#eef6ff}.cad-context-material-list i{border:1px solid #0f172a2e;border-radius:4px;width:14px;height:14px}.cad-context-material-list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cad-context-material-list p{color:#64748b;margin:2px 6px 4px;font-size:.82rem}.cad-context-menu button.cad-context-menu-secondary{color:#334155;background:#f8fafc;border:1px solid #dbe3ee}.material-assignment-card{width:min(380px,100vw - 16px);min-height:260px}.material-assignment-titlebar{min-height:38px}.material-assignment-list{align-content:start;min-height:0;padding:6px;display:grid;overflow:auto}.material-assignment-list button{color:#1f2937;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;margin:0;padding:7px 8px;display:grid}.material-assignment-list button:hover,.material-assignment-list button.active{background:#eef6ff}.material-assignment-list i{border:1px solid #0f172a2e;border-radius:4px;width:16px;height:16px}.material-assignment-list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.material-assignment-list p{color:#64748b;margin:8px;font-size:.82rem}.material-type-tooltip{z-index:1200;color:#1f2937;pointer-events:none;background:#fff;border:1px solid #cbd5e1;border-radius:7px;gap:3px;width:max-content;max-width:min(360px,100vw - 16px);padding:7px 8px;font-size:.78rem;line-height:1.2;display:grid;position:fixed;transform:translateY(-50%);box-shadow:0 12px 28px #0f172a29}.material-type-tooltip:before{content:"";background:#fff;width:8px;height:8px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.material-type-tooltip-right:before{border-bottom:1px solid #cbd5e1;border-left:1px solid #cbd5e1;left:-5px}.material-type-tooltip-left:before{border-top:1px solid #cbd5e1;border-right:1px solid #cbd5e1;right:-5px}.material-type-tooltip-header{white-space:nowrap;align-items:center;gap:7px;min-width:0;display:flex}.material-type-tooltip strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.82rem;font-weight:750;overflow:hidden}.material-type-tooltip-criterion{color:#64748b;letter-spacing:0;white-space:nowrap;background:#eef2f7;border-radius:4px;flex:none;padding:1px 4px;font-size:.66rem;font-weight:800;line-height:1.15}.material-type-tooltip-params{white-space:nowrap;flex-wrap:nowrap;gap:3px;min-width:0;display:flex}.material-type-tooltip-params span{color:#334155;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;align-items:baseline;gap:3px;padding:2px 4px;font-size:.7rem;font-weight:650;display:inline-flex}.material-type-tooltip-params b{color:#64748b;font-weight:750}.cad-hover-select-menu{z-index:999;background:#fff;border:1px solid #c8cfda;border-radius:8px;width:220px;max-height:260px;padding:5px;position:fixed;overflow:auto;box-shadow:0 10px 26px #0f172a29}.cad-hover-select-menu button{text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr);gap:2px;width:100%;margin:0;padding:7px 8px;transition:background-color .12s;display:grid}.cad-hover-select-menu button:hover,.cad-hover-select-menu button:focus-visible{background:#eef2f7}.cad-hover-select-menu span,.cad-hover-select-menu small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cad-hover-select-menu span{color:#0f172a;font-size:.86rem;font-weight:600}.cad-hover-select-menu small{color:#64748b;font-size:.76rem}.dxf-import-backdrop,.dxf-original-backdrop{z-index:6500;background:#0f172a3d;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dxf-import-shell{background:#fff;border:1px solid #c8cfda;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,100vw - 32px);height:min(760px,100vh - 32px);min-height:0;display:grid;overflow:hidden;box-shadow:0 22px 56px #0f172a3d}.dxf-import-header,.dxf-original-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.dxf-import-header h2,.dxf-original-header h2{color:#0f172a;margin:0;font-size:1rem;line-height:1.2}.dxf-import-header p,.dxf-original-header p{color:#64748b;overflow-wrap:anywhere;margin:2px 0 0;font-size:.78rem;font-weight:650}.dxf-import-header-actions,.dxf-import-footer-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.dxf-import-header-actions button,.dxf-import-footer-actions button,.dxf-import-panel button{color:#1f2937;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-width:0;margin:0;padding:7px 10px;font-size:.84rem;font-weight:700;line-height:1.15;display:inline-flex}.dxf-import-header-actions button:hover:not(:disabled),.dxf-import-footer-actions button:hover:not(:disabled),.dxf-import-panel button:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.dxf-import-header-actions button.active,.dxf-import-panel button[aria-pressed=true]{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.dxf-import-header-actions button:disabled,.dxf-import-footer-actions button:disabled,.dxf-import-panel button:disabled{cursor:default;opacity:.55}.dxf-import-icon-button{width:34px;height:34px;padding:0}.dxf-import-body{grid-template-columns:minmax(0,1fr) 330px;min-height:0;display:grid}.dxf-import-viewer{background:#f8fafc;min-width:0;min-height:0;position:relative}.dxf-import-viewer canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.dxf-import-viewer-label{z-index:2;color:#334155;background:#ffffffe0;border:1px solid #94a3b880;border-radius:6px;align-items:center;gap:6px;padding:5px 7px;font-size:.76rem;font-weight:800;display:inline-flex;position:absolute;top:10px;left:10px}.dxf-three-viewer{background:#101827;position:absolute;inset:0;overflow:hidden}.dxf-three-viewer canvas{cursor:grab;background:#101827;width:100%;height:100%;display:block}.dxf-three-viewer.tool-active canvas{cursor:crosshair}.dxf-three-tools{z-index:3;align-items:center;gap:6px;display:flex;position:absolute;top:44px;left:10px}.dxf-three-tools button{color:#1f2937;background:#ffffffe6;border:1px solid #94a3b899;border-radius:6px;justify-content:center;align-items:center;gap:7px;margin:0;padding:6px 9px;font-size:.78rem;font-weight:800;line-height:1.15;display:inline-flex}.dxf-three-tools button:hover,.dxf-three-tools button.active{color:#155e75;background:#ecfeff;border-color:#22d3ee}.dxf-three-hint{z-index:3;color:#f8fafc;background:#0f172ac7;border:1px solid #94a3b86b;border-radius:6px;max-width:min(440px,100% - 130px);padding:6px 8px;font-size:.76rem;font-weight:750;line-height:1.25;position:absolute;bottom:12px;right:10px}.dxf-section-tabs{z-index:2;justify-content:flex-end;gap:6px;min-width:0;padding-bottom:2px;display:flex;position:absolute;top:10px;left:142px;right:10px;overflow-x:auto}.dxf-section-tabs button{color:#334155;text-overflow:ellipsis;white-space:nowrap;background:#ffffffe0;border:1px solid #94a3b89e;border-radius:6px;flex:none;min-width:0;max-width:160px;margin:0;padding:5px 8px;font-size:.76rem;font-weight:800;line-height:1.1;overflow:hidden}.dxf-section-tabs button.active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.dxf-import-selection-window{z-index:3;pointer-events:none;background:#2563eb1f;border:1px solid #2563eb;position:absolute}.dxf-import-sidebar{background:#fff;border-left:1px solid #e2e8f0;align-content:start;gap:10px;min-height:0;padding:10px;display:grid;overflow:auto}.dxf-import-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.dxf-import-panel h3{color:#0f172a;margin:0;font-size:.86rem;line-height:1.2}.dxf-import-field{gap:5px;min-width:0;display:grid}.dxf-import-field label{color:#64748b;font-size:.72rem;font-weight:800}.dxf-import-field input,.dxf-import-field select{color:#1f2937;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;min-width:0;margin:0;padding:7px 8px;font-size:.84rem}.dxf-import-type-table{gap:2px;display:grid}.dxf-import-type-row{color:#334155;grid-template-columns:16px 16px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;margin:0;padding:5px 0;font-size:.82rem;font-weight:650;display:grid}.dxf-import-type-row input{width:14px;height:14px;margin:0}.dxf-import-type-row i{border:1px solid #0f172a33;border-radius:4px;width:14px;height:14px}.dxf-import-type-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dxf-import-type-row b{color:#64748b;font-variant-numeric:tabular-nums}.dxf-import-check-row{color:#334155;align-items:center;gap:8px;min-width:0;margin:0;font-size:.84rem;font-weight:700;display:flex}.dxf-import-check-row input{width:15px;height:15px;margin:0}.dxf-import-cut-line-status{color:#475569;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;font-size:.8rem;display:grid}.dxf-import-cut-line-status span{min-width:0;font-weight:650}.dxf-import-cut-line-status b{color:#1f2937;font-weight:850}.dxf-import-stats dl{gap:5px;margin:0;display:grid}.dxf-import-stats div{color:#475569;grid-template-columns:minmax(0,1fr) auto;gap:8px;font-size:.8rem;display:grid}.dxf-import-stats dt,.dxf-import-stats dd{margin:0}.dxf-import-stats dt{font-weight:650}.dxf-import-stats dd{font-variant-numeric:tabular-nums;font-weight:800}.dxf-import-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.dxf-import-footer p{color:#475569;overflow-wrap:anywhere;min-width:0;margin:0;font-size:.84rem;font-weight:650}.dxf-import-footer p.error{color:#b91c1c}.dxf-import-footer-actions button.primary{color:#fff;background:#d9480f;border-color:#d9480f}.dxf-import-footer-actions button.primary:hover:not(:disabled){background:#c43d09;border-color:#c43d09}.dxf-original-backdrop{z-index:6600}.dxf-original-shell{background:#fff;border:1px solid #c8cfda;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(960px,100vw - 32px);height:min(680px,100vh - 32px);min-height:0;display:grid;overflow:hidden;box-shadow:0 22px 56px #0f172a42}.dxf-original-viewer{background:#f8fafc;min-width:0;min-height:0;position:relative;overflow:hidden}.dxf-original-viewer canvas{background:#f8fafc;width:100%;height:100%;min-height:0;display:block}.dxf-screen-axis-indicator{z-index:2;pointer-events:none;background:#ffffffdb;border:1px solid #94a3b880;border-radius:7px;width:92px;height:92px;padding:6px;position:absolute;bottom:14px;left:14px;box-shadow:0 10px 26px #0f172a1f}.dxf-screen-axis-svg{width:100%;height:100%;display:block}.dxf-screen-axis-svg text{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:760}@media (width<=900px){.dxf-import-shell{width:calc(100vw - 20px);height:calc(100vh - 20px)}.dxf-import-body{grid-template-rows:minmax(280px,1fr) minmax(220px,42vh);grid-template-columns:1fr}.dxf-import-sidebar{border-top:1px solid #e2e8f0;border-left:0}.dxf-section-tabs{justify-content:flex-start;top:44px;left:10px;right:10px}.dxf-section-tabs button{flex:96px;min-width:88px;max-width:148px}.dxf-three-tools{top:78px;left:10px;right:10px}.dxf-three-tools button{flex:auto}.dxf-three-hint{max-width:none;bottom:10px;left:112px;right:10px}}@media (width<=980px){.topbar-inner{align-items:stretch}.sidebar-tabs{justify-content:flex-start}.sidebar-tabs button{flex:140px}.layout{grid-template-columns:1fr}.layout.layout-geometry-dock{grid-template-rows:minmax(220px,30vh) minmax(0,1fr) minmax(220px,30vh);grid-template-columns:1fr;padding-bottom:9px}.layout.layout-geometry-dock .scenario-sidebar,.layout.layout-geometry-dock .cad-inspector-sidebar{min-height:0}#cad-canvas{height:100%}.cad-viewport-status{max-width:100%}.geometry-dock-shell{left:var(--geometry-dock-x,10px);right:auto;top:var(--geometry-dock-y,50%);max-width:calc(100vw - var(--geometry-dock-x,10px) - 10px);align-items:center;bottom:auto;transform:translateY(-50%)}.geometry-dock-shell.positioned{transform:none}.geometry-dock-shell.horizontal{max-width:calc(100vw - 20px);transform:translate(-50%)}.geometry-dock-shell.horizontal.positioned{max-width:calc(100vw - var(--geometry-dock-x,10px) - 10px);transform:none}.geometry-dock-shell.horizontal .geometry-dock-controls,.geometry-dock-controls{grid-template-columns:repeat(3,22px);grid-auto-flow:column;top:-28px;left:0}.geometry-dock-shell.horizontal .geometry-dock-chain,.geometry-dock-chain{flex-direction:column-reverse;align-items:flex-start;width:100%}.geometry-dock-chain:before,.geometry-dock-shell.horizontal .geometry-dock-chain:before{display:none}.geometry-dock-shell.horizontal .geometry-dock,.geometry-dock-root{flex-direction:row;grid-template-columns:none;grid-auto-flow:column;align-items:center;max-width:100%;overflow-x:auto}.geometry-dock-root .geometry-dock-section-items{grid-template-columns:none;grid-auto-flow:column}.geometry-dock-section-label{display:none}.geometry-dock-shell.horizontal .geometry-dock-child,.geometry-dock-child{max-height:min(420px,100vh - 150px);position:relative;top:auto;left:auto;transform:none}.geometry-dock-tooltip{display:none}.geometry-dock-settings-popover,.geometry-dock-shell.vertical .geometry-dock-settings-popover{left:0;right:auto;top:calc(var(--geometry-dock-button-size,34px) + 50px);width:min(238px,100vw - 20px)}}#material-properties-modal,#support-properties-modal{--mat-primary:#2563eb;--mat-primary-soft:#eff6ff;--mat-primary-hover:#1d4ed8;--mat-surface:#fff;--mat-surface-subtle:#f8fafc;--mat-border:#e2e8f0;--mat-border-strong:#cbd5e1;--mat-text:#0f172a;--mat-muted:#64748b;--mat-danger:#dc2626}#material-properties-modal .solver-modal-card,#support-properties-modal .solver-modal-card{background:var(--mat-surface);border:1px solid var(--mat-border);border-radius:8px;width:min(890px,100vw - 16px);min-width:520px;min-height:560px;box-shadow:0 24px 64px #0f172a38}#material-properties-modal .solver-modal-card{min-width:1060px;min-height:667px}#material-properties-modal .solver-modal-titlebar,#support-properties-modal .solver-modal-titlebar{border-bottom:1px solid var(--mat-border);background:var(--mat-surface);min-height:38px;color:var(--mat-text);padding:0 12px 0 16px;font-size:.9rem;font-weight:650}#material-properties-modal .solver-modal-titlebar-grip,#support-properties-modal .solver-modal-titlebar-grip{display:block}#material-properties-modal .solver-modal-icon-button,#support-properties-modal .solver-modal-icon-button{width:28px;min-width:28px;height:28px;color:var(--mat-muted);background:0 0;border:0;border-radius:999px}#material-properties-modal .solver-modal-icon-button:hover:not(:disabled),#material-properties-modal .solver-modal-icon-button:focus-visible:not(:disabled),#support-properties-modal .solver-modal-icon-button:hover:not(:disabled),#support-properties-modal .solver-modal-icon-button:focus-visible:not(:disabled){color:var(--mat-text);background:#f1f5f9}.mat-props-body{flex:auto;grid-template-columns:196px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.mat-props-list-panel{border-right:1px solid var(--mat-border);background:var(--mat-surface-subtle);flex-direction:column;min-height:0;display:flex;overflow:hidden}.mat-props-material-list{flex:auto;min-height:0;padding:8px 6px 6px;overflow:auto}.mat-props-mat-item{min-height:28px;color:var(--mat-text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:7px;align-items:center;gap:8px;padding:0 8px;font-size:.84rem;line-height:1.2;display:flex}.mat-props-mat-item:hover{background:#f1f5f9}.mat-props-mat-item.selected{background:var(--mat-primary-soft);color:#1e3a8a;font-weight:650}.mat-props-mat-swatch{border:1px solid #0f172a2e;border-radius:4px;flex:0 0 16px;width:16px;height:16px;position:relative;overflow:hidden}.mat-props-mat-swatch:after{content:"";opacity:.58;display:none;position:absolute;inset:0}.mat-props-mat-swatch[data-hatch]:not([data-hatch=none]):after{display:block}.mat-props-mat-swatch[data-hatch=diagonal]:after{background:repeating-linear-gradient(135deg,#0000 0 4px,#0f172a9e 4px 5px)}.mat-props-mat-swatch[data-hatch=cross]:after{background:repeating-linear-gradient(135deg,#0000 0 4px,#0f172a80 4px 5px),repeating-linear-gradient(45deg,#0000 0 4px,#0f172a80 4px 5px)}.mat-props-mat-swatch[data-hatch=dots]:after{background-image:radial-gradient(#0f172a9e 1px,#0000 1px);background-size:6px 6px}.mat-props-mat-swatch[data-hatch=horizontal]:after{background:repeating-linear-gradient(0deg,#0000 0 5px,#0f172a9e 5px 6px)}.mat-props-mat-swatch[data-hatch=vertical]:after{background:repeating-linear-gradient(90deg,#0000 0 5px,#0f172a9e 5px 6px)}.mat-props-mat-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mat-props-list-tools{border-top:1px solid var(--mat-border);align-items:center;gap:4px;padding:6px;display:flex}.mat-props-detail-panel{flex-direction:column;min-width:0;min-height:0;padding:14px 16px;display:flex;overflow:hidden}.mat-props-detail-title{color:var(--mat-primary);margin:0 0 12px;font-size:1rem;font-weight:650;line-height:1.25}.mat-props-display-row,.mat-props-weight-row,.mat-props-criterion-row{align-items:center;gap:8px 12px;display:grid}.mat-props-display-row{grid-template-columns:minmax(240px,1fr) 96px 148px}.mat-props-weight-row{grid-template-columns:minmax(240px,320px) minmax(0,1fr) 112px;margin-top:8px}.mat-props-weight-row .mat-props-field-check{justify-self:end}.mat-props-criterion-row{grid-template-columns:minmax(270px,330px) minmax(170px,1fr)}.mat-props-field{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;margin:0;display:grid}.mat-props-field span,.mat-props-field-check span{color:var(--mat-text);white-space:nowrap;font-size:.78rem;font-weight:600}.mat-props-field input[type=text],.mat-props-field input[type=number],.mat-props-field select,.mat-props-param-table input[type=number],.mat-props-param-table input[type=text],.mat-props-param-table select{border:1px solid var(--mat-border-strong);background:var(--mat-surface);width:100%;min-width:0;height:28px;color:var(--mat-text);border-radius:7px;margin:0;padding:0 8px;font:.82rem Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.mat-props-field input[type=number]{text-align:right}.mat-props-field input[type=text]:focus,.mat-props-field input[type=number]:focus,.mat-props-field select:focus,.mat-props-param-table input:focus,.mat-props-param-table select:focus{border-color:var(--mat-primary);outline:none;box-shadow:0 0 0 3px #2563eb24}.mat-props-field input[type=color]{border:1px solid var(--mat-border-strong);background:var(--mat-surface);cursor:pointer;border-radius:7px;width:58px;height:28px;margin:0;padding:3px}.mat-props-field input:disabled,.mat-props-field select:disabled,.mat-props-param-table input:disabled,.mat-props-param-table select:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9}.mat-props-field-narrow{grid-template-columns:minmax(0,1fr)}.mat-props-display-row .mat-props-field-narrow{grid-template-columns:auto 58px}.mat-props-display-row #mat-props-hatch-pattern{width:96px}.mat-props-display-row .mat-props-field-narrow:last-child{grid-template-columns:auto 96px}.mat-props-field-narrow span:empty{display:none}.mat-props-field-check{align-items:center;gap:6px;min-width:0;margin:0;display:inline-flex}.mat-props-field-check input[type=checkbox],.mat-props-param-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--mat-primary);margin:0}.mat-props-tabs{border-bottom:1px solid var(--mat-border);align-items:flex-end;gap:2px;margin-top:12px;display:flex}.mat-props-tab{all:unset;min-width:0;color:var(--mat-muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:.82rem;font-weight:650;line-height:1.2;position:relative}.mat-props-tab:after{content:"";background:0 0;border-radius:999px 999px 0 0;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.mat-props-tab:hover{color:var(--mat-text);background:#f8fafc}.mat-props-tab.active{color:var(--mat-primary)}.mat-props-tab.active:after{background:var(--mat-primary)}.mat-props-tab-panel{flex-direction:column;flex:auto;gap:8px;min-height:0;padding:10px 0 0;display:flex}.mat-props-tab-panel.hidden{display:none}.mat-props-formula{color:var(--mat-muted);white-space:nowrap;align-self:center;font-family:Cambria,Georgia,serif;font-size:.95rem;font-style:italic}.mat-props-param-table-wrap{border:1px solid var(--mat-border);background:var(--mat-surface);border-radius:8px;flex:auto;min-width:0;min-height:160px;overflow:auto}.mat-props-param-table-wrap.is-function-editor-wrap{min-height:0;overflow:hidden}.mat-props-param-table{border-collapse:collapse;table-layout:fixed;background:var(--mat-surface);width:100%;font-size:.82rem}.mat-props-param-table.is-function-editor{grid-template-rows:40px minmax(0,1fr);height:100%;min-height:0;display:grid}.mat-props-param-table th:first-child,.mat-props-param-table td:first-child{width:50%}.mat-props-param-table thead th{z-index:1;border-bottom:1px solid var(--mat-border);height:30px;color:var(--mat-muted);text-align:left;text-transform:uppercase;background:#f8fafc;padding:0 10px;font-size:.74rem;font-weight:700;position:sticky;top:0}.mat-props-param-table.is-function-editor>thead>tr>th{height:40px}.mat-props-param-table.is-function-editor>thead{min-height:0;display:block}.mat-props-param-table.is-function-editor>thead>tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:40px;display:grid}.mat-props-param-table.is-function-editor>thead>tr>th{align-items:center;width:auto;min-width:0;display:flex}.mat-props-param-table.is-function-editor>thead>tr>th:first-child{color:var(--mat-muted);text-align:left;text-transform:none;justify-content:flex-start;font-size:.78rem;font-weight:760}.mat-props-param-table tbody td{background:var(--mat-surface);height:32px;color:var(--mat-text);vertical-align:middle;border-bottom:1px solid #edf2f7;padding:3px 10px}.mat-props-param-table tbody tr:last-child td{border-bottom:0}.mat-props-param-table tbody tr.mat-props-param-divider td,.mat-props-param-table tbody tr.mat-props-param-divider:hover td{border-bottom:1px solid var(--mat-border);background:var(--mat-surface);height:0;padding:0}.mat-props-param-table tbody tr:hover td{background:#f8fafc}.mat-props-param-table tbody tr.mat-props-function-editor-row:hover td{background:var(--mat-surface)}.mat-props-param-table.is-function-editor>tbody,.mat-props-param-table.is-function-editor>tbody>.mat-props-function-editor-row,.mat-props-param-table.is-function-editor>tbody>.mat-props-function-editor-row>.mat-props-function-editor-cell{height:100%;min-height:0;display:block;overflow:hidden}.mat-props-param-table tbody td:first-child{color:#334155;white-space:nowrap;font-weight:600}.mat-props-param-table tbody td.mat-props-function-editor-cell{white-space:normal;width:auto;padding:0}.mat-props-function-header-actions{justify-content:flex-end;align-items:center;width:100%;min-width:0;display:flex}.mat-props-param-table .mat-props-user-defined-editor{flex-direction:column;gap:8px;width:100%;min-width:0;height:100%;min-height:0;display:flex}.mat-props-user-defined-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.mat-props-user-defined-toolbar-left{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.mat-props-user-defined-row-count{align-items:center;gap:6px;min-width:0;display:inline-flex}.mat-props-user-defined-row-count span,.mat-props-user-defined-stress-mode-label{color:var(--mat-muted);text-transform:uppercase;white-space:nowrap;font-size:.74rem;font-weight:700}.mat-props-param-table .mat-props-user-defined-row-count input[type=number]{text-align:right;width:64px;height:26px}.mat-props-user-defined-stress-mode{align-items:center;gap:8px;min-width:0;display:inline-flex}.mat-props-user-defined-stress-mode-switch{border:1px solid var(--mat-border-strong);background:#eef2f7;border-radius:8px;align-items:center;padding:2px;display:inline-flex}.mat-props-user-defined-stress-mode-option{all:unset;color:#64748b;cursor:pointer;text-align:center;text-transform:none;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;align-items:center;min-width:64px;height:24px;padding:0 10px;font-size:.74rem;font-weight:750;line-height:1;display:inline-flex}.mat-props-function-header-actions .mat-props-user-defined-stress-mode-label{text-transform:none}.mat-props-user-defined-stress-mode-option[aria-pressed=true]{background:var(--mat-surface);color:var(--mat-primary);box-shadow:0 1px 3px #0f172a24}.mat-props-user-defined-stress-mode-option:hover{color:var(--mat-primary)}.generalized-anisotropic-input-mode-option{min-width:78px}.generalized-anisotropic-input-mode-option:nth-child(2){min-width:96px}.generalized-anisotropic-base-material-control{align-items:center;gap:8px;min-width:0;margin:0;display:inline-flex}.generalized-anisotropic-base-material-control .mat-props-user-defined-stress-mode-label{text-transform:none}.mat-props-param-table .generalized-anisotropic-base-material-control select{width:160px;min-width:140px;height:28px;margin:0}.mat-props-user-defined-actions{align-items:center;gap:6px;min-width:0;display:flex}.mat-props-user-defined-footer{border-top:1px solid var(--mat-border);background:#f8fafc;flex:none;justify-content:space-between;align-items:center;min-height:40px;padding:6px 8px;display:flex}.mat-props-user-defined-button{all:unset;border:1px solid var(--mat-border-strong);background:var(--mat-surface);color:#334155;cursor:pointer;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;min-width:0;height:26px;padding:0 9px;font-size:.76rem;font-weight:650;line-height:1;display:inline-flex}.mat-props-user-defined-button:hover:not(:disabled){background:#f8fafc}.mat-props-user-defined-button:disabled{color:#94a3b8;cursor:not-allowed;opacity:.65}.mat-props-user-defined-icon{width:26px;min-width:26px;color:var(--mat-primary);background:#2563eb1a;border-color:#0000;padding:0;font-size:1rem;font-weight:800}.mat-props-user-defined-icon:hover:not(:disabled){background:#2563eb29}.mat-props-user-defined-danger{color:var(--mat-danger)}.mat-props-user-defined-danger:hover:not(:disabled){background:#dc26261a}.mat-props-user-defined-workspace{box-sizing:border-box;flex:auto;grid-template-columns:minmax(330px,420px) minmax(180px,1fr);align-items:stretch;gap:10px;min-width:0;min-height:0;padding:10px;display:grid;overflow:hidden}.mat-props-user-defined-table-wrap{border:1px solid var(--mat-border);background:var(--mat-surface);border-radius:8px;flex-direction:column;width:100%;max-width:420px;height:100%;min-height:0;max-height:none;display:flex;overflow:hidden}.mat-props-user-defined-table-scroll{flex:1 1 0;min-height:0;overflow:auto}.mat-props-user-defined-table{border-collapse:collapse;table-layout:fixed;background:var(--mat-surface);width:100%;min-width:390px;font-size:.78rem}.mat-props-user-defined-table:focus{outline:none}.mat-props-user-defined-table thead th{z-index:1;border-bottom:1px solid var(--mat-border);height:30px;color:var(--mat-muted);text-align:center;text-transform:none;white-space:normal;background:#f8fafc;padding:0 8px;font-size:.7rem;font-weight:760;line-height:1.08;position:sticky;top:0}.mat-props-user-defined-table th[data-strength-column],.mat-props-user-defined-row-number{cursor:cell;-webkit-user-select:none;user-select:none}.mat-props-user-defined-table th[data-strength-column]:hover,.mat-props-user-defined-row-number:hover{background:#edf5ff}.mat-props-user-defined-table thead th.is-cell-selected{color:#1d4ed8;background:#dceafe;box-shadow:inset 0 -2px #2563eb}.mat-props-user-defined-table tbody td{background:var(--mat-surface);border-bottom:1px solid #edf2f7;height:30px;padding:0}.mat-props-user-defined-table tbody tr:last-child td{border-bottom:0}.mat-props-user-defined-select-head,.mat-props-user-defined-select-cell{text-align:center;vertical-align:middle;min-width:34px;width:34px!important;padding:0!important}.mat-props-user-defined-row-number-head,.mat-props-user-defined-row-number{text-align:center;vertical-align:middle;min-width:40px;width:40px!important;padding:0!important}.mat-props-user-defined-select-cell,.mat-props-user-defined-row-number{border-right:1px solid #edf2f7;background:#f8fafc!important}.mat-props-user-defined-row-number-value{color:#667085;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:1.8ch;font-weight:700;display:inline-flex}.mat-props-param-table .mat-props-user-defined-table .mat-props-user-defined-select-head input,.mat-props-param-table .mat-props-user-defined-table .mat-props-user-defined-select-cell input{width:14px;min-width:14px;height:14px;margin:0 auto;display:inline-block}.mat-props-param-table .mat-props-user-defined-table input.mat-props-user-defined-cell[type=number]{width:100%;min-width:0;height:30px;color:var(--mat-text);text-align:right;background:0 0;border:0;border-radius:0;margin:0;padding:7px 8px;font:.78rem Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.mat-props-param-table .mat-props-user-defined-table input.mat-props-user-defined-cell:focus{outline:none;box-shadow:inset 0 0 0 2px #2563eb29}.mat-props-param-table .mat-props-user-defined-table input.mat-props-user-defined-cell.is-cell-anchor:focus{box-shadow:inset 0 0 0 2px #2563eb}.mat-props-param-table .mat-props-user-defined-table input.mat-props-user-defined-cell.is-invalid{color:#9f1239;background:#fff1f2;box-shadow:inset 0 0 0 1px #f43f5e}.mat-props-user-defined-table input.mat-props-user-defined-cell[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mat-props-user-defined-table input.mat-props-user-defined-cell[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mat-props-param-table .mat-props-user-defined-table input.mat-props-user-defined-row-select,.mat-props-param-table .mat-props-user-defined-table input.mat-props-user-defined-select-all{cursor:pointer;width:14px;min-width:14px;height:14px;accent-color:var(--mat-primary);margin:0}.mat-props-user-defined-table tbody tr.is-selected td{background:#edf5ff}.mat-props-user-defined-table tbody tr.is-selected .mat-props-user-defined-select-cell,.mat-props-user-defined-table tbody tr.is-selected .mat-props-user-defined-row-number{background:#e5f3f0!important}.mat-props-user-defined-table tbody td.is-cell-selected{background:#eaf2ff;box-shadow:inset 0 0 0 1px #2563eb2e}.mat-props-user-defined-table tbody td.is-cell-anchor{box-shadow:inset 0 0 0 2px #2563eb}.mat-props-user-defined-table tbody tr.is-cell-row-selected .mat-props-user-defined-row-number,.mat-props-user-defined-row-number.is-cell-selected{color:#1d4ed8;background:#dceafe!important}.mat-props-spreadsheet-context-menu{z-index:1500;background:#fff;border:1px solid #c8cfda;border-radius:8px;width:150px;padding:6px;position:fixed;box-shadow:0 12px 30px #0f172a2e}.mat-props-spreadsheet-context-menu[hidden]{display:none}.mat-props-spreadsheet-context-menu button{width:100%;color:var(--mat-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;margin:0;padding:7px 8px;font:.82rem Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:block}.mat-props-spreadsheet-context-menu button:hover:not(:disabled),.mat-props-spreadsheet-context-menu button:focus-visible:not(:disabled){background:#f1f5f9;outline:none}.mat-props-spreadsheet-context-menu button:disabled{color:#94a3b8;cursor:not-allowed;opacity:.58}.mat-props-user-defined-plot{border:1px solid var(--mat-border);background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:8px;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.mat-props-user-defined-plot-title{height:22px;color:var(--mat-muted);text-align:center;text-transform:none;flex:none;justify-content:center;align-items:center;padding:0 8px;font-size:.7rem;font-weight:760;line-height:1;display:flex}.mat-props-user-defined-plot-svg{flex:1 1 0;width:100%;height:100%;min-height:0;max-height:100%;display:block}.mat-props-user-defined-plot-grid{stroke:#e2e8f0;stroke-width:1px}.mat-props-user-defined-plot-line{fill:none;stroke:var(--mat-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px}.mat-props-user-defined-plot-point{fill:#fff;stroke:var(--mat-primary);stroke-width:1.8px}.mat-props-user-defined-plot-label,.mat-props-user-defined-plot-axis-label{fill:#64748b;pointer-events:none;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.mat-props-user-defined-plot-label{font-size:8px}.mat-props-user-defined-plot-axis-label{font-size:9.5px;font-weight:650}.mat-props-param-table .generalized-anisotropic-editor{flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex}.generalized-anisotropic-controls,.generalized-anisotropic-options{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.generalized-anisotropic-table-scroll>.generalized-anisotropic-options{border-bottom:1px solid var(--mat-border);background:#f8fafc;padding:8px}.generalized-anisotropic-controls label,.generalized-anisotropic-options label{min-width:0;color:var(--mat-muted);text-transform:uppercase;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:6px;font-size:.72rem;font-weight:740;display:grid}.generalized-anisotropic-options label{text-transform:none}.generalized-anisotropic-options .generalized-anisotropic-definition-control{flex:0 0 188px}.generalized-anisotropic-options .generalized-anisotropic-mapping-control{flex:0 0 174px}.generalized-anisotropic-options .generalized-anisotropic-treatment-control{flex:0 0 244px;grid-template-columns:auto minmax(108px,1fr)}.generalized-anisotropic-options .generalized-anisotropic-base-weaker-control{white-space:nowrap;flex:none;grid-template-columns:none;align-items:center;gap:6px;display:inline-flex}.generalized-anisotropic-options .generalized-anisotropic-base-weaker-control input{flex:none;width:16px;height:16px;margin:0}.generalized-anisotropic-editor-row{box-sizing:border-box;flex:auto;grid-template-columns:minmax(0,1fr) minmax(340px,calc(50% - 70px));align-items:stretch;gap:10px;min-width:0;min-height:0;padding:10px;display:grid;overflow:hidden}.generalized-anisotropic-table-wrap{border:1px solid var(--mat-border);background:var(--mat-surface);border-radius:8px;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.generalized-anisotropic-table-scroll{flex:1 1 0;min-height:0;overflow:auto}.generalized-anisotropic-table{border-collapse:collapse;table-layout:fixed;background:var(--mat-surface);width:100%;min-width:0;font-size:.77rem}.generalized-anisotropic-select-col{width:34px}.generalized-anisotropic-row-number-col{width:40px}.generalized-anisotropic-range-angle-col,.generalized-anisotropic-range-angle-head,.generalized-anisotropic-range-angle-cell{width:108px}.generalized-anisotropic-range-angle-head{white-space:nowrap}.generalized-anisotropic-table thead th{z-index:1;border-bottom:1px solid var(--mat-border);height:30px;color:var(--mat-muted);text-align:center;text-transform:none;white-space:normal;background:#f8fafc;padding:0 8px;font-size:.7rem;font-weight:760;line-height:1.08;position:sticky;top:0}.generalized-anisotropic-table th[data-spreadsheet-column],.generalized-anisotropic-row-number{cursor:cell}.generalized-anisotropic-table th[data-spreadsheet-column]:hover,.generalized-anisotropic-row-number:hover{background:#edf5ff}.generalized-anisotropic-table thead th.is-cell-selected{color:#1d4ed8;background:#dceafe;box-shadow:inset 0 -2px #2563eb}.generalized-anisotropic-table tbody td{background:var(--mat-surface);vertical-align:middle;border-bottom:1px solid #edf2f7;height:30px;padding:0}.generalized-anisotropic-table tbody tr:last-child td{border-bottom:0}.generalized-anisotropic-select-head,.generalized-anisotropic-select-cell{text-align:center;vertical-align:middle;width:34px!important;padding:0!important}.generalized-anisotropic-select-cell,.generalized-anisotropic-row-number{border-right:1px solid #edf2f7;background:#f8fafc!important}.mat-props-param-table .generalized-anisotropic-table .generalized-anisotropic-select-head input,.mat-props-param-table .generalized-anisotropic-table .generalized-anisotropic-select-cell input{cursor:pointer;width:14px;min-width:14px;height:14px;accent-color:var(--mat-primary);margin:0 auto;display:inline-block}.generalized-anisotropic-table tbody tr.is-selected td{background:#edf5ff}.generalized-anisotropic-table tbody tr.is-selected .generalized-anisotropic-select-cell,.generalized-anisotropic-table tbody tr.is-selected .generalized-anisotropic-row-number{background:#e5f3f0!important}.generalized-anisotropic-table tbody td.is-cell-selected{background:#eaf2ff;box-shadow:inset 0 0 0 1px #2563eb2e}.generalized-anisotropic-table tbody td.is-cell-anchor{box-shadow:inset 0 0 0 2px #2563eb}.generalized-anisotropic-table tbody tr.is-cell-row-selected .generalized-anisotropic-row-number,.generalized-anisotropic-row-number.is-cell-selected{color:#1d4ed8;background:#dceafe!important}.generalized-anisotropic-row-number-head,.generalized-anisotropic-row-number{text-align:center;width:40px!important;padding:0!important}.generalized-anisotropic-angle-surface-table .generalized-anisotropic-select-col,.generalized-anisotropic-angle-surface-table .generalized-anisotropic-row-number-col,.generalized-anisotropic-angle-surface-table .generalized-anisotropic-select-head,.generalized-anisotropic-angle-surface-table .generalized-anisotropic-select-cell,.generalized-anisotropic-angle-surface-table .generalized-anisotropic-row-number-head,.generalized-anisotropic-angle-surface-table .generalized-anisotropic-row-number{width:28px!important}.generalized-anisotropic-row-number{color:#64748b;-webkit-user-select:none;user-select:none;font-size:.72rem;font-weight:700}.generalized-anisotropic-row-number-value{font-variant-numeric:tabular-nums;min-width:1.8ch;display:inline-block}.generalized-anisotropic-reference-head,.generalized-anisotropic-reference-cell,.generalized-anisotropic-material-head,.generalized-anisotropic-material-cell{width:32%}.generalized-anisotropic-numeric-head,.generalized-anisotropic-numeric-cell{width:118px}.generalized-anisotropic-mapping-angle-col,.generalized-anisotropic-mapping-angle-head,.generalized-anisotropic-mapping-angle-cell{width:20px}.generalized-anisotropic-angle-surface-table .generalized-anisotropic-mapping-angle-col,.generalized-anisotropic-angle-surface-table .generalized-anisotropic-mapping-angle-head,.generalized-anisotropic-angle-surface-table .generalized-anisotropic-mapping-angle-cell{min-width:40px;max-width:40px;width:50px!important}.generalized-anisotropic-angle-surface-table .generalized-anisotropic-reference-col,.generalized-anisotropic-angle-surface-table .generalized-anisotropic-material-col,.generalized-anisotropic-angle-surface-table .generalized-anisotropic-reference-head,.generalized-anisotropic-angle-surface-table .generalized-anisotropic-reference-cell,.generalized-anisotropic-angle-surface-table .generalized-anisotropic-material-head,.generalized-anisotropic-angle-surface-table .generalized-anisotropic-material-cell{width:auto;min-width:0;max-width:none}.generalized-anisotropic-action-head,.generalized-anisotropic-action-cell{text-align:center;width:86px}.generalized-anisotropic-empty-row td{color:#64748b;text-align:center;background:#fff;height:38px;font-size:.76rem;font-style:italic}.mat-props-param-table .generalized-anisotropic-table input[type=number],.mat-props-param-table .generalized-anisotropic-table select,.mat-props-param-table .generalized-anisotropic-controls select,.mat-props-param-table .generalized-anisotropic-options select{width:100%;min-width:0;height:30px;color:var(--mat-text);background:0 0;border:0;border-radius:0;margin:0;padding:0 8px;font:.78rem Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.mat-props-param-table .generalized-anisotropic-controls select,.mat-props-param-table .generalized-anisotropic-options select{border:1px solid var(--mat-border-strong);background:var(--mat-surface);border-radius:7px;height:28px;font-size:.76rem}.mat-props-param-table .generalized-anisotropic-table .generalized-anisotropic-cell-control.is-numeric,.mat-props-param-table .generalized-anisotropic-table input[type=number]{text-align:right}.mat-props-param-table .generalized-anisotropic-table input[type=number]:focus,.mat-props-param-table .generalized-anisotropic-table select:focus{outline:none;box-shadow:inset 0 0 0 2px #2563eb29}.mat-props-param-table .generalized-anisotropic-table .generalized-anisotropic-cell-control.is-cell-anchor:focus{box-shadow:inset 0 0 0 2px #2563eb}.generalized-anisotropic-table-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.generalized-anisotropic-table-actions-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.generalized-anisotropic-table-footer{border-top:1px solid var(--mat-border);background:#f8fafc;flex:none;justify-content:flex-start;align-items:center;min-height:40px;padding:6px 8px;display:flex}.generalized-anisotropic-table button,.generalized-anisotropic-footer-button{all:unset;border:1px solid var(--mat-border-strong);background:var(--mat-surface);color:#334155;cursor:pointer;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;width:max-content;min-width:0;height:26px;padding:0 9px;font-size:.74rem;font-weight:650;line-height:1;display:inline-flex}.generalized-anisotropic-footer-icon{width:26px;min-width:26px;color:var(--mat-primary);background:#2563eb1a;border-color:#0000;padding:0;font-size:1rem;font-weight:800}.generalized-anisotropic-table button:hover:not(:disabled),.generalized-anisotropic-footer-button:hover:not(:disabled){background:#f8fafc}.generalized-anisotropic-table button:disabled,.generalized-anisotropic-footer-button:disabled{color:#94a3b8;cursor:not-allowed;opacity:.65}.generalized-anisotropic-footer-icon:hover:not(:disabled){background:#2563eb29}.generalized-anisotropic-footer-danger{color:var(--mat-danger)}.generalized-anisotropic-footer-danger:hover:not(:disabled){background:#dc26261a}.generalized-anisotropic-preview-wrap{border:1px solid var(--mat-border);background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:8px;flex-direction:column;justify-content:center;align-items:stretch;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.generalized-anisotropic-preview-sigma-control{z-index:2;border:1px solid var(--mat-border);height:26px;color:var(--mat-muted);background:#f8fafcf0;border-radius:6px;align-items:center;gap:5px;padding:2px 7px;font-size:.72rem;font-weight:740;display:inline-flex;position:absolute;top:8px;right:10px;box-shadow:0 1px 3px #0f172a14}.mat-props-param-table .generalized-anisotropic-preview-sigma-control input[type=number]{border:1px solid var(--mat-border-strong);width:58px;min-width:58px;max-width:58px;height:20px;color:var(--mat-text);font:inherit;text-align:right;background:#fff;border-radius:4px;padding:0 4px}.generalized-anisotropic-preview{flex:1 1 0;width:100%;height:100%;min-height:0;display:block}.generalized-anisotropic-angle-range-preview{aspect-ratio:19/16}.mat-props-footer{border-top:1px solid var(--mat-border);background:var(--mat-surface);flex:none;justify-content:flex-end;padding:4px 12px 5px;display:flex}.mat-props-toolbar{justify-content:flex-end;display:flex}.mat-props-toolbar-right{align-items:center;gap:8px;display:flex}.mat-props-toolbar-btn{all:unset;width:28px;min-width:28px;height:28px;color:var(--mat-primary);cursor:pointer;background:0 0;border-radius:999px;place-items:center;display:inline-grid}.mat-props-toolbar-btn:hover:not(:disabled){background:#2563eb1a}.mat-props-toolbar-btn:disabled{color:#94a3b8;cursor:not-allowed;opacity:.7}.mat-props-toolbar-btn.danger{color:var(--mat-danger)}.mat-props-toolbar-btn.danger:hover:not(:disabled){background:#dc26261a}.mat-props-toolbar-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px;display:block}.mat-props-btn-primary,.mat-props-btn-secondary{all:unset;cursor:pointer;text-align:center;border-radius:7px;justify-content:center;align-items:center;min-width:66px;height:26px;padding:0 10px;font-size:.82rem;font-weight:650;line-height:1;display:inline-flex}.mat-props-btn-primary{background:var(--mat-primary);color:#fff;box-shadow:0 1px 2px #2563eb47}.mat-props-btn-primary:hover{background:var(--mat-primary-hover)}.mat-props-btn-secondary{border:1px solid var(--mat-border-strong);background:var(--mat-surface);color:#334155}.mat-props-btn-secondary:hover:not(:disabled){background:#f8fafc}.mat-props-btn-secondary:disabled{color:#94a3b8;cursor:not-allowed;opacity:.65}@media (width<=760px){#material-properties-modal .solver-modal-card,#support-properties-modal .solver-modal-card{min-width:380px}.mat-props-body{grid-template-rows:112px minmax(0,1fr);grid-template-columns:1fr}.mat-props-list-panel{border-right:0;border-bottom:1px solid var(--mat-border)}.mat-props-material-list{gap:4px;padding:6px;display:flex;overflow-x:auto}.mat-props-mat-item{flex:none}.mat-props-list-tools{padding-top:0}.mat-props-display-row,.mat-props-weight-row,.mat-props-criterion-row{grid-template-columns:1fr}.mat-props-detail-panel{padding:12px}.mat-props-user-defined-workspace,.generalized-anisotropic-editor-row{grid-template-columns:1fr}.mat-props-user-defined-table-wrap{max-width:none}.mat-props-footer{padding:10px 12px 12px}}#limit-state-search-settings-modal{--search-primary:#2563eb;--search-primary-soft:#eff6ff;--search-surface:#fff;--search-surface-subtle:#f8fafc;--search-border:#e2e8f0;--search-border-strong:#cbd5e1;--search-text:#0f172a;--search-muted:#64748b}#limit-state-search-settings-modal .solver-modal-card{background:var(--search-surface);border:1px solid var(--search-border);border-radius:8px;width:min(1120px,100vw - 16px);min-width:720px;min-height:0;max-height:calc(100vh - 16px);overflow:visible;box-shadow:0 24px 64px #0f172a38;height:auto!important}#limit-state-search-settings-modal .solver-modal-titlebar{border-bottom:1px solid var(--search-border);background:var(--search-surface);min-height:38px;color:var(--search-text);padding:0 12px 0 16px;font-size:.9rem;font-weight:650}#limit-state-search-settings-modal .solver-modal-titlebar-extra{align-items:center;min-width:0;margin-left:auto;margin-right:10px;display:flex}.search-settings-titlebar-context{align-items:center;gap:14px;min-width:0;display:inline-flex}.search-settings-scenario-context{max-width:min(32vw,360px);color:var(--search-muted);align-items:center;gap:8px;min-width:0;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.search-settings-scenario-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.search-settings-linked-count{border:1px solid var(--search-border);background:var(--search-surface-subtle);color:var(--search-primary);border-radius:999px;flex:none;padding:3px 7px;font-size:.72rem}.header-toggle-container{-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-height:28px;display:inline-flex}.header-toggle-label{color:var(--search-muted);white-space:nowrap;font-size:.78rem;font-weight:700;line-height:1}.header-toggle-label.active{color:var(--search-primary)}.header-toggle-switch{width:42px;height:22px;margin:0;display:inline-block;position:relative}.header-toggle-switch input{opacity:0;position:absolute;inset:0}.header-toggle-slider{border:1px solid var(--search-border-strong);cursor:pointer;background:#e2e8f0;border-radius:999px;transition:background .16s,border-color .16s;position:absolute;inset:0}.header-toggle-slider:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0f172a47}.header-toggle-switch input:checked+.header-toggle-slider{border-color:var(--search-primary);background:var(--search-primary)}.header-toggle-switch input:checked+.header-toggle-slider:before{transform:translate(20px)}.header-toggle-switch input:focus-visible+.header-toggle-slider{box-shadow:0 0 0 3px #2563eb2e}#limit-state-search-settings-modal .solver-modal-icon-button{width:28px;min-width:28px;height:28px;color:var(--search-muted);background:0 0;border:0;border-radius:999px}#limit-state-search-settings-modal .solver-modal-icon-button:hover:not(:disabled),#limit-state-search-settings-modal .solver-modal-icon-button:focus-visible:not(:disabled){color:var(--search-text);background:#f1f5f9}#limit-state-search-settings-modal .control-modal-content{background:var(--search-surface-subtle);scrollbar-gutter:auto;flex:none;min-height:auto;padding:16px;overflow:visible}.search-settings-modal-body{grid-template-columns:repeat(3,minmax(240px,1fr));align-items:start;gap:12px;min-width:0;display:grid}.search-settings-column{display:contents}#limit-state-search-settings-modal .control-modal-content .tool-group{border:1px solid var(--search-border);background:var(--search-surface);border-radius:8px;min-width:0;margin:0;padding:14px;display:block}#limit-state-search-settings-modal .control-modal-content .tool-group h3{color:var(--search-primary);margin:0 0 12px;font-size:1rem;font-weight:650;line-height:1.25}.search-settings-section-heading{justify-content:space-between;align-items:center;gap:12px;margin:0 0 4px;display:flex}#limit-state-search-settings-modal .search-settings-section-heading h3{margin:0}#limit-state-search-settings-modal .tool-group label:not(.file-label){color:var(--search-muted);margin:8px 0 4px;font-size:.78rem;font-weight:600;line-height:1.25}#limit-state-search-settings-modal .tool-group label.toggle-row{min-height:28px;color:var(--search-muted);align-items:center;gap:8px;margin:4px 0 8px;font-size:.82rem;font-weight:600}#limit-state-search-settings-modal .tool-group label.surface-optimisation-enable-toggle{padding-top:12px}.analysis-method-checklist{gap:4px;min-width:0;margin-bottom:10px;padding-top:12px;display:grid}#limit-state-search-settings-modal .tool-group label.analysis-method-option{border:1px solid var(--search-border);background:var(--search-surface-subtle);min-height:30px;color:var(--search-text);border-radius:7px;margin:0;padding:0 8px;font-size:.8rem;font-weight:650}#limit-state-search-settings-modal .tool-group label.analysis-method-option:hover{border-color:var(--search-border-strong);background:var(--search-surface)}#limit-state-search-settings-modal .tool-group label.analysis-method-option:has(input:checked){background:var(--search-primary-soft);color:#1e3a8a;border-color:#bfdbfe}#limit-state-search-settings-modal .tool-group label.analysis-method-option:has(input:disabled){cursor:default}#limit-state-search-settings-modal .tool-group label.analysis-method-option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#limit-state-search-settings-modal .search-settings-primary-grid,#limit-state-search-settings-modal .search-settings-advanced-grid,#limit-state-search-settings-modal .search-settings-advanced-stack{gap:8px;min-width:0;display:grid}#limit-state-search-settings-modal .search-settings-advanced-stack{margin-top:10px}#limit-state-search-settings-modal .search-settings-field,#limit-state-search-settings-modal .search-settings-field-wide{grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;margin:0;display:grid}#limit-state-search-settings-modal .search-settings-field>label{min-width:0;color:var(--search-muted);margin:0;font-size:.76rem;font-weight:600;line-height:1.2}#limit-state-search-settings-modal .tool-group input[type=text],#limit-state-search-settings-modal .tool-group input[type=number],#limit-state-search-settings-modal .tool-group select,#limit-state-search-settings-modal .tool-group .checkbox-dropdown summary{border:1px solid var(--search-border-strong);background:var(--search-surface);width:100%;min-width:0;height:32px;color:var(--search-text);box-sizing:border-box;border-radius:7px;margin:0;padding:0 9px;font:.82rem Segoe UI,Tahoma,Geneva,Verdana,sans-serif}#limit-state-search-settings-modal .tool-group input[type=number]{text-align:right}#limit-state-search-settings-modal .tool-group input:focus,#limit-state-search-settings-modal .tool-group select:focus,#limit-state-search-settings-modal .tool-group .checkbox-dropdown summary:focus-visible{border-color:var(--search-primary);outline:none;box-shadow:0 0 0 3px #2563eb24}#limit-state-search-settings-modal .tool-group input:disabled,#limit-state-search-settings-modal .tool-group select:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9}#limit-state-search-settings-modal .tool-group input[type=checkbox]{width:16px;height:16px;accent-color:var(--search-primary);margin:0}.compact-row-1col,.compact-row-2col,.compact-row-3col{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;display:grid}#limit-state-search-settings-modal .align-checkbox-row{align-items:end}#limit-state-search-settings-modal .search-settings-compact-toggle{margin:0}#limit-state-search-settings-modal .tool-group label.search-settings-compact-toggle{min-height:28px;margin:0}.search-depth-control{border-top:1px solid var(--search-border);margin-top:12px;padding-top:12px}.search-complexity-control{gap:8px;display:grid}.search-depth-header{justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 4px;display:flex}.search-complexity-headline{margin-bottom:0}.search-depth-header label{color:var(--search-muted);margin:0;font-size:.78rem;font-weight:650}.search-depth-tooltip-label{cursor:help;outline:none;align-items:center;width:fit-content;display:inline-flex;position:relative}.search-depth-tooltip-label:focus-visible{color:var(--search-primary)}.search-depth-tooltip{z-index:30;border:1px solid var(--search-border-strong);color:#0f172a;opacity:0;pointer-events:none;text-transform:none;visibility:hidden;background:#fff;border-radius:7px;width:280px;max-width:min(280px,100vw - 32px);padding:8px 10px;font-size:.74rem;font-weight:600;line-height:1.35;transition:opacity .14s .45s,transform .14s .45s,visibility 0s linear .59s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(3px);box-shadow:0 12px 28px #0f172a2e}.search-depth-tooltip:after{content:"";border-left:1px solid var(--search-border-strong);border-top:1px solid var(--search-border-strong);background:#fff;width:8px;height:8px;position:absolute;top:-5px;left:14px;transform:rotate(45deg)}.search-depth-tooltip-label:hover .search-depth-tooltip,.search-depth-tooltip-label:focus .search-depth-tooltip{opacity:1;visibility:visible;transition:opacity .14s .45s,transform .14s .45s,visibility 0s linear .45s;transform:translateY(0)}.search-depth-header output{color:var(--search-text);font-size:.82rem;font-weight:700}.search-complexity-headline label,.search-complexity-headline output{color:var(--search-text);font-size:.86rem}.search-complexity-headline-actions{align-items:center;gap:7px;min-width:0;display:inline-flex}#limit-state-search-settings-modal .tool-group button.search-complexity-expand-button{border:1px solid var(--search-border-strong);background:var(--search-surface);width:24px;height:24px;min-height:24px;color:var(--search-muted);cursor:pointer;border-radius:999px;place-items:center;margin:0;padding:0;display:inline-grid}#limit-state-search-settings-modal .tool-group button.search-complexity-expand-button:hover,#limit-state-search-settings-modal .tool-group button.search-complexity-expand-button:focus-visible{background:var(--search-primary-soft);color:var(--search-primary);border-color:#93c5fd}.search-complexity-chevron{border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transition:transform .18s;transform:translateY(-1px)rotate(45deg)}.search-complexity-expand-button[aria-expanded=true] .search-complexity-chevron{transform:translateY(1px)rotate(225deg)}.search-complexity-slider-stack{gap:7px;display:grid}.search-complexity-slider{min-width:0}.search-complexity-detail{min-width:0;overflow:visible}.search-complexity-detail .search-complexity-slider-stack{padding-top:4px}.search-depth-control input[type=range]{width:100%;height:26px;accent-color:var(--search-primary);margin:0;padding:0}.search-complexity-master-slider:disabled{opacity:.42;cursor:default}.search-depth-tick-labels{color:var(--search-muted);grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:3px;font-size:.68rem;font-weight:600;line-height:1.1;display:grid}.search-depth-tick-labels span{text-align:center;overflow-wrap:anywhere;min-width:0}.search-depth-readout{border:1px solid var(--search-border);background:var(--search-surface-subtle);border-radius:7px;gap:5px;margin-top:9px;padding:8px 9px;display:grid}.search-depth-readout-row{grid-template-columns:82px minmax(0,1fr);align-items:baseline;gap:8px;min-width:0;display:grid}.search-depth-readout-row span{color:var(--search-muted);text-transform:uppercase;font-size:.68rem;font-weight:700;line-height:1.25}.search-depth-readout-row strong{color:#334155;overflow-wrap:anywhere;min-width:0;font-size:.75rem;font-weight:700;line-height:1.25}.block-angle-editor{min-width:0;margin-top:10px}.block-angle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.block-angle-card{border:1px solid var(--search-border);background:var(--search-surface-subtle);border-radius:7px;gap:7px;min-width:0;padding:8px;display:grid}.block-angle-card-header{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.block-angle-card-header strong{color:var(--search-text);font-size:.76rem;font-weight:750;line-height:1.2}.block-angle-card-header span{min-width:0;color:var(--search-muted);text-align:right;font-size:.66rem;font-weight:700;line-height:1.2}.block-angle-vector-display{touch-action:none;background:#fff;border:1px solid #dbe3ee;border-radius:6px;width:100%;height:96px}.block-angle-axis{stroke:#d9e2ee;stroke-width:1.4px}.block-angle-arc{fill:none;stroke:#2563eb3d;stroke-width:5px;stroke-linecap:round}.block-angle-vector{stroke-width:2.4px;stroke-linecap:round}.block-angle-vector-start{stroke:#2563eb}.block-angle-vector-end{stroke:#0f766e}.block-angle-arrow{cursor:grab;pointer-events:all;stroke:#0000;stroke-linejoin:round;stroke-width:8px}.block-angle-arrow:active{cursor:grabbing}.block-angle-arrow-start{fill:#2563eb}.block-angle-arrow-end{fill:#0f766e}.block-angle-internal-label{fill:#334155;paint-order:stroke;pointer-events:none;stroke:#fff;stroke-width:3px;text-anchor:middle;font-size:8px;font-weight:750}.block-angle-origin{fill:#64748b}.block-angle-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;display:grid}.search-settings-button-row{grid-template-columns:minmax(0,1fr);gap:6px;margin-top:10px;display:grid}#limit-state-search-settings-modal .tool-group button:not(.solver-modal-icon-button):not(.search-complexity-expand-button){border:1px solid var(--search-border-strong);background:var(--search-surface);color:#334155;border-radius:7px;width:100%;min-height:30px;margin:0;font-size:.82rem;font-weight:650}#limit-state-search-settings-modal .tool-group button:not(.solver-modal-icon-button):not(.search-complexity-expand-button):hover:not(:disabled),#limit-state-search-settings-modal .tool-group button:not(.solver-modal-icon-button):not(.search-complexity-expand-button):focus-visible:not(:disabled){background:var(--search-primary-soft);color:#1e3a8a;border-color:#93c5fd}#limit-state-search-settings-modal .tool-group .checkbox-dropdown{margin:0;position:relative}#limit-state-search-settings-modal .tool-group .checkbox-dropdown summary{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;align-items:center;padding-right:28px;display:flex;overflow:hidden}#limit-state-search-settings-modal .tool-group .checkbox-dropdown summary:after{top:13px}#limit-state-search-settings-modal .tool-group .checkbox-dropdown-menu{z-index:20;border:1px solid var(--search-border-strong);background:var(--search-surface);border-radius:7px;margin-top:4px;padding:6px;position:absolute;left:0;right:0;box-shadow:0 14px 32px #0f172a24}#limit-state-search-settings-modal .tool-group .checkbox-dropdown-menu .toggle-row{margin:0}@media (width<=980px){#limit-state-search-settings-modal .solver-modal-card{min-width:520px}.search-settings-modal-body{grid-template-columns:repeat(2,minmax(240px,1fr))}}@media (width<=640px){#limit-state-search-settings-modal .solver-modal-card{min-width:380px}.search-settings-modal-body{grid-template-columns:minmax(0,1fr)}}
