:root{--color-background: #ffffff;--color-background-alt: #f4f6f9;--color-surface: #ffffff;--color-text: #0a0b0d;--color-text-secondary: #5b5f6b;--color-text-muted: #8b8f9a;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #dbeafe;--color-accent: #7c3aed;--color-accent-hover: #6d28d9;--color-gradient-1: #2563eb;--color-gradient-2: #7c3aed;--color-gradient-3: #06b6d4;--color-border: #e2e5eb;--color-border-hover: #c4c8d4;--color-code-bg: #f1f3f6;--color-code-text: #1e293b;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-focus-ring: rgba(37, 99, 235, 0.4);--font-body: 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;--font-heading: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;--font-mono: 'SF Mono', 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 0.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;--radius-sm: 0.375rem;--radius-default: 0.5rem;--radius-md: 0.75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);--shadow-default: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.05), 0 2px 4px rgba(0, 0, 0, 0.04);--shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.08), 0 4px 10px rgba(0, 0, 0, 0.04);--shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.1);--container-width: 1200px;--container-padding: var(--space-6);--header-height: 4rem;--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-default: 250ms cubic-bezier(0.4, 0, 0.2, 1);--transition-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1)}[data-color-scheme=dark]{--color-background: #0a0b0d;--color-background-alt: #121316;--color-surface: #18191d;--color-text: #e8eaed;--color-text-secondary: #9ca0ab;--color-text-muted: #6b6f7a;--color-primary: #3b82f6;--color-primary-hover: #60a5fa;--color-primary-light: #1e3a5f;--color-accent: #8b5cf6;--color-accent-hover: #a78bfa;--color-gradient-1: #3b82f6;--color-gradient-2: #8b5cf6;--color-gradient-3: #22d3ee;--color-border: #2a2d36;--color-border-hover: #3f4350;--color-code-bg: #1a1c23;--color-code-text: #e2e8f0;--color-focus-ring: rgba(59, 130, 246, 0.4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);--shadow-default: 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.2);--shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.4), 0 4px 10px rgba(0, 0, 0, 0.2);--shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.5)}@media(prefers-color-scheme: dark){:root:not([data-color-scheme=light]){--color-background: #0a0b0d;--color-background-alt: #121316;--color-surface: #18191d;--color-text: #e8eaed;--color-text-secondary: #9ca0ab;--color-text-muted: #6b6f7a;--color-primary: #3b82f6;--color-primary-hover: #60a5fa;--color-primary-light: #1e3a5f;--color-accent: #8b5cf6;--color-accent-hover: #a78bfa;--color-gradient-1: #3b82f6;--color-gradient-2: #8b5cf6;--color-gradient-3: #22d3ee;--color-border: #2a2d36;--color-border-hover: #3f4350;--color-code-bg: #1a1c23;--color-code-text: #e2e8f0;--color-focus-ring: rgba(59, 130, 246, 0.4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);--shadow-default: 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.2);--shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.4), 0 4px 10px rgba(0, 0, 0, 0.2);--shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.5)}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.3;color:var(--color-text);margin-bottom:var(--space-4)}h1{font-size:2.5rem;letter-spacing:-0.025em}h2{font-size:1.875rem;letter-spacing:-0.02em}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:var(--space-4);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}a:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}img{max-width:100%;height:auto;display:block}code{font-family:var(--font-mono);font-size:.875em;padding:.125rem .375rem;background-color:var(--color-code-bg);color:var(--color-code-text);border-radius:var(--radius-sm)}pre{font-family:var(--font-mono);font-size:.875rem;line-height:1.6;padding:var(--space-4);background-color:var(--color-code-bg);color:var(--color-code-text);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--space-6);border:1px solid var(--color-border)}pre code{padding:0;background:none;border-radius:0}blockquote{border-left:3px solid var(--color-primary);padding:var(--space-3) var(--space-6);margin-bottom:var(--space-6);background-color:var(--color-primary-light);border-radius:0 var(--radius-md) var(--radius-md) 0}blockquote p{margin-bottom:0;color:var(--color-text)}ul,ol{margin-bottom:var(--space-4);padding-left:var(--space-6);color:var(--color-text-secondary)}li{margin-bottom:var(--space-2)}table{width:100%;border-collapse:collapse;margin-bottom:var(--space-6)}th,td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}th{font-weight:600;color:var(--color-text);background-color:var(--color-background-alt)}tr:last-child td{border-bottom:none}tr:hover td{background-color:var(--color-background-alt)}hr{border:none;height:1px;background-color:var(--color-border);margin:var(--space-12) 0}::selection{background-color:var(--color-primary);color:#fff}.skip-link{position:absolute;top:-100%;left:var(--space-4);padding:var(--space-2) var(--space-4);background-color:var(--color-primary);color:#fff;border-radius:var(--radius-default);z-index:1000;font-weight:500}.skip-link:focus{top:var(--space-4)}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}html{scroll-behavior:auto}}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 var(--container-padding)}.site-content{min-height:calc(100vh - var(--header-height) - 16rem);padding-top:var(--space-12);padding-bottom:var(--space-16)}.page-header{margin-bottom:var(--space-12)}.page-header h1{margin-bottom:var(--space-3)}.page-header .page-description{font-size:1.25rem;color:var(--color-text-secondary);max-width:48rem}.page-header .breadcrumbs{margin-bottom:var(--space-4)}.content-wrapper{max-width:48rem}.content-wrapper-wide{max-width:64rem}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2, 1fr)}.grid-3{grid-template-columns:repeat(3, 1fr)}.section{padding:var(--space-16) 0}.section-header{text-align:center;margin-bottom:var(--space-12)}.section-header h2{margin-bottom:var(--space-3)}.section-header p{font-size:1.125rem;max-width:36rem;margin:0 auto}@media(max-width: 768px){.grid-2,.grid-3{grid-template-columns:1fr}.site-content{padding-top:var(--space-8);padding-bottom:var(--space-12)}.page-header h1{font-size:2rem}}.site-header{position:sticky;top:0;z-index:100;background-color:hsla(0,0%,100%,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);height:var(--header-height)}[data-color-scheme=dark] .site-header{background-color:rgba(10,11,13,.85)}@media(prefers-color-scheme: dark){.site-header{background-color:rgba(10,11,13,.85)}}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-width);margin:0 auto;padding:0 var(--container-padding)}.site-logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-text);font-weight:700;font-size:1.25rem;font-family:var(--font-heading)}.site-logo:hover{text-decoration:none;color:var(--color-text)}.site-logo img{height:2rem;width:auto}.main-nav{display:flex;align-items:center;gap:var(--space-1)}.main-nav a{padding:var(--space-2) var(--space-3);color:var(--color-text-secondary);font-size:.9375rem;font-weight:500;border-radius:var(--radius-default);transition:all var(--transition-fast);text-decoration:none}.main-nav a:hover{color:var(--color-text);background-color:var(--color-background-alt);text-decoration:none}.main-nav a.active{color:var(--color-primary);background-color:var(--color-primary-light)}.color-scheme-toggle{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:var(--radius-default);background:none;color:var(--color-text-secondary);cursor:pointer;font-size:1rem;transition:all var(--transition-fast);margin-left:var(--space-2)}.color-scheme-toggle:hover{color:var(--color-text);border-color:var(--color-border-hover);background-color:var(--color-background-alt)}.color-scheme-toggle:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.nav-toggle{display:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:var(--radius-default);background:none;color:var(--color-text);cursor:pointer;font-size:1.25rem}@media(max-width: 768px){.nav-toggle{display:flex}.nav-toggle[aria-expanded=true]+.main-nav{display:flex}.main-nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;flex-direction:column;padding:var(--space-4);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);gap:var(--space-1)}.main-nav a{padding:var(--space-3) var(--space-4);width:100%}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:.9375rem;font-weight:600;line-height:1.5;border:1px solid rgba(0,0,0,0);border-radius:var(--radius-default);cursor:pointer;text-decoration:none;transition:all var(--transition-fast)}.btn:hover{text-decoration:none}.btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.btn-secondary{background-color:rgba(0,0,0,0);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{border-color:var(--color-border-hover);background-color:var(--color-background-alt)}.btn-ghost{background-color:rgba(0,0,0,0);color:var(--color-text-secondary);border-color:rgba(0,0,0,0)}.btn-ghost:hover{color:var(--color-text);background-color:var(--color-background-alt)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:.8125rem}.btn-lg{padding:var(--space-4) var(--space-8);font-size:1.0625rem}.btn-gradient{background:linear-gradient(135deg, var(--color-gradient-1), var(--color-gradient-2));color:#fff;border:none}.btn-gradient:hover{opacity:.9;color:#fff}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-default)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.card-link{text-decoration:none;color:inherit;display:block}.card-link:hover{text-decoration:none;color:inherit}.card-title{font-size:1.25rem;font-weight:700;margin-bottom:var(--space-3);color:var(--color-text)}.card-text{font-size:.9375rem;color:var(--color-text-secondary);line-height:1.6}.card-meta{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:var(--space-3);display:flex;gap:var(--space-3);flex-wrap:wrap}.card-image{border-radius:var(--radius-md);margin-bottom:var(--space-4);overflow:hidden}.card-image img{width:100%;object-fit:cover}.card-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.card-accent{border-top:3px solid var(--color-primary)}.card-gradient{background:linear-gradient(135deg, var(--color-background), var(--color-primary-light));border:1px solid var(--color-border)}.site-footer{background-color:var(--color-background-alt);border-top:1px solid var(--color-border);padding:var(--space-12) 0 var(--space-8)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-8)}.footer-brand p{font-size:.875rem;margin-top:var(--space-3);max-width:24rem}.footer-heading{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--space-4)}.footer-nav{list-style:none;padding:0}.footer-nav li{margin-bottom:var(--space-2)}.footer-nav a{font-size:.875rem;color:var(--color-text-secondary);text-decoration:none}.footer-nav a:hover{color:var(--color-primary)}.footer-bottom{padding-top:var(--space-6);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.footer-bottom p{font-size:.8125rem;color:var(--color-text-muted);margin:0}@media(max-width: 768px){.footer-grid{grid-template-columns:1fr;gap:var(--space-6)}}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-12)}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 var(--space-2);font-size:.875rem;font-weight:500;border-radius:var(--radius-default);border:1px solid var(--color-border);text-decoration:none;color:var(--color-text-secondary);transition:all var(--transition-fast)}.pagination a:hover{border-color:var(--color-border-hover);background-color:var(--color-background-alt);text-decoration:none}.pagination .active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.pagination .disabled{opacity:.4;pointer-events:none}.toc{display:block}.toc-sticky{position:sticky;top:calc(var(--header-height) + var(--space-6));max-height:calc(100vh - var(--header-height) - var(--space-12));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-border) rgba(0,0,0,0)}.toc-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--space-3)}.toc #TableOfContents{font-size:.8125rem;line-height:1.6}.toc #TableOfContents ul{list-style:none;padding:0;margin:0}.toc #TableOfContents ul ul{padding-left:var(--space-3);margin-top:0}.toc #TableOfContents li{margin:0}.toc #TableOfContents a{display:block;padding:var(--space-1) var(--space-2);color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius-sm);transition:all var(--transition-fast);border-left:2px solid rgba(0,0,0,0)}.toc #TableOfContents a:hover{color:var(--color-text);background-color:var(--color-background-alt);border-left-color:var(--color-border)}.toc #TableOfContents a.active{color:var(--color-primary);border-left-color:var(--color-primary);font-weight:500}@media(max-width: 1024px){.toc{display:none}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.text-gradient{background:linear-gradient(135deg, var(--color-gradient-1), var(--color-gradient-2), var(--color-gradient-3));-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.max-w-sm{max-width:24rem}.max-w-md{max-width:36rem}.max-w-lg{max-width:48rem}@media(max-width: 768px){.mobile\:text-center{text-align:center}}