@font-face{font-family:inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-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:inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-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:inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}:root{--oc-red:#df4034;--oc-orange:#ef6e33;--oc-amber:#f59a2b;--oc-yellow:#efc441;--oc-moss:#6e9a31;--oc-bloom:#e8455f;--oc-ramp:linear-gradient(90deg, var(--oc-moss), var(--oc-yellow),
             var(--oc-amber), var(--oc-orange), var(--oc-red), var(--oc-bloom));--bg:#fcfbf9;--fg:#17150f;--dim:#6f6a61;--line:#e6e3dd;--wash:#f3f1ec;--accent:#c2431f;--accent-soft:rgba(239, 110, 51, 0.10);--accent-2:var(--oc-moss);--rail:210px;--col:672px;--gap:64px;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          "Helvetica Neue", Arial, sans-serif;--serif:"Source Serif 4", Charter, "Bitstream Charter", "Sitka Text",
           Cambria, Georgia, serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root{--bg:#100f0d;--fg:#f4f2ee;--dim:#9c968c;--line:#272521;--wash:#1b1916;--accent:#f2924f;--accent-soft:rgba(242, 146, 79, 0.14);--accent-2:#9dbf4a}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--serif);font-size:18.5px;line-height:1.58;font-feature-settings:"kern" 1,"liga" 1,"tnum" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.masthead,.rail,.foot,.cards time,.post>header time,.post figcaption,.post table,.toc-inline>summary{font-family:var(--sans)}h1,h2,h3,.wordmark{font-family:var(--sans);text-wrap:balance;font-feature-settings:"kern" 1,"liga" 1,"tnum" 1,"dlig" 1}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}::selection{background:color-mix(in srgb,var(--accent) 22%,transparent)}.skip{position:absolute;left:-9999px;top:0;padding:12px 18px;background:var(--accent);color:#fff;z-index:100}.skip:focus{left:8px;top:8px}.masthead{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:saturate(180%)blur(20px);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--line)}.masthead::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--oc-ramp)}.masthead-in{max-width:calc(var(--rail) * 2 + var(--col) + var(--gap) * 2);margin:0 auto;padding:0 24px;height:54px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-family:var(--sans);font-size:14.5px;font-weight:600;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:9px}.wordmark .mark{width:26px;height:26px;display:block}.wordmark:hover{text-decoration:none}.wordmark:hover span{text-decoration:underline;text-underline-offset:3px}.masthead nav{display:flex;gap:22px}.masthead nav a{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--dim);transition:color .15s ease}.masthead nav a:hover{color:var(--fg)}.masthead nav a[aria-current=page]{color:var(--fg);font-weight:600;position:relative}.masthead nav a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--accent)}.shell{max-width:calc(var(--rail) * 2 + var(--col) + var(--gap) * 2);margin:0 auto;padding:0 24px 96px;display:grid;gap:var(--gap);grid-template-columns:var(--rail)minmax(0,var(--col));justify-content:center;align-items:start}.shell.has-toc{grid-template-columns:var(--rail)minmax(0,var(--col))var(--rail)}.rail{position:sticky;top:76px;padding-top:56px;font-size:13.5px}.rail-box>summary{list-style:none;cursor:pointer}.rail-box>summary::-webkit-details-marker{display:none}.rail-title{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:10px}.rail-title::before{content:"";display:inline-block;width:5px;height:5px;margin-right:7px;vertical-align:1px;background:var(--accent-2)}.archive{max-height:calc(100vh - 190px);overflow-y:auto;overscroll-behavior:contain}.archive details>summary{display:flex;justify-content:space-between;align-items:baseline;gap:8px;cursor:pointer;list-style:none;padding:5px 0;color:var(--dim)}.archive details>summary::-webkit-details-marker{display:none}.archive details>summary:hover{color:var(--fg)}.archive .yr>summary{color:var(--fg);font-weight:600}.archive .yr>summary .lbl::before{content:"›";display:inline-block;width:14px;transition:transform .18s ease}.archive .yr[open]>summary .lbl::before{transform:rotate(90deg)}.archive .mo{margin-left:14px}.archive .mo>summary .lbl::before{content:"›";display:inline-block;width:14px;opacity:.55;transition:transform .18s ease}.archive .mo[open]>summary .lbl::before{transform:rotate(90deg)}.archive .num{font-variant-numeric:tabular-nums;font-size:12px;color:var(--dim)}.archive ul{list-style:none;margin:2px 0 8px;padding:0 0 0 28px}.archive ul a{display:block;padding:4px 0;color:var(--dim);line-height:1.35;transition:color .15s ease}.archive ul a:hover{color:var(--fg)}.archive ul a[aria-current=page]{color:var(--accent);font-weight:600}.archive ul time{display:block;font-size:11px;letter-spacing:.02em;opacity:.75}.toc{max-height:calc(100vh - 190px);overflow-y:auto}.toc ul{list-style:none;margin:0;padding:0}.toc ul ul{padding-left:14px}.toc li{margin:0}.toc a{display:block;padding:4px 0 4px 11px;color:var(--dim);border-left:2px solid var(--line);line-height:1.35;font-size:13px;transition:all .15s ease}.toc a:hover{color:var(--fg);border-left-color:var(--dim)}.toc a.here{color:var(--accent);border-left-color:var(--accent);font-weight:600}.toc-inline{display:none}.lede{padding:64px 0 36px}.lede h1{font-size:clamp(38px,6.6vw,68px);line-height:1.02;letter-spacing:-.042em;font-weight:200;margin:0 0 18px}.sub{color:var(--dim);font-size:20px;line-height:1.52;margin:0;max-width:33em}.sub p{margin:0}.empty{color:var(--dim)}.cards{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.cards li{border-bottom:1px solid var(--line)}.cards a{display:block;padding:28px 16px;margin:0 -16px;transition:background .15s ease}.cards a:hover{text-decoration:none;background:var(--accent-soft)}.cards a:hover h2{color:var(--accent);text-decoration:none}.cards time{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.cards h2{font-size:28px;line-height:1.15;letter-spacing:-.03em;font-weight:300;margin:10px 0;transition:color .15s ease}.cards p{margin:0;color:var(--dim);font-size:16.5px;line-height:1.55}.post{padding-top:64px}.post>header{margin-bottom:36px}.post>header time{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.post>header h1{font-size:clamp(36px,5.8vw,60px);line-height:1.04;letter-spacing:-.04em;font-weight:200;margin:14px 0 20px}.post h2{font-size:32px;line-height:1.14;letter-spacing:-.032em;font-weight:300;margin:76px 0 18px;padding-top:26px;border-top:1px solid var(--line)}.post h3{font-size:21px;line-height:1.3;letter-spacing:-.02em;font-weight:400;margin:44px 0 12px}.post p{margin:0 0 22px}.post ul,.post ol{margin:0 0 22px;padding-left:22px}.post li{margin:0 0 8px}.post strong{font-weight:600;color:var(--fg)}.post blockquote{margin:28px 0;padding:14px 20px;border-left:3px solid color-mix(in srgb,var(--fg) 22%,transparent);background:var(--wash);border-radius:0 6px 6px 0;color:var(--fg);font-style:italic}.post blockquote p{margin:0}.post code{white-space:nowrap}.post code,.post small{font-family:var(--mono);font-size:.83em;background:var(--wash);border:1px solid var(--line);padding:2px 6px;border-radius:4px;color:var(--fg)}.post hr{border:0;border-top:1px solid var(--line);margin:48px 0}.post .note-ref{font-family:var(--sans);font-size:11px;line-height:0;vertical-align:super;margin-left:1px}.post .note-ref a{color:var(--dim)}.post .note-ref a:hover{color:var(--accent);text-decoration:none}.post .note-ref a{padding:12px 5px;margin:-12px -5px}.post .note{padding-left:3.4rem;margin:0 0 26px;scroll-margin-top:24px}.post .note>.note-num{float:left;margin-left:-3.4rem;width:2.6rem;padding-top:4px;text-align:right;font-family:var(--sans);font-size:13px;font-variant-numeric:tabular-nums;color:var(--dim)}.post .note>.note-num:hover{color:var(--accent);text-decoration:none}.post .note:target>.note-num{color:var(--accent);font-weight:600}.post .note p:last-child{margin-bottom:0}@media(max-width:700px){.post .note{padding-left:0}.post .note>.note-num{float:none;display:block;width:auto;margin:0 0 2px;padding-top:0;text-align:left;font-size:12px;letter-spacing:.06em}}.post figure{margin:40px 0}.post figure img,.post figure svg,.post img{display:block;max-width:100%;height:auto;border-radius:6px}.post figcaption{margin-top:12px;font-size:13px;line-height:1.5;color:var(--dim)}.colophon{margin:64px 0 4px;padding-top:30px;border-top:1px solid var(--line)}.colophon img{width:108px;display:block;border-radius:0}.post table{width:100%;border-collapse:collapse;margin:28px 0;font-size:14.5px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.post table th{text-align:left;font-weight:600;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding:0 12px 10px 0;border-bottom:1px solid var(--line)}.post table td{padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}.post table tbody tr{transition:background .15s ease}.post table tbody tr:hover{background:var(--wash)}.post table td:not(:first-child){white-space:nowrap}.post table td:last-child,.post table th:last-child{padding-right:0}.post table td.wrap{white-space:normal}.post table td.num,.post table th.num{text-align:right}@media(max-width:900px){.post table td:first-child,.post table td.wrap{min-width:17ch}}.table-wrap{overflow-x:auto;margin:28px 0;background:linear-gradient(to right,var(--bg) 40%,transparent)0,linear-gradient(to left,var(--bg) 40%,transparent)100%,radial-gradient(farthest-side at 0 50%,rgba(110,110,115,.2),transparent)0,radial-gradient(farthest-side at 100% 50%,rgba(110,110,115,.2),transparent)100%;background-repeat:no-repeat;background-size:36px 100%,36px 100%,12px 100%,12px 100%;background-attachment:local,local,scroll,scroll}.table-wrap table{margin:0}.foot{border-top:1px solid var(--line);padding:32px 24px 64px;color:var(--dim);font-size:13px;text-align:center}.foot p{margin:0}@media(max-width:1180px){.shell,.shell.has-toc{grid-template-columns:var(--rail)minmax(0,var(--col))}.rail-right{display:none}.toc-inline{display:block;margin:0 0 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0}.toc-inline>summary{cursor:pointer;padding:12px 0;font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--dim)}.toc-inline .toc{padding-bottom:12px;max-height:none}}@media(max-width:900px){body{font-size:17.5px;line-height:1.56}.shell,.shell.has-toc{grid-template-columns:minmax(0,1fr);gap:0;padding-bottom:64px}.rail-left{position:static;padding-top:28px;order:2;border-top:1px solid var(--line);margin-top:56px}.rail-left .rail-box{padding-top:20px}.rail-left .rail-box:not([open]) .rail-title{border-bottom:0;margin-bottom:0}.archive{max-height:none}main{order:1}.lede{padding:40px 0 24px}.post{padding-top:40px}.post h2{margin-top:48px}.sub{font-size:17px}.masthead-in{padding:0 18px}.shell{padding-left:18px;padding-right:18px}}@media(max-width:560px){.wordmark span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.masthead nav{gap:18px}.masthead nav a{font-size:13.5px;padding:10px 0}.masthead nav a[aria-current=page]::after{bottom:6px}}