:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--colour-background:var(--lightningcss-light,#fbfbfa)var(--lightningcss-dark,#14161a);--colour-surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1c1f25);--colour-border:var(--lightningcss-light,#e2e2df)var(--lightningcss-dark,#2e333c);--colour-text:var(--lightningcss-light,#1a1a1a)var(--lightningcss-dark,#e8e9ea);--colour-text-muted:var(--lightningcss-light,#5f6368)var(--lightningcss-dark,#a3a8b0);--colour-accent:var(--lightningcss-light,#0f6b4f)var(--lightningcss-dark,#58c79c);--colour-warning:var(--lightningcss-light,#9a3412)var(--lightningcss-dark,#f0a37a);--font-body:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--content-width:68rem;--reading-width:44rem;--radius:.75rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--colour-background);min-height:100dvh;color:var(--colour-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;margin:0;font-size:1rem;line-height:1.65;display:flex}a{color:inherit;-webkit-text-decoration-color:var(--colour-accent);text-decoration-color:var(--colour-accent);text-underline-offset:.2em}a:hover,a:focus-visible{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--colour-accent);outline-offset:3px;border-radius:2px}img{max-width:100%;height:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background-color:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);z-index:10;padding:.75rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:1rem;left:1rem}.site-header{border-bottom:1px solid var(--colour-border)}.site-header__inner{width:min(100% - 2.5rem, var(--content-width));flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.5rem;margin-inline:auto;padding-block:1.5rem;display:flex}.site-header__identity{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.site-header__name{letter-spacing:-.015em;margin:0;font-size:1.5rem;font-weight:650}.site-header__name a{text-decoration:none}.site-header__role{color:var(--colour-text-muted);margin:0;font-size:1rem;font-weight:400}.site-nav{gap:1.25rem;display:flex}.site-nav a{color:var(--colour-text-muted);border-bottom:2px solid #0000;padding-block:.25rem;text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible{color:var(--colour-text)}.site-nav a[aria-current=page]{color:var(--colour-text);border-bottom-color:var(--colour-accent)}.site-main{width:min(100% - 2.5rem, var(--content-width));flex:1;margin-inline:auto;padding-block:3rem 4rem}.page-title{letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(1.75rem,1.2rem + 2vw,2.5rem);line-height:1.2}.page-intro{color:var(--colour-text-muted);max-width:var(--reading-width);text-wrap:pretty;margin:0 0 2.5rem}.link-section+.link-section{margin-top:3.5rem}.link-section__heading{letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.25rem}.link-section__description{color:var(--colour-text-muted);text-wrap:pretty;margin:0 0 1.5rem}.link-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.link-card{text-align:center;background-color:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);flex-direction:column;gap:1rem;height:100%;padding:1.75rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}@media (prefers-reduced-motion:reduce){.link-card{transition:none}}.link-card:hover,.link-card:focus-visible{border-color:var(--colour-accent);transform:translateY(-2px)}.link-card__icon{height:3.5rem;color:var(--colour-accent);justify-content:center;align-items:center;display:flex}.link-card__icon svg{width:3rem;height:3rem}.link-card__name{font-size:1.125rem;font-weight:650}.link-card__description{color:var(--colour-text-muted);margin-top:-.75rem}.link-card--private{border-style:dashed}.post-list{max-width:var(--reading-width);gap:1rem;margin:0;padding:0;list-style:none;display:grid}.post-list__item a{background-color:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);padding:1.25rem 1.5rem;font-size:1.125rem;font-weight:600;text-decoration:none;display:block}.post-list__item a:hover,.post-list__item a:focus-visible{border-color:var(--colour-accent)}.post{max-width:var(--reading-width)}.post__body{overflow-wrap:break-word}.post__body>:first-child{margin-top:0}.post__body h1,.post__body h2,.post__body h3,.post__body h4{letter-spacing:-.015em;margin-top:2.5rem;margin-bottom:.75rem;line-height:1.25}.post__body h2{font-size:1.5rem}.post__body h3{font-size:1.25rem}.post__body img{border-radius:var(--radius);margin-inline:auto;display:block}.post__body blockquote{border-left:3px solid var(--colour-accent);color:var(--colour-text-muted);margin-inline:0;padding:.25rem 1.25rem}.post__body :not(pre)>code{font-family:var(--font-mono);background-color:var(--colour-surface);border:1px solid var(--colour-border);border-radius:.35rem;padding:.15em .35em;font-size:.875em}.post__body pre{font-family:var(--font-mono);background-color:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);padding:1rem 1.25rem;font-size:.875rem;overflow-x:auto}.table-scroll{scrollbar-gutter:stable;max-width:100%;overflow-x:auto}.post__body table{border-collapse:collapse;width:100%}.post__body th,.post__body td{border:1px solid var(--colour-border);text-align:left;padding:.5rem .75rem}.post__source{border-top:1px solid var(--colour-border);color:var(--colour-text-muted);margin-top:3rem;padding-top:1.5rem;font-size:.9375rem}.notice{max-width:var(--reading-width);background-color:var(--colour-surface);border:1px solid var(--colour-border);border-left:3px solid var(--colour-warning);border-radius:var(--radius);padding:1.25rem 1.5rem}.notice p{margin:0}.notice p+p{margin-top:.75rem}.site-footer{border-top:1px solid var(--colour-border)}.site-footer__inner{width:min(100% - 2.5rem, var(--content-width));color:var(--colour-text-muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-inline:auto;padding-block:2rem;font-size:.875rem;display:flex}
