.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background:#faf9f7e6;backdrop-filter:blur(10px);border-bottom:1px solid var(--color-line-light)}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;height:64px;padding:0 var(--space-lg);width:100%;margin:0}.logo[data-astro-cid-3ef6ksr2]{font-family:var(--font-display);font-weight:400;font-size:1.5rem;letter-spacing:-.01em}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;gap:2rem}.nav-link[data-astro-cid-3ef6ksr2]{font-size:1rem;font-weight:400;color:var(--color-text-secondary);transition:color .2s ease;display:inline-grid;place-items:center;text-decoration:none;position:relative}.nav-link-text[data-astro-cid-3ef6ksr2]{grid-area:1 / 1}.nav-link[data-astro-cid-3ef6ksr2]:after{display:block;content:attr(data-label);font-weight:500;grid-area:1 / 1;height:0;overflow:hidden;visibility:hidden;user-select:none;pointer-events:none}.nav-link[data-astro-cid-3ef6ksr2].active{font-weight:500;color:var(--color-text)}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text)}.lang-switcher[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.25rem;margin-left:.5rem;font-family:var(--font-mono);font-size:.8125rem}.lang-link[data-astro-cid-3ef6ksr2]{color:var(--color-text-muted);text-decoration:none;transition:color .2s ease}.lang-link[data-astro-cid-3ef6ksr2].active{color:var(--color-text);font-weight:600}.lang-link[data-astro-cid-3ef6ksr2]:hover:not(.active){color:var(--color-text)}.lang-separator[data-astro-cid-3ef6ksr2]{color:var(--color-line-light);opacity:.5}@media(max-width:768px){.logo[data-astro-cid-3ef6ksr2]{font-size:1.25rem}.nav-links[data-astro-cid-3ef6ksr2]{gap:1rem}.nav-link[data-astro-cid-3ef6ksr2]{font-size:.875rem}}:root{--color-bg: #faf9f7;--color-bg-elevated: #ffffff;--color-text: #1a1a1a;--color-text-secondary: #5a5a5a;--color-text-muted: #9a9a9a;--color-accent: #1a1a1a;--color-accent-hover: #2d5a4a;--color-line: #e8e6e1;--color-line-light: #f0efe9;--font-display: "Crimson Pro", Georgia, serif;--font-body: "Inter", -apple-system, system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--width-text: 65ch;--width-container: min(90vw, 1800px)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-y:scroll}body{font-family:var(--font-body);font-weight:400;color:var(--color-text);background:var(--color-bg);line-height:1.7;min-height:100vh;display:flex;flex-direction:column}main{flex:1;width:100%}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.25;color:var(--color-text);letter-spacing:-.01em}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1rem}p{margin-bottom:var(--space-md);max-width:var(--width-text)}a{color:var(--color-text);text-decoration:none;position:relative;display:inline}a:before{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:var(--color-accent-hover);transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.4,0,.2,1)}a:hover:before{transform:scaleX(1);transform-origin:left}img{max-width:100%;height:auto;display:block}.page-container{max-width:var(--width-container);margin:0 auto;padding:0 var(--space-lg);padding-top:2rem;transform:translate(-100px)}.content-narrow{max-width:var(--width-text)}.page-intro{font-family:var(--font-display);font-size:1.125rem;line-height:1.6;color:var(--color-text-secondary);margin-bottom:2.5rem;max-width:64ch}.caption-mono{font-family:var(--font-mono);font-size:.8125rem;line-height:1.6;color:var(--color-text-muted);margin-bottom:2rem;max-width:64ch}.section-title-global{font-size:1.125rem;margin-bottom:var(--space-md);color:var(--color-text);font-family:var(--font-display)}::selection{background:var(--color-accent-hover);color:#fff}@media(min-width:2560px){html{font-size:18px}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}:root{--width-container: min(85vw, 2400px)}}@media(min-width:3840px){html{font-size:20px}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.75rem}:root{--width-container: min(80vw, 3000px)}}@media(max-width:768px){html{font-size:15px}h1{font-size:1.75rem}h2{font-size:1.25rem}main{padding:var(--space-2xl) 0}.container,.container-left{padding:0 var(--space-md)}}
