:root{--life-e:#ece5d9;--life-e-full:#e2d6c3;--life-g:#d9d6d0;--life-g-full:#cbc7bf;--life-1:#419d7c;--life-1-full:#26a07a;--life-2:#4987ca;--life-2-full:#3a86d6;--life-3:#d7714d;--life-3-full:#e2683c;--life-4:#9666c4;--life-4-full:#9a5fcf;--life-cur:#e5a63f;--life-cur-full:#eda300;--life-glow:#ffb300;--life-marker:#1d1c1a;--life-margin:26rem;--life-axis:5rem}@media (prefers-color-scheme:dark){:root{--life-e:#36332d;--life-e-full:#423d35;--life-g:#2f2e2b;--life-g-full:#3a3935;--life-1:#36a07d;--life-1-full:#00a37a;--life-2:#4d89d0;--life-2-full:#3f88dc;--life-3:#ca6849;--life-3-full:#d4603a;--life-4:#9b75cd;--life-4-full:#9e70d8;--life-cur:#b98932;--life-cur-full:#bf8700;--life-glow:#ffb300;--life-marker:#fbf7ef}}.page.wide{max-width:116rem}.life-headline{max-width:70rem;margin-bottom:.8rem;font-size:2rem;line-height:2.8rem}.life-intro{color:var(--muted);font-family:Georgia,serif;font-style:italic}.life-toggle{border:.1rem solid var(--rule);border-radius:.6rem;margin:.8rem 0 0;display:inline-flex;overflow:hidden}.life-toggle[hidden]{display:none}.life-toggle button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.4rem 1.2rem;font-size:1.4rem}.life-toggle button+button{border-left:.1rem solid var(--rule)}.life-toggle button[aria-pressed=true]{color:var(--bg);background:var(--text)}.life-toggle button:focus-visible{outline:.2rem solid var(--text);outline-offset:-.4rem}.life-figure{margin:2.4rem 0;position:relative}.life-canvas{margin:0 var(--life-margin) 0 var(--life-axis);position:relative}.life-svg{width:100%;height:auto;display:block;overflow:visible}.life-svg:focus{outline:none}.life-svg:focus-visible{outline:.2rem solid var(--muted);outline-offset:.4rem;border-radius:.4rem}.life-svg .c{transition:opacity .15s,fill .15s}.life-svg .se{fill:var(--life-e)}.life-svg .sg{fill:var(--life-g)}.life-svg .s1{fill:var(--life-1)}.life-svg .s2{fill:var(--life-2)}.life-svg .s3{fill:var(--life-3)}.life-svg .s4{fill:var(--life-4)}.life-svg .scur{fill:var(--life-cur)}.life-svg[data-active] .c{opacity:.22}.life-svg[data-active=e] .se,.life-svg[data-active=g] .sg,.life-svg[data-active="1"] .s1,.life-svg[data-active="2"] .s2,.life-svg[data-active="3"] .s3,.life-svg[data-active="4"] .s4,.life-svg[data-active=cur] .scur{opacity:1}.life-svg[data-active=e] .se{fill:var(--life-e-full)}.life-svg[data-active=g] .sg{fill:var(--life-g-full)}.life-svg[data-active="1"] .s1{fill:var(--life-1-full)}.life-svg[data-active="2"] .s2{fill:var(--life-2-full)}.life-svg[data-active="3"] .s3{fill:var(--life-3-full)}.life-svg[data-active="4"] .s4{fill:var(--life-4-full)}.life-svg[data-active=cur] .scur{fill:var(--life-cur-full)}.life-svg .c.active{stroke:var(--text);stroke-width:1.5px}.life-svg .now{fill:var(--life-cur-full)}.life-svg .glow{fill:var(--life-glow);animation:2.6s ease-in-out infinite alternate life-pulse}@keyframes life-pulse{0%{opacity:.45}to{opacity:1}}.life-svg .now-arrow{fill:none;stroke:var(--text);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.life-svg .ms{fill:var(--life-marker);pointer-events:none}.life-svg .ms-hit{fill:#0000}.life-svg .ms-link{cursor:pointer}.life-svg .ms-link:focus-visible .ms-hit{stroke:var(--text);stroke-width:1.5px}.life-axis,.life-margin{position:absolute;top:0;bottom:0}.life-axis{width:var(--life-axis);right:100%}.life-year{color:var(--muted);font-variant-numeric:tabular-nums;font-size:1.3rem;line-height:1;position:absolute;right:1rem;transform:translateY(-50%)}.life-margin{width:var(--life-margin);left:100%}.m-item{padding-left:2.2rem;font-size:1.3rem;line-height:1.7rem;position:absolute;left:0;right:0;transform:translateY(-50%)}.m-tick{left:.4rem;top:calc(50% + var(--off,0px));background:var(--muted);width:1.2rem;height:.15rem;position:absolute;transform:translateY(-50%)}.m-item:before{content:"";left:1.6rem;top:var(--join-top,50%);height:var(--join-h,0);border-left:.1rem solid var(--rule);position:absolute}.m-mark{background:var(--muted);width:.8rem;height:.15rem;position:absolute;left:.4rem;transform:translateY(-50%)}.m-period .m-tick{border-radius:.3rem;width:1rem;height:1rem}.m-text span{color:var(--muted)}.m-period .m-text strong,.m-period .m-text span,.m-now .m-text strong,.m-now .m-text span{display:block}.m-milestone a{color:inherit}.m-now{font-size:1.6rem;line-height:2rem}.m-now .m-tick{background:var(--text);width:1.4rem;height:.2rem}.life-now-caption{display:none}.life-tip{z-index:2;background:var(--card);border:.1rem solid var(--rule);pointer-events:none;border-radius:.6rem;width:max-content;max-width:30rem;padding:.8rem 1.2rem;font-size:1.3rem;line-height:1.8rem;position:absolute;transform:translate(-50%,calc(-100% - 1rem));box-shadow:0 .4rem 1.6rem #00000024}.life-tip strong,.life-tip .range{display:block}.life-tip .range,.life-tip .ms-line{color:var(--muted)}.life-tip p{margin:.4rem 0 0}.tags{flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.tags li{border:.1rem solid var(--rule);color:var(--muted);border-radius:1rem;padding:0 .7rem;font-size:1.2rem;line-height:2rem}.life-cta{flex-wrap:wrap;gap:.8rem;margin:0 0 3.2rem;padding:0;list-style:none;display:flex}.life-cta a{color:var(--text);border:.1rem solid var(--text);border-radius:2rem;padding:.5rem 1.4rem;font-size:1.5rem;display:inline-block}.life-cta a:hover,.life-cta .primary a{background:var(--text);color:var(--bg)}.life-legend h2{margin-bottom:1.2rem}.life-legend>ol{margin:0;padding:0;list-style:none}.life-legend>ol>li{border-top:.1rem solid var(--rule);grid-template-columns:1.4rem 1fr;column-gap:1.2rem;padding:1rem 0;display:grid}.life-legend>ol>li[hidden]{display:none}.life-legend .swatch{border-radius:.3rem;width:1.4rem;height:1.4rem;margin-top:.5rem}.life-legend .name{font-weight:700}.life-legend .meta{color:var(--muted)}.life-legend .impact{margin:.2rem 0 0}.legend-ms{margin:.6rem 0 0;padding:0;font-size:1.4rem;list-style:none}.legend-ms li:before{content:"";background:var(--text);vertical-align:.1rem;border-radius:50%;width:.7rem;height:.7rem;margin-right:.8rem;display:inline-block}.legend-ms span{color:var(--muted)}.back-link{margin-bottom:2.4rem}@media (width<=900px){:root{--life-margin:20rem}}@media (width<=600px){:root{--life-margin:0rem;--life-axis:3.8rem}.life-margin,.life-svg .now-arrow{display:none}.life-year{font-size:1.2rem;right:.6rem}.life-now-caption{margin:1.2rem 0 0;font-size:1.5rem;display:block}.life-now-caption span{color:var(--muted);display:block}.life-headline{font-size:1.8rem;line-height:2.5rem}}@media (prefers-reduced-motion:reduce){.life-svg .glow{opacity:.85;animation:none}.life-svg .c{transition:none}}
