.roof-explorer{--roof-bg:#eeeae0;--roof-ink:#333e36;--roof-muted:#62685d;--roof-line:#c5c4b6;--roof-accent:#805233;--roof-steel-top:#acb5aa;--roof-steel-left:#758276;--roof-steel-right:#58695e;--roof-wood-top:#b98b5b;--roof-wood-left:#956940;--roof-wood-right:#775336;--roof-ground-top:#e1dfd2;--roof-ground-side:#c8cbbb;--roof-fabric:#faf5e8;--roof-fabric-shade:#ded6bd;background:var(--roof-bg);color:var(--roof-ink);border:1px solid var(--roof-line);border-radius:3px;align-self:center;min-width:0;margin:28px 28px 28px 0;padding:28px calc(clamp(16px,3vw,38px)) 18px}[dir=rtl] .roof-explorer{margin:28px 0 28px 28px}.dark .roof-explorer{--roof-bg:#202a25;--roof-ink:#eeeade;--roof-muted:#bac1b4;--roof-line:#536056;--roof-accent:#dfb58b;--roof-steel-top:#a5b3a7;--roof-steel-left:#6a7e70;--roof-steel-right:#50675a;--roof-wood-top:#c09867;--roof-wood-left:#a3784e;--roof-wood-right:#79573b;--roof-ground-top:#303d33;--roof-ground-side:#243028;--roof-fabric:#e7dfcb;--roof-fabric-shade:#b9b49c}.roof-explorer-heading{flex-direction:column;gap:7px;margin-bottom:20px;display:flex}.roof-kicker{letter-spacing:.12em;color:var(--roof-muted);font-size:.62rem}.roof-explorer .roof-explorer-heading h2{letter-spacing:0;margin:0;font-size:calc(clamp(1.05rem,1.65vw,1.45rem));font-weight:400;line-height:1.5}.roof-switcher{border:1px solid var(--roof-line);border-radius:3px;gap:4px;padding:4px;display:flex}.roof-switcher button{min-width:0;min-height:44px;color:var(--roof-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:2px;flex:1;padding:8px 7px;font-size:.76rem;line-height:1.5}.roof-switcher button[aria-selected=true]{color:var(--roof-bg);background:var(--roof-ink)}.roof-panel{min-width:0}.roof-scene{touch-action:pan-y;direction:ltr;width:100%;height:calc(clamp(260px,27vw,370px));display:block;overflow:visible}.roof-scene circle,.roof-scene path{stroke:var(--roof-ink);stroke-width:.65px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.roof-ground{--top:var(--roof-ground-top);--left:var(--roof-ground-side);--right:var(--roof-ground-side)}.roof-ground path{stroke:var(--roof-line);stroke-width:.5px}.roof-contact-shadow{fill:var(--roof-ink);opacity:.1;stroke:none}.roof-foot,.roof-steel{--top:var(--roof-steel-top);--left:var(--roof-steel-left);--right:var(--roof-steel-right)}.roof-wood{--top:var(--roof-wood-top);--left:var(--roof-wood-left);--right:var(--roof-wood-right)}.member-top{fill:var(--top)}.member-left{fill:var(--left)}.member-right{fill:var(--right)}.roof-scene .fabric-panel{fill:var(--roof-fabric);stroke:var(--roof-accent);stroke-width:1px}.roof-scene .fabric-panel-1{fill:var(--roof-fabric-shade)}.roof-scene .roof-seam{fill:none;stroke:var(--roof-accent);stroke-width:.85px}.roof-scene .roof-stitch{fill:none;stroke:#938b72;stroke-width:.45px;stroke-dasharray:2 2}.roof-membrane>g{transition:transform .18s cubic-bezier(.32,.72,0,1)}.roof-connections circle{fill:var(--roof-steel-top)}.roof-connections path{stroke:var(--roof-steel-right);stroke-width:2.2px}.roof-scene .is-selected .roof-member>path,.roof-scene .roof-connections.is-selected circle,.roof-scene .roof-membrane.is-selected .fabric-panel{stroke:var(--roof-accent);stroke-width:1.35px}.roof-parts{flex-wrap:wrap;justify-content:center;gap:5px;margin-top:4px;display:flex}.roof-parts button{font:inherit;min-height:44px;color:var(--roof-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:6px 9px;font-size:.65rem;line-height:1.6}.roof-parts button[aria-pressed=true]{border-color:var(--roof-line);color:var(--roof-ink);background:color-mix(in srgb,var(--roof-accent) 8%,transparent)}.roof-readout{border-top:1px solid var(--roof-line);justify-content:space-between;align-items:center;gap:12px;min-height:52px;margin-top:12px;padding-top:8px;font-size:.68rem;display:flex}.roof-readout>span:before{content:"";background:var(--roof-accent);border-radius:50%;width:5px;height:5px;margin-inline-end:8px;display:inline-block}.roof-replay{min-height:44px;color:var(--roof-ink);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:8px 0 8px 8px;display:inline-flex}.roof-replay>span{font-size:1.3rem;line-height:1}.roof-explorer button:focus-visible{outline:2px solid var(--roof-accent);outline-offset:3px}.roof-explorer>figcaption{color:var(--roof-muted);margin-top:5px;font-size:.61rem;line-height:1.8}.roof-change-enter-active,.roof-change-leave-active{transform-origin:200px 180px;transition:opacity .16s,transform .16s}.roof-change-enter-from,.roof-change-leave-to{opacity:0;transform:translateY(5px)}.is-assembling .roof-column{animation:.6s cubic-bezier(.32,.72,0,1) both roof-column;animation-delay:calc(var(--order) * 40ms);transform-box:fill-box;transform-origin:bottom}.is-assembling .roof-frame{animation:.7s cubic-bezier(.32,.72,0,1) .25s both roof-frame}.is-assembling .roof-cover{transform-box:fill-box;transform-origin:50%;animation:.8s cubic-bezier(.32,.72,0,1) .6s both roof-canopy}.is-assembling .roof-connections{animation:.5s .65s both roof-frame}.is-assembling .roof-slat{animation:.65s cubic-bezier(.32,.72,0,1) both roof-frame;animation-delay:calc(.5s + var(--order) * 45ms)}@keyframes roof-column{0%{opacity:0;transform:scaleY(.05)}to{opacity:1;transform:scaleY(1)}}@keyframes roof-frame{0%{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}@keyframes roof-canopy{0%{opacity:0;transform:scaleX(.03)}to{opacity:1;transform:scaleX(1)}}@media (width>=1600px){.roof-explorer{max-width:760px}.roof-explorer,[dir=rtl] .roof-explorer{margin-inline-end:calc(max(28px,50vw - 710px))}}@media (width<=1150px){.roof-explorer{margin:20px 20px 20px 0;padding:22px 16px 14px}[dir=rtl] .roof-explorer{margin:20px 0 20px 20px}.roof-parts button{padding-inline:7px}}@media (width<=800px){.roof-explorer,[dir=rtl] .roof-explorer{width:88%;max-width:620px;margin:0 auto 30px;padding:22px calc(clamp(12px,4vw,30px)) 16px}.roof-explorer .roof-explorer-heading h2{font-size:1.2rem}.roof-scene{aspect-ratio:5/4;height:auto;max-height:440px}}@media (width<=375px){.roof-explorer,[dir=rtl] .roof-explorer{width:calc(100% - 24px);padding-inline:10px}.roof-switcher button{font-size:.7rem}.roof-parts{gap:0}.roof-parts button{padding-inline:5px;font-size:.6rem}.roof-readout{font-size:.63rem}}@media (prefers-reduced-motion:reduce){.roof-explorer *{transition:none!important;animation:none!important}.roof-membrane>g{transform:none!important}}
