.InstallPrompt_wrap__sqdPe{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;max-width:340px;margin:0 auto;padding:10px 12px;display:flex;align-items:center;gap:10px}.InstallPrompt_wrap__sqdPe svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.InstallPrompt_wrap__sqdPe svg path{fill:var(--paper);stroke:var(--ink);stroke-width:1.5;opacity:.9}.InstallPrompt_text__YwJtJ{position:relative;flex:1 1;margin:0;font-family:var(--font-body),var(--font-body-fallback);font-size:13px;color:var(--ink)}.InstallPrompt_actions__519qK{position:relative;display:flex;align-items:center;gap:6px;flex:none}.InstallPrompt_install__ogiVw{font-family:var(--font-body),var(--font-body-fallback);font-weight:700;font-size:13px;color:var(--ink);background:none;border:1.5px solid var(--ink);border-radius:4px;padding:5px 10px;cursor:pointer}.InstallPrompt_dismiss__pGWM8{font-size:13px;color:var(--ink-muted);background:none;border:none;padding:5px;cursor:pointer;line-height:1}.OfflineBanner_wrap__e4n3_{position:-webkit-sticky;position:sticky;top:0;z-index:50;width:min(320px,calc(100vw - 24px));margin:8px auto 0;padding:8px 14px;display:flex;align-items:center;justify-content:center;text-align:center}.OfflineBanner_wrap__e4n3_ svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.OfflineBanner_wrap__e4n3_ svg path{fill:var(--paper);stroke:var(--stamp);stroke-width:1.6;opacity:.95}.OfflineBanner_text__rL0tw{position:relative;font-family:var(--font-body),var(--font-body-fallback);font-size:13px;color:var(--stamp)}@font-face{font-family:Architects Daughter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c6582816bbb82cec-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Architects Daughter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/33417c49c7529ced-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Architects Daughter Fallback;src:local("Arial");ascent-override:93.03%;descent-override:38.04%;line-gap-override:0.00%;size-adjust:106.02%}.__className_fde0d3{font-family:Architects Daughter,Architects Daughter Fallback,Segoe Print,cursive;font-weight:400;font-style:normal}.__variable_fde0d3{--font-display:"Architects Daughter","Architects Daughter Fallback",Segoe Print,cursive}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/59829bb575d36b50-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e02f7a71372872a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/59829bb575d36b50-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e02f7a71372872a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/59829bb575d36b50-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e02f7a71372872a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spline Sans Mono Fallback;src:local("Arial");ascent-override:71.59%;descent-override:17.57%;line-gap-override:0.00%;size-adjust:134.59%}.__className_49c017{font-family:Spline Sans Mono,Spline Sans Mono Fallback,ui-monospace,SFMono-Regular,Menlo,monospace;font-style:normal}.__variable_49c017{--font-mono:"Spline Sans Mono","Spline Sans Mono Fallback",ui-monospace,SFMono-Regular,Menlo,monospace}@font-face{font-family:Karla;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/34e91e64f411b47f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Karla;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/739b78589b4abee9-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Karla;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/34e91e64f411b47f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Karla;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/739b78589b4abee9-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Karla;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/34e91e64f411b47f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Karla;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/739b78589b4abee9-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Karla Fallback;src:local("Arial");ascent-override:89.55%;descent-override:24.61%;line-gap-override:0.00%;size-adjust:102.40%}.__className_0b1198{font-family:Karla,Karla Fallback,ui-sans-serif,system-ui,sans-serif;font-style:normal}.__variable_0b1198{--font-body:"Karla","Karla Fallback",ui-sans-serif,system-ui,sans-serif}:root{--paper:#f7f3e8;--ink:#22271f;--ink-faint:rgba(34,39,31,0.35);--ink-muted:rgba(34,39,31,0.75);--gas:#c98a3d;--coal:#4a4a48;--nuclear:#7d6b9e;--wind:#7fa6b5;--solar:#e0a526;--hydro:#5b7f9e;--other:#8c9b7a;--stamp:#a3452f;--storage:#9c8465;--brass:#a8823c;--pen-0:#1e3a5f;--pen-1:#2d6a4f;--pen-2:#6a2c5a;--pen-3:#8a4a1f;--pen-4:#3d4f8a;--pen-5:#1f6b6b;--pen-6:#4a3b6b;--pen-7:#55632a;--pen-8:#2b5f7a;--pen-9:#6b3a2a;--pen-10:#3f4a5f;--pen-11:#5a4a7a;--font-display-fallback:"Architects Daughter","Segoe Print",cursive;--font-mono-fallback:"Spline Sans Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--font-body-fallback:"Karla",ui-sans-serif,system-ui,sans-serif;--radius-sm:3px;--radius-md:6px;--motion-fast:250ms;--motion-slow:400ms;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--content-max:720px;--content-page:1440px;--content-map:1040px;--header-h:48px;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-lg:18px;--text-xl:22px;--text-2xl:26px;--text-3xl:32px;--intro-scale:1;--intro-t-rule:0ms;--intro-d-rule:calc(260ms * var(--intro-scale));--intro-t-wordmark:calc(120ms * var(--intro-scale));--intro-d-wordmark:calc(380ms * var(--intro-scale));--intro-t-sweep:calc(180ms * var(--intro-scale));--intro-sweep-window:calc(620ms * var(--intro-scale));--intro-sweep-stroke:calc(380ms * var(--intro-scale));--intro-wash-lag:calc(140ms * var(--intro-scale));--intro-d-wash:calc(260ms * var(--intro-scale));--intro-t-stamp:calc(1080ms * var(--intro-scale));--intro-d-stamp:calc(160ms * var(--intro-scale));--intro-t-furniture:calc(1140ms * var(--intro-scale));--intro-d-furniture:calc(200ms * var(--intro-scale));--intro-furniture-step:calc(50ms * var(--intro-scale));--intro-settle:140ms}@media (max-width:899px){:root{--intro-scale:0.85}}@media (max-width:599px){:root{--intro-scale:0.75}}@media (max-height:520px){:root{--intro-scale:0.7}}*,:after,:before{box-sizing:border-box}body,html{padding:0;margin:0}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{background-color:var(--paper);background-image:url(/textures/paper-grain.svg);background-repeat:repeat;background-size:320px 320px;color:var(--ink);font-family:var(--font-body),var(--font-body-fallback);line-height:1.5;min-height:100dvh}.font-display,h1,h2,h3{font-family:var(--font-display),var(--font-display-fallback);font-weight:400}.font-mono,.tabular-nums,table{font-family:var(--font-mono),var(--font-mono-fallback);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a,button{color:inherit}button{font:inherit}img,svg{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}