@font-face{font-family:Geist;font-weight:300;font-style:normal;font-display:swap;src:url(/assets/Geist-Light-CZnX_Lm0.ttf)format("truetype")}@font-face{font-family:Geist;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/Geist-Regular-BXNYQXOa.ttf)format("truetype")}@font-face{font-family:Geist;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/Geist-Medium-SxSg9H5f.ttf)format("truetype")}@font-face{font-family:Geist;font-weight:600;font-style:normal;font-display:swap;src:url(/assets/Geist-SemiBold-CAqX8Xc_.ttf)format("truetype")}@font-face{font-family:Geist;font-weight:700;font-style:normal;font-display:swap;src:url(/assets/Geist-SemiBold-CAqX8Xc_.ttf)format("truetype")}@font-face{font-family:Geist;font-weight:800;font-style:normal;font-display:swap;src:url(/assets/Geist-Bold-CbEN33sC.ttf)format("truetype")}@font-face{font-family:Geist;font-weight:400;font-style:italic;font-display:swap;src:url(/assets/Geist-Italic-D8OgiMGC.ttf)format("truetype")}@font-face{font-family:Quicksand;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/Quicksand-Medium-CJlirH1x.woff)format("woff")}@font-face{font-family:Quicksand;font-weight:700;font-style:normal;font-display:swap;src:url(/assets/Quicksand-Bold-BABvQRrL.woff)format("woff")}.workbench-shell{--viewer-canvas-height:520px;--wb-card-padding:24px;--wb-section-gap:16px;--wb-grid-gap:20px;--wb-controls-min:300px;--wb-controls-max:360px;--wb-sticky-top:calc(var(--page-header-height,0px) + 16px);container:workbench/inline-size}.workbench-grid{grid-template-columns:minmax(var(--wb-controls-min), var(--wb-controls-max)) minmax(0, 1fr);gap:var(--wb-grid-gap);grid-template-rows:auto auto;grid-template-areas:"controls viewer""controls results";align-items:start;display:grid}.wb-controls{gap:var(--wb-section-gap);min-width:0;top:var(--wb-sticky-top);flex-direction:column;grid-area:controls;align-self:start;display:flex;position:sticky}.wb-controls-match{gap:var(--wb-section-gap);flex-direction:column;min-width:0;display:flex}.wb-viewer{grid-area:viewer;min-width:0}.wb-viewer-stage{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.wb-viewer-status{z-index:2;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;letter-spacing:.01em;background:#0f172a9e;border-radius:999px;align-items:center;gap:7px;padding:4px 10px 4px 8px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex;position:absolute;bottom:12px;left:12px}.wb-results{gap:var(--wb-section-gap);flex-direction:column;grid-area:results;min-width:0;display:flex}.workbench-grid--split{--wb-run-stack-height:56px;grid-template-areas:"controls viewer""results results";align-items:stretch}.workbench-grid--split .wb-controls{align-self:stretch;min-height:0;position:static}.workbench-grid--split .wb-controls .wb-cell--stock{flex:none}.workbench-grid--split .wb-controls .wb-cell--run{min-height:var(--wb-run-stack-height);flex-shrink:0}.workbench-grid--split .wb-cell--stock>.wb-stock-card-fill{display:block}.workbench-grid--split .wb-viewer-column{align-self:stretch;min-height:0}.workbench-grid--split .wb-viewer-pricing,.workbench-grid--split .wb-viewer-pricing__cell{flex-direction:column;flex:none;min-height:0;display:flex}.workbench-grid--split .wb-viewer-pricing__cell>*{flex:none;min-height:0}.wb-viewer-column,.wb-viewer-pricing{gap:var(--wb-section-gap);flex-direction:column;min-width:0;display:flex}@container workbench (width<=768px){.wb-viewer-column{order:2}}.workbench-grid--independent-scroll{grid-template-areas:"controls output";grid-template-columns:minmax(var(--wb-controls-min), var(--wb-controls-max)) minmax(0, 1fr)}.workbench-shell--pane-scroll.workbench-shell--pane-active{flex-direction:column;display:flex;overflow:hidden}.workbench-shell--pane-scroll.workbench-shell--pane-active .workbench-grid--independent-scroll{flex:1;grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:0}.workbench-shell--pane-scroll.workbench-shell--pane-active .workbench-grid--independent-scroll .wb-controls{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-self:stretch;min-height:0;position:static;overflow:hidden auto}.workbench-shell--pane-scroll.workbench-shell--pane-active .workbench-grid--independent-scroll .wb-controls .wb-cell--run{z-index:2;-webkit-backdrop-filter:blur(12px)saturate(1.1);background:#f9fafbe0;border-radius:14px 14px 0 0;flex-shrink:0;margin:0 -4px;padding:12px 6px 10px;position:sticky;bottom:0;box-shadow:0 -10px 24px #f9fafb99,inset 0 1px #ffffffb3}.workbench-shell--pane-scroll.workbench-shell--pane-active .workbench-grid--independent-scroll .wb-controls .wb-cell--run>button{z-index:1;position:relative}.workbench-shell--pane-scroll.workbench-shell--pane-active .workbench-grid--independent-scroll .wb-controls .wb-cell--run:before{content:"";pointer-events:none;background:linear-gradient(#0000,#f9fafbcc);height:18px;position:absolute;top:-18px;left:0;right:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.workbench-shell--pane-scroll.workbench-shell--pane-active .workbench-grid--independent-scroll .wb-controls .wb-cell--run{background:#f9fafb}}.workbench-shell--pane-scroll.workbench-shell--pane-active .workbench-grid--independent-scroll .wb-output{align-self:stretch;gap:var(--wb-section-gap);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;grid-area:output;min-width:0;min-height:0;display:flex;overflow:hidden auto}.workbench-shell--pane-scroll.workbench-shell--pane-active .wb-viewer--match-controls>:first-child{height:var(--wb-viewer-match-height);box-sizing:border-box;flex-direction:column;min-height:0;display:flex}.workbench-shell--pane-scroll.workbench-shell--pane-active .wb-viewer--match-controls>:first-child>:first-child{flex-shrink:0}.workbench-shell--pane-scroll.workbench-shell--pane-active .wb-viewer--match-controls .viewer-slot,.workbench-shell--pane-scroll.workbench-shell--pane-active .wb-viewer--match-controls .viewer-slot-placeholder{flex-direction:column;flex:1;min-height:0;display:flex}.workbench-shell--pane-scroll.workbench-shell--pane-active .wb-viewer--match-controls .viewer-canvas-wrap{flex:auto!important;height:auto!important;min-height:0!important}.wb-cell{min-width:0}.wb-cell--stock,.wb-cell--run{gap:var(--wb-section-gap);flex-direction:column;display:flex}@container workbench (width<=768px){.workbench-grid{align-items:stretch;gap:var(--wb-section-gap);flex-direction:column;display:flex}.workbench-shell--pane-scroll{flex:none;display:block;overflow:visible}.workbench-grid--independent-scroll .wb-controls,.workbench-grid--independent-scroll .wb-output{max-height:none;overflow:visible}.workbench-shell--pane-scroll.workbench-shell--pane-active .workbench-grid--independent-scroll .wb-controls .wb-cell--run{-webkit-backdrop-filter:none;box-shadow:none;background:0 0;border-radius:0;margin-top:0;margin-left:0;margin-right:0;padding:0;position:static}.workbench-shell--pane-scroll.workbench-shell--pane-active .workbench-grid--independent-scroll .wb-controls .wb-cell--run:before{content:none}.workbench-shell--pane-scroll.workbench-shell--pane-active .workbench-grid--independent-scroll .wb-controls .wb-cell--run>button{z-index:auto;position:static}.workbench-grid--split .wb-controls .wb-cell--run{margin-top:0}.workbench-grid--split .wb-controls .wb-cell--stock{flex:initial}.workbench-grid--split .wb-cell--stock>.wb-stock-card-fill{display:block}.workbench-grid--split .wb-viewer-pricing{flex:initial}.workbench-grid--independent-scroll .wb-output,.wb-controls,.wb-controls-match{display:contents}.wb-viewer--match-controls>:first-child{height:auto}.wb-cell--info{order:0}.wb-cell--upload{order:1}.wb-viewer{order:2}.wb-cell--settings{order:3}.wb-cell--run{order:4}.wb-cell--stock{order:5}.wb-results{order:6}}@container workbench (width<=900px){.workbench-shell{--viewer-canvas-height:460px}}@container workbench (width<=600px){.workbench-shell{--viewer-canvas-height:380px;--wb-card-padding:18px;--wb-section-gap:14px}}@container workbench (width<=430px){.workbench-shell{--viewer-canvas-height:300px;--wb-card-padding:16px;--wb-grid-gap:12px}}.wb-results-stack{gap:var(--wb-section-gap);flex-direction:column;display:flex}.results-breakdown-grid{gap:var(--wb-section-gap);grid-template-columns:1fr;align-items:start;display:grid}.results-breakdown-grid>*{min-width:0}.results-breakdown-grid:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.results-breakdown-grid__cell{flex-direction:column;min-height:0;display:flex}.results-breakdown-grid__cell>*{flex:1;min-height:0}@container workbench (width<=639px){.results-breakdown-grid:has(>:nth-child(2):last-child){grid-template-columns:1fr}}@media (width<=639px){.results-breakdown-grid:has(>:nth-child(2):last-child){grid-template-columns:1fr}}.wb-settings-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;display:grid}.wb-settings-span-full{grid-column:1/-1}.wb-stat-grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;display:grid}.wb-stat-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px;display:grid}.wb-auto-stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;display:grid}.wb-flex-row-stack{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@container workbench (width<=480px){.wb-flex-row-stack{flex-direction:column;align-items:stretch}.wb-flex-row-stack>*{width:100%;min-width:0!important}.part-3d-viewer-root button,.part-3d-viewer-chrome button{padding:3px 6px!important;font-size:10px!important}}@media (width<=768px){.page-header-bar{flex-wrap:wrap;padding:16px 20px 14px!important}.page-header-actions{flex-wrap:wrap}.page-content-area{padding:20px 16px!important}}@media (width>=1025px){.app-sidebar{box-shadow:none;position:sticky;top:0;transform:none!important}}@media (width<=1024px){.sidebar-drawer-backdrop{z-index:40;opacity:0;pointer-events:none;background:#0f172a73;transition:opacity .2s;position:fixed;inset:0}.sidebar-drawer-backdrop--open{opacity:1;pointer-events:auto}.sidebar-drawer{z-index:50;width:var(--sidebar-width,240px);box-shadow:var(--shadow-heavy);transition:transform .25s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar-drawer--open{transform:translate(0)}}@media (width>=1025px){.sidebar-drawer-backdrop{display:none}}.analysis-collapsible-header{transition:background-color .2s,box-shadow .2s}.analysis-collapsible-header:hover{background-color:#09adb712!important}.analysis-collapsible-header--primary:hover{background-color:#09adb71a!important}.analysis-phase-tab{transition:background-color .2s,border-color .2s,box-shadow .2s,transform .15s}.analysis-phase-tab:hover{border-color:var(--primary-45,var(--primary-20))!important}.analysis-phase-tab--active{box-shadow:0 1px #09adb71f}.analysis-setup-card{transition:box-shadow .2s,border-color .2s}.analysis-setup-card--open{box-shadow:var(--shadow-subtle);border-color:var(--primary-20,#09adb733)!important}.viewer-slot{--viewer-toolbar-min:72px;position:relative}.viewer-slot .part-3d-viewer-chrome,.viewer-slot .part-3d-viewer-root{flex-direction:column;display:flex}.viewer-slot .part-3d-viewer-chrome>div:first-child,.viewer-slot .part-3d-viewer-root>div:first-child{min-height:var(--viewer-toolbar-min);box-sizing:border-box;flex-shrink:0}.viewer-slot .viewer-canvas-wrap{width:100%;height:var(--viewer-canvas-height,520px);min-height:var(--viewer-canvas-height,520px);flex:none;position:relative}.viewer-slot .viewer-canvas-wrap>.viewer-r3f-root{width:100%!important;height:100%!important}.viewer-slot-placeholder{transition:opacity .42s cubic-bezier(.4,0,.2,1)}.viewer-slot-placeholder--fade-out{opacity:0;pointer-events:none}[data-reduce-animations=true] .viewer-slot-placeholder,[data-reduce-animations=true] .analysis-run-btn__state{transition:none}.analysis-run-btn__text{place-items:center;min-width:6.25em;display:inline-grid;position:relative}.analysis-run-btn__state{grid-area:1/1;transition:opacity .22s cubic-bezier(.4,0,.2,1)}.analysis-run-btn__state--cancel{opacity:0;color:var(--text-primary);font-weight:600}.analysis-run-btn--busy:hover .analysis-run-btn__state--analyzing{opacity:0}.analysis-run-btn--busy:hover .analysis-run-btn__state--cancel{opacity:1}.analysis-stage-progress{z-index:1;background:0 0;flex-direction:column;gap:5px;width:100%;margin-top:2px;padding:2px 2px 0;display:flex;position:relative}.analysis-stage-progress__label{color:var(--text-muted,#6b7280);letter-spacing:.01em;font-size:11px;font-weight:500;line-height:1.35}.analysis-stage-progress__track{background:color-mix(in srgb, var(--border-subtle,#0f172a1f) 80%, transparent);border-radius:999px;width:100%;height:6px;overflow:hidden}.analysis-stage-progress__fill{border-radius:inherit;background:var(--primary,#09adb7);width:0;height:100%;transition:width .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.analysis-stage-progress__fill:after{content:"";border-radius:inherit;background:linear-gradient(90deg,#0000 0%,#fff3 30%,#ffffff9e 50%,#fff3 70%,#0000 100%);animation:2.4s cubic-bezier(.4,0,.2,1) infinite analysisStageProgressPulse;position:absolute;inset:0;transform:translate(-100%)}@keyframes analysisStageProgressPulse{0%{transform:translate(-100%)}55%,to{transform:translate(100%)}}[data-reduce-animations=true] .analysis-stage-progress__fill{transition:none}[data-reduce-animations=true] .analysis-stage-progress__fill:after{opacity:0;animation:none}@media (prefers-reduced-motion:reduce){.analysis-collapsible-header,.analysis-phase-tab,.analysis-setup-card,.viewer-slot-placeholder,.analysis-run-btn__state,.analysis-stage-progress__fill{transition:none}.analysis-stage-progress__fill:after{opacity:0;animation:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#09adb7;--primary-hover:#089da5;--primary-active:#089299;--primary-light:#0aadb7;--primary-10:#09adb71a;--primary-20:#09adb733;--primary-gradient:linear-gradient(135deg, #0aadb7 0%, #089da5 100%);--success:#10b981;--success-light:#8ed081;--warning:#f59e0b;--warning-light:#ff7f0f;--danger:#ef4444;--danger-dark:#d81f5b;--text-primary:#212933;--text-secondary:#212933;--text-muted:#212933;--bg:#fff;--bg-alt:#f9fafb;--bg-alt2:#f8fafc;--border:#e0e1e4;--border-subtle:#e5e7eb;--divider:#d1d5db;--shadow-subtle:0 1px 2px #0000000d;--shadow-light:0 2px 4px #00000014;--shadow-medium:0 4px 12px #0000001a;--shadow-heavy:0 8px 24px #00000026;--shadow-colored:0 2px 8px #09adb733;--shadow-card:0 1px 3px #00000014, 0 1px 2px #0000000f, inset 0 1px 0 #fffc;--surface-search:linear-gradient(135deg, var(--bg) 0%, var(--bg-alt2) 100%);--surface-tab-bar:linear-gradient(180deg, var(--bg-alt2) 0%, var(--bg-alt) 100%);--surface-tab-active:var(--bg);--surface-card:linear-gradient(135deg, var(--bg) 0%, var(--bg-alt2) 100%);--shadow-tab-active:0 1px 3px #0f172a12, 0 0 0 1px #09adb714;--shadow-tab-bar-inset:inset 0 1px 0 color-mix(in srgb, var(--bg) 40%, transparent);--surface-modal:var(--bg);--shadow-button-secondary:0 1px 2px #0f172a0d, inset 0 1px 0 #ffffffe6;--shadow-button-secondary-hover:0 2px 6px #09adb71f, inset 0 1px 0 #fffffff2;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:20px;--radius-full:50%;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .15s cubic-bezier(.4, 0, .2, 1);--sidebar-width:240px;--topnav-height:60px;--trace-button-height:35px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text-primary:#e8eaed;--text-secondary:#c5c9d0;--text-muted:#8b929c;--bg:#0f1318;--bg-alt:#161b22;--bg-alt2:#212933;--border:#2e3642;--border-subtle:#262c36;--divider:#3a4250;--primary-10:#09adb724;--primary-20:#09adb73d;--shadow-subtle:0 1px 2px #00000073;--shadow-light:0 2px 4px #00000080;--shadow-medium:0 4px 12px #0000008c;--shadow-heavy:0 8px 24px #000000a6;--shadow-colored:0 2px 8px #09adb738;--shadow-card:0 1px 3px #00000080, 0 1px 2px #0006;--surface-search:var(--bg-alt2);--surface-tab-bar:var(--bg-alt2);--surface-tab-active:var(--bg-alt);--surface-card:var(--bg-alt2);--shadow-tab-active:none;--shadow-tab-bar-inset:none;--surface-modal:var(--bg-alt2);--shadow-button-secondary:var(--shadow-subtle);--shadow-button-secondary-hover:var(--shadow-colored)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;color:var(--text-primary);background:var(--bg-alt);-webkit-font-smoothing:antialiased;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:Geist,sans-serif}input,select,textarea{font-family:Geist,sans-serif}.route-fade-enter{animation:.22s ease-out both routeFadeIn}@keyframes routeFadeIn{0%{opacity:0}to{opacity:1}}.skeleton-shimmer{background-color:var(--bg-alt2);position:relative;overflow:hidden}.skeleton-shimmer:after{content:"";pointer-events:none;background-image:linear-gradient(90deg, var(--bg-alt2) 0%, var(--bg-alt2) 18%, var(--border-subtle) 32%, var(--bg-alt2) 46%, var(--bg-alt2) 50%, var(--bg-alt2) 68%, var(--border-subtle) 82%, var(--bg-alt2) 96%, var(--bg-alt2) 100%);width:200%;animation:1.5s linear infinite skeletonShimmer;position:absolute;inset:0 auto 0 0}@keyframes skeletonShimmer{0%{transform:translate(-50%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.skeleton-shimmer:after{animation:none}}[data-reduce-animations=true] .skeleton-shimmer:after{animation:none}.tooltip-root{z-index:100001;background:color-mix(in srgb, var(--bg) 98%, transparent);-webkit-backdrop-filter:blur(20px);color:var(--text-primary);-webkit-user-select:none;user-select:none;pointer-events:none;will-change:opacity, transform, filter;-webkit-font-smoothing:antialiased;word-wrap:break-word;overflow-wrap:break-word;white-space:nowrap;border:1px solid #09adb738;border-radius:10px;max-width:240px;padding:7px 11px;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500;line-height:1.5;position:fixed;box-shadow:0 8px 24px -4px #0000001f,0 4px 8px -2px #00000014,0 0 0 1px #0000000a,inset 0 0 0 1px #09adb71a}.tooltip-root:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#09adb70a 0%,#09adb703 50%,#ffffff05 100%);border-radius:10px;position:absolute;inset:0}
