.skip-link[data-astro-cid-hoe5mouk]{position:absolute;top:-100px;left:0;z-index:100;padding:var(--space-sm) var(--space-md);background:var(--color-accent);color:#fff;text-decoration:none;font-weight:var(--font-weight-semibold);border-radius:0 0 var(--border-radius) 0;transition:top var(--transition-fast)}.skip-link[data-astro-cid-hoe5mouk]:focus{top:0}.skip-link[data-astro-cid-hoe5mouk]:hover{text-decoration:underline;color:#fff}.site-header[data-astro-cid-3ef6ksr2]{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);padding:var(--space-md) 0;position:sticky;top:0;z-index:50;backdrop-filter:blur(8px);background:oklch(from var(--color-bg-primary) l c h / .9)}@supports not (backdrop-filter: blur(8px)){.site-header[data-astro-cid-3ef6ksr2]{background:var(--color-bg-primary)}}.header-content[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}.site-logo[data-astro-cid-3ef6ksr2]{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast)}.site-logo[data-astro-cid-3ef6ksr2]:hover{color:var(--color-accent);text-decoration:none}.logo-text[data-astro-cid-3ef6ksr2]{font-family:ui-monospace,monospace}.nav-list[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-lg);list-style:none;padding:0;margin:0}.nav-link[data-astro-cid-3ef6ksr2]{color:var(--color-text-secondary);text-decoration:none;font-weight:var(--font-weight-medium);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);transition:all var(--transition-fast);position:relative}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text-primary);background:var(--color-bg-secondary);text-decoration:none}.nav-link[data-astro-cid-3ef6ksr2].active{color:var(--color-accent)}.nav-link[data-astro-cid-3ef6ksr2].active:after{content:"";position:absolute;bottom:-1px;left:var(--space-md);right:var(--space-md);height:2px;background:var(--color-accent)}@media(max-width:640px){.header-content[data-astro-cid-3ef6ksr2]{flex-direction:column;gap:var(--space-md);align-items:flex-start}.nav-list[data-astro-cid-3ef6ksr2]{gap:var(--space-md);flex-wrap:wrap}.nav-link[data-astro-cid-3ef6ksr2]{padding:var(--space-xs) var(--space-sm)}}.site-footer[data-astro-cid-sz7xmlte]{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--space-2xl) 0;margin-top:var(--space-4xl)}.footer-content[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);text-align:center}.social-list[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-lg);list-style:none;padding:0;margin:0}.social-link[data-astro-cid-sz7xmlte]{color:var(--color-text-secondary);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);transition:all var(--transition-fast);display:inline-block}.social-link[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent);background:var(--color-bg-tertiary);text-decoration:none;transform:translateY(-2px)}.social-icon[data-astro-cid-sz7xmlte]{font-family:ui-monospace,monospace}.footer-info[data-astro-cid-sz7xmlte]{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.copyright[data-astro-cid-sz7xmlte]{margin:0}.copyright[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-text-secondary);text-decoration:underline;text-decoration-color:var(--color-border);transition:all var(--transition-fast)}.copyright[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}@media(max-width:640px){.social-list[data-astro-cid-sz7xmlte]{flex-direction:column;gap:var(--space-sm);align-items:center}}:root{--color-text-primary: oklch(20% .02 260);--color-text-secondary: oklch(40% .01 260);--color-text-tertiary: oklch(60% .01 260);--color-bg-primary: oklch(98% .005 260);--color-bg-secondary: oklch(95% .005 260);--color-bg-tertiary: oklch(92% .005 260);--color-accent: oklch(55% .18 260);--color-accent-hover: oklch(45% .18 260);--color-accent-subtle: oklch(90% .08 260);--color-border: oklch(85% .01 260);--color-border-hover: oklch(70% .02 260);--color-code-bg: oklch(96% .005 260);--color-code-text: oklch(30% .02 260);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--content-max-width: 65ch;--page-max-width: 1200px;--border-radius: .5rem;--border-radius-sm: .25rem;--border-radius-lg: 1rem;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--shadow-sm: 0 1px 2px 0 oklch(0% 0 0 / .05);--shadow-md: 0 4px 6px -1px oklch(0% 0 0 / .1);--shadow-lg: 0 10px 15px -3px oklch(0% 0 0 / .1)}@media(prefers-color-scheme:dark){:root{--color-text-primary: oklch(90% .02 260);--color-text-secondary: oklch(70% .01 260);--color-text-tertiary: oklch(50% .01 260);--color-bg-primary: oklch(15% .01 260);--color-bg-secondary: oklch(20% .01 260);--color-bg-tertiary: oklch(25% .01 260);--color-accent: oklch(65% .18 260);--color-accent-hover: oklch(75% .18 260);--color-accent-subtle: oklch(25% .08 260);--color-border: oklch(30% .01 260);--color-border-hover: oklch(45% .02 260);--color-code-bg: oklch(20% .005 260);--color-code-text: oklch(80% .02 260)}}*,*:before,*:after{box-sizing:border-box}*{margin:0}body{line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary);background:var(--color-bg-primary)}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}button{background:none;border:none;cursor:pointer}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--border-radius-sm)}:focus:not(:focus-visible){outline:none}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover);text-decoration:underline}a:active{color:var(--color-accent-hover)}code{font-family:Menlo,Monaco,Courier New,monospace;font-size:.9em;background:var(--color-code-bg);color:var(--color-code-text);padding:.125rem .375rem;border-radius:var(--border-radius-sm)}pre{padding:var(--space-lg);border-radius:var(--border-radius);overflow-x:auto;background:var(--color-code-bg);border:1px solid var(--color-border)}pre code{padding:0;background:none;font-size:.875rem;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{width:100%;max-width:var(--page-max-width);margin-inline:auto;padding-inline:var(--space-md)}@media(min-width:768px){.container{padding-inline:var(--space-xl)}}.content{max-width:var(--content-max-width);margin-inline:auto}::selection{background:var(--color-accent-subtle);color:var(--color-text-primary)}:root{--font-size-sm: .75rem;--font-size-base: 1rem;--font-size-lg: 1.333rem;--font-size-xl: 1.777rem;--font-size-2xl: 2.369rem;--font-size-3xl: 3.157rem;--font-size-4xl: 4.209rem;--line-height-tight: 1.1;--line-height-base: 1.6;--line-height-relaxed: 1.8;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);letter-spacing:var(--letter-spacing-normal)}code,pre,kbd,samp{font-family:ui-monospace,Menlo,Monaco,Cascadia Code,Segoe UI Mono,Roboto Mono,Oxygen Mono,"Ubuntu Monospace",Source Code Pro,Fira Mono,Droid Sans Mono,Courier New,monospace}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--space-md);color:var(--color-text-primary)}h1{font-size:clamp(var(--font-size-2xl),5vw + 1rem,var(--font-size-4xl));margin-bottom:var(--space-lg)}h2{font-size:clamp(var(--font-size-xl),4vw + 1rem,var(--font-size-3xl))}h3{font-size:clamp(var(--font-size-lg),3vw + 1rem,var(--font-size-2xl))}h4{font-size:clamp(var(--font-size-base),2vw + 1rem,var(--font-size-xl))}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}p{margin-bottom:var(--space-md);max-width:var(--content-max-width)}p:last-child{margin-bottom:0}.lead{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin-bottom:var(--space-lg)}small,.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-base)}ul,ol{margin-bottom:var(--space-md);padding-left:var(--space-lg);max-width:var(--content-max-width)}li{margin-bottom:var(--space-sm)}li:last-child{margin-bottom:0}.list-none{list-style:none;padding-left:0}blockquote{border-left:4px solid var(--color-accent);padding-left:var(--space-lg);margin:var(--space-lg) 0;font-style:italic;color:var(--color-text-secondary);max-width:var(--content-max-width)}blockquote p{margin-bottom:var(--space-sm)}blockquote cite{display:block;font-size:var(--font-size-sm);font-style:normal;color:var(--color-text-tertiary);margin-top:var(--space-sm)}blockquote cite:before{content:"— "}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-2xl) 0;max-width:var(--content-max-width)}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-accent{color:var(--color-accent)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.prose{line-height:var(--line-height-relaxed)}.prose>*+*{margin-top:var(--space-md)}.prose h2{margin-top:var(--space-2xl)}.prose h3{margin-top:var(--space-xl)}h1,h2,h3,h4,h5,h6{text-wrap:balance}p{text-wrap:pretty}@media(max-width:640px){:root{--font-size-base: .9375rem}body{line-height:1.7}}@media(min-width:1024px){body{font-size:1.0625rem}}main[data-astro-cid-37fxchfa]{min-height:70vh}main[data-astro-cid-37fxchfa]:focus{outline:none}
