.site-header[data-astro-cid-3ef6ksr2]{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:50;backdrop-filter:blur(8px);background:color-mix(in srgb,var(--color-bg) 85%,transparent)}.nav-container[data-astro-cid-3ef6ksr2]{max-width:var(--max-width);margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg)}.site-title[data-astro-cid-3ef6ksr2]{font-weight:600;font-size:var(--font-size-lg);color:var(--color-text);text-decoration:none}.site-title[data-astro-cid-3ef6ksr2]:hover{color:var(--color-accent);text-decoration:none}.nav-right[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-lg)}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;list-style:none;gap:var(--space-md);padding:0;margin:0}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--color-text-muted);font-size:var(--font-size-sm);text-decoration:none;padding:var(--space-xs) var(--space-sm);border-radius:4px;transition:color var(--transition-fast),background var(--transition-fast)}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover,.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{color:var(--color-text)}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{font-weight:500}#theme-toggle[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}#theme-toggle[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text);border-color:var(--color-text-muted)}[data-theme=dark] .icon-sun[data-astro-cid-3ef6ksr2]{display:block}[data-theme=dark] .icon-moon[data-astro-cid-3ef6ksr2],[data-theme=light] .icon-sun[data-astro-cid-3ef6ksr2]{display:none}[data-theme=light] .icon-moon[data-astro-cid-3ef6ksr2]{display:block}.icon-sun[data-astro-cid-3ef6ksr2]{display:none}.icon-moon[data-astro-cid-3ef6ksr2]{display:block}@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:600px){.nav-links[data-astro-cid-3ef6ksr2]{gap:var(--space-xs)}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-size:.8rem;padding:var(--space-xs)}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-border);padding:var(--space-xl) var(--space-lg);margin-top:auto}.footer-container[data-astro-cid-sz7xmlte]{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between}.social-links[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-md)}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-text-muted);transition:color var(--transition-fast);display:flex;align-items:center}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-text)}.copyright[data-astro-cid-sz7xmlte]{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}@media(max-width:600px){.footer-container[data-astro-cid-sz7xmlte]{flex-direction:column;gap:var(--space-md)}}:root{--color-bg: #fafafa;--color-bg-secondary: #f0f0f0;--color-text: #1a1a1a;--color-text-muted: #666;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-border: #e5e5e5;--color-code-bg: #f5f5f5;--color-card-bg: #fff;--color-card-shadow: rgba(0, 0, 0, .06);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--font-size-sm: clamp(.875rem, .8rem + .2vw, .9375rem);--font-size-base: clamp(1rem, .9rem + .3vw, 1.125rem);--font-size-lg: clamp(1.125rem, 1rem + .4vw, 1.25rem);--font-size-xl: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);--font-size-2xl: clamp(1.5rem, 1.2rem + .8vw, 2rem);--font-size-3xl: clamp(1.875rem, 1.5rem + 1vw, 2.5rem);--line-height: 1.65;--line-height-tight: 1.25;--max-width: 720px;--header-height: 60px;--transition-fast: .15s ease;--transition-base: .25s ease;color-scheme:light dark}[data-theme=dark]{--color-bg: #111;--color-bg-secondary: #1a1a1a;--color-text: #e0e0e0;--color-text-muted: #999;--color-accent: #60a5fa;--color-accent-hover: #93c5fd;--color-border: #2a2a2a;--color-code-bg: #1e1e1e;--color-card-bg: #1a1a1a;--color-card-shadow: rgba(0, 0, 0, .3)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #111;--color-bg-secondary: #1a1a1a;--color-text: #e0e0e0;--color-text-muted: #999;--color-accent: #60a5fa;--color-accent-hover: #93c5fd;--color-border: #2a2a2a;--color-code-bg: #1e1e1e;--color-card-bg: #1a1a1a;--color-card-shadow: rgba(0, 0, 0, .3)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;display:flex;flex-direction:column}main{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:var(--space-xl) var(--space-lg);padding-top:calc(var(--header-height) + var(--space-xl))}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-tight);font-weight:600;color:var(--color-text)}h1{font-size:var(--font-size-3xl);margin-bottom:var(--space-lg)}h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-md)}h3{font-size:var(--font-size-xl);margin-bottom:var(--space-md)}h4{font-size:var(--font-size-lg);margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.skip-link{position:absolute;top:-100%;left:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-accent);color:#fff;border-radius:4px;z-index:100;font-size:var(--font-size-sm)}.skip-link:focus{top:var(--space-sm);text-decoration:none;color:#fff}ul,ol{padding-left:var(--space-lg);margin-bottom:var(--space-md)}li{margin-bottom:var(--space-xs)}li::marker{color:var(--color-text-muted)}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-code-bg);padding:.15em .35em;border-radius:4px}pre{background:var(--color-code-bg);padding:var(--space-lg);border-radius:8px;overflow-x:auto;margin-bottom:var(--space-lg);border:1px solid var(--color-border);font-size:var(--font-size-sm);line-height:1.6}pre code{background:none;padding:0;border-radius:0}img{max-width:100%;height:auto;display:block}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-2xl) 0}blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-lg);color:var(--color-text-muted);margin-bottom:var(--space-lg);font-style:italic}table{width:100%;border-collapse:collapse;margin-bottom:var(--space-lg)}th,td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);text-align:left}th{font-weight:600}.card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:0 4px 12px var(--color-card-shadow);transform:translateY(-2px)}.section{margin-bottom:var(--space-3xl)}.section-title{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.tag{display:inline-block;font-size:.8rem;padding:.15em .6em;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:9999px;color:var(--color-text-muted);line-height:1.6}.prose{max-width:65ch}.prose h2{margin-top:var(--space-2xl)}.prose h3{margin-top:var(--space-xl)}.prose img{border-radius:8px;margin:var(--space-lg) 0}.prose a{text-decoration:underline;text-underline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
