@font-face{font-family:Spectral;font-style:italic;font-weight:200;font-display:swap;src:url(/fonts/spectral-italic-200-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:italic;font-weight:200;font-display:swap;src:url(/fonts/spectral-italic-200-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:italic;font-weight:200;font-display:swap;src:url(/fonts/spectral-italic-200-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:italic;font-weight:200;font-display:swap;src:url(/fonts/spectral-italic-200-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/spectral-italic-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/spectral-italic-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/spectral-italic-400-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/spectral-italic-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:200;font-display:swap;src:url(/fonts/spectral-normal-200-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:normal;font-weight:200;font-display:swap;src:url(/fonts/spectral-normal-200-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-weight:200;font-display:swap;src:url(/fonts/spectral-normal-200-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-weight:200;font-display:swap;src:url(/fonts/spectral-normal-200-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/spectral-normal-300-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/spectral-normal-300-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/spectral-normal-300-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/spectral-normal-300-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spectral-normal-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spectral-normal-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spectral-normal-400-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spectral-normal-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Sans;font-weight:100;font-display:swap;src:url(/fonts/fira-sans-100-latin.woff2)format("woff2")}@font-face{font-family:Fira Sans;font-weight:100;font-display:swap;src:url(/fonts/fira-sans-100-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+1E00-1E9F,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-weight:100;font-display:swap;src:url(/fonts/fira-sans-100-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Sans;font-weight:100;font-display:swap;src:url(/fonts/fira-sans-100-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Sans;font-weight:300;font-display:swap;src:url(/fonts/fira-sans-300-latin.woff2)format("woff2")}@font-face{font-family:Fira Sans;font-weight:300;font-display:swap;src:url(/fonts/fira-sans-300-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+1E00-1E9F,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-weight:300;font-display:swap;src:url(/fonts/fira-sans-300-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Sans;font-weight:300;font-display:swap;src:url(/fonts/fira-sans-300-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Sans;font-weight:400;font-display:swap;src:url(/fonts/fira-sans-400-latin.woff2)format("woff2")}@font-face{font-family:Fira Sans;font-weight:400;font-display:swap;src:url(/fonts/fira-sans-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+1E00-1E9F,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-weight:400;font-display:swap;src:url(/fonts/fira-sans-400-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Sans;font-weight:400;font-display:swap;src:url(/fonts/fira-sans-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Sans;font-weight:500;font-display:swap;src:url(/fonts/fira-sans-500-latin.woff2)format("woff2")}@font-face{font-family:Fira Sans;font-weight:500;font-display:swap;src:url(/fonts/fira-sans-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+1E00-1E9F,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-weight:500;font-display:swap;src:url(/fonts/fira-sans-500-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Sans;font-weight:500;font-display:swap;src:url(/fonts/fira-sans-500-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}:root{color-scheme:light;--paper:#f4f5ef;--paper-2:#e5e9e0;--paper-3:#d9dfd2;--ink:#121f17;--ink-soft:#4a5b4e;--green:#3f7a22;--green-deep:#21471a;--line:#14251a38;--line-ink:#14251a9e;--serif:"Spectral", "Iowan Old Style", Georgia, "Times New Roman", serif;--sans:"Fira Sans", system-ui, -apple-system, sans-serif;--gut:clamp(20px, 5vw, 90px);--cut:16px}*{box-sizing:border-box;border-radius:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}html,body{margin:0;padding:0}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-kerning:normal;font-variant-ligatures:common-ligatures contextual;text-rendering:optimizelegibility;flex-direction:column;font-size:16px;line-height:1.6;display:flex;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:400}p,ol,ul,blockquote,figure{margin:0;padding:0}::selection{background:var(--green);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}img{max-width:100%;display:block}.wrap{width:100%;max-width:1440px;padding-inline:var(--gut);margin-inline:auto}.label{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:500}.chamfer{clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut))}.grain{z-index:900;pointer-events:none;opacity:.4;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.22'/%3E%3C/svg%3E");position:fixed;inset:0}.meter{z-index:950;transform-origin:0;background:var(--green);width:100%;height:1px;position:fixed;top:0;left:0;transform:scaleX(0)}.rule{background:var(--line);transform-origin:0;height:1px;transition:transform 1.15s cubic-bezier(.16,1,.3,1)}.rise{transition:opacity .95s cubic-bezier(.2,.8,.2,1),transform .95s cubic-bezier(.2,.8,.2,1)}.js .rule{transform:scaleX(0)}.js .rise{opacity:0;transform:translateY(24px)}.rule.in{transform:scaleX(1)}.rise.in{opacity:1;transform:none}.bar{z-index:800;background:color-mix(in srgb, var(--paper) 84%, transparent);backdrop-filter:blur(14px)saturate(1.4);align-items:baseline;gap:20px;padding-block:15px;display:flex;position:sticky;top:0}.bar:after{content:"";left:var(--gut);right:var(--gut);background:var(--line);transform-origin:0;height:1px;transition:transform .7s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;transform:scaleX(0)}.bar.stuck:after{transform:scaleX(1)}.back-to-top{z-index:850;background:var(--green);width:48px;height:48px;color:var(--paper);opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .3s,transform .3s,background .25s;display:inline-flex;position:fixed;bottom:24px;right:max(20px,50vw - 700px);transform:translateY(12px)}.back-to-top.visible{opacity:1;pointer-events:auto;transform:none}.back-to-top:hover{background:var(--green-deep)}.back-to-top:focus-visible{box-shadow:inset 0 0 0 3px var(--paper), inset 0 0 0 5px var(--green-deep);outline:none}.skip-link{z-index:1000;background:var(--green);color:var(--paper);font-family:var(--sans);padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:top .15s;position:absolute;top:-100px;left:12px}.skip-link:focus-visible{outline:2px solid var(--ink);outline-offset:2px;top:12px}html.hash-jump .bar,html.hash-jump .toc-full,html.hash-jump .author{visibility:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.search-empty{font-family:var(--sans);color:var(--ink-soft);margin:4px 0 0;font-size:13.5px}.search-remedy-hint{font-family:var(--sans);color:var(--green);margin-top:2px;font-size:11px}@media (width<=700px){:root{--cut:12px}.grain{mix-blend-mode:normal;opacity:.22}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.rise,.rule{opacity:1!important;transform:none!important}}
