@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-opsz-normal.DIwfbPUE.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-opsz-normal.C0olyEE-.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-opsz-normal.DrHU7SY7.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-opsz-normal.DX68cEVD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-opsz-normal.HoL-AExg.woff2)format("woff2-variations");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-opsz-normal.BpEBLj1O.woff2)format("woff2-variations");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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-opsz-italic.Bl6DJqma.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-opsz-italic.Dibx14aP.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-opsz-italic.CMW9dfKg.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-opsz-italic.Hh3oeMt5.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-opsz-italic.BhUEwDRF.woff2)format("woff2-variations");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-opsz-italic.BOLXpvkj.woff2)format("woff2-variations");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-italic.CsGl1sm0.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}:root{--bg:#fff;--surface:#f5f5f5;--line:#e2e2e2;--line-strong:#c8c8c8;--text:#141414;--muted:#5e5e5e;--accent:#d42a35;--accent-hover:#b01f2a;--accent-soft:#fdeeef;--focus:#1d4ed8;--warn-bg:#fbf4e6;--warn-text:#7a4a06;--display:"Source Serif 4 Variable", "Source Serif 4", Georgia, serif;--body:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;--page:1120px;--gutter:24px;--measure:68ch;--fast:.12s;--base:.2s;--ease:cubic-bezier(.2, 0, 0, 1);--shadow-overlay:0 8px 24px #00000024;color-scheme:light}:root[data-theme=dark]{--bg:#0f1011;--surface:#17181a;--line:#2a2c2f;--line-strong:#3d3d3d;--text:#ececec;--muted:#a3a3a3;--accent:#ff6670;--accent-hover:#ff8a92;--accent-soft:#2a1214;--focus:#8ab4ff;--warn-bg:#251c0c;--warn-text:#e8b65a;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1011;--surface:#17181a;--line:#2a2c2f;--line-strong:#3d3d3d;--text:#ececec;--muted:#a3a3a3;--accent:#ff6670;--accent-hover:#ff8a92;--accent-soft:#2a1214;--focus:#8ab4ff;--warn-bg:#251c0c;--warn-text:#e8b65a;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--s6);scrollbar-gutter:stable}body{background:var(--bg);color:var(--text);font:17px/1.65 var(--body);font-feature-settings:"kern";flex-direction:column;min-height:100vh;margin:0;display:flex}main{flex:1 0 auto}a{color:var(--accent);text-underline-offset:3px;transition:color var(--fast) var(--ease);text-decoration-thickness:1px}a:hover{color:var(--accent-hover);text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:var(--accent);color:#fff}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;margin:0;font-weight:600}p{margin:0 0 var(--s4)}img,svg,video{max-width:100%;height:auto}code,kbd{font:.875em/1 var(--mono);background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere;padding:.12em .35em}.wrap{max-width:var(--page);padding:0 var(--gutter);margin:0 auto}.meta{font:500 13px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.num{font:500 13px/1 var(--mono);color:var(--accent);letter-spacing:.04em}.muted{color:var(--muted)}.small{font-size:15px}.skip{left:var(--s4);background:var(--text);color:var(--bg);padding:var(--s2) var(--s3);z-index:20;position:absolute;top:-100px}.skip:focus{top:var(--s4)}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}main:focus,[tabindex="-1"]:focus{outline:none}.draft-badge{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--warn-text);background:var(--warn-bg);border:1px solid var(--warn-text);vertical-align:middle;padding:4px 6px;display:inline-block}.site-head{border-bottom:1px solid var(--line)}.site-head .wrap{align-items:baseline;gap:var(--s5);padding-top:var(--s5);padding-bottom:var(--s4);flex-wrap:wrap;display:flex}.brand{font:600 20px/1.2 var(--display);color:var(--text);letter-spacing:-.01em;margin-right:auto;text-decoration:none}.brand:hover{color:var(--text)}.nav ul{gap:var(--s5);margin:0;padding:0;list-style:none;display:flex}.nav a{color:var(--muted);padding:var(--s1) 0;border-bottom:2px solid #0000;font-size:15px;font-weight:500;text-decoration:none}.nav a:hover{color:var(--text)}.nav a[aria-current=page],.nav a[aria-current=true]{color:var(--text);border-bottom-color:var(--accent)}.theme-switch{border:1px solid var(--line-strong);display:inline-flex}.theme-switch[hidden]{display:none}.theme-switch button{width:30px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;margin:0;padding:0;display:grid}.theme-switch button+button{border-left:1px solid var(--line-strong)}.theme-switch button:hover{color:var(--text)}.theme-switch button[aria-pressed=true]{color:var(--bg);background:var(--text)}.theme-switch button:focus-visible{outline:2px solid var(--focus);outline-offset:2px;z-index:1;position:relative}.site-foot{border-top:1px solid var(--line);margin-top:var(--s9)}.site-foot .wrap{justify-content:space-between;gap:var(--s5);padding-top:var(--s6);padding-bottom:var(--s7);flex-wrap:wrap;font-size:15px;display:flex}.site-foot ul{gap:var(--s5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-foot a{color:var(--muted);text-decoration:none}.site-foot a:hover{color:var(--text);text-decoration:underline}.page-head{padding:var(--s8) 0 var(--s6)}.page-head h1{max-width:22ch;font-size:38px;line-height:1.15}.lede{color:var(--muted);max-width:40rem;margin-top:var(--s4);font-size:20px;line-height:1.55}.section{padding-top:var(--s6)}.section-head{align-items:baseline;gap:var(--s3);padding-bottom:var(--s3);border-bottom:1px solid var(--text);display:flex}.section-head h2{font-size:22px;line-height:1.25}.section-head .more{margin-left:auto;font-size:15px}.rows{margin:0;padding:0;list-style:none}.row{gap:var(--s1) var(--s5);padding:var(--s4) 0;border-bottom:1px solid var(--line);grid-template-columns:10.5rem minmax(0,1fr);align-items:baseline;display:grid}.row time{font:400 14px var(--mono);color:var(--muted)}.row a.title{font:600 20px/1.3 var(--display);color:var(--text);text-decoration:none}.row a.title:hover{color:var(--accent);text-decoration:underline 1px}.row .sub{color:var(--muted);margin-top:var(--s1);max-width:68ch;font-size:15px;display:block}.row .when{gap:var(--s1);flex-direction:column;padding-top:3px;display:flex}.row .tag{font:500 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.row .tag.feature{color:var(--accent)}.row .draft-badge{margin-left:var(--s2);padding:2px 4px;font-size:11px}.home-intro{padding:var(--s9) 0 var(--s7);max-width:46rem}.home-intro h1{font-size:38px;font-weight:400;line-height:1.2}.home-intro h1 strong{font-weight:600}.home-intro .facts{margin:var(--s5) 0 0;gap:var(--s2) var(--s5);flex-wrap:wrap;padding:0;font-size:15px;list-style:none;display:flex}.home-cols{gap:var(--s8);grid-template-columns:minmax(0,2fr) minmax(0,1fr);display:grid}.work-list{margin:0;padding:0;list-style:none}.work-list li{padding:var(--s4) 0;border-bottom:1px solid var(--line)}.work-list .name{font:600 18px/1.3 var(--display)}.work-list .name a{color:var(--text);text-decoration:none}.work-list .name a:hover{color:var(--accent);text-decoration:underline}.work-list p{color:var(--muted);margin:var(--s1) 0 0;font-size:15px}.now-box{padding:var(--s4) 0 0;font-size:15px}.now-box .meta{margin:0}.now-box ul{margin:var(--s2) 0 var(--s3);padding-left:1.1em}.now-box li{margin-bottom:var(--s1)}.filters{gap:var(--s2);margin:0 0 var(--s5);flex-wrap:wrap;padding:0;list-style:none;display:flex}.filters button{font:500 14px var(--body);color:var(--muted);background:var(--bg);border:1px solid var(--line-strong);padding:var(--s1) var(--s3);cursor:pointer}.filters button:hover{color:var(--text);border-color:var(--text)}.filters button[aria-pressed=true]{color:var(--bg);background:var(--text);border-color:var(--text)}.year{font:500 13px var(--mono);color:var(--muted);letter-spacing:.06em;padding:var(--s6) 0 var(--s2);border-bottom:1px solid var(--text)}.year-group:first-child .year{padding-top:0}.empty{padding:var(--s7) 0;color:var(--muted);border-bottom:1px solid var(--line);gap:var(--s4);flex-wrap:wrap;align-items:center;display:flex}.crumbs{color:var(--muted);font-size:14px}.crumbs a{color:var(--muted)}.art-head{padding:var(--s7) 0 var(--s6);max-width:46rem}.art-head h1{margin-top:var(--s3);font-size:38px;line-height:1.15}.art-head .lede{margin-top:var(--s3)}.art-head .meta{margin-top:var(--s5);gap:var(--s2) var(--s4);flex-wrap:wrap;display:flex}.art-grid{grid-template-columns:minmax(0, var(--measure)) minmax(0, 1fr);gap:var(--s8);border-top:1px solid var(--line);padding-top:var(--s6);display:grid}.art-grid.plain{border-top:0;padding-top:0}.prose{max-width:var(--measure);counter-reset:h2;overflow-wrap:break-word}.prose>:first-child{margin-top:0}.prose h2{margin:var(--s7) 0 var(--s4);padding-bottom:var(--s2);border-bottom:1px solid var(--line);gap:var(--s3);counter-increment:h2;align-items:baseline;font-size:26px;line-height:1.25;display:flex}.prose h2:before{content:counter(h2, decimal-leading-zero);content:counter(h2, decimal-leading-zero) / "";font:500 13px/1 var(--mono);color:var(--accent);letter-spacing:.04em;flex:none}.prose h3{font:600 17px/1.4 var(--body);margin:var(--s6) 0 var(--s2)}.prose h4{font:600 15px/1.4 var(--body);margin:var(--s5) 0 var(--s2);color:var(--muted)}.prose ul,.prose ol{margin:0 0 var(--s4);padding-left:1.25em}.prose li{margin-bottom:var(--s1)}.prose li>ul,.prose li>ol{margin:var(--s1) 0 0}.prose blockquote{margin:var(--s5) 0;padding-left:var(--s5);border-left:2px solid var(--accent);font:italic 400 22px/1.45 var(--display)}.prose blockquote p:last-child{margin-bottom:0}.prose hr{border:0;border-top:1px solid var(--line);margin:var(--s7) 0}.prose img{margin:var(--s5) 0;display:block}.prose table{border-collapse:collapse;width:100%;margin:var(--s4) 0 var(--s5);font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:var(--s2) var(--s4) var(--s2) 0;border-bottom:1px solid var(--line);vertical-align:top}.prose th{font:500 13px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom-color:var(--text)}.prose dl{border-top:1px solid var(--text);margin:0 0 var(--s5);grid-template-columns:12rem minmax(0,1fr);display:grid}.prose dt,.prose dd{padding:var(--s3) 0;border-bottom:1px solid var(--line);margin:0}.prose dt{font:500 13px/1.9 var(--mono);color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.prose dd p:last-child{margin-bottom:0}.prose .footnotes{margin-top:var(--s7);border-top:1px solid var(--line);font-size:15px}.toc{top:var(--s6);padding-left:var(--s5);border-left:1px solid var(--line);max-height:calc(100vh - var(--s7));align-self:start;font-size:14px;position:sticky;overflow-y:auto}.toc ol{margin:var(--s3) 0 0;padding:0;list-style:none}.toc li{margin-bottom:var(--s2);gap:var(--s2);display:flex}.toc li .num{line-height:inherit;flex:none}.toc a{color:var(--muted);text-decoration:none}.toc a:hover,.toc a.active{color:var(--text)}.toc a.active{font-weight:500}.toc-mobile{border:1px solid var(--line);margin-bottom:var(--s5);display:none}.toc-mobile summary{padding:var(--s3) var(--s4);cursor:pointer;font:500 14px var(--body)}.toc-mobile ol{padding:0 var(--s4) var(--s3) var(--s7);margin:0;font-size:15px}.toc-mobile li{margin-bottom:var(--s1)}.callout{margin:var(--s5) 0;padding:var(--s3) var(--s4);border-left:2px solid var(--text);background:var(--surface);font-size:16px}.callout-head{margin-bottom:var(--s2)}.callout-label{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;display:block}.callout-title{margin-top:var(--s2);font-weight:600;display:block}.callout p:last-child{margin-bottom:0}.callout.warn{border-left-color:var(--warn-text);background:var(--warn-bg)}.callout.warn .callout-label{color:var(--warn-text)}.callout-tip .callout-label,.callout-important .callout-label{color:var(--accent)}.callout code{background:var(--bg)}.checklist{margin:var(--s3) 0 var(--s5);border-top:1px solid var(--line)}.checklist-head{padding:var(--s2) 0;justify-content:space-between;align-items:baseline;display:flex}.checklist-head button{font:500 13px var(--mono);color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.checklist-head button:hover{color:var(--text)}.checklist-head button:disabled{color:var(--muted);opacity:.6;cursor:default;text-decoration:none}.prose .check-list{margin:0;padding:0;list-style:none}.prose .check-item{margin:0}.prose .check-list-nested{padding-left:calc(1.25rem + var(--s3))}.prose .check-list>.plain-item{padding-top:var(--s3);margin:0}.prose .check-list>.plain-item>p{margin-bottom:0}.check{gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:1.25rem minmax(0,1fr);display:grid}.check input{-webkit-appearance:none;appearance:none;border:1.5px solid var(--muted);background:var(--bg);cursor:pointer;border-radius:0;place-content:center;width:18px;height:18px;margin:4px 0 0;display:grid}.check input:hover{border-color:var(--text)}.check input:checked{background:var(--accent);border-color:var(--accent)}.check input:checked:after{content:"";border-top:0;border-bottom:2px solid #fff;border-left:2px solid #fff;border-right:0;width:9px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}:root[data-theme=dark] .check input:checked:after{border-color:#0f1011}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .check input:checked:after{border-color:#0f1011}}.check input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.check .setting{font-weight:500}.check .why{color:var(--muted);margin-top:2px;font-size:15px;font-weight:400;display:block}.check:has(input:checked) .setting{color:var(--muted)}pre{background:var(--surface);border:1px solid var(--line);padding:var(--s4);font:14px/1.6 var(--mono);margin:var(--s5) 0;tab-size:2;overflow-x:auto}pre code{font-size:inherit;line-height:inherit;overflow-wrap:normal;background:0 0;border:0;padding:0}pre.astro-code{background-color:var(--surface)!important}.astro-code,.astro-code span{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight)}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight)}}.code-cap{font:500 12px var(--mono);color:var(--muted);letter-spacing:.04em;margin-bottom:calc(-1 * var(--s5) + var(--s2));justify-content:space-between;display:flex}.next{margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--text);gap:var(--s5);grid-template-columns:1fr 1fr;display:grid}.next a{color:var(--text);text-decoration:none}.next a.later{text-align:right}.next a .t{font:600 18px/1.3 var(--display);margin-top:var(--s1);display:block}.next a:hover .t{color:var(--accent);text-decoration:underline}.feat-head{padding:var(--s9) 0 var(--s7);border-bottom:1px solid var(--text)}.feat-head .kicker{color:var(--accent)}.feat-head h1{letter-spacing:-.02em;max-width:16ch;margin-top:var(--s4);text-wrap:balance;font-size:56px;line-height:1.05}.feat-head .lede{max-width:36rem;font-size:22px}.feat-head .meta{margin-top:var(--s5)}.feat-body{--content:min(var(--measure), 100% - 2 * var(--gutter));--wide:min(var(--page) - 2 * var(--gutter), 100% - 2 * var(--gutter));grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [wide-start] minmax(0, calc((var(--wide) - var(--content)) / 2)) [content-start] var(--content) [content-end] minmax(0, calc((var(--wide) - var(--content)) / 2)) [wide-end] minmax(var(--gutter), 1fr) [full-end];max-width:none;margin-top:var(--s7);display:grid}.feat-body>*{grid-column:content;min-width:0}.feat-body>.wide{grid-column:wide}.feat-body>.full-bleed{grid-column:full}.feat-body .dropcap:first-letter,.feat-body>p:first-of-type.dropcap:first-letter{font:600 4.2em/.8 var(--display);float:left;color:var(--text);margin:.08em .08em 0 0}.pull{margin:var(--s7) 0;padding:var(--s5) 0;border-top:1px solid var(--text);border-bottom:1px solid var(--line)}.pull .meta{margin-bottom:var(--s3)}.pull p{font:400 19px/1.55 var(--display)}.entries{border-top:1px solid var(--text)}.entry{gap:var(--s6);padding:var(--s6) 0;border-bottom:1px solid var(--line);grid-template-columns:14rem minmax(0,1fr);display:grid}.entry .side{color:var(--muted);gap:var(--s2);flex-direction:column;align-items:flex-start;font-size:15px;display:flex}.entry h2{margin-bottom:var(--s3);font-size:26px;line-height:1.2}.entry p{max-width:var(--measure)}.entry .links{gap:var(--s2) var(--s5);flex-wrap:wrap;font-size:15px;display:flex}.status{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text);border:1px solid var(--line-strong);padding:4px 6px;display:inline-block}.dl{border-top:1px solid var(--text);grid-template-columns:12rem minmax(0,1fr);margin:0;display:grid}.dl dt,.dl dd{padding:var(--s3) 0;border-bottom:1px solid var(--line);margin:0}.dl dt{font:500 13px/1.9 var(--mono);color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.uses{max-width:52rem}.uses-group{margin-top:var(--s6)}.uses-group:first-child{margin-top:0}.uses-group h2{padding-bottom:var(--s2);border-bottom:1px solid var(--text);gap:var(--s3);align-items:baseline;font-size:22px;display:flex}.uses-group ul{margin:0;padding:0;list-style:none}.uses-group li{gap:var(--s5);padding:var(--s3) 0;border-bottom:1px solid var(--line);grid-template-columns:12rem minmax(0,1fr);font-size:16px;display:grid}.uses-group li span{color:var(--muted)}.tool-index{border-top:1px solid var(--text);max-width:46rem;margin:0;padding:0;list-style:none}.tool-index li{padding:var(--s4) 0;border-bottom:1px solid var(--line)}.tool-index a{font:600 20px/1.3 var(--display);color:var(--text);text-decoration:none}.tool-index a:hover{color:var(--accent);text-decoration:underline}.tool-index p{margin:var(--s1) 0 0;color:var(--muted);font-size:15px}.tool{border:1px solid var(--text);padding:var(--s6);max-width:40rem}.tool-out{font:500 40px/1.1 var(--mono);letter-spacing:.04em;min-height:1.2em;margin:var(--s3) 0 var(--s5);overflow-wrap:anywhere;display:block}.tool-out.many{columns:3 9rem;column-gap:var(--s5);font-size:18px;line-height:1.6}.tool-out.many span{display:block}.tool-row{gap:var(--s3) var(--s4);flex-wrap:wrap;align-items:flex-end;display:flex}.tool label{margin-bottom:var(--s1);font-size:15px;display:block}.tool select,.tool input[type=text],.tool input[type=number]{font:15px var(--body);color:var(--text);background:var(--bg);border:1px solid var(--muted);padding:var(--s2);border-radius:0;height:2.5rem}.tool input[type=text]{width:4.5rem;font-family:var(--mono);text-transform:uppercase}.tool input[type=number]{width:5rem}.tool .hint{color:var(--muted);margin-top:var(--s1);font-size:13px}.btn{font:500 15px var(--body);padding:var(--s2) var(--s4);border:1px solid var(--text);background:var(--text);color:var(--bg);cursor:pointer;border-radius:0}.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}:root[data-theme=dark] .btn:hover{color:#0f1011}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn:hover{color:#0f1011}}.btn.secondary{background:var(--bg);color:var(--text)}.btn.secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--bg)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{background:var(--bg);border-color:var(--text);color:var(--text)}.tool-status{color:var(--muted);font-size:14px}.history{margin:var(--s5) 0 0;font:14px var(--mono);color:var(--muted);gap:var(--s2) var(--s4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.history:empty{display:none}@media (width<=1180px){.art-grid{grid-template-columns:minmax(0,1fr)}.toc{display:none}.toc-mobile{display:block}}@media (width<=860px){.home-cols{gap:var(--s6);grid-template-columns:minmax(0,1fr)}.entry{gap:var(--s3);grid-template-columns:minmax(0,1fr)}}@media (width<=640px){body{font-size:16.5px}.site-head .wrap{gap:var(--s3)}.brand{width:100%}.nav ul{gap:var(--s4)}.theme-switch{margin-left:auto}.home-intro{padding-top:var(--s7)}.home-intro h1,.page-head h1,.art-head h1{font-size:30px}.feat-head h1{font-size:38px}.feat-head .lede{font-size:19px}.row{gap:var(--s1);grid-template-columns:minmax(0,1fr)}.row .when{gap:var(--s3);flex-direction:row;align-items:baseline;padding-top:0}.dl,.prose dl,.uses-group li{grid-template-columns:minmax(0,1fr)}.dl dt,.prose dt{border-bottom:0;padding-bottom:0}.uses-group li{gap:0}.next{grid-template-columns:minmax(0,1fr)}.next a.later{text-align:left}.tool{padding:var(--s4)}.tool-out{font-size:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.site-head,.site-foot,.toc,.toc-mobile,.checklist-head,.skip{display:none!important}body{font-size:12pt}a{color:inherit}}.redacted{vertical-align:-.12em;background:var(--text);width:8ch;height:.95em;margin:0 .1em;display:inline-block}.redacted--s{width:4ch}.redacted--l{width:14ch}@media (forced-colors:active){.redacted{forced-color-adjust:none;background:canvastext}}
