@font-face{font-family:Newsreader Variable;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_astro/newsreader-latin-wght-normal.CCVVNp6i.woff2)format("woff2")}@font-face{font-family:Newsreader Variable;font-style:italic;font-weight:200 800;font-display:swap;src:url(/_astro/newsreader-latin-wght-italic.Bxi8ein9.woff2)format("woff2")}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_astro/source-sans-3-latin-wght-normal.Bo_j9asI.woff2)format("woff2")}:root{color-scheme:light;--bg:#f3efe6;--surface:#fffdf8;--ink:#1c1915;--muted:#3f3a33;--line:#ddd4c4;--accent:#0e4f4a;--accent-hover:#0c433f;--on-accent:#f4fffd;--copper:#7c3410;--pros:#0e4f4a;--cons:#7c2d24;--sample-bg:#efe6c4;--sample-ink:#3a3110;--code-bg:#efeae1;--focus:#0e4f4a;--serif:"Newsreader Variable", "Iowan Old Style", Palatino, "Palatino Linotype", Georgia, serif;--sans:"Source Sans 3 Variable", "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;--page:1120px;--measure:66ch;--gutter:1.25rem;--header:4.5rem}:root[data-theme=dark]{color-scheme:dark;--bg:#12110f;--surface:#1c1b18;--ink:#f6f1e7;--muted:#c8c1b4;--line:#3a372f;--accent:#7dccc4;--accent-hover:#9adbd4;--on-accent:#062221;--copper:#f0a87a;--pros:#8fd9d0;--cons:#f0a097;--sample-bg:#3d3620;--sample-ink:#f6e7b5;--code-bg:#26241f;--focus:#9adbd4}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;font-size:1.0625rem;font-weight:450;line-height:1.5}img{max-width:100%;height:auto;display:block}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.025em;font-weight:560;line-height:1.12}p{overflow-wrap:break-word}a{color:var(--accent)}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{color:#1c1915;background:#c9e6e2}:root[data-theme=dark] ::selection{color:#f6f1e7;background:#1d4a46}[hidden]{display:none!important}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:40;background:var(--ink);color:var(--bg);padding:.6rem .9rem;text-decoration:none;position:absolute;top:-5rem;left:1rem}.skip:focus{top:.75rem}.wrap{width:min(100% - var(--gutter) * 2, var(--page));margin-inline:auto}.wrap-narrow{width:min(100% - var(--gutter) * 2, var(--measure));margin-inline:auto}.kicker{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600}.kicker a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}.badge{background:var(--sample-bg);color:var(--sample-ink);font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:.2rem .45rem;font-size:.72rem;font-weight:650;line-height:1.4;display:inline-block}.meta{font-family:var(--sans);color:var(--muted);font-variant-numeric:lining-nums tabular-nums;font-size:.95rem}.button{background:var(--accent);min-height:44px;color:var(--on-accent);border:1px solid var(--accent);font-family:var(--sans);letter-spacing:.01em;justify-content:center;align-items:center;padding:.55rem 1.15rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.button-ghost{color:var(--ink);border-color:var(--line);background:0 0}.button-ghost:hover{background:var(--surface);border-color:var(--ink);color:var(--ink)}input[type=search],input[type=email],input[type=text],textarea{background:var(--surface);border:1px solid var(--ink);border-radius:0;width:100%;min-height:48px;padding:.75rem .9rem}textarea{resize:vertical;min-height:9rem;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}label{margin-bottom:.4rem;font-weight:600;display:block}.field{flex-direction:column;gap:.15rem;display:flex}.site-header{z-index:20;background:var(--bg);border-top:4px solid var(--accent);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{grid-template-columns:1fr auto;align-items:center;gap:.75rem 1rem;padding-block:.8rem;display:grid}.brand{color:inherit;align-items:center;gap:.75rem;min-height:44px;text-decoration:none;display:flex}.logo{color:var(--ink);align-items:center;gap:.7rem;display:inline-flex}.logo-mark{flex:none;width:2.35rem;height:2.35rem;display:block}.logo-name{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);white-space:nowrap;font-size:1.15rem;font-weight:560;line-height:1.05;display:block}@media (width<=640px){.logo{gap:.5rem}.logo-mark{width:2rem;height:2rem}.logo-name{font-size:.98rem}}.bar-actions{align-items:center;gap:.4rem;display:flex}.theme-toggle,.nav-toggle{min-width:44px;min-height:44px;color:var(--ink);border:1px solid var(--line);font-family:var(--sans);background:0 0;padding:0 .75rem;font-size:.92rem;font-weight:600}.theme-toggle:hover,.nav-toggle:hover{border-color:var(--ink)}.when-dark,:root[data-theme=dark] .when-light{display:none}:root[data-theme=dark] .when-dark{display:inline}.nav{flex-wrap:wrap;align-items:center;gap:.25rem 1.15rem;display:flex}.nav a{color:var(--ink);align-items:center;min-height:44px;font-weight:600;text-decoration:none;display:inline-flex}.nav a:hover{color:var(--accent)}.nav a[aria-current=page]{color:var(--accent);text-underline-offset:.28em;text-decoration:underline 1px}@media (width<=879px){.site-header:not([data-open=true]) .nav{display:none}.nav{flex-flow:column;grid-area:2/1/auto/-1;align-items:stretch;width:100%;padding-bottom:.4rem}.nav-toggle-close,.site-header[data-open=true] .nav-toggle-open{display:none}.site-header[data-open=true] .nav-toggle-close{display:inline}}@media (width>=880px){:root{--gutter:2rem}.header-inner{grid-template-columns:auto 1fr auto}.nav{grid-area:1/2;justify-content:flex-end}.bar-actions{grid-area:1/3}.nav-toggle{display:none}}.site-footer{border-top:1px solid var(--line);margin-top:1rem;padding:3rem 0 2.5rem}.footer-grid{gap:2rem;display:grid}@media (width>=800px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}}.footer-name{font-family:var(--serif);letter-spacing:-.02em;font-size:1.45rem;font-weight:560}.footer-grid p{max-width:36ch;color:var(--muted);margin-top:.7rem}.footer-grid nav{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.footer-grid nav a{color:var(--ink);align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.footer-grid nav a:hover{color:var(--accent)}.footer-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600}.legal{border-top:1px solid var(--line);color:var(--muted);margin-top:2.2rem;padding-top:1rem;font-size:.95rem}.search-header{padding:3.25rem 0 2.5rem}.search-header h1{letter-spacing:-.035em;max-width:12ch;margin-top:.8rem;font-size:clamp(2.6rem,7vw,4.8rem);font-weight:550;line-height:.98}.lede{max-width:38ch;font-family:var(--serif);margin-top:1.25rem;font-size:1.3rem;line-height:1.45}.search-form{flex-direction:column;gap:.75rem;max-width:40rem;margin-top:1.75rem;display:flex}.search-header input[type=search]{min-height:3.6rem;padding-inline:1rem;font-size:1.125rem}@media (width>=640px){.search-form{flex-direction:row;align-items:stretch}.search-form input{flex:1}.search-form .button{min-width:7.5rem}}.hint{color:var(--muted);margin-top:.75rem;font-size:.95rem}kbd{font-family:var(--sans);border:1px solid var(--line);background:var(--surface);padding:.05em .4em;font-size:.85em}.section{padding:2.75rem 0}@media (width>=800px){.section{padding:4rem 0}}.section-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.section-head h2,.page-head h1{font-size:clamp(2rem,4vw,3.1rem)}.page-head{padding:2.75rem 0 1.5rem}.page-head .lede,.page-head p{max-width:46ch;font-family:var(--serif);margin-top:.9rem;font-size:1.25rem;line-height:1.45}.filters{gap:.5rem;margin-bottom:1.25rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.filter,button.filter{border:1px solid var(--line);min-height:44px;color:var(--ink);font-family:var(--sans);background:0 0;flex:none;align-items:center;padding:0 .95rem;font-weight:600;text-decoration:none;display:inline-flex}.filter[aria-current=page],.filter[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.feed{gap:1rem;display:grid}@media (width>=700px){.feed{grid-template-columns:1fr 1fr;gap:1.15rem}}@media (width>=1040px){.feed{grid-template-columns:1fr 1fr 1fr}}.card{background:var(--surface);border:1px solid var(--line);height:100%}.card-link{height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}.card-link:hover h3{color:var(--accent)}.card-media{aspect-ratio:16/9;border-bottom:1px solid var(--line);background:#f3efe6;overflow:hidden}.card-media img{object-fit:cover;width:100%;height:100%}.card-body{flex-direction:column;flex:1;gap:.6rem;padding:1rem 1.05rem 1.15rem;display:flex}.card-kicker{align-items:center;gap:.55rem;display:flex}.card h3{font-size:1.45rem;line-height:1.15}.card .dek{color:var(--muted);font-family:var(--serif);font-size:1.05rem;line-height:1.45}.card .meta{margin-top:auto}.ticker{border-block:1px solid var(--line);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:3.25rem;display:grid}.ticker-label{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;padding-left:var(--gutter);white-space:nowrap;font-size:.72rem;font-weight:650}.ticker-window{min-width:0;overflow:hidden}.ticker-track{width:max-content;animation:50s linear infinite ticker;display:flex}.ticker-track a{min-height:44px;color:var(--ink);white-space:nowrap;border-left:1px solid var(--line);align-items:center;gap:.55rem;padding:0 1.1rem;text-decoration:none;display:inline-flex}.ticker-track a:hover{color:var(--accent)}.ticker-version{color:var(--copper);font-variant-numeric:tabular-nums}.ticker-pause{margin-right:calc(var(--gutter) - .4rem);border:1px solid var(--line);min-height:44px;color:var(--ink);background:0 0;padding:0 .75rem;font-weight:600}.ticker[data-paused=true] .ticker-track{animation-play-state:paused}.ticker .when-paused,.ticker[data-paused=true] .when-playing{display:none}.ticker[data-paused=true] .when-paused{display:inline}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ticker{grid-template-columns:auto 1fr}.ticker-track{flex-wrap:wrap;width:auto;animation:none}.ticker-clone,.ticker-pause{display:none}}.list-feature{border:1px solid var(--line);background:var(--surface);gap:1.25rem;padding:1.25rem;display:grid}@media (width>=800px){.list-feature{grid-template-columns:1.15fr .85fr;gap:2.5rem;padding:1.75rem 2rem}}.list-feature+.list-feature{margin-top:1rem}.list-feature h3{margin-top:.45rem;font-size:clamp(1.7rem,3vw,2.3rem)}.list-feature h3 a{color:inherit;text-decoration:none}.list-feature h3 a:hover{color:var(--accent)}.list-feature .dek{font-family:var(--serif);color:var(--muted);margin-top:.75rem;font-size:1.15rem;line-height:1.45}.hub-ranks{align-self:end;padding:0;list-style:none}.hub-ranks li{border-top:1px solid var(--line);font-family:var(--serif);grid-template-columns:2rem 1fr;gap:.75rem;padding:.75rem 0;font-size:1.25rem;line-height:1.3;display:grid}.hub-ranks span{color:var(--copper);font-variant-numeric:tabular-nums lining-nums}.crumbs{flex-wrap:wrap;align-items:center;gap:.4rem .55rem;margin-bottom:1rem;font-size:.95rem;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}.article-kicker{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.article h1{max-width:18ch;margin-top:.7rem;font-size:clamp(2.2rem,5vw,3.5rem)}.article .dek{font-family:var(--serif);color:var(--ink);margin-top:1rem;font-size:1.35rem;line-height:1.4}.byline{flex-wrap:wrap;gap:.35rem .8rem;margin-top:1.1rem;display:flex}.hero-frame{border:1px solid var(--line);background:#f3efe6;margin:1.6rem 0 .55rem}.hero-frame img{width:100%;height:auto}.hero-caption{color:var(--muted);margin-top:.45rem;font-size:.95rem}.sample-banner{background:var(--sample-bg);color:var(--sample-ink);font-family:var(--sans);margin:1.4rem 0;padding:.9rem 1rem;line-height:1.45}.score-row{gap:1rem;margin:.5rem 0 1.5rem;display:grid}@media (width>=700px){.score-row{grid-template-columns:auto 1fr;align-items:end;gap:1.75rem}}.rating-value{font-family:var(--serif);letter-spacing:-.045em;color:var(--copper);font-variant-numeric:lining-nums tabular-nums;font-size:clamp(4rem,8vw,5.2rem);font-weight:560;line-height:.8}.rating-of{color:var(--muted);margin-top:.45rem;font-size:.95rem;display:block}.verdict{font-family:var(--serif);max-width:34ch;font-size:clamp(1.3rem,2vw,1.65rem);font-weight:500;line-height:1.35}.proscons{background:var(--line);border:1px solid var(--line);gap:1px;margin:0 0 1.75rem;display:grid}@media (width>=700px){.proscons{grid-template-columns:1fr 1fr}}.proscons section{background:var(--surface);padding:1.15rem 1.2rem 1.3rem}.proscons h2{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:650}.proscons .pros h2{color:var(--pros)}.proscons .cons h2{color:var(--cons)}.proscons ul{gap:.45rem;margin-top:.75rem;padding-left:1.1rem;display:grid}.spec{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;margin:0 0 1.6rem;display:grid}@media (width>=700px){.spec{grid-template-columns:repeat(4,1fr)}}.spec div{background:var(--surface);padding:.85rem 1rem}.spec dt{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:650}.spec dd{font-family:var(--serif);margin-top:.25rem;font-size:1.25rem}.order-rule{font-family:var(--serif);margin:0 0 1.25rem;font-size:1.25rem;line-height:1.4}.order-rule .kicker{margin-bottom:.4rem;display:block}.ranked{gap:0;margin:0 0 2rem;padding:0;list-style:none;display:grid}.ranked li{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:1rem;padding:1.15rem 0;display:grid}.rank{font-family:var(--serif);color:var(--copper);font-variant-numeric:lining-nums tabular-nums;min-width:1.6rem;font-size:2rem;line-height:1}.ranked h2{letter-spacing:-.02em;font-size:1.45rem}.ranked p{font-family:var(--serif);color:var(--ink);margin-top:.35rem;font-size:1.12rem;line-height:1.5}.prose{font-family:var(--serif);font-size:1.1875rem;font-weight:450;line-height:1.7}.prose>*+*{margin-top:1.15em}.prose h2{margin-top:2.1em;scroll-margin-top:5.5rem;font-size:1.7rem;line-height:1.2}.prose h3{margin-top:1.7em;scroll-margin-top:5.5rem;font-size:1.3rem}.prose a{text-underline-offset:.18em;text-decoration-thickness:1px}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:.4em}.prose blockquote{border-left:2px solid var(--accent);padding-left:1rem;font-size:1.28rem;line-height:1.45}.prose code{font-family:var(--mono);background:var(--code-bg);padding:.08em .35em;font-size:.86em}.prose pre{background:var(--code-bg);border:1px solid var(--line);padding:1rem;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:1rem;line-height:1.45}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.7rem .55rem .7rem 0}.prose th{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.prose hr{border:0;border-top:1px solid var(--line)}.callout{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--copper);font-family:var(--sans);padding:.95rem 1.05rem;font-size:1.02rem;line-height:1.5}.callout-title{letter-spacing:.14em;text-transform:uppercase;margin-bottom:.35rem;font-size:.72rem;font-weight:650}.toc{border-top:1px solid var(--line);margin:0 0 1.6rem;padding:.9rem 0 .2rem}.toc ol{gap:.35rem;margin:.6rem 0 0;padding-left:1.2rem;display:grid}.toc a{color:var(--ink)}.tag-row{border-top:1px solid var(--line);flex-wrap:wrap;gap:.45rem;margin-top:2rem;padding-top:1.1rem;display:flex}.tag-row a,.tag-index a{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--surface);align-items:center;padding:0 .75rem;text-decoration:none;display:inline-flex}.tag-row a:hover,.tag-index a:hover{border-color:var(--ink)}.tag-index{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.tag-index span{color:var(--muted);margin-left:.35rem}.continue{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.25rem}.continue h2{font-size:1.6rem}.continue ul{margin-top:.8rem;padding:0;list-style:none}.continue li{border-top:1px solid var(--line)}.continue a{color:inherit;gap:.15rem;min-height:44px;padding:.85rem 0;text-decoration:none;display:grid}.continue a:hover strong{color:var(--accent)}.continue strong{font-family:var(--serif);font-size:1.25rem;font-weight:560}.stack{gap:1rem;max-width:36rem;margin-top:1.25rem;display:grid}.note{color:var(--muted);font-size:.98rem}.status{background:var(--surface);border:1px solid var(--line);font-family:var(--serif);margin-top:1rem;padding:1rem 1.05rem;font-size:1.25rem;line-height:1.4}.tracker-wrap{overflow-x:auto}.tracker{border-collapse:collapse;width:100%;min-width:44rem}.tracker th{text-align:left;font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink);padding:.55rem .75rem;font-size:.72rem;font-weight:650}.tracker td{border-bottom:1px solid var(--line);vertical-align:top;padding:.95rem .75rem}.tracker a{color:var(--ink);font-family:var(--serif);font-size:1.15rem;font-weight:560}.tracker a:hover{color:var(--accent)}@media (width<=700px){.tracker{min-width:0}.tracker thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.tracker tr{border:1px solid var(--line);background:var(--surface);margin-bottom:.75rem;padding:.35rem 0;display:block}.tracker td{border:0;padding:.4rem .9rem;display:block}.tracker td:before{content:attr(data-label);font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:650;display:block}}.results{gap:0;padding:0;list-style:none;display:grid}.results li{border-top:1px solid var(--line);padding:1.1rem 0}.results h2{margin-top:.3rem;font-size:1.55rem}.results h2 a{color:inherit;text-decoration:none}.results h2 a:hover{color:var(--accent)}.excerpt{font-family:var(--serif);color:var(--muted);margin-top:.4rem;font-size:1.1rem;line-height:1.45}mark{background:var(--sample-bg);color:var(--ink);padding:0 .12em}.suggest{flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding:0;list-style:none;display:flex}.suggest a{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--surface);align-items:center;padding:0 .8rem;text-decoration:none;display:inline-flex}.swatches{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.75rem;margin-top:1rem;display:grid}.swatch{border:1px solid var(--line);background:var(--surface)}.swatch-chip{border-bottom:1px solid var(--line);height:4.5rem}.swatch p,.swatch code{padding:.15rem .7rem;display:block}.swatch p:first-of-type{padding-top:.65rem;font-weight:650}.swatch p:last-child{color:var(--muted);padding-bottom:.7rem;font-size:.92rem}.swatch code{font-family:var(--mono);font-size:.82rem}.type-sample{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1.1rem}.type-sample .label{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.display-sample{font-family:var(--serif);letter-spacing:-.035em;max-width:14ch;font-size:clamp(2.6rem,6vw,4.4rem);font-weight:550;line-height:.98}.logo-specimen{border:1px dashed var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:1rem;padding:1.25rem;display:flex}.logo-large .logo-mark,.logo-specimen.large .logo-mark{width:4.5rem;height:4.5rem}.logo-large .logo-name,.logo-specimen.large .logo-name{font-size:2rem}.rule-list{gap:.45rem;max-width:62ch;margin-top:.8rem;padding-left:1.15rem;display:grid}.rule-list li{font-family:var(--serif);font-size:1.15rem;line-height:1.45}.quote-sample{font-family:var(--serif);margin-top:.7rem;font-size:1.2rem;line-height:1.4}.empty{border:1px solid var(--line);background:var(--surface);padding:1.25rem}@media (width>=800px){.search-header{padding:4.5rem 0 3rem}}@media print{.site-header,.site-footer,.ticker,.filters,.continue,.skip,.theme-toggle,.nav-toggle{display:none!important}body{color:#000;background:#fff}a{color:#000;text-decoration:none}}
