:root{--paper:#f6f7f5;--ink:#111311;--muted:#70746f;--line:#11131129;--wash:#eef0ec;--signal:#a8d66f;--danger:#a34f3b;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Neue Haas Grotesk,Helvetica Neue,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--paper);margin:0}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}h1,h2,h3,p{margin:0}svg{flex:none}.app{background:var(--paper);display:flex;position:fixed;inset:0;overflow:hidden}.editor-layout{flex:1;min-width:0;min-height:0}.workspace{z-index:0;background:var(--paper);position:fixed;inset:0}.viewer-wrap{min-width:0;min-height:0;position:absolute;inset:0}.material-legend{z-index:4;border:1px solid var(--line);width:min(340px,100vw - 36px);color:var(--ink);background:#fffffff0;border-radius:7px;padding:10px 12px;font-size:12px;position:absolute;bottom:54px;right:18px;box-shadow:0 5px 18px #1113111f}.material-legend summary{cursor:pointer;font-weight:650}.material-legend p{color:var(--muted);margin:8px 0}.material-legend-items{flex-wrap:wrap;gap:7px 12px;margin-bottom:8px;display:flex}.material-legend-items b{border:1px solid;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:inline-grid}.material-legend small{color:var(--muted)}.viewer-loading{height:100%;color:var(--muted);place-items:center;font-size:13px;display:grid}.topbar{z-index:20;pointer-events:none;align-items:center;gap:18px;height:56px;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.brand{white-space:nowrap;align-items:center;gap:9px;display:flex}.brand-logo{object-fit:contain;width:18px;height:18px}.brand-name{font-family:Neue Haas Grotesk Text Pro,Neue Haas Grotesk,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:18px;font-weight:600;line-height:1}.brand-divider{background:var(--line);width:1px;height:18px}.brand h1{letter-spacing:-.45px;font-size:16px;font-weight:500;line-height:1}.document-title{flex:1;justify-content:center;align-items:center;gap:9px;display:flex}.document-title input{text-align:center;background:0 0;border:0;border-bottom:1px solid #0000;width:min(240px,28vw);padding:5px 0;font-size:13px}.document-title input:focus{border-bottom-color:var(--line)}.save-indicator,.concept-label,.count,.status-chip,.eyebrow{color:var(--muted);font:10px/1.2 IBM Plex Mono,Cascadia Mono,Consolas,monospace}.topbar-actions{align-items:center;gap:1px;display:flex}@media (max-width:1000px){.topbar-actions .button span{display:none}}.button,.quiet-action,.view-button,.inspector-tabs button,.units button{min-height:44px;color:var(--ink);white-space:nowrap;background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:500;line-height:1.2;display:inline-flex}.button:hover:not(:disabled),.quiet-action:hover:not(:disabled),.view-button:hover:not(:disabled),.inspector-tabs button:hover,.units button:hover{background:#1113110d}.button.primary{background:var(--ink);color:var(--paper)}.button.danger{color:var(--danger)}.button.full{width:100%}.icon-button{width:44px;height:44px;color:var(--muted);background:0 0;border:0;place-items:center;display:inline-grid}.icon-button:hover{color:var(--ink);background:#1113110d}.text-button{color:var(--ink);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.workspace-toolbar{z-index:12;top:calc(62px + var(--notice-height,0px));position:fixed;left:20px}.toolbar-group,.workspace-actions,.projection-toggle{align-items:center;gap:1px;display:flex}.toolbar-group{flex-wrap:wrap;gap:0 12px;max-width:calc(100vw - 40px)}.toolbar-cluster{white-space:nowrap;flex:none;align-items:center;gap:2px;min-height:44px;display:inline-flex;position:relative}.toolbar-cluster:not(:first-child):before{content:"";background:var(--line);pointer-events:none;width:1px;height:18px;position:absolute;top:13px;left:-6px}.toolbar-label{color:var(--muted);margin-right:4px;font-size:11px;font-weight:500}.workspace-toolbar .view-button,.workspace-toolbar .units button,.workspace-toolbar .snap-toggle{background:0 0;border:0;min-width:32px;min-height:44px;padding:0;font-size:11px;font-weight:500}.workspace-toolbar .projection-toggle .view-button{width:32px;height:44px;padding:0}.toolbar-control-content{justify-content:center;align-items:center;gap:5px;height:28px;padding:0 4px;line-height:14px;display:inline-flex;position:relative}.projection-control-content{width:28px;padding:0}.toolbar-control-content:after,.toolbar-select-control:after{content:"";background:var(--ink);opacity:0;pointer-events:none;height:1px;position:absolute;bottom:3px;left:6px;right:6px}.workspace-toolbar .active .toolbar-control-content:after,.toolbar-select-control:after{opacity:1}.workspace-toolbar .snap-toggle:has(input:checked) .toolbar-control-content:after{opacity:1}.workspace-toolbar .view-button:hover:not(:disabled),.workspace-toolbar .units button:hover{background:0 0}.workspace-toolbar .view-button:hover:not(:disabled) .toolbar-control-content,.workspace-toolbar .units button:hover .toolbar-control-content,.workspace-toolbar .snap-toggle:hover .toolbar-control-content,.toolbar-select-control:hover:before{background:#1113110d}.workspace-toolbar .projection-toggle .view-button:focus-visible{outline:0}.workspace-toolbar .projection-toggle .view-button:focus-visible .projection-control-content{outline:2px solid var(--ink);outline-offset:0}.workspace-toolbar .snap-toggle{cursor:pointer;position:relative}.workspace-toolbar .snap-toggle input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.workspace-toolbar .snap-toggle .toolbar-control-content{pointer-events:none}.workspace-toolbar .snap-toggle:has(input:focus-visible) .toolbar-control-content{outline:2px solid var(--ink);outline-offset:2px}.toolbar-toggle-state{color:var(--muted);font-size:10px}.toolbar-select-control{align-items:center;height:44px;display:inline-flex;position:relative}.toolbar-select-control:before{content:"";pointer-events:none;position:absolute;inset:8px 0}.toolbar-select-control:after{bottom:11px}.view-style-select select{background:0 0;border:0;width:auto;min-height:44px;padding:0 4px;font-size:11px;font-weight:500;position:relative}@media (max-width:720px),(hover:none),(pointer:coarse){.workspace-toolbar .view-button,.workspace-toolbar .units button,.workspace-toolbar .snap-toggle{min-width:44px}.workspace-toolbar .projection-toggle .view-button{width:44px}.toolbar-cluster:before{display:none}}.view-button.active,.quiet-action.active,.inspector-tabs button.active,.units button.active{border-bottom-color:var(--ink)}.units{align-items:center;display:flex}.snap-toggle{min-height:44px;color:var(--muted);align-items:center;gap:5px;padding:0 8px;font-size:11px;display:inline-flex}.snap-toggle input,.check-field input{width:16px;height:16px;accent-color:var(--ink)}.workspace-actions{z-index:12;position:fixed;bottom:16px;left:20px}.workspace-actions button[aria-pressed=true],.workspace-actions button[aria-expanded=true]{text-decoration:underline;-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal);text-underline-offset:7px;text-decoration-thickness:3px}.workspace-summary{z-index:12;align-items:center;gap:5px;display:flex;position:fixed;bottom:16px;right:20px}.summary-metrics{align-items:center;display:flex}.metric:not(:first-child),.metric span{display:none}.metric strong{color:var(--muted);font:400 11px/1.2 IBM Plex Mono,Cascadia Mono,Consolas,monospace}.workspace-summary .button{text-underline-offset:3px;text-decoration:underline}.drag-status{width:max-content;max-width:min(320px,100vw - 150px);color:var(--ink);pointer-events:none;background:#f7f8f5f0;align-items:flex-start;gap:6px;padding:5px 7px;font-size:12px;line-height:1.5;display:flex;position:absolute;top:calc(100% + 8px);left:0}.drag-status svg{flex:none;margin-top:2px}.blank-workspace{z-index:12;text-align:center;width:min(280px,100vw - 40px);position:fixed;top:43%;left:50%;transform:translate(-50%,-50%)}.blank-workspace h2{margin:13px 0 7px;font-size:18px;font-weight:500}.blank-workspace p{color:var(--muted);margin-bottom:12px;font-size:13px;line-height:1.45}.floating-panel{z-index:15;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f7f5f5;width:min(310px,100vw - 32px);max-height:min(60vh,620px);display:none;position:fixed;overflow:auto;box-shadow:0 12px 35px #11131117}.floating-panel.panel-open{flex-direction:column;display:flex}.library-pane{top:calc(104px + var(--notice-height,0px));left:20px}.inspector-pane{--inspector-top:calc(76px + var(--notice-height,0px));--inspector-bottom-space:64px;--inspector-effective-top:min(var(--inspector-top), max(12px, calc(100dvh - var(--inspector-bottom-space) - 96px)));top:var(--inspector-effective-top);width:min(420px,100vw - 40px);max-height:max(64px, calc(100dvh - var(--inspector-effective-top) - var(--inspector-bottom-space)));right:20px;overflow:visible}.inspector-pane[data-scroll-panel]{overflow:auto}.inspector-pane[data-scroll-panel] .inspector-details{flex-shrink:0}.inspector-details{opacity:1;visibility:visible;flex:0 auto;grid-template-rows:1fr;min-height:0;transition:grid-template-rows .22s ease-in-out,opacity .16s ease-in-out,visibility;display:grid}.inspector-details-inner{flex-direction:column;min-height:0;display:flex;overflow:hidden}.inspector-pane[data-collapsed=true] .inspector-details{opacity:0;visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .22s ease-in-out,opacity .16s ease-in-out,visibility 0s .22s}.inspector-top,.inspector-tabs{flex:none}.inspector-content{overscroll-behavior:contain;flex:0 auto;min-height:64px;scroll-padding:14px;overflow:auto}.inspector-content>.root-name{margin:8px 14px 0}.pane-heading,.inspector-top{justify-content:space-between;align-items:flex-start;gap:8px;padding:13px 14px 7px;display:flex}.inspector-top{grid-template-columns:minmax(0,1fr);gap:0;padding:4px 14px 0;transition:padding-bottom .22s ease-in-out;display:grid}.inspector-pane[data-collapsed=true] .inspector-top{padding-bottom:4px}.inspector-details .selection-title{flex:none;margin-top:0;padding:0 14px 4px}.inspector-top .section-title{width:100%}.inspector-header-actions{align-items:center;margin-left:auto;display:flex}.inspector-collapse-chevron{transition:transform .22s ease-in-out;transform:rotate(180deg)}.inspector-pane[data-collapsed=true] .inspector-collapse-chevron{transform:rotate(0)}@media (min-width:721px) and (hover:hover) and (pointer:fine){.inspector-header-actions .icon-button{width:32px;height:32px}}.inspector-details .selection-title>div:last-child{min-width:0}.inspector-details .selection-title h2{overflow-wrap:anywhere}.pane-heading h2,.selection-title h2{font-size:15px;font-weight:500}.floating-panel .mobile-close{display:inline-grid}.pane-copy{color:var(--muted);padding:0 14px 11px;font-size:11px;line-height:1.45}.inspector-tabs{align-items:center;gap:1px;display:flex}.inspector-tabs button{min-height:44px;padding:0 7px}.object-library{padding-bottom:8px}.objects-title{color:var(--muted);letter-spacing:.06em;justify-content:space-between;padding:0 14px 7px;font-size:10px;display:flex}.tree-row{border-left:1px solid #0000;align-items:center;min-height:44px;padding-right:4px;font-size:11px;display:flex}.tree-row.selected{border-left-color:var(--ink);background:#1113110a}.tree-row.hidden-row{opacity:.55}.tree-select{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:6px;min-width:0;min-height:44px;padding:5px 0;display:flex}.tree-select span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-spacer{width:44px}.tree-swatch,.table-swatch{border:1px solid #1113112e;width:9px;height:9px;display:inline-block}.tree-row .icon-button{width:44px;height:44px}.tree-bottom,.empty-tree{color:var(--muted);padding:9px 14px;font-size:11px;line-height:1.45}.selection-title{align-items:center;gap:8px;margin-top:7px;display:flex}.selection-symbol{width:30px;height:30px;color:var(--muted);place-items:center;display:grid}.selection-title p{color:var(--muted);margin-top:2px;font-size:11px}.root-name{color:var(--muted);gap:4px;margin-top:10px;font-size:10px;display:grid}.root-name input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;padding:5px 0;font-size:13px}.inspector-tabs{border-bottom:1px solid var(--line);padding:0 14px 4px}.inspector-section{padding:10px 14px 12px}.inspector-section.tab-hidden{display:none}.section-title{justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.field-label{color:var(--muted);margin:12px 0 6px;font-size:10px;display:block}.helper{color:var(--muted);margin-top:8px;font-size:11px;line-height:1.45}.custom-finish-options{border-top:1px solid var(--line);margin-top:8px;padding-top:8px;font-size:11px}.custom-finish-options>summary{cursor:pointer;color:var(--muted);padding:5px 0}.custom-finish-options>summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.color-input-row{color:var(--muted);align-items:center;gap:8px;margin-top:10px;font-size:11px;display:flex}.color-input-row input{border:1px solid var(--line);background:0 0;width:36px;height:32px;padding:2px}.custom-finish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.custom-finish-grid .field-label{margin:8px 0 6px}.custom-finish-grid .color-input-row{margin-top:0}.custom-finish-grid select{height:32px;padding:4px 8px}.color-hex{color:var(--ink);font-family:IBM Plex Mono,Cascadia Mono,Consolas,monospace}select,input:not([type=checkbox]):not([type=color]):not([aria-label=Workspace\ name]){border:1px solid var(--line);color:var(--ink);background:#ffffff8c;border-radius:0;padding:8px}.inspector-section select{width:100%}.material-source{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.4}.material-source a{color:inherit}.check-field{color:var(--muted);align-items:flex-start;gap:7px;margin-top:11px;font-size:11px;line-height:1.4;display:flex}.dimension-grid,.position-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.dimension-cell{border-bottom:1px solid var(--line);text-align:center;padding:8px 3px}.dimension-cell span{color:var(--muted);font-size:10px;display:block}.dimension-cell strong{margin-top:5px;font-size:12px;font-weight:500;display:block}.position-grid label{color:var(--muted);font-size:10px}.position-grid input{width:100%;margin-top:4px;padding:7px 5px}.two-buttons{gap:6px;margin-top:10px;display:flex}.two-buttons .button{flex:1}.empty-selection{color:var(--muted);padding:14px;font-size:12px;line-height:1.45}.workspace-notices{z-index:30;flex-direction:column;gap:8px;max-height:32dvh;display:flex;position:fixed;top:58px;left:20px;right:20px;overflow:auto}.banner{border:1px solid var(--line);background:var(--paper);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:11px;display:flex}.error-banner{color:var(--danger)}.build-version{border-top:1px dotted var(--line);color:var(--muted);margin-top:18px;padding-top:12px;font-size:12px}.build-version summary{cursor:pointer;color:var(--ink)}.build-version p{margin:9px 0}.build-version a{color:var(--ink);text-underline-offset:3px}.build-fingerprint{overflow-wrap:anywhere}.recovery-records{border-top:1px dotted var(--line);color:var(--muted);margin-top:16px;padding-top:12px;font-size:12px}.recovery-records summary{cursor:pointer;color:var(--ink)}.recovery-records p{overflow-wrap:anywhere;margin:10px 0}.recovery-record+.recovery-record{border-top:1px dotted var(--line);margin-top:12px}.toast{z-index:40;border:1px solid var(--line);background:var(--paper);align-items:center;gap:9px;max-width:calc(100vw - 32px);padding:9px 11px;font-size:12px;display:flex;position:fixed;bottom:62px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #1113111f}.app-footer{display:none}.dialog{border:1px solid var(--line);background:var(--paper);width:500px;max-width:calc(100vw - 32px);max-height:85dvh;color:var(--ink);border-radius:0;padding:18px;overflow:auto;box-shadow:0 20px 80px #1113112e}.dialog.wide{width:860px}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1113113d}.dialog-heading{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.dialog h2{font-size:18px;font-weight:500}.dialog-description{color:var(--muted);margin-bottom:12px;font-size:13px;line-height:1.5}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;margin-top:15px;display:flex}.library-list{gap:6px;display:grid}.library-item{border:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px;display:flex}.library-item div{flex:1}.library-item strong{font-size:13px;font-weight:500;display:block}.library-item small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.table-scroll{border:1px solid var(--line);overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:9px}th{color:var(--muted);font-size:10px;font-weight:500}.estimate-note{background:var(--wash);color:var(--muted);gap:9px;margin-top:10px;padding:10px;font-size:11px;line-height:1.45;display:flex}.estimate-note strong{color:var(--ink);display:block}@media (max-width:720px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:2px 7px;height:92px;padding:7px 10px;display:grid}.brand{grid-column:1/-1;min-width:0}.brand-logo{width:15px;height:15px}.brand-name{font-size:15px}.brand h1{text-overflow:ellipsis;font-size:14px;overflow:hidden}.document-title{justify-content:flex-start}.document-title input{text-align:left;width:112px}.save-indicator,.topbar-actions .button span{display:none}.workspace-toolbar{top:calc(96px + var(--notice-height,0px));left:10px}.workspace-actions{flex-wrap:wrap;max-width:calc(100vw - 16px);bottom:52px;left:8px}.workspace-summary{bottom:8px;right:8px}.library-pane{top:calc(196px + var(--notice-height,0px));left:10px}.floating-panel{width:min(310px,100vw - 20px);max-height:max(100px, calc(100dvh - 356px - var(--notice-height,0px)))}.inspector-pane{--inspector-top:calc(196px + var(--notice-height,0px));--inspector-bottom-space:164px;top:var(--inspector-effective-top);width:min(370px,100vw - 20px);max-height:max(64px, calc(100dvh - var(--inspector-effective-top) - var(--inspector-bottom-space)));right:10px}.workspace-notices{top:96px;left:10px;right:10px}.dialog{padding:14px}}@media (max-width:720px) and (max-height:600px){.inspector-pane{--inspector-top:calc(104px + var(--notice-height,0px))}}@media (max-width:480px) and (min-height:481px){.library-pane{top:calc(240px + var(--notice-height,0px))}.inspector-pane{--inspector-top:calc(240px + var(--notice-height,0px))}}@media (max-width:480px) and (min-height:550px) and (max-height:600px){.inspector-pane{--inspector-bottom-space:min(164px, calc(100dvh - var(--inspector-top) - 96px))}}@media (max-width:360px){.toolbar-group{column-gap:8px}}@media (max-width:720px) and (max-height:480px){.inspector-pane{--inspector-bottom-space:12px}:is(.app:has(.inspector-pane.panel-open) .workspace-toolbar,.app:has(.inspector-pane.panel-open) .workspace-actions,.app:has(.inspector-pane.panel-open) .workspace-summary){visibility:hidden}}@keyframes panel-reveal{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0}}.floating-panel.panel-open,.dialog[open]{animation:.18s ease-out panel-reveal}button{transition:background-color .16s ease-out,color .16s ease-out}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.structure-details{border-top:1px solid var(--line)}.structure-details>summary{cursor:pointer;color:var(--muted);padding:9px 12px;font-size:10px}.structure-details .tree-row{min-height:28px;padding-top:0;padding-bottom:0}.structure-details .tree-select{min-height:26px}.structure-details .icon-button{width:24px;height:24px}.assembly-breadcrumb{background:#f6f7f5eb;width:max-content;max-width:calc(100vw - 150px);margin-top:6px;position:relative}.assembly-mode-hint{color:#267baa;padding:2px 4px 5px;font-size:11px;line-height:1.4;display:block}.print-direction{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:14px}.print-direction select,.print-direction .text-button{min-height:44px}
