@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color-scheme:dark;--bg: #0a0f1d;--panel: #121a2c;--panel-raised: #182238;--panel-soft: #11192b;--text: #f2f5fb;--muted: #8b98b3;--subtle: #5e6b84;--line: rgba(148, 165, 199, .15);--accent: #f1a56e;--accent-light: #ffd2ae;--blue: #94bdf4;--green: #78d4b0}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif;overflow:hidden;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{color:inherit;cursor:pointer}.app-shell{height:100vh;overflow:hidden;background:radial-gradient(circle at 75% -10%,#17243c 0,transparent 34%),var(--bg)}.view-shell{height:100%;min-height:0}.hidden{display:none!important}.topbar{align-items:center;border-bottom:1px solid var(--line);display:flex;height:76px;justify-content:space-between;padding:0 34px}.brand-lockup{align-items:center;display:flex;gap:13px}.brand-mark{display:flex;gap:3px;height:25px;transform:skewY(-17deg);width:27px}.brand-mark span{background:var(--accent);border-radius:2px;display:block;flex:1}.brand-mark span:nth-child(2){background:#f5c38f;margin-top:5px}.brand-mark span:nth-child(3){background:#8bb7f4;margin-top:10px}.editor-name-lockup{align-items:center;display:flex;gap:6px}.editor-name-input{background:transparent;border:0;border-bottom:1px solid transparent;color:var(--text);font-family:Manrope,system-ui,sans-serif;font-size:16px;font-weight:700;letter-spacing:-.02em;outline:0;padding:0 1px 2px;width:220px}.editor-name-input:focus{border-bottom-color:#f1a56eb3}.header-edit-name{color:var(--subtle);font-size:13px;padding:3px 4px}.header-edit-name:hover{color:var(--accent-light)}.eyebrow{color:var(--muted);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.12em;margin:0 0 6px;text-transform:uppercase}h1,h2,p{margin-top:0}h1{font-size:16px;font-weight:700;letter-spacing:-.02em;margin:0}h2{font-size:19px;letter-spacing:-.04em;line-height:1.1;margin:0}h3{font-size:15px;letter-spacing:-.03em;line-height:1.1;margin:0}.topbar-status{align-items:center;color:var(--muted);display:flex;font-family:DM Mono,monospace;font-size:10px;gap:8px;letter-spacing:.02em;text-transform:uppercase}.status-dot,.live-dot{background:var(--green);border-radius:50%;box-shadow:0 0 0 4px #78d4b014;display:inline-block;height:6px;width:6px}.status-divider{background:var(--line);height:13px;margin:0 4px;width:1px}.topbar-link{background:transparent;border:0;color:var(--muted);font-family:DM Mono,monospace;font-size:10px;margin-right:13px;padding:5px 0;transition:color .2s}.topbar-link:hover{color:var(--accent-light)}.dashboard-main{height:calc(100% - 76px);overflow-y:auto;padding:49px 42px 35px}.dashboard-hero{align-items:flex-start;display:flex;justify-content:space-between;margin:0 auto;max-width:1160px}.dashboard-lede{color:var(--muted);font-size:12px;line-height:1.65;margin:12px 0 0;max-width:480px}.dashboard-stat{align-items:center;background:#1822389e;border:1px solid var(--line);border-radius:99px;color:var(--muted);display:flex;font-family:DM Mono,monospace;font-size:9px;gap:9px;padding:8px 12px;text-transform:uppercase}.library-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:42px auto 0;max-width:1160px}.library-panel{background:#0d1424b8;border:1px solid var(--line);border-radius:9px;min-height:390px;padding:23px}.library-panel-heading{align-items:flex-start;display:flex;justify-content:space-between}.library-panel-heading .eyebrow{margin-bottom:7px}.library-description{color:var(--muted);font-size:11px;line-height:1.6;margin:17px 0 22px;max-width:330px}.compact-button{flex-shrink:0;margin:0;padding:10px 11px 10px 13px;width:auto}.library-list{display:grid;gap:9px}.library-item{align-items:center;background:#1822388c;border:1px solid var(--line);border-radius:6px;display:flex;gap:11px;min-height:72px;padding:10px 11px}.library-item-icon{align-items:center;border-radius:5px;display:flex;flex-shrink:0;font-size:17px;height:34px;justify-content:center;width:34px}.component-item-icon{background:#f1a56e1f;border:1px solid rgba(241,165,110,.18);color:var(--accent-light)}.canvas-item-icon{background:#94bdf41f;border:1px solid rgba(148,189,244,.18);color:var(--blue)}.library-item-content{display:flex;flex:1;flex-direction:column;min-width:0}.library-item-title{align-items:center;display:flex;gap:5px;min-width:0}.library-item-content strong{color:var(--text);flex:0 1 auto;font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-item-content span{color:var(--muted);font-family:DM Mono,monospace;font-size:9px;margin-top:4px}.library-item-content small{color:var(--subtle);font-family:DM Mono,monospace;font-size:8px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-name-button{background:transparent;border:0;color:var(--subtle);flex:0 0 auto;font-size:12px;line-height:1;padding:1px 2px;transition:color .2s,transform .2s}.edit-name-button:hover{color:var(--accent-light);transform:translateY(-1px)}.library-item-actions{align-items:center;display:flex;flex-shrink:0;gap:5px}.small-button{border:1px solid transparent;border-radius:4px;font-size:10px;padding:7px 9px;transition:background .2s,border-color .2s,color .2s,transform .2s}.small-button:hover{transform:translateY(-1px)}.open-button{background:#70b1e826;border-color:#70b1e852;color:#a9d4fa}.open-button:hover{background:#70b1e845;border-color:#89c9f9b3;color:#d8edff}.delete-button{background:#df696921;border-color:#df696952;color:#f2a4a4}.delete-button:hover{background:#df696940;border-color:#f5a0a0bf;color:#ffd0d0}.empty-library{align-items:center;border:1px dashed rgba(148,165,199,.2);border-radius:7px;color:var(--subtle);display:flex;flex-direction:column;min-height:175px;justify-content:center;text-align:center}.empty-library>span{color:var(--accent);font-size:24px}.empty-library p{color:var(--muted);font-size:11px;margin:9px 0 4px}.empty-library small{font-size:9px}.dashboard-footer{align-items:center;color:var(--subtle);display:flex;font-family:DM Mono,monospace;font-size:9px;gap:8px;margin:21px auto 0;max-width:1160px}.picker-list{display:grid;gap:8px;margin-top:21px}.picker-item{align-items:center;background:#1822388c;border:1px solid var(--line);border-radius:6px;display:flex;gap:9px;padding:9px;text-align:left;transition:border-color .2s,background .2s;width:100%}.picker-item:hover{background:var(--panel-raised);border-color:#f1a56e80}.picker-item .library-item-icon{height:27px;width:27px}.picker-item>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.picker-item strong{color:var(--text);font-size:10px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-item small{color:var(--muted);font-family:DM Mono,monospace;font-size:8px;margin-top:4px}.picker-item b{color:var(--accent);font-size:15px;font-weight:400}.assembly-empty{align-items:center;color:var(--subtle);display:flex;flex:1;flex-direction:column;justify-content:center;text-align:center}.assembly-empty>span{color:var(--blue);font-size:26px}.assembly-empty strong{color:var(--muted);font-size:12px;margin-top:10px}.assembly-empty p{font-size:10px;line-height:1.5;margin:6px 0 0}.placed-index{color:var(--accent);font-family:DM Mono,monospace;font-size:9px}.remove-placed{background:transparent;border:0;color:var(--subtle);font-size:16px;line-height:1;padding:0}.remove-placed:hover{color:#f5a0a0}.placed-component strong,.placed-component small{display:block}.placed-component strong{color:var(--text);font-size:10px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placed-component small{color:var(--muted);font-family:DM Mono,monospace;font-size:8px;margin-top:5px}.workspace{--editor-sidebar-width: 286px;--editor-inspector-width: 278px;display:grid;grid-template-columns:var(--editor-sidebar-width) minmax(420px,1fr) var(--editor-inspector-width);height:calc(100vh - 76px);min-height:0;overflow:hidden;position:relative}.workspace.inspector-collapsed{grid-template-columns:var(--editor-sidebar-width) minmax(420px,1fr)}.sidebar,.inspector{background:#0d1424b8}.sidebar{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:31px 25px 21px}.inspector{border-left:1px solid var(--line);min-height:0;overflow-y:auto;padding:31px 21px}.inspector-collapsed .inspector{display:none}.sidebar-heading,.inspector-heading,.viewer-toolbar{align-items:flex-start;display:flex;justify-content:space-between}.step-pill{align-items:center;background:var(--panel-raised);border:1px solid var(--line);border-radius:6px;color:var(--accent-light);display:flex;font-family:DM Mono,monospace;font-size:10px;height:27px;justify-content:center;width:31px}.editor-step-tabs{background:#1822387a;border:1px solid var(--line);border-radius:7px;display:grid;gap:3px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:25px;padding:3px}.editor-step-tab{background:transparent;border:1px solid transparent;border-radius:5px;color:var(--subtle);display:grid;grid-template-columns:auto 1fr;padding:9px 8px 8px;text-align:left;transition:background .2s,border-color .2s,color .2s}.editor-step-tab>span{color:var(--subtle);font-family:DM Mono,monospace;font-size:8px;grid-row:span 2;margin-right:7px;padding-top:1px}.editor-step-tab strong{font-size:10px;font-weight:600;line-height:1.15}.editor-step-tab small{font-size:8px;line-height:1.35;margin-top:3px}.editor-step-tab:hover{background:#94bdf412;color:var(--text)}.editor-step-tab.active{background:#f1a56e1a;border-color:#f1a56e52;color:var(--accent-light)}.editor-step-tab.active>span{color:var(--accent)}.dimension-form{margin-top:39px}.form-intro{color:var(--muted);font-size:12px;line-height:1.7;margin-bottom:25px;max-width:225px}.dimensions-grid{display:grid;gap:15px;grid-template-columns:1fr}.carcass-target.is-selected{outline:1px solid rgba(241,165,110,.9);outline-offset:5px}.checkbox-field.carcass-target.is-selected{background:#f1a56e1a}.field{color:var(--muted);display:block;font-size:11px;margin-bottom:15px}.field>span{align-items:center;display:flex;gap:7px;margin-bottom:7px}.field b{color:var(--subtle);font-family:DM Mono,monospace;font-size:10px;font-weight:400}.input-wrap{align-items:center;background:#182238b8;border:1px solid transparent;border-radius:6px;display:flex;transition:border-color .2s,background .2s}.input-wrap:focus-within{background:var(--panel-raised);border-color:#f1a56eb3}input{background:transparent;border:0;color:var(--text);font-family:DM Mono,monospace;font-size:13px;outline:0;padding:12px 11px;width:100%}input::-webkit-inner-spin-button{appearance:none}.input-wrap>span{color:var(--subtle);font-family:DM Mono,monospace;font-size:10px;padding-right:12px}.construction-heading{align-items:center;color:var(--subtle);display:flex;font-family:DM Mono,monospace;font-size:9px;gap:9px;letter-spacing:.08em;margin:26px 0 17px;text-transform:uppercase}.construction-heading i{background:var(--line);flex:1;height:1px}.select-field{margin-bottom:13px}.select-wrap{background:#182238b8;border:1px solid transparent;border-radius:6px;position:relative;transition:border-color .2s,background .2s}.select-wrap:focus-within{background:var(--panel-raised);border-color:#f1a56eb3}.select-wrap:after{color:var(--subtle);content:"⌄";font-size:14px;pointer-events:none;position:absolute;right:11px;top:9px}select{appearance:none;background:transparent;border:0;color:var(--text);cursor:pointer;font-size:11px;outline:0;padding:12px 32px 12px 11px;width:100%}select option{background:var(--panel-raised);color:var(--text)}.checkbox-field{align-items:flex-start;background:#18223866;border:1px solid var(--line);border-radius:6px;cursor:pointer;display:flex;gap:10px;margin:8px 0 0;padding:11px}.checkbox-field input{accent-color:var(--accent);cursor:pointer;height:15px;margin:1px 0 0;padding:0;width:15px}.checkbox-field strong,.checkbox-field small{display:block}.checkbox-field strong{color:var(--text);font-size:11px;font-weight:600}.checkbox-field small{color:var(--subtle);font-size:9px;line-height:1.5;margin-top:3px}.construction-help{color:var(--subtle);font-size:9px;line-height:1.55;margin:-2px 1px 0}.form-error{color:#f5a0a0;font-size:10px;line-height:1.45;min-height:15px;margin:10px 0 0}.live-apply-note{align-items:center;color:var(--muted);display:flex;font-family:DM Mono,monospace;font-size:9px;gap:8px;margin-top:16px;text-transform:uppercase}.live-apply-dot{background:var(--green);border-radius:50%;box-shadow:0 0 0 4px #78d4b014;display:inline-block;height:5px;width:5px}.primary-button{align-items:center;background:var(--accent);border:0;border-radius:6px;color:#291a12;display:flex;font-size:11px;font-weight:800;justify-content:space-between;margin-top:16px;padding:13px 13px 13px 15px;transition:background .2s,transform .2s;width:100%}.primary-button.compact-button{width:auto}.primary-button:hover{background:var(--accent-light);transform:translateY(-1px)}.button-arrow{font-size:15px;line-height:10px}.sidebar-divider{background:var(--line);height:1px;margin:31px 0 23px}.next-step{align-items:flex-start;color:var(--muted);display:flex;gap:11px}.next-step-icon{align-items:center;background:#94bdf41c;border:1px solid rgba(148,189,244,.16);border-radius:5px;color:var(--blue);display:flex;flex-shrink:0;font-size:12px;height:25px;justify-content:center;width:25px}.next-step .eyebrow{color:var(--blue);margin-bottom:5px}.next-step p:last-child{font-size:11px;line-height:1.65;margin:0}.next-step .primary-button{margin-top:14px}.step-two-panel{margin-top:29px}.step-back-button{margin-bottom:20px;width:100%}.step-panel-intro{color:var(--muted);font-size:11px;line-height:1.65;margin-bottom:26px}.step-two-section{border-top:1px solid var(--line);padding-top:19px}.step-two-section+.step-two-section{margin-top:25px}.step-two-section-heading{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:15px}.step-two-section-heading .eyebrow{margin-bottom:7px}.step-two-section-heading{gap:10px}.step-two-section-heading .add-internal-button{flex:none;white-space:nowrap}.add-internal-button{background:#78d4b01a;border-color:#78d4b047;color:var(--green)}.add-internal-button:hover{background:#78d4b033;border-color:#78d4b0a6;color:#b6f0d9}.internal-item-list{display:grid;gap:10px}.internal-item{background:#1822388f;border:1px solid var(--line);border-radius:6px;padding:12px}.internal-item.is-selected{border-color:#f1a56ee6;box-shadow:0 0 0 1px #f1a56e38,0 0 20px #f1a56e1f}.internal-item.is-selected .placed-index{color:var(--accent-light)}.internal-item-static .internal-item-heading{margin-bottom:0}.internal-item-description{color:var(--subtle);font-size:10px;line-height:1.55;margin:10px 0 0}.internal-full-height-toggle{margin:0 0 14px}.internal-item-heading{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.internal-item-heading>div{display:flex;flex-direction:column;gap:5px}.internal-item-heading strong{color:var(--text);font-size:11px;font-weight:600}.internal-item-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.internal-item-grid .field{margin-bottom:0}.internal-item-grid .field>span{font-size:10px}.internal-item-grid .input-wrap input{font-size:11px;padding-left:8px;padding-right:2px}.internal-item-grid .input-wrap>span{padding-right:7px}.internal-item-grid select{font-size:10px;padding-left:8px;padding-right:23px}.internal-item-grid .select-wrap:after{right:7px}.front-edge-fields{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.front-edge-fields .card-label{margin-bottom:8px}.front-edge-fields .construction-help{margin-top:8px}.front-edge-fields select:disabled{cursor:not-allowed;opacity:.45}.blind-end-fields{display:grid;gap:10px;grid-template-columns:1fr;margin-top:10px}.blind-end-card{background:#18223859;border:1px solid var(--line);border-radius:6px;min-width:0;padding:10px}.blind-end-card>strong{color:var(--muted);display:block;font-family:DM Mono,monospace;font-size:9px;font-weight:500;letter-spacing:.06em;margin-bottom:9px;text-transform:uppercase}.blind-end-card .field{margin-bottom:9px}.blind-end-card .field>span{font-size:10px}.blind-end-card .input-wrap input,.blind-end-card select{font-size:11px}.blind-gap-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.blind-gap-grid .field{margin:0}.blind-end-card .cell-field-help{line-height:1.4}.panel-resizer{bottom:0;cursor:col-resize;position:absolute;top:0;touch-action:none;width:12px;z-index:12}.panel-resizer:after{background:#94bdf400;border-radius:99px;content:"";height:42px;left:5px;position:absolute;top:calc(50% - 21px);transition:background .18s;width:2px}.panel-resizer:hover:after,.panel-resizer:focus-visible:after{background:var(--blue)}.workspace .panel-resizer-left{left:calc(var(--editor-sidebar-width) - 6px)}.workspace .panel-resizer-right{right:calc(var(--editor-inspector-width) - 6px)}.workspace.inspector-collapsed .panel-resizer-right,.canvas-workspace.inspector-collapsed .panel-resizer-right{display:none}body.is-resizing-panels,body.is-resizing-panels *{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.door-options{margin-top:12px}.internal-empty{align-items:center;border:1px dashed rgba(148,165,199,.2);border-radius:6px;color:var(--subtle);display:flex;flex-direction:column;padding:25px 12px;text-align:center}.internal-empty>span{color:var(--blue);font-size:22px}.internal-empty strong{color:var(--muted);font-size:11px;margin-top:7px}.internal-empty p{font-size:10px;line-height:1.5;margin:5px 0 0}.sidebar-footer{align-items:center;color:var(--subtle);display:flex;font-family:DM Mono,monospace;font-size:10px;gap:8px;margin-top:auto}.keyboard-key{align-items:center;border:1px solid var(--line);border-radius:4px;color:var(--muted);display:flex;height:21px;justify-content:center;width:21px}.viewer-panel{background:#0e1627;min-height:0;min-width:0;overflow:hidden;position:relative}.toolbar-actions{align-items:center;display:flex;gap:9px}.ghost-button,.icon-button{background:transparent;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:10px;padding:9px 11px;transition:border-color .2s,color .2s}.ghost-button:hover,.icon-button:hover{border-color:#f1a56e99;color:var(--accent-light)}.ghost-button span{border:1px solid var(--line);border-radius:3px;color:var(--subtle);font-family:DM Mono,monospace;font-size:9px;margin-left:8px;padding:2px 4px}.icon-button{font-size:16px;height:31px;line-height:10px;padding:6px 9px;width:32px}.scene-container{inset:91px 0 0;min-height:0;overflow:hidden;position:absolute}.scene-container canvas{display:block;height:100%;width:100%}.scene-corner{height:16px;opacity:.5;position:absolute;width:16px;z-index:2}.scene-corner-br{border-bottom:1px solid var(--blue);border-right:1px solid var(--blue);bottom:19px;right:27px}.mouse-icon{color:var(--accent);font-size:16px;margin-right:4px;vertical-align:-2px}.view-badge{align-items:center;background:#0b111fa6;border:1px solid var(--line);border-radius:99px;color:var(--muted);display:flex;font-family:DM Mono,monospace;font-size:9px;gap:7px;padding:7px 10px;position:absolute;right:29px;top:19px;z-index:2}.badge-bar{background:var(--accent);border-radius:1px;height:11px;width:3px}.axis-indicator i{background:var(--muted);bottom:8px;height:28px;left:24px;opacity:.6;position:absolute;transform:rotate(-38deg);transform-origin:bottom;width:1px}.axis-y{color:#dc8d82;right:17px;top:0}.axis-z{color:#86ace4;bottom:3px;right:1px}.inspector-collapsed .inspector-heading{justify-content:center;margin-bottom:0}.inspector-collapsed .inspector>*:not(.inspector-heading){display:none}.inspector-toggle{align-items:center;background:transparent;border:1px solid var(--line);border-radius:5px;color:var(--muted);display:flex;height:31px;justify-content:center;padding:6px 9px;transition:border-color .2s,color .2s;width:32px}.inspector-toggle:hover{border-color:#f1a56e99;color:var(--accent-light)}.inspector-icon{font-size:18px;line-height:1}.inspector-card{background:#182238a3;border:1px solid var(--line);border-radius:7px;margin-bottom:11px;padding:15px}.primary-card{background:linear-gradient(135deg,#28354fcc,#182238ad);border-color:#94bdf429}.card-label{color:var(--subtle);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.06em;margin-bottom:12px;text-transform:uppercase}.dimension-summary{color:var(--text);font-family:DM Mono,monospace;font-size:15px;letter-spacing:-.07em;white-space:nowrap}.dimension-summary small{color:var(--muted);font-size:9px;letter-spacing:0}.summary-foot{border-top:1px solid var(--line);color:var(--muted);display:flex;font-size:10px;justify-content:space-between;margin-top:16px;padding-top:12px}.summary-foot strong{color:var(--accent-light);font-family:DM Mono,monospace;font-size:10px;font-weight:400}.construction-card .card-label{margin-bottom:4px}.inspector-row{align-items:baseline;border-bottom:1px solid rgba(148,165,199,.09);display:flex;font-size:10px;justify-content:space-between;padding:10px 0}.inspector-row:last-child{border-bottom:0;padding-bottom:2px}.inspector-row span{color:var(--muted)}.inspector-row strong{color:var(--text);font-size:10px;font-weight:500;margin-left:12px;text-align:right}.range-field{color:var(--muted);display:block;margin-top:17px}.range-field>span{align-items:center;display:flex;justify-content:space-between}.range-field output{color:var(--accent-light);font-family:DM Mono,monospace;font-size:10px}.range-field small{color:var(--subtle);display:block;font-size:9px}.orientation-row,.material-swatch{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:9px}.orientation-icon{color:var(--blue);font-size:17px}.chevron{color:var(--subtle);font-size:14px;margin-left:auto}.material-card{padding-bottom:13px}.material-swatch>span:first-child{border:1px solid rgba(255,255,255,.14);border-radius:4px;height:31px;width:31px}.material-swatch strong,.material-swatch small{display:block}.material-swatch strong{color:var(--text);font-size:11px;font-weight:600;margin-bottom:3px}.material-swatch small{color:var(--subtle);font-size:9px}.inspector-note{align-items:flex-start;color:var(--subtle);display:flex;font-size:10px;gap:8px;line-height:1.6;margin:24px 5px 0}.inspector-note span{align-items:center;border:1px solid var(--subtle);border-radius:50%;display:flex;flex-shrink:0;font-family:DM Mono,monospace;font-size:9px;height:15px;justify-content:center;margin-top:1px;width:15px}.inspector-note p{margin:0}@media(max-width:1050px){.workspace,.workspace.inspector-collapsed{display:block;height:calc(100vh - 76px);overflow-y:auto}.sidebar{border-bottom:1px solid var(--line);border-right:0}.inspector{border-left:0;border-top:1px solid var(--line);overflow:visible}.workspace.inspector-collapsed .inspector{display:block}.viewer-panel{height:440px}.workspace .panel-resizer,.viewer-panel .inspector-toggle,.canvas-scene-panel .inspector-toggle{display:none}.canvas-overlay-tl{max-width:calc(100% - 120px)}.dashboard-main{padding-left:24px;padding-right:24px}}@media(max-width:720px){.topbar{height:65px;padding:0 18px}.topbar-status{display:none}.dashboard-main{height:calc(100% - 65px);padding:30px 18px 24px}.dashboard-hero{display:block}.dashboard-stat{display:inline-flex;margin-top:19px}.library-grid{grid-template-columns:1fr;margin-top:28px}.library-panel{min-height:0;padding:18px}.workspace,.workspace.inspector-collapsed{height:calc(100vh - 65px)}.sidebar{border-bottom:1px solid var(--line);border-right:0;padding:23px 20px 19px}.dimension-form{margin-top:24px}.form-intro{margin-bottom:16px;max-width:none}.dimensions-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.field{margin-bottom:10px}.input-wrap input{min-width:0;padding-left:8px;padding-right:2px}.input-wrap>span{padding-right:6px}.construction-heading{margin-top:19px}.primary-button{margin-top:8px}.sidebar-divider,.next-step,.sidebar-footer{display:none}.viewer-panel{height:360px}}@media(max-width:430px){.field{width:calc(33.33% - 9px)}.field>span{font-size:10px}.input-wrap input{font-size:11px}.input-wrap>span{font-size:9px}.ghost-button{display:none}.scene-hint{left:18px}}.internal-item.is-unfit{border-color:#f5a0a073}.internal-item-warning{color:#f5a0a0;font-size:10px;line-height:1.5;margin:10px 0 0}.internal-item-conflict{color:#f1c27d;font-size:10px;line-height:1.5;margin:10px 0 0}.internal-item [hidden]{display:none}.undo-controls button:disabled{cursor:default;opacity:.35}.undo-controls button:disabled:hover{background:transparent;color:inherit}.drawer-open-row{align-items:center;display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.drawer-open-row>span{color:var(--subtle);font-size:9px;letter-spacing:.06em;margin-right:3px;text-transform:uppercase}.drawer-open-row small{color:var(--subtle);font-size:8px;margin-left:4px}.drawer-open-toggle{background:#05091259;border:1px solid var(--line);border-radius:5px;color:var(--muted);cursor:pointer;font-family:DM Mono,monospace;font-size:10px;height:26px;min-width:26px;padding:0 6px;transition:background .15s,border-color .15s,color .15s}.drawer-open-toggle:hover{border-color:#f1a56e8c;color:var(--text)}.drawer-open-toggle.is-open{background:#f1a56e33;border-color:#f1a56ecc;color:var(--accent-light)}.cut-list-card{display:grid;gap:10px}.cut-list-table{width:100%;border-collapse:collapse;font-size:10px}.cut-list-table th{text-align:left;color:var(--subtle);font-weight:500;padding:0 0 5px;border-bottom:1px solid rgba(255,255,255,.07)}.cut-list-table td{padding:5px 0;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:top}.cut-list-table td:first-child,.cut-list-table td:nth-child(2){width:22px;color:var(--subtle)}.cut-list-table th:first-child,.cut-list-table th:nth-child(2),.cut-list-table td:first-child,.cut-list-table td:nth-child(2){padding-right:6px}.cut-list-table td.cut-no{color:var(--accent-light);font-family:DM Mono,monospace;font-weight:500}.cut-list-table td:last-child{text-align:right;white-space:nowrap}.cut-list-table small{display:block;color:var(--subtle);font-size:9px}.cut-list-actions{display:flex;flex-wrap:wrap;gap:6px}.cut-list-actions .small-button{flex:1 1 auto}.cut-list-tsv{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;line-height:1.5;color:var(--text);background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:6px;resize:vertical}.dashboard-footer-actions{display:inline-flex;gap:6px;margin-left:auto}.import-dialog{max-width:420px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#141a2b;color:var(--text);padding:20px}.import-dialog::backdrop{background:#060a14b3}.import-dialog h3{margin:0 0 10px;font-size:14px}.import-dialog p{margin:0 0 10px;font-size:11px;line-height:1.55;color:var(--subtle)}.import-warning:empty{display:none}.import-warning{color:#f5a0a0}.import-dialog-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:16px}.print3d-dialog{max-width:670px;width:min(670px,calc(100vw - 32px))}.print3d-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.print3d-heading h3{font-size:17px;margin:4px 0 0}.dialog-close{background:transparent;border:1px solid transparent;border-radius:5px;color:var(--subtle);font-size:20px;line-height:1;padding:1px 6px 4px}.dialog-close:hover{border-color:var(--line);color:var(--text)}.print3d-dialog fieldset{border:1px solid var(--line);border-radius:7px;margin:0;min-width:0;padding:11px}.print3d-dialog legend{color:var(--subtle);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.06em;padding:0 4px;text-transform:uppercase}.print3d-modes{display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr));margin:15px 0 12px!important}.print3d-modes.is-canvas{grid-template-columns:repeat(2,minmax(0,1fr))}.print3d-mode{background:#18223873;border:1px solid transparent;border-radius:5px;cursor:pointer;min-width:0;padding:9px}.print3d-mode:has(input:checked){background:#f1a56e1a;border-color:#f1a56e80}.print3d-mode input{accent-color:var(--accent);height:13px;margin:0 5px 0 0;padding:0;vertical-align:-1px;width:13px}.print3d-mode strong{color:var(--text);font-size:10px;font-weight:700}.print3d-mode small{color:var(--subtle);display:block;font-size:8px;line-height:1.35;margin-top:5px}.print3d-options{display:grid;gap:10px}.print3d-field{margin:0}.print3d-printer-grid{display:grid;gap:9px;grid-template-columns:repeat(4,minmax(0,1fr))}.print3d-printer .field,.print3d-printer .input-wrap input{min-width:0}.print3d-room-options{display:grid;gap:9px;margin-top:10px!important}.print3d-room-options .field{max-width:145px}.print3d-front-options{display:grid;gap:9px}.print3d-front-options .print3d-check{min-width:0}.print3d-check{align-items:center;color:var(--muted);cursor:pointer;display:flex;font-size:10px;gap:8px}.print3d-check input{accent-color:var(--accent);height:14px;margin:0;padding:0;width:14px}.print3d-summary{background:#94bdf412;border:1px solid rgba(148,189,244,.17);border-radius:6px;display:flex;flex-wrap:wrap;font-family:DM Mono,monospace;font-size:9px;gap:15px;margin-top:12px;padding:9px 10px;text-transform:uppercase}.print3d-summary span{color:var(--subtle)}.print3d-summary strong{color:var(--blue);font-weight:500}.print3d-note{margin-top:12px!important}.print3d-dialog .import-dialog-actions{align-items:center}.print3d-dialog .import-dialog-actions .primary-button{margin:0}@media(max-width:580px){.print3d-printer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.print3d-modes{grid-template-columns:1fr}}.danger-button{border-color:#f5a0a059;color:#f5a0a0}.storage-warning{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:10px 18px;font-size:11px;line-height:1.5;color:#ffd9d9;background:#be464638;border-bottom:1px solid rgba(245,160,160,.4)}.storage-warning strong{color:#ffb4b4}.save-failed{color:#f5a0a0}.canvas-room-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(130px,1fr));margin-top:18px;max-width:680px}.canvas-obstacle-list{display:grid;gap:10px;margin-top:18px}.canvas-obstacle-card{background:#1822388c;border:1px solid var(--line);border-radius:7px;padding:13px}.canvas-obstacle-heading{align-items:center;display:flex;justify-content:space-between}.canvas-obstacle-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(110px,1fr));margin-top:12px}.canvas-obstacle-grid .field{margin:0}.canvas-empty-note{color:var(--subtle);font-size:10px;line-height:1.5;padding:8px 0 0}.canvas-3d-view{background:#0d1525;border:1px solid rgba(148,189,244,.25);border-radius:7px;height:430px;margin:19px 0 24px;overflow:hidden;position:relative;width:100%}.canvas-3d-view canvas{display:block;height:100%;width:100%}.canvas-3d-view:fullscreen{border:0;border-radius:0;height:100vh;margin:0;width:100vw}.canvas-fullscreen-button{background:#090f1cd1;border:1px solid rgba(148,189,244,.38);border-radius:5px;color:var(--text);cursor:pointer;font-size:10px;padding:8px 10px;position:absolute;right:12px;top:12px;z-index:3}.canvas-transform-toolbar{align-items:center;background:#1822388c;border:1px solid rgba(148,189,244,.24);border-radius:7px;display:flex;gap:16px;justify-content:space-between;margin-top:16px;padding:12px 13px}.canvas-transform-toolbar strong{color:var(--text);font-size:10px;font-weight:600;margin-top:4px}.canvas-transform-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px;justify-content:flex-end}.canvas-transform-actions .small-button.is-active,.canvas-select-button.is-active{border-color:#f1a56ecc;color:var(--accent-light)}.canvas-warning-key{border-radius:50%;display:inline-block;height:7px;margin-left:5px;width:7px}.canvas-warning-key-outside{background:#f77}.canvas-warning-key-collision{background:#ffc266}.canvas-door-slider span{font-family:DM Mono,monospace;text-transform:uppercase}.canvas-door-slider input{accent-color:var(--accent);cursor:pointer;width:112px}.placed-component.has-canvas-warning{border-color:#f5a0a08c}.placed-component-position{display:grid;gap:7px;grid-template-columns:1fr 1fr;margin-top:12px}.placed-component-position label{align-items:center;color:var(--subtle);display:flex;font-size:8px;gap:4px}.placed-component-position input{background:#05091259;border:1px solid var(--line);border-radius:4px;color:var(--text);font-family:DM Mono,monospace;font-size:9px;min-width:0;padding:5px 4px;width:100%}.placed-component-position em{color:var(--subtle);font-size:8px;font-style:normal}.canvas-side-fillers{border-top:1px solid var(--line);display:grid;gap:7px;margin-top:12px;padding-top:12px}.canvas-side-fillers>strong{color:var(--text);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.canvas-side-fillers>small{color:var(--subtle);font-size:9px;line-height:1.4}.canvas-filler-control{display:grid;gap:6px}.canvas-filler-dimensions{margin-top:0}.placed-component-actions{display:flex;gap:6px;margin-top:10px}.placed-component-actions .small-button{flex:1;font-size:8px;padding:6px 5px}.canvas-warning,.canvas-ok{font-size:9px;line-height:1.4;margin:9px 0 0}.canvas-warning{color:#f5a0a0}.canvas-ok{color:#9dd7b0}.cutout-summary{border-top:1px solid rgba(148,165,199,.12);display:grid;gap:4px;margin-top:10px;padding-top:8px}.cutout-summary strong{color:var(--accent-light);font-size:9px}.cutout-summary small{color:var(--subtle);font-family:DM Mono,monospace;font-size:8px;line-height:1.4}.canvas-select-button{font-size:8px;padding:5px 6px}@media(max-width:720px){.canvas-room-grid,.canvas-obstacle-grid{grid-template-columns:1fr 1fr}.canvas-transform-toolbar{align-items:flex-start;flex-direction:column}.canvas-door-slider{align-items:flex-start}}.canvas-workspace{--canvas-sidebar-width: 300px;--canvas-inspector-width: 300px;display:grid;grid-template-columns:var(--canvas-sidebar-width) minmax(420px,1fr) var(--canvas-inspector-width);height:calc(100vh - 76px);min-height:0;overflow:hidden;position:relative}.canvas-workspace.inspector-collapsed{grid-template-columns:var(--canvas-sidebar-width) minmax(420px,1fr)}.canvas-workspace .panel-resizer-left{left:calc(var(--canvas-sidebar-width) - 6px)}.canvas-workspace .panel-resizer-right{right:calc(var(--canvas-inspector-width) - 6px)}.canvas-sidebar,.canvas-inspector{background:#0d1424b8;min-height:0;overflow-y:auto;padding:24px 18px 30px}.canvas-sidebar{border-right:1px solid var(--line)}.canvas-inspector{border-left:1px solid var(--line)}.canvas-workspace.inspector-collapsed .canvas-inspector{display:none}.canvas-sidebar .sidebar-heading h2{font-size:15px}.canvas-sidebar-actions{display:flex;gap:7px;margin:16px 0 4px}.canvas-sidebar-actions .ghost-button,.canvas-sidebar-actions .primary-button{flex:1;font-size:9px;justify-content:center;padding:8px 9px}.canvas-scene-panel{display:flex;flex-direction:column;min-height:0;min-width:0;padding:22px 20px 24px}.scene-toolbar h2{font-size:15px;margin:3px 0 0}.canvas-scene-panel .canvas-3d-view{flex:1;height:auto;margin:0;min-height:0}.canvas-panel{border-top:1px solid var(--line);padding:15px 0}.canvas-panel-head{align-items:center;display:flex;gap:8px}.canvas-panel-title h3{font-size:12px;margin:3px 0 0}.canvas-chevron{background:transparent;border:0;color:var(--subtle);cursor:pointer;flex-shrink:0;font-size:10px;line-height:1;padding:4px;transition:transform .18s ease,color .18s}.canvas-chevron:hover{color:var(--accent)}.canvas-panel.is-collapsed>.canvas-panel-head .canvas-chevron,.placed-component.is-collapsed .canvas-chevron{transform:rotate(-90deg)}.canvas-panel-body{margin-top:13px}.canvas-panel.is-collapsed>.canvas-panel-body,.placed-component.is-collapsed>.placed-component-body{display:none}.canvas-panel-body .picker-list{margin-top:0}.canvas-inspector .canvas-room-grid{grid-template-columns:1fr;margin-top:0}.canvas-inspector .canvas-obstacle-grid{grid-template-columns:1fr 1fr}.canvas-inspector .canvas-obstacle-list,.canvas-inspector .construction-help{margin-top:12px}.placed-components{display:grid;gap:8px;margin-top:16px}.placed-component{background:#1822388c;border:1px solid var(--line);border-radius:7px;padding:10px;transition:border-color .18s,background .18s,box-shadow .18s}.placed-component.is-selected{background:var(--panel-raised);border-color:#f1a56ecc;box-shadow:inset 2px 0 0 var(--accent)}.placed-component-top{align-items:center;display:flex;gap:6px}.placed-component-select{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;flex:1;gap:8px;min-width:0;padding:0;text-align:left}.placed-component-name{display:flex;flex-direction:column;min-width:0}.placed-component-body{margin-top:11px}.placed-components .assembly-empty{padding:26px 10px}@media(max-width:1100px){.canvas-workspace,.canvas-workspace.inspector-collapsed{display:block;height:calc(100vh - 76px);overflow-y:auto}.canvas-sidebar,.canvas-inspector{border:0;border-top:1px solid var(--line);overflow:visible}.canvas-workspace.inspector-collapsed .canvas-inspector{display:block}.canvas-scene-panel{height:440px}.scene-toolbar .inspector-toggle,.canvas-workspace .panel-resizer{display:none}}.canvas-scene-panel{padding:0}.canvas-scene-panel .canvas-3d-view{border:0;border-radius:0}.canvas-overlay{position:absolute;z-index:3}.canvas-overlay-tl{left:12px;max-width:min(340px,calc(100% - 190px));top:12px}.canvas-overlay-tr{align-items:center;display:flex;gap:6px;right:12px;top:12px}.canvas-overlay-bl{bottom:12px;left:12px}.canvas-overlay-tl,.canvas-viewcontrols,.canvas-segmented,.canvas-overlay-icon{background:#090f1cd6;border:1px solid rgba(148,189,244,.3);border-radius:7px}.canvas-overlay-tl{padding:8px 10px}.canvas-overlay-tl strong{color:var(--text);display:block;font-size:10px;font-weight:600}.canvas-legend-row{align-items:center;color:var(--subtle);display:flex;flex-wrap:wrap;font-size:9px;gap:5px;margin-top:6px}.canvas-legend-row i{border-radius:50%;display:inline-block;height:7px;width:7px}.canvas-segmented{display:flex;overflow:hidden;padding:0}.canvas-segmented button{background:transparent;border:0;color:var(--subtle);cursor:pointer;font-size:13px;line-height:1;padding:8px 12px;transition:background .15s,color .15s}.canvas-segmented button:hover{color:var(--text)}.canvas-segmented button.is-active{background:#f1a56e38;color:var(--accent-light)}.canvas-overlay-icon{align-items:center;color:var(--text);cursor:pointer;display:inline-flex;font-size:13px;height:32px;justify-content:center;padding:0;width:32px}.canvas-overlay-icon:hover{border-color:#94bdf4bf}.inspector-collapsed .canvas-overlay-icon .inspector-icon{transform:rotate(180deg)}.canvas-viewcontrols{padding:7px}.canvas-viewcontrols-body{display:grid;gap:11px;margin-top:9px;min-width:196px;padding:0 3px 3px}.canvas-viewcontrols.is-collapsed{background:transparent;border-color:transparent;padding:0}.canvas-viewcontrols.is-collapsed .canvas-viewcontrols-body{display:none}.canvas-slider{color:var(--subtle);display:grid;font-size:9px;gap:5px}.canvas-slider>span{align-items:baseline;display:flex;font-family:DM Mono,monospace;gap:5px;justify-content:space-between;text-transform:uppercase}.canvas-slider output{color:var(--text)}.canvas-slider input{accent-color:var(--accent);cursor:pointer;width:100%}.canvas-slider input:disabled{cursor:not-allowed;opacity:.4}.hardware-toggle{align-items:center;color:var(--subtle);display:flex;font-family:DM Mono,monospace;font-size:9px;gap:7px;justify-content:space-between;text-transform:uppercase}.hardware-toggle input{accent-color:var(--accent);cursor:pointer;margin:0}.hardware-toggle span{flex:1}.fronts-slider-heading{align-items:baseline}.fronts-expand-button{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:5px;padding:0;text-transform:uppercase}.fronts-expand-button:hover{color:var(--text)}.fronts-control-chevron{display:inline-flex;font-size:15px;line-height:8px;transition:transform .15s ease}.fronts-expand-button.is-expanded .fronts-control-chevron{transform:rotate(90deg)}.fronts-control-details{display:grid;gap:11px;margin-top:9px;padding-left:12px}.fronts-control-details.hidden{display:none}.canvas-tabs{display:flex;gap:4px;margin-bottom:14px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:5px;scrollbar-color:rgba(148,189,244,.28) transparent;scrollbar-width:thin}.canvas-tabs::-webkit-scrollbar{height:4px}.canvas-tabs::-webkit-scrollbar-thumb{background:#94bdf447;border-radius:2px}.canvas-tab{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--subtle);cursor:pointer;display:flex;flex:1 0 auto;font-size:9px;gap:5px;justify-content:center;letter-spacing:.04em;padding:9px 10px;text-transform:uppercase;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.canvas-tab:hover{color:var(--text)}.canvas-tab.is-active{background:var(--panel-raised);border-color:#f1a56e80;color:var(--accent-light)}.canvas-tab-count{background:#94bdf429;border-radius:9px;font-family:DM Mono,monospace;font-size:8px;padding:1px 5px}.canvas-tab.is-active .canvas-tab-count{background:#f1a56e3d}.canvas-tab-panel.hidden{display:none}.canvas-add-button{justify-content:center;margin:16px 0 6px;width:100%}.canvas-chevron{align-items:center;border-radius:5px;display:inline-flex;font-size:15px;height:28px;justify-content:center;padding:0;width:28px}.canvas-chevron:hover{background:#94bdf424;color:var(--accent)}.canvas-obstacle-card{transition:border-color .18s,background .18s,box-shadow .18s}.canvas-obstacle-card.is-selected{background:var(--panel-raised);border-color:#f1a56ecc;box-shadow:inset 2px 0 0 var(--accent)}@media(max-width:1100px){.canvas-scene-panel{height:460px}.canvas-overlay-tl{max-width:calc(100% - 170px)}}.viewer-panel{padding:0;position:relative}.viewer-panel .scene-container{border:0;border-radius:0;height:auto;inset:0;margin:0;position:absolute}.viewer-panel .canvas-overlay-tl strong{font-size:11px}.canvas-viewcontrols .hud-input{margin:0}.canvas-viewcontrols .hud-input input{background:#05091273;font-size:10px;padding:5px 6px}.inspector .canvas-tabs{margin-bottom:18px}.cut-list-table tbody tr{transition:background .18s,box-shadow .18s}.cut-list-table tbody tr.is-selected{background:#f1a56e24;box-shadow:inset 2px 0 0 var(--accent)}.cut-list-table tbody tr.is-selected td{color:var(--text)}.canvas-cutlist .cut-list-actions{margin-top:14px}.canvas-cutlist .cut-list-tsv{margin-top:10px}.cut-list-notch{color:#f5a0a0;display:block;font-size:9px}.canvas-cutlist-notes{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.canvas-cutlist-notes strong{color:var(--text);display:block;font-size:10px;font-weight:600;margin-bottom:6px}.canvas-cutlist-notes li{color:var(--subtle);font-size:9px;line-height:1.5;margin-left:14px}.canvas-overlay-icon.is-active{background:#5fb3d938;border-color:#5fb3d9d9;color:#bfe6f7}.canvas-overlay-br{bottom:12px;right:12px}.canvas-preview-panel{background:#090f1ce0;border:1px solid rgba(95,179,217,.45);border-radius:8px;display:grid;gap:10px;max-height:calc(100% - 80px);overflow-y:auto;padding:10px;width:244px}.canvas-preview-panel.hidden{display:none}.preview-panel-head strong{color:var(--text);display:block;font-size:11px;font-weight:600}.preview-panel-head small{color:#8fc9e2;font-size:9px}.preview-add{display:grid;gap:5px;grid-template-columns:1fr 1fr}.preview-add .small-button,.preview-editor .small-button,.preview-clear{font-size:9px;margin:0;padding:6px}.preview-snap{align-items:flex-start;color:var(--text);cursor:pointer;display:flex;font-size:9px;gap:7px;line-height:1.35}.preview-snap input{accent-color:#5fb3d9;flex:none;height:12px;margin:1px 0 0;padding:0;width:12px}.preview-snap small{color:#8fc9e2;display:block;font-size:8px}.preview-list{display:grid;gap:4px}.preview-item{align-items:center;background:#1822388c;border:1px solid var(--line);border-radius:5px;color:var(--muted);cursor:pointer;display:flex;font-size:9px;gap:6px;padding:6px;text-align:left}.preview-item.is-selected{border-color:#5fb3d9d9;color:var(--text)}.preview-editor{display:grid;gap:8px}.preview-editor .canvas-segmented{justify-self:start}.preview-dims{display:grid;gap:5px;grid-template-columns:repeat(3,1fr)}.preview-dims label{color:var(--subtle);display:grid;font-size:8px;gap:3px}.preview-dims input{background:#05091273;border:1px solid var(--line);border-radius:4px;color:var(--text);font-family:DM Mono,monospace;font-size:9px;min-width:0;padding:5px 4px}.preview-delete{color:#f5a0a0}.canvas-countertops{display:grid;gap:8px;margin-top:16px}.canvas-countertop-card{background:#1822388c;border:1px solid var(--line);border-radius:7px;padding:10px;transition:border-color .18s,background .18s,box-shadow .18s}.canvas-countertop-card.is-selected{background:var(--panel-raised);border-color:#f1a56ecc;box-shadow:inset 2px 0 0 var(--accent)}.canvas-countertop-card .field{margin:10px 0 8px}.countertop-members{display:grid;gap:5px}.countertop-member{align-items:flex-start;color:var(--text);cursor:pointer;display:flex;font-size:9px;gap:8px;line-height:1.35}.countertop-member input{accent-color:var(--accent);flex:none;height:13px;margin:0;padding:0;width:13px}.countertop-member small{color:var(--subtle);display:block;font-size:8px}.countertop-member.is-disabled{cursor:not-allowed;opacity:.55}.cell-tree-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.cell-tree-heading .eyebrow{margin:0}.cell-tree,.cell-tree ul{list-style:none;margin:0;padding:0}.cell-tree ul{border-left:1px dashed rgba(148,165,199,.2);margin-left:9px;padding-left:10px}.cell-node{align-items:center;border:1px solid transparent;border-radius:6px;cursor:pointer;display:grid;gap:2px 7px;grid-template-columns:10px 1fr auto;margin:3px 0;outline:0;padding:7px 8px;transition:background .15s,border-color .15s}.cell-node:hover,.cell-node:focus-visible{background:#94bdf412}.cell-node.is-selected{background:#f1a56e1a;border-color:#f1a56e8c}.cell-node.has-warning{border-color:#f5a0a059}.cell-node-chevron{color:var(--subtle);font-size:10px}.cell-node-name{color:var(--text);font-size:11px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-node-name small{color:var(--muted);font-family:DM Mono,monospace;font-size:9px;font-weight:400;margin-left:6px}.cell-node-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.cell-node-contents{color:var(--muted);font-size:10px;grid-column:2 / span 2;line-height:1.4}.cell-node-contents b{color:var(--text);font-weight:500}.cell-badge{border-radius:99px;font-family:DM Mono,monospace;font-size:8px;padding:2px 6px;white-space:nowrap}.cell-badge-fixed{background:#94bdf424;color:var(--blue)}.cell-badge-fill{background:#78d4b01f;color:var(--green)}.cell-badge-split{background:#94a5c71f;color:var(--muted)}.cell-badge-warn{background:#f5a0a029;color:#f5a0a0}.cell-badge-ok{background:#78d4b01a;color:#9dd7b0}.cell-actions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 14px}.cell-actions .small-button{margin:0}.cell-name-row{margin:4px 0 10px}.cell-name-input{background:transparent;border:0;border-bottom:1px solid rgba(148,165,199,.25);color:var(--text);font-family:Manrope,system-ui,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.02em;outline:0;padding:2px 0 4px;width:100%}.cell-name-input:focus{border-bottom-color:#f1a56eb3}.cell-name-input::placeholder{color:var(--muted);font-weight:600}.cell-size-row{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:8px}.cell-size-row .input-wrap input:disabled{color:var(--muted)}.cell-result{color:var(--accent-light);font-family:DM Mono,monospace;font-size:10px;line-height:1.5;margin:8px 0 0}.cell-shelf-list{display:grid;gap:6px}.cell-shelf-row{align-items:center;display:grid;gap:6px;grid-template-columns:96px 1fr 18px}.cell-shelf-row .input-wrap input{font-size:11px;padding:9px 6px}.cell-shelf-row .input-wrap>span{padding-right:6px}.cell-shelf-row select{font-size:10px;padding:9px 22px 9px 8px}.cell-shelf-row .select-wrap:after{right:7px;top:7px}.cell-space-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.cell-space-grid .field{margin-bottom:0}.cell-space-grid .input-wrap input{font-size:11px;padding:9px 4px 9px 7px}.cell-space-grid .input-wrap>span{padding-right:5px}.cell-fit{font-family:DM Mono,monospace;font-size:10px;margin:10px 0}.cell-fit-ok{color:#9dd7b0}.cell-fit-bad{color:#f5a0a0}.cell-field-help{color:var(--subtle);display:block;font-size:9px;margin-top:4px}.cell-warnings .internal-item-warning{margin-top:6px}.inspector-card .card-label small{color:var(--subtle);font-weight:400;letter-spacing:0;margin-left:6px;text-transform:none}.inspector-card .field{margin-bottom:10px}.inspector-card .internal-item-grid{margin-top:4px}.elevation-view{background:#0d1526;inset:0;position:absolute;z-index:2}.elevation-view svg{display:block;height:100%;width:100%;font-family:DM Mono,monospace}.elevation-cavity{fill:#0a1220}.elevation-board{stroke:#00000080;stroke-width:1.2;cursor:pointer}.elevation-outer{fill:#c68d5f}.elevation-back{fill:#363b46}.elevation-board.elevation-interior{fill:#d3aa7d}.elevation-board.is-selected{stroke:#ffb36a;stroke-width:4}.elevation-cell{fill:transparent;stroke:#94bdf44d;stroke-dasharray:10 8;stroke-width:2;cursor:pointer}.elevation-cell:hover{fill:#94bdf40f}.elevation-cell.is-selected{fill:#f1a56e1a;stroke:var(--accent);stroke-dasharray:none;stroke-width:4}.elevation-cell.is-container.is-selected{fill:#f1a56e0d}.elevation-cell-label{fill:var(--blue);font-weight:500;pointer-events:none}.elevation-cell-label.is-selected{fill:var(--accent-light)}.elevation-cell-sub{fill:var(--muted);pointer-events:none}.elevation-front{fill:none;stroke:var(--accent-light);stroke-dasharray:14 10;stroke-width:2.5;opacity:.65;pointer-events:none}.elevation-dim line{stroke:var(--blue);stroke-width:1.5}.elevation-dim text{fill:var(--blue)}.elevation-caption{fill:var(--subtle)}.cell-warnings[hidden]{display:none}.elevation-cell.is-outline{fill:none;pointer-events:none}.cell-brace-row{align-items:center;display:grid;gap:6px;grid-template-columns:82px 1fr 74px 18px}.cell-brace-row .input-wrap input{font-size:11px;padding:9px 4px 9px 6px}.cell-brace-row .input-wrap>span{padding-right:5px}.cell-brace-row select{font-size:10px;padding:9px 22px 9px 8px}.cell-brace-row .select-wrap:after{right:7px;top:7px}.folder-group{margin-bottom:8px}.folder-head{align-items:center;display:flex;gap:7px;padding:5px 2px 7px}.folder-head strong{font-size:12px;font-weight:700;letter-spacing:-.01em}.folder-head.is-unfiled strong{color:var(--muted)}.folder-count{color:var(--subtle);font-family:DM Mono,monospace;font-size:9px}.folder-spacer{flex:1}.folder-tool{background:transparent;border:0;color:var(--subtle);font-size:11px;padding:2px 5px;transition:color .2s}.folder-tool:hover{color:var(--accent-light)}.folder-tool-add{border:1px solid rgba(120,212,176,.3);border-radius:4px;color:#78d4b0;font-size:10px;padding:3px 7px}.folder-tool-add:hover{border-color:#78d4b099;color:#a8f0d0}.folder-group.is-collapsed .canvas-chevron{transform:rotate(-90deg)}.folder-group.is-collapsed .folder-items{display:none}.folder-items{display:grid;gap:9px}.picker-folder .folder-items{margin-top:0}.canvas-inspector .folder-group:first-of-type{margin-top:14px}.folder-select{appearance:none;background:#94bdf41a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath d='M1 2.5l3 3 3-3' fill='none' stroke='%2394bdf4' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 7px center;border:1px solid rgba(148,189,244,.22);border-radius:99px;color:var(--blue);cursor:pointer;font-family:DM Mono,monospace;font-size:9px;margin-top:6px;max-width:160px;overflow:hidden;padding:2px 20px 2px 8px;text-overflow:ellipsis;white-space:nowrap;width:auto}.folder-select.is-unfiled{background-color:transparent;border-style:dashed;color:var(--subtle)}.folder-select:hover{border-color:#94bdf480}.library-item-content .folder-select{align-self:flex-start}.editor-folder .folder-select{margin:0 0 0 6px}.canvas-new-section{background:#78d4b014;border:1px dashed rgba(120,212,176,.35);color:#9be2c4;margin-top:12px;width:100%}.canvas-new-section:hover{border-color:#78d4b099}.inspector-card.is-target{border-color:#f1a56e99;box-shadow:0 0 0 1px #f1a56e40}.cell-shelf-row.is-target,.cell-brace-row.is-target{background:#f1a56e1a;border-radius:5px;box-shadow:0 0 0 4px #f1a56e1a}.inspector-card>.checkbox-field{margin-top:0}.elevation-front.is-selected{stroke:var(--accent);stroke-dasharray:none}.elevation-front-hit{cursor:pointer;fill:transparent;pointer-events:fill;stroke:none}.elevation-front-hit:hover{fill:#f1a56e0f}.elevation-front-hit.is-selected{fill:#f1a56e14}.inspector>.canvas-tabs,.canvas-inspector>.canvas-tabs,.canvas-sidebar>.canvas-tabs{position:sticky;z-index:4}.inspector>.canvas-tabs{background:var(--bg);margin:-31px -21px 18px;padding:16px 21px 9px;top:-31px}.canvas-inspector>.canvas-tabs,.canvas-sidebar>.canvas-tabs{background:#0d1424;margin:-24px -18px 14px;padding:14px 18px 9px;top:-24px}.cut-list-table small.cut-locations{color:var(--blue);line-height:1.45;margin-top:2px;opacity:.85}#print-sheet{display:none}@page{margin:12mm}@media print{html,body{background:#fff!important;height:auto!important;overflow:visible!important}body>*:not(#print-sheet){display:none!important}#print-sheet{color:#111;display:block;font-family:Manrope,system-ui,sans-serif}.print-header h1{font-size:16pt;letter-spacing:-.02em;margin:0 0 3pt}.print-header p{color:#444;font-family:DM Mono,monospace;font-size:8.5pt;margin:0}.print-drawing svg{display:block;height:auto;max-height:250mm;width:100%}.print-side{break-inside:avoid;margin-top:10pt}.print-side svg{max-height:130mm}.print-cutlist{break-inside:avoid;margin-top:14pt}.print-cutlist h2{font-size:12pt;margin:0 0 8pt}.print-cutlist h2 small{color:#555;font-family:DM Mono,monospace;font-size:8pt;font-weight:400;margin-left:6pt}.print-cutlist table{border-collapse:collapse;font-size:9pt;width:100%}.print-cutlist th{border-bottom:1pt solid #111;font-size:8pt;padding:3pt 5pt;text-align:left}.print-cutlist td{border-bottom:.5pt solid #bbb;padding:3.5pt 5pt;vertical-align:top}.print-cutlist tr{break-inside:avoid}.print-cutlist td:nth-child(n+5):nth-child(-n+7),.print-cutlist th:nth-child(n+5):nth-child(-n+7){font-family:DM Mono,monospace;text-align:right}.print-cutlist td:first-child{font-family:DM Mono,monospace;font-weight:700}.print-key{border-collapse:collapse;font-size:8.5pt;margin:0 0 10pt;width:100%}.print-key th{border-bottom:1pt solid #111;font-size:8pt;padding:3pt 5pt;text-align:left}.print-key td{border-bottom:.5pt solid #bbb;padding:3pt 5pt}.print-key td:first-child{font-family:DM Mono,monospace;font-weight:700}.print-key td:nth-child(n+3){font-family:DM Mono,monospace}.print-cutouts{break-inside:avoid;margin:0 0 10pt}.print-cutouts strong{display:block;font-size:9pt;margin-bottom:3pt}.print-cutouts ul{font-family:DM Mono,monospace;font-size:8pt;margin:0;padding-left:14pt}.print-notched{color:#555;display:block;font-family:DM Mono,monospace;font-size:7.5pt}.print-sheets{break-before:page}.print-sheets h2{font-size:12pt;margin:0 0 10pt}.print-sheets h2 small{color:#555;font-family:DM Mono,monospace;font-size:8pt;font-weight:400;margin-left:6pt}.print-sheet-layout{break-inside:avoid;margin:0 0 12pt}.print-sheet-layout figcaption{color:#333;font-family:DM Mono,monospace;font-size:8.5pt;margin-bottom:4pt}.print-sheet-layout figcaption strong{color:#111;font-family:Manrope,system-ui,sans-serif;font-size:10pt}.print-sheet-layout svg{display:block;height:auto;max-height:122mm;width:100%}.cut-steps-note{color:#444;font-size:7.5pt;margin:5pt 0 3pt}.print-sheets .cut-steps{color:#111;font-family:DM Mono,monospace;font-size:8.5pt;line-height:1.5;margin:0;padding-left:16pt}.print-sheets .cut-steps strong{font-family:Manrope,system-ui,sans-serif}.print-sheets .cut-steps em{color:#555;font-style:normal}.print-sheets .cut-steps i{font-style:normal;font-weight:700}.print-sheet-missing{border:1pt solid #111;font-size:9pt;margin:0 0 8pt;padding:5pt 7pt}.assembly-guide{break-after:page;color:#111}.assembly-guide header{break-inside:avoid;border-bottom:1pt solid #111;margin:0 0 10pt;padding:0 0 7pt}.assembly-guide h1{font-size:18pt;letter-spacing:-.02em;margin:0 0 3pt}.assembly-guide h2{font-size:12pt;margin:0 0 5pt}.assembly-guide h3{font-size:10pt;margin:10pt 0 4pt}.assembly-guide header p,.assembly-disclaimer,.assembly-notice,.assembly-empty{color:#444;font-size:8.5pt;line-height:1.45;margin:0}.print-kicker{font-family:DM Mono,monospace;font-size:8pt!important;letter-spacing:.08em;margin-bottom:3pt!important;text-transform:uppercase}.assembly-views{display:grid;gap:9pt;grid-template-columns:repeat(2,minmax(0,1fr))}.assembly-figure{break-inside:avoid;margin:0}.assembly-figure figcaption{font-family:DM Mono,monospace;font-size:8pt;font-weight:700;margin:0 0 3pt;text-transform:uppercase}.assembly-figure svg{display:block;height:auto;max-height:112mm;width:100%}.assembly-legend{break-inside:avoid;margin:9pt 0}.assembly-legend h3{margin-top:0}.assembly-legend ul{columns:2;font-size:8.5pt;list-style:none;margin:0;padding:0}.assembly-legend li{break-inside:avoid;display:flex;gap:5pt;margin:2pt 0}.assembly-legend strong{font-family:DM Mono,monospace;min-width:26pt}.assembly-hardware{break-inside:auto;margin-top:10pt}.assembly-hardware table{border-collapse:collapse;font-size:8.5pt;margin:5pt 0;width:100%}.assembly-hardware th{border-bottom:1pt solid #111;font-size:7.5pt;padding:3pt 4pt;text-align:left}.assembly-hardware td{border-bottom:.5pt solid #bbb;padding:3pt 4pt;vertical-align:top}.assembly-hardware td:nth-child(2){font-family:DM Mono,monospace;white-space:nowrap}.assembly-hardware td small{color:#555;display:block;font-size:7.5pt;line-height:1.35;margin-top:2pt}.assembly-hardware table:has(th:nth-child(3):last-child){table-layout:fixed}.assembly-hardware table:has(th:nth-child(3):last-child) th:first-child{width:20%}.assembly-hardware table:has(th:nth-child(3):last-child) th:nth-child(2){width:25%}.assembly-hardware table:has(th:nth-child(3):last-child) td{overflow-wrap:anywhere}.assembly-hardware table:has(th:nth-child(3):last-child) td:nth-child(2){white-space:normal}.assembly-hardware tr{break-inside:avoid}.assembly-hardware h2,.assembly-hardware h3{break-after:avoid}.assembly-hardware .assembly-references{font-family:DM Mono,monospace}.assembly-notice{border:1pt solid #111;margin-top:9pt;padding:5pt 7pt}.assembly-room-guide{break-after:page;color:#111}.assembly-room-guide>header{border-bottom:1pt solid #111;margin:0 0 10pt;padding-bottom:7pt}.assembly-room-guide h1{font-size:18pt;letter-spacing:-.02em;margin:0 0 3pt}.assembly-room-guide header p{color:#444;font-size:8.5pt;margin:0}.assembly-room-figure{break-inside:avoid;margin:0 0 10pt}.assembly-room-figure figcaption{font-family:DM Mono,monospace;font-size:8pt;font-weight:700;margin-bottom:3pt;text-transform:uppercase}.assembly-room-figure svg{display:block;height:auto;max-height:150mm;width:100%}.assembly-placement-table{border-collapse:collapse;break-inside:avoid;font-size:8.5pt;margin:0 0 10pt;width:100%}.assembly-placement-table th{border-bottom:1pt solid #111;font-size:7.5pt;padding:3pt 4pt;text-align:left}.assembly-placement-table td{border-bottom:.5pt solid #bbb;padding:3pt 4pt;vertical-align:top}.assembly-placement-table td:first-child,.assembly-placement-table td:nth-child(n+3){font-family:DM Mono,monospace}.assembly-room-hardware{break-inside:avoid}}.elevation-warning{fill:#f2646412;pointer-events:none;stroke:#f26464;stroke-dasharray:18 8;stroke-width:3.5}.elevation-warning-badge{cursor:pointer}.elevation-warning-badge circle{fill:#f26464}.elevation-warning-badge text{fill:#1a0d0d;font-weight:800;pointer-events:none}.elevation-warning-badge:hover circle{fill:#ff8a8a}.side-far{fill:#c68d5f1a;stroke:#c68d5f59;stroke-width:1.2}.side-beyond{cursor:pointer;fill:#d3aa7d14;stroke:#d3aa7d99;stroke-dasharray:7 6;stroke-width:1.4}.elevation-board.side-front{fill:#e0a877}.elevation-cell-name{fill:var(--muted);pointer-events:none}.split-count{align-items:center;color:var(--subtle);display:inline-flex;font-family:DM Mono,monospace;font-size:9px;gap:5px}.split-count input{background:#05091273;border:1px solid var(--line);border-radius:4px;color:var(--text);font:inherit;font-size:11px;padding:6px 4px;text-align:center;width:40px}.split-count input:focus{border-color:#f1a56e99;outline:0}.board-roles{display:grid;gap:7px;margin-bottom:12px}.board-roles .field{align-items:center;display:grid;gap:10px;grid-template-columns:74px minmax(0,1fr);margin-bottom:0}.board-roles .field>span{margin-bottom:0}.board-swatch{border:1px solid rgba(255,255,255,.18);border-radius:3px;display:inline-block;flex-shrink:0;height:10px;width:10px}.board-roles-help{margin-top:-2px}.link-button{background:none;border:0;color:var(--accent-light);cursor:pointer;font:inherit;padding:0;text-decoration:underline;text-decoration-color:#f1a56e66;text-underline-offset:2px}.link-button:hover{color:var(--accent)}.boards-summary-row{align-items:center;display:flex;gap:8px}.boards-dialog{max-width:640px;width:calc(100vw - 40px)}.boards-list{display:grid;gap:6px;max-height:50vh;overflow-y:auto}.board-row{align-items:center;display:grid;gap:8px;grid-template-columns:30px minmax(0,1fr) 40px 150px 62px 26px}.board-row-head{color:var(--subtle);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.board-row input[type=color]{background:none;border:1px solid var(--line);border-radius:5px;cursor:pointer;height:28px;padding:2px;width:30px}.board-row input[type=text],.board-row input[type=number]{background:#05091273;border:1px solid var(--line);border-radius:5px;color:var(--text);font:inherit;font-size:11px;min-width:0;padding:7px 8px;width:100%}.board-row input:focus{border-color:#f1a56e99;outline:0}.board-row input[type=checkbox]{accent-color:var(--accent);height:15px;justify-self:center;width:15px}.board-sheet{align-items:center;color:var(--subtle);display:flex;font-size:10px;gap:5px}.board-use{color:var(--subtle);font-family:DM Mono,monospace;font-size:9px}.board-remove{background:none;border:1px solid transparent;border-radius:4px;color:var(--subtle);cursor:pointer;font-size:12px;height:24px;width:24px}.board-remove:hover:not(:disabled){border-color:#df696966;color:var(--red, #f2a4a4)}.board-remove:disabled{cursor:not-allowed;opacity:.3}.boards-dialog-actions{align-items:center;justify-content:space-between}.grain-side{background:repeating-linear-gradient(to bottom,transparent 0 1px,rgba(241,165,110,.75) 1px 2px) bottom / 100% 5px no-repeat;color:var(--accent-light);padding-bottom:6px}.sheets-view{background:#0d1526;inset:0;overflow-y:auto;padding:64px 22px 28px;position:absolute;scroll-padding-top:64px;z-index:2}.scene-container.is-sheets .canvas-overlay-tl,.scene-container.is-sheets .canvas-overlay-bl,.canvas-3d-view.is-sheets .canvas-overlay-tl,.canvas-3d-view.is-sheets .canvas-overlay-bl,.canvas-3d-view.is-sheets .canvas-overlay-br{display:none}.sheets-summary{color:var(--muted);font-family:DM Mono,monospace;font-size:10px;margin:0 0 16px}.sheets-summary b{color:var(--text);font-weight:500}.sheets-empty{color:var(--subtle);font-size:12px;margin:40px 0;text-align:center}.sheet-board{margin:0 auto 28px;max-width:1100px}.sheet-board-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:9px}.sheet-board-head strong{font-size:13px;letter-spacing:-.02em}.sheet-board-head strong small{color:var(--subtle);font-family:DM Mono,monospace;font-size:10px;font-weight:400;margin-left:4px}.sheet-size{align-items:center;color:var(--subtle);display:inline-flex;font-size:10px;gap:5px}.sheet-size input{background:#05091273;border:1px solid var(--line);border-radius:4px;color:var(--text);font-family:DM Mono,monospace;font-size:10px;padding:4px 5px;text-align:center;width:54px}.sheet-size input:focus{border-color:#f1a56e99;outline:0}.sheet-grain{align-items:center;color:var(--muted);cursor:pointer;display:inline-flex;font-size:11px;gap:6px;white-space:nowrap}.sheet-grain input{accent-color:var(--accent)}.sheet-result{color:var(--muted);font-family:DM Mono,monospace;font-size:10px;margin-left:auto}.sheet-result b{color:var(--green, #78d4b0);font-weight:500}.sheet-result em{color:var(--subtle);font-style:normal}.sheet-message{border-radius:6px;font-size:11px;line-height:1.55;margin:0 0 8px;padding:8px 10px}.sheet-message-warn{background:#f2a4a414;border:1px solid rgba(242,164,164,.35);color:#f2a4a4}.sheet-message-near{background:#f1a56e0f;border:1px dashed rgba(241,165,110,.4);color:var(--accent-light)}.sheet-figure{margin:0 0 12px}.sheet-figure figcaption{color:var(--subtle);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.sheet-drawing{display:block;font-family:DM Mono,monospace;height:auto;width:100%}.sheet-stock{fill:#141c2f;stroke:#94a5c759;stroke-width:3}.sheet-usable{fill:none;stroke:#94a5c738;stroke-dasharray:14 10;stroke-width:2}.sheet-part{cursor:pointer}.sheet-part .sheet-face{stroke:#0d1526;stroke-width:3}.sheet-part.is-turned .sheet-face{stroke-dasharray:18 8}.sheet-grain-line{opacity:.18;pointer-events:none;stroke-width:2}.sheet-part-label{pointer-events:none}.sheet-part.is-hot .sheet-face{stroke:#fff;stroke-width:7}.sheet-part.is-selected .sheet-face{stroke:var(--accent);stroke-width:9}.sheet-part.is-owned .sheet-face{stroke:var(--blue, #94bdf4);stroke-width:7}.sheet-part.is-owned.is-selected .sheet-face{stroke:var(--accent);stroke-width:9}.cut-list-table tbody tr.is-owned{background:#94bdf41f;box-shadow:inset 2px 0 0 var(--blue, #94bdf4)}.cut-list-table tbody tr.is-owned td{color:var(--text)}.cut-owned-count{color:var(--blue, #94bdf4);display:block;font-size:9px;margin-top:3px}.sheets-cutouts{align-items:center;display:inline-flex;gap:6px}.sheets-cutouts .select-wrap{display:inline-block}.sheets-cutouts select{font-size:10px;padding:2px 18px 2px 6px}.sheet-notch{fill:none;stroke:#f26464;stroke-dasharray:22 14;stroke-width:5;pointer-events:none}.sheet-offcut rect{fill:none;stroke:#94a5c747;stroke-dasharray:10 8;stroke-width:2}.sheet-offcut text{fill:var(--subtle)}.cut-list-table tr.is-hot td{background:#f1a56e1a}.saw-card{margin-top:12px}.saw-grid{align-items:center;display:grid;gap:8px 10px;grid-template-columns:70px 90px;margin-bottom:10px}.saw-presets,.saw-note{grid-column:1 / -1}.saw-presets{margin:-2px 0 4px}.saw-grid label{color:var(--muted);font-size:11px}.saw-input input{padding:7px 8px}.saw-presets{display:flex;flex-wrap:wrap;gap:4px}.saw-preset{background:none;border:1px solid var(--line);border-radius:99px;color:var(--muted);cursor:pointer;font-family:DM Mono,monospace;font-size:9px;padding:3px 7px}.saw-preset:hover{color:var(--text)}.saw-preset.is-active{border-color:#78d4b073;color:#78d4b0}.saw-note{color:var(--subtle);font-family:DM Mono,monospace;font-size:9px}.grain-turn{white-space:nowrap}.grain-turn button{background:none;border:0;border-radius:3px;cursor:pointer;font:inherit}.grain-turn .grain-turn-side{color:var(--text);font-weight:700;padding:1px 3px 6px;text-decoration:underline dotted rgba(242,245,251,.45);text-underline-offset:3px}.grain-turn .grain-turn-side.is-active{text-decoration:none}.grain-turn .grain-turn-side:hover,.grain-turn .grain-turn-side:focus-visible{background-color:#f1a56e29;color:var(--accent-light);outline:0;text-decoration-color:var(--accent-light)}.grain-turn .grain-turn-side.is-own{color:var(--accent)}.grain-turn .grain-turn-free{border:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1;margin-left:6px;padding:2px 4px}.grain-turn .grain-turn-free:hover,.grain-turn .grain-turn-free:focus-visible{border-color:#f1a56e99;color:var(--accent-light);outline:0}.grain-turn .grain-turn-free.is-active{background:#94bdf429;border-color:#94bdf480;color:var(--blue, #94bdf4)}.grain-turn .grain-turn-free.is-active.is-own{background:#f1a56e29;border-color:#f1a56e99;color:var(--accent)}.sheet-selected{align-items:baseline;position:sticky;top:60px;z-index:1;background:#182238;border:1px solid rgba(241,165,110,.45);border-radius:7px;color:var(--muted);display:flex;flex-wrap:wrap;font-family:DM Mono,monospace;font-size:11px;gap:8px;margin:0 0 8px;padding:8px 12px}.sheet-selected strong{color:var(--text);font-family:Manrope,sans-serif;font-size:12px}.sheet-selected small{color:var(--blue, #94bdf4);font-size:10px}.sheet-selected span{color:var(--subtle);font-size:10px}.sheet-own-mark{fill:var(--accent);pointer-events:none}.cut-list-table tbody tr[data-cut-row]{cursor:pointer}.sheet-part-number{font-weight:700;opacity:.85;pointer-events:none}.cut-steps-box{margin-top:6px}.cut-steps-box summary{color:var(--muted);cursor:pointer;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.04em;padding:4px 0}.cut-steps-box summary:hover{color:var(--accent-light)}.cut-steps-note{color:var(--subtle);font-size:10px;line-height:1.5;margin:4px 0 6px;max-width:760px}.cut-steps{color:var(--muted);font-family:DM Mono,monospace;font-size:11px;line-height:1.7;margin:0;padding-left:22px}.cut-steps strong{color:var(--text);font-family:Manrope,sans-serif;font-size:11px;margin-right:4px}.cut-steps i{color:var(--blue, #94bdf4);font-style:normal}.cut-steps em{color:var(--subtle);font-style:normal}.cut-step-part{color:var(--accent-light);cursor:default;font-weight:500}.shoe-rack-card{padding:14px 0;border-top:1px solid var(--border, #30394c)}.shoe-rack-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.shoe-rack-card .canvas-slider{margin-top:14px}.shoe-rack-card.is-target{outline:1px solid #e7b47f;outline-offset:5px;border-radius:4px}:root{--muted: #b6c1d5;--subtle: #a2aec4}@media screen{:root{--bg: #10141c;--panel: #171b23;--panel-raised: #252a34;--panel-soft: #1c212a;--text: #f3f4f7;--muted: #b4bdcc;--subtle: #a0abba;--line: rgba(220, 229, 245, .1);--ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--number-font: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--control-radius: 8px;--control-surface: #252a34}body{font-family:var(--ui-font);font-size:.875rem;line-height:1.5}h1,h2,h3{font-weight:600;letter-spacing:-.025em;line-height:1.25}.editor-name-input{font-family:var(--ui-font);font-weight:600}.eyebrow,.card-label,.construction-heading,.topbar-status,.dashboard-stat,.live-apply-note,.canvas-slider>span,.fronts-expand-button,.hardware-toggle,.canvas-tab,.canvas-side-fillers>strong,.blind-end-card>strong,.board-row-head,.dashboard-footer,.cell-node-contents,.cell-badge{font-family:var(--ui-font);letter-spacing:0;text-transform:none}.card-label,.construction-heading{color:var(--text);font-size:.75rem;font-weight:600}input[type=text],.cell-name-input{font-family:var(--ui-font)}input[type=number],.dimension-summary,.summary-foot strong,.cell-result,.grain-turn-dimensions,.placed-index,.canvas-slider output,.library-item-content>span{font-family:var(--number-font);font-variant-numeric:tabular-nums}.dimension-summary{font-size:1rem;letter-spacing:-.025em}.inspector-row,.inspector-row strong,.inspector-note{font-size:.75rem}.inspector-row{gap:12px;border-bottom-color:#ffffff0a}.inspector-row strong{margin-left:0;overflow-wrap:anywhere}.folder-select{font-family:var(--ui-font)}.dashboard-hero h2{font-size:1.625rem}.topbar,.app-shell{background:var(--bg)}.sidebar,.inspector,.canvas-sidebar,.canvas-inspector{background:var(--panel);scrollbar-width:thin;scrollbar-color:#4b5260 transparent}.library-grid{gap:24px}.library-panel{background:var(--panel);border:0;border-radius:16px;padding:24px}.library-list{gap:4px}.library-item{background:transparent;border-color:transparent;border-bottom-color:var(--line);border-radius:10px;padding:14px 8px}.library-item:last-child{border-bottom-color:transparent}.inspector-card{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:16px 0;margin-bottom:4px}.inspector-card.is-target{background:#f1a56e0f;border-radius:10px;border-top-color:transparent;box-shadow:0 0 0 8px #f1a56e0f;outline:1px solid rgba(241,165,110,.58);outline-offset:8px}.inspector-card:first-child,.cut-list-card{border-top:0}.inspector-card.cell-warnings{background:#f5a0a00f;border-radius:10px;padding:12px}.internal-item,.canvas-obstacle-card,.placed-component{background:#ffffff06;border-radius:10px}.internal-item.is-selected{box-shadow:none}.blind-end-card{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:12px 0}.checkbox-field{background:transparent;border-color:transparent;padding:10px 0}.checkbox-field input{height:16px;width:16px}.field{margin-bottom:16px}.field>span{margin-bottom:6px}.input-wrap,.select-wrap{background:var(--control-surface);border-radius:var(--control-radius)}.input-wrap:focus-within,.select-wrap:focus-within{background:#2c323d;border-color:var(--blue)}.select-wrap:after{content:"";width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);top:16px;right:14px}.small-button,.primary-button,.ghost-button{border-radius:var(--control-radius);font-weight:500}.small-button:not(.open-button):not(.delete-button):not(.danger-button),.ghost-button{background:var(--control-surface)}.primary-button{font-weight:600;gap:10px}.editor-step-tabs,.canvas-tabs{background:#ffffff09;border:0;border-radius:10px;gap:3px;padding:4px}.editor-step-tab,.canvas-tab{border-radius:7px}.editor-step-tab.active,.canvas-tab.is-active{background:#303641;border-color:transparent;color:var(--text);box-shadow:0 1px 3px #0003}.canvas-tab-count{background:#fff1}.canvas-segmented{background:var(--control-surface);border-color:transparent;border-radius:9px;padding:3px;gap:2px}.canvas-segmented button{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--muted)}.canvas-segmented button.is-active{background:#424854;color:var(--text);box-shadow:0 1px 3px #0003}.canvas-overlay-icon{background:var(--control-surface);border-color:transparent;border-radius:var(--control-radius)}.canvas-viewcontrols{background:#171b23f0;border-color:#ffffff1a;border-radius:12px;box-shadow:0 6px 22px #0003}.canvas-slider>span,.hardware-toggle{font-size:.75rem}.ui-icon{display:block;flex:none;width:18px;height:18px}.ui-icon-host,.fronts-control-chevron,.inspector-icon{display:inline-flex;align-items:center;justify-content:center}.shoe-rack-card{border-top-color:var(--line);container-type:inline-size;padding:12px 0}.shoe-rack-face-fields{grid-template-columns:1fr}.shoe-rack-fieldgroup{border:0;min-width:0;padding:0;margin:16px 0 0}.shoe-rack-fieldgroup legend{padding:0;margin-bottom:10px;color:var(--text);font-size:.8125rem;font-weight:600}.shoe-rack-fieldgroup .field{margin-bottom:0}.shoe-rack-size-group .internal-item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shoe-rack-fieldgroup[data-rack-group=opening] .internal-item-grid{grid-template-columns:1fr}.shoe-rack-fieldgroup[data-rack-group=opening] .field{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:8px}.shoe-rack-fieldgroup[data-rack-group=opening] .field>span{margin:0}.shoe-rack-fieldgroup .construction-help,.shoe-rack-fit-note{margin:8px 0 0}.shoe-rack-fit-note{color:var(--muted);font-size:.6875rem;line-height:1.5}.rack-clearance-status{display:grid;gap:8px;padding-top:12px}.rack-clearance-status .summary-foot{margin:0;font-size:.75rem}.rack-apply-gap{margin-top:12px}.rack-clearance-status .construction-help{margin:0}.side-section .rack-obstruction{fill:var(--danger, #ef9696);fill-opacity:.18;stroke:var(--danger, #ef9696);stroke-width:2;pointer-events:none}.side-section .rack-contact-pose{fill:none;stroke:var(--danger, #ef9696);stroke-width:2;stroke-dasharray:6 4;pointer-events:none}.side-section .rack-contact-label{fill:var(--danger, #ef9696)}.shoe-rack-size-readout{display:grid;gap:6px;padding:12px 0;color:var(--muted)}.shoe-rack-size-readout[hidden]{display:none}.shoe-rack-size-readout>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;font-size:.75rem}.shoe-rack-size-readout small{font-family:var(--ui-font);font-size:.625rem;color:var(--subtle);font-weight:400}.shoe-rack-size-readout strong{color:var(--text);font:.75rem var(--number-font);font-variant-numeric:tabular-nums}.shoe-rack-card .inspector-disclosure{margin-top:12px;padding-top:4px}.shoe-rack-card .inspector-disclosure>summary{min-height:36px;padding:6px 0}.drawer-subtype-fields{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.drawer-subtype-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.drawer-subtype-fields>.field{margin-bottom:12px}.drawer-support-disclosure{margin-top:8px}.drawer-support-disclosure .construction-help{margin:4px 0 8px}@container (max-width: 340px){.shoe-rack-fieldgroup .internal-item-grid{grid-template-columns:1fr}.shoe-rack-fieldgroup .field{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.8fr);align-items:center;gap:8px}.shoe-rack-fieldgroup .field>span{margin:0}.drawer-subtype-grid{grid-template-columns:1fr}}button,input,select{touch-action:manipulation}.input-wrap input:focus-visible,.select-wrap select:focus-visible{outline:none}button:focus-visible,summary:focus-visible,[role=tab]:focus-visible,[role=treeitem]:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}button:active:not(:disabled),summary:active{filter:brightness(1.18)}button:disabled{cursor:not-allowed;opacity:.5}h1{font-size:1.125rem}h2{font-size:1.25rem}h3{font-size:1rem}.eyebrow,.topbar-status,.dashboard-stat{font-size:.6875rem}.field{width:auto;min-width:0}.field>span,.checkbox-field strong,.print3d-check,.cell-node-name,.placed-component strong,.picker-item strong{font-size:.8125rem}.field input,.field select,.input-wrap input,.cell-shelf-row input{font-size:.875rem;min-width:0}.input-wrap{min-width:0}.input-wrap input{width:100%;flex:1}.input-wrap>span{font-size:.6875rem;flex:none}select{font-size:.8125rem;min-height:42px}.construction-help,.cell-field-help,.form-intro,.step-panel-intro,.library-description,.dashboard-lede,.import-dialog p,.checkbox-field small,.canvas-warning,.canvas-ok,.cell-node-contents{font-size:.75rem;line-height:1.6}.small-button,.primary-button,.ghost-button{font-size:.8125rem;min-height:38px}.library-item-content strong{font-size:.875rem}.library-item-content span,.library-item-content small,.dashboard-footer,.picker-item small,.placed-component small,.summary-foot,.cell-result{font-size:.6875rem}.library-item{flex-wrap:wrap}.library-item-actions{margin-left:auto}.edit-name-button,.header-edit-name,.remove-placed,.canvas-chevron{align-items:center;display:inline-flex;justify-content:center;min-width:32px;min-height:32px;flex:none}.topbar-link{align-items:center;display:inline-flex;gap:8px;min-height:40px;font-family:inherit;font-size:.8125rem;font-weight:500}.topbar-link svg{flex:none}.brand-lockup,.brand-lockup>div,.editor-name-lockup{min-width:0}.editor-name-input{width:min(220px,100%);min-width:0}.workspace,.canvas-workspace{display:grid;height:calc(100dvh - 76px);overflow:hidden}.workspace{grid-template-columns:var(--editor-sidebar-width) minmax(0,1fr) var(--editor-inspector-width)}.canvas-workspace{grid-template-columns:var(--canvas-sidebar-width) minmax(0,1fr) var(--canvas-inspector-width)}.workspace.inspector-collapsed{grid-template-columns:var(--editor-sidebar-width) minmax(0,1fr)}.canvas-workspace.inspector-collapsed{grid-template-columns:var(--canvas-sidebar-width) minmax(0,1fr)}.workspace.inspector-collapsed>.inspector,.canvas-workspace.inspector-collapsed>.canvas-inspector{display:none}.sidebar,.inspector,.canvas-sidebar,.canvas-inspector{min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 16px}.canvas-scene-panel{height:auto;min-height:0}.sidebar-heading{gap:8px}.editor-step-tab{min-width:0}.editor-step-tab strong{font-size:.8125rem}.editor-step-tab small,.editor-step-tab>span{font-size:.6875rem}.canvas-tab{font-size:.75rem;min-height:40px;padding:8px}.canvas-tabs{flex-wrap:wrap;overflow:visible}.canvas-tab{flex:1 1 auto}.canvas-tab-count,.cell-badge{font-size:.625rem}.canvas-inspector .canvas-tabs{position:sticky;top:-20px;z-index:4;background:var(--panel-soft);padding:4px;margin:0 0 12px}.compact-pane-switch{display:none}.scene-container,.canvas-scene-panel .canvas-3d-view{display:flex;flex-direction:column}.scene-header{background:var(--panel-soft);border-bottom:1px solid var(--line);flex:none;padding:10px 12px;position:relative;z-index:6}.scene-header .canvas-overlay-tl,.scene-header .canvas-overlay-tr{position:static;max-width:none}.scene-header .canvas-overlay-tl{border:0;background:none;padding:0;margin-bottom:8px}.scene-header .canvas-overlay-tl strong{font-size:.8125rem}.canvas-legend-row{font-size:.6875rem}.scene-header .canvas-overlay-tr{flex-wrap:wrap;justify-content:flex-start;gap:6px}.canvas-segmented{flex:none}.canvas-segmented button{min-width:32px;min-height:32px;padding:6px 9px;font-size:.8125rem}.canvas-overlay-icon{height:40px;width:40px;flex:none}.scene-render-surface{flex:1 1 0;min-height:0;position:relative;overflow:hidden}.scene-render-surface canvas{display:block;height:100%;width:100%}.scene-render-surface .elevation-view,.scene-render-surface .sheets-view{inset:0}.scene-export-menu{position:relative;flex:none}.scene-export-menu summary{display:flex;align-items:center;gap:8px;min-height:40px;border:1px solid transparent;border-radius:var(--control-radius);padding:6px 10px;background:var(--control-surface);cursor:pointer;font-size:.8125rem}.scene-export-menu summary::-webkit-details-marker{display:none}.scene-export-options{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:220px;max-height:min(320px,45dvh);overflow-y:auto;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel-raised);box-shadow:0 12px 36px #0008}.scene-export-options button{display:block;width:100%;text-align:left;border:0;border-radius:5px;background:transparent;padding:10px;min-height:40px;font-size:.8125rem}.scene-export-options button:hover{background:#27344b}.canvas-viewcontrols-body{min-width:160px}.canvas-slider,.hardware-toggle{font-size:.6875rem}.fronts-expand-button{min-height:32px}.fronts-expand-button[aria-expanded=true] .fronts-control-chevron{transform:rotate(90deg)}.hardware-toggle input,.canvas-side-fillers input[type=checkbox]{width:16px;height:16px;padding:0;flex:none}.canvas-side-fillers label{display:flex;align-items:center;gap:8px;font-size:.8125rem}.canvas-side-fillers strong{font-size:.75rem}.canvas-side-fillers small,.placed-component-position label,.placed-component-position em{font-size:.6875rem}.placed-component-position input{font-size:.8125rem;min-height:36px}.inspector-disclosure{border-top:1px solid var(--line);margin-top:14px;padding-top:8px}.inspector-disclosure>summary{color:var(--text);cursor:pointer;font-size:.8125rem;font-weight:600;padding:8px 0;min-height:38px}.inspector-disclosure[open]>summary{margin-bottom:8px}.inspector-card>summary.card-label{cursor:pointer;font-size:.8125rem;min-height:32px;margin-bottom:0}.inspector-card[open]>summary.card-label{margin-bottom:12px}.carcass-target.is-selected{border-radius:8px;outline-offset:-1px}.carcass-control-group{background:#ffffff06;border:1px solid transparent;border-radius:10px;display:grid;gap:12px;margin:12px 0;min-width:0;padding:12px}.carcass-control-group>.checkbox-field{background:none;border:0;margin:0;padding:0}.carcass-control-group>.field,.carcass-control-group>#back-fields>.field:last-of-type{margin-bottom:0}.carcass-control-group .checkbox-field input{flex:none}.carcass-control-group.is-selected{background:#f1a56e14;border-color:var(--accent);outline:none}.carcass-control-group:not(:has(>:not(.hidden))){display:none}.carcass-control-group>#back-fields>.construction-help{margin-top:12px}.cut-list-card,#cut-list-body,.canvas-cutlist{min-width:0}.cut-list-scroll{container-type:inline-size;min-width:0;overflow-x:auto}.cut-list-table{font-size:.75rem;line-height:1.5}.cut-list-table th{padding:0 6px 8px}.cut-list-table td{padding:8px 6px}.cut-list-table th:first-child,.cut-list-table td:first-child{padding-left:8px}.cut-list-table th:last-child,.cut-list-table td:last-child{padding-right:8px}.cut-list-table td:nth-child(3){overflow-wrap:anywhere}.cut-list-table small{font-size:.6875rem;line-height:1.5}.cut-list-table tbody tr{transition:none}.cut-list-table tr.is-hot:not(.is-selected):not(.is-owned){background:#f1a56e1a}.cut-list-table tr.is-hot td{background:transparent}.grain-turn{display:inline-flex;flex-direction:column;align-items:flex-end;gap:6px;vertical-align:top;white-space:normal}.grain-turn-dimensions{display:inline-flex;align-items:baseline;gap:3px;white-space:nowrap}.grain-turn .grain-turn-free{align-items:center;display:inline-flex;gap:7px;margin-left:0;min-height:32px;padding:4px 0;font-size:.6875rem;line-height:1.4;border:0;background:none;cursor:pointer}.grain-turn .grain-turn-free.is-active,.grain-turn .grain-turn-free.is-active.is-own{background:none;color:var(--muted)}.grain-turn-free input{appearance:auto;accent-color:var(--accent);cursor:pointer;flex:none;height:14px;width:14px;margin:0;padding:0}.sheet-selected .grain-turn{align-items:flex-start}.sheet-selected .grain-turn-dimensions{color:var(--text);font-size:inherit}.cut-list-table .grain-turn button{min-height:28px;min-width:24px}.cut-list-table .grain-turn .grain-turn-free{min-height:32px}@container (max-width: 360px){.cut-list-table,.cut-list-table thead,.cut-list-table tbody{display:block}.cut-list-table tr{display:grid;gap:4px 8px;grid-template-columns:24px 24px minmax(0,1fr);padding:8px}.cut-list-table thead tr{border-bottom:1px solid var(--line);padding-top:0}.cut-list-table tbody tr{border-bottom:1px solid rgba(255,255,255,.07)}.cut-list-table th,.cut-list-table td{border:0;padding:0;width:auto;min-width:0}.cut-list-table th:first-child,.cut-list-table th:nth-child(2),.cut-list-table td:first-child,.cut-list-table td:nth-child(2){padding:0;width:auto}.cut-list-table th:last-child{grid-column:1 / -1;padding-top:4px;font-size:.6875rem}.cut-list-table td:last-child{grid-column:1 / -1;padding:4px 0 0;text-align:left;white-space:normal}.cut-list-table td:last-child:before{color:var(--subtle);content:"Size · "}.cut-list-table .grain-turn{align-items:flex-start}}.library-recovery{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(640px,calc(100% - 32px));z-index:20;padding:12px 16px;border:1px solid #94bdf455;border-radius:8px;background:var(--panel-raised);box-shadow:0 8px 30px #0008;display:flex;align-items:center;gap:12px;justify-content:space-between}.library-recovery[hidden]{display:none}.cell-node{scroll-margin:12px}.cell-node:focus-visible{background:#24334b}.dashboard-footer{flex-wrap:wrap}.print3d-mode strong{font-size:.8125rem}.print3d-mode small,.print3d-dialog legend,.print3d-summary{font-size:.6875rem}.print3d-printer-grid .field{width:auto}@media(max-width:1100px){.workspace,.workspace.inspector-collapsed,.canvas-workspace,.canvas-workspace.inspector-collapsed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(220px,42%) minmax(0,1fr);overflow:hidden}.viewer-panel,.canvas-scene-panel{grid-column:1 / -1;grid-row:1;height:auto;min-height:0}.sidebar,.canvas-sidebar{grid-column:1;grid-row:2}.inspector,.canvas-inspector,.workspace.inspector-collapsed .inspector,.canvas-workspace.inspector-collapsed .canvas-inspector{display:block;grid-column:2;grid-row:2}.workspace.inspector-collapsed .inspector>*:not(.inspector-heading):not(.hidden):not(.canvas-tabs){display:block}.workspace.inspector-collapsed .inspector>.canvas-tabs{display:flex}.sidebar,.inspector,.canvas-sidebar,.canvas-inspector{overflow-y:auto;border-top:1px solid var(--line)}.panel-resizer,.scene-header .inspector-toggle,.scene-header #toggle-canvas-inspector{display:none}.viewer-panel .scene-container{height:100%}.scene-header .canvas-overlay-tl .canvas-legend-row{display:none}}@media(max-width:720px){.topbar{height:65px;padding:0 12px}.topbar .brand-mark{display:none}.brand-lockup{gap:8px;width:100%}.topbar-link{margin-right:0;flex:none}.brand-lockup>div:last-child{flex:1}.editor-name-input{width:100%;font-size:1rem}.editor-folder{display:none}.workspace,.workspace.inspector-collapsed,.canvas-workspace,.canvas-workspace.inspector-collapsed{height:calc(100dvh - 65px);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(220px,40%) 44px minmax(0,1fr)}.compact-pane-switch{display:flex;grid-column:1;grid-row:2;gap:4px;padding:4px 12px;background:var(--panel);border-bottom:1px solid var(--line)}.compact-pane-switch button{flex:1;background:transparent;border:1px solid transparent;border-radius:5px;font-size:.8125rem}.compact-pane-switch button[aria-pressed=true]{background:var(--panel-raised);border-color:var(--line);color:var(--accent-light)}.sidebar,.canvas-sidebar,.inspector,.canvas-inspector{grid-column:1!important;grid-row:3!important;height:auto}.workspace .inspector,.canvas-workspace .canvas-inspector{display:none!important}[data-compact-pane=inspector]>.sidebar,[data-compact-pane=inspector]>.canvas-sidebar{display:none}.workspace[data-compact-pane=inspector]>.inspector,.canvas-workspace[data-compact-pane=inspector]>.canvas-inspector{display:block!important}.field{width:100%}.dimensions-grid,.internal-item-grid,.cell-space-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board-role{grid-template-columns:90px minmax(0,1fr)}.board-roles .field{width:100%}.input-wrap input{min-width:60px}.scene-header{padding:6px 8px}.scene-header .canvas-overlay-tl{display:none}.canvas-overlay-bl{left:8px;bottom:8px}.canvas-viewcontrols-body{max-height:130px;overflow-y:auto}.library-panel-heading{gap:8px;align-items:center}.library-item-actions{width:100%;padding-left:0;justify-content:flex-end}.edit-name-button,.remove-placed,.canvas-chevron{min-width:40px;min-height:40px}.small-button,.primary-button,.ghost-button,.canvas-segmented button,.canvas-overlay-icon{min-height:40px}.canvas-overlay-icon{width:40px}.ghost-button{display:inline-flex}.dashboard-footer-actions{display:flex;flex-wrap:wrap;gap:6px}}@media(prefers-contrast:more){:root{--subtle: #d1d9e7;--muted: #e0e6ef;--line: #8494ae}.canvas-overlay,.scene-header,.inspector-card{background:#121a2c}.input-wrap,.select-wrap,.canvas-overlay-icon,.canvas-segmented,.carcass-control-group{border-color:var(--line)}.carcass-control-group.is-selected{border-color:var(--accent)}.editor-step-tab.active,.canvas-tab.is-active,.canvas-segmented button.is-active{outline:1px solid var(--line);outline-offset:-1px}}@media(prefers-reduced-transparency:reduce){.canvas-overlay,.canvas-viewcontrols,.sidebar,.inspector,.canvas-sidebar,.canvas-inspector{background:#121a2c;-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}}:root{--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--motion-reveal: .2s}.cell-node,.canvas-tab,.editor-step-tab,.canvas-segmented button,.placed-component{transition:none}.edit-name-button:hover,.small-button:hover,.primary-button:hover{transform:none}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){body:not([data-input=keyboard]) :is(.edit-name-button,.small-button,.primary-button):hover{transform:translateY(-1px)}}.fronts-control-chevron{transition:transform var(--motion-reveal) var(--ease-out)}@supports (interpolate-size: allow-keywords) and (selector(::details-content)){:is(.inspector-disclosure,details.inspector-card)[data-motion]::details-content{interpolate-size:allow-keywords;height:0;opacity:0;overflow:clip;transition:height var(--motion-reveal) var(--ease-out),opacity var(--motion-reveal) var(--ease-out),content-visibility var(--motion-reveal) allow-discrete}:is(.inspector-disclosure,details.inspector-card)[data-motion][open]::details-content{height:auto;opacity:1}:is(.inspector-disclosure,details.inspector-card)[data-motion]>summary{margin-bottom:0}@starting-style{:is(.inspector-disclosure,details.inspector-card)[data-motion][open]::details-content{height:0;opacity:0}}.scene-export-menu[data-motion]::details-content{transition:content-visibility var(--motion-reveal) allow-discrete}.scene-export-menu[data-motion] .scene-export-options{opacity:0;transform:scale(.95);transform-origin:top right;transition:opacity var(--motion-reveal) var(--ease-out),transform var(--motion-reveal) var(--ease-out)}.scene-export-menu[data-motion][open] .scene-export-options{opacity:1;transform:none}.scene-export-menu:not([open]) .scene-export-options{pointer-events:none}@starting-style{.scene-export-menu[data-motion][open] .scene-export-options{opacity:0;transform:scale(.95)}}}@supports (interpolate-size: allow-keywords) and (transition-behavior: allow-discrete){.fronts-control-details[data-motion]{interpolate-size:allow-keywords;height:auto;opacity:1;overflow:clip;transition:height var(--motion-reveal) var(--ease-out),opacity var(--motion-reveal) var(--ease-out),display var(--motion-reveal) allow-discrete}.fronts-control-details[data-motion].hidden{height:0;opacity:0}@starting-style{.fronts-control-details[data-motion]:not(.hidden){height:0;opacity:0}}}body[data-input=keyboard] *,body[data-input=keyboard] *:before,body[data-input=keyboard] *:after,body[data-input=keyboard] details::details-content{transition:none!important;animation:none!important}@media(prefers-reduced-motion:reduce){details::details-content{transition:none!important}.scene-export-options{transform:none!important}}
