:root{--accent:#1f4d36;--bg:#fff;--bg-soft:#f3f4f2;--surface:#fff;--text:#1c1f1d;--muted:#555c57;--border:#dfe3df;--link:var(--accent);--cta:var(--accent);--on-cta:#fff;--warn-bg:#fff7e0;--warn-border:#e8c765;--header-bg:var(--bg);--header-text:var(--text);--hero-bg:var(--bg-soft);--hero-text:var(--text);--hero-muted:var(--muted);--footer-bg:var(--bg-soft);--footer-text:var(--muted);--radius:10px;--radius-lg:14px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-head:var(--font);--head-weight:800;--head-tracking:-.01em;--body-size:1.0625rem;--icon-bg:var(--bg-soft);--icon-fg:var(--link);--feat-bg:var(--surface);--feat-text:var(--text);--feat-muted:var(--muted);--callout-bg:var(--bg-soft);--callout-line:var(--link);--principles-bg:var(--footer-bg);--principles-text:var(--footer-text);--principles-head:var(--footer-text);color-scheme:light dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--body-size);color:var(--text);background:var(--bg);margin:0;line-height:1.65}.wrap{width:100%;max-width:68rem;margin:0 auto;padding:0 1rem}.prose{max-width:44rem}a{color:var(--link);text-underline-offset:.15em}h1,h2,h3,h4{font-family:var(--font-head);font-weight:var(--head-weight);letter-spacing:var(--head-tracking);margin:2rem 0 .75rem;line-height:1.2}h1{margin-top:1.5rem;font-size:clamp(1.9rem,4.5vw,2.75rem)}h2{font-size:clamp(1.4rem,3vw,1.75rem)}h3{font-size:1.2rem}img{max-width:100%;height:auto}.skip-link{background:var(--cta);color:var(--on-cta);border-radius:var(--radius);z-index:10;padding:.6rem 1rem;position:absolute;top:-4rem;left:.5rem}.skip-link:focus{top:.5rem}.site-header{background:var(--header-bg);color:var(--header-text)}.site-header .bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding-top:.9rem;padding-bottom:.9rem;display:flex}.brand{font-family:var(--font-head);font-weight:var(--head-weight);letter-spacing:var(--head-tracking);color:var(--header-text);align-items:center;gap:.6rem;font-size:1.3rem;text-decoration:none;display:inline-flex}.site-header nav ul{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-header nav a{color:var(--header-text);border-bottom:2px solid #0000;padding:.35rem 0;text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{border-bottom-color:currentColor}.site-footer{background:var(--footer-bg);color:var(--footer-text);margin-top:4rem;padding:2rem 0 3rem;font-size:.95rem}.site-footer a{color:inherit}.site-footer ul{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.disclosure{border-left:3px solid var(--warn-border);color:var(--muted);margin:.9rem 0 1.25rem;padding:.15rem 0 .15rem .7rem;font-size:.85rem;line-height:1.45}.disclosure strong{color:var(--text);font-weight:700}.hero{background:var(--hero-bg);color:var(--hero-text)}.hero .lead{color:var(--hero-muted);max-width:40rem;font-size:1.2rem}.hero a:not(.btn){color:inherit}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}main>section,main>div[id]{scroll-margin-top:1rem}.toplist ol{gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1.1rem 1.1rem 1.2rem;position:relative}.card.unverified{border-style:dashed;border-color:var(--warn-border)}.card .rank{font-weight:700}.card h3{margin:.25rem 0 .35rem}.card .brand-name{color:var(--muted);font-size:.9rem}.card .dev-flag,.dev-flag{background:var(--warn-bg);border:1px solid var(--warn-border);letter-spacing:0;color:var(--text);border-radius:6px;margin-left:.5rem;padding:0 .4rem;font-size:.8rem;font-weight:400;display:inline-block}.proscons{grid-template-columns:1fr;gap:.5rem 1.5rem;margin:.75rem 0;display:grid}@media (width>=40rem){.proscons{grid-template-columns:1fr 1fr}}.proscons h4{margin:0 0 .25rem;font-size:.95rem}.proscons ul{margin:0;padding-left:1.2rem}.specs{grid-template-columns:max-content 1fr;gap:.2rem 1rem;margin:.75rem 0;font-size:.95rem;display:grid}.specs dt{color:var(--muted)}.specs dd{margin:0}.offers{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:.9rem;display:flex}.offer{flex-direction:column;gap:.2rem;display:flex}.offer small{color:var(--muted)}.card-head{align-items:start;gap:.75rem 1.5rem;display:grid}@media (width>=40rem){.card-head{grid-template-columns:minmax(0,1fr) auto}}.card-id{align-items:center;gap:.9rem;min-width:0;display:flex}.card-logo{object-fit:cover;background:var(--border);border-radius:10px;flex:none;width:3.5rem;height:3.5rem}.card-title{min-width:0}.card-head .card-id h3{margin:.1rem 0 0}.card-head .offers{flex-direction:column;align-items:flex-start;margin-top:0}@media (width>=40rem){.card-head .offers{text-align:right;align-items:flex-end}}.card-summary{max-width:62ch;margin:.75rem 0 0}.highlights{flex-wrap:wrap;gap:.4rem .5rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.highlights li{background:var(--callout-bg,var(--surface));border:1px solid var(--border);border-radius:999px;padding:.15rem .75rem;font-size:.9rem}.card-details{border-top:1px solid var(--border);margin-top:1rem}.card-details>summary{cursor:pointer;min-height:2.75rem;color:var(--link);align-items:center;gap:.6rem;padding:.5rem 0;font-weight:700;list-style:none;display:flex}.card-details>summary::-webkit-details-marker{display:none}.card-details>summary:before{content:"";border-bottom:2px solid;border-right:2px solid;flex:none;width:.55rem;height:.55rem;transition:transform .15s;transform:rotate(-45deg)}.card-details[open]>summary:before{transform:rotate(45deg)}.card-details .when-open,.card-details[open] .when-closed{display:none}.card-details[open] .when-open{display:inline}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.card-details>summary:before{transition:none}}.btn{text-align:center;background:var(--cta);color:var(--on-cta);border-radius:var(--radius);min-height:2.75rem;padding:.55rem 1.1rem;font-weight:700;line-height:1.6;text-decoration:none;display:inline-block}.btn:hover{filter:brightness(1.1)}.btn.secondary{color:inherit;background:0 0;box-shadow:inset 0 0 0 2px}.btn.disabled{background:var(--border);color:var(--muted)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--link);outline-offset:3px}.hero a:focus-visible,.site-header a:focus-visible{outline-color:currentColor}.finder{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-lg);margin:.75rem 0 1.5rem;padding:.7rem .9rem}.finder-group{flex-wrap:wrap;align-items:center;gap:.3rem .75rem;margin:0 0 .45rem;display:flex}.finder-label{flex:0 0 100%;font-size:.95rem;font-weight:700}@media (width>=40rem){.finder-label{flex:0 0 7rem}}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;min-height:2.25rem;padding:.2rem .7rem;font-size:.9rem;line-height:1.2}.chip[aria-pressed=true]{background:var(--cta);border-color:var(--cta);color:var(--on-cta)}.finder-foot{flex-wrap:wrap;align-items:center;gap:.25rem 1rem;margin-top:.1rem;display:flex}.finder-foot .meta{margin:0}.finder-clear{font:inherit;cursor:pointer;color:var(--link);background:0 0;border:0;min-height:2.25rem;padding:.4rem 0;font-size:.9rem;text-decoration:underline}.finder-results{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.6rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.finder-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:.7rem;min-width:0;padding:.55rem .8rem;display:flex;position:relative}.finder-item:has(a:focus-visible){outline:3px solid var(--link);outline-offset:2px}.finder-logo{object-fit:cover;background:var(--border);border-radius:8px;flex:none;width:2.5rem;height:2.5rem}.finder-text{min-width:0}.finder-item .brand-name{font-size:.85rem;line-height:1.3}.finder-name{color:inherit;font-weight:700;line-height:1.3;text-decoration:none}.finder-name:hover{text-decoration:underline}.finder-name:after{content:"";position:absolute;inset:0}.finder-name:focus-visible{outline:none}.guide-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=44rem){.guide-list{grid-template-columns:1fr 1fr}.guide-list .is-featured{grid-column:1/-1}}.guide-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 1rem;padding:1.25rem;display:grid;position:relative}.guide-item:hover{border-color:var(--link)}.guide-item:has(a:focus-visible){outline:3px solid var(--link);outline-offset:2px}.guide-icon{border-radius:var(--radius);background:var(--icon-bg);width:3rem;height:3rem;color:var(--icon-fg);place-items:center;display:grid}.guide-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.65rem;height:1.65rem}.guide-item h3{margin:0;font-size:1.2rem;line-height:1.25}.guide-item h3 a{color:inherit;text-decoration:none}.guide-item h3 a:after{content:"";position:absolute;inset:0}.guide-item h3 a:hover{text-decoration:underline}.guide-item a:focus-visible{outline:none}.guide-body{display:contents}.guide-item p{color:var(--muted);grid-column:1/-1;margin:.4rem 0 0}.guide-item h3+p{margin-top:.75rem}.guide-item .meta{font-size:.85rem}.guide-item.is-featured{background:var(--feat-bg);color:var(--feat-text);border-color:#0000;padding:1.75rem 1.5rem}.guide-item.is-featured h3{font-size:clamp(1.4rem,3.2vw,1.9rem)}.guide-item.is-featured p{color:var(--feat-muted);font-size:1.05rem}.soon{background:var(--bg-soft);border-radius:var(--radius);color:var(--muted);margin:1.5rem 0 0;padding:.9rem 1.1rem}.soon strong{color:var(--text)}.principles{background:var(--principles-bg);color:var(--principles-text);margin-top:4rem;padding:3rem 0}.principles h2{color:var(--principles-head);margin:0 0 1.5rem}.principles ul{gap:1.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}@media (width>=48rem){.principles ul{grid-template-columns:repeat(3,1fr);gap:2.5rem}}.principles li strong{font-family:var(--font-head);color:var(--principles-head);margin-bottom:.25rem;font-size:1.15rem;display:block}.principles p{max-width:44rem;margin:0;font-size:.95rem}.principles a{color:inherit}.article-body>h2:first-child{background:var(--callout-bg);border-left:4px solid var(--callout-line);border-radius:var(--radius) var(--radius) 0 0;margin:1.5rem 0 0;padding:1rem 1.25rem .25rem;font-size:1.15rem}.article-body>h2:first-child+p{background:var(--callout-bg);border-left:4px solid var(--callout-line);border-radius:0 0 var(--radius) var(--radius);margin:0 0 2rem;padding:0 1.25rem 1rem}.toc{display:none}@media (width>=64rem){.article-layout{grid-template-columns:minmax(0,44rem) 15rem;align-items:start;gap:0 4rem;display:grid}.toc{border-left:2px solid var(--border);margin-top:5rem;padding-left:1rem;font-size:.95rem;display:block;position:sticky;top:1.5rem}.toc-title{margin:0 0 .6rem;font-weight:700}.toc ol{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.toc a{color:var(--muted);text-decoration:none}.toc a:hover{color:var(--link);text-decoration:underline}}.meta{color:var(--muted);font-size:.92rem}.empty{color:var(--muted);font-style:italic}.article-body :is(table){border-collapse:collapse;width:100%;display:block;overflow-x:auto}.article-body :is(th,td){border:1px solid var(--border);text-align:left;padding:.4rem .6rem}.faq details{border-bottom:1px solid var(--border);padding:.6rem 0}.faq summary{cursor:pointer;font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/outfit-latin-ext-wght-normal.DdQaqQDo.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:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/outfit-latin-wght-normal.Bc-8i84L.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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-ext-wght-normal.DCwSJGxG.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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-wght-normal.D_ZTVpCC.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}:root{--bg:#f8fbfd;--bg-soft:#e9f2f9;--surface:#fff;--text:#23264a;--muted:#555b7a;--border:#d4e3ef;--ring:#d4e9f7;--inset:#e9f2f9;--link:#3b3f95;--cta:#3b3f95;--on-cta:#fff;--warn-bg:#fff4d6;--warn-border:#d9b44a;--header-bg:#d4e9f7;--header-text:#23264a;--hero-bg:#d4e9f7;--hero-text:#23264a;--hero-muted:#3d4366;--footer-bg:#d4e9f7;--footer-text:#3d4366;--butter:#ffd45e;--blush:#f09a92;--mint:#c4e8d4;--lilac:#ddd6f6;--skydeep:#b3d8f0;--band:#fff1c4;--band-card:#fff;--icon-bg:var(--butter);--icon-fg:#23264a;--feat-bg:#3b3f95;--feat-text:#fff;--feat-muted:#dfe2ff;--callout-bg:#e9f2f9;--callout-line:#ffd45e;--principles-bg:#fff1c4;--principles-text:#23264a;--principles-head:#23264a;--radius:16px;--radius-lg:28px;--font:"Figtree Variable", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-head:"Outfit Variable", "Figtree Variable", system-ui, sans-serif;--head-weight:600;--head-tracking:-.015em;--body-size:1.125rem}@media (prefers-color-scheme:dark){:root{--bg:#15172b;--bg-soft:#1e2140;--surface:#1e2140;--text:#eceefa;--muted:#a9aed0;--border:#343862;--ring:#343862;--inset:#15172b;--link:#aab0ff;--cta:#9aa1f5;--on-cta:#12142a;--warn-bg:#2a2412;--warn-border:#6b5a1f;--header-bg:#1e2140;--header-text:#eceefa;--hero-bg:#1e2140;--hero-text:#eceefa;--hero-muted:#b4b9da;--footer-bg:#1e2140;--footer-text:#b4b9da;--butter:#e9bf4a;--blush:#d98880;--mint:#8fc9ad;--lilac:#b5a9e8;--skydeep:#7fb4d8;--band:#1e2140;--band-card:#272b52;--icon-fg:#15172b;--feat-bg:#2b2f6b;--feat-text:#eceefa;--feat-muted:#c7cbee;--callout-bg:#1e2140;--callout-line:#e9bf4a;--principles-bg:#2a2748;--principles-text:#eceefa;--principles-head:#eceefa}}body{line-height:1.7}body .brand:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 26'%3E%3Ccircle cx='13' cy='13' r='12' fill='%23ffd45e'/%3E%3Ccircle cx='27' cy='17' r='8' fill='%23f09a92'/%3E%3C/svg%3E") 50%/contain no-repeat;flex:none;width:2.2rem;height:1.6rem}body .brand{font-size:1.4rem}body .site-header nav a{border:0;border-radius:999px;padding:.5rem .9rem}body .site-header nav ul{gap:.25rem;margin-inline:-.9rem}body .site-header nav a:hover,body .site-header nav a[aria-current=page]{background:var(--surface)}body .hero{text-align:center;border-radius:0 0 2.5rem 2.5rem;padding:1.5rem 0 8.5rem;position:relative;overflow:hidden}body .hero:before,body .hero:after{content:"";pointer-events:none;border-radius:50%;position:absolute}body .hero:before{background:var(--butter);width:10rem;height:10rem;bottom:-4rem;left:-3rem}body .hero:after{background:var(--blush);width:6.5rem;height:6.5rem;bottom:-1.5rem;right:-1.5rem}body .hero .wrap{z-index:1;position:relative}body .hero h1{letter-spacing:-.025em;max-width:16ch;margin:.5rem auto 1rem;font-size:clamp(2.3rem,7.5vw,3.9rem);line-height:1.08}body .hero .lead{margin:0 auto;font-size:1.2rem}body .hero-actions{justify-content:center}@media (width>=48rem){body .hero{padding:2.5rem 0 6rem}body .hero:before{width:17rem;height:17rem;bottom:-9rem;left:6%}body .hero:after{width:10rem;height:10rem;bottom:-4.5rem;right:8%}}body main h2{margin-top:3rem}body .btn{border-radius:999px;min-height:3rem;padding:.65rem 1.5rem;font-size:1.05rem}body .finder{background:var(--bg-soft);border-radius:var(--radius-lg);border:0;padding:.9rem 1.1rem}body .chip{border:2px solid var(--border);min-height:2.4rem;padding:.2rem .85rem;font-weight:600}body .finder-label{font-family:var(--font-head);font-size:1rem;font-weight:600}body .toplist h2{margin-bottom:2rem}body .toplist ol{gap:2rem}body .card{box-shadow:0 0 0 2px var(--ring);border:0;border-radius:28px 28px 28px 8px;padding:1.75rem 1.5rem 1.5rem}body .card.unverified{box-shadow:0 0 0 2px var(--warn-border)}body .card .rank{background:var(--butter);color:#23264a;width:2.5rem;height:2.5rem;font-family:var(--font-head);border-radius:50%;place-items:center;font-size:1.05rem;font-weight:600;display:grid;position:absolute;top:-1rem;left:1.25rem}body .card h3{font-size:1.4rem}body .card .brand-name{font-size:.95rem}body .specs{background:var(--inset);border-radius:var(--radius);padding:.9rem 1.1rem}body .finder-item{border-radius:18px 18px 18px 6px}body .guides-band{background:var(--bg-soft);border-radius:2rem;margin-top:3rem;padding:2rem 1.25rem 2.25rem}body .guides-band h2{margin-top:0}body .guide-list{gap:1rem}body .guide-item{background:var(--band-card);border:0;border-radius:24px;padding:1.3rem 1.4rem}body .guide-item:hover{box-shadow:0 0 0 2px var(--ring)}body .guide-icon{border-radius:50%;width:3.25rem;height:3.25rem}body .guide-item h3{font-family:var(--font-head);font-size:1.25rem;font-weight:600}body .guide-item:nth-child(5n+2) .guide-icon{background:var(--blush)}body .guide-item:nth-child(5n+3) .guide-icon{background:var(--mint)}body .guide-item:nth-child(5n+4) .guide-icon{background:var(--lilac)}body .guide-item:nth-child(5n+5) .guide-icon{background:var(--skydeep)}body .guide-item.is-featured{background:var(--feat-bg);border-radius:28px 28px 28px 8px}body .guide-item.is-featured .guide-icon{background:var(--butter);width:4rem;height:4rem}body .principles{border-radius:2rem;width:min(100% - 2rem,66rem);margin:4rem auto 0;padding:2.5rem 1.5rem;position:relative;overflow:hidden}body .principles:after{content:"";background:var(--butter);opacity:.5;pointer-events:none;border-radius:50%;width:10rem;height:10rem;position:absolute;top:-3.5rem;right:-3.5rem}body .principles .wrap{z-index:1;padding:0;position:relative}body .principles li strong{font-weight:600}body .article-body{font-size:1.15rem}body .faq details{background:var(--bg-soft);border:0;border-radius:20px;margin-bottom:.6rem;padding:.9rem 1.2rem}body .faq summary{padding:.4rem 0}body .site-footer{border-radius:2.5rem 2.5rem 0 0;margin-top:5rem;padding-top:2.5rem}
