*,*:before,*:after{box-sizing:border-box}*{margin:0}ul[role=list],ol[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5;-webkit-font-smoothing:antialiased}a:not([class]){text-decoration-skip-ink:auto}img,picture,video,canvas{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root,#__next{isolation:isolate}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}:root{--step--2: clamp(.7813rem, .7747rem + .0326vw, .8rem);--step--1: clamp(.9375rem, .9158rem + .1087vw, 1rem);--step-0: clamp(1.125rem, 1.0815rem + .2174vw, 1.25rem);--step-1: clamp(1.35rem, 1.2761rem + .3696vw, 1.5625rem);--step-2: clamp(1.62rem, 1.5041rem + .5793vw, 1.9531rem);--step-3: clamp(1.944rem, 1.771rem + .8651vw, 2.4414rem);--step-4: clamp(2.3328rem, 2.0827rem + 1.2504vw, 3.0518rem);--step-5: clamp(2.7994rem, 2.4462rem + 1.7658vw, 3.8147rem);--space-3xs: clamp(.3125rem, .3125rem + 0vw, .3125rem);--space-2xs: clamp(.5625rem, .5408rem + .1087vw, .625rem);--space-xs: clamp(.875rem, .8533rem + .1087vw, .9375rem);--space-s: clamp(1.125rem, 1.0815rem + .2174vw, 1.25rem);--space-m: clamp(1.6875rem, 1.6223rem + .3261vw, 1.875rem);--space-l: clamp(2.25rem, 2.163rem + .4348vw, 2.5rem);--space-xl: clamp(3.375rem, 3.2446rem + .6522vw, 3.75rem);--space-2xl: clamp(4.5rem, 4.3261rem + .8696vw, 5rem);--space-3xl: clamp(6.75rem, 6.4891rem + 1.3043vw, 7.5rem);--space-3xs-2xs: clamp(.3125rem, .2038rem + .5435vw, .625rem);--space-2xs-xs: clamp(.5625rem, .4321rem + .6522vw, .9375rem);--space-xs-s: clamp(.875rem, .7446rem + .6522vw, 1.25rem);--space-s-m: clamp(1.125rem, .8641rem + 1.3043vw, 1.875rem);--space-m-l: clamp(1.6875rem, 1.4049rem + 1.413vw, 2.5rem);--space-l-xl: clamp(2.25rem, 1.7283rem + 2.6087vw, 3.75rem);--space-xl-2xl: clamp(3.375rem, 2.8098rem + 2.8261vw, 5rem);--space-2xl-3xl: clamp(4.5rem, 3.4565rem + 5.2174vw, 7.5rem);--color-bg: #fafafa;--color-text: #1a1a1a;--color-border: #e5e5e5;--color-focus: #0a0a0a;--color-accent: #c17a5c;--font-body: "Lora", serif;--font-heading: "Crimson Pro", serif;--font-ui: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-2: 2px;--radius-4: 4px;--radius-6: 6px;--radius-8: 8px;--radius-10: 10px;--radius-12: 12px;--max-width: 1240px}@media(prefers-color-scheme:dark){:root{--color-bg: #121212;--color-text: #e0e0e0;--color-border: #333333;--color-focus: #f0f0f0}}.container{max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-l)}.flow>*+*{margin-block-start:var(--flow-space, 1em)}.flow[data-space=s]{--flow-space: var(--space-s)}.flow[data-space=m]{--flow-space: var(--space-m)}.flow[data-space=l]{--flow-space: var(--space-l)}.flow[data-space=xl]{--flow-space: var(--space-xl)}.cluster{display:flex;flex-wrap:wrap;gap:var(--cluster-gap, var(--space-m));align-items:center}.cluster[data-justify=space-between]{justify-content:space-between}.cluster[data-justify=center]{justify-content:center}.cluster[data-align=start]{align-items:flex-start}.switcher{display:flex;flex-wrap:wrap;gap:var(--switcher-gap, var(--space-m))}.switcher>*{flex-grow:1;flex-basis:calc((var(--switcher-threshold, 768px) - 100%) * 999)}.grid{display:grid;gap:var(--grid-gap, var(--space-xl))}.grid[data-layout=posts]{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}.grid[data-layout="3-col"]{grid-template-columns:repeat(3,1fr)}@media(max-width:1024px){.grid[data-layout="3-col"]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid[data-layout="3-col"]{grid-template-columns:1fr}}.cover{display:flex;flex-direction:column;min-height:var(--cover-min-height, 70vh);padding:var(--space-2xl) var(--space-l)}.cover[data-center]{align-items:center;justify-content:center}.with-sidebar{display:grid;gap:var(--space-2xl)}.with-sidebar[data-layout=post]{grid-template-columns:1fr 320px}@media(max-width:768px){.with-sidebar[data-layout=post]{grid-template-columns:1fr;gap:var(--space-xl)}}.stack{display:flex;flex-direction:column;gap:var(--stack-gap, var(--space-m))}.center{box-sizing:content-box;max-width:var(--center-max-width, 720px);margin-inline:auto}.center[data-text],.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.font-ui{font-family:var(--font-ui)}.font-heading{font-family:var(--font-heading)}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.15em}.tracking-wider{letter-spacing:.2em}.italic{font-style:italic}.text-xs{font-size:var(--step--2)}.text-sm{font-size:var(--step--1)}.text-base{font-size:var(--step-0)}.text-lg{font-size:var(--step-1)}.text-xl{font-size:var(--step-2)}.text-2xl{font-size:var(--step-3)}.text-3xl{font-size:var(--step-4)}.color-accent{color:var(--color-accent)}.color-muted{opacity:.6}.color-subtle{opacity:.5}.gap-3xs{gap:var(--space-3xs)}.gap-2xs{gap:var(--space-2xs)}.gap-xs{gap:var(--space-xs)}.gap-s{gap:var(--space-s)}.gap-m{gap:var(--space-m)}.gap-l{gap:var(--space-l)}.gap-xl{gap:var(--space-xl)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}html,body{width:100%;min-height:100%;font-family:var(--font-body);font-size:var(--step-0);line-height:1.8;background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;letter-spacing:.05em;line-height:1.2;margin:0}code,pre,.mono{font-family:var(--font-mono)}a{color:inherit;text-decoration:none;transition:opacity .3s ease-in-out}a:hover{opacity:.7}button{font-family:inherit;cursor:pointer;transition:all .3s ease-in-out}.article{font-family:var(--font-body);font-size:var(--step-0);line-height:1.8;color:var(--color-text)}.article h2{font-size:var(--step-2);line-height:1.3;letter-spacing:.02em}.article h3{font-size:var(--step-1);line-height:1.3;letter-spacing:.02em}.article ul,.article ol{margin-top:var(--space-l);margin-bottom:var(--space-l);padding-left:var(--space-l)}.article li:not(:first-of-type){margin-top:var(--space-s)}.article strong{font-weight:600}.article em{font-style:italic}.article a{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:3px;transition:text-decoration-color .2s ease}.article a:hover{text-decoration-color:var(--color-text);opacity:1}.article blockquote{margin:var(--space-l) 0;padding:var(--space-s) var(--space-m);border-left:3px solid var(--color-accent);font-style:italic;color:var(--color-text);opacity:.9}.article blockquote p{margin:0}@media(max-width:768px){.article h2{font-size:var(--step-1);margin-top:var(--space-xl)}.article h3{font-size:var(--step-0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.header[data-astro-cid-3ef6ksr2]{letter-spacing:.05em;border-bottom:1px solid var(--color-border);padding:var(--space-m) 0}.logo[data-astro-cid-3ef6ksr2],.logo-bold[data-astro-cid-3ef6ksr2]{font-weight:700}.logo-light[data-astro-cid-3ef6ksr2]{font-weight:300}@media(max-width:768px){.header[data-astro-cid-3ef6ksr2] .container[data-astro-cid-3ef6ksr2]{flex-direction:column;gap:var(--space-m);align-items:flex-start}.header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2]{gap:var(--space-m)}}.footer[data-astro-cid-sz7xmlte]{letter-spacing:.05em;border-top:1px solid var(--color-border);padding:var(--space-2xl) 0 var(--space-xl);margin-top:var(--space-3xl)}.logo[data-astro-cid-sz7xmlte],.logo-bold[data-astro-cid-sz7xmlte]{font-weight:700}.logo-light[data-astro-cid-sz7xmlte]{font-weight:300}.tagline[data-astro-cid-sz7xmlte]{margin:0}.footer[data-astro-cid-sz7xmlte] nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{transition:color .3s ease}.footer[data-astro-cid-sz7xmlte] nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent)}.copyright[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin:0}
