@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fraunces-latin-600-normal.BFCDtZfi.woff2)format("woff2"),url(/_astro/fraunces-latin-600-normal.DL5QCzvS.woff)format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/fraunces-latin-700-normal.CEOla-zY.woff2)format("woff2"),url(/_astro/fraunces-latin-700-normal.DTjk5d1Q.woff)format("woff")}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/newsreader-latin-400-normal.BFBkh4jY.woff2)format("woff2"),url(/_astro/newsreader-latin-400-normal.gRTjlS2D.woff)format("woff")}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/newsreader-latin-400-italic.CEihAR-f.woff2)format("woff2"),url(/_astro/newsreader-latin-400-italic.CNZoH1hn.woff)format("woff")}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/newsreader-latin-600-normal.30OJ_TG_.woff2)format("woff2"),url(/_astro/newsreader-latin-600-normal.DUnT2r2g.woff)format("woff")}@font-face{font-family:Libre Franklin;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/libre-franklin-latin-500-normal.Cbta7Jiu.woff2)format("woff2"),url(/_astro/libre-franklin-latin-500-normal.BQKhRarp.woff)format("woff")}@font-face{font-family:Libre Franklin;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/libre-franklin-latin-600-normal.BBKMvfE-.woff2)format("woff2"),url(/_astro/libre-franklin-latin-600-normal.DjS29Py2.woff)format("woff")}@font-face{font-family:Libre Franklin;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/libre-franklin-latin-700-normal.TBBKpXzk.woff2)format("woff2"),url(/_astro/libre-franklin-latin-700-normal.CP58KLQO.woff)format("woff")}@font-face{font-family:Libre Franklin;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/libre-franklin-latin-800-normal.IoztdYMZ.woff2)format("woff2"),url(/_astro/libre-franklin-latin-800-normal.C1oVkKH1.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")}:root{--ink:#121212;--ink-2:#3a3a3a;--paper:#fff;--card:#f6f5f2;--rule:#dddad3;--rule-strong:#121212;--slate:#66625a;--signal:#c4161c;--verdigris:#2f5a50;--brass:#a9823c;--oxblood:#7c3a2d;--serif-display:"Fraunces", Georgia, serif;--serif:"Newsreader", Georgia, "Times New Roman", serif;--sans:"Libre Franklin", "Helvetica Neue", Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--measure:40rem;--page:76rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:400 1.125rem/1.65 var(--serif);margin:0}img{max-width:100%;height:auto}.wrap{max-width:var(--page);padding-left:max(1rem, env(safe-area-inset-left,0px));padding-right:max(1rem, env(safe-area-inset-right,0px));margin:0 auto}main.wrap{padding-bottom:4rem}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}.prose a,.lede a,.small a,.meta a,.panel a:not(.btn){color:var(--verdigris)}a:hover{color:var(--signal)}:focus-visible{outline:3px solid var(--signal);outline-offset:2px;border-radius:2px}.skip{background:var(--ink);color:var(--paper);z-index:10;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{left:1rem}h1,h2,h3,h4{font-family:var(--serif-display);letter-spacing:-.012em;text-wrap:balance;font-weight:600;line-height:1.12}h1{max-width:22ch;margin:1.25rem 0 .75rem;font-size:clamp(2.2rem,5.2vw,3.4rem)}h2{margin:2.5rem 0 .75rem;font-size:1.55rem}h3{margin:1.5rem 0 .4rem;font-size:1.2rem}.prose,.prose p,.prose li{max-width:var(--measure)}.lede{color:var(--ink-2);max-width:var(--measure);margin-top:0;font-size:1.35rem;line-height:1.45}.small,.meta{font:500 .9rem/1.5 var(--sans);color:var(--slate)}.meta a{color:var(--ink);font-weight:600;text-decoration:none}.kicker{font:700 .8rem/1.2 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--slate);margin:2rem 0 0}.kicker.now{color:var(--signal)}article>h1,article>.lede,article>.meta,article>.kicker{max-width:var(--measure);margin-left:auto;margin-right:auto}article>h1{font-size:clamp(2.3rem,5.4vw,3.6rem);font-weight:700}article>.meta{border-bottom:1px solid var(--rule);padding-bottom:1rem}article .prose{margin-left:auto;margin-right:auto;font-size:1.2rem;line-height:1.7}article .prose>p:first-of-type:first-letter{float:left;font:700 4.1rem/.85 var(--serif-display);color:var(--ink);padding:.35rem .6rem 0 0}article>section,article>.panel,article>.two-col,article>.tags,article>.cta,article>.notice{max-width:52rem;margin-left:auto;margin-right:auto}.utility{border-bottom:1px solid var(--rule);font:500 .82rem/1 var(--sans);color:var(--slate)}.utility .wrap{justify-content:space-between;gap:1rem;padding-top:.55rem;padding-bottom:.55rem;display:flex}.utility a{color:var(--ink);font-weight:600;text-decoration:none}.masthead{background:var(--paper);border-bottom:3px double var(--rule-strong)}.masthead-inner{flex-direction:column;align-items:center;padding-top:1.1rem;padding-bottom:0;display:flex}.wordmark{font-family:var(--serif-display);letter-spacing:-.02em;color:var(--ink);font-size:clamp(2rem,6vw,3.4rem);font-weight:700;line-height:1;text-decoration:none}.wordmark:hover{color:var(--ink)}.descriptor{font:500 .95rem/1.4 var(--sans);color:var(--slate);text-align:center;max-width:36rem;margin:.45rem 0 .85rem}.sections{border-top:1px solid var(--rule);width:100%}.sections ul{font:700 .85rem/1.2 var(--sans);letter-spacing:.02em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:0 1.6rem;margin:0;padding:.6rem 0;list-style:none;display:flex}.sections a{color:var(--ink);border-bottom:2px solid #0000;padding:.25rem 0;text-decoration:none}.sections a:hover,.sections a[aria-current]{border-bottom-color:var(--ink);color:var(--ink)}.alert{background:var(--card);color:var(--ink);font:500 .95rem/1.35 var(--sans);border-bottom:1px solid var(--rule)}.alert .wrap{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;padding-top:.6rem;padding-bottom:.6rem;display:flex}.alert a{color:var(--signal);font-weight:700}.alert a:hover{color:var(--ink)}.crumbs ol{font:500 .82rem/1.4 var(--sans);color:var(--slate);flex-wrap:wrap;gap:.25rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.crumbs a{text-decoration:none}.crumbs li+li:before{content:"/";color:var(--rule);margin-right:.25rem}.front{grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:0 2.5rem;padding-top:1.75rem;display:grid}.lead{border-right:1px solid var(--rule);padding-right:2.5rem}.lead .kicker{margin-top:0}.lead h2{font:700 clamp(2rem, 4.4vw, 3.1rem)/1.06 var(--serif-display);letter-spacing:-.02em;max-width:20ch;margin:.5rem 0 .75rem}.lead h2 a{text-decoration:none}.lead .dek{color:var(--ink-2);max-width:38rem;margin:0 0 1.2rem;font-size:1.25rem;line-height:1.45}.rail h2,.band h2{font:800 .85rem/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;border-top:3px solid var(--ink);margin:0 0 .5rem;padding-top:.6rem}.headlines{margin:0;padding:0;list-style:none}.headlines li{border-bottom:1px solid var(--rule);padding:.85rem 0}.headlines .tag{margin-bottom:.2rem;display:block}.headlines a{font:600 1.15rem/1.25 var(--serif-display);text-decoration:none}.headlines a:hover{color:var(--ink);text-decoration:underline}.headlines p{color:var(--ink-2);margin:.3rem 0 0;font-size:.98rem;line-height:1.45}.headlines time{font:500 .8rem/1 var(--sans);color:var(--slate)}.band{margin-top:2.75rem}.oddsline{font:500 .95rem/1.5 var(--sans);color:var(--ink-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:0 0 1.1rem;padding:.6rem 0}.oddsline b{color:var(--ink);font-weight:700}.series-block{border-top:3px solid var(--ink);margin-top:1.75rem;padding-top:1rem}.series-block h2{font:700 1.5rem/1.2 var(--serif-display);margin:.3rem 0 .5rem}.series-block ol{gap:.6rem;margin:0;padding-left:1.4rem;display:grid}.series-block li a{font:600 1.1rem/1.3 var(--serif-display);text-decoration:none}.series-block li a:hover{color:var(--ink);text-decoration:underline}.series-block li p{color:var(--ink-2);margin:.2rem 0 0;font-size:.98rem;line-height:1.45}.practice{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;display:grid}.practice h3{margin:.6rem 0 .35rem;font-size:1.25rem}.practice p{color:var(--ink-2);max-width:34rem;margin:0 0 .6rem;font-size:1.02rem;line-height:1.55}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2rem;display:grid}.cards article{border-bottom:1px solid var(--rule);padding:.9rem 0 1.2rem}.cards h3{margin:.25rem 0 .4rem;font-size:1.3rem}.cards h3 a{text-decoration:none}.cards p{color:var(--ink-2);margin:0;font-size:1rem;line-height:1.5}.subscribe{border-top:3px double var(--ink);border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin-top:3rem;padding:1.75rem 0;display:flex}.subscribe p{font:italic 400 1.3rem/1.4 var(--serif);max-width:40rem;margin:0}@media (width<=60rem){.front{grid-template-columns:minmax(0,1fr)}.lead{border-right:0;border-bottom:1px solid var(--rule);margin-bottom:1.5rem;padding-bottom:1.5rem;padding-right:0}.cards,.practice{grid-template-columns:minmax(0,1fr)}}@media (width<=34rem){.sections ul{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.utility .wrap span:first-child{display:none}}.mono,code,pre{font-family:var(--mono);font-size:.85rem}pre{white-space:pre-wrap;overflow-wrap:anywhere}.prose table{display:block;overflow-x:auto}.hash{font-family:var(--mono);color:var(--verdigris);word-break:break-all;font-size:.8rem}.panel{background:var(--card);border:0;border-top:3px solid var(--ink);margin:2rem 0;padding:1.1rem 1.4rem 1.3rem}.panel h2{font:800 .9rem/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;margin-top:0}.panel.verify{border-top-color:var(--verdigris)}.panel.source{border-top-color:var(--brass)}.files{margin:0;padding:0;list-style:none}.files li{overflow-wrap:anywhere;border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;padding:.75rem 0;display:grid}.files li:first-child{border-top:0}.files .hash{grid-column:1/-1}.files .file-links{flex-wrap:wrap;grid-column:1/-1;gap:.25rem 1rem;display:flex}.btn{font:700 .9rem/1 var(--sans);border:2px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;border-radius:0;padding:.7rem 1.1rem;text-decoration:none;display:inline-block}.btn:hover{background:var(--signal);border-color:var(--signal);color:#fff}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover{background:var(--ink);color:var(--paper)}.btn.live{background:var(--signal);border-color:var(--signal);color:#fff}.btn.live:hover{background:var(--ink);border-color:var(--ink)}.actions{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:1rem;display:flex}dl.facts{grid-template-columns:max-content 1fr;gap:.35rem 1.25rem;margin:0;display:grid}dl.facts dt{font:600 .9rem/1.6 var(--sans);color:var(--slate)}dl.facts dd{margin:0}@media (width<=36rem){dl.facts{grid-template-columns:1fr}dl.facts dd{margin-bottom:.5rem}}.two-col{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (width<=48rem){.two-col{grid-template-columns:1fr}}.cite pre{white-space:pre-wrap;word-break:break-word;background:var(--paper);border:1px solid var(--rule);margin:.25rem 0 .5rem;padding:.75rem}.cite h3{font:700 .75rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--verdigris);margin:1rem 0 0}.copied{font-family:var(--mono);color:var(--verdigris);margin-left:.5rem;font-size:.8rem}.table-scroll{border-top:2px solid var(--ink);background:var(--paper);overflow-x:auto}table{border-collapse:collapse;width:100%;font:400 .88rem/1.45 var(--sans)}caption{text-align:left;caption-side:top;padding:.75rem 0;font-weight:700}th,td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:.45rem .6rem}th{font:700 .75rem/1.3 var(--sans);color:var(--slate);white-space:nowrap}td.num{text-align:right;font-variant-numeric:tabular-nums}.entries{margin:0;padding:0;list-style:none}.entries li{border-top:1px solid var(--rule);padding:1rem 0}.entries h3{margin:.25rem 0}.entries h3 a{color:var(--ink);text-decoration:none}.entries h3 a:hover{text-decoration:underline}.entries p{margin:.25rem 0}.tag{font:700 .72rem/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--verdigris)}.tags{flex-wrap:wrap;gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:flex}.tags a{font:600 .78rem/1 var(--sans);border:1px solid var(--ink);padding:.4rem .6rem;text-decoration:none}.tags a:hover{background:var(--ink);color:var(--paper)}.changelog{padding:0;font-size:.95rem;list-style:none}.changelog time{font-family:var(--mono);color:var(--slate);margin-right:.75rem;font-size:.8rem}.cta{border-top:1px solid var(--rule);font:500 .95rem/1.5 var(--sans);color:var(--slate);margin-top:3rem;padding-top:1rem}.notice{border-left:4px solid var(--oxblood);background:var(--card);margin:1rem 0;padding:.75rem 1rem;font-size:.95rem}.site-footer{border-top:3px double var(--ink);font:500 .9rem/1.5 var(--sans);color:var(--slate);padding:2rem 0 3rem}.footer-name{font:700 1.6rem/1 var(--serif-display);color:var(--ink);letter-spacing:-.01em;margin:0 0 .4rem}.footer-links{flex-wrap:wrap;gap:.25rem 1.25rem;padding:0;list-style:none;display:flex}.footer-links a{color:var(--ink);font-weight:600;text-decoration:none}@media print{.utility,.sections,.alert,.crumbs,.site-footer,.btn,.cta,.skip{display:none!important}a:after{content:" (" attr(href) ")";font-size:.8em}}.signup{border:2px solid var(--ink);max-width:42rem;margin:2.5rem 0;padding:1.25rem}.signup h2{font:800 1.25rem/1.2 var(--sans);margin:0 0 .4rem}.signup p{margin:0 0 .75rem}.signup-row{flex-wrap:wrap;gap:.5rem;display:flex}.signup input[type=email]{min-width:0;font:500 1rem/1.2 var(--sans);border:2px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0;flex:14rem;padding:.65rem .75rem}.signup .hp{width:1px;height:1px;position:absolute;left:-9999px}.signup .vh,.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
