@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-cyrillic-ext-400-normal.BwJdxs7r.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-ext-400-normal.BqOlcezh.woff)format("woff");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";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-cyrillic-400-normal.DjhbW-4D.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-400-normal.DkNBMcYd.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-greek-ext-400-normal.CpIwTHMM.woff2)format("woff2"),url(/_astro/source-sans-3-greek-ext-400-normal.CN4VBqpr.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-greek-400-normal.DZReXJla.woff2)format("woff2"),url(/_astro/source-sans-3-greek-400-normal.DyO2Yfz5.woff)format("woff");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";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-vietnamese-400-normal.CwtaIDr2.woff2)format("woff2"),url(/_astro/source-sans-3-vietnamese-400-normal.eMQk7hmk.woff)format("woff");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";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-ext-400-normal.UNsKFIBq.woff2)format("woff2"),url(/_astro/source-sans-3-latin-ext-400-normal.D5P-Ud2J.woff)format("woff");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 Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-400-normal.DQi5PRDE.woff2)format("woff2"),url(/_astro/source-sans-3-latin-400-normal.RR2C27NP.woff)format("woff");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 Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-cyrillic-ext-600-normal.6AhwUnSr.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-ext-600-normal.Cjpx_pje.woff)format("woff");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";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-cyrillic-600-normal.BnFu5nHC.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-600-normal.CloKWf-q.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-greek-ext-600-normal.DynePNDL.woff2)format("woff2"),url(/_astro/source-sans-3-greek-ext-600-normal.CnpzyT-3.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-greek-600-normal.BSO157bq.woff2)format("woff2"),url(/_astro/source-sans-3-greek-600-normal.B42bzTIr.woff)format("woff");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";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-vietnamese-600-normal.B2sTNYey.woff2)format("woff2"),url(/_astro/source-sans-3-vietnamese-600-normal.BzH4Q14_.woff)format("woff");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";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-latin-ext-600-normal.AEyhgUpm.woff2)format("woff2"),url(/_astro/source-sans-3-latin-ext-600-normal.D2VZAM8_.woff)format("woff");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 Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-latin-600-normal.DeckBYAU.woff2)format("woff2"),url(/_astro/source-sans-3-latin-600-normal.Ck0n4g8U.woff)format("woff");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 Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-cyrillic-ext-700-normal.BhUSqjb8.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-ext-700-normal.COA7LiPB.woff)format("woff");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";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-cyrillic-700-normal.CIuudVLB.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-700-normal.D_p3L75o.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-greek-ext-700-normal.Dd6uIcuy.woff2)format("woff2"),url(/_astro/source-sans-3-greek-ext-700-normal.KTP46hTS.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-greek-700-normal.C8Tp2qRF.woff2)format("woff2"),url(/_astro/source-sans-3-greek-700-normal.C-sAg5NG.woff)format("woff");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";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-vietnamese-700-normal.Bgamivog.woff2)format("woff2"),url(/_astro/source-sans-3-vietnamese-700-normal.W-J7ohm4.woff)format("woff");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";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-latin-ext-700-normal.6Xi0A2be.woff2)format("woff2"),url(/_astro/source-sans-3-latin-ext-700-normal.C1ecyfgK.woff)format("woff");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 Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-latin-700-normal.CkzU-mV9.woff2)format("woff2"),url(/_astro/source-sans-3-latin-700-normal.B-h9tW5h.woff)format("woff");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}:root{--ground:#eceef1;--paper:#fff;--panel:#f5f6f8;--ink:#1a1d21;--ink-2:#555c65;--line:#dde1e6;--line-strong:#1a1d21;--red:#b3121b;--on-red:#fff;--code-bg:#f5f6f8;--wrap:1160px;--read:37rem;--pad:clamp(1rem, 3vw, 2rem);--font:"Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root{--ground:#141516;--paper:#1c1d1f;--panel:#25272a;--ink:#ececec;--ink-2:#b0b2b6;--line:#35383c;--line-strong:#c8cacd;--red:#ff8f87;--on-red:#1a1f25;--code-bg:#18191b;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--ink-2) var(--ground)}body{background:var(--ground);color:var(--ink);font-family:var(--font);margin:0;font-size:1.125rem;line-height:1.6}::selection{background:var(--red);color:var(--on-red)}a{color:var(--red);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:2px solid var(--red);outline-offset:2px}img{max-width:100%;height:auto}time,.prose table,.teaser .meta{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{position:absolute;left:-999px}.skip:focus{background:var(--paper);border:1px solid var(--line);z-index:10;padding:.5rem 1rem;top:1rem;left:1rem}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.wrap{max-width:var(--wrap);padding:0 var(--pad);margin:0 auto}.brand{letter-spacing:-.01em;color:var(--ink);align-items:center;gap:.55rem;padding:.9rem 0;font-size:1.4rem;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand b{color:var(--red);font-weight:700}.brand svg{flex:none}.nav{flex-wrap:wrap;gap:.2rem 1.4rem;font-size:1rem;display:flex}.nav a{color:var(--ink);padding:.25rem 0}.nav a:hover{color:var(--red);text-decoration:none}.nav a[aria-current=page]{color:var(--red);box-shadow:inset 0 -2px 0 var(--red)}.paper{max-width:var(--wrap);background:var(--paper);min-height:60vh;margin:0 auto;display:flow-root}main{padding:0 var(--pad) 3rem}.site-footer{max-width:var(--wrap);border-top:1px solid var(--line);background:var(--panel);margin:0 auto 2rem}.footer-cols{color:var(--ink-2);grid-template-columns:1.2fr 2fr 1fr;margin:0;font-size:.95rem;display:grid}.footer-cols>div{padding:1rem var(--pad) 1.2rem}.footer-cols>div+div{border-left:1px solid var(--line)}.footer-cols dt{text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.78rem;font-weight:600}.footer-cols dd{color:var(--ink);margin:0}.footer-cols nav{flex-direction:column;display:flex}.intro{border-bottom:1px solid var(--line);padding:clamp(1.6rem,4vw,2.6rem) 0 1.4rem}.intro h1{letter-spacing:-.015em;text-wrap:balance;max-width:26ch;margin:0 0 .6rem;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.12}.intro p{color:var(--ink-2);max-width:62ch;margin:0;font-size:1.15rem}.columns{grid-template-columns:minmax(0,1fr) 300px;gap:clamp(1.5rem,3vw,2.5rem);padding-top:1.5rem;display:grid}.list-title{letter-spacing:-.01em;margin:0 0 .3rem;font-size:1.6rem}.picks{border-bottom:1px solid var(--line);padding:1.5rem 0 1.6rem}.picks-head p{color:var(--ink-2);margin:0 0 1rem;font-size:1rem}.picks-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.pick{background:var(--panel);border:1px solid var(--line);flex-direction:column;padding:1rem 1.1rem 0;display:flex}.pick-use{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-size:.78rem;font-weight:600}.pick h3{margin:.25rem 0 .45rem;font-size:1.18rem;line-height:1.3}.pick p{color:var(--ink-2);margin:0 0 .6rem;font-size:.98rem;line-height:1.5}.pick-guide{margin-bottom:.9rem;font-weight:600}.pick-guide:after{content:" ›"}.pick-buy{border-top:1px solid var(--line);background:var(--paper);color:var(--ink);margin:auto -1.1rem 0;padding:.65rem 1.1rem;font-size:.95rem;font-weight:700;line-height:1.35;text-decoration:none}.pick-buy:hover{color:var(--red);text-decoration:none}.pick-buy:after{content:" →";color:var(--red)}.teasers{margin:0;padding:0;list-style:none}.teaser{border-bottom:1px solid var(--line);padding:1.1rem 0 1.15rem}.teaser:last-child{border-bottom:0}.teaser-title{letter-spacing:-.005em;margin:0 0 .3rem;font-size:1.22rem;line-height:1.3}.teaser-title a{color:var(--ink)}.teaser-title a:hover{color:var(--red);text-decoration:none}.teaser p{color:var(--ink-2);max-width:72ch;margin:0 0 .4rem;font-size:1.02rem;line-height:1.5}.teaser .meta{color:var(--ink-2);font-size:.9rem}.teaser .meta a{color:var(--red);font-weight:600}.teaser .meta span[aria-hidden]{margin:0 .4rem}.side{flex-direction:column;gap:1.25rem;display:flex}.box{background:var(--panel);border:1px solid var(--line);padding:1rem 1.1rem 1.1rem}.box h2{margin:0 0 .5rem;font-size:1.3rem}.box ul{margin:0;padding:0;font-size:1rem;line-height:1.45;list-style:none}.box li{padding:.3rem 0}.box li+li{border-top:1px solid var(--line)}.box li a:before{content:"» "}.box small{color:var(--ink-2);font-size:.9rem}.box p{color:var(--ink-2);margin:0;font-size:.95rem}.page-head{border-bottom:1px solid var(--line);padding:clamp(1.4rem,3vw,2rem) 0 .4rem}.page-head h1{margin:0 0 .4rem;font-size:clamp(1.8rem,3.6vw,2.4rem);line-height:1.15}.page-head p{color:var(--ink-2);max-width:62ch;margin:0 0 1rem}.empty{color:var(--ink-2)}.page{max-width:var(--read);padding-top:1.2rem}.page h1{font-size:clamp(1.8rem,3.6vw,2.4rem);line-height:1.15}.crumbs{color:var(--ink-2);margin:1.2rem 0 0;font-size:.92rem}.crumbs a{color:var(--ink-2)}.crumbs a:hover{color:var(--red)}.crumbs span[aria-hidden]{margin:0 .45rem}.article{max-width:var(--read)}.tb{border:1px solid var(--line-strong);margin:.8rem 0 1.5rem}.tb-title{padding:1rem 1.2rem 1.1rem}.tb-title h1{letter-spacing:-.015em;text-wrap:balance;margin:0 0 .45rem;font-size:clamp(1.85rem,3.8vw,2.5rem);line-height:1.12}.tb-title p{color:var(--ink-2);margin:0;font-size:1.1rem;line-height:1.45}.tb-cells{border-top:1px solid var(--line-strong);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.tb-cell{padding:.5rem 1.2rem .6rem}.tb-cell+.tb-cell{border-left:1px solid var(--line-strong)}.tb-cell dt{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:.74rem;font-weight:600}.tb-cell dd{margin:.05rem 0 0;font-size:1rem;font-weight:600}.tb-note{border-top:1px solid var(--line-strong);color:var(--ink-2);background:var(--panel);margin:0;padding:.5rem 1.2rem .55rem;font-size:.9rem}.star{color:var(--red);font-weight:700}.callout{background:var(--panel);border:1px solid var(--line);margin:0 0 1.6rem;padding:.9rem 1.2rem 1rem}.callout-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.2rem;font-size:.8rem;font-weight:700;display:block}.callout p{margin:0}.toc{margin:0 0 2rem}.toc-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.35rem;font-size:.8rem;font-weight:700;display:block}.toc ol{border-top:1px solid var(--line);counter-reset:toc;margin:0;padding:0;list-style:none}.toc li{counter-increment:toc;border-bottom:1px solid var(--line)}.toc a{color:var(--ink);align-items:center;gap:.75rem;padding:.4rem 0;display:flex}.toc a:hover{color:var(--red);text-decoration:none}.toc a:before{content:counter(toc);border:1.5px solid var(--red);width:1.6rem;height:1.6rem;color:var(--red);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:inline-grid}.prose{max-width:var(--read);counter-reset:sec}.article .prose,.article .author{max-width:none}.prose h2{letter-spacing:-.01em;margin:2.6rem 0 .75rem;scroll-margin-top:1rem;font-size:1.65rem;line-height:1.2}.article .prose h2{counter-increment:sec;align-items:baseline;gap:.65rem;display:flex}.article .prose h2:before{content:counter(sec);border:1.5px solid var(--red);width:1.85rem;height:1.85rem;color:var(--red);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:700;display:inline-grid;transform:translateY(-.15em)}.prose h3{margin:1.9rem 0 .45rem;font-size:1.25rem;line-height:1.3}.prose p,.prose ul,.prose ol{margin:0 0 1.1rem}.prose li{margin:.3rem 0}.prose ul{padding-left:1.2rem}.prose a{text-underline-offset:3px;text-decoration:underline 1px}.prose a:hover{color:var(--ink);text-decoration-thickness:2px}.prose a.affiliate{font-weight:700;text-decoration:none}.prose a.affiliate:hover{text-decoration:underline}.prose p:has(>a.affiliate:only-child){background:var(--panel);border:1px solid var(--line);margin:0 0 1.1rem;padding:.65rem 1rem}.prose p:has(>a.affiliate:only-child)+p:has(>a.affiliate:only-child){border-top:0;margin-top:-1.1rem}.prose p:has(>a.affiliate:only-child) a:after{content:" →";color:var(--red);font-weight:700}.prose table{border-collapse:collapse;border:1px solid var(--line);width:100%;margin:1.3rem 0 1.6rem;font-size:1rem}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.5rem .75rem}.prose th{background:var(--panel);font-size:.95rem;font-weight:700}.prose tbody tr:last-child td{border-bottom:0}.prose td:first-child{font-weight:600}.prose code{font-family:var(--mono);background:var(--code-bg);border:1px solid var(--line);padding:.08rem .3rem;font-size:.85em}.prose pre{border:1px solid var(--line);padding:.9rem 1rem;font-size:.88rem;line-height:1.55;overflow-x:auto;background:var(--code-bg)!important}.prose pre code{background:0 0;border:0;padding:0}.prose blockquote{border-left:1px solid var(--line);color:var(--ink-2);margin:1.25rem 0;padding:0 0 0 1rem}.author{max-width:var(--read);background:var(--panel);border:1px solid var(--line);color:var(--ink-2);margin-top:1.8rem;padding:.8rem 1.1rem;font-size:.98rem}.author strong{color:var(--ink)}.article-columns{padding-top:0}.article-columns .side{padding-top:3.1rem}.article-columns .side .box:first-child{position:sticky;top:1rem}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important}}@media (width<=900px){.picks-grid,.columns{grid-template-columns:minmax(0,1fr)}.article-columns .side{padding-top:1rem}.article-columns .side .box:first-child{position:static}}@media (width<=700px){body{font-size:1.0625rem}.site-header .wrap{flex-direction:column;align-items:flex-start;gap:0}.brand{padding-bottom:.4rem}.nav{gap:.1rem 1.1rem;width:100%;padding-bottom:.55rem}.tb-cell{padding-left:.8rem;padding-right:.6rem}.footer-cols{grid-template-columns:1fr}.footer-cols>div+div{border-left:0;border-top:1px solid var(--line)}.prose table{display:block;overflow-x:auto}.site-footer{margin-bottom:0}}
