:root{--bg:#fcfcfd;--surface:#f2f2f5;--text:#17171c;--muted:#5b5b66;--accent:#b1202c;--accent-ink:#ffffff;--accent-2:#2f3e5c;--border:#dadae0;--font-body:"Source Sans 3", system-ui, sans-serif;--font-heading:"Merriweather", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, "Roboto Mono", Menlo, monospace;--radius:0px;--max:880px}
@media (prefers-color-scheme:dark){:root{--bg:#1a1415;--surface:#272021;--text:#e8e3e4;--muted:#ad9fa0;--accent:#e3646e;--accent-ink:#111111;--accent-2:#7f94bd;--border:#46393a;}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:4.5rem;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;font:17px/1.55 var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.2;margin:0 0 .6em;text-wrap:balance;overflow-wrap:anywhere}
p,ul,ol,dl,blockquote,table{margin:0 0 1em}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.15em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
img,svg{max-width:100%}
time{white-space:nowrap}
.ui__shell{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
.ui__skip{position:absolute;left:-999px;top:.5rem;background:var(--accent);color:var(--accent-ink);padding:.5rem 1rem;z-index:20;text-decoration:none;font-weight:600}
.ui__skip:focus{left:.5rem}
.ui__topbar{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--border)}
.ui__scroll{overflow-x:auto;margin:1rem 0 1.5rem;-webkit-overflow-scrolling:touch}
.ui__summary-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.ui__summary-table th,.ui__summary-table td{text-align:left;vertical-align:top}
.ui__summary-table caption{caption-side:top;text-align:left;color:var(--muted)}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
.ui__topbar{border-bottom:3px solid var(--text)}
.ui__header-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem;flex-wrap:wrap;padding-top:.5rem;padding-bottom:.5rem}
.ui__site-title{font-family:var(--font-heading);font-weight:700;font-size:1.4rem;color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.03em}
.ui__menu{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.ui__menu a{color:var(--text);text-decoration:none}
.ui__menu a:hover{text-decoration:underline;text-decoration-thickness:2px}
.ui__content{padding:2.5rem 0 4rem}
h1{font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.05;letter-spacing:-.02em;padding-bottom:.75rem;border-bottom:1px solid var(--text);margin-bottom:1rem}
h2{font-size:1.7rem;margin-top:3rem;line-height:1.15}
h3{font-size:1.45rem;line-height:1.15}
h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}
.ui__summary-text{font-size:1.15rem;line-height:1.5;max-width:65ch}
.ui__page-meta{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:2rem}
.ui__outline ol{list-style:none;padding:.75rem 0;margin:0 0 2rem;border-top:1px solid var(--text);border-bottom:1px solid var(--text);display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
.ui__outline a{color:var(--text);text-decoration:none}
.ui__outline a:hover{text-decoration:underline}
@media (min-width:720px){#method p{column-count:2;column-gap:2.5rem;column-rule:1px solid var(--border)}
#method p.ui__notice{column-count:1}}
.ui__notice{color:var(--muted);font-size:.95rem}
.ui__summary-table{font-size:.93rem}
.ui__summary-table caption{font-weight:700;color:var(--text);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;padding:.5rem 0}
.ui__summary-table th{background:var(--text);color:var(--bg);padding:.6rem .8rem;font-weight:600;font-size:.85rem}
.ui__summary-table td{padding:.65rem .8rem;border-bottom:1px solid var(--border)}
.ui__summary-table td:first-child{font-weight:700;font-family:var(--font-heading)}
.ui__item{border-top:3px double var(--text);padding:1.5rem 0 1rem;margin-top:1.5rem}
.ui__item h3{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.ui__num{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}
.ui__points{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:1rem}
.ui__verdict{font-weight:700;font-size:1.1rem;margin:0 0 1.25rem;padding:0;border:0}
.ui__verdict p{margin:0}
.ui__facts{margin:0 0 1.25rem;padding:0;list-style:none;border-top:1px solid var(--border)}
.ui__facts>*{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--border)}
.ui__facts dt{color:var(--muted)}
.ui__facts dd{margin:0;font-weight:600;text-align:right}
ul.ui__facts strong{font-weight:400;color:var(--muted)}
.ui__pros-cons{display:grid;gap:1rem 0;margin-bottom:1rem}
@media (min-width:640px){.ui__pros-cons{grid-template-columns:1fr 1fr}
.ui__minus{border-left:1px solid var(--border);padding-left:1.5rem}}
.ui__pros ul,.ui__minus ul,ul.ui__pros,ul.ui__minus{list-style:none;padding:0;margin:0 0 .75rem}
.ui__pros li,.ui__minus li{position:relative;padding-left:1.4rem;margin:.3rem 0}
.ui__pros li::before,.ui__minus li::before{position:absolute;left:0;top:0;font-weight:700;font-family:var(--font-mono)}
.ui__pros li::before{content:"+";color:var(--text)}
.ui__minus li::before{content:"\2212";color:var(--muted)}
.ui__price,.ui__best-for{margin:0 0 .5rem}
.ui__price .ui__notice{font-size:.85rem}
.ui__go{font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;text-decoration:none;border-bottom:2px solid var(--accent)}
.ui__go:hover{background:var(--accent);color:var(--accent-ink)}
.ui__go::after{content:" \2192"}
.ui__guide dt{font-weight:700;font-size:1.1rem;margin-top:1.25rem}
.ui__guide dd{margin:.25rem 0 0}
.ui__guide li{margin-bottom:1rem}
.ui__faq details{border-bottom:1px solid var(--border)}
.ui__faq summary{padding:.9rem 0;font-family:var(--font-heading)}
.ui__faq details p{margin:0 0 1.25rem;max-width:65ch}
.ui__faq summary{position:relative;padding-right:2.5rem;font-weight:600;font-size:1.1rem}
.ui__faq summary::after{content:"+";position:absolute;right:.5rem;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:1.4rem;line-height:1;color:var(--accent)}
.ui__faq details[open] summary::after{content:"\2212"}
.ui__references{padding-left:1.2rem}
.ui__references li{margin:.35rem 0}
.ui__disclosure{font-size:.9rem;color:var(--muted)}
.ui__footer{border-top:3px solid var(--text);padding:2rem 0 3rem;font-size:.9rem;color:var(--muted);margin-top:3rem}
.ui__footer p{margin-bottom:.5rem;max-width:70ch}
