.vent-fig{width:100%;height:auto;color:var(--tool-ink);overflow:visible}.vent-fig__water{fill:#06bce8}.vent-fig__air{fill:none;stroke:#06bce8;stroke-width:8px;stroke-linecap:round;stroke-linejoin:round}.vent-fig__stack{fill:none;stroke:var(--tool-ink);stroke-width:8px}.vent-fig__stack.is-branch{stroke-width:4px}.vent-fig__house{fill:none;stroke:var(--tool-ink);stroke-width:3px;stroke-linejoin:round}.vent-fig__grate{fill:none;stroke:var(--tool-ink);stroke-width:10px;stroke-dasharray:10 6}.vent-fig__floor{fill:none;stroke:var(--tool-ink-2);stroke-width:1.5px}.vent-fig__fixture{fill:var(--g-240);stroke:var(--tool-ink);stroke-width:3px}.vent-fig__name{letter-spacing:-.01em;fill:var(--tool-ink);font-size:34px;font-weight:600}.vent-fig__wall,.vent-fig__lid,.vent-fig__straw{fill:none;stroke:var(--tool-ink);stroke-width:4px;stroke-linejoin:round}.vent-fig__straw{stroke-width:3px}.vent-fig__break{fill:none;stroke:var(--tool-ink-2);stroke-width:2px}.vent-fig__plug{fill:var(--tool-ink)}.vent-fig__arrow{fill:none;stroke:var(--tool-ink);stroke-width:3px;stroke-dasharray:8 6}.vent-fig__arrow.is-water{stroke-dasharray:none}.vent-fig__label{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;fill:var(--tool-ink);font-size:20px}.vent-fig__label.is-small{fill:var(--tool-ink-2);font-size:16px}.vent-fig__pipe-wall{fill:none;stroke:var(--tool-ink);stroke-width:40px;stroke-linejoin:round}.vent-fig__pipe-bore{fill:none;stroke:var(--g-240);stroke-width:32px;stroke-linejoin:round}.vent-fig__water-line{fill:none;stroke:#06bce8;stroke-width:32px}.vent-fig__bubble{fill:var(--g-240);stroke:var(--tool-ink);stroke-width:3px}.vent-fig__ground{fill:none;stroke:var(--tool-ink-2);stroke-width:2px;stroke-dasharray:12 8}.learn{--tool-accent:var(--tool-ink);--tool-on-accent:var(--g-250)}.tool.learn{row-gap:var(--space-lg)}.learn-body{gap:var(--space-md);flex-direction:column;display:flex}.learn-lab{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--tool-ink-2)}.learn-search{align-items:center;gap:var(--space-sm);border:1px solid var(--tool-line-strong);background:var(--g-250);padding:.75rem .875rem;display:flex}.learn-search svg{fill:none;stroke:var(--tool-ink-2);stroke-width:2px;flex:none}.learn-search input{font:inherit;color:var(--tool-ink);background:0 0;border:0;outline:0;flex:1;font-size:1rem}.learn-chips{flex-wrap:wrap;gap:.375rem;display:flex}.learn-chip{font-family:var(--font-mono);font-size:var(--text-xs);border:1px solid var(--tool-line-strong);color:var(--tool-ink);cursor:pointer;background:0 0;padding:.375rem .625rem}.learn-chip.is-on{background:var(--tool-ink);border-color:var(--tool-ink);color:var(--g-240)}.learn-count{justify-content:space-between;align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--tool-ink-2);display:flex}.learn-count select{font:inherit;color:var(--tool-ink);border:1px solid var(--tool-line-strong);background:0 0;padding:.3125rem .5rem}.learn-none{color:var(--tool-ink-2);padding:var(--space-lg) 0}.learn-frame{width:100%}.learn-frame .social__slide{zoom:var(--slide-zoom,.32);box-shadow:0 0 0 1px var(--g-220)}.learn-grid{gap:var(--space-lg) var(--space-md);grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));list-style:none;display:grid}.learn-card{flex-direction:column;display:flex}.learn-card__link{color:inherit;flex-direction:column;gap:.75rem;text-decoration:none;display:flex}.learn-cover{aspect-ratio:4/3;background:var(--g-240);box-shadow:0 0 0 1px var(--g-220);justify-content:center;align-items:center;padding:1.25rem;display:flex;overflow:hidden}.learn-cover>*{max-width:100%;max-height:100%}.learn-cover:has(>img){padding:0}.learn-cover>img{object-fit:cover;width:100%;max-width:none;height:100%;max-height:none}.learn-card__link:hover .learn-cover{box-shadow:0 0 0 1px var(--tool-ink)}.learn-card__link:hover .learn-card__title{text-underline-offset:3px;text-decoration:underline}.learn-card__title{letter-spacing:-.01em;font-size:1.25rem;font-weight:600;line-height:1.2}.learn-by{align-items:center;gap:.5rem;margin-top:auto;padding-top:.75rem;font-size:.8125rem;font-weight:500;display:flex}.learn-card .learn-meta{flex-wrap:wrap;align-items:center;gap:.3125rem;margin-top:.625rem;display:flex}.learn-by img{object-fit:contain;background:var(--g-250);width:1.75rem;height:1.75rem;box-shadow:0 0 0 1px var(--g-220);padding:.125rem}.learn-meta{flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.625rem;display:flex}.learn-block{background:var(--tool-accent);height:1.375rem;color:var(--tool-on-accent);font-family:var(--font-mono);letter-spacing:.02em;border:1px solid var(--tool-accent);align-items:center;padding:0 .4375rem;font-size:.6875rem;font-weight:600;display:inline-flex}.learn-tag{height:1.375rem;font-family:var(--font-mono);letter-spacing:.02em;color:var(--tool-ink-2);border:1px solid var(--tool-line-strong);cursor:pointer;background:0 0;align-items:center;padding:0 .4375rem;font-size:.6875rem;text-decoration:none;display:inline-flex}.learn-tag:hover{color:var(--tool-ink);border-color:var(--tool-ink)}.learn-date{font-family:var(--font-mono);color:var(--tool-ink-2);white-space:nowrap;margin-left:auto;font-size:.6875rem}.learn-post{gap:var(--space-lg);flex-direction:column;display:flex}.learn-post>.learn-meta{margin-top:0}.learn-step{gap:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--tool-line);grid-template-columns:minmax(0,24rem) minmax(0,1fr);align-items:start;display:grid}.learn-more p{max-width:60ch;line-height:1.65}.learn-takeaways{border-top:1px solid var(--tool-line-strong);padding-top:var(--space-md)}.learn-takeaways h2{letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.learn-takeaways ul{flex-direction:column;gap:.35rem;padding-left:1.1rem;list-style:outside;display:flex}.learn-takeaways li{max-width:72ch;line-height:1.5}.learn-more .learn-gist{letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.25rem;font-weight:600;line-height:1.3}.learn-points{max-width:60ch;margin-top:.625rem;padding-left:1.125rem;line-height:1.6;list-style:outside}.learn-points li+li{margin-top:.375rem}.learn-refs{margin-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--tool-ink-2)}.learn-links{margin-top:var(--space-md);gap:.375rem;list-style:none;display:grid}.learn-links a{text-decoration:underline;-webkit-text-decoration-color:var(--tool-line-strong);text-decoration-color:var(--tool-line-strong);text-underline-offset:3px}@media (max-width:760px){.learn-step{grid-template-columns:1fr}}.learn-by__who{color:inherit;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}a.learn-by__who:hover span{text-underline-offset:3px;text-decoration:underline}.learn-maker-cover{aspect-ratio:16/9;object-fit:cover;width:100%;max-width:46rem;box-shadow:0 0 0 1px var(--g-220)}.learn-maker-body{max-width:42rem;line-height:1.7}.learn-maker-body>*+*{margin-top:1rem}.learn-maker-body h2{margin-top:2rem;font-size:1.5rem;font-weight:600}.learn-maker-body h3{margin-top:1.5rem;font-size:1.125rem;font-weight:600}.learn-maker-body ul,.learn-maker-body ol{padding-left:1.25rem}.learn-maker-body ul{list-style:outside}.learn-maker-body ol{list-style:decimal}.learn-maker-body blockquote{color:var(--tool-ink-2);padding-left:1.5rem;font-style:italic}.learn-maker-body a{text-decoration:underline;-webkit-text-decoration-color:var(--tool-line-strong);text-decoration-color:var(--tool-line-strong);text-underline-offset:3px}.learn-maker-body img{width:100%;height:auto;box-shadow:0 0 0 1px var(--g-220)}.learn-maker-body hr{border:0;border-top:1px solid var(--tool-line)}.learn-by__initial{background:var(--g-250);width:1.75rem;height:1.75rem;box-shadow:0 0 0 1px var(--g-220);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.learn-edit{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.learn-edit__form{gap:var(--space-sm);flex-direction:column;display:flex}.learn-edit__bar{background:var(--g-240);z-index:1;padding:.5rem 0;position:sticky;top:0}.learn-edit__area{background:var(--g-250);min-height:18rem;box-shadow:0 0 0 1px var(--tool-line-strong);outline:none;padding:.75rem 1rem}.learn-edit__area p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--tool-ink-2);float:left;pointer-events:none;height:0}.learn-edit__preview{gap:var(--space-sm);padding:var(--space-md);box-shadow:0 0 0 1px var(--g-220);flex-direction:column;display:flex}.learn-edit__title{letter-spacing:-.01em;font-size:1.75rem;font-weight:600;line-height:1.15}.learn-edit__logo{object-fit:contain;box-shadow:0 0 0 1px var(--g-220)}.learn-edit__list{gap:var(--space-sm);flex-direction:column;display:flex}@media (max-width:900px){.learn-edit{grid-template-columns:1fr}}.learn-back{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--tool-ink-2);align-self:flex-start;text-decoration:none}.learn-back:hover{color:var(--tool-ink);text-underline-offset:3px;text-decoration:underline}.learn-all{color:var(--tool-ink);text-decoration:underline;-webkit-text-decoration-color:var(--tool-line-strong);text-decoration-color:var(--tool-line-strong);text-underline-offset:3px;white-space:nowrap}.ex-fig{width:100%;height:auto;color:var(--g-50);overflow:visible}.ex-fig__ground{stroke:none}.ex-fig__dot{fill:var(--g-120)}.ex-fig__hatch{stroke:var(--g-180);stroke-width:.8px}.ex-fig__shadow{fill:var(--g-60);opacity:.32}.ex-fig__shade{opacity:.32}.ex-fig__shade .ex-fig__shadow{opacity:1}.ex-fig__face{stroke:var(--g-50);stroke-width:.9px;stroke-linejoin:round}.ex-fig__face.is-top{fill:var(--g-240)}.ex-fig__face.is-light{fill:var(--g-250)}.ex-fig__face.is-side{fill:var(--g-200)}.ex-fig__face.is-deck{fill:var(--g-220)}.ex-fig__face.is-roof{fill:var(--g-120)}.ex-fig__face.is-roof-back{fill:var(--g-100)}.ex-fig__face.is-cut{fill:var(--g-120)}.ex-fig__board{fill:none;stroke:var(--g-160);stroke-width:.7px}.ex-fig__opening{fill:none;stroke:var(--g-80);stroke-width:1.1px;stroke-linejoin:round}.ex-fig__barrier polyline{fill:none;stroke:var(--g-50);stroke-width:1.3px;stroke-linecap:round}.ex-fig__outline{fill:none;stroke:var(--g-50);stroke-width:1.4px;stroke-dasharray:7 6}.ex-fig__boundary{fill:none;stroke:var(--g-50);stroke-width:2.2px;stroke-dasharray:16 6 3 6}.ex-fig__dim{fill:none;stroke:var(--g-50);stroke-width:1.1px}.ex-fig__leader path{fill:none;stroke:var(--g-50);stroke-width:.9px}.ex-fig__leader circle{fill:var(--g-50)}.ex-fig__fall path{fill:none;stroke:var(--g-50);stroke-width:1.4px}.ex-fig__limit{font-family:var(--font-sans,inherit);letter-spacing:-.01em;fill:var(--g-50);font-size:30px;font-weight:600}.ex-fig__limit.is-big{font-size:44px}.ex-fig__label{font-family:var(--font-mono);fill:var(--g-80);font-size:18px}.ex-fig__note{font-family:var(--font-mono);fill:var(--g-100);font-size:17px}
