@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;900&family=Inter:wght@300;400;500;600;700&family=Fira+Code:wght@300;400;700&display=swap";:root{--font-heading: "Playfair Display", serif;--font-body: "Inter", sans-serif;--font-mono: "Fira Code", monospace;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--line-height-tight: 1.1;--line-height-snug: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--line-height-loose: 1.8;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--color-white: #ffffff;--color-gray-50: #e5e5e7;--color-gray-100: #a1a1a3;--color-gray-200: #404043;--color-gray-400: #b8b3af;--color-gray-500: #9b9491;--color-gray-900: #ffffff;--color-black: #0f0f10;--color-accent-50: #d4a574;--color-accent-500: #c4965a;--color-accent-600: #b8854f;--color-accent-500-light: #996633;--color-accent-600-light: #804d26;--color-burgundy-400: #a64452;--color-burgundy-500: #8b2635;--color-burgundy-600: #6b1e28;--space-0: 0;--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;--space-32: 8rem;--radius-none: 0;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--motion-duration-fast: .15s;--motion-duration-normal: .3s;--motion-duration-slow: .5s;--motion-easing-ease: ease;--motion-easing-ease-in: ease-in;--motion-easing-ease-out: ease-out;--motion-easing-ease-in-out: ease-in-out;--transition-fast: var(--motion-duration-fast) var(--motion-easing-ease-out);--transition-normal: var(--motion-duration-normal) var(--motion-easing-ease-out);--transition-slow: var(--motion-duration-slow) var(--motion-easing-ease-out);--elevation-none: none;--elevation-sm: 0 1px 3px rgba(0, 0, 0, .2);--elevation-md: 0 4px 6px rgba(0, 0, 0, .3);--elevation-lg: 0 6px 20px rgba(0, 0, 0, .4);--elevation-xl: 0 8px 25px rgba(0, 0, 0, .5);--elevation-accent: 0 4px 12px rgba(196, 150, 90, .3);--elevation-burgundy: 0 4px 12px rgba(139, 38, 53, .3);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-popover: 1050;--z-tooltip: 1060;--backdrop-blur-light: blur(2px);--backdrop-blur-medium: blur(4px);--backdrop-blur-heavy: blur(8px);--backdrop-overlay-light: rgba(0, 0, 0, .05);--backdrop-overlay-medium: rgba(0, 0, 0, .1);--backdrop-overlay-heavy: rgba(0, 0, 0, .2);--header-height: 3.5rem;--footer-height: 3.5rem;--element-border-radius: .25rem;--site-width-max: 1600px;--content-readability-width: 600px;--content-readability-width-min: 300px;--content-sidebar-width: 300px;--layout-header-height: 3.5rem;--layout-footer-height: 3.5rem;--layout-sidebar-width: 300px;--layout-content-max: 1600px;--layout-content-readable: 600px;--layout-content-readable-min: 300px;--layout-container-sm: 640px;--layout-container-md: 768px;--layout-container-lg: 1024px;--layout-container-xl: 1280px;--layout-container-2xl: 1536px;--color-background: var(--color-black);--color-background-secondary: #1a1a1c;--color-surface: #161618;--color-text-primary: var(--color-white);--color-text-secondary: var(--color-gray-100);--color-border-primary: #2d2d30;--color-border-secondary: var(--color-gray-200);--color-border-accent: var(--color-accent-500);--color-interactive-hover: rgba(196, 150, 90, .1);--color-interactive-focus: var(--color-accent-500);--body-background: var(--color-background);--body-text: var(--color-text-primary);--heading-text: var(--color-text-primary);--text-muted: var(--color-text-secondary);--accent-primary: var(--color-accent-500);--accent-secondary: var(--color-accent-600);--font-family-heading: var(--font-heading);--font-family-body: var(--font-body);--font-family-mono: var(--font-mono);--border-radius-default: var(--radius-md);--header-background: var(--color-background);--header-border: var(--color-border-accent);--footer-background: var(--color-background);--footer-border: var(--color-border-primary);--card-background: var(--color-surface);--card-border: var(--color-border-primary);--card-border-hover: var(--color-burgundy-500);--code-background: var(--color-background-secondary);--code-border: var(--color-border-primary);--link-color: var(--accent-primary);--link-color-hover: var(--color-burgundy-500);--link-color-active: var(--color-burgundy-500);--link-underline: var(--color-text-primary);--link-underline-hover: var(--accent-primary);--icon-color: var(--color-text-primary);--icon-color-hover: var(--accent-primary);--icon-color-secondary: var(--color-text-secondary);--toc-text: var(--color-text-primary);--toc-text-hover: var(--color-burgundy-500);--toc-border: var(--color-border-primary);--toc-border-hover: var(--accent-primary);--heading-primary: var(--color-text-primary);--heading-accent: var(--accent-primary);--body-background-color: var(--body-background);--body-font-color: var(--body-text);--heading-color: var(--heading-text);--component-border-color: var(--color-border-primary);--component-border-color-hover: var(--color-burgundy-500);--header-footer-background-color: var(--header-background);--header-footer-border-color: var(--header-border);--content-border-color: var(--color-border-primary);--icon-base-color: var(--icon-color);--icon-accent-color: var(--accent-primary);--toc-link-color: var(--toc-text);--toc-link-color-hover: var(--toc-text-hover);--toc-border-color: var(--toc-border);--toc-border-color-hover: var(--toc-border-hover);--code-block-background-color: var(--code-background);--intro-heading-color: var(--text-muted);--intro-heading-accent-color: var(--heading-text);--heading-font-stack: var(--font-heading);--body-font-stack: var(--font-body);--code-font-stack: var(--font-mono)}:root.light{--color-gray-50: #f8f9fa;--color-gray-100: #e9ecef;--color-gray-200: #dee2e6;--color-gray-400: #9b9491;--color-gray-500: #6c757d;--color-gray-900: #212529;--color-background: var(--color-white);--color-background-secondary: var(--color-gray-50);--color-surface: var(--color-white);--color-text-primary: var(--color-gray-900);--color-text-secondary: #495057;--accent-primary: var(--color-accent-500-light);--accent-secondary: var(--color-accent-600-light);--color-border-primary: var(--color-gray-200);--color-border-secondary: var(--color-gray-100);--color-interactive-hover: rgba(196, 150, 90, .08);--elevation-sm: 0 1px 3px rgba(0, 0, 0, .05);--elevation-md: 0 4px 6px rgba(0, 0, 0, .1);--elevation-lg: 0 6px 20px rgba(0, 0, 0, .15);--elevation-xl: 0 8px 25px rgba(0, 0, 0, .2);--elevation-accent: 0 4px 12px rgba(196, 150, 90, .25);--elevation-burgundy: 0 4px 12px rgba(139, 38, 53, .25)}html{scroll-padding-top:calc(var(--layout-header-height) + 1rem);scroll-behavior:smooth;height:100%;font-size:16px;transition:background-color var(--transition-normal),color var(--transition-normal)}body{height:100%;margin:0;padding:0;font-size:var(--font-size-base);text-align:left;line-height:var(--line-height-normal);font-family:var(--font-family-body);background-color:var(--body-background);word-wrap:break-word;overflow-wrap:break-word;color:var(--body-text);transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);color:var(--heading-text);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h1{font-weight:var(--font-weight-semibold);border-bottom:2px solid var(--card-border);padding-bottom:var(--space-2)}h2{font-weight:var(--font-weight-medium)}h3,h4,h5,h6{font-weight:var(--font-weight-normal)}a{text-decoration:none;color:var(--link-color);background-image:linear-gradient(var(--link-underline),var(--link-underline)),linear-gradient(var(--link-underline-hover),var(--link-underline-hover));background-size:100% 1px,0% 1px;background-position:100% 100%,0 100%;background-repeat:no-repeat;transition:background-size var(--transition-normal),color var(--transition-normal)}a:hover{text-decoration:none;color:var(--link-color-hover);background-size:0 1px,100% 1px}a:active{color:var(--link-color-active)}content{line-height:var(--line-height-relaxed)}table{width:100%}img{max-width:100%;height:auto}code{padding:var(--space-1) var(--space-2);background-color:var(--code-background);color:var(--body-text);border:1px solid var(--code-border);border-radius:var(--border-radius-default);font-family:var(--font-mono);font-size:var(--font-size-sm)}pre{padding:var(--space-4);border:1px solid var(--code-border);border-radius:var(--border-radius-default);font-family:var(--font-mono);background-color:var(--code-background);overflow-x:auto}pre>code{all:unset;font-family:var(--font-mono);color:var(--body-text)}blockquote{padding:0 var(--space-4);margin:0;border-left:3px solid var(--accent-primary);font-style:italic;color:var(--text-muted)}.page-title-wrapper{width:100%;max-width:var(--content-readability-width);margin:0 auto;padding:0;grid-column:2 / 3}.page-title{font-size:var(--font-size-4xl);line-height:var(--line-height-tight);font-family:var(--font-family-heading);margin-bottom:0;color:var(--heading-text)}.text-heading{font-family:var(--font-heading);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.text-body{font-family:var(--font-body);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal)}.text-caption{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--text-muted);letter-spacing:var(--letter-spacing-wide)}.text-accent{color:var(--accent-primary)}.text-emphasis{color:var(--accent-primary);font-weight:var(--font-weight-medium)}::selection{background:#c4965a33;color:var(--body-text)}hr{border:none;height:1px;background:var(--color-border-primary);margin:var(--space-8) 0;opacity:.6}:focus-visible{outline:2px solid var(--color-interactive-focus);outline-offset:2px;border-radius:2px}
