.vb-calc,.vb-qty,.vb-doc{--vb-ease:cubic-bezier(.16, 1, .3, 1);--vb-shadow:0 10px 30px #202a3314;color:var(--v-text);position:absolute;inset:0}.vb-chip{border:1px solid var(--v-line);background:var(--v-surface);height:22px;color:var(--v-muted);font-family:var(--font-mono);letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-size:10.5px;font-weight:500;display:inline-flex}.vb-calc{container:vbcalc/size}.vb-calc-chips{z-index:2;gap:6px;display:flex;position:absolute;top:16px;left:16px}.vb-calc-status i{background:var(--v-accent);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite alternate vb-pulse}.vb-calc-status.is-ok{background:var(--v-accent-soft);color:var(--v-accent-deep);border-color:#0000}.vb-calc-status.is-ok i{animation:none}@keyframes vb-pulse{to{opacity:.25}}.vb-calc-frame{position:absolute;inset:66px 34px 24px}.vb-calc-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.vb-calc-svg line,.vb-calc-svg polyline{vector-effect:non-scaling-stroke}.vb-calc-members line{stroke-width:5px;stroke-linecap:round;transition:stroke-width .6s var(--vb-ease)}.vb-calc-ground{stroke:var(--v-line-strong);stroke-width:1px}.vb-calc-moment{fill:none;stroke:var(--v-accent);stroke-opacity:.35;stroke-width:1px;stroke-dasharray:2 3}.vb-calc-node,.vb-calc-support,.vb-calc-callout,.vb-calc-scan{position:absolute}.vb-calc-node{border:1.5px solid var(--v-text);background:var(--v-surface);border-radius:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px}.vb-calc-node.is-critical{border-color:var(--v-warn)}.vb-calc-node.is-critical:after{content:"";border:1px solid var(--v-warn);animation:vb-ring 2.4s var(--vb-ease) infinite;border-radius:50%;position:absolute;inset:-6px}@keyframes vb-ring{0%{opacity:.7;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}.vb-calc-support{background:var(--v-line-strong);clip-path:polygon(50% 0,100% 100%,0 100%);width:14px;height:7px;margin:1px 0 0 -7px;top:100%}.vb-calc-callout{background:var(--v-dark);color:#fff;font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;opacity:0;transition:opacity .5s var(--vb-ease), transform .6s var(--vb-ease);border-radius:7px;padding:4px 8px;font-size:10px;transform:translate(calc(-100% - 12px),-150%)}.vb-calc-callout sub{vertical-align:baseline;opacity:.7;font-size:8px}.vb-calc-scan{background:var(--v-accent);width:1px;transition:opacity .5s;top:-18px;bottom:0}.vb-calc-scan:before{content:"";background:linear-gradient(90deg, transparent, var(--v-accent-soft));width:64px;position:absolute;inset:0 0 0 auto}.vb-calc-panel{border:1px solid var(--v-line);background:var(--v-surface);width:min(236px,64%);box-shadow:var(--vb-shadow);transition:transform .7s var(--vb-ease), box-shadow .7s var(--vb-ease);border-radius:12px;padding:10px 12px 8px;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.vb-calc-panel-head{color:var(--v-faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;margin-bottom:4px;font-size:9.5px;display:flex}.vb-calc-panel-head span:first-child{color:var(--v-muted)}.vb-calc-row{grid-template-columns:minmax(0,1fr) auto 12px;align-items:center;gap:5px 8px;padding:5px 0;display:grid}.vb-calc-row+.vb-calc-row{border-top:1px solid var(--v-line)}.vb-calc-row-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.vb-calc-row-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11.5px}.vb-calc-check{fill:none;width:12px;height:12px;stroke:var(--v-accent);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .4s ease, transform .5s var(--vb-ease);transform:scale(.6)}.vb-calc.is-done .vb-calc-check{opacity:1;transform:none}.vb-calc-row:nth-child(3) .vb-calc-check{transition-delay:80ms}.vb-calc-row:nth-child(4) .vb-calc-check{transition-delay:.16s}.vb-calc-bar{background:var(--v-line);border-radius:2px;grid-column:1/-1;height:3px;overflow:hidden}.vb-calc-bar span{border-radius:inherit;background:var(--v-accent);transform-origin:0;height:100%;display:block}.vb-calc-row.is-warm .vb-calc-bar span{background:var(--v-warn)}@container vbcalc (height<=290px){.vb-calc-frame{inset:58px 26px 20px}.vb-calc-panel{padding:8px 10px 6px;bottom:14px}.vb-calc-row{gap:4px 8px;padding:3px 0}}@media (hover:hover){.bento-card--calculation:hover .vb-calc-callout{opacity:1;transform:translate(calc(-100% - 12px),-50%)}.bento-card--calculation:hover .vb-calc-members line{stroke-width:7px}.bento-card--calculation:hover .vb-calc-panel{transform:translate(-50%,-4px);box-shadow:0 16px 40px #202a331f}}.vb-qty{container:vbqty/size}.vb-qty-panel{--row-h:30px;border:1px solid var(--v-line);background:var(--v-surface);box-shadow:var(--vb-shadow);border-radius:12px;padding:14px 14px 12px;position:absolute;top:18px;left:18px;right:18px}.vb-qty-head{justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 4px;display:flex}.vb-qty-title{letter-spacing:-.015em;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.vb-qty-title svg{fill:none;width:16px;height:16px;stroke:var(--v-accent);stroke-width:1.4px;stroke-linecap:round}.vb-qty-grid{grid-template-columns:minmax(0,1fr) 72px 64px;align-items:center;gap:12px;padding:0 8px;display:grid}.vb-qty-grid>:nth-child(n+2){text-align:right}.vb-qty-cols{border-bottom:1px solid var(--v-line);color:var(--v-faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding-bottom:7px;font-size:9.5px}.vb-qty-rows{padding-top:4px;position:relative}.vb-qty-highlight{height:var(--row-h);background:color-mix(in srgb, var(--v-accent) 7%, transparent);transform:translateY(calc(var(--active) * 100%));transition:transform .9s var(--vb-ease);border-radius:8px;position:absolute;top:4px;left:0;right:0}.vb-qty-row{height:var(--row-h);opacity:0;transition:opacity .6s ease, transform .8s var(--vb-ease);font-size:12px;position:relative;transform:translateY(6px)}.vb-qty.is-on .vb-qty-row{opacity:1;transition-delay:calc(.1s + var(--r) * .11s);transform:none}.vb-qty-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.vb-qty-name span{color:var(--v-muted);font-weight:400}.vb-qty-num{color:var(--v-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px}.vb-qty-kg{color:var(--v-text);transition:color .5s}.vb-qty-row.is-active .vb-qty-kg{color:var(--v-accent-deep)}.vb-qty-foot{border-top:1px solid var(--v-line);margin-top:8px;padding:12px 8px 0}.vb-qty-total{justify-content:space-between;align-items:baseline;display:flex}.vb-qty-total span{color:var(--v-muted);font-size:12px;font-weight:500}.vb-qty-total strong{font-family:var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:19px;font-weight:500}.vb-qty-total small{color:var(--v-muted);font-size:11px;font-weight:400}.vb-qty-share{gap:3px;height:4px;margin-top:10px;display:flex}.vb-qty-share span{background:color-mix(in srgb, var(--v-accent) 22%, transparent);border-radius:2px;flex-basis:0;transition:background-color .6s}.vb-qty-share span.is-active{background:var(--v-accent)}@container vbqty (width<=400px){.vb-qty-grid{grid-template-columns:minmax(0,1fr) 60px 46px;gap:8px;padding:0 6px}}@container vbqty (height<=290px){.vb-qty-panel{--row-h:28px;padding:12px 10px 10px;top:14px;left:14px;right:14px}.vb-qty-head{margin-bottom:8px}.vb-qty-cols{display:none}.vb-qty-rows{padding-top:0}.vb-qty-highlight{top:0}.vb-qty-share{display:none}.vb-qty-foot{padding-top:10px}}@media (hover:hover){.bento-card--quantities .vb-qty-panel{transition:transform .7s var(--vb-ease), box-shadow .7s var(--vb-ease)}.bento-card--quantities:hover .vb-qty-panel{transform:translateY(-3px);box-shadow:0 16px 40px #202a331f}}.vb-doc{container:vbdoc/size}.vb-doc-side{z-index:2;border:1px solid var(--v-line);background:var(--v-surface);width:156px;box-shadow:var(--vb-shadow);border-radius:12px;padding:6px;position:absolute;top:50%;left:24px;transform:translateY(-50%)}.vb-doc-stat{color:var(--v-muted);letter-spacing:-.01em;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:12px;font-weight:500;display:flex}.vb-doc-stat strong{color:var(--v-text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.vb-doc-stat.is-active{background:var(--v-panel);color:var(--v-text)}.vb-doc-progress{border-top:1px solid var(--v-line);color:var(--v-faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums;margin:4px 4px 2px;padding:9px 6px 4px;font-size:9.5px}.vb-doc-progress i{background:var(--v-line);border-radius:2px;height:3px;margin-top:7px;display:block;overflow:hidden}.vb-doc-progress i:after{content:"";background:var(--v-accent);transform-origin:0;height:100%;animation:9s linear both vb-doc-progress;display:block}@keyframes vb-doc-progress{0%{transform:scaleX(0)}40%,to{transform:scaleX(1)}}.vb-doc-stack{aspect-ratio:420/297;width:min(360px,100% - 270px,141.4cqh - 67.872px);position:absolute;top:50%;left:calc(50% + 90px);transform:translate(-50%,-50%)}.vb-doc-sheet{background:var(--v-surface);width:100%;height:100%;box-shadow:0 0 0 1px var(--v-line), var(--vb-shadow);transition:transform .8s var(--vb-ease);border-radius:4px;display:block;position:absolute;inset:0}.vb-doc-sheet--back2{background:var(--v-panel);transform:translate(16px,-12px)rotate(3.5deg)}.vb-doc-sheet--back1{transform:translate(8px,-6px)rotate(1.6deg)}.vb-doc-border{fill:none;stroke:var(--v-text);stroke-opacity:.28;stroke-width:.8px}.vb-doc-border--inner{stroke-opacity:.5;stroke-width:1px}.vb-doc-ink{fill:none;stroke:var(--v-text);stroke-opacity:.72;stroke-width:1.1px;stroke-linejoin:round;stroke-dasharray:1;animation:vb-doc-draw 1.6s cubic-bezier(.65, 0, .35, 1) var(--d,0s) both}@keyframes vb-doc-draw{0%{stroke-dashoffset:1px;fill-opacity:0}}@keyframes vb-doc-fade{0%{opacity:0}}.vb-doc-member{fill:var(--v-text);fill-opacity:.05;stroke-width:1.3px}.vb-doc-thin{stroke-width:.8px;stroke-opacity:.5}.vb-doc-plot{animation:9s linear both vb-doc-cycle}@keyframes vb-doc-cycle{0%,93%{opacity:1}to{opacity:0}}.vb-doc-plot text{fill:var(--v-text);fill-opacity:.7;font-family:var(--font-mono);letter-spacing:.04em;text-anchor:middle;font-size:8px;animation:.8s 1.4s both vb-doc-fade}.vb-doc-axis .vb-doc-ink{stroke-opacity:.22;stroke-width:.8px}.vb-doc-axis circle:not(.vb-doc-ink){fill:var(--v-surface);stroke:var(--v-text);stroke-opacity:.45;stroke-width:.8px}.vb-doc-dim .vb-doc-ink{stroke:var(--v-accent);stroke-opacity:1;stroke-width:.9px}.vb-doc-ticks{fill:none;stroke:var(--v-accent);stroke-width:1.2px;animation:.6s 2s both vb-doc-fade}.vb-doc-plot .vb-doc-dim text{fill:var(--v-accent-deep);fill-opacity:1;font-size:10px;animation-delay:2s}.vb-doc-detail .vb-doc-ink:first-child{stroke:var(--v-accent);stroke-opacity:.8}.vb-doc-bolts circle{fill:var(--v-text);fill-opacity:.55;animation:.6s 3s both vb-doc-fade}.vb-doc-plot .vb-doc-detail text{animation-delay:3s}.vb-doc-plot .vb-doc-title text{text-anchor:start;font-size:7px;animation-delay:1s}.vb-doc-plot .vb-doc-title .vb-doc-brand{fill-opacity:1;letter-spacing:.14em;font-size:9px;font-weight:700}@container vbdoc (width<=520px){.vb-doc-side{width:auto;box-shadow:none;background:0 0;border:0;gap:6px;padding:0;display:flex;top:14px;left:14px;right:14px;transform:none}.vb-doc-stat{border:1px solid var(--v-line);background:var(--v-surface);border-radius:999px;gap:6px;height:24px;padding:0 9px;font-size:11px}.vb-doc-progress{display:none}.vb-doc-stack{width:min(100% - 64px,141.4cqh - 118.776px);top:calc(50% + 20px);left:50%}}@media (hover:hover){.bento-card--documentation:hover .vb-doc-sheet--front{transform:translate(-10px,4px)rotate(-1.2deg)}.bento-card--documentation:hover .vb-doc-sheet--back1{transform:translate(16px,-8px)rotate(3deg)}.bento-card--documentation:hover .vb-doc-sheet--back2{transform:translate(32px,-10px)rotate(6deg)}}@media (prefers-reduced-motion:reduce){.vb-calc *,.vb-calc :before,.vb-calc :after,.vb-qty *,.vb-doc *,.vb-doc :after{transition:none!important;animation:none!important}.vb-calc-node.is-critical:after{display:none}.vb-qty-row{opacity:1;transform:none}}.va-root{font-variant-numeric:tabular-nums;position:absolute;inset:0;container-type:size}.va-root svg{width:100%;height:100%;display:block;overflow:visible}.va-panel{z-index:2;border:1px solid var(--v-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-radius:12px;position:absolute;box-shadow:0 10px 30px #202a3314}.va-panel-title{color:var(--v-faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:0 0 10px;font-size:10px;font-weight:500;display:flex}.va-live{color:var(--v-accent);letter-spacing:.04em;text-transform:none;align-items:center;gap:5px;display:inline-flex}.va-live:before{content:"";width:5px;height:5px;box-shadow:0 0 0 3px var(--v-accent-soft);background:currentColor;border-radius:50%;animation:2.4s ease-in-out infinite va-pulse}@keyframes va-pulse{50%{opacity:.35}}.va-model{cursor:crosshair}.va-model-stage{position:absolute;inset:6px 6px 6px 30%}.va-footprint{fill:var(--v-accent);fill-opacity:.05}.va-member{stroke:var(--v-text);stroke-width:1.15px;stroke-linecap:round}.va-member--column,.va-member--rafter{stroke-opacity:.72}.va-member--purlin,.va-member--eave,.va-member--ridge{stroke-opacity:.32;stroke-width:.9px}.va-member--base{stroke-opacity:.16;stroke-dasharray:3 3}.va-member.is-front{stroke:var(--v-accent);stroke-opacity:1;stroke-width:1.8px}.va-dimension line{stroke:var(--v-accent);stroke-width:1px;stroke-opacity:.55;stroke-dasharray:2 3}.va-model-label-bg{fill:#fff;stroke:var(--v-accent);stroke-opacity:.35;stroke-width:.15px}.va-model-label{fill:var(--v-accent-deep);font-family:var(--font-mono);font-weight:600}.va-ridge-dot{fill:var(--v-accent)}.va-model-panel{width:min(196px,34%);padding:13px 14px 11px;top:14px;left:14px}.va-param{grid-template-columns:1fr auto;row-gap:6px;margin-bottom:11px;display:grid}.va-param-name{color:var(--v-muted);font-size:11.5px;font-weight:500}.va-param-value{color:var(--v-text);font-family:var(--font-mono);font-size:11px;font-weight:600}.va-slider{background:var(--v-line);border-radius:2px;grid-column:1/-1;height:2px;position:relative}.va-slider-fill{border-radius:inherit;background:var(--v-accent);position:absolute;inset:0 auto 0 0}.va-slider-knob{border:1.5px solid var(--v-accent);background:#fff;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #202a332e}.va-panel-foot{border-top:1px solid var(--v-line);color:var(--v-faint);font-family:var(--font-mono);justify-content:space-between;gap:8px;margin:2px 0 0;padding-top:9px;font-size:10px;display:flex}@container (width<=520px){.va-model-stage{inset:4px 4px 70px}.va-model-panel{grid-template-columns:1fr 1fr;column-gap:16px;width:auto;padding:10px 12px;display:grid;inset:auto 10px 10px}.va-model-panel .va-panel-title,.va-model-panel .va-panel-foot,.va-model-panel .va-param:nth-of-type(n+3){display:none}.va-param{margin-bottom:0}}.va-present{background:radial-gradient(120% 90% at 50% 0%, #17324a 0%, var(--v-dark) 62%);cursor:ew-resize}.va-present svg{height:calc(100% - 28px);position:absolute;inset:22px 0 6px}.va-floor line{stroke:#96c8f033;stroke-width:.8px}.va-shadow{fill:#00060e8c}.va-face{stroke:#ffffff24;stroke-width:.08px;stroke-linejoin:round}.va-rib{stroke:#0a1e3238;stroke-width:.7px}.va-door{fill:#081422b8}.va-present-ui{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ebf6ff8c;font-family:var(--font-mono);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:2px;padding:3px;font-size:10px;display:flex;position:absolute}.va-present-ui--top{top:12px;left:12px}.va-present-ui--top span{border-radius:999px;padding:4px 9px}.va-present-ui--top .is-active{color:#fff;background:#ffffff24}.va-present-ui--sun{gap:8px;padding:6px 11px;bottom:12px;right:12px}.va-sun-icon{background:#ffd27a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #ffbf47}.va-sun-track{background:#ffffff29;border-radius:2px;width:54px;height:2px;position:relative}.va-sun-track span{background:#fff;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;transform:translate(-50%,-50%)}.va-sun-time{color:#fff}.va-present-caption{z-index:2;color:#ebf6ff80;font-family:var(--font-mono);letter-spacing:.04em;margin:0;font-size:10px;position:absolute;bottom:14px;left:14px}@container (width<=380px){.va-present-caption{display:none}}.va-export-wires{position:absolute;top:0;left:41%;width:17%!important}.va-wire{fill:none;stroke:var(--v-line-strong);stroke-width:1px;transition:stroke .4s}.va-wire.is-done{stroke:#2b8cd173}.va-wire-pulse{fill:none;stroke:var(--v-accent);stroke-width:2px;stroke-linecap:round;stroke-dasharray:18 100;animation:.65s cubic-bezier(.45,0,.2,1) forwards va-wire-run}@keyframes va-wire-run{0%{stroke-dashoffset:18px}to{stroke-dashoffset:-100px}}.va-export-source{gap:4px;width:36%;padding:14px;display:grid;top:50%;left:5%;transform:translateY(-50%)}.va-export-mark{background:var(--v-accent-soft);border-radius:9px;place-items:center;width:30px;height:30px;margin-bottom:6px;display:grid}.va-export-mark img{object-fit:contain;width:15px;height:17px}.va-export-file{color:var(--v-text);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.va-export-meta{color:var(--v-muted);font-size:11px}.va-export-progress{background:var(--v-line);border-radius:3px;height:3px;margin-top:10px;overflow:hidden}.va-export-progress span{border-radius:inherit;background:var(--v-accent);height:100%;transition:width .5s cubic-bezier(.16,1,.3,1);display:block}.va-export-status{color:var(--v-faint);font-family:var(--font-mono);font-size:10px}.va-export-list{margin:0;padding:0;list-style:none;position:absolute;inset:0 5% 0 58%}.va-export-row{left:0;right:0;top:calc(11% + var(--row) * 15.6%);border:1px solid var(--v-line);background:#fff;border-radius:9px;align-items:center;gap:8px;height:30px;padding:0 8px 0 4px;transition:border-color .4s,box-shadow .4s,transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;transform:translateY(-50%)}.va-export-ext{background:var(--v-panel);min-width:38px;color:var(--v-muted);font-family:var(--font-mono);text-align:center;border-radius:6px;padding:4px 0;font-size:9.5px;font-weight:700;transition:background .4s,color .4s}.va-export-label{color:var(--v-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;font-weight:500;overflow:hidden}.va-export-check{border:1px solid var(--v-line-strong);border-radius:50%;flex:none;width:14px;height:14px;transition:background .3s,border-color .3s}.va-export-row.is-active{box-shadow:0 0 0 3px var(--v-accent-soft);border-color:#2b8cd180;transform:translate(-3px,-50%)}.va-export-row.is-done .va-export-ext{background:var(--v-accent-soft);color:var(--v-accent-deep)}.va-export-row.is-done .va-export-label{color:var(--v-text)}.va-export-row.is-done .va-export-check{border-color:var(--v-accent);background:var(--v-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M4 7.2l2 2 4-4.4' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat}@container (width<=420px){.va-export-source{width:38%;padding:11px;left:4%}.va-export-meta{display:none}.va-export-list{left:62%;right:5%}.va-export-row{justify-content:space-between}.va-export-label{display:none}.va-export-wires{left:42%;width:20%!important}}@media (prefers-reduced-motion:reduce){.va-live:before,.va-wire-pulse{animation:none}.va-wire,.va-export-row,.va-export-ext,.va-export-check,.va-export-progress span{transition:none}}
