@layer reset, tokens, base, layout, components, utilities;@layer reset{*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body{min-height:100dvh}h1,h2,h3,h4,h5,h6{text-wrap:balance}figcaption,li,p{text-wrap:pretty}a:not([class]){-webkit-text-decoration-skip:ink;color:currentcolor;text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;height:auto;max-width:100%}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}textarea{resize:vertical}ol[role=list],ul[role=list]{list-style:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}}@layer tokens{:root{color-scheme:light dark;interpolate-size:allow-keywords;--color-stone-50:oklch(0.985 0.003 75);--color-stone-100:oklch(0.95 0.006 75);--color-stone-200:oklch(0.88 0.01 75);--color-stone-300:oklch(0.78 0.015 75);--color-stone-400:oklch(0.65 0.015 75);--color-stone-500:oklch(0.55 0.012 75);--color-stone-600:oklch(0.45 0.012 75);--color-stone-700:oklch(0.37 0.012 75);--color-stone-800:oklch(0.28 0.01 75);--color-stone-900:oklch(0.2 0.008 75);--color-stone-950:oklch(0.13 0.006 75);--color-accent:oklch(0.58 0.16 250);--color-accent-light:oklch(0.7 0.14 250);--color-accent-dark:#005fa6;--text-primary:var(--color-stone-900);--text-secondary:var(--color-stone-600);--text-muted:var(--color-stone-400);--bg-primary:var(--color-stone-50);--bg-secondary:var(--color-stone-100);--bg-code:var(--color-stone-100);--border:var(--color-stone-200);--border-strong:var(--color-stone-300);--link:var(--color-accent-dark);--link-hover:var(--color-accent);--font-body:system-ui,-apple-system,"Segoe UI",sans-serif;--font-heading:var(--font-body);--font-mono:"SF Mono",ui-monospace,"Cascadia Code",monospace;--text-xs:clamp(0.75rem,0.7rem + 0.2vw,0.8rem);--text-sm:clamp(0.8rem,0.75rem + 0.25vw,0.9rem);--text-base:clamp(1rem,0.925rem + 0.35vw,1.125rem);--text-lg:clamp(1.2rem,1.05rem + 0.6vw,1.4rem);--text-xl:clamp(1.4rem,1.15rem + 0.9vw,1.75rem);--text-2xl:clamp(1.75rem,1.35rem + 1.4vw,2.25rem);--text-3xl:clamp(2.2rem,1.6rem + 2vw,3rem);--leading-tight:1.2;--leading-snug:1.4;--leading-normal:1.6;--leading-relaxed:1.8;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.02em;--space-3xs:clamp(0.125rem,0.1rem + 0.1vw,0.25rem);--space-2xs:clamp(0.25rem,0.2rem + 0.2vw,0.375rem);--space-xs:clamp(0.5rem,0.4rem + 0.35vw,0.625rem);--space-s:clamp(0.75rem,0.6rem + 0.5vw,1rem);--space-m:clamp(1rem,0.8rem + 0.75vw,1.5rem);--space-l:clamp(1.5rem,1.2rem + 1.2vw,2.25rem);--space-xl:clamp(2rem,1.5rem + 1.8vw,3rem);--space-2xl:clamp(3rem,2.2rem + 2.8vw,4.5rem);--space-3xl:clamp(4rem,3rem + 3.5vw,6rem);--content-width:65ch;--wide-width:85ch;--max-width:80rem;--gutter:var(--space-m);--radius-s:0.25rem;--radius-m:0.5rem;--radius-l:0.75rem;--radius-full:9999px;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--duration-fast:150ms;--duration-normal:300ms;--duration-slow:500ms}@media (color-gamut:p3){:root{--color-accent-dark:oklch(0.48 0.16 250)}}}@layer tokens{[data-theme=dark]{--text-primary:var(--color-stone-100);--text-secondary:var(--color-stone-300);--text-muted:var(--color-stone-500);--bg-primary:var(--color-stone-950);--bg-secondary:var(--color-stone-900);--bg-code:var(--color-stone-900);--border:var(--color-stone-800);--border-strong:var(--color-stone-700);--link:var(--color-accent-light);--link-hover:var(--color-accent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--text-primary:var(--color-stone-100);--text-secondary:var(--color-stone-300);--text-muted:var(--color-stone-500);--bg-primary:var(--color-stone-950);--bg-secondary:var(--color-stone-900);--bg-code:var(--color-stone-900);--border:var(--color-stone-800);--border-strong:var(--color-stone-700);--link:var(--color-accent-light);--link-hover:var(--color-accent)}}}@layer base{body{background-color:oklch(.985 .003 75);background-color:var(--bg-primary);color:oklch(.2 .008 75);color:var(--text-primary);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--font-body);font-size:clamp(1rem,.925rem + .35vw,1.125rem);font-size:var(--text-base);line-height:1.6;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;word-wrap:break-word;transition:color .3s cubic-bezier(.22,1,.36,1),background-color .3s cubic-bezier(.22,1,.36,1);transition:color var(--duration-normal) var(--ease-out),background-color var(--duration-normal) var(--ease-out)}h1,h2,h3,h4,h5,h6{font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em;letter-spacing:var(--tracking-tight);line-height:1.2;line-height:var(--leading-tight);text-rendering:optimizeLegibility}h1{font-size:clamp(2.2rem,1.6rem + 2vw,3rem);font-size:var(--text-3xl)}h2{font-size:clamp(1.75rem,1.35rem + 1.4vw,2.25rem);font-size:var(--text-2xl)}h3{font-size:clamp(1.4rem,1.15rem + .9vw,1.75rem);font-size:var(--text-xl)}h4{font-size:clamp(1.2rem,1.05rem + .6vw,1.4rem);font-size:var(--text-lg)}h5{font-size:clamp(1rem,.925rem + .35vw,1.125rem);font-size:var(--text-base)}h6{font-size:clamp(.8rem,.75rem + .25vw,.9rem);font-size:var(--text-sm)}a{color:oklch(.48 .16 250);color:var(--link);text-decoration-thickness:1px;text-underline-offset:.15em;transition:color .15s cubic-bezier(.22,1,.36,1);transition:color var(--duration-fast) var(--ease-out)}a:hover{color:oklch(.58 .16 250);color:var(--link-hover)}code,kbd,samp{font-family:SF Mono,ui-monospace,Cascadia Code,monospace;font-family:var(--font-mono);font-size:.875em}code:not(pre code){border-radius:.25rem;border-radius:var(--radius-s);padding:.125em .3em}code:not(pre code),pre{background:oklch(.95 .006 75);background:var(--bg-code)}pre{border:1px solid oklch(.88 .01 75);border:1px solid var(--border);border-radius:.5rem;border-radius:var(--radius-m);font-size:clamp(.8rem,.75rem + .25vw,.9rem);font-size:var(--text-sm);line-height:1.4;line-height:var(--leading-snug);overflow-x:auto;padding:clamp(1rem,.8rem + .75vw,1.5rem);padding:var(--space-m)}::-moz-selection{background:rgba(13,125,212,.3)}::selection{background:rgba(13,125,212,.3)}@supports (color:lab(from red l 1 1%/calc(alpha + 0.1))){::-moz-selection{background:oklch(from var(--color-accent) l c h/.3)}::selection{background:oklch(from var(--color-accent) l c h/.3)}}:focus-visible{outline:2px solid oklch(.58 .16 250);outline:2px solid var(--color-accent);outline-offset:2px}small,time{color:oklch(.45 .012 75);color:var(--text-secondary);font-size:clamp(.8rem,.75rem + .25vw,.9rem);font-size:var(--text-sm)}}@layer layout{body{display:flex;flex-direction:column;min-height:100dvh}body>header{backdrop-filter:blur(.75rem);background:hsla(40,27%,98%,.85);border-bottom:1px solid oklch(.88 .01 75);border-bottom:1px solid var(--border);padding-inline:clamp(1rem,.8rem + .75vw,1.5rem);padding-inline:var(--gutter);position:sticky;top:0;z-index:10}@supports (color:lab(from red l 1 1%/calc(alpha + 0.1))){body>header{background:oklch(from var(--bg-primary) l c h/.85)}}body>header>nav{align-items:center;display:flex;gap:clamp(1rem,.8rem + .75vw,1.5rem);gap:var(--space-m);justify-content:space-between;margin-inline:auto;max-width:80rem;max-width:var(--max-width);padding-block:clamp(.75rem,.6rem + .5vw,1rem);padding-block:var(--space-s)}main{flex:1;margin-inline:auto;max-width:65ch;max-width:var(--content-width);padding-block:clamp(2rem,1.5rem + 1.8vw,3rem);padding-block:var(--space-xl);padding-inline:clamp(1rem,.8rem + .75vw,1.5rem);padding-inline:var(--gutter);width:100%}body>footer{border-top:1px solid oklch(.88 .01 75);border-top:1px solid var(--border);padding:clamp(1.5rem,1.2rem + 1.2vw,2.25rem) clamp(1rem,.8rem + .75vw,1.5rem);padding:var(--space-l) var(--gutter);text-align:center}body>footer p{color:oklch(.65 .015 75);color:var(--text-muted);font-size:clamp(.8rem,.75rem + .25vw,.9rem);font-size:var(--text-sm);margin-inline:auto;max-width:80rem;max-width:var(--max-width)}}@layer components{.skip-link{background:oklch(.985 .003 75);background:var(--bg-primary);border:1px solid oklch(.78 .015 75);border:1px solid var(--border-strong);border-radius:.5rem;border-radius:var(--radius-m);font-size:clamp(.8rem,.75rem + .25vw,.9rem);font-size:var(--text-sm);left:clamp(.5rem,.4rem + .35vw,.625rem);left:var(--space-xs);padding:clamp(.5rem,.4rem + .35vw,.625rem) clamp(.75rem,.6rem + .5vw,1rem);padding:var(--space-xs) var(--space-s);position:absolute;top:clamp(.5rem,.4rem + .35vw,.625rem);top:var(--space-xs);transform:translateY(-200%);transition:transform .15s cubic-bezier(.22,1,.36,1);transition:transform var(--duration-fast) var(--ease-out);z-index:100}.skip-link:focus{transform:translateY(0)}.site-logo{color:oklch(.2 .008 75);color:var(--text-primary);font-size:clamp(1.2rem,1.05rem + .6vw,1.4rem);font-size:var(--text-lg);font-weight:700;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap}.site-nav{display:flex;flex-wrap:wrap;gap:clamp(.5rem,.4rem + .35vw,.625rem);gap:var(--space-xs);list-style:none}.site-nav a{border-radius:.5rem;border-radius:var(--radius-m);color:oklch(.45 .012 75);color:var(--text-secondary);font-size:clamp(.8rem,.75rem + .25vw,.9rem);font-size:var(--text-sm);padding:clamp(.25rem,.2rem + .2vw,.375rem) clamp(.5rem,.4rem + .35vw,.625rem);padding:var(--space-2xs) var(--space-xs);-webkit-text-decoration:none;text-decoration:none;transition:color .15s cubic-bezier(.22,1,.36,1),background-color .15s cubic-bezier(.22,1,.36,1);transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.site-nav a:hover{background:oklch(.95 .006 75);background:var(--bg-secondary);color:oklch(.2 .008 75);color:var(--text-primary)}.site-nav a[aria-current=page]{color:oklch(.48 .16 250);color:var(--link);font-weight:600}.nav-toggle{display:none}@media (max-width:52rem){.nav-toggle{background:none;border:none;color:oklch(.2 .008 75);color:var(--text-primary);display:block;font-size:clamp(1.2rem,1.05rem + .6vw,1.4rem);font-size:var(--text-lg);line-height:1;padding:clamp(.5rem,.4rem + .35vw,.625rem);padding:var(--space-xs)}.site-nav{background:oklch(.985 .003 75);background:var(--bg-primary);border-bottom:1px solid oklch(.88 .01 75);border-bottom:1px solid var(--border);display:none;flex-direction:column;gap:0;left:0;padding:clamp(.75rem,.6rem + .5vw,1rem) clamp(1rem,.8rem + .75vw,1.5rem);padding:var(--space-s) var(--gutter);position:absolute;right:0;top:100%}.site-nav a{display:block;padding:clamp(.5rem,.4rem + .35vw,.625rem) clamp(.75rem,.6rem + .5vw,1rem);padding:var(--space-xs) var(--space-s)}.site-nav.is-open{display:flex}}.theme-toggle{background:none;border:1px solid oklch(.88 .01 75);border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-full);color:oklch(.45 .012 75);color:var(--text-secondary);font-size:clamp(.8rem,.75rem + .25vw,.9rem);font-size:var(--text-sm);line-height:1;padding:clamp(.25rem,.2rem + .2vw,.375rem) clamp(.5rem,.4rem + .35vw,.625rem);padding:var(--space-2xs) var(--space-xs);transition:color .15s cubic-bezier(.22,1,.36,1),border-color .15s cubic-bezier(.22,1,.36,1);transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.theme-toggle:hover{border-color:oklch(.78 .015 75);border-color:var(--border-strong);color:oklch(.2 .008 75);color:var(--text-primary)}.hero{margin-block-end:clamp(3rem,2.2rem + 2.8vw,4.5rem);margin-block-end:var(--space-2xl)}.hero h1{margin-block-end:clamp(.75rem,.6rem + .5vw,1rem);margin-block-end:var(--space-s)}.hero p{color:oklch(.45 .012 75);color:var(--text-secondary);font-size:clamp(1.2rem,1.05rem + .6vw,1.4rem);font-size:var(--text-lg);line-height:1.8;line-height:var(--leading-relaxed);max-width:50ch}.entry-list{display:flex;flex-direction:column;gap:0;list-style:none}.entry-card{border-bottom:1px solid oklch(.88 .01 75);border-bottom:1px solid var(--border);padding:clamp(1rem,.8rem + .75vw,1.5rem);padding:var(--space-m);position:relative;transition:background-color .15s cubic-bezier(.22,1,.36,1);transition:background-color var(--duration-fast) var(--ease-out)}.entry-card:first-child{border-top:1px solid oklch(.88 .01 75);border-top:1px solid var(--border)}.entry-card:hover{background:oklch(.95 .006 75);background:var(--bg-secondary)}.entry-card>a{color:oklch(.2 .008 75);color:var(--text-primary);font-weight:600;-webkit-text-decoration:none;text-decoration:none}.entry-card>a:before{content:"";inset:0;position:absolute}.entry-card>a:hover{color:oklch(.48 .16 250);color:var(--link)}.entry-card .entry-meta{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(.5rem,.4rem + .35vw,.625rem);gap:var(--space-xs)}.entry-card .entry-meta,.entry-card .entry-summary{color:oklch(.45 .012 75);color:var(--text-secondary);font-size:clamp(.8rem,.75rem + .25vw,.9rem);font-size:var(--text-sm);margin-block-start:clamp(.25rem,.2rem + .2vw,.375rem);margin-block-start:var(--space-2xs)}.entry-card .entry-summary{line-height:1.6;line-height:var(--leading-normal)}.entry-card--external>a{position:relative;z-index:1}.entry-card--external>a:before{display:none}.article-meta{align-items:center;color:oklch(.45 .012 75);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:clamp(.8rem,.75rem + .25vw,.9rem);font-size:var(--text-sm);gap:clamp(.5rem,.4rem + .35vw,.625rem);gap:var(--space-xs);margin-block-end:clamp(.75rem,.6rem + .5vw,1rem);margin-block-end:var(--space-s)}article>.prose,article>header{margin-block-end:clamp(2rem,1.5rem + 1.8vw,3rem);margin-block-end:var(--space-xl)}article>footer{border-top:1px solid oklch(.88 .01 75);border-top:1px solid var(--border);color:oklch(.45 .012 75);color:var(--text-secondary);font-size:clamp(.8rem,.75rem + .25vw,.9rem);font-size:var(--text-sm);padding-block-start:clamp(1.5rem,1.2rem + 1.2vw,2.25rem);padding-block-start:var(--space-l)}.prose>*+*{margin-block-start:clamp(1rem,.8rem + .75vw,1.5rem);margin-block-start:var(--space-m)}.prose h2,.prose h3,.prose h4{margin-block-end:clamp(.75rem,.6rem + .5vw,1rem);margin-block-end:var(--space-s);margin-block-start:clamp(2rem,1.5rem + 1.8vw,3rem);margin-block-start:var(--space-xl)}.prose h2{font-size:clamp(1.4rem,1.15rem + .9vw,1.75rem);font-size:var(--text-xl)}.prose h3{font-size:clamp(1.2rem,1.05rem + .6vw,1.4rem);font-size:var(--text-lg)}.prose h4{font-size:clamp(1rem,.925rem + .35vw,1.125rem);font-size:var(--text-base);font-weight:600}.prose ol,.prose ul{padding-inline-start:clamp(1.5rem,1.2rem + 1.2vw,2.25rem);padding-inline-start:var(--space-l)}.prose li+li{margin-block-start:clamp(.5rem,.4rem + .35vw,.625rem);margin-block-start:var(--space-xs)}.prose blockquote{border-inline-start:.25rem solid oklch(.58 .16 250);border-inline-start:.25rem solid var(--color-accent);color:oklch(.45 .012 75);color:var(--text-secondary);font-style:italic;padding-block:clamp(.5rem,.4rem + .35vw,.625rem);padding-block:var(--space-xs);padding-inline-start:clamp(1rem,.8rem + .75vw,1.5rem);padding-inline-start:var(--space-m)}.prose hr{border:none;border-top:1px solid oklch(.88 .01 75);border-top:1px solid var(--border);margin-block:clamp(2rem,1.5rem + 1.8vw,3rem);margin-block:var(--space-xl)}.prose a{-webkit-text-decoration:underline;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}.prose strong{font-weight:600}.prose img{border-radius:.5rem;border-radius:var(--radius-m);margin-block:clamp(1rem,.8rem + .75vw,1.5rem);margin-block:var(--space-m)}.badge-list{display:flex;flex-wrap:wrap;gap:clamp(.25rem,.2rem + .2vw,.375rem);gap:var(--space-2xs);list-style:none}.badge{align-items:center;background:oklch(.95 .006 75);background:var(--bg-secondary);border-radius:9999px;border-radius:var(--radius-full);color:oklch(.45 .012 75);color:var(--text-secondary);display:inline-flex;font-size:clamp(.75rem,.7rem + .2vw,.8rem);font-size:var(--text-xs);gap:clamp(.125rem,.1rem + .1vw,.25rem);gap:var(--space-3xs);padding:clamp(.125rem,.1rem + .1vw,.25rem) clamp(.5rem,.4rem + .35vw,.625rem);padding:var(--space-3xs) var(--space-xs);white-space:nowrap}a[target=_blank]:after{content:" ↗";font-size:.75em}@media (prefers-reduced-motion:reduce){.badge,.entry-card,.theme-toggle,a,body{transition-duration:.01ms!important}}}@layer utilities{.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.wide{max-width:85ch;max-width:var(--wide-width)}}
/*# sourceMappingURL=main.css.map */