.bed-explorer{--bed-ink:#182b3e;--bed-muted:#4a5d70;--bed-line:#ccd6df;--bed-blue:#155bb5;color:var(--bed-ink);border:1px solid var(--bed-line);isolation:isolate;background:#fff;border-radius:16px;margin-block:24px;padding:clamp(12px,1.5vw,22px);font-size:15px;line-height:1.5}.bed-explorer *,.bed-explorer :before,.bed-explorer :after{box-sizing:border-box}.bed-explorer h2,.bed-explorer h3,.bed-explorer p{color:inherit;margin:0}.bed-explorer :is(h1,h2,h3,h4,h5,h6,label,strong){font-family:var(--font-body), sans-serif}.bed-explorer h2{letter-spacing:-.025em;font-size:clamp(22px,2vw,29px)}.bed-explorer h3{font-size:21px}.bed-explorer button,.bed-explorer input,.bed-explorer select{font:inherit}.bed-explorer button,.bed-explorer select,.bed-explorer input[type=number]{color:var(--bed-ink);background:#fff;border:1px solid #aab8c6;border-radius:7px;min-height:44px;padding:8px 12px}.bed-explorer button{cursor:pointer;text-transform:none;letter-spacing:normal}.bed-explorer button:hover{background:#eaf0f7}.bed-explorer button[aria-pressed=true]{color:#fff;background:#244866;border-color:#244866}.bed-explorer button:disabled{opacity:.5;cursor:not-allowed}.bed-explorer :focus-visible{outline:3px solid var(--bed-blue);outline-offset:3px}.bed-explorer a{color:#1255a4;text-underline-offset:3px;text-decoration:underline}.bed-explorer__heading,.bed-explorer__options,.bed-explorer__toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bed-explorer__heading{justify-content:space-between;gap:8px}.bed-explorer .bed-explorer__eyebrow{color:var(--bed-muted);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.bed-explorer .bed-explorer__warning{background:#edf3fa;border-left:3px solid #386b9e;max-width:none;margin-block:12px;padding:9px 12px;font-size:13px}.bed-explorer__layout{grid-template-columns:minmax(0,1fr) minmax(270px,22%);align-items:start;gap:16px;display:grid}.bed-explorer__scene{min-width:0}.bed-explorer__toolbar{margin-block:8px}.bed-explorer__toolbar button{font-size:13px}.bed-explorer__viewport{background:#f4f7fa;border:1px solid #d9e1e9;border-radius:10px;height:clamp(340px,57dvh,760px);position:relative;overflow:hidden}.bed-explorer__svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.bed-explorer__svg.is-dragging{cursor:grabbing}.bed-explorer__face{stroke:#56697a;stroke-width:.8px;vector-effect:non-scaling-stroke;fill:#bbc7d2}.bed-explorer__face--0,.bed-explorer__face--3{fill:#8d9eae}.bed-explorer__face--1,.bed-explorer__face--4{fill:#dce4eb}.bed-explorer__face--5{fill:#a2b2c1}.bed-explorer__svg.is-xray .bed-explorer__face{fill-opacity:.12;stroke-opacity:.42}.bed-explorer__svg.is-xray .bed-explorer__face.is-highlighted{fill-opacity:.28;stroke-opacity:1}.bed-explorer__wall-zone{fill:#bd7000;fill-opacity:.16;stroke:#875000;stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;cursor:pointer}.bed-explorer__wall-zone.is-selected{fill:#155bb5;stroke:#155bb5;fill-opacity:.3}.bed-explorer__joint-target.is-wall-interface .bed-explorer__joint-badge{fill:#fff0d5;stroke:#875000;stroke-dasharray:4 2}.bed-explorer__attachment-path{margin:12px 0;padding:0;list-style:none}.bed-explorer__attachment-path li{text-align:center;gap:4px;display:grid}.bed-explorer__attachment-path button{white-space:normal;width:100%;font-size:12px}.bed-explorer__attachment-path span{color:var(--bed-muted);padding-block:3px;font-size:11px}.bed-explorer__face.is-highlighted{fill:#5591d8;stroke:#134f9c;stroke-width:1.2px}.bed-explorer__face--1.is-highlighted,.bed-explorer__face--4.is-highlighted{fill:#93bceb}.bed-explorer__svg-label{fill:#41586c;pointer-events:none;font:12px ui-monospace,monospace}.bed-explorer .bed-explorer__hint{color:var(--bed-muted);margin-block:8px;font-size:12px}.bed-explorer__popup{z-index:3;cursor:auto;background:#fff;border:1px solid #859db3;border-radius:9px;width:min(276px,100% - 16px);max-height:330px;padding:14px;font-size:12px;position:absolute;overflow-y:auto;box-shadow:0 8px 30px #18334b26}.bed-explorer__popup .bed-explorer__dismiss{float:right;min-height:28px;margin:-6px -6px 4px 8px;padding:3px 7px;font-size:11px}.bed-explorer__popup>button:last-child{margin-top:10px;font-size:12px}.bed-explorer__inspector{border:1px solid var(--bed-line);background:#f8fafc;border-radius:10px;padding:18px}.bed-explorer label{margin-bottom:8px;font-weight:650;display:block}.bed-explorer__inspector select{width:100%;max-width:100%;font-size:13px}.bed-explorer__inspection{min-height:185px;margin-block:20px}.bed-explorer__part>strong{font-size:17px;display:block}.bed-explorer__part dl{margin:12px 0}.bed-explorer__part dl>div{border-bottom:1px solid #dde4eb;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;display:flex}.bed-explorer__part dt{color:var(--bed-muted);font-size:12px}.bed-explorer__part dd{text-align:right;white-space:nowrap;margin:0;font-weight:650}.bed-explorer__part a{padding-block:5px;font-size:13px;display:inline-block}.bed-explorer__part p,.bed-explorer .bed-explorer__caution{color:var(--bed-muted);margin-top:10px;font-size:12px}.bed-explorer__height{border-top:1px solid var(--bed-line);grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);gap:28px;margin-top:24px;padding-top:24px;display:grid}.bed-explorer__height p{color:var(--bed-muted);margin-block:8px 14px;font-size:13px}.bed-explorer__height-controls{align-items:center;gap:18px;display:flex}.bed-explorer__height-controls input[type=number]{width:95px}.bed-explorer__height-controls input[type=range]{min-width:0;min-height:44px;accent-color:var(--bed-blue);flex:1}.bed-explorer input[aria-invalid=true]{outline:2px solid #9a2540}.bed-explorer__metrics{grid-template-columns:1fr 1fr;align-content:center;gap:14px;margin:0;display:grid}.bed-explorer__metrics>div{background:#f1f5f9;border-radius:7px;padding:12px}.bed-explorer__metrics dt{color:var(--bed-muted);font-size:12px}.bed-explorer__metrics dd{margin:3px 0 0;font-size:23px;font-weight:650}.bed-explorer .bed-explorer__footnote{color:var(--bed-muted);border-top:1px solid var(--bed-line);margin-top:24px;padding-top:16px;font-size:12px}.bed-explorer__ai-brief{border:1px solid var(--bed-line);background:#f8fafc;border-radius:9px;margin-top:24px;padding:16px}.bed-explorer__ai-brief summary{cursor:pointer;min-height:44px;padding-block:10px;font-weight:650}.bed-explorer__ai-brief p{color:var(--bed-muted);margin-block:10px;font-size:13px}.bed-explorer__ai-brief textarea{resize:vertical;width:100%;max-width:100%;color:var(--bed-ink);background:#fff;border:1px solid #aab8c6;border-radius:7px;padding:12px;font:13px/1.6 ui-monospace,monospace;display:block}.bed-explorer__edit-controls{border-top:1px solid var(--bed-line);margin-top:24px;padding-top:20px}.bed-explorer__edit-controls>p{color:var(--bed-muted);margin-block:10px;font-size:13px}.bed-explorer__part-editor{border:1px solid var(--bed-line);border-radius:7px;min-width:0;margin:16px 0;padding:12px}.bed-explorer__part-editor legend{font-size:13px;font-weight:650}.bed-explorer__part-editor label{margin-top:12px;font-size:12px}.bed-explorer__part-editor button{margin-top:14px}.bed-explorer__part-editor p{color:var(--bed-muted);margin-top:12px;font-size:12px}.bed-explorer__removed{padding-left:20px}.bed-explorer__removed li{margin-block:8px;font-size:13px}.bed-explorer__removed button{margin-left:12px;font-size:12px}.bed-explorer__van-line{fill:none;stroke:#71869b;stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none;opacity:.7}.bed-explorer__van-line--guide{stroke-dasharray:5 5;opacity:.4}.bed-explorer__context-label{fill:#41586c;pointer-events:none;font:10px ui-monospace,monospace}.bed-explorer__connection{cursor:pointer}.bed-explorer__connection polyline{fill:none;stroke:#926000;stroke-width:1.6px;vector-effect:non-scaling-stroke}.bed-explorer__connection-hit{fill:#0000;stroke:none;pointer-events:all}.bed-explorer__connection-dot{fill:#fff4d5;stroke:#926000;stroke-width:1.5px;pointer-events:none}.bed-explorer__connection.is-selected polyline,.bed-explorer__connection.is-selected .bed-explorer__connection-dot{stroke:#155bb5;stroke-width:2.5px}.bed-explorer__connection.is-selected .bed-explorer__connection-dot{fill:#93bceb}.bed-explorer__context{border:1px solid var(--bed-line);background:#f8fafc;border-radius:9px;margin-top:22px;padding:16px}.bed-explorer__context summary{cursor:pointer;min-height:44px;padding-block:10px;font-weight:650}.bed-explorer__context p{color:var(--bed-muted);margin-block:10px;font-size:13px}.bed-explorer__context select{max-width:100%}.bed-explorer__hardware{stroke:#3e5366;stroke-width:.55px;vector-effect:non-scaling-stroke;fill:#c3d0dc;cursor:pointer}.bed-explorer__hardware--bracket,.bed-explorer__hardware--gusset,.bed-explorer__hardware--base{fill:#c3d0dc}.bed-explorer__hardware--bolt{fill:#455464}.bed-explorer__hardware--tnut{fill:#b18b38}.bed-explorer__hardware--cam{fill:#8696a6}.bed-explorer__hardware-shade-1{filter:brightness(.86)}.bed-explorer__hardware-shade-2{filter:brightness(1.1)}.bed-explorer__hardware.is-selected{stroke:#0c58bc;stroke-width:1.5px}.bed-explorer__joint-target{cursor:pointer}.bed-explorer__joint-target line{stroke:#476681;stroke-width:1px;stroke-dasharray:3 3;pointer-events:none}.bed-explorer__joint-hit{fill:#0000;stroke:none;pointer-events:all}.bed-explorer__joint-badge{fill:#fffffff0;stroke:#537795;stroke-width:1px;pointer-events:none}.bed-explorer__joint-target text{fill:#274861;font:11px var(--font-body), sans-serif;pointer-events:none;font-weight:650}.bed-explorer__joint-target.is-selected .bed-explorer__joint-badge,.bed-explorer__joint-target:focus-visible .bed-explorer__joint-badge{fill:#e0edff;stroke:#155bb5;stroke-width:2px}.bed-explorer__joint-target.has-warning .bed-explorer__joint-badge{stroke-dasharray:3 2}.bed-explorer__joint-details{overflow-wrap:anywhere}.bed-explorer__joint-details>strong{font-size:16px;display:block}.bed-explorer__joint-details p{margin-block:8px;font-size:12px}.bed-explorer__joint-details ul{margin-block:12px;padding-left:16px}.bed-explorer__joint-details li+li{margin-top:14px}.bed-explorer__joint-details a{font-size:12px}.bed-explorer__joint-details .bed-explorer__joint-type{color:#245e93;font-weight:600}.bed-explorer__popup--joint{max-height:min(330px,100% - 16px)}.bed-explorer__hardware-detail{border-bottom:1px solid var(--bed-line);margin-bottom:18px;padding-block:16px}.bed-explorer__hardware-detail>svg{background:#eaf0f5;border-radius:8px;width:100%;height:auto;margin-top:10px;display:block}.bed-explorer__hardware-detail h3{font-size:17px}.bed-explorer__hardware-detail p{color:var(--bed-muted);margin-block:10px;font-size:12px}.bed-explorer__hardware-detail label{font-size:12px}.bed-explorer__hardware-legend{font-weight:650}.workbench-page .bed-explorer__inspector{scrollbar-gutter:stable;max-height:calc(100dvh - 220px);overflow-y:auto}.workbench-page .bed-explorer__viewport{height:clamp(340px,100dvh - 345px,900px)}.bed-explorer__context li{margin-block:12px}.bed-explorer__connection-details{border:1px solid var(--bed-line);background:#fff;border-radius:8px;margin-block:16px;padding:16px}.bed-explorer--compact .bed-explorer__layout{grid-template-columns:minmax(0,1fr)}.bed-explorer--compact .bed-explorer__inspection{min-height:0}@media (max-width:1100px){.bed-explorer__layout,.bed-explorer__height{grid-template-columns:minmax(0,1fr)}.bed-explorer__inspection{min-height:0}.workbench-page .bed-explorer__inspector{max-height:none;overflow-y:visible}.bed-explorer__viewport,.workbench-page .bed-explorer__viewport{height:clamp(300px,55dvh,560px)}.workbench-heading{display:block}.workbench-heading p{margin-top:8px}}@media (max-width:420px){.bed-explorer{padding:12px}.bed-explorer__options{grid-template-columns:1fr 1fr;gap:6px;width:100%;display:grid}.bed-explorer__options button{padding-inline:6px;font-size:11px}.bed-explorer__eyebrow{display:none}.bed-explorer__toolbar{gap:5px}.bed-explorer__toolbar button{padding-inline:8px;font-size:12px}.bed-explorer__metrics{gap:8px}}@media (forced-colors:active){.bed-explorer{border-color:canvastext}.bed-explorer__face{fill:canvas;stroke:canvastext}.bed-explorer__face.is-highlighted{fill:highlight;stroke:highlighttext}.bed-explorer__svg-label{fill:canvastext}.bed-explorer__popup{border-color:canvastext}}
