.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.site-header[data-astro-cid-ctg3m53h]{padding-block:var(--space-m) var(--space-s)}nav[data-astro-cid-ctg3m53h]{display:flex;gap:var(--space-s);align-items:baseline}a[data-astro-cid-ctg3m53h]{color:var(--muted);text-decoration:none;&:hover{color:var(--ink)}}.brand[data-astro-cid-ctg3m53h]{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--ink);margin-inline-end:auto}.mark[data-astro-cid-ctg3m53h]{color:var(--brand);flex:none}.mark[data-astro-cid-ctg3m53h] rect[data-astro-cid-ctg3m53h]{transform-box:fill-box;transform-origin:center}@media(prefers-reduced-motion:no-preference){.brand[data-astro-cid-ctg3m53h]:hover .mark[data-astro-cid-ctg3m53h] rect[data-astro-cid-ctg3m53h]{animation:cell-wave .65s ease var(--d)}}@keyframes cell-wave{50%{transform:translateY(-18%);opacity:.45}}.links[data-astro-cid-zamss57n]{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-s)}.links[data-astro-cid-zamss57n] a[data-astro-cid-zamss57n]{color:var(--muted);text-decoration:none}.links[data-astro-cid-zamss57n] a[data-astro-cid-zamss57n]:hover{color:var(--accent)}.site-footer[data-astro-cid-gcn2mc3v]{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-s);padding-block:var(--space-m);margin-block-start:var(--space-l);border-block-start:1px solid var(--border);color:var(--faint);font-size:var(--text-sm)}.copyright[data-astro-cid-gcn2mc3v]{margin:0;display:flex;gap:var(--space-s);align-items:baseline}.copyright[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{color:var(--muted);text-decoration:none}.copyright[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover{color:var(--ink)}@layer reset,tokens,base,layout;@layer tokens{:root{color-scheme:light dark;--brand: #a893dd;--bg: light-dark(oklch(.978 .008 85), oklch(.165 .012 300));--surface: light-dark(oklch(.955 .012 85), oklch(.215 .016 300));--ink: light-dark(oklch(.24 .018 310), oklch(.92 .012 300));--muted: light-dark(oklch(.46 .03 312), oklch(.72 .022 300));--faint: light-dark(oklch(.52 .03 315), oklch(.63 .022 300));--border: light-dark(oklch(.9 .014 320), oklch(.3 .02 300));--accent: light-dark(oklch(from var(--brand) .5 .16 h), oklch(from var(--brand) .82 .11 h));--accent-soft: color-mix(in oklab, var(--accent) 14%, transparent);--selection: color-mix(in oklab, var(--accent) 24%, transparent);--glow: light-dark( oklch(from var(--brand) .72 .15 h / .16), oklch(from var(--brand) .7 .16 h / .22) );--radius-sm: 3px;--radius: 6px;--font-mono: ui-monospace, "Cascadia Code", "JetBrains Mono", "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--text-sm: clamp(.875rem, .85rem + .12vw, .9375rem);--text-base: clamp(1rem, .95rem + .22vw, 1.125rem);--text-lg: clamp(1.2rem, 1.1rem + .5vw, 1.45rem);--text-xl: clamp(1.55rem, 1.35rem + 1vw, 2.1rem);--space-2xs: clamp(.5rem, .46rem + .2vw, .65rem);--space-xs: clamp(.75rem, .69rem + .3vw, 1rem);--space-s: clamp(1rem, .9rem + .5vw, 1.4rem);--space-m: clamp(1.6rem, 1.35rem + 1.2vw, 2.5rem);--space-l: clamp(2.5rem, 1.9rem + 3vw, 4.5rem);--measure: 70ch;--gutter: clamp(1.25rem, .5rem + 3vw, 4rem);--leading: 1.7}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}:where(img,picture,svg){display:block;max-inline-size:100%;height:auto}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}}@layer base{html{font-family:var(--font-mono);line-height:var(--leading);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scrollbar-gutter:stable}body{font-size:var(--text-base);min-block-size:100dvh;position:relative;display:flex;flex-direction:column;overflow-wrap:break-word;background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.09'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(72rem 40rem at 50% -8%,var(--glow),transparent 72%);background-repeat:repeat,no-repeat;background-position:0 0,50% 0;background-size:300px 300px,auto;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}#main{flex:1 0 auto}#main:focus{outline:none}:where(a){color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px;&:hover{text-decoration-thickness:2px}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}:where(h1,h2,h3){line-height:1.2;font-weight:700;letter-spacing:-.01em;text-wrap:balance}:where(p,li){text-wrap:pretty}::selection{background:var(--selection)}:where(hr){border:none;border-block-start:1px solid var(--border);margin-block:var(--space-m)}::view-transition-old(root),::view-transition-new(root){animation:none}#main{view-transition-name:content}::view-transition-old(content){animation:vt-out 90ms ease both}::view-transition-new(content){animation:vt-in .15s cubic-bezier(.2,0,0,1) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(6px)}}}@layer layout{.measure{width:min(100% - var(--gutter) * 2,var(--measure));margin-inline:auto}.skip-link{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;z-index:50;background:var(--ink);color:var(--bg);text-decoration:none}.skip-link:focus{position:fixed;inset-block-start:var(--space-s);inset-inline-start:var(--space-s);width:auto;height:auto;margin:0;padding:.5rem .85rem;overflow:visible;clip-path:none;border-radius:var(--radius-sm)}}
