:root{--bg:#fff;--soft:#f1f6f5;--tint:#e3f1ee;--line:#dce5e2;--line-soft:#edf2f0;--ink:#10201e;--text:#2c3d3a;--muted:#51625f;--teal:#0e6b5c;--teal-dark:#09493f;--teal-ink:#0e3f37;--on-teal:#fff;--on-teal-soft:#d6ebe6;--sticker:#ffc93c;--note:#fff6db;--buy:#ffc93c;--buy-hover:#ffbe1a;--buy-edge:#a87800;--warn:#a87800;--grey-cell:#c9d3d0;--display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--body:"Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--container:77.5rem;--main:49.5rem;--rail:20rem;--prose:42.5rem;--measure:42.5rem;--gutter:1rem;--radius:16px;--radius-lg:20px;--section-gap:clamp(2.5rem, 1.5rem + 3vw, 4rem);color-scheme:light}@media (width>=48rem){:root{--gutter:1.5rem}}@media (width>=80rem){:root{--gutter:2rem}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:1rem;scroll-padding-bottom:5rem}body{background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--body);margin:0}@media (width<=63.99rem){body:has(.buybar){padding-bottom:72px}}@media (width>=48rem){body{font-size:1.125rem;line-height:1.65}}h1,h2,h3{color:var(--ink);text-wrap:balance;margin:0}h1{font:800 clamp(2rem, 1.2rem + 2.6vw, 3.25rem) / 1.06 var(--display);letter-spacing:-.02em}h2{font:700 clamp(1.5rem, 1.1rem + 1.2vw, 2rem) / 1.15 var(--display);letter-spacing:-.01em}h3{font:700 1.125rem/1.3 var(--body)}@media (width>=64rem){h3{font-size:1.25rem}}p{margin:0}a{color:var(--teal);text-underline-offset:.18em}a:hover{color:var(--teal-dark)}:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.verdict :focus-visible,.on-teal :focus-visible{outline-color:var(--on-teal)}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.stretch:after{content:"";position:absolute;inset:0}.ic{stroke:currentColor;flex:none;width:1.25rem;height:1.25rem}.skip{background:var(--bg);padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{z-index:30;left:.5rem}.wrap{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.measure{width:100%;max-width:calc(var(--prose) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.site-head{border-bottom:1px solid var(--line);background:var(--bg)}.head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 1.5rem;min-height:64px;display:flex}.brand{min-height:44px;color:var(--ink);font:800 1.35rem/1 var(--display);letter-spacing:-.01em;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand-mark{background:var(--teal);width:30px;height:30px;color:var(--on-teal);font:800 1.05rem/1 var(--display);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.nav-wrap{max-width:100%;overflow-x:auto}.nav{white-space:nowrap;gap:0 1.25rem;margin:0;padding:0;font-size:.97rem;font-weight:600;list-style:none;display:flex}.nav a{min-height:44px;color:var(--ink);border-bottom:3px solid #0000;align-items:center;text-decoration:none;display:inline-flex}.nav a:hover,.nav a[aria-current=page]{color:var(--teal);border-bottom-color:var(--teal)}@media (width<=37.49rem){.nav-wrap{width:100%;-webkit-mask-image:linear-gradient(90deg,#000 82%,#0000);mask-image:linear-gradient(90deg,#000 82%,#0000)}}.site-foot{margin-top:var(--section-gap);border-top:1px solid var(--line);background:var(--soft);color:var(--muted);font-size:.95rem}.foot-grid{grid-template-columns:1fr;gap:1.5rem 2rem;padding-block:2.5rem 1.5rem;display:grid}@media (width>=37.5rem){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.foot-grid{grid-template-columns:1.3fr repeat(3,minmax(0,1fr)) .8fr}}.foot-brand{align-content:start;gap:.6rem;display:grid}.foot-cat summary{color:var(--ink);font-weight:700;list-style:none}.foot-cat summary::-webkit-details-marker{display:none}.foot-cat summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.foot-cat ul,.foot-links{margin:0;padding:0;list-style:none;display:grid}.foot-cat li a,.foot-links a{min-height:44px;color:var(--text);align-items:center;text-decoration:none;display:inline-flex}.foot-cat li a:hover,.foot-links a:hover{color:var(--teal);text-decoration:underline}.foot-base{border-top:1px solid var(--line);gap:.4rem;padding-block:1.25rem 2rem;display:grid}.eyebrow{font:600 .8rem/1.4 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.byline,.crumbs{color:var(--muted);font-size:.92rem}.crumbs a{min-height:44px;color:var(--muted);align-items:center;display:inline-flex}.sticker{background:var(--sticker);color:var(--ink);font:700 .85rem/1.25 var(--body);border-radius:8px;place-self:start;padding:.35rem .65rem;display:inline-block;transform:rotate(-2deg)}.need-tag{background:var(--tint);color:var(--teal-ink);font:600 .875rem/1.3 var(--body);border-radius:8px;justify-self:start;padding:.25rem .6rem;display:inline-block}.pill{background:var(--soft);border:1px solid var(--line);min-height:44px;color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;padding:.5rem .95rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.pill:hover{border-color:var(--teal);color:var(--teal-dark)}.btn{background:var(--teal);min-height:48px;color:var(--on-teal);touch-action:manipulation;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.15rem;font-weight:700;text-decoration:none;transition:background-color .15s ease-out;display:inline-flex}.btn:hover{background:var(--teal-dark);color:var(--on-teal)}.btn-light{background:var(--bg);color:var(--teal-ink)}.btn-light:hover{background:var(--soft);color:var(--teal-ink)}.btn-buy{background:var(--buy);min-height:48px;color:var(--ink);border:1.5px solid var(--buy-edge);font:700 1rem/1.2 var(--body);touch-action:manipulation;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;text-decoration:none;transition:background-color .15s ease-out;display:inline-flex;box-shadow:0 1px #10201e1f}.btn-buy:hover{background:var(--buy-hover);color:var(--ink)}.btn-buy.sm{min-height:44px;padding:.55rem .9rem;font-size:.95rem}.btn-buy svg,.btn svg{flex:none;width:1.05em;height:1.05em}.rank{block-size:2.75rem;inline-size:2.75rem;font:800 1.25rem/1 var(--display);font-variant-numeric:tabular-nums;background:var(--teal);color:var(--on-teal);border-radius:999px;flex:none;place-items:center;display:inline-grid}.rank[data-rank="1"]{background:var(--sticker);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--buy-edge)}.rank.sm{block-size:1.75rem;inline-size:1.75rem;font-size:.9rem}.rank.md{block-size:2.25rem;inline-size:2.25rem;font-size:1.05rem}.card{border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem}.verdict{border-radius:var(--radius-lg);background:var(--teal);color:var(--on-teal);gap:.8rem;padding:1.25rem;display:grid}.verdict h2,.verdict h3,.verdict p{color:var(--on-teal)}.verdict .soft{color:var(--on-teal-soft)}.prose{gap:1rem;display:grid}.prose>p,.prose>ul,.prose>ol{max-width:var(--prose)}.prose ul,.prose ol{gap:.45rem;margin:0;padding-left:1.25rem;display:grid}.table-box{border:1px solid var(--line);background:linear-gradient(to right, var(--bg) 40%, #fff0) left / 2.5rem 100% no-repeat local, linear-gradient(to left, var(--bg) 40%, #fff0) right / 2.5rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, #10201e33, transparent) left / .9rem 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, #10201e33, transparent) right / .9rem 100% no-repeat scroll;border-radius:14px;position:relative;overflow-x:auto}.table-box table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.93rem}.table-box th,.table-box td{text-align:left;vertical-align:top;padding:.7rem .85rem}.table-box thead th{background:var(--soft);font-weight:600}.table-box tbody tr{border-top:1px solid var(--line)}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.stats>div{flex-direction:column-reverse;gap:.1rem;display:flex}.stats dd{font:800 1.6rem/1.1 var(--display);font-variant-numeric:tabular-nums;color:var(--ink);margin:0}.stats dt{color:var(--muted);font-size:.85rem}.gcards{grid-template-columns:1fr;gap:1rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=37.5rem){.gcards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.gcards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}}@media (width>=73.75rem){.gcards.four{grid-template-columns:repeat(4,minmax(0,1fr))}}.gcard{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);align-content:start;gap:.5rem;padding:1.1rem 1.15rem;transition:border-color .15s ease-out,transform .15s ease-out;display:grid;position:relative}.gcard:hover{border-color:var(--teal);transform:translateY(-1px)}.gcard .g-type{color:var(--teal);align-items:center;gap:.45rem;display:flex}.gcard .g-type .eyebrow{color:var(--teal)}.gcard h3{font:700 1.06rem/1.3 var(--body)}.gcard h3 a{color:var(--ink);text-decoration:none}.gcard h3 a:hover{color:var(--teal);text-decoration:underline}.gcard .g-pick{font:600 .95rem/1.35 var(--body);color:var(--ink);gap:.35rem;display:grid}.gcard .g-alt,.gcard .g-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.gcard:hover{transform:none}}
