:root{--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font:16px/1.45 var(--sans);color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fb}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}button,select{font:inherit}#root{min-height:100svh}.demo-shell{color:#172033;box-sizing:border-box;background:#f5f7fb;height:100svh;min-height:640px;padding:24px;overflow:hidden}.demo-header{flex-direction:column;align-items:stretch;gap:14px;display:flex}.demo-header>div:first-child{text-align:left;width:100%}.eyebrow{color:#2563eb;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.demo-header h1{color:#0f172a;margin:0;font-size:clamp(24px,2.4vw,34px);font-weight:760}.top-controls{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.top-controls label{color:#5b6475;gap:6px;font-size:12px;font-weight:700;display:grid}select{color:#172033;width:100%;min-width:0;height:40px;font:600 14px/1 var(--sans);background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:0 34px 0 12px}select:disabled{color:#64748b;cursor:not-allowed;background:#f1f5f9}.notice-banner,.error-banner{border-radius:8px;padding:12px 14px;font-size:14px;font-weight:700}.notice-banner{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe}.error-banner{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.demo-workspace{grid-template-columns:var(--left-pane-width,minmax(0, 1fr)) 18px var(--right-pane-width,404px);gap:8px;height:100%;min-height:0;display:grid}.scene-panel,.feature-panel{background:#fff;border:1px solid #d9e0ea;border-radius:8px;box-shadow:0 12px 32px #0f172a14}.scene-panel{min-width:0;min-height:0;position:relative;overflow:hidden}.pane-collapsed{visibility:hidden;pointer-events:none;box-shadow:none;border:0}.scene-panel canvas{width:100%;height:100%;display:block}.scene-empty{color:#64748b;text-align:center;place-content:center;gap:6px;height:100%;min-height:620px;display:grid}.scene-empty strong{color:#172033;font-size:18px}.screen-leader{z-index:3;pointer-events:none;position:absolute;inset:0}.screen-leader line{stroke:#f97316;stroke-linecap:round;stroke-width:2px}.run-chart-free-layer{z-index:4;pointer-events:none;position:absolute;inset:0}.run-chart-layout-toggle{height:calc(26px * var(--run-chart-card-scale,1));padding:calc(2px * var(--run-chart-card-scale,1));border-radius:calc(6px * var(--run-chart-card-scale,1));background:#e2e8f0;border:1px solid #cbd5e1;grid-template-columns:repeat(3,minmax(0,auto));align-items:center;display:inline-grid}.run-chart-layout-toggle button{height:calc(20px * var(--run-chart-card-scale,1));min-width:calc(36px * var(--run-chart-card-scale,1));padding:0 calc(6px * var(--run-chart-card-scale,1));border-radius:calc(4px * var(--run-chart-card-scale,1));color:#475569;font:900 calc(10px * var(--run-chart-card-scale,1)) / 1 var(--sans);cursor:pointer;background:0 0;border:0}.run-chart-layout-toggle button.active{color:#172033;background:#fff;box-shadow:0 1px 3px #0f172a24}.run-chart-layout-toggle button:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.run-chart-group{pointer-events:auto;background:#fff;border:1px solid #d9e0ea;border-radius:6px;flex-direction:column;min-width:0;display:flex;position:absolute;overflow:hidden;box-shadow:0 12px 28px #0f172a24}.run-chart-group-handle{min-height:calc(32px * var(--run-chart-card-scale,1));justify-content:space-between;align-items:center;gap:calc(8px * var(--run-chart-card-scale,1));padding:0 calc(8px * var(--run-chart-card-scale,1));color:#334155;font-size:calc(12px * var(--run-chart-card-scale,1));cursor:grab;text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex:none;font-weight:900;line-height:1.15;display:flex;overflow:hidden}.run-chart-group-handle:active,.is-dragging-chart .run-chart-group-handle{cursor:grabbing}.run-chart-group-handle>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.run-chart-group-tools{align-items:center;gap:calc(6px * var(--run-chart-card-scale,1));flex:none;display:flex}.run-chart-restore-button{height:calc(24px * var(--run-chart-card-scale,1));padding:0 calc(7px * var(--run-chart-card-scale,1));border-radius:calc(5px * var(--run-chart-card-scale,1));color:#334155;font:900 calc(10px * var(--run-chart-card-scale,1)) / 1 var(--sans);cursor:pointer;background:#fff;border:1px solid #cbd5e1}.run-chart-restore-button:hover{color:#0f172a;border-color:#94a3b8}.run-chart-scale-control{z-index:5;color:#334155;cursor:default;background:#fffffff5;border:1px solid #d9e0ea;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:10px;font-weight:900;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 8px 20px #0f172a24}.run-chart-scale-control input{accent-color:#2563eb;cursor:pointer;width:120px}.run-chart-group-body{grid-template-columns:var(--run-chart-group-grid-template,1fr);gap:0;min-height:0;padding:0;display:grid;overflow:visible}.run-chart-group.is-horizontal .run-chart-group-body{grid-auto-flow:column;grid-auto-columns:calc(250px * var(--run-chart-card-scale,1));overflow:auto hidden}.run-chart-group.is-vertical .run-chart-group-body{grid-auto-flow:row;justify-items:start}.run-chart-card{width:min(100%, calc(250px * var(--run-chart-card-scale,1)));min-height:0;box-shadow:none;color:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #d9e0ea;border-top:0;border-left:0;border-radius:0;padding:0;position:relative;overflow:hidden}.run-chart-card:focus-visible{outline-offset:-2px;outline:2px solid #2563eb}.run-chart-card.selected-chart{border-color:#f97316;box-shadow:0 0 0 1px #f97316,0 12px 28px #0f172a24}.run-chart-card-title{justify-content:space-between;align-items:center;gap:calc(4px * var(--run-chart-card-scale,1));min-width:0;display:flex}.run-chart-card-title span{text-overflow:ellipsis;min-width:0;overflow:hidden}.run-chart-card-hide{width:calc(22px * var(--run-chart-card-scale,1));height:calc(18px * var(--run-chart-card-scale,1));color:#94a3b8;cursor:pointer;background:0 0;border:0;border-left:1px solid #cbd5e1;flex:none;padding:0;position:relative}.run-chart-card-hide:before,.run-chart-card-hide:after{content:"";width:calc(13px * var(--run-chart-card-scale,1));height:calc(1.4px * var(--run-chart-card-scale,1));transform-origin:50%;background:currentColor;border-radius:999px;position:absolute;top:50%;left:50%}.run-chart-card-hide:before{transform:translate(-50%,-50%)rotate(45deg)}.run-chart-card-hide:after{transform:translate(-50%,-50%)rotate(-45deg)}.run-chart-card-hide:hover,.run-chart-card-hide:focus-visible{color:#f97316;background:#fff7ed;border-left-color:#f97316}.run-chart-hidden-empty{min-height:calc(56px * var(--run-chart-card-scale,1));padding:calc(10px * var(--run-chart-card-scale,1));color:#64748b;font-size:calc(10px * var(--run-chart-card-scale,1));text-align:center;place-items:center;font-weight:800;display:grid}.chart-overlay-table{border-collapse:collapse;table-layout:fixed;width:100%}.chart-overlay-table th,.chart-overlay-table td{border-bottom:1px solid #e2e8f0;padding:0}.chart-overlay-table tr:last-child td{border-bottom:0}.chart-overlay-table th{color:#0f172a;font-size:calc(10px * var(--run-chart-card-scale,1));text-align:left;white-space:nowrap;text-overflow:ellipsis;padding:1px 0 1px 4px;line-height:1;overflow:hidden}.chart-overlay-table th span{color:#475569;font-weight:700}.overlay-chart{width:100%;height:calc(48px * var(--run-chart-card-scale,1));background:#f8fafc;border:0;border-radius:0;margin-top:0;display:block}.overlay-chart .axis{stroke:#64748b;stroke-width:1.2px}.overlay-chart .reference-line line{stroke-linecap:round;stroke-width:1.4px}.overlay-chart .reference-line text{fill:#475569;paint-order:stroke;stroke:#f8fafc;stroke-linejoin:round;stroke-width:2px;text-anchor:end;font-size:6px;font-weight:900}.overlay-chart .reference-line.nominal line{stroke:#64748b;stroke-width:1.2px}.overlay-chart .tolerance-line line{stroke:#dc2626;stroke-dasharray:4 3}.overlay-chart polyline{fill:none;stroke:#0f172a;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px}.overlay-chart circle{stroke:#fff;stroke-width:1px}.overlay-chart circle.in-tolerance{fill:#16a34a}.overlay-chart circle.out-of-tolerance{fill:#dc2626}.overlay-chart text{fill:#64748b;font-size:7px;font-weight:800}.chart-empty{color:#64748b;font-size:calc(10px * var(--run-chart-card-scale,1));margin:0}.chart-stat-labels td,.chart-stat-values td{text-align:center;padding:1px 4px}.chart-stat-labels td{color:#64748b;font-size:calc(8px * var(--run-chart-card-scale,1));text-transform:uppercase;font-weight:800}.chart-stat-values td{color:#0f172a;font-size:calc(8px * var(--run-chart-card-scale,1));font-weight:900}.chart-stat-labels td+td,.chart-stat-values td+td{border-left:1px solid #e2e8f0}.workspace-divider{grid-template-rows:auto 1fr auto;align-self:stretch;place-items:center;gap:6px;width:18px;min-width:18px;display:grid}.workspace-resizer{cursor:col-resize;background:0 0;border:0;border-radius:8px;width:18px;min-width:18px;height:100%;min-height:80px;padding:0}.workspace-resizer:before{content:"";background:#cbd5e1;border-radius:999px;width:2px;height:100%;margin:0 auto;transition:background .12s,width .12s;display:block}.workspace-resizer:hover:before,.workspace-resizer:focus-visible:before,.is-resizing-rail .workspace-resizer:before{background:#2563eb;width:4px}.workspace-resizer:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.workspace-resizer:disabled{cursor:default}.workspace-resizer:disabled:before{background:#e2e8f0}.pane-toggle{color:#334155;width:18px;height:22px;font:900 11px/1 var(--sans);cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;place-items:center;padding:0;display:grid;box-shadow:0 4px 10px #0f172a14}.pane-toggle:hover,.pane-toggle:focus-visible{color:#2563eb;border-color:#2563eb}.pane-toggle:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.is-resizing-rail{cursor:col-resize;-webkit-user-select:none;user-select:none}.right-rail{flex-direction:column;gap:18px;min-width:0;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.feature-panel{text-align:left;box-sizing:border-box;flex:1;min-width:0;min-height:0;padding:0;display:flex;overflow:hidden}.results-table-wrap{background:#f8fafc;border:0;border-radius:8px;width:100%;min-width:0;height:100%;max-height:none;overflow:auto}.results-table{color:#0f172a;width:max-content;min-width:100%;font-size:8px;display:grid}.results-table thead,.results-table tbody,.results-table tr{display:contents}.results-table th,.results-table td{text-align:left;vertical-align:top;white-space:nowrap;border-bottom:1px solid #d9e0ea;border-right:1px solid #d9e0ea;min-width:0;padding:4px 6px}.results-table th:first-child,.results-table td:first-child{text-align:center;left:0}.results-table th:nth-child(2),.results-table td:nth-child(2){left:var(--feature-column-left,54px)}.results-table th:nth-child(3),.results-table td:nth-child(3){left:var(--characteristic-column-left,174px)}.results-table thead th{z-index:2;color:#334155;text-transform:uppercase;background:#eff6ff;font-size:8px;font-weight:800;position:sticky;top:0}.column-sort{max-width:calc(100% - 34px);color:inherit;font:inherit;text-align:left;text-transform:inherit;cursor:pointer;text-overflow:ellipsis;background:0 0;border:0;padding:0;display:inline-block;overflow:hidden}.column-sort:disabled{cursor:default}.column-filter{color:#0000;cursor:pointer;background:0 0;border:0;border-radius:4px;width:20px;height:16px;padding:0;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.column-filter:before{content:"";border-top:6px solid #64748b;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;margin:4px auto 0;display:block}.column-filter.active:before,.column-filter:hover:before,.column-filter:focus-visible:before{border-top-color:#2563eb}.column-filter:focus-visible{outline-offset:1px;outline:2px solid #2563eb}.column-filter-popover{z-index:10;background:#fff;border:1px solid #cbd5e1;border-radius:8px;gap:4px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:6px;box-shadow:0 12px 24px #0f172a29}.column-filter-popover input{color:#0f172a;width:100px;height:22px;font:700 8px/1 var(--sans);background:#fff;border:1px solid #cbd5e1;border-radius:5px;padding:0 6px}.column-filter-popover button{color:#334155;height:22px;font:800 8px/1 var(--sans);cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:5px;padding:0 6px}.results-table thead th span,.column-sort span{text-overflow:ellipsis;display:inline;overflow:hidden}.results-table tbody th,.results-table td:first-child,.results-table td:nth-child(3){z-index:1;background:#f8fafc;position:sticky}.results-table thead th:first-child,.results-table thead th:nth-child(2),.results-table thead th:nth-child(3){z-index:3}.results-table input[type=checkbox]{accent-color:#2563eb;cursor:pointer;width:12px;height:12px}.column-resizer{z-index:5;cursor:col-resize;background:0 0;border:0;width:8px;height:100%;padding:0;position:absolute;top:0;right:-4px}.column-resizer:before{content:"";background:0 0;width:1px;height:100%;margin:0 auto;display:block}.column-resizer:hover:before,.column-resizer:focus-visible:before,.is-resizing-column .column-resizer:before{background:#2563eb}.column-resizer:focus-visible{outline-offset:-2px;outline:2px solid #2563eb}.is-resizing-column{cursor:col-resize;-webkit-user-select:none;user-select:none}.results-table tbody tr:last-child th,.results-table tbody tr:last-child td{border-bottom:0}.results-table th:last-child,.results-table td:last-child{border-right:0}.results-table tbody th strong,.results-table tbody td strong{font-size:8px}.results-table tbody tr{cursor:pointer}.results-table tbody tr:hover th,.results-table tbody tr:hover td,.results-table tbody tr.selected-row th,.results-table tbody tr.selected-row td{background:#fff7ed}.results-table tbody tr.selected-row th,.results-table tbody tr.selected-row td{box-shadow:inset 0 2px #f97316}.results-table td{font-weight:800}.empty-state{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin:0;padding:14px;font-size:14px}@media (width<=920px){.demo-shell{height:auto;min-height:100svh;overflow:visible}.demo-header,.top-controls{grid-template-columns:1fr;align-items:stretch}.demo-workspace{grid-template-columns:1fr;gap:18px;height:auto}.workspace-divider{display:none}.scene-panel,.scene-empty{min-height:420px}.screen-leader{display:none}}@media (width<=560px){.demo-shell{padding:14px}.demo-header h1{font-size:28px}select{width:100%}}
