.hero-blueprint{--bp-ink:var(--color-paper);--bp-fill:#0c2a55;--bp-accent:var(--color-aqua);--bp-width:clamp(1000px, 100vw, 1800px);--bp-band:calc(var(--bp-width) * .2625);--bp-horizon:calc(var(--bp-band) * .72 + 28px);--bp-orbit:130px;background-color:var(--sky-top);background-image:linear-gradient(#ffffff21 1px, transparent 1px), linear-gradient(90deg, #ffffff21 1px, transparent 1px), linear-gradient(#ffffff0d 1px, transparent 1px), linear-gradient(90deg, #ffffff0d 1px, transparent 1px), linear-gradient(to bottom, var(--sky-top), var(--sky-horizon));background-size:100px 100px,100px 100px,20px 20px,20px 20px,100% 100%}.bp-stars{opacity:var(--stars,0)}.bp-cloud{stroke:var(--bp-ink);stroke-width:1.5px;opacity:calc(.7 - var(--darkness,0) * .45)}.bp-orbit{bottom:var(--bp-horizon);height:var(--bp-orbit)}.hero-clock-moon,[data-night] .hero-clock-sun{display:none}[data-night] .hero-clock-moon{display:block}.bp-sun,.bp-moon{transition:left 1s linear,bottom 1s linear;translate:-50% 50%}.bp-sun{width:64px;left:calc(var(--sun-x) * 100%);bottom:calc(var(--sun-y) * 100%);opacity:var(--sun-opacity);stroke:var(--color-yellow);stroke-width:2px}.bp-sun-rays{animation-duration:60s}.bp-sun-core{fill:var(--color-yellow);fill-opacity:.25}.bp-moon{width:56px;left:calc(var(--moon-x) * 100%);bottom:calc(var(--moon-y) * 100%);opacity:var(--moon-opacity);stroke:var(--color-paper)}.bp-moon-shadow{stroke-width:1px;stroke-opacity:.3;stroke-dasharray:2 4}.bp-moon-lit{fill:var(--color-paper);fill-opacity:.22;stroke-width:2px}.bp-moon-craters{stroke-width:1px;stroke-opacity:.7}.bp-scene{width:var(--bp-width);right:max(0px,50% - 900px);overflow:visible}.bp-text{padding-bottom:calc(var(--bp-horizon) + var(--bp-orbit) + 40px)}.hero-blueprint h1{letter-spacing:-.01em}.bp-road{fill:var(--bp-fill)}.bp-road-dash{stroke:var(--bp-ink);stroke-width:2px;stroke-dasharray:24 24;stroke-opacity:.8}.bp-line{stroke:var(--bp-ink);stroke-width:2px}.bp-thin{stroke:var(--bp-ink);stroke-width:1px;stroke-opacity:.75}.bp-faint{stroke:var(--bp-ink);stroke-width:1px;stroke-opacity:.3}.bp-accent{stroke:var(--bp-accent);stroke-width:2px}.bp-box-fill{fill:var(--bp-fill)}.bp-dash{stroke:var(--bp-ink);stroke-width:1px;stroke-dasharray:5 5}.bp-window{fill:var(--color-yellow);fill-opacity:var(--lights,0);stroke:var(--bp-ink);stroke-width:1px;stroke-opacity:.5}.bp-city-window{stroke:none}.bp-sign,.wf-crate-text,.wf-banner{fill:var(--bp-ink);stroke:none;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.bp-sign{fill:var(--bp-accent);font-size:11px;font-weight:600}.bp-spin{animation:16s linear infinite bp-spin}.bp-gear-b{animation-duration:10s;animation-direction:reverse}.bp-smoke{stroke:var(--bp-ink);stroke-width:1.5px;stroke-dasharray:8 12;animation:2.2s linear infinite bp-smoke}.bp-hose{stroke:var(--color-aqua);stroke-width:3px;stroke-dasharray:6 8;opacity:0}.bp-hose.is-flowing{opacity:1;animation:.5s linear infinite bp-flow}.wf-body{fill:var(--bp-fill);stroke:var(--bp-ink);stroke-width:1.75px}.wf-thin{stroke:var(--bp-ink);stroke-width:1px;stroke-opacity:.8}.wf-tint{stroke:var(--tint,var(--bp-accent));stroke-width:1.75px}.wf-crate{fill:var(--bp-fill);stroke:var(--color-yellow);stroke-width:1.5px}.wf-crate-text{fill:var(--color-yellow);font-size:9px;font-weight:600}.wf-banner{font-size:12px;font-weight:600}.wf-beam{stroke:var(--color-aqua);stroke-width:1.5px;stroke-dasharray:4 7;animation:.5s linear infinite wf-flow}.wf-exhaust{stroke:var(--color-orange);stroke-width:1.5px;stroke-dasharray:2 9;animation:.35s linear infinite wf-flow}.wf-flame{animation:.14s ease-in-out infinite alternate wf-flame}.wf-flame-shape{fill:var(--color-yellow);fill-opacity:.35;stroke:var(--color-yellow);stroke-width:1.25px}.wf-light{fill:var(--color-yellow)}.wf-blink{animation:.8s step-end infinite wf-blink}.wf-signal{stroke:var(--color-aqua);stroke-width:1.25px;animation:1.5s ease-out infinite wf-signal}.wf-sway{animation:3.2s ease-in-out infinite alternate wf-sway}.wf-sway-fast{animation-duration:1.4s}.wf-wave{animation:1.1s ease-in-out infinite alternate wf-wave}.wf-swing{animation:1.8s ease-in-out infinite alternate wf-sway}.wf-rotor{animation:90ms linear infinite alternate wf-rotor}.wf-meteor{stroke:url(#bp-meteor);stroke-width:2px}.wf-meteor-head{fill:var(--color-paper)}.wf-wheel{animation:.7s linear infinite bp-spin}.is-idle .wf-wheel{animation-play-state:paused}.wf-flapper{animation:.5s ease-in-out infinite alternate bp-flap}.wf-wing{animation:.2s ease-in-out infinite alternate wf-wing}@keyframes wf-wing{0%{transform:rotate(-32deg)}to{transform:rotate(30deg)}}@keyframes wf-flow{to{stroke-dashoffset:-11px}}@keyframes wf-flame{0%{transform:scaleY(.55)}to{transform:scaleY(1.2)}}@keyframes wf-blink{50%{opacity:.15}}@keyframes wf-signal{0%,to{opacity:0}30%{opacity:1}}@keyframes wf-sway{0%{transform:rotate(-6deg)}to{transform:rotate(6deg)}}@keyframes wf-wave{0%{transform:rotate(-30deg)}to{transform:rotate(20deg)}}@keyframes wf-rotor{0%{transform:scaleX(1)}to{transform:scaleX(.25)}}@keyframes bp-spin{to{transform:rotate(360deg)}}@keyframes bp-flap{0%{transform:scaleY(1)}to{transform:scaleY(-.6)}}@keyframes bp-flow{to{stroke-dashoffset:-14px}}@keyframes bp-smoke{0%{stroke-dashoffset:0;opacity:.8}to{stroke-dashoffset:40px;opacity:.45}}@media (width<=639px){.bp-scene{right:-134px}}
