*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;tab-size:4;scroll-behavior:smooth}body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;overflow-wrap:break-word}p{overflow-wrap:break-word}pre,code{font-family:var(--font-mono)}table{border-collapse:collapse;border-spacing:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;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}}:root{--color-background: #faf9f7;--color-surface: #ffffff;--color-surface-hover: #f5f3f0;--color-border: #e8e6e1;--color-border-light: #f0eeea;--color-text: #1a1a1a;--color-text-secondary: #6b6560;--color-text-tertiary: #9c9690;--color-text-inverse: #faf9f7;--color-primary: #9b6b43;--color-primary-hover: #7d5535;--color-primary-light: #f5efe8;--color-primary-muted: #e8d9c9;--color-accent: #2e6b8f;--color-accent-hover: #235573;--color-accent-light: #e8f0f5;--color-success: #4a7c59;--color-success-light: #edf5ef;--color-warning: #9b7c36;--color-warning-light: #faf5e8;--color-error: #9b4545;--color-error-light: #f5eded;--color-code-background: #f4f2ef;--color-code-text: #5c5650;--color-inline-code: #9b6b43;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Georgia", "Times New Roman", Cambria, serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "SF Mono", "Consolas", monospace;--font-size-xs: clamp(.7rem, .65rem + .2vw, .75rem);--font-size-sm: clamp(.8rem, .75rem + .2vw, .875rem);--font-size-base: clamp(.95rem, .9rem + .2vw, 1.0625rem);--font-size-lg: clamp(1.05rem, 1rem + .25vw, 1.1875rem);--font-size-xl: clamp(1.2rem, 1.1rem + .4vw, 1.375rem);--font-size-2xl: clamp(1.4rem, 1.25rem + .6vw, 1.6875rem);--font-size-3xl: clamp(1.7rem, 1.5rem + .8vw, 2.125rem);--font-size-4xl: clamp(2rem, 1.75rem + 1vw, 2.625rem);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.6;--line-height-relaxed: 1.75;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .03em;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--section-spacing: var(--space-4xl);--section-spacing-sm: var(--space-3xl);--content-width: 42rem;--content-width-wide: 48rem;--page-width: 72rem;--article-width: 38rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--border-width-thin: 2px;--border-width-normal: 3px}[data-theme=dark]{--color-background: #1a1816;--color-surface: #242220;--color-surface-hover: #2e2c29;--color-border: #3a3733;--color-border-light: #2e2c29;--color-text: #e8e4de;--color-text-secondary: #a09b95;--color-text-tertiary: #706b66;--color-text-inverse: #1a1816;--color-primary: #d4a574;--color-primary-hover: #e0bb92;--color-primary-light: #2e2820;--color-primary-muted: #3d3028;--color-accent: #6ba8c9;--color-accent-hover: #8bc0da;--color-accent-light: #1e2a32;--color-success: #6b9e7a;--color-success-light: #1e2a22;--color-warning: #c4a245;--color-warning-light: #2a2618;--color-error: #c46b6b;--color-error-light: #2a1e1e;--color-code-background: #2a2724;--color-code-text: #b8b0a5;--color-inline-code: #d4a574;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .4);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .5)}body{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}h1{font-size:var(--font-size-4xl);margin-bottom:var(--space-lg)}h2{font-size:var(--font-size-3xl);margin-bottom:var(--space-md)}h3{font-size:var(--font-size-2xl);margin-bottom:var(--space-md)}h4{font-size:var(--font-size-xl);margin-bottom:var(--space-sm)}h5{font-size:var(--font-size-lg);margin-bottom:var(--space-sm)}h6{font-size:var(--font-size-base);margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover);text-decoration:underline}strong{font-weight:var(--font-weight-semibold);color:var(--color-text)}em{font-style:italic}small,.caption{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}hr{border:none;border-top:var(--border-width-thin) solid var(--color-border);margin:var(--space-2xl) 0}blockquote{border-left:3px solid var(--color-primary-muted);padding:var(--space-md) var(--space-lg);margin:var(--space-xl) 0;background:var(--color-surface);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--color-text-secondary)}blockquote p:last-child{margin-bottom:0}ul,ol{margin-bottom:var(--space-md);padding-left:var(--space-xl);color:var(--color-text-secondary)}ul{list-style:disc}ol{list-style:decimal}li{margin-bottom:var(--space-xs)}li:last-child{margin-bottom:0}code{font-family:var(--font-mono);font-size:.9em;padding:.2em .4em;border-radius:var(--radius-sm);background-color:var(--color-code-background);color:var(--color-inline-code)}pre{margin:var(--space-xl) 0;padding:var(--space-lg);border-radius:var(--radius-lg);background-color:var(--color-code-background);overflow-x:auto;border:var(--border-width-thin) solid var(--color-border)}pre code{padding:0;background:none;color:var(--color-code-text);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}table{width:100%;margin:var(--space-xl) 0;border-collapse:collapse;font-size:var(--font-size-sm)}th{text-align:left;font-weight:var(--font-weight-semibold);padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width-normal) solid var(--color-border);color:var(--color-text)}td{padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width-thin) solid var(--color-border-light);color:var(--color-text-secondary)}.prose{max-width:var(--article-width);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:var(--font-serif);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text);margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.prose h1:first-child,.prose h2:first-child,.prose h3:first-child{margin-top:0}.prose h1{font-size:var(--font-size-4xl)}.prose h2{font-size:var(--font-size-3xl);padding-bottom:var(--space-xs);border-bottom:var(--border-width-thin) solid var(--color-border)}.prose h3{font-size:var(--font-size-2xl)}.prose h4{font-size:var(--font-size-xl)}.prose h5{font-size:var(--font-size-lg)}.prose h6{font-size:var(--font-size-base)}.prose p{margin-bottom:var(--space-lg);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.prose a{color:var(--color-primary);text-decoration:underline;text-decoration-color:var(--color-primary-muted);text-underline-offset:.2em;transition:text-decoration-color var(--transition-fast)}.prose a:hover{text-decoration-color:var(--color-primary)}.prose img{border-radius:var(--radius-lg);margin:var(--space-xl) 0}.prose figure{margin:var(--space-xl) 0}.prose figcaption{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;margin-top:var(--space-xs)}.prose a.ref{text-decoration:none;color:var(--color-primary);font-weight:var(--font-weight-semibold)}.prose a.ref:hover{text-decoration:underline}.prose .ref-unknown{color:var(--color-error, #b91c1c);font-size:var(--font-size-sm);cursor:help}.prose ul,.prose ol{margin-bottom:var(--space-lg);padding-left:var(--space-xl);color:var(--color-text-secondary)}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:var(--space-xs);padding-left:var(--space-xs)}.prose li:last-child{margin-bottom:0}.prose li>ul,.prose li>ol{margin-top:var(--space-xs);margin-bottom:0}.prose blockquote{border-left:3px solid var(--color-primary-muted);padding:var(--space-md) var(--space-lg);margin:var(--space-xl) 0;background:var(--color-surface);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--color-text-secondary)}.prose blockquote p:last-child{margin-bottom:0}.prose code{font-family:var(--font-mono);font-size:.9em;padding:.2em .4em;border-radius:var(--radius-sm);background-color:var(--color-code-background);color:var(--color-inline-code)}.prose pre{margin:var(--space-xl) 0;padding:var(--space-lg);border-radius:var(--radius-lg);background-color:var(--color-code-background);overflow-x:auto;border:var(--border-width-thin) solid var(--color-border)}.prose pre code{padding:0;background:none;color:var(--color-code-text);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.prose table{width:100%;margin:var(--space-xl) 0;border-collapse:collapse;font-size:var(--font-size-sm)}.prose th{text-align:left;font-weight:var(--font-weight-semibold);padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width-normal) solid var(--color-border);color:var(--color-text)}.prose td{padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width-thin) solid var(--color-border-light);color:var(--color-text-secondary)}.prose hr{border:none;border-top:var(--border-width-thin) solid var(--color-border);margin:var(--space-2xl) 0}.prose .footnotes{margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:var(--border-width-thin) solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.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}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-width{max-width:var(--content-width);margin-inline:auto}.page-width{max-width:var(--page-width);margin-inline:auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-border-light) 25%,var(--color-surface) 50%,var(--color-border-light) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.animate-fade-in{animation:fade-in var(--transition-normal) ease forwards}.animate-fade-in-up{animation:fade-in-up var(--transition-slow) ease forwards}html{color:var(--color-text);background-color:var(--color-background)}body{display:flex;flex-direction:column;min-height:100vh}::selection{background-color:var(--color-primary-muted);color:var(--color-text)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.content-width[data-astro-cid-5hfkzgy4],.page-width[data-astro-cid-5hfkzgy4]{width:100%;padding-inline:var(--space-lg)}.navbar[data-astro-cid-jgnc3vej]{position:sticky;top:0;z-index:10;background:var(--color-background);border-bottom:var(--border-width-thin) solid var(--color-border);padding:var(--space-md) 0}.navbar-inner[data-astro-cid-jgnc3vej]{display:flex;align-items:center;justify-content:space-between}.navbar-brand[data-astro-cid-jgnc3vej]{font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);letter-spacing:var(--letter-spacing-tight);transition:color var(--transition-fast)}.navbar-brand[data-astro-cid-jgnc3vej]:hover{color:var(--color-primary);text-decoration:none}.navbar-links[data-astro-cid-jgnc3vej]{display:flex;gap:var(--space-lg);list-style:none;padding:0;margin:0}.navbar-links[data-astro-cid-jgnc3vej] a[data-astro-cid-jgnc3vej]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:color var(--transition-fast)}.navbar-links[data-astro-cid-jgnc3vej] a[data-astro-cid-jgnc3vej]:hover{color:var(--color-primary);text-decoration:none}.navbar-right[data-astro-cid-jgnc3vej]{display:flex;align-items:center;gap:var(--space-md)}.theme-toggle[data-astro-cid-jgnc3vej]{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-full)}.theme-toggle[data-astro-cid-jgnc3vej]:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.toggle-track[data-astro-cid-jgnc3vej]{position:relative;display:flex;align-items:center;width:44px;height:24px;border-radius:var(--radius-full);background:var(--color-text-tertiary);transition:background var(--transition-normal)}[data-theme=dark] .toggle-track[data-astro-cid-jgnc3vej]{background:var(--color-primary-muted)}.toggle-thumb[data-astro-cid-jgnc3vej]{position:absolute;left:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),background var(--transition-normal)}[data-theme=dark] .toggle-thumb[data-astro-cid-jgnc3vej]{transform:translate(20px)}.toggle-icon[data-astro-cid-jgnc3vej]{display:flex;align-items:center;justify-content:center}.toggle-icon[data-astro-cid-jgnc3vej].sun{color:var(--color-warning)}.toggle-icon[data-astro-cid-jgnc3vej].moon{color:var(--color-accent)}.toggle-icon[data-astro-cid-jgnc3vej].moon,[data-theme=dark] .toggle-icon[data-astro-cid-jgnc3vej].sun{display:none}[data-theme=dark] .toggle-icon[data-astro-cid-jgnc3vej].moon{display:flex}.footer[data-astro-cid-b2avyow5]{margin-top:auto;padding:var(--space-2xl) 0;border-top:var(--border-width-thin) solid var(--color-border);background:var(--color-surface)}.footer-inner[data-astro-cid-b2avyow5]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md)}.footer-copy[data-astro-cid-b2avyow5]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.footer-links[data-astro-cid-b2avyow5]{display:flex;gap:var(--space-lg);list-style:none;padding:0;margin:0}.footer-links[data-astro-cid-b2avyow5] a[data-astro-cid-b2avyow5]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);transition:color var(--transition-fast)}.footer-links[data-astro-cid-b2avyow5] a[data-astro-cid-b2avyow5]:hover{color:var(--color-primary);text-decoration:none}
