:root{--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--text-xs: .8125rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: clamp(2.25rem, 5vw, 3rem);--text-6xl: clamp(2.5rem, 6vw, 3.75rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--width-prose: 45rem;--width-content: 56rem;--width-wide: 72rem;--header-height: 4rem;--gutter: clamp(1rem, 4vw, 2rem);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 12px;--transition-fast: .12s ease;--transition: .18s ease}:root,:root[data-theme=light]{color-scheme:light;--bg: #ffffff;--bg-elevated: #fafafa;--bg-subtle: #f4f4f5;--bg-code: #f4f4f5;--text: #18181b;--text-muted: #52525b;--text-subtle: #a1a1aa;--border: #e4e4e7;--border-strong: #d4d4d8;--link: #18181b;--accent: #c2410c;--header-bg: rgba(255, 255, 255, .78)}:root[data-theme=dark]{color-scheme:dark;--bg: #09090b;--bg-elevated: #18181b;--bg-subtle: #1c1c20;--bg-code: #18181b;--text: #fafafa;--text-muted: #a1a1aa;--text-subtle: #71717a;--border: #27272a;--border-strong: #3f3f46;--link: #fafafa;--accent: #fb923c;--header-bg: rgba(9, 9, 11, .72)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #09090b;--bg-elevated: #18181b;--bg-subtle: #1c1c20;--bg-code: #18181b;--text: #fafafa;--text-muted: #a1a1aa;--text-subtle: #71717a;--border: #27272a;--border-strong: #3f3f46;--link: #fafafa;--accent: #fb923c;--header-bg: rgba(9, 9, 11, .72)}}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-size:var(--text-base);line-height:1.65;min-height:100vh;display:flex;flex-direction:column;transition:background var(--transition),color var(--transition)}.container{width:100%;max-width:var(--width-wide);margin-inline:auto;padding-inline:var(--gutter)}.container--content{max-width:var(--width-content)}.container--prose{max-width:var(--width-prose)}main{flex:1;padding-block:var(--space-16) var(--space-20)}@media(max-width:640px){main{padding-block:var(--space-10) var(--space-16)}}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-4);color:var(--text);line-height:1.15;font-weight:700;letter-spacing:-.02em}h1{font-size:var(--text-6xl);letter-spacing:-.035em}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin:0 0 var(--space-4)}a{color:var(--link);text-decoration:underline;text-decoration-color:var(--border-strong);text-decoration-thickness:1px;text-underline-offset:.22em;transition:text-decoration-color var(--transition-fast)}a:hover{text-decoration-color:var(--text)}strong,b{font-weight:700}small{font-size:var(--text-sm);color:var(--text-muted)}.prose{font-size:calc(1rem * var(--prose-scale, 1))}.prose>*+*{margin-top:var(--space-6)}.prose p{font-size:1em}.prose h2{font-size:1.875em;margin-top:var(--space-10);margin-bottom:var(--space-3)}.prose h3{font-size:1.5em;margin-top:var(--space-10);margin-bottom:var(--space-3)}.prose h4{font-size:1.25em;margin-top:var(--space-10);margin-bottom:var(--space-3)}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:var(--space-4)}.prose ul,.prose ol{padding-left:1.4em;font-size:1em}.prose li+li{margin-top:var(--space-2)}.prose blockquote{font-size:1em}.prose img{display:block;margin-inline:auto}.prose pre{font-size:.875em}.prose code{font-size:.88em}:root[data-font-size=s]{--prose-scale: .92}:root[data-font-size=m]{--prose-scale: 1}:root[data-font-size=l]{--prose-scale: 1.125}:root[data-font-size=xl]{--prose-scale: 1.25}code{font-family:var(--font-mono);font-size:.88em;padding:.15em .4em;background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-sm)}pre{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.55;padding:var(--space-5);background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}pre>code{all:unset;font-family:inherit}blockquote{margin:0;padding:var(--space-2) 0 var(--space-2) var(--space-5);border-left:2px solid var(--border-strong);color:var(--text-muted);font-style:italic}hr{border:0;border-top:1px solid var(--border);margin-block:var(--space-12)}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}th,td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);text-align:left}th{font-weight:600;color:var(--text);background:var(--bg-subtle)}img,video{max-width:100%;height:auto;border-radius:var(--radius-md)}textarea,input{font-family:inherit;font-size:var(--text-base)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-muted{color:var(--text-muted)}.text-subtle{color:var(--text-subtle)}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--border);padding-block:var(--space-8);margin-top:var(--space-16)}.footer-row[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.copyright[data-astro-cid-sz7xmlte]{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.socials[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-5);margin:0;padding:0;list-style:none}.socials[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:var(--text-sm);color:var(--text);text-decoration:none;transition:color var(--transition-fast)}.socials[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}.nav-link[data-astro-cid-eimmu3lg]{display:inline-block;font-size:var(--text-sm);font-weight:500;color:var(--text-muted);text-decoration:none;padding:var(--space-2) 0;transition:color var(--transition-fast)}.nav-link[data-astro-cid-eimmu3lg]:hover,.nav-link[data-astro-cid-eimmu3lg].active{color:var(--text)}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}.nav-row[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:var(--header-height)}.brand[data-astro-cid-3ef6ksr2]{font-weight:700;font-size:var(--text-base);letter-spacing:-.015em;color:var(--text);text-decoration:none;margin-right:auto}.brand[data-astro-cid-3ef6ksr2]:hover{color:var(--text)}nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-6)}.theme-toggle[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.theme-toggle[data-astro-cid-3ef6ksr2]:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.icon[data-astro-cid-3ef6ksr2]{display:block}.icon-sun[data-astro-cid-3ef6ksr2]{display:none}.icon-moon[data-astro-cid-3ef6ksr2]{display:block}:root[data-theme=dark] .icon-sun[data-astro-cid-3ef6ksr2]{display:block}:root[data-theme=dark] .icon-moon[data-astro-cid-3ef6ksr2]{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .icon-sun[data-astro-cid-3ef6ksr2]{display:block}:root:not([data-theme=light]) .icon-moon[data-astro-cid-3ef6ksr2]{display:none}}@media(max-width:480px){.nav-row[data-astro-cid-3ef6ksr2]{gap:var(--space-3)}nav[data-astro-cid-3ef6ksr2]{gap:var(--space-4)}}
