body{background-color:var(--bg);color:var(--fg)}:root{--base00:#12151a;--base01:#181c22;--base02:#242a33;--base03:#687383;--base04:#a4adba;--base05:#d8dee9;--base06:#e5e9f0;--base07:#ffffff;--base08:#ff6b7a;--base09:#f6aa5c;--base0A:#f2d56b;--base0B:#62d6b5;--base0C:#72e1e1;--base0D:#7aa2f7;--base0E:#c099ff;--base0F:#d08770}:root{--bg:var(--base00);--off-bg:var(--base01);--inner-bg:var(--base02);--fg:var(--base05);--off-fg:var(--base04);--muted:var(--base03);--link:var(--base0D);--hover:var(--base0C);--highlight:var(--base0A);--logo:var(--base0B)}:root{--font-monospace:"Fira Mono", monospace}body{font-family:var(--font-monospace);font-size:16px;line-height:1.5rem}h1,h2,h3,h4,h5,h6{font-size:1rem;margin:1.5rem 0 0;font-weight:600}h1+h2,h1+h3,h1+h4,h1+h5,h1+h6,h2+h3,h2+h4,h2+h5,h2+h6,h3+h4,h3+h5,h3+h6,h4+h5,h4+h6,h5+h6{margin:0}h1:before{content:"# "}h2:before{content:"## "}h3:before{content:"### "}h4:before{content:"#### "}h5:before{content:"##### "}h6:before{content:"###### "}h1:before,h2:before,h3:before,h4:before,h5:before,h6:before{color:var(--muted)}h1:first-child{margin-top:0}p{margin:0 0 1.5rem}a:link,a:visited{color:var(--link)}a:hover,a:active,a.active{color:var(--hover)}ul{margin:0 0 1.5rem;padding-left:1.25rem}ol{margin:0 0 1.5rem;padding-left:1.75rem}ul ul,ul ol,ol ul,ol ol{margin:0}ul li::marker{content:'∗\00A0';color:var(--muted)}ol li::marker{color:var(--muted)}li.nomarker{display:block}dt{margin:0;font-weight:700}dd{margin:0 0 0 1.5rem;font-style:italic}dd+dt{margin-top:1.5rem}dl{margin:0 0 1.5rem}blockquote{position:relative;margin:0 0 1.5rem 1.5rem}blockquote::before{position:absolute;left:-1.5rem;content:">";color:var(--muted)}.x-tweet::before{content:"\f099";font-family:"font awesome 5 brands";font-weight:400}pre,code,kbd,samp{background:var(--inner-bg)!important;font-family:var(--font-monospace);color:var(--off-fg)}pre{overflow-x:auto;padding:1.5rem;margin:0 0 1.5rem}.highlight div{overflow-x:auto}b,strong{font-weight:600}::selection,mark{background-color:var(--highlight);color:var(--bg)}hr{border:0;margin-bottom:1.5rem}hr:after{content:'---';color:var(--muted)}sup,sub{vertical-align:baseline;position:relative;top:-.25rem;font-size:unset}sub{top:.25rem}table{border-spacing:0;margin:0 0 1.5rem;overflow-wrap:anywhere}th,td{padding:0 .75rem;vertical-align:top}th:first-child,td:first-child{padding-left:0}th{text-align:inherit}img{max-width:100%;height:auto}.base00{color:var(--base00)}.base01{color:var(--base01)}.base02{color:var(--base02)}.base03{color:var(--base03)}.base04{color:var(--base04)}.base05{color:var(--base05)}.base06{color:var(--base06)}.base07{color:var(--base07)}.base08{color:var(--base08)}.base09{color:var(--base09)}.base0A{color:var(--base0A)}.base0B{color:var(--base0B)}.base0C{color:var(--base0C)}.base0D{color:var(--base0D)}.base0E{color:var(--base0E)}.base0F{color:var(--base0F)}.bg-base00{background-color:var(--base00)}.bg-base01{background-color:var(--base01)}.bg-base02{background-color:var(--base02)}.bg-base03{background-color:var(--base03)}.bg-base04{background-color:var(--base04)}.bg-base05{background-color:var(--base05)}.bg-base06{background-color:var(--base06)}.bg-base07{background-color:var(--base07)}.bg-base08{background-color:var(--base08)}.bg-base09{background-color:var(--base09)}.bg-base0A{background-color:var(--base0A)}.bg-base0B{background-color:var(--base0B)}.bg-base0C{background-color:var(--base0C)}.bg-base0D{background-color:var(--base0D)}.bg-base0E{background-color:var(--base0E)}.bg-base0F{background-color:var(--base0F)}.page{max-width:64rem;margin:1rem auto;display:grid;grid-template-areas:"header" "body" "aside" "footer";grid-template-columns:minmax(0,1fr);grid-row-gap:2rem}@media(min-width:45rem){.page{grid-template-areas:"header  header" "body    aside" "footer  footer";grid-template-columns:minmax(0,1fr)15rem;grid-column-gap:2rem}}.page__header{grid-area:header;display:flex}.page__logo{flex-shrink:0}.page__nav{flex-grow:1}.page__body{grid-area:body;background-color:var(--off-bg);box-shadow:0 0 0 1rem var(--off-bg);overflow-wrap:break-word}.page__aside{grid-area:aside;color:var(--off-fg);position:sticky;top:1rem;right:1rem;overflow-y:auto;max-height:95vh}.page__footer{grid-area:footer}.main-nav ul{display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center;margin:0;padding:0;gap:.5rem 2rem}.main-nav li{text-transform:lowercase}.main-nav li::marker{content:"./"}.page__logo{padding:0;margin:0;font-weight:inherit;color:var(--bg)}.page__logo:before{content:none}.page__logo-inner{display:block;background:var(--logo);opacity:.9;padding:.25rem}a.page__logo-inner:link,a.page__logo-inner:visited{color:inherit;text-decoration:inherit}a.page__logo-inner:hover,a.page__logo-inner:active{opacity:1}.page__logo-inner:before{content:"[";color:var(--bg)}.page__logo-inner:after{content:"] $";color:var(--bg)}.about__logo{height:1.5rem}.about__title{display:inline;vertical-align:top}.about__title::before{content:none}.aside__social-links{padding:0}.aside__social-links li{display:inline-block}.aside__social-links li::marker{content:none}.page__footer{color:var(--off-fg)}.page__footer p{margin:0}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex/IBMPlexSans-Latin-Regular.woff2)format("woff2")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex/IBMPlexSans-Latin-Italic.woff2)format("woff2")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex/IBMPlexSans-Latin-SemiBold.woff2)format("woff2")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex/IBMPlexSans-Latin-SemiBold.woff2)format("woff2")}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex/IBMPlexMono-Latin-Regular.woff2)format("woff2")}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex/IBMPlexMono-Latin-Medium.woff2)format("woff2")}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex/IBMPlexMono-Latin-SemiBold.woff2)format("woff2")}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex/IBMPlexMono-Latin-SemiBold.woff2)format("woff2")}:root{--font-body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-monospace:"IBM Plex Mono", "Cascadia Code", "SFMono-Regular", Consolas, monospace;--font-ui:var(--font-monospace);--panel-border:#343b46;--panel-border-strong:#47515f;--panel-shadow:rgba(0, 0, 0, 0.28);--panel-highlight:rgba(98, 214, 181, 0.08);--code-surface:#11151b;--code-toolbar:#181e26;--grid-cell:24px;--grid-block:96px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{position:relative;isolation:isolate;min-height:100vh;margin:0;padding:0 1.25rem;background:radial-gradient(ellipse at 8% -8%,rgba(98,214,181,.2),transparent 39rem),radial-gradient(ellipse at 98% 16%,rgba(122,162,247,.15),transparent 36rem),radial-gradient(ellipse at 52% 105%,rgba(192,153,255,.11),transparent 48rem),radial-gradient(ellipse at 50% 42%,rgba(37,51,68,.18),transparent 54rem),linear-gradient(180deg,#080c11 0%,#111720 46%,#090d12 100%);background-attachment:fixed;font-family:var(--font-body);font-size:16px;font-synthesis:none;line-height:1.75;text-rendering:optimizeLegibility}body::before{position:fixed;inset:0;z-index:0;pointer-events:none;content:""}body::before{background-image:linear-gradient(to bottom,rgba(98,214,181,.018) 1px,transparent 1px),linear-gradient(to right,rgba(122,162,247,.017) 1px,transparent 1px),linear-gradient(to bottom,rgba(98,214,181,.047) 1px,transparent 1px),linear-gradient(to right,rgba(122,162,247,.043) 1px,transparent 1px);background-position:50% 0;background-size:var(--grid-cell)var(--grid-cell),var(--grid-cell)var(--grid-cell),var(--grid-block)var(--grid-block),var(--grid-block)var(--grid-block);opacity:.78;mask-image:radial-gradient(ellipse 94% 86% at 50% 28%,#000 0%,rgba(0,0,0,.84) 50%,rgba(0,0,0,.3) 80%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 94% 86% at 50% 28%,#000 0%,rgba(0,0,0,.84) 50%,rgba(0,0,0,.3) 80%,transparent 100%)}.relay-network{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.82;transition:opacity 700ms ease}.relay-network.is-reading-mode{opacity:.36}.relay-network.is-route-active{opacity:.94}a{text-underline-offset:.2em;text-decoration-thickness:.08em}a:focus-visible{outline:2px solid var(--hover);outline-offset:4px;border-radius:2px}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:1000;padding:.55rem .8rem;color:var(--bg)!important;background:var(--base0B);border:1px solid var(--base0C);border-radius:.3rem;box-shadow:0 .75rem 2rem rgba(0,0,0,.35);font-family:var(--font-ui);font-size:.82rem;font-weight:600;text-decoration:none;transform:translateY(calc(-100% - 1rem));transition:transform 140ms ease}.skip-link:focus{outline:2px solid var(--base07);outline-offset:2px;transform:translateY(0)}.nojs-notice{position:relative;z-index:5;width:fit-content;max-width:calc(100% - 2rem);margin:.75rem auto 0;padding:.65rem 1.15rem;border:1px solid color-mix(in srgb,var(--base0C) 52%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--off-bg) 92%,var(--base0C));box-shadow:0 .6rem 1.8rem rgba(0,0,0,.2);color:var(--fg);font-family:var(--font-monospace);font-size:.9rem;line-height:1.45;text-align:center}.nojs-notice a{color:var(--base0C);font-weight:600}.nojs-notice .nojs-notice__link{display:inline-flex;align-items:baseline;gap:.35rem;text-decoration:none}.nojs-notice__label{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}.nojs-mark{display:inline-flex;align-items:baseline;color:var(--base0C);font-family:var(--font-mono);font-weight:700;letter-spacing:-.04em;line-height:1}.nojs-mark__cross{color:var(--base08)}.external-link::after{color:var(--muted);content:" ↗";font-family:var(--font-ui);font-size:.72em;font-weight:500;text-decoration:none}.external-link:hover::after,.external-link:focus-visible::after{color:currentColor}.page{position:relative;z-index:1;max-width:72rem;margin:2rem auto;grid-template-columns:minmax(0,1fr);grid-row-gap:1.5rem}.page__header{padding-bottom:1rem;border-bottom:1px solid var(--panel-border);font-family:var(--font-ui)}.page__body{position:relative;padding:clamp(1.25rem,3vw,2.5rem);overflow-wrap:anywhere;background:linear-gradient(155deg,rgba(255,255,255,.018),transparent 34%),color-mix(in srgb,var(--off-bg) 95%,transparent);border:1px solid var(--panel-border);border-radius:.45rem;box-shadow:0 1rem 3rem var(--panel-shadow);backdrop-filter:blur(14px)saturate(108%);-webkit-backdrop-filter:blur(14px)saturate(108%)}.page__body::before{position:absolute;top:-1px;left:0;width:min(13rem,48%);height:1px;background:linear-gradient( 90deg,transparent 0%,color-mix(in srgb,var(--logo) 62%,transparent) 12%,var(--logo) 28%,color-mix(in srgb,var(--logo) 45%,transparent) 62%,transparent 100% );content:""}.page__aside{position:static;align-self:stretch;max-height:none;min-width:0;padding:0;border:0;background:0 0;overflow:visible;font-family:var(--font-ui)}.aside__panel{position:sticky;top:1rem;padding:1.25rem;border:1px solid var(--panel-border);border-radius:.45rem;background:linear-gradient(155deg,rgba(98,214,181,.045),transparent 34%),linear-gradient(330deg,rgba(122,162,247,.035),transparent 42%),rgba(20,25,32,.89);box-shadow:0 1rem 2.5rem rgba(0,0,0,.22);backdrop-filter:blur(14px)saturate(108%);-webkit-backdrop-filter:blur(14px)saturate(108%)}.reading-progress{position:fixed;inset:0 0 auto;z-index:160;height:.5625rem;overflow:hidden;background:#0c0c0d;pointer-events:none}.reading-progress[hidden]{display:none}.reading-progress__fill{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:0 0;border-radius:0 999px 999px 0;box-shadow:0 0 .55rem rgba(241,10,254,.38),0 0 1rem rgba(10,211,223,.28);transform:scaleX(0);transform-origin:left center;will-change:transform}.reading-progress__fill::before{content:"";position:absolute;inset:0 auto 0 0;width:400vw;background:linear-gradient( 90deg,#f10afe 0%,#0ad3df 25%,#f10afe 50%,#0ad3df 75%,#f10afe 100% );animation:reading-progress-tor-flow 4s linear infinite;will-change:transform}@keyframes reading-progress-tor-flow{from{transform:translate3d(-200vw,0,0)}to{transform:translate3d(0,0,0)}}[data-reading-progress] .reading-progress__fill{width:0;transform:none;will-change:auto}.page__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;padding:1rem .25rem 0;border-top:1px solid var(--panel-border);font-size:.8rem;font-family:var(--font-ui)}.footer__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem}.footer__build,.footer__links,.footer__links a{display:inline-flex;align-items:center}.footer__build{gap:.35rem;color:var(--muted)}.footer__links{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;margin-left:auto}.footer__links a{gap:.42rem;min-height:2rem;padding:.38rem .55rem;color:var(--base04);background:rgba(12,18,25,.45);border:1px solid transparent;border-radius:.3rem;line-height:1;text-decoration:none}.footer__links a:hover,.footer__links a:focus-visible{color:var(--base0C);background:color-mix(in srgb,var(--base0C) 7%,rgba(12,18,25,.72));border-color:color-mix(in srgb,var(--base0C) 34%,var(--panel-border));outline:none}.footer__build .lucide,.footer__links .lucide{width:.9rem;height:.9rem}.footer-link__icon{display:inline-flex;min-width:1rem;align-items:center;justify-content:center;color:var(--base0D);font-family:var(--font-mono);font-size:.78rem;font-style:normal;font-weight:700;line-height:1}.footer-link__icon--rss{width:.9rem;height:.9rem;min-width:.9rem;object-fit:contain}.footer-link__icon--code{min-width:1.7rem;font-size:.68rem}.footer-link__icon--nojs{min-width:1.65rem;font-size:.66rem}.footer-link__icon--terminal{min-width:1.35rem;color:var(--muted)}.footer-link__onion-icon{width:.9rem;height:.9rem;flex:none;object-fit:contain}.footer-link__canary-icon{width:.9rem;height:.9rem;flex:none;object-fit:contain}.footer-link--onion:hover .footer-link__onion-icon,.footer-link--onion:focus-visible .footer-link__onion-icon{filter:drop-shadow(0 0 .3rem rgba(197,91,227,.48))}.footer-link--rss:hover .footer-link__icon--rss,.footer-link--rss:focus-visible .footer-link__icon--rss{filter:drop-shadow(0 0 .3rem rgba(238,128,47,.48))}.footer-link--canary:hover .footer-link__canary-icon,.footer-link--canary:focus-visible .footer-link__canary-icon{filter:drop-shadow(0 0 .3rem rgba(244,201,93,.48))}.footer-link__icon--verify{color:var(--base0B)}.relay-legend{position:relative;order:3;width:100%;color:var(--muted)}.relay-legend summary{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;list-style:none;user-select:none}.relay-legend summary::-webkit-details-marker{display:none}.relay-legend summary .lucide{width:.75rem;height:.75rem;transition:transform 150ms ease}.relay-legend[open] summary .lucide{transform:rotate(180deg)}.relay-legend__items{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin-top:.55rem}.relay-legend__hint{margin:.45rem 0 0;padding:0;color:color-mix(in srgb,var(--muted) 82%,transparent);font-size:.7rem;list-style:none}.relay-legend__hint li{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.35rem;margin:0;padding:0}.relay-legend__hint li::before{content:"-"}.relay-legend__items span{display:inline-flex;align-items:center;gap:.35rem}.relay-legend__node{width:.42rem;height:.42rem;border-radius:50%;background:currentColor}.relay-legend__node--bridge{color:#c099ff}.relay-legend__node--middle{color:#7aa2f7}.relay-legend__node--guard{color:#62d6b5}.relay-legend__node--exit{color:#ff9e64}.main-nav ul{gap:.6rem clamp(1rem,3vw,2rem);justify-content:flex-end}.main-nav li{text-transform:none}.main-nav__item{white-space:nowrap}.main-nav li::marker{content:none}.main-nav .page__brand::marker{content:none}.page__brand{margin-right:auto;font-size:clamp(.88rem,1.8vw,1rem);font-weight:700}.page__logo-inner{display:inline-block;padding:0;color:var(--fg);background:0 0;opacity:1}.page__logo-inner::before,.page__logo-inner::after{content:none}.terminal-prompt{letter-spacing:-.025em;white-space:nowrap}.js [data-terminal-sequence]:not(.is-initialized){visibility:hidden}.terminal-prompt--whoami{display:inline-grid;grid-template-columns:max-content max-content;grid-template-rows:auto;column-gap:.55em;line-height:1.45;text-align:left}.terminal-prompt--whoami .prompt__line{display:contents}.terminal-prompt--whoami .prompt__identity{grid-column:1;grid-row:1}.terminal-prompt--whoami .prompt__input{display:inline-flex;grid-column:2;grid-row:1;align-items:baseline;animation:terminal-command-line-clear 1ms linear 1.45s forwards}.terminal-prompt--whoami .prompt__command--context{margin-left:0}.prompt__user{color:var(--logo)}.prompt__separator,.prompt__path,.prompt__cwd,.prompt__bracket{color:var(--muted)}.prompt__cwd.is-updated{animation:terminal-path-update 420ms ease-out}.prompt__cwd-link,.prompt__cwd-link:link,.prompt__cwd-link:visited{color:var(--base0C);text-decoration-color:color-mix(in srgb,var(--base0C) 45%,transparent);text-decoration-thickness:1px;text-underline-offset:.16em}.prompt__home-link,.prompt__home-link:link,.prompt__home-link:visited{color:var(--base0C);text-decoration:none;transition:color 140ms ease,text-decoration-color 140ms ease,text-shadow 140ms ease}.prompt__home-link:hover,.prompt__home-link:focus-visible{color:var(--logo);text-decoration:underline;text-decoration-color:initial;text-decoration-thickness:1px;text-underline-offset:.16em;text-shadow:0 0 .65rem color-mix(in srgb,var(--logo) 42%,transparent)}.prompt__home-link:focus-visible{outline:1px solid currentColor;outline-offset:.14rem}.prompt__home-link[aria-current=page],.prompt__home-current,.prompt__cwd-link[aria-current=page],.prompt__cwd-current,.prompt__output--current{color:var(--logo);font-weight:700;text-decoration-color:color-mix(in srgb,var(--logo) 55%,transparent);text-shadow:0 0 .65rem color-mix(in srgb,var(--logo) 24%,transparent)}.prompt__cwd-link:hover,.prompt__cwd-link:focus-visible{color:var(--hover);text-decoration-color:initial}.prompt__cwd-link:focus-visible{outline:1px solid currentColor;outline-offset:.14rem}.prompt__host{color:var(--base0D)}.prompt__command{color:var(--base0C)}.prompt__command--context{margin-left:.55em;color:var(--base04);font-weight:500}.terminal-prompt--node-sync{font-size:inherit}.terminal-prompt--node-sync .prompt__command{transition:opacity 180ms ease}.terminal-prompt--node-sync.is-switching .prompt__command{opacity:0}.terminal-prompt--node-sync.is-paused .prompt__cursor{animation-play-state:paused}.prompt__command--typing{display:inline-block;width:0;overflow:hidden;vertical-align:bottom;white-space:nowrap;animation:terminal-command-type 900ms steps(6,end)250ms forwards}.prompt__output{grid-column:2;grid-row:1;margin-left:0;color:var(--logo);visibility:hidden;opacity:0;animation:terminal-output-reveal 1ms linear 1.45s forwards}.prompt__cursor{display:inline-block;margin-left:.16em;color:var(--base0C);font-weight:500;animation:terminal-cursor-blink 1.05s steps(1,end)infinite}.prompt__cursor--typing{animation:terminal-input-cursor 1.45s steps(1,end)forwards}.button-link .prompt__cursor{margin-left:.12em;color:currentColor}@keyframes terminal-command-type{from{width:0}to{width:6ch}}@keyframes terminal-output-reveal{to{visibility:visible;opacity:1}}@keyframes terminal-command-line-clear{to{visibility:hidden;opacity:0}}@keyframes terminal-input-cursor{0%,32%,64%{visibility:visible;opacity:1}16%,48%,80%,99%{visibility:visible;opacity:0}100%{visibility:hidden;opacity:0}}@keyframes terminal-path-update{0%{color:var(--base0C);text-shadow:0 0 .75rem color-mix(in srgb,var(--base0C) 55%,transparent)}100%{color:var(--muted);text-shadow:none}}@keyframes terminal-cursor-blink{0%,45%{opacity:1}46%,100%{opacity:0}}.nav-main-item{display:inline-flex;align-items:center;gap:.25rem;text-decoration:none}.nav-main-item::before{color:var(--muted);content:"./"}.nav-main-item.active{color:var(--hover)}.nav__external-icon{width:.75rem;height:.75rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-ui);line-height:1.35}.content__body h2{margin-top:3rem;padding-top:1.2rem;color:var(--base06);border-top:1px dashed var(--panel-border);font-size:clamp(1.08rem,2vw,1.28rem);letter-spacing:-.025em}.content__body h3{margin-top:2.25rem;color:var(--base06);font-size:1.05rem}.content__body h2,.content__body h3,.content__body h4,.content__body h5,.content__body h6{scroll-margin-top:1.25rem}.heading-anchor{display:inline-flex;margin-left:.5rem;color:var(--base03)!important;font-size:.8em;font-weight:500;text-decoration:none!important;opacity:0;transform:translateX(-.2rem);transition:color 140ms ease,opacity 140ms ease,transform 140ms ease}.content__body h2:hover .heading-anchor,.content__body h3:hover .heading-anchor,.content__body h4:hover .heading-anchor,.content__body h5:hover .heading-anchor,.content__body h6:hover .heading-anchor,.heading-anchor:focus-visible{color:var(--base0C)!important;opacity:1;transform:none}@media(hover:none){.heading-anchor{opacity:.65;transform:none}}.content__header h1,.hero h1,.error-page h1{margin-bottom:1rem;color:var(--base06);font-size:clamp(1.4rem,4vw,2.35rem);line-height:1.18;letter-spacing:-.04em}.hero h1::before,.error-page h1::before{content:none}.hero__prompt,.eyebrow{margin-bottom:1rem;color:var(--logo);font-size:.85rem;letter-spacing:.02em;font-family:var(--font-ui)}.hero__prompt{margin:0}.hero__terminal{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px dashed var(--panel-border)}.hero__status-command{display:inline-block;width:0;overflow:hidden;vertical-align:bottom;white-space:nowrap;animation:home-status-command-type 720ms steps(8,end)320ms forwards}.hero__status-cursor{display:inline-block;margin-left:.12em;color:var(--base0C);animation:home-status-cursor 1.42s steps(1,end)forwards}.hero__status-result{display:flex;align-items:center;gap:.45rem;margin:.45rem 0 0;color:var(--logo);font:600 .78rem/1.4 var(--font-ui);opacity:0;transform:translateY(-.2rem);animation:home-status-result-reveal 320ms ease-out 1.28s forwards}.hero__status-result>span{display:inline-grid;width:1.1rem;height:1.1rem;place-items:center;color:var(--bg);background:var(--logo);border-radius:50%;font-size:.7rem;line-height:1}.hero--status-sequence .content__body>:not(.hero__terminal){opacity:0;transform:translateY(.35rem);animation:home-status-content-reveal 420ms ease-out 1.58s forwards}.hero--status-sequence .content__body>:nth-child(3){animation-delay:1.68s}.hero--status-sequence .content__body>:nth-child(4){animation-delay:1.78s}.hero--status-sequence .content__body>:nth-child(5){animation-delay:1.88s}@keyframes home-status-command-type{from{width:0}to{width:8.35ch}}@keyframes home-status-cursor{0%,18%,36%,54%,72%{opacity:1}9%,27%,45%,63%,81%,99%{opacity:0}100%{visibility:hidden;opacity:0}}@keyframes home-status-result-reveal{to{opacity:1;transform:translateY(0)}}@keyframes home-status-content-reveal{to{opacity:1;transform:translateY(0)}}.home-section-reveal{opacity:0;transform:translateY(.55rem);animation:home-section-reveal 460ms ease-out forwards}.home-section-reveal--projects{animation-delay:2.02s}.home-section-reveal--writing{animation-delay:2.18s}@keyframes home-section-reveal{to{opacity:1;transform:translateY(0)}}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.button-link{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .85rem;color:var(--bg)!important;background:var(--logo);border:1px solid var(--logo);text-decoration:none;font-weight:700;font-family:var(--font-ui)}.button-link .lucide{width:1rem;height:1rem}.button-link:hover{background:var(--hover);border-color:var(--hover)}.button-link--secondary{color:var(--fg)!important;background:0 0;border-color:var(--panel-border)}.button-link--secondary:hover{color:var(--bg)!important;background:var(--hover)}.recent-writing{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--panel-border)}.featured-projects{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--panel-border)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-heading h2{margin:0}.section-heading>a{flex-shrink:0;font-size:.85rem}.section-heading__meta{color:var(--muted);font-family:var(--font-ui);font-size:.75rem}.project-stats-verified{margin:.8rem 0 0;color:var(--muted);font-family:var(--font-ui);font-size:.72rem;text-align:right}.project-stats-verified time{color:var(--base04)}.inline-action{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none}.inline-action .lucide{width:.85rem;height:.85rem}.post-list{margin:0;padding:0;list-style:none}.post-list li{border-top:1px dashed var(--panel-border);border-radius:.35rem;transition:background-color 150ms ease,border-color 150ms ease}.post-list li:hover,.post-list li:focus-within{background:var(--panel-highlight);border-color:var(--panel-border-strong)}.post-list li::marker{content:none}.post-list [data-post-item][hidden]{display:none}.post-list__card{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:0 1rem;padding:1rem .75rem;color:inherit!important;border-radius:inherit;text-decoration:none}.post-list__card:focus-visible{outline:2px solid var(--base0B);outline-offset:3px}.post-list__meta{grid-column:1;grid-row:1;display:flex;align-items:center;gap:.45rem}.post-list time{color:var(--muted);font-size:.8rem;font-family:var(--font-ui)}.post-list__title{grid-column:2;grid-row:1;color:var(--base0D);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--base0D) 58%,transparent);text-underline-offset:.2em}.post-list__pin{display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--base0B);line-height:0}.post-list__pin .lucide{width:.9rem;height:.9rem;transform:rotate(-12deg)}.post-list__thumbnail{position:relative;display:grid;grid-column:1;grid-row:2/span 3;width:6.25rem;height:6.25rem;margin-top:.65rem;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(98,214,181,.12),transparent 64%),rgba(11,15,20,.72);border:1px solid var(--panel-border);border-radius:.4rem;place-items:center;transition:border-color 150ms ease,background-color 150ms ease,transform 150ms ease}.post-list__thumbnail::before{position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 45%);content:""}.post-list__card:hover .post-list__thumbnail,.post-list__card:focus-visible .post-list__thumbnail{background-color:rgba(98,214,181,.055);border-color:rgba(98,214,181,.42);transform:translateY(-2px)}.post-list__thumbnail img{position:relative;width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 .35rem .65rem rgba(0,0,0,.45))}.post-list p{grid-column:2;margin:.4rem 0 0;color:var(--off-fg);font-size:.88rem;font-family:var(--font-body)}.post-list__tags{display:flex;grid-column:2;grid-row:3;flex-wrap:wrap;gap:.35rem;margin-top:.65rem;color:var(--muted);font-family:var(--font-ui);font-size:.68rem}.post-list__tags span{padding:.12rem .34rem;background:rgba(122,162,247,.045);border:1px solid var(--panel-border);border-radius:.22rem}.post-list__read{display:inline-flex;grid-column:2;grid-row:3;align-items:center;gap:.35rem;width:max-content;margin-top:.75rem;padding:.32rem .58rem;color:var(--base0B)!important;background:rgba(98,214,181,.055);border:1px solid rgba(98,214,181,.28);border-radius:.3rem;font-family:var(--font-ui);font-size:.72rem;line-height:1.35;transition:color 150ms ease,background-color 150ms ease,border-color 150ms ease,transform 150ms ease}.post-list__card--with-tags .post-list__read{grid-row:4}.post-list__card:hover .post-list__read,.post-list__card:focus-visible .post-list__read{color:var(--base00)!important;background:var(--base0B);border-color:var(--base0B);transform:translateX(2px)}.post-list__read .lucide{width:.78rem;height:.78rem}.post-list--archive{margin-top:2rem}.archive-filter{position:relative;display:grid;grid-template-columns:minmax(0,1fr)minmax(9rem,.45fr);gap:.8rem;margin-top:2rem;padding:1rem;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--base0C) 7%,transparent),transparent 42%),linear-gradient(225deg,color-mix(in srgb,var(--base0E) 7%,transparent),transparent 44%),rgba(18,22,28,.72);border:1px solid var(--panel-border);border-radius:.4rem;box-shadow:inset 0 1px rgb(255 255 255/3%),0 .8rem 2rem rgb(0 0 0/12%)}.archive-filter::before{position:absolute;top:0;right:8%;left:8%;height:1px;background:linear-gradient(90deg,transparent,var(--base0C),var(--base0E),transparent);content:"";opacity:.75}.archive-filter label{display:grid;gap:.35rem;color:var(--muted);font-family:var(--font-ui);font-size:.72rem}.archive-filter__label{display:inline-flex;align-items:center;gap:.38rem;width:max-content;font-weight:650;letter-spacing:.015em;transition:color 150ms ease}.archive-filter__label .lucide{width:.85rem;height:.85rem;stroke-width:2.1}.archive-filter__search .archive-filter__label{color:var(--base0C)}.archive-filter__tag .archive-filter__label{color:var(--base0E)}.archive-filter input,.archive-filter select{min-width:0;padding:.65rem .72rem;color:var(--base05);background:color-mix(in srgb,var(--base01) 90%,transparent);border:1px solid var(--panel-border-strong);border-radius:.3rem;font:.82rem var(--font-ui);transition:border-color 150ms ease,background-color 150ms ease,box-shadow 150ms ease}.archive-filter input::placeholder{color:color-mix(in srgb,var(--muted) 78%,transparent)}.archive-filter input:hover{border-color:color-mix(in srgb,var(--base0C) 48%,var(--panel-border))}.archive-filter select:hover{border-color:color-mix(in srgb,var(--base0E) 48%,var(--panel-border))}.archive-filter input:focus-visible{outline:2px solid var(--base0C);outline-offset:2px;border-color:var(--base0C);background:color-mix(in srgb,var(--base01) 82%,var(--base0C) 5%);box-shadow:0 0 0 .22rem color-mix(in srgb,var(--base0C) 12%,transparent)}.archive-filter select:focus-visible{outline:2px solid var(--base0E);outline-offset:2px;border-color:var(--base0E);background:color-mix(in srgb,var(--base01) 82%,var(--base0E) 5%);box-shadow:0 0 0 .22rem color-mix(in srgb,var(--base0E) 12%,transparent)}.archive-filter__status{display:inline-flex;grid-column:1/-1;align-items:center;gap:.4rem;width:max-content;margin:0;padding:.22rem .5rem;color:var(--base0B);background:color-mix(in srgb,var(--base0B) 7%,transparent);border:1px solid color-mix(in srgb,var(--base0B) 24%,transparent);border-radius:999px;font-family:var(--font-ui);font-size:.72rem}.archive-filter__status::before{width:.42rem;height:.42rem;background:currentColor;border-radius:50%;box-shadow:0 0 .65rem currentColor;content:""}.post__header{margin-bottom:2rem}.post__meta{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;color:var(--muted);font-size:.85rem;font-family:var(--font-ui)}.post__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:3rem;padding-top:1rem;border-top:1px dashed var(--panel-border);font-size:.85rem;font-family:var(--font-ui)}.post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:2rem;padding-top:1.25rem;border-top:1px dashed var(--panel-border)}.post-nav__item{display:grid;gap:.25rem;padding:.8rem;background:rgba(18,22,28,.48);border:1px solid var(--panel-border);border-radius:.35rem;text-decoration:none}.post-nav__item--next{text-align:right}.post-nav__label{display:flex;align-items:center;gap:.35rem}.post-nav__item--next .post-nav__label{justify-content:flex-end}.post-nav__item .post-nav__arrow{color:var(--base0D);font-size:.85rem;transition:transform 160ms ease}.post-nav__item--previous:hover .post-nav__arrow,.post-nav__item--previous:focus-visible .post-nav__arrow{transform:translateX(-.18rem)}.post-nav__item--next:hover .post-nav__arrow,.post-nav__item--next:focus-visible .post-nav__arrow{transform:translateX(.18rem)}.post-nav__item span{color:var(--muted);font-family:var(--font-ui);font-size:.7rem}.post-nav__item strong{color:var(--base0D);font-size:.84rem;font-weight:500}.post-nav__item:hover,.post-nav__item:focus-visible{background:var(--panel-highlight);border-color:var(--panel-border-strong)}.relay-location-flags{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .45rem;margin:.75rem 0 1.25rem;font-size:1.05rem;line-height:1.4}.relay-location-flags span{color:var(--muted);font-size:.7rem}.related-posts{margin-top:2rem;padding-top:1.25rem;border-top:1px dashed var(--panel-border)}.related-posts h2{margin:0 0 .75rem;font-size:1rem}.related-posts ul{display:grid;gap:.45rem;margin:0;padding-left:1.1rem}.related-posts li{color:var(--muted)}.content__body{color:var(--base05);font-size:1rem}.content__body a{text-decoration-color:color-mix(in srgb,currentColor 55%,transparent);transition:color 140ms ease,text-decoration-color 140ms ease}.content__body a:hover{text-decoration-color:initial}.content__body strong{color:var(--base06);font-weight:600}.content__body blockquote{margin:2rem 0;padding:1rem 1.2rem;color:var(--base04);background:color-mix(in srgb,var(--base0C) 6%,var(--base01));border:1px solid color-mix(in srgb,var(--base0C) 22%,var(--panel-border));border-left:3px solid var(--base0C);border-radius:.35rem}.content__body blockquote::before{content:none}.content__body blockquote>:last-child{margin-bottom:0}.content__body .footnotes{margin-top:1rem;color:var(--base04);font-size:.88rem}.content__body .footnotes hr{display:none}.content__body .footnotes ol{padding-left:1.4rem}.content__body .footnotes li{padding-left:.25rem}.content__body .footnotes li::marker{color:var(--base0C);font-family:var(--font-ui);font-weight:600}.content__body .footnotes p{margin:.6rem 0}.footnote-ref,.footnote-backref{font-family:var(--font-ui);text-decoration:none!important}.content__body table{display:table;width:100%;margin:2rem 0;overflow:hidden;border:1px solid var(--panel-border);border-radius:.35rem;border-spacing:0;table-layout:auto}.table-scroll{position:relative;width:100%;margin:2rem 0;overflow-x:auto;overscroll-behavior-inline:contain;border-radius:.35rem;scrollbar-gutter:stable;scrollbar-color:var(--panel-border-strong)transparent;scrollbar-width:thin;touch-action:pan-x pan-y}.table-scroll:focus-visible{outline:2px solid var(--base0C);outline-offset:.2rem}.content__body .table-scroll table{margin:0}.content__body .platform-paths-table{min-width:56rem;font-size:.86rem}.content__body .platform-paths-table th,.content__body .platform-paths-table td{padding:.58rem .65rem;vertical-align:top}.content__body .platform-paths-table th:not(:last-child),.content__body .platform-paths-table td:not(:last-child),.content__body .platform-paths-table code{white-space:nowrap}.content__body th,.content__body td{padding:.7rem .85rem;border-bottom:1px solid var(--panel-border)}.content__body th{color:var(--base06);background:var(--base02);font-family:var(--font-ui);font-size:.82rem;font-weight:600}.content__body tr:last-child td{border-bottom:0}.content__body td:first-child{white-space:nowrap}.content__body :not(pre)>code,.content__body kbd,.content__body samp{padding:.12em .38em;color:var(--base0C);background:color-mix(in srgb,var(--base0C) 7%,var(--base02))!important;border:1px solid color-mix(in srgb,var(--base0C) 18%,var(--panel-border));border-radius:.25rem;font-family:var(--font-monospace);font-size:.88em;overflow-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone}.highlight{position:relative;margin:2rem 0;overflow:hidden;background:var(--code-surface);border:1px solid var(--panel-border-strong);border-radius:.45rem;box-shadow:0 .9rem 2.4rem rgba(0,0,0,.24)}.highlight::before{position:absolute;top:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,var(--base0B),var(--base0D),var(--base0E));content:"";opacity:.9}.code-block__toolbar{display:flex;min-height:2.5rem;align-items:center;gap:.7rem;padding:0 .8rem;color:var(--base03);background:var(--code-toolbar);border-bottom:1px solid var(--panel-border);font-family:var(--font-ui);font-size:.72rem;letter-spacing:.04em;text-transform:lowercase}.code-block__dots{display:inline-flex;gap:.32rem}.code-block__dots span{width:.42rem;height:.42rem;background:var(--base03);border-radius:50%}.code-block__dots span:first-child{background:var(--base08)}.code-block__dots span:nth-child(2){background:var(--base0A)}.code-block__dots span:last-child{background:var(--base0B)}.code-block__language{color:var(--base04)}.code-block__copy{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;padding:.25rem .45rem;color:var(--base04);background:0 0;border:1px solid transparent;border-radius:.25rem;cursor:pointer;font:inherit;text-transform:none}.code-block__copy:hover,.code-block__copy:focus-visible{color:var(--base0C);background:var(--panel-highlight);border-color:var(--panel-border-strong);outline:none}.code-block__copy.is-copied{color:var(--base0B)}.code-block__copy .lucide{width:.8rem;height:.8rem}.highlight pre,.highlight .chroma{margin:0;padding:1.2rem 1.35rem;overflow-x:auto;overscroll-behavior-inline:contain;color:var(--base05);background:0 0!important;border:0;font-family:var(--font-monospace);font-size:.86rem;line-height:1.65;tab-size:2;touch-action:pan-x pan-y}.highlight code{display:block;min-width:max-content;padding:0;color:inherit;background:0 0!important;border:0;font:inherit}.highlight pre::-webkit-scrollbar{height:.55rem}.highlight pre::-webkit-scrollbar-thumb{background:var(--base03);border:2px solid var(--code-surface);border-radius:999px}.chroma .c,.chroma .c1,.chroma .cm,.chroma .cp,.chroma .cs{color:var(--base03);font-style:italic}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt{color:var(--base0E)}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .sd,.chroma .se,.chroma .sh,.chroma .si,.chroma .sr,.chroma .ss{color:var(--base0B)}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:var(--base09)}.chroma .na,.chroma .nb,.chroma .bp,.chroma .nv,.chroma .vc,.chroma .vg,.chroma .vi{color:var(--base0C)}.chroma .nc,.chroma .nd,.chroma .ne,.chroma .nf,.chroma .nt{color:var(--base0D)}.chroma .o,.chroma .ow{color:var(--base0A)}.chroma .err{color:var(--base08)}.post__tags>span{color:var(--muted)}.project-badges{display:grid;grid-template-columns:repeat(4,max-content);justify-content:space-between;gap:.4rem;margin:1rem 0 1.65rem;padding:.6rem;background:linear-gradient(145deg,rgba(98,214,181,.035),transparent 42%),color-mix(in srgb,var(--base01) 84%,transparent);border:1px solid var(--panel-border);border-radius:.4rem}.project-badge{--badge-accent:var(--base0B);display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-height:2.2rem;min-width:0;padding:.35rem .4rem;background:rgba(255,255,255,.018);border:1px solid color-mix(in srgb,var(--badge-accent) 22%,var(--panel-border));border-radius:.3rem;box-shadow:inset 0 1px color-mix(in srgb,var(--badge-accent) 12%,transparent);text-decoration:none;transition:background-color 140ms ease,border-color 140ms ease,transform 140ms ease}.project-badge::before,.project-badge::after{color:color-mix(in srgb,var(--badge-accent) 70%,var(--muted));font:600 .82rem/1 var(--font-ui)}.project-badge::before{content:"["}.project-badge::after{content:"]"}.project-badge:hover,.project-badge:focus-visible{background:color-mix(in srgb,var(--badge-accent) 8%,transparent);border-color:color-mix(in srgb,var(--badge-accent) 55%,var(--panel-border));transform:translateY(-.08rem)}.project-badge img{display:block;width:auto;max-width:100%;height:1.125rem}.project-badge--release{--badge-accent:var(--base0D)}.project-badge--platforms{--badge-accent:var(--base0E)}.project-badge--registry{--badge-accent:var(--base0C)}.project-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:1rem 0 1.65rem;padding:.65rem;background:color-mix(in srgb,var(--base01) 82%,transparent);border:1px solid var(--panel-border);border-radius:.4rem;font-family:var(--font-ui)}.project-status__item{display:grid;grid-template-columns:1.6rem minmax(0,1fr);align-items:center;gap:.45rem;min-width:0;padding:.5rem;color:var(--off-fg);background:rgba(255,255,255,.018);border:1px solid transparent;border-radius:.3rem;text-decoration:none}.project-status__item:hover,.project-status__item:focus-visible{color:var(--base06);background:var(--panel-highlight);border-color:color-mix(in srgb,var(--base0B) 35%,var(--panel-border))}.project-status__item>.lucide{width:1.05rem;height:1.05rem;color:var(--base0B)}.project-status__item>span{display:grid;gap:.08rem;min-width:0}.project-status__item small{color:var(--muted);font-size:.61rem;font-weight:500;line-height:1.2;text-transform:uppercase;letter-spacing:.04em}.project-status__item strong{color:inherit;font-size:.7rem;line-height:1.3;overflow-wrap:anywhere}.content__body img{display:block;max-height:36rem;margin:2rem auto;border:1px solid var(--panel-border)}html.lightbox-open{overflow:hidden}.content__body img[data-lightbox-trigger]{cursor:zoom-in}.content__body img[data-lightbox-trigger]:focus-visible{outline:2px solid var(--base0B);outline-offset:4px}.lightbox{position:fixed;inset:0;box-sizing:border-box;width:min(94vw,90rem);max-width:none;max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem);margin:auto;padding:calc(3.15rem + env(safe-area-inset-top,0px))env(safe-area-inset-right,0px)env(safe-area-inset-bottom,0px)env(safe-area-inset-left,0px);overflow:visible;color:var(--base06);background:0 0;border:0}.lightbox::backdrop{background:rgba(4,7,11,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lightbox__frame{position:relative;display:grid;box-sizing:border-box;width:100%;max-height:calc(100vh - 4.15rem);max-height:calc(100dvh - 4.15rem);gap:.7rem;grid-template-rows:auto minmax(0,1fr)auto;justify-items:center;padding:clamp(.75rem,2vw,1.25rem);overflow:hidden;background:rgba(13,17,23,.96);border:1px solid var(--panel-border-strong);border-radius:.45rem;box-shadow:0 2rem 6rem rgba(0,0,0,.65)}.lightbox__toolbar{display:flex;align-items:center;justify-self:end;flex-wrap:wrap;justify-content:flex-end;gap:.25rem;padding:.2rem;background:rgba(7,11,16,.82);border:1px solid var(--panel-border);border-radius:.3rem}.lightbox__zoom-button,.lightbox__zoom-reset,.lightbox__nav-button{display:grid;min-width:2.25rem;height:2.25rem;padding:0 .45rem;color:var(--base05);background:rgba(255,255,255,.025);border:1px solid transparent;border-radius:.22rem;place-items:center;font:700 1rem/1 var(--font-monospace);cursor:pointer}.lightbox__zoom-reset{min-width:3.9rem;font-size:.7rem}.lightbox__zoom-button:hover,.lightbox__zoom-button:focus-visible,.lightbox__zoom-reset:hover,.lightbox__zoom-reset:focus-visible,.lightbox__nav-button:hover,.lightbox__nav-button:focus-visible{color:var(--base00);background:var(--base0C);border-color:var(--base0C);outline:none}.lightbox__zoom-button:disabled,.lightbox__nav-button:disabled{color:var(--base03);background:0 0;cursor:not-allowed;opacity:.48}.lightbox__position{min-width:3.8rem;color:var(--muted);font:600 .68rem/1 var(--font-monospace);text-align:center}.lightbox__viewport{display:grid;width:100%;min-height:0;overflow:hidden;overscroll-behavior:contain;place-items:center;touch-action:none;user-select:none}.lightbox__viewport.is-zoomed{cursor:grab}.lightbox__viewport.is-dragging{cursor:grabbing}.lightbox__image{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 13rem);max-height:calc(100dvh - 13rem);min-height:0;margin:0;object-fit:contain;border:0;border-radius:.3rem;transform-origin:center;will-change:transform}.lightbox__close{position:absolute;top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);z-index:3;display:grid;width:2.5rem;height:2.5rem;padding:0;color:var(--base06);background:rgba(10,14,19,.9);border:1px solid var(--panel-border-strong);border-radius:.3rem;place-items:center;cursor:pointer}.lightbox__close:hover,.lightbox__close:focus-visible{color:var(--base00);background:var(--base0B);border-color:var(--base0B);outline:none}.lightbox__close .lucide{width:1.15rem;height:1.15rem}.lightbox__caption{box-sizing:border-box;width:100%;max-width:70ch;max-height:min(8rem,24dvh);margin:0;padding:0 .5rem .15rem;overflow:auto;overflow-wrap:anywhere;color:var(--muted);font-family:var(--font-ui);font-size:.78rem;line-height:1.5;text-align:center}.content__body .project-badge img{width:auto;max-width:calc(100% - 2rem);height:1.125rem;margin:0;border:0;border-radius:0}.content__body img[alt*=logo i]{width:min(100%,40rem)}.post-figure{margin:2.25rem 0}.post-figure img{width:100%;max-height:none;margin:0;border-radius:.35rem;box-shadow:0 .75rem 2rem rgba(0,0,0,.24)}.post-figure figcaption{padding:.7rem .15rem 0;color:var(--muted);font-size:.78rem;line-height:1.55}.post-figure-pair{display:grid;grid-template-columns:minmax(0,.55fr)minmax(0,1fr);gap:1rem;align-items:start;margin:2.25rem 0}.post-figure-pair--equal{grid-template-columns:repeat(2,minmax(0,1fr))}.post-figure-pair .post-figure{min-width:0;margin:0}@media(max-width:48rem){.post-figure-pair{grid-template-columns:minmax(0,1fr)}}.aside__identity{display:flex;align-items:flex-start;gap:1rem}.about__logo{width:4.25rem;height:4.25rem;flex:none;object-fit:cover;object-position:center;background:rgba(10,14,19,.82);border:1px solid color-mix(in srgb,var(--base0C) 55%,var(--panel-border));border-radius:50%;box-shadow:0 0 0 .2rem color-mix(in srgb,var(--base0C) 8%,transparent)}.about__title{display:block;margin:0 0 .35rem;color:var(--base06);font-size:1rem}.about__description{margin:0;color:var(--off-fg);font-size:.82rem;line-height:1.55;font-family:var(--font-body)}.aside__social-links{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.1rem 0 0;padding:0;list-style:none}.aside__social-links li{display:block}.aside__social-links a{display:grid;width:2rem;height:2rem;place-items:center;color:var(--off-fg);border:1px solid var(--panel-border);border-radius:.2rem}.aside__social-links a:hover,.aside__social-links a:focus-visible{color:var(--bg);background:var(--hover);border-color:var(--hover)}.social-icon{display:inline-block;width:1rem;height:1rem;background:currentColor;-webkit-mask:var(--icon)center/contain no-repeat;mask:var(--icon)center/contain no-repeat}.social-icon--github{--icon:url("/icons/github.svg")}.social-icon--bluesky{--icon:url("/icons/bluesky.svg")}.social-icon--x{--icon:url("/icons/x.svg")}.social-icon--matrix{--icon:url("/icons/matrix.svg")}.social-icon--mastodon{--icon:url("/icons/mastodon.svg")}.social-icon--reddit{--icon:url("/icons/reddit.svg")}.social-icon--keybase{--icon:url("/icons/keybase.svg")}.social-icon--openpgp{--icon:url("/icons/openpgp.svg")}.social-icon--nostr{--icon:url("/icons/nostr.svg")}.social-icon--mail{--icon:url("/icons/mail.svg")}.aside__more-profiles{margin-top:.7rem}.aside__more-profiles summary{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.75rem;font-weight:600;font-family:var(--font-ui);cursor:pointer;list-style:none}.aside__more-profiles summary::-webkit-details-marker{display:none}.aside__more-profiles summary:hover,.aside__more-profiles summary:focus-visible{color:var(--base0B)}.aside__more-profiles summary .lucide{width:.8rem;height:.8rem;transition:transform 140ms ease}.aside__more-profiles[open] summary .lucide{transform:rotate(180deg)}.aside__social-links--secondary{margin-top:.65rem}.aside__divider{height:1px;margin:1.2rem 0;background:linear-gradient(90deg,var(--panel-border-strong),var(--panel-border),transparent);border:0}.aside__divider::after{content:none}.aside__relay-link{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .65rem;color:var(--base0B);background:var(--panel-highlight);border:1px solid color-mix(in srgb,var(--base0B) 30%,transparent);border-radius:999px;font-size:.75rem;font-weight:600;line-height:1;font-family:var(--font-ui);text-decoration:none}.aside__relay-link:hover,.aside__relay-link:focus-visible{color:var(--bg);background:var(--base0B);border-color:var(--base0B)}.aside__relay-link .lucide{width:.85rem;height:.85rem}.aside__relay-link.external-link::after{content:none}.aside__projects{margin-top:1.15rem}.aside__projects h3{margin:0 0 .55rem;color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.aside__projects ul{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.aside__projects li{margin:0}.aside__projects li::marker{content:none}.aside__projects a{--project-accent:var(--base0B);display:grid;grid-template-columns:1.8rem minmax(0,1fr).85rem;align-items:center;gap:.55rem;padding:.55rem;color:var(--off-fg);background:rgba(255,255,255,.018);border:1px solid var(--panel-border);border-radius:.3rem;text-decoration:none;transition:background 160ms ease,border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}.aside-project--tor-guard-relay{--project-accent:var(--base0D)}.aside-project--shinobi-relays{--project-accent:var(--base0B)}.aside__projects a:hover,.aside__projects a:focus-visible{color:var(--base06);background:linear-gradient(110deg,color-mix(in srgb,var(--project-accent) 11%,transparent),var(--panel-highlight));border-color:color-mix(in srgb,var(--project-accent) 56%,var(--panel-border));box-shadow:0 .65rem 1.5rem rgba(0,0,0,.18),0 0 1.2rem color-mix(in srgb,var(--project-accent) 9%,transparent);outline:none;transform:translateX(3px)}.aside-project__icon{display:grid;width:1.8rem;height:1.8rem;place-items:center;color:var(--project-accent);background:color-mix(in srgb,var(--project-accent) 8%,transparent);border-radius:.25rem;transition:background 160ms ease,box-shadow 160ms ease}.aside__projects a:hover .aside-project__icon,.aside__projects a:focus-visible .aside-project__icon{background:color-mix(in srgb,var(--project-accent) 16%,transparent);box-shadow:0 0 .9rem color-mix(in srgb,var(--project-accent) 14%,transparent)}.aside-project__icon .lucide{width:.95rem;height:.95rem}.aside-project__body{display:grid;gap:.08rem;min-width:0}.aside-project__body strong{color:inherit;font-size:.75rem;line-height:1.3}.aside-project__body>span{color:var(--muted);font-size:.66rem;line-height:1.35;overflow-wrap:anywhere}.aside-project__arrow{width:.8rem;height:.8rem;color:var(--muted)}.aside__snowflake{--snowflake-scale:0.75;display:none;width:calc(320px * var(--snowflake-scale));max-width:100%;margin:1.15rem auto 0;overflow:hidden;background:0 0;border:0}.aside__snowflake-viewport{width:calc(320px * var(--snowflake-scale));height:calc(240px * var(--snowflake-scale));overflow:hidden;background:rgba(7,11,16,.66);border:1px solid var(--panel-border);border-radius:.4rem}.aside__snowflake iframe{display:block;width:320px;height:240px;max-width:none;border:0;transform:scale(var(--snowflake-scale));transform-origin:top left}.back-to-top--scriptfree-404::before,.back-to-top--scriptfree-404::after{content:none}@media(min-width:52rem){.js .aside__snowflake{display:block}}.lucide{flex:none;stroke:currentColor}.toc{display:flex;min-height:0;margin-top:1.5rem;padding-top:1rem;flex-direction:column;border-top:1px solid var(--panel-border);font-size:.8rem;font-family:var(--font-ui)}.toc__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.toc__title{margin:0;color:var(--muted)}.toc__toggle{padding:.18rem .42rem;color:var(--base0D);background:0 0;border:1px solid color-mix(in srgb,var(--base0D) 28%,var(--panel-border));border-radius:999px;font:600 .66rem/1.25 var(--font-ui);cursor:pointer}.toc__toggle:hover,.toc__toggle:focus-visible{color:var(--base00);background:var(--base0D);border-color:var(--base0D)}.toc__viewport{min-height:0;max-height:min(34dvh,16rem);padding-right:.25rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:color-mix(in srgb,var(--base0D) 46%,transparent)transparent;scrollbar-width:thin}.toc__viewport::-webkit-scrollbar{width:.3rem}.toc__viewport::-webkit-scrollbar-track{background:0 0}.toc__viewport::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--base0D) 42%,transparent);border-radius:999px}.toc nav>ol{margin:0;padding-left:2.25rem}.toc nav li{transition:opacity 160ms ease,color 160ms ease,transform 160ms ease}.toc--enhanced nav ol{padding-left:0;list-style:none}.toc--enhanced nav li{position:relative;padding-left:2.55rem}.toc--enhanced nav li::before{position:absolute;top:0;left:0;width:2.05rem;content:attr(data-toc-number)".";color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.toc--enhanced nav li.is-active::before{color:var(--base0B);font-weight:700}.toc--enhanced:not(.is-expanded) nav li.is-outside-window{display:none}.toc--enhanced:not(.is-expanded) nav li>a,.toc--enhanced:not(.is-expanded) nav li>p>a{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.toc--enhanced:not(.is-expanded) nav li.is-active>a,.toc--enhanced:not(.is-expanded) nav li.is-active>p>a{-webkit-line-clamp:3}.toc--enhanced:not(.is-expanded) nav li.is-window-near>a,.toc--enhanced:not(.is-expanded) nav li.is-window-near>p>a{-webkit-line-clamp:2}.toc--enhanced nav li.is-window-near{opacity:.66}.toc--enhanced nav li.is-window-far{opacity:.38}.toc--enhanced nav li.is-active{opacity:1;background:color-mix(in srgb,var(--base0B) 9%,transparent);border-radius:.28rem;box-shadow:inset 2px 0 color-mix(in srgb,var(--base0B) 72%,transparent);transform:none}.toc--enhanced nav li.is-active>a,.toc--enhanced nav li.is-active>p>a{color:var(--base0B);font-weight:700;text-decoration-color:color-mix(in srgb,var(--base0B) 64%,transparent);text-shadow:0 0 .7rem color-mix(in srgb,var(--base0B) 22%,transparent)}.toc--enhanced.is-expanded .toc__viewport{max-height:min(48dvh,24rem)}.back-to-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:20;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;color:var(--off-fg);background:color-mix(in srgb,var(--base00) 92%,transparent);border:1px solid var(--panel-border);border-radius:.35rem;box-shadow:0 .7rem 1.8rem rgb(0 0 0/28%);font:600 .75rem/1 var(--font-ui);cursor:pointer;transition:color 140ms ease,border-color 140ms ease,transform 140ms ease}.back-to-top[hidden]{display:none}.back-to-top:hover,.back-to-top:focus-visible{color:var(--base0B);border-color:color-mix(in srgb,var(--base0B) 48%,var(--panel-border));transform:translateY(-.12rem)}.back-to-top .lucide{width:1.1rem;height:1.1rem}.back-to-top--scriptfree-404{position:static;flex:none;margin-left:auto;overflow:hidden;line-height:1;text-decoration:none!important}.back-to-top--scriptfree-404>span{text-decoration:none!important}@supports(animation-timeline:scroll()){.back-to-top--scriptfree-404{position:fixed;right:1.25rem;bottom:1.25rem;z-index:20;margin-left:0;opacity:0;pointer-events:none;animation:scriptfree-back-to-top-reveal 1ms linear both;animation-timeline:scroll(root);animation-range:0% 100%}}@keyframes scriptfree-back-to-top-reveal{0%,8%{opacity:0;pointer-events:none;transform:translateY(.4rem)}12%,100%{opacity:1;pointer-events:auto;transform:translateY(0)}}.aside__panel--article .aside__summary{display:block;margin-bottom:.65rem;color:var(--base04);font-size:.78rem;line-height:1.55}.aside__panel--article .aside__summary summary{display:block;padding:.3rem .4rem;border:1px solid transparent;border-radius:.3rem;cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease}.aside__panel--article .aside__summary summary::-webkit-details-marker{display:none}.aside__panel--article .aside__summary summary:hover,.aside__panel--article .aside__summary summary:focus-visible,.aside__panel--article .aside__summary[open] summary{background:color-mix(in srgb,var(--base01) 72%,transparent);border-color:var(--panel-border)}.aside__panel--article .aside__summary-text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.aside__panel--article .aside__summary[open] .aside__summary-text{display:block;overflow:visible;-webkit-line-clamp:unset}.aside__summary-action{display:block;margin-top:.3rem;color:var(--base0D);font:600 .65rem/1.3 var(--font-ui);text-align:right}.aside__summary-action--less{display:none}.aside__summary[open] .aside__summary-action--more{display:none}.aside__summary[open] .aside__summary-action--less{display:inline}@media(min-width:52rem){.aside__panel--article{display:flex;height:calc(100dvh - 2rem);flex-direction:column;max-height:calc(100dvh - 2rem);overflow-x:hidden;overflow-y:hidden}.aside__panel--article .aside__identity{gap:.75rem}.aside__panel--article .about__logo{width:3.5rem;height:3.5rem}.aside__panel--article .about__description{display:-webkit-box;overflow:hidden;font-size:.76rem;line-height:1.48;-webkit-box-orient:vertical;-webkit-line-clamp:4}.aside__panel--article .aside__social-links{gap:.36rem;margin-top:.75rem}.aside__panel--article .aside__social-links a{width:1.8rem;height:1.8rem}.aside__panel--article .aside__more-profiles{margin-top:.5rem}.aside__panel--article .aside__divider{margin:.8rem 0}.aside__panel--article .aside__about,.aside__panel--article .aside__divider,.aside__panel--article .aside__snowflake{flex:none}.aside__panel--article .aside__content{display:flex;min-height:10.5rem;flex:auto;flex-direction:column;overflow:hidden}.aside__panel--article .aside__content>p{flex:none}.aside__panel--article .aside__content .toc{margin-top:.7rem;padding-top:.75rem;flex:auto}.aside__panel--article .aside__content .toc__viewport{min-height:8.5rem;max-height:none;flex:auto}.aside__panel--article:has(.aside__summary[open]) .aside__content .toc{flex-basis:auto}.aside__panel--article:has(.aside__summary[open]) .aside__content .toc__viewport{min-height:7rem}.aside__panel--article .aside__snowflake{margin-top:.75rem}.page{grid-template-areas:"header header" "body aside" "footer footer";grid-template-columns:minmax(0,1fr)18rem;grid-column-gap:2rem}.page__aside{position:static;align-self:stretch;max-height:none;overflow:visible}}@media(min-width:52rem) and (max-height:47rem){.aside__panel--article{padding:1rem}.aside__panel--article .about__description{-webkit-line-clamp:2}.aside__panel--article .aside__summary-text{font-size:.74rem;-webkit-line-clamp:2}.aside__panel--article .aside__summary[open] .aside__summary-text{-webkit-line-clamp:unset}.aside__panel--article .aside__content .toc{flex-basis:auto}.aside__panel--article .aside__content .toc__viewport{min-height:7rem}}@media(max-width:51.99rem){.page{grid-template-areas:"header" "body" "aside" "footer";grid-template-columns:minmax(0,1fr)}.page__aside{position:static;max-height:none;overflow:visible}}@media(max-width:38rem){body{--base03:#8995a7;--base04:#b8c2cf;--base05:#e0e6ee;--grid-cell:22px;--grid-block:88px;--panel-border:#364352;--panel-border-strong:#4a5a6c;padding:0 .65rem;background:radial-gradient(circle at 8% -6%,rgba(98,214,181,.13),transparent 19rem),radial-gradient(circle at 104% 8%,rgba(122,162,247,.12),transparent 22rem),radial-gradient(circle at 48% 104%,rgba(192,153,255,7%),transparent 27rem),linear-gradient(180deg,#070c12 0%,#0d141d 48%,#080d13 100%);background-attachment:scroll;font-size:16px;line-height:1.7}body::before{background-image:linear-gradient(to bottom,rgba(98,214,181,.014) 1px,transparent 1px),linear-gradient(to right,rgba(122,162,247,.013) 1px,transparent 1px),linear-gradient(to bottom,rgba(98,214,181,.036) 1px,transparent 1px),linear-gradient(to right,rgba(122,162,247,.033) 1px,transparent 1px);background-size:var(--grid-cell)var(--grid-cell),var(--grid-cell)var(--grid-cell),var(--grid-block)var(--grid-block),var(--grid-block)var(--grid-block);opacity:.72;mask-image:linear-gradient(to bottom,rgba(0,0,0,.78),#000 24%,rgba(0,0,0,.48) 82%,transparent);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.78),#000 24%,rgba(0,0,0,.48) 82%,transparent)}.relay-network{opacity:.54}.relay-network.is-reading-mode{opacity:.2}.page{grid-row-gap:.85rem;margin:.65rem auto 1rem}.page__header{padding:.75rem .8rem;overflow:hidden;background:linear-gradient(135deg,rgba(98,214,181,.055),transparent 42%),linear-gradient(315deg,rgba(122,162,247,.045),transparent 48%),rgba(10,15,22,.82);border:1px solid var(--panel-border);border-radius:.45rem;box-shadow:0 .8rem 2.2rem rgba(0,0,0,.24);backdrop-filter:blur(14px)saturate(110%);-webkit-backdrop-filter:blur(14px)saturate(110%)}.main-nav ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:.3rem;justify-content:flex-start}.main-nav .page__brand{grid-column:1/-1}.main-nav__item{display:flex;min-width:0}.main-nav__item:last-child:nth-child(even){grid-column:1/-1}.nav-main-item{width:100%;min-height:2rem;gap:.12rem;padding:.2rem .12rem;justify-content:center;color:var(--base04);background:rgba(255,255,255,.018);border:1px solid color-mix(in srgb,var(--panel-border) 78%,transparent);border-radius:.3rem;font-size:clamp(.63rem,2.85vw,.72rem);line-height:1.25}.nav-main-item .nav__external-icon{width:.65rem;height:.65rem;flex:none}.nav-main-item.active{color:var(--base0C);background:color-mix(in srgb,var(--base0C) 7%,transparent);border-color:color-mix(in srgb,var(--base0C) 32%,var(--panel-border))}.page__body{padding:1.2rem;overflow-wrap:break-word;background:linear-gradient(145deg,rgba(98,214,181,.035),transparent 31%),linear-gradient(325deg,rgba(122,162,247,.028),transparent 38%),rgba(17,22,30,.965);border-color:var(--panel-border);box-shadow:0 1rem 2.8rem rgba(0,0,0,.34);backdrop-filter:blur(10px)saturate(104%);-webkit-backdrop-filter:blur(10px)saturate(104%)}.page__body::before{width:8rem}.aside__panel{padding:1rem;background:linear-gradient(145deg,rgba(98,214,181,4%),transparent 34%),linear-gradient(325deg,rgba(192,153,255,.035),transparent 42%),rgba(16,21,29,.965);border-color:var(--panel-border);box-shadow:0 .9rem 2.4rem rgba(0,0,0,.28)}.aside__panel{position:static}.page__brand{width:100%;margin-bottom:.15rem;font-size:.78rem;line-height:1.45}.terminal-prompt{white-space:normal}.page__logo-inner,.terminal-prompt--sequence{display:block;width:100%}.terminal-prompt--sequence .prompt__line{display:flex;align-items:baseline;flex-wrap:wrap;width:100%;column-gap:0;row-gap:.08rem}.terminal-prompt--sequence .prompt__identity{flex:none}.terminal-prompt--sequence .prompt__command--context{min-width:0;margin-left:.55em;overflow-wrap:anywhere}.terminal-prompt--node-sync .prompt__line{display:flex;align-items:baseline;flex-wrap:nowrap}.terminal-prompt--node-sync .prompt__identity{flex:none}.terminal-prompt--node-sync .prompt__command--context{min-width:0;margin-left:0}.content__header h1,.hero h1,.error-page h1{margin-bottom:.8rem;font-size:clamp(1.42rem,7vw,1.7rem);line-height:1.22;letter-spacing:-.035em}.content__body{color:var(--base05);font-size:.98rem;line-height:1.72}.content__body p,.content__body li{text-wrap:pretty}.eyebrow,.hero__prompt{color:var(--base0B);font-size:.78rem}.post__header{margin-bottom:1.45rem}.post__meta{color:var(--base03);font-size:.78rem}.hero__actions{gap:.55rem;margin-top:1.5rem}.button-link{min-height:2.6rem;padding:.5rem .72rem;font-size:.8rem}.post-list li{display:block;overflow:hidden;background:linear-gradient(135deg,rgba(122,162,247,.035),transparent 46%),rgba(10,15,21,.38);border:1px solid var(--panel-border)}.post-list__card,.post-list p{grid-column:1}.post-list__card{grid-template-columns:1fr;padding:.9rem}.post-list__meta,.post-list__title,.post-list__read,.post-list__tags,.post-list__thumbnail{grid-column:1;grid-row:auto}.post-list__thumbnail{width:6rem;height:6rem;margin-top:.35rem}.section-heading{align-items:flex-start;flex-direction:column}.archive-filter,.donation-grid{grid-template-columns:1fr}.recent-writing,.featured-projects{margin-top:2.2rem;padding-top:1.15rem}.section-heading{gap:.35rem;margin-bottom:.8rem}.section-heading h2{color:var(--base06)}.post-nav{grid-template-columns:1fr}.post-nav__item--next{text-align:left}.post-nav__item--next .post-nav__label{justify-content:flex-start}.donate-page__currency-marks{right:-1.5rem;opacity:.055}.project-status{grid-template-columns:repeat(2,minmax(0,1fr))}.project-badges{grid-template-columns:1fr}.archive-filter__status{grid-column:1}.archive-filter input,.archive-filter select{min-height:2.75rem;font-size:1rem;touch-action:manipulation}.content__body h2{margin-top:2.4rem;padding-top:1rem;font-size:1.08rem}.content__body h3{font-size:1rem}.content__body blockquote{margin:1.5rem 0;padding:.85rem .95rem}.toc{font-size:.82rem;line-height:1.6}.toc__title{color:var(--base04)}.toc--nojs nav>ol{padding-left:2rem}.highlight pre,.highlight .chroma{padding:1rem;font-size:.78rem}.code-block__toolbar{padding:0 .65rem}.page__footer,.footer__meta{align-items:flex-start;flex-direction:column}.page__footer{gap:.8rem;padding:1rem;color:var(--base04);background:linear-gradient(145deg,rgba(98,214,181,.035),transparent 42%),linear-gradient(325deg,rgba(122,162,247,3%),transparent 46%),rgba(10,15,22,.9);border:1px solid var(--panel-border);border-radius:.45rem;box-shadow:0 .9rem 2.4rem rgba(0,0,0,.26)}.footer__meta{gap:.35rem}.footer__build{color:var(--base04)}.footer__links{margin-left:0}.relay-legend{color:var(--base04)}.relay-legend summary{color:var(--base04);font-weight:600}.relay-legend__items{gap:.4rem .85rem}.relay-legend__hint{max-width:42ch;color:var(--base03);font-size:.78rem;line-height:1.55}.back-to-top{right:.75rem;bottom:.75rem;background:rgba(10,15,22,.94);border-color:var(--panel-border-strong)}}@media(max-width:23rem){body{padding-inline:.45rem}.page__header,.page__body{padding-inline:.95rem}.nav-main-item{padding-inline:.08rem;font-size:.63rem}.content__header h1,.hero h1,.error-page h1{font-size:1.36rem}}@supports(content-visibility:auto){.featured-projects,.recent-writing,.supporter-section{content-visibility:auto;contain-intrinsic-block-size:auto 36rem}.post-list--archive>li{content-visibility:auto;contain-intrinsic-block-size:auto 13rem}}@media(pointer:coarse),(max-width:47.99rem){.aside__social-links a{width:2.75rem;height:2.75rem}.nav-main-item,.button-link,.footer__links a,.code-block__copy,.donation-card__actions button,.donation-card__actions a{min-height:2.75rem}.back-to-top,.lightbox__close{width:2.75rem;height:2.75rem}.lightbox__zoom-button,.lightbox__zoom-reset,.lightbox__nav-button{min-width:2.75rem;height:2.75rem}.lightbox__toolbar{width:100%;justify-content:center}}@media(max-width:47.99rem),(max-height:31rem) and (pointer:coarse){html{scroll-behavior:auto}body{--grid-cell:30px;padding-right:max(.65rem,env(safe-area-inset-right,0px));padding-bottom:env(safe-area-inset-bottom,0px);padding-left:max(.65rem,env(safe-area-inset-left,0px));background:radial-gradient(circle at 8% -6%,rgba(98,214,181,.11),transparent 18rem),radial-gradient(circle at 104% 8%,rgba(122,162,247,9%),transparent 21rem),linear-gradient(180deg,#070c12 0%,#0d141d 48%,#080d13 100%)}body::before{background-image:linear-gradient(to bottom,rgba(98,214,181,.026) 1px,transparent 1px),linear-gradient(to right,rgba(122,162,247,.024) 1px,transparent 1px);background-size:var(--grid-cell)var(--grid-cell);opacity:.52;mask-image:none;-webkit-mask-image:none}.page__header,.page__body{backdrop-filter:none;-webkit-backdrop-filter:none}.relay-network{display:none}.relay-legend{display:none}.table-scroll{border-right:.2rem solid color-mix(in srgb,var(--base0D) 38%,var(--panel-border))}.content__body th,.content__body td{padding:.58rem .68rem}.code-block__toolbar{min-height:2.75rem}.back-to-top{right:max(.75rem,env(safe-area-inset-right,0px));bottom:max(.75rem,env(safe-area-inset-bottom,0px))}.hero__status-command{width:8.35ch;animation:none}.hero__status-cursor{display:none;animation:none}.hero__status-result,.hero--status-sequence .content__body>:not(.hero__terminal),.home-section-reveal{opacity:1;transform:none;animation:none}.error-route__node:not(:last-child)::after,.error-route__icon::after,.error-log p{animation:none}.error-route__icon::after{opacity:0}.error-log p{opacity:1;clip-path:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.back-to-top{transition:none}.reading-progress__fill::before{animation:none}.relay-network{transition:none}.aside__projects a,.aside-project__icon{transition:none}.prompt__cursor{opacity:1;animation:none}.hero__status-command{width:8.35ch;animation:none}.hero__status-cursor{display:none;animation:none}.hero__status-result,.hero--status-sequence .content__body>:not(.hero__terminal),.home-section-reveal{opacity:1;transform:none;animation:none}.prompt__command--typing{width:6ch;animation:none}.terminal-prompt--whoami .prompt__input{display:none;animation:none}.prompt__cursor--typing{display:none}.prompt__output{visibility:visible;opacity:1;animation:none}.error-log__cursor{opacity:1;animation:none}.aside__projects a:hover,.aside__projects a:focus-visible{transform:none}.relay-network{opacity:.6}}@media print{body{background:#fff}body::before{display:none}.relay-network{display:none}.back-to-top{display:none}}