/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
@layer reset{html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template,[hidden]{display:none}}@layer base{:root{--ink:#2e2e2e;--navy:#223e5d;--paper:#fbf9e7;--cream:#fcedcc;--card:#fefefe;--link:#3d7499;--link-soft:#a1c0cc;--muted:#555552;--code-bg:#f4eede;--rule:#344760;--selection:#b3d4fc;--love:#993d46;--slate:#37465c;--blue-tint:#4b7395;--red-tint:#964f53}::selection{background:var(--selection);text-shadow:none}hr{border:0;border-top:1px dashed var(--rule);opacity:.5;height:.05rem;margin:1.5rem 0;padding:0;display:block}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}html{padding:1.5rem;font-family:chaparral-pro,Georgia,serif;font-size:100%;font-weight:400;line-height:1.5rem}@media screen and (width<=480px){html{font-size:100%}}@media screen and (width>=800px){html{font-size:115%}}@media screen and (width>=1280px){html{padding-top:3rem;font-size:130%}}@media screen and (width>=1440px){html{padding-top:6rem;font-size:150%}}html.light-theme{background:var(--paper);color:var(--ink)}code,kbd,samp,var,pre{background-color:var(--code-bg);color:var(--muted);border-radius:.2rem;padding:.05rem .2rem;font-family:Source Code Pro,Roboto Mono,Consolas,Andale Mono WT,Andale Mono,Lucida Console,Lucida Sans Typewriter,DejaVu Sans Mono,Bitstream Vera Sans Mono,Liberation Mono,Nimbus Mono L,Monaco,Courier New,Courier,monospace;font-size:.75em;font-style:normal;font-weight:400}.astro-code code{background-color:unset}pre.ascii-art{background-color:#0000;width:100%;font-size:.6rem;line-height:.75rem}small,address,dfn{font-size:.75rem;line-height:1rem}mark{background-color:var(--cream);border-radius:.2rem;padding:0 .2rem .1rem}abbr{text-transform:uppercase;font-size:.9em;text-decoration:none}abbr[title]{cursor:help;text-decoration-color:var(--link-soft);text-transform:uppercase;font-size:.9em;text-decoration-line:underline;text-decoration-style:wavy}del{background-color:color-mix(in srgb, var(--red-tint) 15%, transparent);color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb, var(--red-tint) 50%, transparent);border-radius:.2rem;padding:0 .2rem .1rem;text-decoration-style:wavy}del.replace-r{border-top-left-radius:0;border-bottom-left-radius:0}del.replace-l{border-top-right-radius:0;border-bottom-right-radius:0}ins{background-color:color-mix(in srgb, var(--blue-tint) 15%, transparent);border-radius:.2rem;padding:0 .2rem .1rem;font-style:italic;text-decoration:none}ins.replace-r{border-top-right-radius:0;border-bottom-right-radius:0}ins.replace-l{border-top-left-radius:0;border-bottom-left-radius:0}a{color:var(--link);text-decoration-color:var(--link-soft)}.page-content a{padding-left:.05rem;padding-right:.05rem}.page-content img{max-width:100%}a:link{color:var(--link)}a:visited,a:is(:hover,:focus-visible){color:var(--navy);text-decoration:none}@keyframes link-highlight{0%{background-color:#0000}to{background-color:var(--link-soft)}}.page-content a:is(:hover,:focus-visible){background-color:var(--link-soft);border-radius:.125rem;animation-name:link-highlight;animation-duration:.75s;animation-timing-function:ease-in-out;animation-fill-mode:both}a:active{color:var(--link-soft);text-decoration:none}.page-content a:active{background-color:var(--navy)}.page-content a img{border:5px solid var(--link)}.page-content a:is(:hover,:focus-visible) img{border-color:var(--navy);box-shadow:0 .25rem 2rem color-mix(in srgb, var(--slate) 30%, transparent);animation-name:icon-rise;animation-duration:.35s;animation-timing-function:ease-out;animation-delay:10ms;animation-fill-mode:both}:focus-visible{outline:2px solid var(--navy);outline-offset:2px}h1{margin:6rem 0 1.5rem;font-size:2.5rem;font-style:normal;font-weight:300;line-height:3rem}h2{margin:3rem 0 1.5rem;font-size:2rem;font-style:normal;font-weight:300;line-height:3rem}h3{margin:2rem 0 1.5rem;font-size:1.5rem;font-style:normal;font-weight:400;line-height:2rem}h4{margin:2rem 0 1.5rem;font-size:1rem;font-style:normal;font-weight:600;line-height:2rem}h5{margin:1.5rem 0;font-size:1rem;font-style:italic;font-weight:400;line-height:1.5rem}h6{text-transform:uppercase;margin:1.5rem 0;font-size:.75rem;font-style:normal;font-weight:400;line-height:1.5rem}p,ul,ol,li,dl,dt,dd,blockquote{font-size:1rem;font-style:normal;font-weight:400;line-height:1.5rem}p.lead{font-size:1.5rem;font-style:normal;font-weight:300;line-height:2rem}dt{font-style:italic;font-weight:bolder}dd{border-left:.2rem solid color-mix(in srgb, var(--blue-tint) 15%, transparent);margin:.25rem 0 1.25rem;padding:.25rem 0 .25rem 1rem}ul,ol{padding:0;font-size:.5rem;list-style-position:outside}li::marker{color:var(--muted);font-size:.75rem}ul{list-style-type:circle}.roman{list-style-type:lower-roman}.stand-alone-items li{margin-bottom:1.5rem;list-style-type:none}.stand-alone-items li>*{margin-bottom:.25rem}.compact-list{columns:10rem 5;column-fill:balance;column-gap:2rem}.compact-list li{break-inside:avoid-column}p,ul,ol,dl,blockquote{margin:0 0 1.5rem}ul ul li{margin-left:1rem;list-style-type:disc}ul ul ul li{margin-left:1rem;list-style-type:square}blockquote{border-left:.2rem solid color-mix(in srgb, var(--blue-tint) 15%, transparent);padding-left:1.3rem;font-style:italic}p b{font-weight:600}.footnotes p{font-size:75%}figure{text-align:center;margin:1.5rem 0;display:block}figure img,p img{border-radius:.5rem;max-width:100%}figure span{font-size:6rem;font-style:normal;font-weight:300;line-height:4rem}figure figcaption{margin:.5rem 0 0;font-size:.85em;font-style:italic;font-weight:400;line-height:1.5rem}table{border-collapse:collapse;border:0;margin:0 0 1.5rem;padding:0}table caption,table tfoot{text-align:left;font-size:.85em;font-style:italic}table tfoot{border-top:.025rem solid color-mix(in srgb, var(--slate) 15%, transparent)}table caption{margin-bottom:1rem}tbody{vertical-align:top}thead tr{border-bottom:.025rem solid color-mix(in srgb, var(--slate) 50%, transparent)}tbody tr{border-bottom:.015rem solid color-mix(in srgb, var(--slate) 25%, transparent)}tbody tr:last-of-type{border:0}th,td{text-align:left;padding:.5rem 1rem .5rem 0;font-size:.75rem;line-height:1rem}th{font-weight:bolder}thead th{font-style:italic}.tabular-data{max-width:100%;overflow-x:auto}header,nav,footer,section,article{margin:0}section,article,canvas,source,audio,video,param,embed,iframe,area,object{margin-bottom:1.5rem}iframe{border:0}canvas,source,audio,video,embed,iframe,area,object{width:100%;display:block}}@layer layout{.page{grid-gap:1.5rem;grid-template:"head nav nav nav nav"min-content"head name name name."min-content"head intro intro intro.""head main main main.""foot footer footer meta."/4rem 1fr 1fr 1fr 4rem;display:grid}@media screen and (width<=480px){.page{grid-template-columns:1fr 1fr;grid-template-areas:"head head""nav nav""name name""intro intro""main main""footer footer""foot meta"}}@media screen and (width>=800px){.page{grid-template-columns:4rem 1fr 1fr 1fr 1fr 1.5fr;grid-template-areas:"head name name name name nav""head intro intro intro intro nav""head main main main main nav""foot footer footer footer footer meta"}}@media screen and (width>=1280px){.page{grid-template-columns:4rem .25fr 1fr 1fr 1fr 1fr .25fr 1.5fr;grid-template-areas:"head.name name name name.nav""head.intro intro intro intro.nav""head.main main main main.nav""foot.footer footer footer footer.meta"}}@media screen and (width>=1440px){.page{grid-template-columns:.25fr 4rem .25fr 1fr 1fr 1fr 1fr .25fr 1.5fr .25fr;grid-template-areas:".head.name name name name.nav."".head.intro intro intro intro.nav."".head.main main main main.nav."".foot.footer footer footer footer.meta."}}.page-main{display:contents}.page-title{grid-area:head}.page-links{grid-area:nav}.page-name{grid-area:name}.page-intro{grid-area:intro}.page-content{grid-area:main}.page-foot{grid-area:foot}.page-footer{grid-area:footer}.page-meta{grid-area:meta}.page-title,.page-links,.page-name,.page-intro,.page-content,.page-foot,.page-footer,.page-meta{margin:0}.page-name :last-child,.page-intro :last-child,.page-content :last-child{margin-bottom:0}.page-title{flex-direction:column;justify-content:flex-start;align-items:center;display:flex}.page-content{margin-bottom:3rem}@media screen and (width<=480px){.page-title{flex-direction:row}}.page-title .icon,.page-title .tagline{align-self:center}.page-title .tagline{color:var(--navy);writing-mode:vertical-rl;margin:0;padding:1rem;font-size:.75rem;font-style:italic;line-height:1rem}@media screen and (width<=480px){.page-title .tagline{writing-mode:horizontal-tb}}.page-name{padding-top:.5rem}.page-title .icon{background-color:#0000;border-radius:1rem;display:inline-block}@keyframes icon-rise{0%{box-shadow:none;transform:translateY(0)}to{box-shadow:0 .25rem 1rem color-mix(in srgb, var(--slate) 30%, transparent);transform:translateY(-.125rem)scale(1.05)}}.page-title .icon:is(:hover,:focus-visible){box-shadow:0 .25rem 2rem color-mix(in srgb, var(--slate) 30%, transparent);animation-name:icon-rise;animation-duration:.35s;animation-timing-function:ease-out;animation-delay:10ms;animation-fill-mode:both}.page-title .icon svg,.page-title .icon img{width:3.5rem;height:3.5rem;display:inline-block}.page-links{flex-wrap:wrap;place-content:center flex-end;align-items:center;min-height:4rem;line-height:1rem;display:flex}@media screen and (width<=480px){.page-links{justify-content:space-between;margin-left:-.25rem}}@media screen and (width>=800px){.page-links{flex-direction:column;place-content:flex-end flex-start;align-items:flex-end;min-height:1rem;margin-top:1rem}}.page-footer{border-top:.025rem solid color-mix(in srgb, var(--slate) 25%, transparent)}.page-footer .elsewhere{flex-wrap:wrap;justify-content:center;margin:0;line-height:1rem;display:flex}.page-footer .icon,.page-links a{border:.05rem solid color-mix(in srgb, var(--slate) 10%, transparent);color:var(--navy);text-transform:lowercase;border-radius:.25rem;margin:0 .25rem .5rem;padding:.25rem .5rem;font-size:.75rem;font-style:italic;font-weight:400;text-decoration:none;display:block}.page-footer .icon,.page-links .icon{border:0;padding:.25rem}.page-footer .icon svg,.page-links .icon svg{fill:var(--navy);height:1rem}@keyframes label-highlight{0%{}to{background:var(--navy);box-shadow:0 .25rem .5rem color-mix(in srgb, var(--slate) 25%, transparent);color:var(--paper)}}@keyframes icon-highlight{0%{}to{background:var(--navy);box-shadow:0 .25rem .5rem color-mix(in srgb, var(--slate) 25%, transparent);fill:var(--paper)}}@keyframes icon-svg-highlight{0%{fill:var(--navy)}to{fill:var(--paper)}}.page-links .label:is(:hover,:focus-visible){animation-name:label-highlight;animation-duration:.5s;animation-timing-function:ease-out;animation-fill-mode:both}.page-footer .icon:is(:hover,:focus-visible),.page-links .icon:is(:hover,:focus-visible){animation-name:icon-highlight;animation-duration:.5s;animation-timing-function:ease-out;animation-fill-mode:both}.page-footer .icon:is(:hover,:focus-visible) svg,.page-links .icon:is(:hover,:focus-visible) svg{fill:var(--paper);animation-name:icon-svg-highlight;animation-duration:.5s;animation-timing-function:ease-out;animation-fill-mode:both}nav a.current{background:var(--navy);color:var(--paper);cursor:default}@media screen and (width>=800px){nav a.current:before{content:"✏︎ ";opacity:.5;font-style:normal;line-height:100%;display:inline-block;position:relative;top:.075rem}}nav a.current.icon svg{fill:var(--paper)}.label span{opacity:.4}.page-foot{justify-content:center;align-items:flex-start;display:flex}@media screen and (width<=480px){.page-foot{justify-content:flex-start}}.page-foot a{width:2rem;height:2rem;display:inline-block}@keyframes icon-up{0%{transform:translateY(0)}25%{transform:translateY(-.125rem)}75%{transform:translateY(.125rem)}to{transform:translateY(0)}}.page-foot a svg{opacity:.5;width:2rem;height:2rem}.page-foot a:is(:hover,:focus-visible) svg{opacity:1;animation-name:icon-up;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:none}.page-footer p{text-align:center;margin-top:.25rem;font-size:.75rem}.page-meta p{text-align:center;margin-top:.25rem}@media screen and (width<=480px){.page-meta p{text-align:right}}}@layer components{.minimal-clock{text-align:center;margin:0 auto}.minimal-clock svg{background-color:var(--cream);border:2px solid var(--cream);text-align:center;border-radius:1rem;margin:0 auto;display:inline-block}.page-intro .minimal-clock{float:right;margin-left:1rem}@keyframes heartbeat{0%{transform:scale(1)}25%{transform:scale(1.25)}75%{transform:scale(.75)}to{transform:scale(1)}}.love{color:var(--love);cursor:wait;font-style:normal;animation-name:heartbeat;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;display:inline-block;transform:translateY(-.25rem)}figure.highlight{background-color:var(--cream);border-radius:.5rem;margin:0 auto;padding:2rem 1.5rem 1.5rem;display:block}figure.highlight:nth-of-type(odd){float:left;text-align:left;margin:0 3rem 1.5rem 0}figure.highlight:nth-of-type(2n){float:right;text-align:right;margin:0 0 1.5rem 3rem}figure iframe{border-radius:.5rem;margin:0}.embed{aspect-ratio:16/10;height:auto}.embed--16x9{aspect-ratio:16/9}.embed--portrait{aspect-ratio:1000/2167}figure.narrow{max-width:320px}.highlight{border:.025rem solid color-mix(in srgb, var(--slate) 25%, transparent);clear:both;border-radius:.5rem;margin:0 auto 1.5rem;padding:1.5rem}.highlight :first-child{margin-top:0}.highlight.standout{background-color:var(--card)}.highlight.emphasis{background-color:var(--cream)}}@layer utilities{.text-demphasise{opacity:.75}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.hidden,[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only.focusable:active,.sr-only.focusable:focus{clip:auto;height:auto;white-space:inherit;width:auto;margin:0;position:static;overflow:visible}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{*,:before,:after{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:#fff!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^=\#]:after,a[href^=javascript\:]:after{content:""}pre{white-space:pre-wrap!important}pre,blockquote{page-break-inside:avoid;border:1px solid #999}thead{display:table-header-group}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}}
