@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}body{-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}}@layer variables{@font-face{font-family:Atkinson Hyperlegible;src:url(/assets/fonts/atkinson/atkinson-hyperlegible-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/assets/fonts/atkinson/atkinson-hyperlegible-bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/assets/fonts/atkinson/atkinson-hyperlegible-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--color-bg:#8bbae7;--color-fg:#240a37;--color-accent:#e7e68b;--color-border:#e78b8c;--color-link:#0f0520;--color-link-visited:#3d1a5c;--color-focus:var(--color-accent);--color-surface:oklch(from var(--color-fg) l c h / .08);--font-body:"Atkinson Hyperlegible", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--size-step--1:clamp(.889rem, .86rem + .12vw, .95rem);--size-step-0:clamp(1rem, .96rem + .22vw, 1.125rem);--size-step-1:clamp(1.125rem, 1.05rem + .37vw, 1.333rem);--size-step-2:clamp(1.266rem, 1.14rem + .6vw, 1.578rem);--size-step-3:clamp(1.424rem, 1.24rem + .93vw, 1.868rem);--size-step-4:clamp(1.602rem, 1.33rem + 1.36vw, 2.209rem);--size-step-5:clamp(1.802rem, 1.48rem + 1.59vw, 2.615rem);--size-step-6:clamp(2.027rem, 1.61rem + 2.07vw, 3.096rem);--line-height-base:1.6;--line-height-tight:1.2;--space-3xs:clamp(.25rem, .23rem + .11vw, .3125rem);--space-2xs:clamp(.5rem, .46rem + .22vw, .625rem);--space-xs:clamp(.75rem, .69rem + .33vw, .9375rem);--space-s:clamp(1rem, .91rem + .43vw, 1.25rem);--space-m:clamp(1.5rem, 1.37rem + .65vw, 1.875rem);--space-l:clamp(2rem, 1.83rem + .87vw, 2.5rem);--space-xl:clamp(3rem, 2.74rem + 1.3vw, 3.75rem);--space-2xl:clamp(4rem, 3.65rem + 1.74vw, 5rem);--measure:65ch;--wrapper-max:75rem}@media (prefers-color-scheme:dark){:root{--color-bg:#240a37;--color-fg:#8bbae7;--color-link:#a8cef0;--color-link-visited:#7ba4cc}}}@layer global{body{font-family:var(--font-body);font-size:var(--size-step-0);line-height:var(--line-height-base);color:var(--color-fg);background-color:var(--color-bg)}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-tight);font-weight:700}h1{font-size:var(--size-step-6)}h2{font-size:var(--size-step-3)}h3{font-size:var(--size-step-2)}h4{font-size:var(--size-step-1)}p{max-width:var(--measure)}a{color:var(--color-link)}a:visited{color:var(--color-link-visited)}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}ul,ol{padding-inline-start:var(--space-m)}[role=list]{padding-inline-start:0;list-style:none}code{font-family:var(--font-mono);background-color:var(--color-surface);border-radius:3px;padding:.1em .3em;font-size:.9em}pre{font-family:var(--font-mono);background-color:var(--color-surface);padding:var(--space-s);border-radius:3px;max-width:100%;font-size:.875em;overflow-x:auto}pre code{background:0 0;padding:0}img{height:auto}time{font-size:var(--size-step-0);opacity:.8}hr{border:none;border-block-start:1px solid var(--color-border);margin-block:var(--space-l)}}@layer compositions{.flow>*+*,main>*+*,.e-content>*+*,.h-feed>*+*{margin-block-start:var(--flow-space,var(--space-m))}.cluster,nav ul{gap:var(--cluster-gap,var(--space-s));flex-wrap:wrap;align-items:center;display:flex}.wrapper,body>header,main,body>footer{max-width:var(--wrapper-max);padding-inline:var(--space-m);margin-inline:auto}.repel{justify-content:space-between;align-items:center;gap:var(--repel-gap,var(--space-m));flex-wrap:wrap;display:flex}.region,main{padding-block:var(--space-xl)}body>footer{padding-block:var(--space-l)}.grid{grid-template-columns:repeat(auto-fill, minmax(var(--grid-min,15rem), 1fr));gap:var(--grid-gap,var(--space-m));display:grid}.grid-areas{gap:var(--grid-gap,var(--space-m));grid-template-columns:1fr;grid-template-areas:"header""main""sidebar""footer";display:grid}@media (width>=50rem){.grid-areas{grid-template-areas:"header header""main sidebar""footer footer";grid-template-columns:1fr var(--sidebar-width,20rem)}}.grid-areas>[data-area=header]{grid-area:header}.grid-areas>[data-area=main]{grid-area:main}.grid-areas>[data-area=sidebar]{grid-area:sidebar}.grid-areas>[data-area=footer]{grid-area:footer}.subgrid-rows{grid-template-rows:subgrid;display:grid}.subgrid-columns{grid-template-columns:subgrid;display:grid}.subgrid{grid-template-rows:subgrid;grid-template-columns:subgrid;display:grid}}@layer blocks{header[role=banner]{padding-block:var(--space-m);border-block-end:1px solid var(--color-border)}footer[role=contentinfo]{border-block-start:1px solid var(--color-border)}footer[role=contentinfo]>*+*{margin-block-start:var(--space-s)}footer[role=contentinfo] p:last-child{opacity:.8;font-size:.875em}.h-card{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.h-card .u-photo{object-fit:cover;border-radius:50%;width:5rem;height:5rem}.h-card .p-note{opacity:.85;flex-basis:100%;font-size:.9em}.h-entry>*+*{margin-block-start:var(--space-s)}.h-entry .e-content>*+*{margin-block-start:var(--space-m)}.h-entry .dt-published{display:block}.h-entry>.u-url,.h-entry>.p-author{font-size:.875em}.h-entry>ul[role=list]{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.p-category{font-size:.875em}.u-bookmark-of{word-break:break-all}.h-feed>.p-name{font-size:var(--size-step-3);font-weight:700;line-height:var(--line-height-tight)}.h-feed .h-entry{padding-block:var(--space-m);border-block-end:1px solid var(--color-border)}.h-feed .h-entry:last-child{border-block-end:none}.h-feed .h-entry>*+*{margin-block-start:var(--space-2xs)}.h-feed .p-author{display:none}.webmentions{border-block-start:1px solid var(--color-border);margin-block-start:var(--space-xl);padding-block-start:var(--space-m)}.webmentions>*+*{margin-block-start:var(--space-m)}.webmentions section[aria-label=Likes] ul,.webmentions section[aria-label=Reposts] ul{gap:var(--space-3xs);flex-wrap:wrap;display:flex}.webmentions section[aria-label=Likes] img,.webmentions section[aria-label=Reposts] img{object-fit:cover;border-radius:50%}.h-cite{padding-block:var(--space-s);border-block-end:1px solid var(--color-border)}.h-cite>*+*{margin-block-start:var(--space-2xs)}.h-cite img{vertical-align:middle;border-radius:50%;margin-inline-end:var(--space-3xs);display:inline-block}.h-cite .dt-published{margin-inline-start:var(--space-xs);font-size:.875em}.h-cite .u-url{font-size:.875em}blockquote{border-inline-start:3px solid var(--color-border);padding-inline-start:var(--space-m);padding-block:var(--space-xs);font-style:italic}blockquote>*+*{margin-block-start:var(--space-s)}blockquote cite,blockquote figcaption{opacity:.8;margin-block-start:var(--space-s);font-size:.875em;font-style:normal;display:block}blockquote cite:before,blockquote figcaption:before{content:"— "}button,.button{align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-m);font:inherit;font-weight:700;line-height:var(--line-height-tight);color:var(--color-bg);background-color:var(--color-fg);border:2px solid var(--color-fg);cursor:pointer;border-radius:3px;text-decoration:none;display:inline-flex;&.tag{padding:var(--space-2xs);background-color:var(--color-accent);color:var(--color-fg);border-radius:40% 50%;&:hover{background-color:var(--color-fg);color:var(--color-accent);border-color:var(--color-accent)}}}button:hover,.button:hover{opacity:.85}button:active,.button:active{opacity:.7}.button-outline{color:var(--color-fg);border:2px solid var(--color-fg);background-color:#0000}.button-outline:hover{background-color:var(--color-surface);opacity:1}.button-outline:active{opacity:.9}button:disabled,.button:disabled{opacity:.4;cursor:not-allowed}figure{margin:0}figure>*+*{margin-block-start:var(--space-2xs)}figure img,figure video,figure picture{border-radius:3px}figcaption{opacity:.8;font-size:.875em;font-style:italic}details{padding:var(--space-s);border:1px solid var(--color-border);border-radius:3px}summary{cursor:pointer;font-weight:700;list-style:none}summary:before{content:"▶";margin-inline-end:var(--space-2xs);font-size:.75em;transition:transform .2s;display:inline-block}details[open]>summary:before{transform:rotate(90deg)}details>:not(summary){margin-block-start:var(--space-s)}summary::-webkit-details-marker{display:none}dialog{max-width:min(90vw,40rem);padding:var(--space-l);border:1px solid var(--color-border);color:var(--color-fg);background-color:var(--color-bg);border-radius:3px}dialog::backdrop{background-color:oklch(from var(--color-fg) l c h / .6)}dialog>*+*{margin-block-start:var(--space-m)}@starting-style{dialog[open]{opacity:0;transform:translateY(.5rem)}}dialog[open]{opacity:1;transition:opacity .2s ease, transform .2s ease, display .2s ease allow-discrete;transform:translateY(0)}[popover]{padding:var(--space-m);border:1px solid var(--color-border);color:var(--color-fg);background-color:var(--color-bg);border-radius:3px}[popover]::backdrop{background-color:oklch(from var(--color-fg) l c h / .4)}@starting-style{[popover]:popover-open{opacity:0;transform:translateY(.5rem)}}[popover]:popover-open{opacity:1;transition:opacity .2s ease, transform .2s ease, display .2s ease allow-discrete;transform:translateY(0)}@view-transition{navigation:auto}}@layer utilities{.skip-link{z-index:100;background:var(--color-fg);color:var(--color-bg);padding:.5em 1em;font-weight:700;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.text-center{text-align:center}.text-start{text-align:start}.text-end{text-align:end}.text-small{font-size:.875em}.text-large{font-size:var(--size-step-1)}.font-bold{font-weight:700}.font-normal{font-weight:400}.font-italic{font-style:italic}.uppercase{text-transform:uppercase;letter-spacing:.05em}.capitalize{text-transform:capitalize}.measure{max-width:var(--measure)}.color-fg{color:var(--color-fg)}.color-bg{color:var(--color-bg)}.color-accent{color:var(--color-accent)}.color-border{color:var(--color-border)}.color-link{color:var(--color-link)}.bg-fg{background-color:var(--color-fg)}.bg-bg{background-color:var(--color-bg)}.bg-accent{background-color:var(--color-accent)}.bg-border{background-color:var(--color-border)}.bg-surface{background-color:var(--color-surface)}.mbs-3xs{margin-block-start:var(--space-3xs)}.mbs-2xs{margin-block-start:var(--space-2xs)}.mbs-xs{margin-block-start:var(--space-xs)}.mbs-s{margin-block-start:var(--space-s)}.mbs-m{margin-block-start:var(--space-m)}.mbs-l{margin-block-start:var(--space-l)}.mbs-xl{margin-block-start:var(--space-xl)}.mbs-2xl{margin-block-start:var(--space-2xl)}.mbe-3xs{margin-block-end:var(--space-3xs)}.mbe-2xs{margin-block-end:var(--space-2xs)}.mbe-xs{margin-block-end:var(--space-xs)}.mbe-s{margin-block-end:var(--space-s)}.mbe-m{margin-block-end:var(--space-m)}.mbe-l{margin-block-end:var(--space-l)}.mbe-xl{margin-block-end:var(--space-xl)}.mbe-2xl{margin-block-end:var(--space-2xl)}.mb-3xs{margin-block:var(--space-3xs)}.mb-2xs{margin-block:var(--space-2xs)}.mb-xs{margin-block:var(--space-xs)}.mb-s{margin-block:var(--space-s)}.mb-m{margin-block:var(--space-m)}.mb-l{margin-block:var(--space-l)}.mb-xl{margin-block:var(--space-xl)}.mb-2xl{margin-block:var(--space-2xl)}.mis-3xs{margin-inline-start:var(--space-3xs)}.mis-2xs{margin-inline-start:var(--space-2xs)}.mis-xs{margin-inline-start:var(--space-xs)}.mis-s{margin-inline-start:var(--space-s)}.mis-m{margin-inline-start:var(--space-m)}.mis-l{margin-inline-start:var(--space-l)}.mis-xl{margin-inline-start:var(--space-xl)}.mis-2xl{margin-inline-start:var(--space-2xl)}.mie-3xs{margin-inline-end:var(--space-3xs)}.mie-2xs{margin-inline-end:var(--space-2xs)}.mie-xs{margin-inline-end:var(--space-xs)}.mie-s{margin-inline-end:var(--space-s)}.mie-m{margin-inline-end:var(--space-m)}.mie-l{margin-inline-end:var(--space-l)}.mie-xl{margin-inline-end:var(--space-xl)}.mie-2xl{margin-inline-end:var(--space-2xl)}.mi-3xs{margin-inline:var(--space-3xs)}.mi-2xs{margin-inline:var(--space-2xs)}.mi-xs{margin-inline:var(--space-xs)}.mi-s{margin-inline:var(--space-s)}.mi-m{margin-inline:var(--space-m)}.mi-l{margin-inline:var(--space-l)}.mi-xl{margin-inline:var(--space-xl)}.mi-2xl{margin-inline:var(--space-2xl)}.mi-auto{margin-inline:auto}.pbs-3xs{padding-block-start:var(--space-3xs)}.pbs-2xs{padding-block-start:var(--space-2xs)}.pbs-xs{padding-block-start:var(--space-xs)}.pbs-s{padding-block-start:var(--space-s)}.pbs-m{padding-block-start:var(--space-m)}.pbs-l{padding-block-start:var(--space-l)}.pbs-xl{padding-block-start:var(--space-xl)}.pbs-2xl{padding-block-start:var(--space-2xl)}.pbe-3xs{padding-block-end:var(--space-3xs)}.pbe-2xs{padding-block-end:var(--space-2xs)}.pbe-xs{padding-block-end:var(--space-xs)}.pbe-s{padding-block-end:var(--space-s)}.pbe-m{padding-block-end:var(--space-m)}.pbe-l{padding-block-end:var(--space-l)}.pbe-xl{padding-block-end:var(--space-xl)}.pbe-2xl{padding-block-end:var(--space-2xl)}.pb-3xs{padding-block:var(--space-3xs)}.pb-2xs{padding-block:var(--space-2xs)}.pb-xs{padding-block:var(--space-xs)}.pb-s{padding-block:var(--space-s)}.pb-m{padding-block:var(--space-m)}.pb-l{padding-block:var(--space-l)}.pb-xl{padding-block:var(--space-xl)}.pb-2xl{padding-block:var(--space-2xl)}.pis-3xs{padding-inline-start:var(--space-3xs)}.pis-2xs{padding-inline-start:var(--space-2xs)}.pis-xs{padding-inline-start:var(--space-xs)}.pis-s{padding-inline-start:var(--space-s)}.pis-m{padding-inline-start:var(--space-m)}.pis-l{padding-inline-start:var(--space-l)}.pis-xl{padding-inline-start:var(--space-xl)}.pis-2xl{padding-inline-start:var(--space-2xl)}.pie-3xs{padding-inline-end:var(--space-3xs)}.pie-2xs{padding-inline-end:var(--space-2xs)}.pie-xs{padding-inline-end:var(--space-xs)}.pie-s{padding-inline-end:var(--space-s)}.pie-m{padding-inline-end:var(--space-m)}.pie-l{padding-inline-end:var(--space-l)}.pie-xl{padding-inline-end:var(--space-xl)}.pie-2xl{padding-inline-end:var(--space-2xl)}.pi-3xs{padding-inline:var(--space-3xs)}.pi-2xs{padding-inline:var(--space-2xs)}.pi-xs{padding-inline:var(--space-xs)}.pi-s{padding-inline:var(--space-s)}.pi-m{padding-inline:var(--space-m)}.pi-l{padding-inline:var(--space-l)}.pi-xl{padding-inline:var(--space-xl)}.pi-2xl{padding-inline:var(--space-2xl)}.gap-3xs{gap:var(--space-3xs)}.gap-2xs{gap:var(--space-2xs)}.gap-xs{gap:var(--space-xs)}.gap-s{gap:var(--space-s)}.gap-m{gap:var(--space-m)}.gap-l{gap:var(--space-l)}.gap-xl{gap:var(--space-xl)}.gap-2xl{gap:var(--space-2xl)}}