.tool{max-width:var(--max);padding-top:48px}.tool h1{margin:6px 0 8px;font-size:clamp(30px,4.6vw,42px)}.tool .sub{max-width:720px;color:var(--ink-2);margin:0 0 28px}.tool-grid{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (max-width:860px){.tool-grid{grid-template-columns:minmax(0,1fr)}}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:18px 20px}.panel+.panel{margin-top:16px}.panel h2{margin:0 0 12px;font-size:17px}.panel h3{color:var(--ink-2);margin:18px 0 8px;font-size:15px;font-weight:600}.fields{grid-template-columns:1fr 1fr;gap:12px 14px;display:grid}.fields .full{grid-column:1/-1}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>span{color:var(--ink-2);font-size:13px}.field small{color:var(--ink-2);opacity:.85;font-size:12px}.field input,.field select,.field textarea,.calc-input{font:inherit;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;padding:8px 10px;font-size:15px}.field textarea{font-family:var(--font-mono);resize:vertical;font-size:13px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus,.calc-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.check{align-items:center;gap:8px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent)}.seg{border:1px solid var(--line);background:var(--paper-2);border-radius:999px;flex-wrap:wrap;padding:3px;display:inline-flex}.seg button{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:14px}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.tbtn{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600}.tbtn:hover{border-color:var(--accent)}.tbtn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tbtn.primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.stat{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;padding:12px 14px}.stat .k{font-size:12.5px;font-family:var(--font-mono);letter-spacing:.02em;color:var(--steel)}.stat .v{font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;font-weight:700;line-height:1.2}.stat .u{color:var(--ink-2);margin-left:4px;font-size:14px;font-weight:500}.stat .x{color:var(--ink-2);margin-top:2px;font-size:13px}.stat.hi{border-color:var(--accent)}.ttable{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.ttable th,.ttable td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:7px 8px}.ttable th:first-child,.ttable td:first-child{text-align:left}.ttable th{color:var(--ink-2);background:var(--paper-2);font-size:12.5px;font-weight:600}.ttable tfoot td{border-top:2px solid var(--ink);border-bottom:0;font-weight:700}.ttable tr.sel td{background:color-mix(in srgb, var(--accent) 14%, transparent)}.ttable tbody tr{cursor:default}.scroll{max-width:100%;overflow-x:auto}.note{color:var(--ink-2);border-left:3px solid var(--steel);background:var(--paper-2);border-radius:0 6px 6px 0;margin:14px 0 0;padding:6px 12px;font-size:13.5px}.warn{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--paper));border-radius:0 6px 6px 0;margin:0 0 12px;padding:8px 12px;font-size:14px}.err{color:#c0392b;margin:6px 0 0;font-size:13px}.steps{counter-reset:step;gap:10px;margin:0;padding:0;list-style:none;display:grid}.steps li{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:12px 14px 12px 50px;position:relative}.steps li:before{counter-increment:step;content:counter(step);background:var(--ink);width:24px;height:24px;color:var(--paper);font:600 12px/24px var(--font-mono);text-align:center;border-radius:50%;position:absolute;top:12px;left:14px}.steps strong{display:block}.steps .cl{font-family:var(--font-mono);color:var(--steel);font-size:11.5px}.steps p{font-family:var(--font-mono);color:var(--ink-2);overflow-wrap:anywhere;margin:4px 0 0;font-size:13px}.calc{gap:10px;display:grid}.calc-screen{background:var(--ink);color:var(--paper);font-family:var(--font-mono);border-radius:10px;flex-direction:column;justify-content:space-between;gap:6px;min-height:96px;padding:12px 14px;display:flex}.calc-screen .calc-input{color:var(--paper);font-family:var(--font-mono);background:0 0;border:0;padding:0;font-size:18px}.calc-screen .calc-input:focus{outline:none}.calc-screen .out{text-align:right;overflow-wrap:anywhere;font-size:32px;font-weight:500;line-height:1.15}.calc-screen .out.bad{color:#f6a19a;font-size:15px}.calc-screen .mode{letter-spacing:.1em;opacity:.7;justify-content:space-between;font-size:11px;display:flex}.keys{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.keys button{font:500 15px var(--font-mono);border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:8px;min-width:0;padding:11px 0}.keys button:hover{border-color:var(--accent)}.keys button.fn{background:var(--paper-2);font-size:13px}.keys button.op{color:var(--accent-ink);font-weight:600}.keys button.eq{background:var(--accent);color:#fff;border-color:var(--accent)}.history{gap:4px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.history button{text-align:right;width:100%;font:13.5px var(--font-mono);border:0;border-bottom:1px dashed var(--line);color:var(--ink-2);cursor:pointer;overflow-wrap:anywhere;background:0 0;padding:6px 2px}.history button b{color:var(--ink);font-weight:600}.conv-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px;display:grid}.conv-row .swap{margin-bottom:4px}.all-units{margin-top:12px}.all-units td{font-size:13.5px}.formula{gap:4px;display:grid}.xs-svg{background:var(--paper-2);border:1px solid var(--line);border-radius:8px;width:100%;height:auto;display:block}.xs-svg .grid line{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.xs-svg .ground{fill:none;stroke:#2e8b57;stroke-width:2px;vector-effect:non-scaling-stroke}.xs-svg .design{fill:none;stroke:var(--ink);stroke-width:2.2px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.xs-svg .cutfill-cut{fill:#c0392b;opacity:.28}.xs-svg .cutfill-fill{fill:var(--accent);opacity:.35}.xs-svg .cl{stroke:var(--steel);stroke-dasharray:4 4;stroke-width:1px;vector-effect:non-scaling-stroke}.xs-svg text{font-family:var(--font-mono);fill:var(--ink-2);font-size:11px}.xs-svg text.lbl{fill:var(--ink);font-weight:500}.xs-nav{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.xs-nav .ch{font-family:var(--font-mono);padding:0 6px;font-size:15px;font-weight:600}.xs-nav input[type=range]{min-width:120px;accent-color:var(--accent);flex:1}.legend{color:var(--ink-2);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12.5px;display:flex}.legend i{vertical-align:middle;border-radius:2px;width:14px;height:10px;margin-right:6px;display:inline-block}.thumbs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.thumbs button{border:1px solid var(--line);background:var(--paper);cursor:pointer;text-align:left;font:12px var(--font-mono);color:var(--ink-2);border-radius:8px;padding:6px}.thumbs button[aria-pressed=true]{border-color:var(--accent)}.mh-svg{width:100%;height:auto;display:block}.mh-svg path{fill:none;stroke:var(--steel);stroke-width:2px;vector-effect:non-scaling-stroke}.mh-svg line{stroke:var(--line);vector-effect:non-scaling-stroke}.mh-svg text{font:11px var(--font-mono);fill:var(--ink-2)}@media print{.site-header,.site-footer,.no-print{display:none!important}.tool-grid{grid-template-columns:1fr}body{background:#fff}}.phase{grid-template-columns:minmax(0,1fr) minmax(110px,.9fr) minmax(0,1fr);gap:0 10px;min-height:380px;transition:grid-template-rows .6s cubic-bezier(.2,.8,.2,1);display:grid}.phase-hd{font:600 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--steel)}.phase-ft{color:var(--ink-2);font-size:13px;font-family:var(--font-mono);padding-top:8px}.phase-ft.left{text-align:right}.phase-ft.mid{text-align:center}.phase-cell{border-bottom:1px dashed var(--line);overflow-wrap:anywhere;flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:4px 0;font-size:13px;display:flex}.phase-cell.left{text-align:right;border-right:2px solid var(--line);align-items:flex-end;padding-right:10px}.phase-cell.right{border-left:2px solid var(--line);padding-left:10px}.phase-cell .mono{color:var(--ink-2);font-size:12px}.phase-cell b{font-variant-numeric:tabular-nums;font-size:15px}.phase-block{border:2px solid var(--ink);border-top-width:0;place-items:center;font-size:14px;font-weight:600;display:grid}.phase-block.top{border-top-width:2px;border-radius:6px 6px 0 0}.phase-block.bottom{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.phase-block.solid{color:#fff;background-color:#b98b5a;background-image:radial-gradient(circle at 30% 40%,#ffffff2e 0 3px,#0000 4px),radial-gradient(circle at 70% 70%,#0000001f 0 4px,#0000 5px);background-size:18px 16px,22px 20px}.phase-block.water{color:#fff;background:linear-gradient(#5aa6d6,#3b82b8)}.phase-block.air{background:color-mix(in srgb, var(--paper-2) 70%, #fff);color:var(--ink-2)}.phase-cap{color:var(--ink-2);text-align:center;grid-column:1/-1;margin:10px 0 0;font-size:12.5px}@media (max-width:520px){.phase{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);gap:0 6px}.phase-cell .mono{font-size:10.5px}.phase-cell b{font-size:13px}.phase-ft{font-size:11px}}.phase-table td{vertical-align:top;white-space:normal}.phase-table td:last-child{white-space:nowrap}.phase-table .fx{text-align:left;font-family:var(--font-mono);min-width:220px;font-size:12.5px}.phase-table th:nth-child(2){text-align:left}.phase-table .subst{color:var(--ink-2);margin-top:2px}.given{font:600 10.5px var(--font-mono);text-transform:uppercase;color:var(--accent-ink);border:1px solid var(--accent);border-radius:999px;margin-left:6px;padding:0 6px}.relations{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;display:grid}.relations div{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;gap:2px;padding:8px 12px;display:grid}.relations code{color:var(--ink);font-size:13.5px}.relations span{color:var(--ink-2);font-size:12.5px}.compaction .sat{fill:none;stroke-width:2px;vector-effect:non-scaling-stroke}.compaction .sat.s0{stroke:#3b82b8}.compaction .sat.s1{stroke:#3b82b8;stroke-dasharray:6 4;opacity:.8}.compaction .sat.s2{stroke:#3b82b8;stroke-dasharray:2 4;opacity:.7}.compaction .now{stroke:var(--accent);stroke-dasharray:3 3}.compaction .pt{fill:var(--accent);stroke:var(--paper);stroke-width:2px}.legend i.sw{border-top:2px solid #3b82b8;height:0}.legend i.sw.s1{border-top-style:dashed}.legend i.sw.s2{border-top-style:dotted}.level-seg button{padding:8px 20px;font-weight:600}.beam-dia{touch-action:none;gap:4px;display:grid}.beam-svg{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.beam-svg text{font:11.5px var(--font-mono);fill:var(--ink-2)}.beam-svg .ahead{fill:var(--ink)}.beam-svg .ahead.react{fill:#2e8b57}.beam-body{fill:var(--ink)}.load line,.load path{stroke:var(--ink);stroke-width:1.6px}.load text{fill:var(--ink);font-weight:500}.load.dist polygon{fill:color-mix(in srgb, var(--accent) 22%, transparent);stroke:var(--accent);stroke-width:1px}.load.draggable{cursor:grab}.load.dragging line{stroke:var(--accent)}.support polygon,.support circle{fill:var(--paper);stroke:var(--ink);stroke-width:1.6px}.support line{stroke:var(--ink);stroke-width:1.6px}.support .wall{stroke:none}.support .wall-edge{stroke-width:2.5px}.hatch{stroke:var(--ink-2);stroke-width:1.4px}.hinge{fill:var(--paper);stroke:var(--ink);stroke-width:2px}.react-line{stroke:#2e8b57;stroke-width:2px}.react text{fill:#2e8b57;font-weight:600}.dims line{stroke:var(--ink-2);stroke-width:1px}.cross{stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 3;pointer-events:none}.plot .area{stroke:none;transition:d .45s}.plot .line{fill:none;stroke-width:2px;vector-effect:non-scaling-stroke;transition:d .45s}.plot .axis{stroke:var(--ink);stroke-width:1.2px}.plot .ttl{font:600 12.5px var(--font-sans);fill:var(--ink)}.plot .ttl .u{fill:var(--ink-2);font-weight:400}.plot .val{fill:var(--ink);font-weight:500}.sfd .area{fill:color-mix(in srgb, var(--steel) 22%, transparent)}.sfd .line{stroke:var(--steel)}.bmd .area{fill:color-mix(in srgb, var(--accent) 26%, transparent)}.bmd .line{stroke:var(--accent-ink)}.defl .area{fill:#2e8b5724}.defl .line{stroke:#2e8b57}.cf circle{fill:var(--paper);stroke:#c0392b;stroke-width:2px}.cf text{fill:#c0392b}.beam-read{color:var(--ink-2);background:var(--paper-2);border-radius:6px;min-height:36px;padding:8px 10px;font-size:13px}.beam-read b{color:var(--ink)}.case-list{gap:6px;display:grid}.case{text-align:left;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:6px 10px;font-size:14px;display:flex}.case[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--paper))}.case-ic{flex:none;width:72px}.case-ic rect,.case-ic path{fill:var(--ink)}.case-ic line{stroke:var(--ink);stroke-width:2px}.case-ic .q{fill:color-mix(in srgb, var(--accent) 45%, transparent)}.case-ic .wall{fill:var(--ink-2)}.formula-list{gap:8px;display:grid}.formula-list>div{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;gap:2px;padding:8px 12px;display:grid}.formula-list .k{font:600 12px var(--font-mono);letter-spacing:.02em;color:var(--steel)}.formula-list code{font-size:14px}.formula-list .v{font:13px var(--font-mono);color:var(--ink-2);overflow-wrap:anywhere}.formula-list .v b{color:var(--ink)}.rows{gap:8px;display:grid}.row-ed{border:1px solid var(--line);background:var(--paper);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:8px;display:flex}.row-ed .field{flex:80px}.row-ed .field input,.row-ed .field select{padding:6px 8px;font-size:14px}.row-ed .field>span{font-size:12px}.tag-k{font:600 11px var(--font-mono);text-transform:uppercase;color:var(--accent-ink);align-self:center;width:100%}.tbtn.del{margin-bottom:1px;padding:6px 12px}.eqs td{white-space:normal;font-family:var(--font-mono);text-align:left;font-size:13px}.eqs th{text-align:left}.mac-terms td{font-family:var(--font-mono);text-align:left;white-space:normal;font-size:12.5px}.mac-terms td:first-child{font-family:var(--font-sans);color:var(--ink-2)}.lesson h2{margin:4px 0 8px;font-size:19px}.lesson p:not(.eyebrow){margin:0;font-size:15.5px}.lesson .eyebrow{margin:0}.dots{gap:6px;margin-top:12px;display:flex}.dots button{background:var(--line);cursor:pointer;border:0;border-radius:50%;width:10px;height:10px;padding:0}.dots button[aria-pressed=true]{background:var(--accent)}.mohr-svg{touch-action:none;-webkit-user-select:none;user-select:none;cursor:ew-resize;width:100%;height:auto;display:block}.mohr-svg text{font:12px var(--font-mono);fill:var(--ink-2)}.mohr-svg .ttl{font:600 12.5px var(--font-sans);fill:var(--ink)}.mohr-svg .axis0{stroke:var(--line);stroke-width:1.5px;stroke-dasharray:4 4}.mohr-svg .wallm{fill:var(--ink-2)}.mohr-svg .supm{fill:var(--paper);stroke:var(--ink);stroke-width:1.5px}.mohr-svg .ecurve{fill:none;stroke:var(--ink);stroke-width:3px}.mohr-svg .tan{stroke-width:1.6px;stroke-dasharray:7 5;opacity:.55;transition:opacity .3s}.mohr-svg .tanA{stroke:var(--steel)}.mohr-svg .tanB{stroke:#8e44ad}.mohr-svg .tan.hl{opacity:1;stroke-width:2.2px}.mohr-svg .dev line{stroke:#c0392b;stroke-width:3px}.mohr-svg .dev text,.mohr-svg .thlab{fill:#c0392b;font-size:13px;font-weight:600}.mohr-svg .pt circle{stroke:var(--paper);stroke-width:2px}.mohr-svg .ptA circle,.mohr-svg .ptA rect{fill:var(--steel)}.mohr-svg .ptB circle,.mohr-svg .ptB rect{fill:#8e44ad}.mohr-svg .pt text{fill:#fff;font-weight:700}.mohr-svg .guide{stroke:var(--line);stroke-width:1px}.mohr-svg .mshade{fill:color-mix(in srgb, var(--accent) 30%, transparent);transition:fill .3s}.mohr-svg .mshade.hl{fill:color-mix(in srgb, var(--accent) 55%, transparent)}.mohr-svg .mline{fill:none;stroke:var(--accent-ink);stroke-width:2px}.mohr-svg .cent circle{fill:#c0392b}.mohr-svg .cent line{stroke:#c0392b;stroke-width:1.5px}.mohr-svg .cent text{fill:#c0392b;font-weight:600}.mohr-top{grid-template-columns:minmax(0,1fr) 180px;align-items:start;gap:12px;display:grid}@media (max-width:640px){.mohr-top{grid-template-columns:1fr}.elems{grid-template-columns:1fr 1fr;display:grid}}.mc-svg{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:var(--paper-2);border-radius:8px;width:100%;height:auto;display:block}.mc-svg text{font:12px var(--font-mono);fill:var(--ink-2)}.mc-svg .ax{stroke:var(--ink-2);stroke-width:1px}.mc-svg .tick line{stroke:var(--ink-2)}.mc-svg .tick text{font-size:10.5px}.mc-svg .axl{fill:var(--ink);font-weight:600}.mc-svg .ring{fill:color-mix(in srgb, var(--steel) 8%, transparent);stroke:var(--steel);stroke-width:2.2px}.mc-svg .dia{stroke:var(--ink-2);stroke-width:1.4px;stroke-dasharray:5 4}.mc-svg .dia.now{stroke:var(--accent);stroke-dasharray:none;stroke-width:2px}.mc-svg .rad{stroke:#c0392b;stroke-width:2.5px}.mc-svg .arc{fill:none;stroke:var(--accent);stroke-width:2px}.mc-svg .lab{fill:#c0392b;font-weight:600}.mc-svg .arcl{fill:var(--accent-ink)}.mc-svg .pc circle{fill:var(--ink)}.mc-svg .pp circle{fill:#2e8b57}.mc-svg .pp text{fill:#2e8b57;font-weight:600}.mc-svg .ps circle,.mc-svg .ps text{fill:#8e44ad}.mc-svg .ptx{fill:var(--steel)}.mc-svg .pty{fill:var(--ink-2)}.mc-svg .pnow circle{fill:var(--accent);stroke:var(--paper);stroke-width:2px}.mc-svg .pnow text{fill:#fff;font-size:9px;font-weight:700}.mc-svg .hl circle{r:7}.mc-svg .hl text{font-size:13.5px;font-weight:700}.mc-svg .ring.hl,.mc-svg .dia.hl{stroke-width:3.2px;stroke:#c0392b}.elems{gap:10px;display:grid}.elem{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;margin:0;padding:6px}.elem svg{width:100%;height:auto;display:block}.elem figcaption{font:11.5px var(--font-mono);color:var(--ink-2);text-align:center}.elem figcaption b{font-family:var(--font-sans);color:var(--ink);font-size:12.5px}.elem .esq{fill:color-mix(in srgb, var(--accent) 22%, var(--paper));stroke:var(--ink);stroke-width:1.6px;transition:all .3s}.elem .eax{stroke:var(--line);stroke-dasharray:3 3}.elem .xprime{stroke:var(--accent-ink);stroke-dasharray:3 2}.elem .en{stroke:var(--steel);stroke-width:2.2px}.elem .et{stroke:#c0392b;stroke-width:2.2px}.elem .eah{fill:var(--ink)}.eq{line-height:2.1}.steps p.eq,.steps .cl.eq,.eq.cl,.phase-table .eq,.case-rows .eq,.eq.reads,p.eq.note{letter-spacing:0;font-family:Cambria Math,Cambria,STIX Two Text,Latin Modern Roman,Georgia,Times New Roman,serif}.steps p.eq,.phase-table .eq{font-size:1.06em}.eq-big{vertical-align:-.12em;font-size:1.9em;font-weight:300;line-height:0}.eq-sqrt.tall .eq-rad{font-size:2.1em;transform:translateY(.06em)}.eq-frac{vertical-align:middle;text-align:center;flex-direction:column;margin:0 .18em;line-height:1.25;display:inline-flex}.eq-num{border-bottom:1.2px solid;padding:0 .2em .08em}.eq-den{padding:.08em .2em 0}.eq-frac .eq-frac{font-size:.92em}.eq-sqrt{white-space:nowrap;align-items:stretch;display:inline-flex}.eq-rad{align-self:flex-end;margin-right:-1px;font-size:1.15em;line-height:1}.eq-under{border-top:1.2px solid;flex-wrap:wrap;align-items:center;padding:0 .15em;display:inline-flex}.eq sub,.eq sup{font-size:.72em;line-height:0}.eq sub{vertical-align:-.3em}.reads{color:inherit;opacity:.85;padding:2px 4px 0;font-size:16px}.mc-svg{cursor:default}.mc-svg.live{cursor:grab}.mc-svg .proj{stroke:var(--steel);stroke-width:1px;stroke-dasharray:2 3}.mc-svg .leg{stroke:#c0392b;stroke-width:1.6px;stroke-dasharray:4 3}.mc-svg .ring.draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:1.1s ease-out forwards mc-draw}@keyframes mc-draw{to{stroke-dashoffset:0}}.mc-svg .hl.ptx,.mc-svg .px.hl circle{r:7.5}.guided .g-formula{background:var(--paper-2);border-left:3px solid var(--accent);border-radius:4px;margin:12px 0 4px;padding:8px 12px;font-family:Cambria Math,Cambria,Georgia,Times New Roman,serif;font-size:19px}.g-ask{margin-top:12px}.g-ask label>span:first-child{margin-bottom:6px;font-size:14px;font-weight:600;display:block}.g-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.g-row input{border:1px solid var(--line);background:var(--paper);width:130px;color:var(--ink);font:15px var(--font-mono);border-radius:6px;padding:8px 10px}.g-row .u{color:var(--ink-2)}.g-ok{color:#2e8b57;font-weight:600;margin-top:6px!important}.g-no{color:#b3541e;margin-top:6px!important}.g-work{border:1px dashed var(--line);border-radius:6px;margin-top:10px;padding:6px 12px}.g-work p.eq{font-family:Cambria Math,Cambria,Georgia,Times New Roman,serif;font-size:16.5px;margin:2px 0!important}.full-sol summary{cursor:pointer;font-size:16px;font-weight:600}.full-sol[open] summary{margin-bottom:10px}.steps .cl.eq{font-size:15px;display:block}@media (max-width:900px){.mc-grid{flex-direction:column;display:flex}.mc-left{display:contents}.mc-guide{order:1}.mc-right{order:2}.mc-inputs{order:3}}.pchips{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;margin:4px 0 10px;display:grid}.pchip{border:1.5px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;text-align:left;font:inherit;border-radius:8px;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 9px;transition:all .25s;display:flex}.pchip .eq{font:600 16px/1.2 Cambria Math,Cambria,Georgia,serif}.pchip .pv{font:600 13px var(--font-mono)}.pchip .pt{font:600 10px var(--font-mono);text-transform:uppercase;letter-spacing:.05em;opacity:.8}.pchip.given{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--paper))}.pchip.given .pt{color:var(--accent-ink)}.pchip.found{background:color-mix(in srgb, #2e8b57 12%, var(--paper));border-color:#2e8b57}.pchip.found .pt{color:#2e8b57}.pchip.todo{color:var(--ink-2);border-style:dashed}.pchip.on{box-shadow:0 0 0 3px color-mix(in srgb, var(--steel) 45%, transparent)}.pchip.mini{cursor:default;flex-direction:row;margin:0 4px 0 0;padding:1px 8px;display:inline-flex}.plegend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;margin-bottom:12px;font-size:12.5px;display:flex}.plegend span{align-items:center;gap:6px;display:inline-flex}.lg{border:1.5px solid var(--line);border-radius:4px;width:14px;height:14px;display:inline-block}.lg.given{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 30%, transparent)}.lg.found{background:#2e8b5740;border-color:#2e8b57}.lg.todo{border-style:dashed}.lg.num{background:#e67e2259;border-color:#e67e22}.lg.den{border:2.5px dashed #2f6fb3}.phase-cell.hl-num{background:#e67e222e;border-radius:6px}.phase-cell.hl-num b{color:#c0601a}.phase-cell.hl-den{outline-offset:-3px;border-radius:6px;outline:2.5px dashed #2f6fb3}.phase-block.hl-num{box-shadow:inset 0 0 0 4px #e67e22}.phase-block.hl-den{outline-offset:2px;z-index:1;outline:3px dashed #2f6fb3;position:relative}.phase-cell,.phase-block{transition:background .3s,box-shadow .3s}.ondiag{background:var(--paper-2);border-left:3px solid var(--steel);border-radius:8px;margin-top:12px;padding:10px 14px}.ondiag .eyebrow{margin:0 0 2px;display:block}.ondiag .eq{font-family:Cambria Math,Cambria,Georgia,Times New Roman,serif;font-size:17px}.ondiag small{color:var(--ink-2)}.pguide .uses{flex-wrap:wrap;align-items:center;gap:4px;display:flex;margin:6px 0!important}.phase-table tr{cursor:pointer}.phase-table tr.sel td{background:color-mix(in srgb, var(--steel) 10%, transparent)}.pchip,.pchip .eq,.pchip .pv{text-transform:none!important}.relations .rel-f{color:var(--ink);font-family:Cambria Math,Cambria,Georgia,Times New Roman,serif;font-size:17px}.oc-tabs{margin:0 0 18px}.oc-svg{background:var(--paper-2);border-radius:8px;width:100%;height:auto;display:block}.oc-svg .bank{fill:none;stroke:var(--ink);stroke-width:2.4px;stroke-linejoin:round}.oc-svg .water{fill:#3b82b873;stroke:none;transition:all .3s}.oc-svg .water.hl{fill:#3b82b8bf}.oc-svg .water.faint{fill:#3b82b81f}.oc-svg .wetp{fill:none;stroke:#0000;stroke-width:6px;stroke-linecap:round}.oc-svg .wetp.on{stroke:#c0392b}.oc-svg .wsurf{stroke:#2f6fb3;stroke-width:1.6px}.oc-svg .wsurf.on{stroke:#e67e22;stroke-width:3.5px}.oc-svg .wtri{fill:#2f6fb3}.oc-svg .ycl,.ecurve .ycl{stroke:#8e44ad;stroke-width:1.4px;stroke-dasharray:6 4;opacity:.55}.oc-svg .ycl.on,.ecurve .ycl.on{opacity:1}.oc-svg .dim,.mh-svg .dim{stroke:var(--ink-2);stroke-width:1px;stroke-dasharray:3 3}.oc-svg text,.mh-svg .lab,.ecurve text{font:12px var(--font-mono);fill:var(--ink-2)}.oc-svg .lab.b,.mh-svg .lab.b{fill:var(--ink);font-weight:700}.oc-svg .lab.big{fill:#fff;paint-order:stroke;stroke:#00000059;stroke-width:3px;font-size:15px;font-weight:700}.oc-svg .lab.red,.oc-svg .lab.on{fill:#c0392b;font-weight:700}.oc-svg .lab.on{fill:#c0601a}.oc-svg .ycv{fill:#8e44ad}.oc-svg .lab.note{font-size:10.5px}.oc-svg .lab.sm{font-size:10px}.mh-svg .ecur{fill:none;stroke:var(--steel);stroke-width:2.2px}.mh-svg .ecur.on{stroke:var(--accent);stroke-width:2.8px}.mh-svg .e45{stroke:var(--line);stroke-dasharray:5 4}.mh-svg .ax{stroke:var(--ink-2)}.mh-svg .pc{fill:#8e44ad}.mh-svg .pnow{fill:var(--accent);stroke:var(--paper);stroke-width:2px}.mh-svg .palt{fill:var(--paper);stroke:var(--accent);stroke-width:2px}.mh-svg .zone{font:italic 12px var(--font-sans);fill:var(--ink-2);opacity:.8}.oc-svg.weir .plate{fill:color-mix(in srgb, var(--ink) 18%, var(--paper-2));stroke:var(--ink);stroke-width:1.5px}.oc-svg.weir .gap{fill:var(--paper-2);stroke:var(--ink);stroke-width:2px}.oc-svg .strip{fill:#e67e22;opacity:.85}.oc-svg .dim.thin{stroke-dasharray:2 4}.oc-svg .panelr{fill:color-mix(in srgb, var(--steel) 14%, transparent);stroke:var(--paper);stroke-width:1.5px;transition:fill .3s}.oc-svg .panelr.ex{stroke:#e67e22;stroke-width:2.5px}.oc-svg .vert{stroke:var(--ink-2);stroke-width:1px;stroke-dasharray:3 2}.oc-svg .meter{fill:#e67e22}.oc-svg .hatch{stroke:var(--ink-2);stroke-width:.6px}textarea.mono{font:13px var(--font-mono);border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:6px;padding:8px 10px}.oc-svg.pipe .tank{fill:none;stroke:var(--ink);stroke-width:2px}.oc-svg.pipe .tankw{fill:#3b82b866}.oc-svg.pipe .pipe{fill:color-mix(in srgb, #3b82b8 55%, var(--paper-2));stroke:var(--ink);stroke-width:1.5px}.oc-svg.pipe .fit{fill:var(--ink-2);rx:2}.oc-svg.pipe .egl{fill:none;stroke:#c0392b;stroke-width:2.2px}.oc-svg.pipe .egl.on{stroke-width:3px}.oc-svg.pipe .hgl{fill:none;stroke:#2f6fb3;stroke-width:2px;stroke-dasharray:7 4}.oc-svg.pipe .hglt{fill:#2f6fb3}.oc-svg.pipe .drop{stroke:#e67e22;stroke-width:4px}.moody .grid{stroke:var(--line);stroke-width:.7px}.moody .lam{stroke:var(--ink-2);stroke-width:1.6px;fill:none}.moody .mcur{fill:none;stroke:var(--steel);stroke-width:1px;opacity:.55}.moody .mcur.mine{stroke:var(--accent);stroke-width:2.6px;opacity:1}.moody .lab.sm{font-size:9.5px}.fitlist{gap:4px;display:grid}.fitrow{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:8px;padding:3px 0;font-size:14px;display:flex}.fitrow small{color:var(--ink-2);font-family:var(--font-mono);margin-left:4px}.fitrow .cnt{align-items:center;gap:6px;display:inline-flex}.fitrow .cnt .tbtn{padding:2px 10px}.fitrow .cnt b{text-align:center;font-variant-numeric:tabular-nums;min-width:18px}.oc-svg .catch{fill:#2e8b5724;stroke:#2e8b57;stroke-width:2px;stroke-dasharray:7 4;transition:all .3s}.oc-svg .catch.on{fill:#e67e2238;stroke:#e67e22}.oc-svg .stream{fill:none;stroke:#2f6fb3;stroke-width:3.2px;stroke-linecap:round}.oc-svg .stream.on{stroke:#e67e22;stroke-width:4.5px}.oc-svg .trib{fill:none;stroke:#2f6fb3;stroke-width:1.4px;opacity:.7}.oc-svg .far{fill:#c0392b}.oc-svg .bridge{fill:var(--ink)}.oc-svg .dim.on{stroke:#e67e22;stroke-width:2.5px;stroke-dasharray:none}.rbf-t td.hit{color:#fff;background:#e67e22;border-radius:4px;font-weight:700}.rbf-t .hc{background:color-mix(in srgb, var(--accent) 16%, transparent)}.mh-svg .grid{stroke:var(--line);stroke-width:.7px}.emp .ln{fill:none;stroke-width:1.8px;opacity:.7}.emp .ln.on{stroke-width:3.2px;opacity:1}.emp .c0{stroke:#2f6fb3;fill:#2f6fb3}.emp .c1{stroke:#2e8b57;fill:#2e8b57}.emp .c2{stroke:#8e44ad;fill:#8e44ad}.emp text.c0,.emp text.c1,.emp text.c2{stroke:none}.adopt-list{gap:8px;display:grid}.adopt-row{grid-template-columns:20px minmax(110px,180px) 1fr 70px;align-items:center;gap:10px;font-size:14px;display:grid}.adopt-row .bar{background:var(--paper-2);border-radius:7px;height:14px;overflow:hidden}.adopt-row .bar i{background:var(--accent);border-radius:7px;height:100%;display:block}.adopt-row .bar i.off{background:var(--line)}.adopt-row b{text-align:right;font-variant-numeric:tabular-nums}.mc-right,.mc-guide,.mc-inputs,.mc-left{min-width:0;max-width:100%}.emp path.ln{fill:none!important}.fer-src.warn{border-left-color:#e67e22}.linkbtn{color:var(--accent-ink);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.fer-coef{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;margin-top:12px;padding:8px 10px}.fer-coef summary{cursor:pointer;font-weight:600}.fer-coef .fields{margin-top:10px}.coef-t input{width:92px;font:13px var(--font-mono);border:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:right;border-radius:6px;padding:5px 6px}.coef-t td:first-child{white-space:nowrap}.ug-svg .ug-raw{fill:none;stroke:var(--steel);stroke-width:1.6px;stroke-dasharray:6 4}.ug-svg .ug-adj{fill:none;stroke:var(--accent);stroke-width:2.6px}.ug-svg .ug-dot{fill:var(--accent)}.ug-svg .wline{stroke:#2e8b57;stroke-width:2.4px}.ug-svg .wline.on{stroke:#e67e22;stroke-width:3.2px}.ug-svg .wr{stroke:#8e44ad;stroke-width:1.6px;stroke-dasharray:3 2}.ug-svg .lab.sm,.hy-svg .lab.sm{font-size:10px}.hy-svg .hy-g{fill:color-mix(in srgb, var(--steel) 30%, transparent)}.hy-svg .hy-e{fill:color-mix(in srgb, var(--steel) 55%, transparent)}.hy-svg .hy-e.on{fill:var(--accent)}.hy-svg .hy-loss{stroke:#c0392b;stroke-width:1.6px;stroke-dasharray:5 3}.fl-svg .fl-base{fill:#2e8b572e}.fl-svg .fl-base.on{fill:#2e8b5761}.sz-t td{font-size:13px}.ls-row{grid-template-columns:minmax(130px,240px) 1fr 70px}.ls-row .bar i.on{background:#e67e22}.plan-svg .tan{stroke:var(--ink-2);stroke-width:1.6px}.plan-svg .tan.on{stroke:#e67e22;stroke-width:3px}.plan-svg .arc{fill:none;stroke:var(--accent);stroke-width:3px}.plan-svg .arc.on{stroke:#e67e22;stroke-width:4px}.plan-svg .rad{stroke:var(--line);stroke-dasharray:4 4}.plan-svg .ctr{fill:var(--ink-2)}.plan-svg .ray{stroke:var(--steel);stroke-width:1px;opacity:.7}.plan-svg .ray.on{stroke:#e67e22;stroke-width:2px;opacity:1}.plan-svg .peg{fill:var(--paper);stroke:var(--ink);stroke-width:1.6px}.plan-svg .pnow,.xsec-svg .pnow{fill:var(--accent);stroke:var(--paper);stroke-width:2px}.xsec-svg .road{fill:color-mix(in srgb, var(--steel) 45%, transparent);stroke:var(--ink-2)}.xsec-svg .road.on{fill:color-mix(in srgb, var(--accent) 55%, transparent)}.xsec-svg .widen{fill:#2e8b5766;stroke:#2e8b57}.xsec-svg .widen.on{fill:#e67e2299}.prof-svg .grade{stroke:var(--ink-2);stroke-width:1.6px;stroke-dasharray:6 4}.prof-svg .grade.on{stroke:#e67e22;stroke-width:2.6px}.prof-svg .offs{stroke:#8e44ad;stroke-width:1.2px}.scour-svg .water{fill:#3b82c429}.scour-svg .hfl{stroke:#3b82c4;stroke-width:2px}.scour-svg .bed0{stroke:var(--ink-2);stroke-width:1.4px;stroke-dasharray:5 4}.scour-svg .hole{fill:none;stroke:#8a6a3a;stroke-width:3px}.scour-svg .hole.on{stroke:#e67e22;stroke-width:3.6px}.scour-svg .pier{fill:color-mix(in srgb, var(--steel) 55%, var(--paper));stroke:var(--ink-2)}.scour-svg .footing{fill:var(--ink-2)}.scour-svg .footing.on{fill:#e67e22}.scour-svg .msl{stroke:#c0392b;stroke-width:1.6px;stroke-dasharray:6 3}.scour-svg .msl.on{stroke-width:2.6px}.slab-svg .conc{fill:color-mix(in srgb, var(--steel) 22%, var(--paper));stroke:var(--ink-2)}.slab-svg .load line,.slab-svg line.load,.slab-svg .load path{stroke:var(--steel);fill:none;stroke-width:1.3px}.slab-svg .load.on line,.slab-svg line.load.on,.slab-svg .load.on path{stroke:#e67e22;stroke-width:2px}.slab-svg .rebar{stroke:#c0392b;stroke-width:3px}.slab-svg .bar{fill:#c0392b}.slab-svg .dbar{stroke:#8e44ad;stroke-width:2.4px}.slab-svg .sup{fill:var(--ink-2)}.slab-svg .wall{fill:color-mix(in srgb, var(--ink-2) 40%, var(--paper))}.slab-svg .bmd{fill:color-mix(in srgb, var(--accent) 18%, transparent);stroke:var(--accent);stroke-width:2px}.slab-svg .edge-c{stroke:var(--ink);stroke-width:6px}.slab-svg .edge-d{stroke:var(--ink-2);stroke-width:1.6px;stroke-dasharray:7 5}.slab-svg .rx{stroke:#c0392b;stroke-width:1px;opacity:.55}.slab-svg .ry{stroke:#2e6fb0;stroke-width:1px;opacity:.55}.slab-svg .rx.on,.slab-svg .ry.on{opacity:1;stroke-width:1.6px}.slab-svg .tors{fill:#e67e2259;stroke:#e67e22}.wall-svg .conc{fill:color-mix(in srgb, var(--steel) 30%, var(--paper));stroke:var(--ink-2)}.wall-svg .conc.on{fill:color-mix(in srgb, var(--accent) 35%, var(--paper))}.wall-svg .soil,.pile-svg .ly.sand{fill:#c8a96a4d}.wall-svg .soil.on{fill:#c8a96a8c}.wall-svg .soil.front{fill:#c8a96a33}.wall-svg .press{fill:#c0392b2e;stroke:#c0392b}.wall-svg .press.on{fill:#c0392b59}.wall-svg .force{stroke:#c0392b;stroke-width:2.4px;color:#c0392b}.wall-svg .wgt{stroke:var(--steel);stroke-width:1.6px;color:var(--steel)}.wall-svg .wgt.on{stroke:#e67e22;color:#e67e22;stroke-width:2.2px}.wall-svg .bp{fill:#2e8b5738;stroke:#2e8b57}.wall-svg .bp.on{fill:#2e8b5766}.wall-svg .rebar{fill:none;stroke:#c0392b;stroke-width:2.4px}.wall-svg .rebar.on{stroke:#e67e22;stroke-width:3.4px}.wall-svg .surch{stroke:var(--ink-2);stroke-width:3px}.pile-svg .ly.clay{fill:#8a6a3a38}.pile-svg .gl{stroke:var(--ink);stroke-width:2px}.pile-svg .pile{fill:color-mix(in srgb, var(--steel) 55%, var(--paper));stroke:var(--ink-2)}.pile-svg .cap{fill:color-mix(in srgb, var(--steel) 25%, var(--paper));stroke:var(--ink-2)}.pile-svg .skin line{stroke:#2e6fb0;stroke-width:1.6px}.pile-svg .skin.on line{stroke:#e67e22;stroke-width:2.4px}.pile-svg .endb{stroke:#2e6fb0;stroke-width:3px;color:#2e6fb0}.pile-svg .endb.on{stroke:#e67e22;color:#e67e22}.pile-svg .sv{fill:none;stroke:var(--line);stroke-width:1.6px;stroke-dasharray:4 3}.pile-svg .svc{fill:none;stroke:#8e44ad;stroke-width:2.2px}.pile-svg .svc.on{stroke-width:3px}.coef-t select{font:13px var(--font-sans);border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:6px;padding:4px}.coef-t input:disabled{opacity:.35}
