*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #FAF7F2;--color-bg-card: #FFFFFF;--color-bg-code: #F3F0EA;--color-ink: #2C2C2C;--color-ink-light: #5A5A5A;--color-ink-faint: #8A8A8A;--color-accent: #C8923A;--color-accent-hover:#B07D2E;--color-olive: #4A6741;--color-olive-light: #5C7F52;--color-blue-gray: #6B7F8E;--color-border: #E2DDD5;--color-border-dark: #C9C3B8;--color-rule: #D6D0C6;--font-heading: "Libre Baskerville", "Georgia", serif;--font-body: "Inter", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--max-width: 72rem;--max-width-text: 48rem;--radius: 4px;--radius-lg: 6px}html{font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:1.0625rem;line-height:1.72;color:var(--color-ink);background:var(--color-bg);-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.25;color:var(--color-ink)}h1{font-size:2.25rem;margin-bottom:var(--space-lg)}h2{font-size:1.625rem;margin-top:var(--space-2xl);margin-bottom:var(--space-md)}h3{font-size:1.25rem;margin-top:var(--space-xl);margin-bottom:var(--space-sm)}h4{font-size:1.0625rem;margin-top:var(--space-lg);margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md)}a{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color .15s ease}a:hover{color:var(--color-accent-hover)}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius)}strong{font-weight:600}em{font-style:italic}blockquote{border-left:3px solid var(--color-accent);padding:var(--space-sm) var(--space-lg);margin:var(--space-lg) 0;color:var(--color-ink-light);background:var(--color-bg-card);border-radius:0 var(--radius) var(--radius) 0}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-bg-code);padding:.15em .35em;border-radius:var(--radius)}pre{font-family:var(--font-mono);font-size:.875rem;line-height:1.6;background:#2b2d30;color:#d4d4d4;padding:var(--space-lg);border-radius:var(--radius-lg);overflow-x:auto;margin:var(--space-lg) 0;border:1px solid #3A3C40}pre code{background:none;padding:0;font-size:inherit;color:inherit}ul,ol{padding-left:var(--space-lg);margin-bottom:var(--space-md)}li{margin-bottom:var(--space-xs)}li::marker{color:var(--color-accent)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.text-column{max-width:var(--max-width-text)}hr,.rule{border:none;height:1px;background:var(--color-rule);margin:var(--space-xl) 0}.rule--dashed{background:none;border-top:1px dashed var(--color-border)}.chip{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.2em .6em;border-radius:var(--radius);border:1px solid var(--color-border);color:var(--color-ink-light);background:var(--color-bg)}.chip--accent{border-color:var(--color-accent);color:var(--color-accent)}.chip--olive{border-color:var(--color-olive);color:var(--color-olive)}.chip--blue{border-color:var(--color-blue-gray);color:var(--color-blue-gray)}.note-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);position:relative;transition:box-shadow .15s ease,border-color .15s ease}.note-card:hover{border-color:var(--color-border-dark);box-shadow:0 2px 8px #0000000a}.note-card__label{position:absolute;top:-.5em;left:var(--space-lg);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--color-bg);padding:0 var(--space-sm);color:var(--color-ink-faint)}.note-card__title{font-family:var(--font-heading);font-size:1.125rem;margin-bottom:var(--space-sm)}.note-card__title a{color:var(--color-ink);text-decoration:none}.note-card__title a:hover{color:var(--color-accent)}.note-card__excerpt{color:var(--color-ink-light);font-size:.9375rem;line-height:1.6}.memo{background:#fffdf6;border:1px solid #EDE8DA;border-left:3px solid var(--color-accent);border-radius:0 var(--radius) var(--radius) 0;padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);font-size:.9375rem}.memo__heading{font-family:var(--font-body);font-weight:700;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);margin-bottom:var(--space-xs)}img{max-width:100%;height:auto;display:block;border-radius:var(--radius)}.hero-img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-lg);margin-bottom:var(--space-xl);background:var(--color-bg-code)}table{width:100%;border-collapse:collapse;margin:var(--space-lg) 0;font-size:.9375rem}th,td{text-align:left;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}th{font-weight:600;color:var(--color-ink);background:var(--color-bg-code)}tr:hover td{background:#fdfcf9}.btn{display:inline-block;font-family:var(--font-body);font-size:.875rem;font-weight:600;padding:.6em 1.4em;border:1px solid var(--color-accent);border-radius:var(--radius);color:var(--color-accent);background:transparent;text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease}.btn:hover,.btn--filled{background:var(--color-accent);color:#fff}.btn--filled:hover{background:var(--color-accent-hover)}.skip-link{position:absolute;top:-100%;left:var(--space-md);background:var(--color-ink);color:#fff;padding:var(--space-sm) var(--space-md);z-index:1000;border-radius:var(--radius);text-decoration:none;font-weight:600}.skip-link:focus{top:var(--space-md)}.site-header{background:var(--color-bg-card);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);max-width:var(--max-width);margin:0 auto}.site-header__brand{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--color-ink);text-decoration:none;letter-spacing:-.01em}.site-header__brand:hover{color:var(--color-accent)}.main-nav{display:flex;align-items:center;gap:var(--space-md)}.main-nav a{font-size:.875rem;font-weight:500;color:var(--color-ink-light);text-decoration:none;padding:var(--space-xs) 0;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--color-ink);border-bottom-color:var(--color-accent)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-xs);color:var(--color-ink)}.nav-toggle svg{width:24px;height:24px}@media(max-width:52rem){.main-nav{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:var(--space-md) var(--space-lg);gap:var(--space-sm)}.main-nav.is-open{display:flex}.nav-toggle{display:block}}.site-footer{margin-top:var(--space-2xl);padding:var(--space-xl) 0;border-top:1px solid var(--color-border);color:var(--color-ink-faint);font-size:.8125rem}.site-footer__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-lg)}.site-footer__links{display:flex;flex-wrap:wrap;gap:var(--space-md);list-style:none;padding:0}.site-footer__links a{color:var(--color-ink-faint);text-decoration:none;font-size:.8125rem}.site-footer__links a:hover{color:var(--color-ink)}.breadcrumbs{font-size:.8125rem;color:var(--color-ink-faint);margin-bottom:var(--space-lg);padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:0}.breadcrumbs li{display:flex;align-items:center}.breadcrumbs li+li:before{content:"/";margin:0 var(--space-sm);color:var(--color-border-dark)}.breadcrumbs a{color:var(--color-ink-faint);text-decoration:none}.breadcrumbs a:hover{color:var(--color-accent)}.page-hero{padding:var(--space-2xl) 0 var(--space-xl)}.page-hero h1{max-width:42rem}.page-hero__subtitle{font-size:1.125rem;color:var(--color-ink-light);max-width:36rem;line-height:1.6}.topic-strip{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-xl);padding:0;list-style:none}.topic-strip a{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.4em .9em;font-size:.8125rem;font-weight:600;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-ink-light);text-decoration:none;background:var(--color-bg-card);transition:border-color .15s ease,color .15s ease}.topic-strip a:hover{border-color:var(--color-accent);color:var(--color-accent)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}@media(max-width:52rem){.grid-2,.grid-3{grid-template-columns:1fr}}.layout-with-rail{display:grid;grid-template-columns:1fr 18rem;gap:var(--space-2xl);align-items:start}@media(max-width:62rem){.layout-with-rail{grid-template-columns:1fr}}.rail-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);margin-bottom:var(--space-md)}.rail-card__heading{font-family:var(--font-body);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-faint);margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px dashed var(--color-border)}.rail-card ul{list-style:none;padding:0;margin:0}.rail-card li{margin-bottom:var(--space-xs)}.rail-card a{font-size:.875rem;color:var(--color-ink-light);text-decoration:none}.rail-card a:hover{color:var(--color-accent)}.article-header{padding:var(--space-2xl) 0 var(--space-lg)}.article-header h1{max-width:42rem;font-size:2rem}.article-meta{font-size:.8125rem;color:var(--color-ink-faint);margin-top:var(--space-sm);display:flex;flex-wrap:wrap;gap:var(--space-md)}.article-body h2{padding-top:var(--space-md);border-top:1px solid var(--color-border)}.article-body img{margin:var(--space-lg) 0}.article-with-sidebar{display:grid;grid-template-columns:1fr;gap:var(--space-xl);margin-top:var(--space-lg);align-items:start}@media(min-width:900px){.article-with-sidebar{grid-template-columns:1fr 22rem}}.article-body{min-width:0}.article-sidebar{position:sticky;top:1.5rem}.search-box{position:relative;max-width:24rem}.search-box input{width:100%;font-family:var(--font-body);font-size:.9375rem;padding:.55em 1em .55em 2.5em;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-card);color:var(--color-ink);transition:border-color .15s ease}.search-box input:focus{outline:none;border-color:var(--color-accent)}.search-box__icon{position:absolute;left:.75em;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-ink-faint);pointer-events:none}.faq-item{border-bottom:1px solid var(--color-border);padding:var(--space-md) 0}.faq-item summary{font-weight:600;cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--space-sm)}.faq-item summary:before{content:"+";font-family:var(--font-mono);font-size:1.125rem;color:var(--color-accent);flex-shrink:0;width:1.25em;text-align:center}.faq-item[open] summary:before{content:"-"}.faq-item .faq-answer{padding-top:var(--space-sm);color:var(--color-ink-light);line-height:1.65}.section-stamp{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-faint);margin-bottom:var(--space-md)}.section-stamp:before{content:"";display:inline-block;width:18px;height:2px;background:var(--color-accent)}.annotation{font-size:.75rem;font-style:italic;color:var(--color-ink-faint);border-left:2px solid var(--color-border);padding-left:var(--space-sm);margin:var(--space-sm) 0}.pagefind-ui{--pagefind-ui-scale: .9;--pagefind-ui-primary: var(--color-accent);--pagefind-ui-text: var(--color-ink);--pagefind-ui-background: var(--color-bg-card);--pagefind-ui-border: var(--color-border);--pagefind-ui-tag: var(--color-bg-code);--pagefind-ui-border-width: 1px;--pagefind-ui-border-radius: var(--radius);--pagefind-ui-font: var(--font-body)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}
