@font-face{font-family:merriweather;src:url(/fonts/merriweather/Merriweather-Variable.woff2)format('woff2-variations');font-weight:300 900;font-style:normal;font-display:swap;ascent-override:98.4%;descent-override:27.3%;line-gap-override:0%}@font-face{font-family:merriweather;src:url(/fonts/merriweather/Merriweather-VariableItalic.woff2)format('woff2-variations');font-weight:300 900;font-style:italic;font-display:swap;ascent-override:98.4%;descent-override:27.3%;line-gap-override:0%}:root{--bg:#F4F0E8;--text:#000000;--accent:#3d7a4f;--accent-soft:#6ba478;--hover:#b8860b;--selection:rgba(61, 122, 79, 0.2);--border:color-mix(in srgb, var(--text) 15%, transparent);--fs-page-title:clamp(1.8rem, 1.5rem + 1vw, 2.4rem);--fs-nav-title:clamp(1.6rem, 1rem + 2.5vw, 2.8rem);--fs-section:clamp(1.3rem, 1.1rem + 0.8vw, 1.7rem);--fs-subhead:clamp(1.1rem, 1rem + 0.3vw, 1.25rem);--fs-body:1.125rem;--fs-nav-links:clamp(1.1rem, 0.9rem + 0.8vw, 1.4rem);--fs-small:0.9rem;--fs-micro:0.75rem;--nav-height:3.5rem;--sidebar-width:14rem;background-color:var(--bg);transition:background-color .1s;color:var(--text);color-scheme:light;font-family:Roboto,-apple-system,BlinkMacSystemFont,segoe ui,sans-serif;-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root{--bg:#1a1a1a;--text:#d8e0d6;--accent:#7fc472;--accent-soft:#5fa15a;--hover:#d4a040;--selection:rgba(127, 196, 114, 0.28);color-scheme:dark}}:root[data-theme=light]{--bg:#F4F0E8;--text:#000000;--accent:#3d7a4f;--accent-soft:#6ba478;--hover:#b8860b;--selection:rgba(61, 122, 79, 0.2);color-scheme:light}:root[data-theme=dark]{--bg:#1a1a1a;--text:#d8e0d6;--accent:#7fc472;--accent-soft:#5fa15a;--hover:#d4a040;--selection:rgba(127, 196, 114, 0.28);color-scheme:dark}::selection{background-color:var(--selection);color:var(--text)}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 1.5rem)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;padding:0;min-height:100vh;line-height:1.6;font-size:var(--fs-body)}a{color:var(--accent);text-decoration:underline dashed;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px;transition:color .1s ease}a:hover{color:var(--hover);text-decoration:underline}a.current{color:var(--hover)}.faded{opacity:.55}.title-link,.title-link:hover{color:var(--text);text-decoration:none}.site-nav.site-nav--home{border-bottom:none}.site-nav{position:sticky;top:0;z-index:100;height:var(--nav-height);background:var(--bg);transition:background .1s,border-color .1s;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 1.5rem;gap:2rem;will-change:transform;contain:paint}.site-nav-logo{font-size:var(--fs-section);font-weight:600;color:var(--text);text-decoration:none;letter-spacing:-.02em;flex-shrink:0}.site-nav-logo:hover{color:var(--text);text-decoration:none}.site-nav-links{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.site-nav-links a{font-size:var(--fs-body);text-decoration:none;color:var(--text);opacity:.65;transition:opacity .2s ease,color .1s ease}.site-nav-links a:hover{opacity:1;color:var(--accent);text-decoration:none}.site-nav-links a.current{opacity:1;color:var(--hover)}.site-nav-right{margin-left:auto;display:flex;align-items:center;gap:.75rem}.theme-toggle{font:inherit;font-family:Roboto,-apple-system,BlinkMacSystemFont,segoe ui,sans-serif;font-size:1.25rem;color:var(--accent);background:0 0;border:none;padding:0;cursor:pointer;line-height:inherit;white-space:nowrap;transition:color .1s ease}.theme-toggle::before{content:"[";margin-right:0;transition:margin-right .1s ease}.theme-toggle::after{content:"]";margin-left:0;transition:margin-left .1s ease}@media(hover:hover){.theme-toggle:hover{color:var(--hover);text-decoration:underline}.theme-toggle:hover::before{margin-right:.15em}.theme-toggle:hover::after{margin-left:.15em}}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-toggle{display:none;font:inherit;font-size:1.4rem;color:var(--accent);background:0 0;border:none;cursor:pointer;padding:0;line-height:1}.nav-toggle:hover{color:var(--hover)}.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-toggle{display:none;font:inherit;font-family:Roboto,-apple-system,BlinkMacSystemFont,segoe ui,sans-serif;font-size:var(--fs-body);color:var(--accent);background:0 0;border:1px solid var(--border);border-radius:4px;padding:.25em .65em;cursor:pointer;line-height:1.4}.sidebar-toggle:hover{color:var(--hover);border-color:var(--accent)}.sidebar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mobile-nav{display:none}.mobile-nav-links{list-style:none;margin:0;padding:0}.mobile-nav-links a{display:block;padding:.5em 0;font-size:var(--fs-body);color:var(--text);text-decoration:none}.mobile-nav-links a:hover,.mobile-nav-links a.current{color:var(--accent)}.page-layout{display:flex;flex:1}.page-layout .sidebar{width:var(--sidebar-width);flex-shrink:0;position:sticky;top:var(--nav-height);height:calc(100dvh - var(--nav-height));overflow-y:auto;padding:2rem 1.25rem;border-right:1px solid var(--border);background:var(--bg);transition:background .1s,border-color .1s;font-size:var(--fs-small);will-change:transform}.page-layout .sidebar::-webkit-scrollbar{width:3px}.page-layout .sidebar::-webkit-scrollbar-track{background:0 0}.page-layout .sidebar::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 20%,transparent);border-radius:2px}.page-layout .content{flex:1;min-width:0;display:flex;justify-content:center;padding:2rem 2.5rem 4rem}.page-layout .content-inner{max-width:70ch;width:100%;content-visibility:auto;contain-intrinsic-size:auto 800px}.page-home{display:flex;flex-direction:column;align-items:center;padding:3rem 1.5rem 4rem;text-align:center}.sidebar-backdrop{display:none;position:fixed;inset:0;top:var(--nav-height);z-index:149;background:rgba(0,0,0,.35)}.sidebar-backdrop.open{display:block}.toc{position:relative}.toc-indicator{position:absolute;top:0;left:0;height:0;background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:3px;pointer-events:none;z-index:0}.toc-list{list-style:none;margin:0;padding:0}.toc-list ul{list-style:none;margin:0;padding:0 0 0 .85rem;border-left:1px solid var(--border)}.toc-list li{margin:.1em 0}.toc-list a{display:block;padding:.2em .5em;color:var(--text);text-decoration:none;border-radius:3px;opacity:.6;transition:opacity .1s ease,background .1s ease;line-height:1.45;position:relative;z-index:1}.toc-list a:hover{opacity:1;background:color-mix(in srgb,var(--accent) 8%,transparent);text-decoration:none;color:var(--text);transition:none}.toc-list a.active{opacity:1;color:var(--accent)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar:horizontal{height:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 30%,transparent);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}h1,h2,h3,h4,h5,h6,.h-card-name,.site-nav-logo{font-family:merriweather,serif}@media(max-width:768px){.site-nav{padding:0 1rem;gap:.75rem}.nav-toggle{display:block}.site-nav-links{display:none}.site-nav-logo{font-size:1.75rem}.mobile-nav{display:block;position:fixed;top:var(--nav-height);left:0;bottom:0;z-index:200;transform:translateX(-100%);transition:transform .1s ease;width:min(var(--sidebar-width),80vw);background:var(--bg);border-right:1px solid var(--border);padding:1.25rem}.mobile-nav.open{transform:translateX(0);box-shadow:0 0 0 100vmax rgba(0,0,0,.35)}.page-layout .sidebar{display:none}.page-layout .content{padding:1.25rem 1rem 3rem}}.ul-red{text-decoration:underline;text-decoration-color:#cd5c5c}.ul-blue{text-decoration:underline;text-decoration-color:#4682b4}.ul-yellow{text-decoration:underline;text-decoration-color:#daa520}.ul-green{text-decoration:underline;text-decoration-color:#2e8b57}.ul-red-wavy{text-decoration:underline;text-decoration-color:#cd5c5c;text-decoration-style:wavy}.ul-blue-wavy{text-decoration:underline;text-decoration-color:#4682b4;text-decoration-style:wavy}.ul-yellow-wavy{text-decoration:underline;text-decoration-color:#daa520;text-decoration-style:wavy}.ul-green-wavy{text-decoration:underline;text-decoration-color:#2e8b57;text-decoration-style:wavy}