.porch{--fam-water:#0f6e5c;--fam-water-t:#d6f3ec;--fam-climate:#075985;--fam-climate-t:#dff0fb;--fam-envelope:#7a4a10;--fam-envelope-t:#f4e8d4;--fam-grounds:#4d6b10;--fam-grounds-t:#eaf3d2;--fam-power:#6d28d9;--fam-power-t:#ede9fe;--fam-safety:#3730a3;--fam-safety-t:#e8e7f6;--fam-appliances:#9b1d59;--fam-appliances-t:#fbe3ee;--fam-person:#8e2a72;--fam-person-t:#f8e9f2}@media (prefers-color-scheme:dark){:root:not([data-theme]) .porch{--fam-water:#43d3b0;--fam-water-t:#0b3029;--fam-climate:#7cc7ee;--fam-climate-t:#0c2836;--fam-envelope:#d9b878;--fam-envelope-t:#2b2110;--fam-grounds:#b9d174;--fam-grounds-t:#1d2708;--fam-power:#c9b8f5;--fam-power-t:#251344;--fam-safety:#a5b4fc;--fam-safety-t:#1f2140;--fam-appliances:#f2a1c5;--fam-appliances-t:#3a0f24;--fam-person:#e19cc9;--fam-person-t:#2c1526}}:root[data-theme=dark] .porch{--fam-water:#43d3b0;--fam-water-t:#0b3029;--fam-climate:#7cc7ee;--fam-climate-t:#0c2836;--fam-envelope:#d9b878;--fam-envelope-t:#2b2110;--fam-grounds:#b9d174;--fam-grounds-t:#1d2708;--fam-power:#c9b8f5;--fam-power-t:#251344;--fam-safety:#a5b4fc;--fam-safety-t:#1f2140;--fam-appliances:#f2a1c5;--fam-appliances-t:#3a0f24;--fam-person:#e19cc9;--fam-person-t:#2c1526}.porch [data-fam=water]{--fam:var(--fam-water);--fam-t:var(--fam-water-t)}.porch [data-fam=climate]{--fam:var(--fam-climate);--fam-t:var(--fam-climate-t)}.porch [data-fam=envelope]{--fam:var(--fam-envelope);--fam-t:var(--fam-envelope-t)}.porch [data-fam=grounds]{--fam:var(--fam-grounds);--fam-t:var(--fam-grounds-t)}.porch [data-fam=power]{--fam:var(--fam-power);--fam-t:var(--fam-power-t)}.porch [data-fam=safety]{--fam:var(--fam-safety);--fam-t:var(--fam-safety-t)}.porch [data-fam=appliances]{--fam:var(--fam-appliances);--fam-t:var(--fam-appliances-t)}.porch [data-fam=person]{--fam:var(--fam-person);--fam-t:var(--fam-person-t)}.porch .porch-paper{background:var(--p-surface);border:1px solid var(--p-line);box-shadow:var(--p-lift);border-radius:14px;min-width:0}.porch .porch-glyph{color:var(--fam,currentColor);vertical-align:-.2em;flex:none;justify-content:center;align-items:center;display:inline-flex}.porch .porch-glyph--tint{background:var(--fam-t,var(--p-sunken));border-radius:12px;width:40px;height:40px}.porch .porch-stat{background:var(--p-surface);border:1px solid var(--p-line);border-left:3px solid var(--fam,var(--p-line-2));box-shadow:var(--p-lift);border-radius:12px;gap:4px;min-width:0;padding:14px 16px;display:grid}.porch .porch-stat__g{justify-self:start;margin-bottom:6px}.porch .porch-stat__fact{font:700 16px/1.4 var(--p-body);color:var(--p-ink);overflow-wrap:anywhere;margin:0}.porch .porch-stat__src{font:500 14px/1.45 var(--p-body);color:var(--p-soft);overflow-wrap:anywhere;margin:0}.porch .porch-stat__src--code{font-family:var(--p-mono);font-variant-numeric:tabular-nums}.porch .porch-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.porch .porch-stats--col{grid-template-columns:1fr}.porch .porch-prom{gap:var(--p-s4) var(--p-s4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.porch .porch-prom>li{align-content:start;gap:10px;display:grid}.porch .porch-prom h3{font:600 20px/1.25 var(--p-title);letter-spacing:-.015em;color:var(--p-ink);text-wrap:balance;margin:4px 0 0}.porch .porch-prom p{font:400 15.5px/1.55 var(--p-body);color:var(--p-soft);text-wrap:pretty;margin:0}.porch .porch-steps{gap:var(--p-s2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.porch .porch-step{align-content:start;gap:8px;padding:22px 22px 24px;display:grid}.porch .porch-step__n{font:600 40px/1 var(--p-mono);font-variant-numeric:tabular-nums;color:var(--p-faint)}.porch .porch-step__t{font:600 20px/1.25 var(--p-title);letter-spacing:-.015em;color:var(--p-ink);margin:8px 0 0}.porch .porch-step__s{font:400 15.5px/1.55 var(--p-body);color:var(--p-soft);text-wrap:pretty;margin:0}.porch .porch-tags{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.porch .porch-tag{border:1px solid var(--p-line);font:500 14px/1.3 var(--p-body);text-wrap:balance;color:var(--p-ink);border-radius:999px;align-items:center;gap:6px;padding:5px 12px 5px 9px;display:inline-flex}@media (min-width:768px){.porch .porch-tag{white-space:nowrap}}@media (max-width:359px){.porch .porch-tags{flex-direction:column;gap:6px}.porch .porch-tag{border:0;border-radius:0;align-items:flex-start;padding:0}.porch .porch-tag .porch-glyph{margin-top:2px}}@media (max-width:767px){.porch .porch-steps,.porch .porch-prom{grid-template-columns:minmax(0,1fr)}}.porch .porch-band--ink{--p-band:#131a26;--p-band-ink:#f2f4f6;--p-band-soft:#b9c0cc;--p-band-hair:#ffffff24;--p-paper-lift:0 1px 2px #0000002e, 0 24px 56px -12px #00000073;background:var(--p-band);border-top:0}@media (prefers-color-scheme:dark){:root:not([data-theme]) .porch .porch-band--ink{--p-band:#0a0d13;--p-band-soft:#9aa1ac;--p-band-hair:#ffffff1a;--p-paper-lift:0 1px 2px #00000080, 0 24px 56px -12px #000000bf}}:root[data-theme=dark] .porch .porch-band--ink{--p-band:#0a0d13;--p-band-soft:#9aa1ac;--p-band-hair:#ffffff1a;--p-paper-lift:0 1px 2px #00000080, 0 24px 56px -12px #000000bf}@media (prefers-color-scheme:dark){:root:not([data-theme]) .porch[data-moment] .porch-band--ink{border-top:1px solid var(--p-band-hair)}}:root[data-theme=dark] .porch[data-moment] .porch-band--ink{border-top:1px solid var(--p-band-hair)}.porch .porch-layer{margin:0 0 var(--p-s4);padding-top:var(--p-s5);max-width:44ch;font:500 clamp(20px, 1.8vw, 24px) / 1.35 var(--p-title);letter-spacing:-.015em;color:var(--p-band-ink);text-wrap:balance}.porch .porch-head--plain{align-items:flex-start;gap:var(--p-s3);flex-direction:column}.porch .porch-head--house{align-items:start;gap:var(--p-s3) var(--p-s5);grid-template:"text house""note house"1fr/minmax(0,5fr) minmax(0,7fr);display:grid}.porch .porch-head--house>.porch-head__text{grid-area:text}.porch .porch-head--house>.porch-note{grid-area:note}.porch .porch-head--house>.porch-phouse{grid-area:house}@media (max-width:1023px){.porch .porch-head--house{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"text""house""note"}}.porch .porch-phouse svg{width:100%;height:100%;display:block}.porch .porch-phouse .v2-nms,.porch .porch-phouse .floor .v2-pin :is(.v2-stem,.v2-head),.porch .porch-phouse .porch-ptop .v2-pin{display:none}.porch .porch-phouse[data-lit~=water] .porch-ptop .v2-pin[data-fam=water],.porch .porch-phouse[data-lit~=climate] .porch-ptop .v2-pin[data-fam=climate],.porch .porch-phouse[data-lit~=power] .porch-ptop .v2-pin[data-fam=power],.porch .porch-phouse[data-lit~=appliances] .porch-ptop .v2-pin[data-fam=appliances],.porch .porch-phouse[data-lit~=safety] .porch-ptop .v2-pin[data-fam=safety]{display:inline}.porch .porch-phouse:not([data-lit~=water]) :is(.ring,.ring-glow){opacity:.22}.porch .porch-phouse:not([data-lit~=envelope]) .roof{fill:var(--p-surface)}.porch .porch-strip{top:var(--p-nav-clear);z-index:4;background:var(--p-canvas);border-top:1px solid var(--p-line);border-bottom:1px solid var(--p-line);position:sticky}.porch .porch-strip__in{gap:0 var(--p-s3);scroll-snap-type:x proximity;scroll-padding-inline:var(--p-gutter);scrollbar-width:none;flex-wrap:nowrap;display:flex;overflow-x:auto}.porch .porch-strip__in::-webkit-scrollbar{display:none}.porch .porch-strip a{scroll-snap-align:start;white-space:nowrap;font:500 15px/1.2 var(--p-body);color:var(--p-soft);border-bottom:2px solid #0000;flex:none;padding:14px 0 12px;text-decoration:none;display:inline-block}@media (min-width:360px) and (max-width:479px){.porch .porch-strip__in{justify-content:space-between;gap:0 12px}.porch .porch-strip a{font-size:14px}}.porch .porch-strip a[aria-current]{color:var(--p-ink);border-bottom-color:var(--p-ink)}.porch .porch-strip a:hover,.porch .porch-strip a:focus{color:var(--p-ink)}.porch .porch-problems{gap:var(--p-s5);padding-bottom:var(--p-s6);display:grid}.porch .porch-group{scroll-margin-top:calc(var(--p-nav-clear) + 56px)}.porch .porch-group__k{margin:0 0 var(--p-s2);border-bottom:1px solid var(--p-band-hair);font:600 15px/1.2 var(--p-body);letter-spacing:.04em;text-transform:uppercase;color:var(--p-band-soft);padding-bottom:10px}.porch .porch-moments{gap:var(--p-s3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.porch .porch-mom,.porch .porch-mom[data-span="2"]{grid-column:1/-1}.porch .porch-mom[data-span]{grid-template-columns:minmax(0,1fr);grid-template-areas:"body"}.porch .porch-mom[data-span]:has(>.porch-mom__facts){grid-template-areas:"body""facts"}.porch .porch-mom[data-span="1"]{grid-column:auto}.porch .porch-mom{column-gap:var(--p-s5);row-gap:var(--p-s3);--mom-x:32px;padding:28px var(--mom-x) 32px;box-shadow:var(--p-paper-lift);border-color:#16181d14;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"body facts";align-items:start;display:grid;overflow:hidden}.porch .porch-mom[data-problem=where-to-start]{background:#fdf9f1}@media (prefers-color-scheme:dark){:root:not([data-theme]) .porch .porch-mom[data-problem=where-to-start]{background:#1b1812}}:root[data-theme=dark] .porch .porch-mom[data-problem=where-to-start]{background:#1b1812}.porch .porch-mom__head{margin:0 0 4px;display:flex}.porch .porch-mom__body{grid-area:body;align-content:start;gap:12px;min-width:0;display:grid}.porch .porch-mom__q{font:600 clamp(21px, 1.7vw, 24px) / 1.2 var(--p-title);letter-spacing:-.02em;color:var(--p-ink);text-wrap:balance;margin:0}.porch .porch-mom__cost{max-width:58ch;font:400 16px/1.45 var(--p-body);color:var(--p-soft);text-wrap:pretty;margin:-4px 0 0}.porch .porch-mom__a{max-width:58ch;font:400 17px/1.6 var(--p-body);color:var(--p-ink);text-wrap:pretty;margin:0}.porch .porch-mom__seats{margin:4px 0 0}.porch .porch-seat{text-decoration:none}.porch .porch-seat:hover,.porch .porch-seat:focus-visible{border-color:var(--p-line-2);background:var(--p-canvas)}.porch .porch-mom__facts{grid-area:facts;align-content:start;gap:10px;min-width:0;display:grid}.porch .porch-mom__fh{font:600 14px/1.3 var(--p-body);color:var(--p-soft);margin:0}.porch .porch-mom__fh+*+.porch-mom__fh{margin-top:10px}.porch .porch-mom__cites{margin:0;padding:0;list-style:none}.porch .porch-mom__qs{font:500 15.5px/1.45 var(--p-body);color:var(--p-ink);gap:8px;margin:0;padding:0;list-style:none;display:grid}.porch .porch-mom__qs-close{border-top:1px solid var(--p-hair);font:400 14px/1.45 var(--p-body);color:var(--p-soft);text-wrap:pretty;margin:12px 0 0;padding-top:10px}.porch .porch-mom__people{gap:8px;margin:0;padding:0;list-style:none;display:grid}.porch .porch-mom__people>li{border:1px solid var(--p-line);border-radius:12px;grid-template-columns:50px minmax(0,1fr);grid-template-areas:"face who""face role";align-items:center;column-gap:12px;padding:10px 12px;display:grid}.porch .porch-mom__face{grid-area:face;margin:5px;display:inline-flex}.porch .porch-mom__who{font:600 15px/1.3 var(--p-body);color:var(--p-ink);grid-area:who}.porch .porch-mom__role{font:400 14px/1.3 var(--p-body);color:var(--p-soft);grid-area:role}.porch .porch-mom__pub{margin:0;padding:0;list-style:none}.porch .porch-mom__pub>li{border-top:1px solid var(--p-hair);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.porch .porch-mom__pub>li:first-child{border-top:0}.porch .porch-mom__gap{background:var(--fam-t);border:1px dashed var(--fam);border-radius:12px;align-items:flex-start;gap:12px;margin:0;padding:14px 16px;display:flex}.porch .porch-mom__gap .porch-glyph{flex:none}.porch .porch-mom__gap-t{min-width:0;font:600 16px/1.4 var(--p-body);color:var(--p-ink);overflow-wrap:anywhere;margin-top:7px}@media (max-width:1023px){.porch .porch-moments{grid-template-columns:minmax(0,1fr)}.porch .porch-mom{--mom-x:24px;padding:24px var(--mom-x) 28px;grid-column:1/-1;grid-template-columns:minmax(0,1fr);grid-template-areas:"body""facts"}.porch .porch-mom[data-span="1"]:has(>.porch-mom__facts){--mom-x:24px;padding:24px var(--mom-x) 28px;grid-column:1/-1;grid-template-columns:minmax(0,1fr);grid-template-areas:"body""facts"}}@media (max-width:767px){.porch .porch-mom{--mom-x:18px;padding:20px var(--mom-x) 24px}.porch .porch-mom__cites.porch-stats{grid-template-columns:minmax(0,1fr)}}@media (max-width:359px){.porch .porch-strip{position:static}.porch .porch-strip__in{flex-direction:column;gap:0;overflow-x:visible}.porch .porch-strip a{padding:8px 0 6px}.porch .porch-mom__people>li{grid-template-columns:minmax(0,1fr);grid-template-areas:"face""who""role";justify-items:start;row-gap:4px}.porch .porch-mom__gap{flex-direction:column;gap:8px}.porch .porch-mom__gap-t{margin-top:0}.porch .porch-mom .porch-stat{padding:12px}.porch .porch-mom .porch-stat__fact,.porch .porch-mom .porch-stat__src{overflow-wrap:break-word}}.porch .porch-build{column-gap:var(--p-s4);row-gap:var(--p-s3);padding-block:var(--p-s5) var(--p-s6);grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"head head""stage srcs""track srcs";display:grid}.porch .porch-build__head{grid-area:head;gap:8px;max-width:58ch;display:grid}.porch .porch-build__title{font:600 clamp(26px, 2.6vw, 34px) / 1.15 var(--p-title);letter-spacing:-.02em;color:var(--p-ink);text-wrap:balance;margin:0}.porch .porch-build__door{font:400 15px/1.4 var(--p-body);color:var(--p-soft);margin:4px 0 0}.porch .porch-build__door a{color:inherit;text-decoration:none}.porch .porch-build__door b{color:var(--p-accent);font-weight:600}.porch .porch-build__door a:hover b,.porch .porch-build__door a:focus-visible b{text-underline-offset:3px;text-decoration:underline}.porch .porch-build__stage{aspect-ratio:1200/760;grid-area:stage;position:relative;overflow:hidden}.porch .porch-build__still,.porch .porch-build__still img,.porch .porch-build__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.porch .porch-build[data-drawn] .porch-build__still{visibility:hidden}.porch .porch-build__track{--p:.25;cursor:ew-resize;touch-action:none;grid-area:track;height:44px;margin:0;position:relative}.porch .porch-build:not([data-js]) .porch-build__track{display:none}.porch .porch-build__track:before,.porch .porch-build__track:after{content:"";border-radius:1px;height:2px;margin-top:-1px;position:absolute;top:50%;left:11px}.porch .porch-build__track:before{background:var(--p-line-2);right:11px}.porch .porch-build__track:after{width:calc(var(--p) * (100% - 22px));background:var(--p-ink)}.porch .porch-build__mark{top:50%;left:calc(11px + var(--h) * (100% - 22px));background:var(--p-surface);border:2px solid var(--p-line-2);border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute}.porch .porch-build__thumb{top:50%;left:calc(11px + var(--p) * (100% - 22px));background:var(--p-ink);width:22px;height:22px;box-shadow:0 0 0 4px var(--p-canvas);border-radius:50%;margin:-11px 0 0 -11px;position:absolute}.porch .porch-build__track:focus-visible{outline:none}.porch .porch-build__track:focus-visible .porch-build__thumb{box-shadow:0 0 0 4px var(--p-canvas), 0 0 0 6px var(--p-accent)}.porch .porch-build__srcs{grid-area:srcs;align-content:start;gap:4px;margin:0;padding:0;list-style:none;display:grid}.porch .porch-build__src{text-align:left;width:100%;font:inherit;color:var(--p-ink);border:0;border-left:2px solid var(--p-line);cursor:pointer;background:0 0;border-radius:0 12px 12px 0;grid-template-columns:28px minmax(0,1fr);grid-template-areas:"n k""n s";gap:4px 12px;margin:0;padding:14px 16px;display:grid}.porch .porch-build__src:hover{background:color-mix(in srgb, var(--p-ink) 5%, transparent)}.porch .porch-build__src[aria-current]{border-left-color:var(--p-ink)}.porch .porch-build__src:focus-visible{outline:2px solid var(--p-accent);outline-offset:2px}.porch .porch-build__n{font:500 14px/1.5 var(--p-mono);font-variant-numeric:tabular-nums;color:var(--p-faint);grid-area:n}.porch .porch-build__src[aria-current] .porch-build__n{color:var(--p-ink)}.porch .porch-build__k{font:600 17px/1.3 var(--p-title);letter-spacing:-.01em;grid-area:k}.porch .porch-build__s{font:400 15px/1.5 var(--p-body);color:var(--p-soft);grid-area:s}@media (max-width:1023px){.porch .porch-build{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""stage""track""srcs"}}@media (max-width:767px){.porch .porch-build{padding-block:var(--p-s4) var(--p-s5)}.porch .porch-build__stage{aspect-ratio:390/470}.porch .porch-build__src{padding:12px 14px}}@media (max-width:359px){.porch .porch-build__src{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"n k""s s";align-items:baseline;padding:12px 10px}}
