@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-condensed-latin-600-normal.DepVgxBB.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-600-normal.BFJEwTuo.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/barlow-condensed-latin-700-normal.v1xN8_Wq.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-700-normal.Dmwat-ge.woff)format("woff")}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-ext-wght-normal.DzyfIafT.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 Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-wght-normal.BMDVbyM7.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-ext-wght-normal.BWSLJLk6.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-wght-normal.C9H9m1vD.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 Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-vietnamese-wght-normal.C1uRvKPU.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 Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-ext-wght-normal.C8iNium2.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-wght-normal.BqRLTx4X.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 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:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff)format("woff")}:root{color-scheme:light;--bg:#fff;--bg-2:#f4f6f6;--panel:#fff;--panel-2:#f4f6f6;--line:#dde3e3;--line-2:#b9c4c4;--ink:#15201f;--ink-2:#44504f;--ink-3:#5f6b6a;--brand:#0e5a57;--brand-dark:#0a4240;--brand-wash:#e6f1f0;--accent:#c8400b;--accent-2:#a23308;--accent-ink:#c8400b;--accent-wash:#fdeee6;--ok:#1a7f4b;--warn:#8a5a00;--bad:#b3261e;--display:"Barlow Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--sans:"Source Sans 3 Variable", "Source Sans 3", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--w:75rem;--r:4px;--r-sm:3px}@view-transition{navigation:auto}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg);overflow-x:clip}body{background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}img,svg{max-width:100%;display:block}img{height:auto}a{color:var(--brand);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}::selection{background:var(--brand);color:#fff}h1,h2,h3{font-family:var(--display);letter-spacing:0;text-wrap:balance;color:var(--ink);margin:0 0 .5em;font-weight:700;line-height:1.08}h1{font-size:clamp(2.1rem,1.4rem + 2.6vw,3.25rem)}h2{margin-top:2.2em;font-size:clamp(1.55rem,1.3rem + .9vw,2rem)}h3{margin-top:1.7em;font-size:1.3rem;font-weight:600;line-height:1.15}p{text-wrap:pretty;max-width:70ch;margin:0 0 1em}small,.small{color:var(--ink-2);font-size:.875rem}code,.num{font-family:var(--mono);font-size:.92em}.wrap{width:min(100% - 2rem, var(--w));margin-inline:auto}.skip{position:absolute;left:-999px}.skip:focus{color:var(--ink);z-index:60;background:#fff;padding:.5rem .75rem;top:1rem;left:1rem}.vh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-head{background:var(--brand);color:#fff;z-index:50;position:relative}.site-head .wrap{align-items:center;gap:1.5rem;min-height:3.75rem;display:flex}.brand{color:#fff;font:700 1.7rem/1 var(--display);letter-spacing:.01em;align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.brand svg{width:28px;height:28px}.brand:hover{color:#fff}.nav{align-items:stretch;gap:0;margin-left:auto;display:flex}.nav a{color:#fff;font:600 1rem var(--sans);border-top:4px solid #0000;border-bottom:4px solid #0000;align-items:center;min-height:3.75rem;padding:0 .95rem;text-decoration:none;display:flex}.nav a:hover{background:var(--brand-dark);color:#fff}.nav a[aria-current=page]{border-bottom-color:#ffb48a}.nav-toggle{color:#fff;border-radius:var(--r);font:600 .95rem var(--sans);cursor:pointer;background:0 0;border:1px solid #ffffff8c;align-items:center;gap:.5rem;margin-left:auto;padding:.5rem .8rem;display:none}.nav-toggle svg{width:18px;height:18px}.nav-toggle:focus-visible,.nav a:focus-visible,.brand:focus-visible{outline-color:#fff}@media (width<=52rem){.nav-toggle{display:inline-flex}.nav{background:var(--brand-dark);flex-direction:column;margin:0;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 16px #0000002e}.nav.open{display:flex}.nav a{border:0;border-top:1px solid #ffffff24;min-height:3rem;padding:0 1rem}.nav a[aria-current=page]{background:var(--brand)}}.subhead{background:var(--bg-2);border-bottom:1px solid var(--line);font-size:.9rem}.subhead .wrap{flex-wrap:wrap;align-items:baseline;gap:.25rem 1.1rem;padding-block:.5rem;display:flex}.subhead b{color:var(--ink-2);font-weight:600}.subhead a{color:var(--ink);text-decoration:none}.subhead a:hover{color:var(--accent);text-decoration:underline}main{padding-block:1.5rem 4rem}.lede{color:var(--ink-2);max-width:62ch;font-size:1.2rem;line-height:1.5}.crumbs{color:var(--ink-3);margin-bottom:1.1rem;font-size:.875rem}.crumbs a{color:var(--ink-2)}.btn{font:600 .95rem var(--sans);border:1px solid var(--line-2);color:var(--ink);border-radius:var(--r);cursor:pointer;background:#fff;align-items:center;gap:.4rem;padding:.5rem .9rem;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-wash)}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.sec-head{border-bottom:1px solid var(--line-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin:2.75rem 0 1.1rem;padding-bottom:.45rem;display:flex;position:relative}.sec-head:after{content:"";background:var(--accent);width:4.5rem;height:3px;position:absolute;bottom:-1px;left:0}.sec-head h2{margin:0;font-size:1.75rem}.sec-head p{color:var(--ink-2);margin:0;font-size:.95rem}.sec-head .more{white-space:nowrap;font-size:.95rem;font-weight:600}.tag,.kicker{font:700 .8rem/1.2 var(--sans);color:var(--accent);letter-spacing:.02em;margin-bottom:.35rem;text-decoration:none;display:inline-block}.chips{flex-wrap:wrap;gap:.5rem;max-width:none;margin:1rem 0 0;display:flex}.ph{background:var(--bg-2);border-radius:var(--r);margin:0;overflow:hidden}.ph img{object-fit:cover;aspect-ratio:16/10;width:100%;height:100%}.credit{color:var(--ink-3);max-width:none;margin:.35rem 0 0;font-size:.8rem}.credit a{color:inherit}.front{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:1.75rem;display:grid}@media (width<=56rem){.front{grid-template-columns:minmax(0,1fr)}}.lead-story a.lead-link{color:inherit;text-decoration:none;display:block}.lead-story .ph img{aspect-ratio:16/9}.lead-story h1,.lead-story h2{margin:.2rem 0 .4rem;font-size:clamp(1.9rem,1.3rem + 2vw,2.75rem)}.lead-story p{color:var(--ink-2);margin:0;font-size:1.1rem}.lead-story .body{padding-top:.8rem}a.lead-link:hover h2,a.story:hover h3,a.pcard:hover h3,a.tool-link:hover h3{color:var(--brand);text-underline-offset:.12em;text-decoration:underline 2px}.side-stories{gap:0;margin:0;padding:0;list-style:none;display:grid}.side-stories li{border-bottom:1px solid var(--line);margin-bottom:.9rem;padding:0 0 .9rem}.side-stories li:last-child{border:0;margin:0;padding:0}.story{color:inherit;grid-template-columns:7.5rem minmax(0,1fr);align-items:start;gap:.85rem;text-decoration:none;display:grid}.story .ph img{aspect-ratio:4/3}.story h3{margin:0;font-size:1.2rem;line-height:1.12}.story .meta-line{margin-top:.3rem}.meta-line{color:var(--ink-3);margin:0;font-size:.82rem}.tools{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.tools.six{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=64rem){.tools,.tools.six{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=40rem){.tools,.tools.six{grid-template-columns:repeat(2,minmax(0,1fr))}}.tool-link{border:1px solid var(--line-2);border-radius:var(--r);height:100%;color:inherit;background:#fff;flex-direction:column;gap:.45rem;padding:.85rem .9rem .95rem;text-decoration:none;display:flex}.tool-link:hover{border-color:var(--brand);background:var(--brand-wash);color:inherit}.tool-link svg{width:30px;height:30px;color:var(--brand)}.tool-link h3{margin:0;font-size:1.2rem}.tool-link p{color:var(--ink-2);margin:0;font-size:.9rem;line-height:1.4}.tools-band{background:var(--bg-2);border-block:1px solid var(--line);margin-top:2rem;padding-block:.25rem 1.75rem}.tools-band .sec-head{margin-top:1.25rem}.grid,.pgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem 1.5rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.pgrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=60rem){.grid,.pgrid,.pgrid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=36rem){.grid,.pgrid{grid-template-columns:minmax(0,1fr)}.pgrid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem .9rem}}.pcard{height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}.pcard .ph{margin-bottom:.7rem}.pcard .ph.draw{border:1px solid var(--line);background:#fff;padding:.5rem}.pcard .ph.draw svg{width:100%;height:auto}.pcard h3{margin:0 0 .3rem;font-size:1.35rem}.pcard p{color:var(--ink-2);margin:0 0 .4rem;font-size:.96rem;line-height:1.45}.pcard .meta-line{margin-top:auto}.pcard:hover{color:inherit}.pcard:hover .ph img{opacity:.92}.card{border:1px solid var(--line-2);border-radius:var(--r);height:100%;color:inherit;background:#fff;flex-direction:column;padding:1rem 1.1rem;text-decoration:none;display:flex}a.card:hover{border-color:var(--brand);background:var(--brand-wash);color:inherit}.card h3{margin:0 0 .3rem;font-size:1.3rem}.card p{color:var(--ink-2);margin:0;font-size:.95rem}.card .readout{font:600 1.25rem/1 var(--mono);color:var(--ink);justify-content:space-between;align-items:baseline;gap:1rem;margin-top:auto;padding-top:.8rem;display:flex}.card .readout small{font:400 .8rem var(--sans);color:var(--ink-3)}.hub-head{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:1.75rem;margin-bottom:.5rem;padding-bottom:1.5rem;display:grid}.hub-head h1{margin-bottom:.3em}.hub-head .lede{margin:0;font-size:1.1rem}.hub-head .ph img{aspect-ratio:16/8}@media (width<=52rem){.hub-head{grid-template-columns:minmax(0,1fr);gap:1rem}.hub-head .ph{order:-1}}.article-head{max-width:52rem}.article-head h1{margin:.1rem 0 .35em}.article-head .lede{margin-bottom:.8rem}.byline{color:var(--ink-3);max-width:none;margin:0 0 1.25rem;font-size:.9rem}.cover{margin:0 0 1.75rem}.cover .ph img{aspect-ratio:21/9;max-height:27rem}.with-side{grid-template-columns:minmax(0,1fr) 18.5rem;align-items:start;gap:3rem;display:grid}@media (width<=60rem){.with-side{grid-template-columns:minmax(0,1fr);gap:2rem}}.with-side>*{min-width:0}.side{gap:1.5rem;font-size:.95rem;display:grid;position:sticky;top:1rem}@media (width<=60rem){.side{position:static}}.side-box{border-top:3px solid var(--brand);background:var(--bg-2);border-radius:0;padding:.9rem 1rem 1rem}.side-box h2{margin:0 0 .6rem;font-size:1.2rem}.side-box ol,.side-box ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.side-box a{color:var(--ink);line-height:1.3;text-decoration:none;display:block}.side-box a:hover{color:var(--accent);text-decoration:underline}.side-box ol{counter-reset:toc}.side-box ol li{counter-increment:toc;grid-template-columns:1.4rem minmax(0,1fr);display:grid}.side-box ol li:before{content:counter(toc) ".";color:var(--ink-3);font-variant-numeric:tabular-nums}.tool{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:1.25rem;margin-top:1.75rem;display:grid}@media (width<=52rem){.tool{grid-template-columns:minmax(0,1fr)}.result{position:static!important}}.tool>*,.prose,.scroll{min-width:0}.panel{border:1px solid var(--line-2);border-radius:var(--r);background:#fff;padding:1.25rem}.panel h2{border-bottom:1px solid var(--line);margin:0 0 1rem;padding-bottom:.4rem;font-size:1.35rem}.fields{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.95rem;display:grid}.field label{color:var(--ink);margin-bottom:.3rem;font-size:.92rem;font-weight:600;display:block}.field .hint{color:var(--ink-3);margin-top:.3rem;font-size:.84rem;line-height:1.35;display:block}.input{border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;align-items:stretch;display:flex;overflow:hidden}.input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-wash);outline:2px solid var(--brand);outline-offset:0}.input input,.input select{min-width:0;font:500 1.05rem var(--mono);color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:.6rem .7rem}.input select{font-family:var(--sans);font-size:1rem}.input .unit{font:.85rem var(--sans);color:var(--ink-2);background:var(--bg-2);border-left:1px solid var(--line);white-space:nowrap;place-items:center;padding-inline:.7rem;display:grid}fieldset{border:0;margin:1.5rem 0 0;padding:0}legend{font:700 1rem var(--sans);color:var(--ink);margin-bottom:.75rem;padding:0}.result{background:var(--brand-wash);border-color:var(--brand);position:sticky;top:1rem}.result h2{border-bottom-color:#0e5a5740}.big{font:600 clamp(2.4rem, 1.6rem + 2.8vw, 3.6rem)/1.05 var(--mono);letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums;margin:.25rem 0}.big small{color:var(--ink-2);letter-spacing:0;margin-left:.35em;font-size:.36em}.rows{border-top:1px solid #0e5a5740;margin:1.1rem 0 0;padding:0;list-style:none}.rows li{color:var(--ink-2);border-bottom:1px solid #0e5a572e;justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.97rem;display:flex}.rows li strong{color:var(--ink)}.rows li span:last-child,.rows li strong:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink)}.bar{background:#d5dddc;border-radius:2px;height:10px;margin-top:1.1rem;display:flex;overflow:hidden}.bar i{height:100%;display:block}.bar i:first-child{background:#c8400b}.bar i:nth-child(2){background:#0e5a57}.bar i:nth-child(3){background:#d99a1c}.bar i:nth-child(4){background:#6b7775}.legend{color:var(--ink-2);flex-wrap:wrap;gap:.3rem 1rem;margin-top:.7rem;padding:0;font-size:.85rem;list-style:none;display:flex}.legend li:before{content:"";background:var(--c);width:.6rem;height:.6rem;margin-right:.4rem;display:inline-block}.err{color:var(--bad);min-height:1.3em;margin:.7rem 0 0;font-size:.92rem}.formula{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);font:.88rem/1.75 var(--mono);color:var(--ink);white-space:pre;padding:.9rem 1rem;overflow-x:auto}.note{border-radius:var(--r-sm);max-width:70ch;color:var(--ink);background:#fff8e6;border:1px solid #e0bf6a;margin:1.4rem 0;padding:.85rem 1rem;font-size:.98rem}.note p:last-child{margin:0}.note strong{color:var(--warn)}.scroll{border:1px solid var(--line-2);border-radius:var(--r);background:#fff;margin:1.4rem 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}caption{text-align:left;color:var(--ink-3);caption-side:bottom;border-top:1px solid var(--line);padding:.7rem .9rem;font-size:.86rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap;padding:.6rem .85rem}td.wrapcell{white-space:normal;min-width:16rem}thead th{background:var(--brand);color:#fff;font:600 .9rem var(--sans);position:sticky;top:0}thead th a{color:#fff}tbody tr:nth-child(2n){background:var(--bg-2)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--brand-wash)}td.n{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.9rem}td strong{font-weight:600}.nil{color:var(--ink-3)}.src{font-size:.84rem}.diff{background:var(--accent-wash)!important}.prose{margin-top:1rem}.tool+.prose{margin-top:3rem}.prose h2:first-child{margin-top:0}.prose h2{scroll-margin-top:1rem}.prose ul,.prose ol{max-width:68ch;padding-left:1.3rem}.prose li{margin-bottom:.4rem}.prose li::marker{color:var(--brand);font-weight:600}.prose img{border-radius:var(--r)}.article-body{font-size:1.125rem;line-height:1.68}.article-body p,.article-body ul,.article-body ol{max-width:70ch}.meta{color:var(--ink-3);border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1rem;font-size:.9rem}.ad{text-align:center;max-width:100%;min-height:280px;margin:2rem auto}.ad-label{color:var(--ink-3);margin-bottom:.3rem;font-size:.72rem;display:block}.side .ad{min-height:600px;margin:0}.site-foot{color:#d5dfde;border-top:4px solid var(--accent);background:#142423;margin-top:2rem;font-size:.95rem}.site-foot .wrap{grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:2rem;padding-block:2.5rem 1.5rem;display:grid}@media (width<=52rem){.site-foot .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.site-foot .wrap>:first-child{grid-column:1/-1}}.site-foot h2{font:700 1.15rem var(--display);color:#fff;margin:0 0 .7rem}.site-foot p{color:#d5dfde;font-size:.95rem}.site-foot ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.site-foot a,.site-foot button.linklike{color:#d5dfde;text-decoration:none}.site-foot a:hover,.site-foot button.linklike:hover{color:#fff;text-decoration:underline}.site-foot :focus-visible{outline-color:#fff}button.linklike{font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.site-foot .legal{color:#aebbba;border-top:1px solid #ffffff26;grid-template-columns:none;padding-block:1rem 1.5rem;font-size:.85rem;display:block}.site-foot .legal p{max-width:none;color:inherit;font-size:inherit;margin:0}.hub-head.solo{grid-template-columns:minmax(0,1fr)}.prose.doc{max-width:46rem}.ph.draw .ps-draw{border:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@view-transition{navigation:none}}@media print{.site-head,.subhead,.site-foot,.btn,.ad,.side{display:none}}
