.xyz-fabrication{--fab-ink:#112536;--fab-muted:#4c6579;--fab-paper:#eef2f5;--fab-line:#d2dde6;--fab-blue:#1d4ccb;--fab-navy:#0b1928;--fab-cyan:#78ddff;--fab-surface:#fbfcfd;--fab-mono:ui-monospace, "SFMono-Regular", Consolas, monospace;color:var(--fab-ink);background:var(--fab-paper);min-height:100dvh;font-size:13px;line-height:1.45}.xyz-fabrication input,.xyz-fabrication select,.xyz-fabrication button{min-width:0}.fab-header,.fab-workbar,.fab-footer{background:#fff;align-items:center;gap:18px;padding-inline:clamp(12px,2.2vw,32px);display:flex}.fab-header{border-bottom:1px solid var(--fab-line);min-height:72px;padding-block:10px}.fab-brand{border-right:1px solid var(--fab-line);flex:none;padding-right:18px}.fab-brand img{width:92px;height:auto;display:block}.fab-header-title{min-width:0;margin-right:auto}.fab-header-title>span{color:var(--fab-muted);font:650 9px/1 var(--fab-mono);text-transform:uppercase;letter-spacing:.08em;display:block}.fab-header-title h1{letter-spacing:-.035em;margin:4px 0 0;font-size:clamp(17px,2vw,25px)}.fab-header nav{justify-content:flex-end;gap:16px;display:flex}.fab-header nav a,.fab-footer a{align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.fab-header nav a:hover,.fab-footer a:hover{color:var(--fab-blue)}.fab-header-actions{flex:none;gap:7px;display:flex}.fab-brief-source{color:#203a4e;border-bottom:1px solid var(--fab-line);overflow-wrap:anywhere;background:#e6f2f7;gap:3px;padding:10px clamp(14px,2.3vw,34px);font-size:12px;display:grid}.fab-brief-source>span{white-space:pre-wrap}.fab-brief-loading{place-content:center;min-height:60vh;padding:20px;display:grid}.fab-brief-loading a{color:var(--fab-blue);text-decoration:underline}.fab-library .fab-brief-back{color:#a4d9ef;align-items:center;gap:8px;padding:12px 10px;font-size:13px;display:flex}.fab-library .fab-brief-back:hover{color:#fff}.fab-button,.fab-subtle-link{min-height:39px;color:var(--fab-ink);background:#fff;border:1px solid #cbd7e0;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.fab-button:hover:not(:disabled){background:#edf3fb}.fab-primary{background:var(--fab-blue);color:#fff;border-color:var(--fab-blue)}.fab-primary:hover:not(:disabled){background:#193da9}.fab-subtle-link{color:#1843a0;background:0 0;border:0;min-height:34px;padding:4px 0}.fab-subtle-link:hover{text-decoration:underline}.fab-workbar{border-bottom:1px solid var(--fab-line);background:#f5f8fb;justify-content:space-between;min-height:57px}.fab-workbar>p{color:var(--fab-muted);margin:0;font-size:12px}.fab-mobile-preset{display:none}.fab-work-tabs{background:#e8eef5;border:1px solid #cdd8e2;border-radius:6px;flex:none;gap:3px;padding:3px;display:flex}.fab-work-tabs button{color:#3d5369;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;min-height:31px;padding:4px 12px;font-weight:700;display:inline-flex}.fab-work-tabs button[aria-pressed=true]{color:var(--fab-blue);background:#fff;box-shadow:0 1px 3px #132c4b24}.fab-workspace{grid-template-columns:207px minmax(0,1fr) minmax(235px,283px);align-items:stretch;min-height:calc(100dvh - 164px);display:grid}.fab-library{background:linear-gradient(150deg, #12283c, var(--fab-navy) 50%);color:#edf4ff;border-right:1px solid #233e54;padding:22px 11px 28px}.fab-library-heading{border-bottom:1px solid #83c8f02b;margin:0 8px 16px;padding-bottom:12px}.fab-library-heading strong{font-size:15px;display:block}.fab-library-heading span{color:#a5b8cc;font-size:11px}.fab-library>button{color:#c4d8e8;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:45px;margin:3px 0;padding:8px 9px;font-weight:650;display:flex}.fab-library>button[aria-pressed=true]{box-shadow:inset 3px 0 var(--fab-cyan);color:#fff;background:linear-gradient(90deg,#17405d,#153047);border-color:#61c6f15e}.fab-library>button:hover:not([aria-pressed=true]){background:#192d41}.fab-library>button svg{color:#87bce4;flex:none}.fab-library>button[aria-pressed=true] svg{color:var(--fab-cyan)}.fab-center{background:radial-gradient(at 52% 0,#fff 0,#0000 48%);min-width:0;padding:23px clamp(15px,2vw,30px) 32px}.fab-project{margin-bottom:17px}.fab-kicker{font:650 10px/1.4 var(--fab-mono);color:#365d82;text-transform:uppercase;letter-spacing:.065em;margin:0 0 7px}.fab-project input{width:min(100%,580px);color:var(--fab-ink);letter-spacing:-.052em;background:0 0;border:1px solid #0000;border-radius:4px;margin-left:-4px;padding:1px 3px;font-size:clamp(31px,4vw,48px);font-weight:750;line-height:1.12;display:block}.fab-project input:hover,.fab-project input:focus{border-color:var(--fab-line);background:#ffffffb3}.fab-project>p:last-child{color:var(--fab-muted);max-width:680px;margin:6px 0 0}.fab-viewport{color:#29332f;background:#f3f2ed;border:1px solid #d7d9d2;border-radius:9px;overflow:hidden;box-shadow:0 12px 30px #29332f0a,0 2px 5px #29332f06}.fab-view-top,.fab-view-foot{background:#f8f8f4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:9px 12px;display:flex}.fab-view-top{border-bottom:1px solid #d9ddd5}.fab-view-title{align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.fab-view-title>span{background:#6b7b6a;border-radius:50%;width:7px;height:7px}.fab-view-modes{background:#eeefe9;border:1px solid #d9ddd5;border-radius:5px;gap:3px;padding:3px;display:flex}.fab-view-modes button{white-space:nowrap;color:#5e6961;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:5px;min-height:31px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.fab-view-modes button[aria-pressed=true]{color:#263d2f;background:#dfe8df;border-color:#b9c7b8}.fab-view-modes button:hover:not([aria-pressed=true]){background:#e5e8e0}.fab-view-stage{background:#f3f2ed;height:clamp(340px,36vw,590px);position:relative}.fab-view-stage canvas{width:100%;height:100%;display:block}.fab-view-stage canvas:focus-visible{outline-offset:-3px;outline:2px solid #557363}.fab-orbit{cursor:grab;touch-action:pan-y}.fab-orbit:active{cursor:grabbing}.fab-model-measure{pointer-events:none;font:500 10px/1.3 var(--fab-mono);color:#657064;background:#fafaf5e8;border:1px solid #cbd2c7b3;border-radius:6px;gap:4px;padding:8px 10px;display:grid;position:absolute;top:12px;left:12px}.fab-model-measure strong{color:#303a31;font-size:12px}.fab-stage-empty{text-align:center;color:#657064;pointer-events:none;width:100%;margin:0;position:absolute;bottom:13%}.fab-view-foot{color:#59665b;border-top:1px solid #d9ddd5;min-height:47px;font-size:11px}.fab-view-foot>span{align-items:center;gap:6px;display:inline-flex}.fab-view-foot .fab-icon{color:#536950;background:#e9ede4}.fab-view-foot .fab-icon:hover:not(:disabled){color:#334d3b;background:#dde5d8}.fab-spread{align-items:center;gap:8px;margin:0;display:flex}.fab-spread input[type=range]{accent-color:#557363;background:0 0;border:0;width:clamp(72px,12vw,140px);min-height:24px;margin:0;padding:0}.fab-icon{color:#365975;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;width:34px;height:34px;padding:0;font-size:20px;display:inline-grid}.fab-icon:hover:not(:disabled){color:#1744a2;background:#e4eef8}.fab-model-error,.fab-alert{color:#774d15;background:#fff4e3;border:1px solid #ead5a5;border-radius:5px;padding:12px 14px}.fab-model-error{min-height:84px}.fab-schedule{border:1px solid var(--fab-line);background:#fff;border-radius:9px;margin-top:20px;padding:13px 16px 8px;scroll-margin-top:72px;box-shadow:0 3px 12px #172e4810}.fab-schedule-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.fab-schedule-title h2{letter-spacing:-.027em;margin:0;font-size:19px}.fab-table-wrap{overflow-x:auto}.fab-table-wrap table{min-width:430px}.fab-table-wrap th,.fab-table-wrap td{border-bottom:1px solid #edf1f5;padding:9px 8px}.fab-table-wrap th{text-align:left;background:#f2f6fa}.fab-table-wrap td small{color:var(--fab-muted);font-size:10px;display:block}.fab-table-wrap td:nth-last-child(-n+2){white-space:nowrap}.fab-table-wrap td button{color:#17479c;text-align:left;background:0 0;border:0;padding:3px 0;font-weight:700}.fab-table-wrap td button:hover{text-decoration:underline}.fab-table-wrap tr[data-selected=true]{background:#e3f4ff;box-shadow:inset 3px 0 #147abf}.fab-muted{color:var(--fab-muted);margin:6px 0 8px;font-size:12px}.fab-properties{background:var(--fab-surface);border-left:1px solid var(--fab-line);min-width:0;padding:20px 16px;scroll-margin-top:72px}.fab-properties-title{border-bottom:1px solid var(--fab-line);color:#244b8e;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:11px;display:flex}.fab-properties-title h2{color:var(--fab-ink);margin:0;font-size:16px}.fab-field-list{grid-template-columns:1fr 1fr;gap:13px 10px;display:grid}.fab-field-list label{color:#314b60;min-width:0;margin:0;font-size:11px;line-height:1.35}.fab-field-list label>span:first-child{min-height:1.7em;display:block}.fab-field-list small{font-size:10px;line-height:1.3}.fab-field{margin-top:3px;display:block;position:relative}.fab-field input{min-height:40px;color:var(--fab-ink);font-variant-numeric:tabular-nums;background:#fff;border-color:#c6d5e2;margin:0;padding:6px 25px 6px 8px}.fab-field>span{pointer-events:none;color:#647b8d;font:10px/1 var(--fab-mono);position:absolute;top:15px;right:8px}.fab-field input::-webkit-inner-spin-button{display:none}.fab-notes,.fab-artwork,.fab-custom-parts{border-top:1px solid var(--fab-line);margin-top:20px;padding-top:15px}.fab-artwork h3,.fab-notes h3{margin:0 0 8px;font-size:14px}.fab-artwork p{color:var(--fab-muted);margin:0 0 8px;font-size:12px}.fab-artwork .fab-subtle-link{display:flex}.fab-notes ul{color:#435b6f;margin:0;padding-left:16px;font-size:12px;line-height:1.55}.fab-notes li+li{margin-top:7px}.fab-mobile-jump{display:none}.fab-footer{border-top:1px solid var(--fab-line);min-height:38px;color:var(--fab-muted);justify-content:space-between;font-size:11px}.fab-footer p{margin:0}.fab-footer a{flex:none}.fab-dialog{color:var(--fab-ink);border:1px solid #c9d8e5;border-radius:8px;width:min(440px,100vw - 25px);padding:20px;box-shadow:0 23px 80px #07192755}.fab-dialog::backdrop{background:#0a1a2a88}.fab-dialog-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.fab-dialog-title h2{margin:0;font-size:23px}.fab-output{text-align:left;width:100%;color:var(--fab-ink);border:1px solid var(--fab-line);background:#f5f9fc;border-radius:5px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-top:8px;padding:10px;display:grid}.fab-output:hover:not(:disabled){background:#e7f1ff}.fab-output small{color:var(--fab-muted);font-size:11px;display:block}.fab-workspace-cost{grid-template-columns:207px minmax(0,1fr)}.fab-estimate{width:100%;min-width:0;max-width:1500px;padding:clamp(16px,3vw,36px)}.fab-estimate-heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:10px;display:flex}.fab-estimate-heading h2{letter-spacing:-.06em;margin:0 0 8px;font-size:clamp(34px,5vw,54px)}.fab-estimate-heading p:last-child{color:var(--fab-muted);margin:0 0 12px}.fab-cost-source{color:#2f5579;background:#edf5ff;border:1px solid #d0e1f9;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:6px 11px;font-size:12px;display:flex}.fab-cost-source strong,.fab-cost-source span{display:block}.fab-estimate-settings{gap:13px;margin-block:15px 9px;display:flex}.fab-estimate-settings label{width:min(170px,49%);margin:0}.fab-estimate-settings input{margin-top:4px}.fab-cost-actions{flex-wrap:wrap;align-items:center;gap:7px;margin-block:10px;display:flex}.fab-cost-scroll{border:1px solid var(--fab-line);background:#fff;border-radius:5px;overflow:auto}.fab-cost-table{min-width:800px;font-size:12px}.fab-cost-table th,.fab-cost-table td{vertical-align:top;padding:8px}.fab-cost-table th:first-child{width:26%}.fab-cost-table th:nth-child(2){width:23%}.fab-cost-table th:nth-child(4){width:70px}.fab-cost-table th:nth-child(5){width:150px}.fab-cost-table th:nth-child(6){width:145px}.fab-cost-table input,.fab-cost-table select{border:1px solid var(--fab-line);width:100%;color:var(--fab-ink);background:#fff;border-radius:4px;min-height:34px;padding:5px 6px;font-size:12px;display:block}.fab-cost-table select+select{margin-top:5px}.fab-cost-table td strong{margin-top:6px;font-size:13px;display:block}.fab-cost-table td small{color:#526b7f;margin-top:4px;font-size:10px;display:block}.fab-cost-table td .fab-cost-hold{color:#815414}.fab-cost-unit{grid-template-columns:43px minmax(65px,1fr);gap:4px;display:grid}.fab-cost-empty{border:1px solid var(--fab-line);color:var(--fab-muted);background:#fff;border-radius:5px;margin:0;padding:22px}.fab-totals{grid-template-columns:repeat(4,1fr);gap:8px;margin-block:15px 10px;display:grid}.fab-totals>div{border:1px solid var(--fab-line);background:#fff;border-radius:5px;padding:10px}.fab-totals>div:last-child{color:#fff;background:#132d47;border-color:#132d47}.fab-totals span{opacity:.85;font-size:11px;display:block}.fab-totals strong{letter-spacing:-.04em;font-size:clamp(18px,3vw,27px);display:block}.fab-cost-explanation,.fab-verified{color:var(--fab-muted);margin:8px 0;font-size:12px}.fab-pricing-method{color:var(--fab-muted);background:#f0f6fa;border-left:3px solid #497da7;gap:4px;margin:12px 0 18px;padding:12px 14px;font-size:12px;line-height:1.55;display:grid}.fab-pricing-method strong{color:var(--fab-ink);font-size:13px}.fab-pricing-totals{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.fab-pricing-rules{border:1px solid var(--fab-line);color:var(--fab-muted);background:#fff;border-radius:5px;margin:10px 0;padding:10px 12px;font-size:12px}.fab-pricing-rules summary{color:var(--fab-ink);cursor:pointer;font-weight:650}.fab-pricing-rules ul{margin:9px 0;padding-left:18px}.fab-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fab-build-brief{background:linear-gradient(110deg,#f1f9fd,#f7faff 75%);border:1px solid #cfe2ed;border-radius:7px;gap:12px;margin-bottom:12px;padding:14px;display:grid}.fab-build-brief h2,.fab-build-brief h3{color:var(--fab-ink);letter-spacing:-.025em;margin:0 0 5px}.fab-build-brief p{color:var(--fab-muted);margin:0}.fab-build-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.fab-build-metrics>*{background:#fff;border:1px solid #d9e6ee;border-radius:5px;min-width:0;margin:0;padding:8px 9px}.fab-build-metrics dt,.fab-build-metrics span{color:var(--fab-muted);font-size:10px}.fab-build-metrics dd,.fab-build-metrics strong{color:var(--fab-ink);font:700 clamp(11px, 1.3vw, 15px)/1.4 var(--fab-mono);overflow-wrap:anywhere;margin:0;display:block}.fab-fold-control{color:#c1e6f4;flex-wrap:wrap;align-items:center;gap:7px 10px;min-width:0;margin:0;display:flex}.fab-fold-control input[type=range]{width:clamp(84px,15vw,170px);min-height:30px;accent-color:var(--fab-cyan);background:0 0;border:0;margin:0;padding:0}.xyz-fabrication :is(button,a,input,select):focus-visible{outline-offset:3px;outline:2px solid #1460d0}.xyz-fabrication :is(.fab-library,.fab-viewport) :is(button,a,input):focus-visible{outline-color:var(--fab-cyan)}@media (max-width:1100px){.fab-workspace{grid-template-columns:164px minmax(0,1fr) 226px}.fab-workspace-cost{grid-template-columns:164px minmax(0,1fr)}.fab-properties{padding:16px 13px}}@media (max-width:820px){.fab-workspace{grid-template-columns:minmax(0,1fr)}.fab-library{display:none}.fab-mobile-preset{flex:140px;align-items:center;gap:7px;min-width:0;max-width:275px;margin:0;display:flex}.fab-mobile-preset>span{font-size:11px}.fab-mobile-preset select{min-height:42px;margin:0;padding:6px 9px;font-size:14px}.fab-workbar{z-index:5;flex-wrap:wrap;justify-content:space-between;gap:6px 10px;padding-block:6px;position:sticky;top:0;box-shadow:0 2px 8px #112d4512}.fab-workbar>p{display:none}.fab-properties{border-left:0;border-top:1px solid var(--fab-line);padding:17px}.fab-field-list{grid-template-columns:repeat(3,minmax(0,1fr))}.fab-field-list label>span:first-child{min-height:auto}.fab-mobile-jump{color:#174793;justify-content:space-between;gap:10px;margin-top:10px;display:flex}.fab-mobile-jump a{align-items:center;gap:4px;min-height:38px;font-weight:650;display:inline-flex}.fab-view-stage{height:clamp(280px,63vw,490px)}}@media (max-width:490px){.fab-header{flex-wrap:wrap;gap:8px}.fab-brand{padding-right:8px}.fab-brand img{width:62px}.fab-header-title h1{font-size:17px}.fab-header nav{text-align:right;flex-basis:100%;order:4}.fab-header nav a{min-height:32px;color:var(--fab-blue)}.fab-open span,.fab-mobile-preset>span{display:none}.fab-header-actions{gap:4px}.fab-header-actions .fab-button{min-height:36px;padding-inline:7px}.fab-work-tabs button{padding-inline:6px;font-size:12px}.fab-view-top,.fab-view-foot{padding:7px}.fab-view-modes{grid-template-columns:repeat(auto-fit,minmax(52px,1fr));width:100%;display:grid}.fab-view-modes button{text-align:center;white-space:normal;flex-direction:column;gap:2px;min-height:44px;padding:4px 2px;font-size:10px}.fab-view-modes button svg{flex:none;width:12px}.fab-view-title{padding-left:2px}.fab-view-foot{font-size:10px}.fab-spread input[type=range]{width:82px;min-height:36px}.fab-build-brief{padding:10px}.fab-build-metrics{gap:5px}.fab-build-metrics>*{padding:6px}.fab-schedule{padding-inline:10px}.fab-schedule-title{flex-wrap:wrap}.fab-table-wrap table{table-layout:fixed;min-width:0}.fab-table-wrap th,.fab-table-wrap td{overflow-wrap:anywhere;padding-inline:5px}.fab-table-wrap th:nth-child(3){width:33%}.fab-table-wrap th:last-child{width:12%}.fab-table-wrap td:nth-last-child(2){white-space:normal}.fab-field-list{grid-template-columns:repeat(2,minmax(0,1fr))}.fab-totals{grid-template-columns:1fr 1fr}.fab-footer{flex-wrap:wrap;align-items:start;gap:4px 9px;padding-block:8px}.fab-footer p{flex-basis:100%;order:3}.fab-cost-table{min-width:0}.fab-cost-table thead{display:none}.fab-cost-table tbody{display:grid}.fab-cost-table tr{border-bottom:1px solid var(--fab-line);grid-template-columns:1fr 1fr;gap:7px;padding:10px;display:grid}.fab-cost-table td{border:0;min-width:0;padding:0}.fab-cost-table td:before{content:attr(data-field);color:#526b7f;margin-bottom:3px;font-size:10px;font-weight:700;display:block}.fab-cost-table td:first-child{grid-column:1/-1}.fab-cost-table td:last-child{justify-self:end}}@media (prefers-reduced-motion:reduce){html:has(.xyz-fabrication){scroll-behavior:auto}}.fab-stock{background:#e9f2f7;border:1px solid #bdd6e6;border-radius:8px;margin:0 0 20px;padding:clamp(13px,2.1vw,23px)}.fab-stock-head,.fab-stock h3{align-items:center;gap:9px;display:flex}.fab-stock-head{flex-wrap:wrap;justify-content:space-between}.fab-stock h3{letter-spacing:-.025em;margin:3px 0 0;font-size:clamp(16px,2vw,20px)}.fab-stock>p{color:var(--fab-muted);margin:10px 0 14px}.fab-stock-time,.fab-stock-result{grid-template-columns:repeat(auto-fit,minmax(144px,1fr));gap:9px;display:grid}.fab-stock-time label,.fab-stock-result span{gap:4px;font-size:12px;font-weight:650;display:grid}.fab-stock-time input{background:#fff;border:1px solid #afc6d6;border-radius:4px;width:100%;min-height:42px;padding:7px 9px}.fab-stock-supplier{background:#f7fbfd;border:1px solid #b6d1e0;border-radius:5px;min-width:0;margin:0 0 14px;padding:10px 12px 11px}.fab-stock-supplier legend{padding-inline:5px;font-size:13px;font-weight:740}.fab-stock-supplier label{gap:4px;font-size:12px;font-weight:650;display:grid}.fab-stock-supplier select{background:#fff;border:1px solid #afc6d6;border-radius:4px;width:100%;min-width:0;min-height:42px;padding:6px 8px}.fab-stock-supplier p{color:var(--fab-muted);margin:7px 0 0}.fab-stock-supplier a{color:var(--fab-blue);text-decoration:underline}.fab-lighting-fields{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.fab-stock-result{margin-top:17px}.fab-stock-result>div{background:#fff;border:1px solid #c0d5e3;border-radius:4px;gap:4px;padding:10px;display:grid}.fab-stock-result strong{font-size:16px}.fab-stock-lines{border-top:1px solid #c1d5e2;margin:16px 0 10px;padding:0;list-style:none}.fab-stock-lines li{border-bottom:1px solid #c1d5e2;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:6px 14px;padding:9px 0;display:grid}.fab-stock-lines small{color:var(--fab-muted);overflow-wrap:anywhere;display:block}.fab-stock-line-price{text-align:right}.fab-stock-holds{color:#674210;margin:12px 0 0;padding-left:19px}@media (max-width:500px){.fab-stock-lines li{grid-template-columns:1fr auto}.fab-stock-lines li>div:first-child{grid-column:1/-1}}
