.pf{--pf-fg: #0f172a;--pf-muted: #64748b;--pf-faint: #cbd5e1;--pf-panel: #ffffff;--pf-chip: #f1f5f9;--pf-border: #d8dee9;--pf-water: #2a78d6;--pf-water-fill: rgba(42, 120, 214, .28);--pf-water-deep: rgba(42, 120, 214, .5);--pf-hot: #d9480f;--pf-hot-fill: rgba(217, 72, 15, .32);--pf-good: #15803d;--pf-bad: #c2410c;margin:2rem 0}.dark .pf{--pf-fg: #e2e8f0;--pf-muted: #94a3b8;--pf-faint: #334155;--pf-panel: #18181b;--pf-chip: #27272a;--pf-border: #3f3f46;--pf-water: #60a5fa;--pf-water-fill: rgba(96, 165, 250, .26);--pf-water-deep: rgba(96, 165, 250, .45);--pf-hot: #fb923c;--pf-hot-fill: rgba(251, 146, 60, .32);--pf-good: #4ade80;--pf-bad: #fb923c}.pf__shell{border:1px solid var(--pf-border);border-radius:var(--radius-xl, .75rem);background:var(--pf-panel);padding:1rem 1rem .75rem}.pf svg{display:block;width:100%;height:auto;overflow:visible}.pf text{fill:var(--pf-muted);font-size:13px;font-family:inherit}.pf text.pf-strong{fill:var(--pf-fg);font-weight:600}.pf text.pf-hot{fill:var(--pf-hot);font-weight:700}.pf text.pf-water{fill:var(--pf-water);font-weight:600}.pf text.pf-var{font-family:KaTeX_Math,Times New Roman,serif;font-style:italic;font-size:15px}.pf text .pf-sub,.pf text.pf-var .pf-sub{font-size:11px}.pf var{font-family:KaTeX_Math,Times New Roman,serif;font-style:italic}.pf .pf-roof{fill:none;stroke:var(--pf-fg);stroke-width:3;stroke-linejoin:round}.pf .pf-chord{fill:none;stroke:var(--pf-fg);stroke-width:1.4}.pf .pf-web{fill:none;stroke:var(--pf-fg);stroke-width:.9;opacity:.8}.pf .pf-ghost{fill:none;stroke:var(--pf-muted);stroke-width:1.4;stroke-dasharray:6 5}.pf .pf-level{fill:none;stroke:var(--pf-water);stroke-width:1.6;stroke-dasharray:10 4}.pf .pf-water{fill:var(--pf-water-fill)}.pf .pf-ponded{fill:var(--pf-hot-fill)}.pf .pf-girder{fill:none;stroke:var(--pf-fg);stroke-width:3}.pf .pf-load{stroke:var(--pf-water);stroke-width:2}.pf .pf-tip{fill:var(--pf-water)}.pf .pf-dim{fill:none;stroke:var(--pf-muted);stroke-width:1.2}.pf .pf-dim-hot{fill:none;stroke:var(--pf-hot);stroke-width:1.6}.pf .pf-axis{fill:none;stroke:var(--pf-faint);stroke-width:1}.pf__caption{margin-top:.6rem;font-size:.8125rem;line-height:1.45;color:var(--pf-muted)}.pf__tabs{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem}.pf__tab,.pf__button{padding:.3rem .75rem;border:1px solid var(--pf-border);border-radius:999px;background:var(--pf-chip);font-size:.8125rem;font-weight:600;color:var(--pf-muted);cursor:pointer;white-space:nowrap}.pf__tab:hover,.pf__button:hover{color:var(--pf-fg)}.pf__tab[aria-selected=true],.pf__tab[aria-checked=true]{border-color:var(--pf-water);background:var(--pf-water);color:#fff}.pf__button:disabled{opacity:.4;cursor:default}.pf__tab:focus-visible,.pf__button:focus-visible{outline:2px solid var(--pf-water);outline-offset:2px}.pf__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.5rem}.pf__controls input[type=range]{flex:1 1 10rem;accent-color:var(--pf-water)}.pf__readouts{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin-top:.25rem}.pf__readout{display:flex;flex-direction:column;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--pf-muted)}.pf__readout b{font-size:1.5rem;font-weight:700;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;color:var(--pf-fg)}.pf__readout b.pf-hot{color:var(--pf-hot)}.pf__legend{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin-top:.5rem;font-size:.8125rem;color:var(--pf-muted)}.pf__swatch{display:inline-block;width:.9rem;height:.9rem;margin-right:.35rem;border-radius:3px;vertical-align:-.15rem}.pf tspan.pf-var{font-family:KaTeX_Math,Times New Roman,serif;font-style:italic}.pf .pf-fade{transition:opacity .45s ease}.pf .pf-fade.is-off{opacity:0}.pf .pf-col{stroke:var(--pf-fg);stroke-width:4}.pf .pf-iso-joist{fill:none;stroke:var(--pf-muted);stroke-width:1.6}.pf .pf-iso-joist.is-mid{stroke:var(--pf-fg);stroke-width:2.4}.pf .pf-iso-joist.is-cut{stroke:var(--pf-hot);stroke-width:3}.pf .is-dim{opacity:.3}.pf .pf-node{fill:var(--pf-panel);stroke:var(--pf-fg);stroke-width:1.3}.pf .pf-node.is-cut,.pf .pf-node.is-hot{fill:var(--pf-hot);stroke:var(--pf-hot)}.pf .pf-pond{fill:var(--pf-water-fill);stroke:var(--pf-water);stroke-width:1.2}.pf .pf-pond-face{fill:var(--pf-water-deep)}.pf .pf-cut{fill:var(--pf-hot-fill);fill-opacity:.35;stroke:var(--pf-hot);stroke-width:1.2;stroke-dasharray:6 4}.pf .pf-strip{fill:var(--pf-water-fill);stroke:var(--pf-panel);stroke-width:1.5}.pf .pf-strip.is-odd{fill:var(--pf-water-deep)}.pf .pf-strip.is-hot,.pf .pf-tile{fill:var(--pf-hot-fill)}.pf .pf-plan-joist{stroke:var(--pf-muted);stroke-width:1.4}.pf .pf-plan-joist.is-mid{stroke:var(--pf-fg);stroke-width:2}.pf .pf-dead{fill:var(--pf-muted);opacity:.3}.pf .pf-beam{stroke:var(--pf-fg);stroke-width:3}.pf .pf-beam.is-ghost{stroke:var(--pf-muted);stroke-width:1.4;stroke-dasharray:6 5}.pf .pf-support{fill:var(--pf-panel);stroke:var(--pf-fg);stroke-width:1.6}.pf .pf-react{fill:none;stroke:var(--pf-fg);stroke-width:2}.pf .pf-react.is-hot{stroke:var(--pf-hot)}.pf .pf-column{fill:var(--pf-chip);stroke:var(--pf-fg);stroke-width:1.6}.pf .pf-bar{fill:var(--pf-water-deep)}.pf .pf-bar.is-now{fill:var(--pf-hot)}.pf .pf-tip.is-water{fill:var(--pf-water)}.pf .pf-tip.is-ink{fill:var(--pf-fg)}.pf .pf-tip.is-hot{fill:var(--pf-hot)}.pf__track{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin-bottom:.75rem}.pf__track-arrow{font-size:.8125rem;color:var(--pf-muted)}.pf__tab.is-done{border-color:var(--pf-water);color:var(--pf-water)}.pf__tab[aria-current=step]{border-color:var(--pf-water);background:var(--pf-water);color:#fff}.pf .pf__points{display:grid;margin:0 0 .5rem}.pf .pf__points ol{grid-area:1 / 1;margin:0;padding:0;list-style:none;visibility:hidden}.pf .pf__points ol.is-now{visibility:visible}.pf .pf__points li{position:relative;margin:0 0 .2rem;padding:0 0 0 1rem;font-size:.9375rem;line-height:1.5;color:var(--pf-muted);transition:color .3s ease,opacity .3s ease}.pf .pf__points li:before{content:"";position:absolute;top:.6em;left:.1rem;width:.4rem;height:.4rem;border-radius:50%;background:var(--pf-faint)}.pf .pf__points li.is-now{color:var(--pf-fg);font-weight:600}.pf .pf__points li.is-now:before{background:var(--pf-water)}.pf .pf__points li.is-later{opacity:0}.pf__stage{display:grid}.pf__stage>div{grid-area:1 / 1}.pf__count{margin-left:auto;font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--pf-muted)}
