:root{--ink:#17202b;--muted:#4b5563;--line:#dfe3e8;--bg:#f7f8fa;--card:#fff;--accent:#0a6247;--accent-d:#084c37;--accent2:#e6f3ed;--warn:#fff8e1;--warnline:#ecd98f;--cta:#c45500;--cta-d:#a34700;--radius:12px;--focus:#0b5cad}::selection{background:#cfe8dc;color:var(--ink)}html{accent-color:var(--accent);scrollbar-color:#b8c0ca transparent}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:17px/1.7 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--bg);text-rendering:optimizeLegibility}.wrap{max-width:920px;margin:0 auto;padding:0 20px}a{color:var(--accent);text-underline-offset:2px}a:hover{color:var(--accent-d)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 14px;z-index:20}.skip:focus{left:10px}header.site{position:sticky;top:0;z-index:10;background:#fffffff5;backdrop-filter:saturate(1.4) blur(6px);border-bottom:1px solid var(--line)}.nav{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:6px 20px}.logo{font-weight:800;font-size:1.3rem;text-decoration:none;color:var(--ink);letter-spacing:-.01em;display:inline-flex;align-items:center;min-height:44px}.logo span{color:var(--accent)}nav{display:flex;flex-wrap:wrap;gap:2px}nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;text-decoration:none;color:var(--muted);font-weight:600;border-radius:8px;font-size:.95rem}nav a:hover{color:var(--accent);background:var(--accent2)}nav a[aria-current=page]{color:var(--accent)}@media(max-width:600px){.nav{padding:4px 12px}nav{width:100%;overflow-x:auto;flex-wrap:nowrap;margin:0 -4px}nav a{padding:0 10px;white-space:nowrap}}main{padding:24px 20px 56px}main>p,main>ul,main>ol,main>h2,main>h3,.prose,.lede{max-width:70ch}h1,h2,h3{text-wrap:balance;line-height:1.25;letter-spacing:-.015em;color:#0f1720}h1{font-size:clamp(1.75rem,4.5vw,2.4rem);margin:.3em 0 .5em}h2{font-size:clamp(1.3rem,3vw,1.6rem);margin:2em 0 .6em}h3{font-size:1.2rem}li{margin:.25em 0}.lede{color:var(--muted);font-size:1.12rem}.meta{color:var(--muted);font-size:.9rem}.meta a{display:inline-block;padding:6px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s}.card:hover{border-color:var(--accent);box-shadow:0 6px 18px #10182814;transform:translateY(-1px)}.card h3{margin:.1em 0 .3em;color:var(--accent)}.disclosure{background:var(--warn);border:1px solid var(--warnline);border-radius:8px;padding:10px 14px;font-size:.88rem;max-width:none}.quick{background:var(--accent2);border:1px solid #b9dccb;border-radius:var(--radius);padding:14px 18px;margin:20px 0}.quick p{margin:.2em 0}.quick strong:first-child{color:var(--accent-d)}.quick ul{margin:.4em 0 0;padding-left:1.2em;font-size:.95rem}.product{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 20px;margin:22px 0;box-shadow:0 1px 2px #1018280a}.product.top{border:2px solid var(--accent);box-shadow:0 6px 20px #0a62471f}.labels{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.badge{display:inline-block;background:var(--accent2);color:var(--accent-d);font-weight:700;font-size:.78rem;padding:3px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.04em}.badge.toppick{background:var(--accent);color:#fff}.product h3{font-size:1.35rem;margin:.2em 0 .4em}.product .rank{color:var(--muted);font-weight:600}.product .brand{color:var(--muted);font-size:.9rem;margin:-.3em 0 .6em}.pc{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0}.pc>div{background:var(--bg);border-radius:8px;padding:10px 14px}.pc ul{margin:.3em 0 0;padding-left:1.1em;font-size:.95rem}.pros strong{color:#0a6247}.cons strong{color:#9a3412}@media(max-width:640px){.pc{grid-template-columns:1fr}.product{padding:18px 16px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;background:var(--cta);color:#fff!important;text-decoration:none;padding:12px 22px;border-radius:10px;font-weight:700;font-size:1rem;box-shadow:0 2px #00000014}.btn{transition:background-color .15s ease-out,box-shadow .15s ease-out}.btn:hover{background:var(--cta-d);box-shadow:0 4px 12px #c4550040}.btn:active{transform:translateY(1px)}td .tbtn:hover{background:var(--cta-d)}@media(max-width:640px){.product .btn{width:100%}}.tablewrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:12px 0 4px;max-width:100%}.tablewrap.overflows:not(.at-end){box-shadow:inset -18px 0 14px -14px #10182859}table{font-variant-numeric:tabular-nums;width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}th,td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}td{min-width:120px;max-width:220px}thead th{background:var(--accent2);font-weight:700;white-space:nowrap}tbody tr:nth-child(2n) td{background:#fafbfc}tbody th[scope=row],thead th:first-child{position:sticky;left:0;z-index:1;min-width:140px;max-width:180px;background:#fff;border-right:1px solid var(--line);box-shadow:4px 0 6px -4px #1018282e}thead th:first-child{background:var(--accent2);z-index:2}tbody th[scope=row]{font-weight:600}.tpick{display:block;font-weight:500;font-size:.78rem;color:var(--muted);line-height:1.3;margin-top:2px}.unk{color:var(--muted);font-style:italic}td a{display:inline-block;padding:4px 0}td .tbtn{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;background:var(--cta);color:#fff;border-radius:8px;text-decoration:none;font-weight:700;white-space:nowrap}td:last-child{min-width:0}.tablewrap:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.scrollhint{font-size:.85rem;color:var(--accent-d);font-weight:600;margin:4px 0 0}.scrollhint[hidden]{display:none}.tablenote{font-size:.82rem;color:var(--muted);margin:4px 0 0}details{background:var(--card);border:1px solid var(--line);border-radius:8px;margin:8px 0;max-width:70ch}summary:hover{color:var(--accent)}summary{font-weight:600;cursor:pointer;padding:12px 16px;min-height:44px;list-style-position:outside}details p{margin:0;padding:0 16px 14px}.related ul{padding-left:1.1em}.related li a{display:inline-block;padding:6px 0}footer.site{border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:.9rem;padding:28px 0}footer .fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}footer .fh{margin:0 0 6px;color:var(--ink);font-size:.95rem}footer ul{list-style:none;margin:0;padding:0}footer li a{display:inline-flex;align-items:center;min-height:36px;color:var(--muted);text-decoration:none}footer li a:hover{color:var(--accent)}footer .fine{border-top:1px solid var(--line);margin-top:18px;padding-top:12px;font-size:.82rem}@media(max-width:640px){footer .fgrid{grid-template-columns:1fr 1fr}footer .fgrid>div:first-child{grid-column:1/-1}footer li a{min-height:44px}}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.product.n-coffee{--niche:#7a4a2a;--niche-bg:linear-gradient(135deg,#f6ece3,#e8d3c0)}.product.n-pets{--niche:#1f6f8b;--niche-bg:linear-gradient(135deg,#e5f3f7,#c9e4ee)}.product.n-home-office{--niche:#4a4fa3;--niche-bg:linear-gradient(135deg,#ecedf9,#d4d6f1)}.pcard-head{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start;margin-bottom:6px}.pcard-art{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:10px;background:var(--niche-bg,var(--accent2));color:var(--niche,var(--accent))}.pcard-art svg{opacity:.85}.pcard-rank{position:absolute;top:8px;left:8px;background:var(--niche,var(--accent));color:#fff;font-weight:800;font-size:.85rem;line-height:1;padding:6px 8px;border-radius:8px}.product.top .pcard-rank{background:var(--accent)}.bestfor{margin:.1em 0 .5em;font-size:.95rem;color:var(--ink)}.pcard-specs{display:flex;flex-wrap:wrap;gap:6px;margin:.4em 0 0;padding:0}.pcard-specs div{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:4px 10px;font-size:.82rem;line-height:1.35}.pcard-specs dt{color:var(--muted);font-weight:600;display:inline}.pcard-specs dt:after{content:": "}.pcard-specs dd{display:inline;margin:0}@media(max-width:640px){.pcard-head{grid-template-columns:72px 1fr;gap:12px}.pcard-art svg{width:36px;height:36px}.pcard-rank{top:4px;left:4px;font-size:.72rem;padding:4px 5px}}.hero{margin:10px 0 18px;border-radius:var(--radius);overflow:hidden;background:var(--line)}.hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}@media(min-width:701px){.hero img{aspect-ratio:auto;height:240px}.hero.slim img{height:180px}}@media(max-width:700px){.hero img{aspect-ratio:2/1}}.pcard-quick{list-style:none;margin:.5em 0 0;padding:0;font-size:.9rem}.pcard-quick li{position:relative;padding-left:1.3em;margin:.2em 0}.pcard-quick li:before{content:"";position:absolute;left:.15em;top:.45em;width:.38em;height:.7em;border:solid var(--accent);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.pcard-cta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:6px}.pcard-cta .btn{min-width:240px;font-size:1.05rem;padding:14px 26px}.pcard-note{margin:0;color:var(--muted);font-size:.8rem}@media(max-width:640px){.pcard-cta .btn{width:100%;min-width:0}}[id]{scroll-margin-top:76px}@media(max-width:600px){[id]{scroll-margin-top:116px}}.buynote{font-size:.82rem;color:var(--muted);margin:6px 0 0}.signup{background:linear-gradient(180deg,var(--accent2),var(--card) 70%);border:1px solid #b9dccb;border-radius:var(--radius);box-shadow:0 2px 8px #1018280d;padding:18px 20px;margin:28px 0}.signup h2{margin:.1em 0 .3em}.signup-label{display:block;font-weight:600;margin:10px 0 4px}.signup-row{display:flex;gap:10px;flex-wrap:wrap}.signup-row input{flex:1 1 220px;min-height:48px;padding:0 14px;font:inherit;border:1px solid #9aa4b2;border-radius:10px;background:#fff;color:var(--ink)}.signup-row input:focus-visible,.signup-consent input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.signup .btn{border:0;cursor:pointer;font-family:inherit}.signup .btn:disabled{opacity:.7}.signup-consent{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.92rem;color:var(--muted);margin-top:8px;cursor:pointer}.signup-consent input{width:22px;height:22px;flex:none;accent-color:var(--accent)}.signup-status{margin:6px 0 0;font-weight:600;color:var(--accent-d)}.signup-status:empty{display:none}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.card:active{transform:none}@media(prefers-reduced-motion:reduce){.card,.btn{transition:none}.card:hover,.btn:active{transform:none}}.author{margin:14px 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.author-byline{margin:0 0 .35em;font-weight:700}.author-label{color:var(--muted);font-weight:600}.author-bio{margin:0;color:var(--muted);font-size:.95rem;max-width:70ch}.author a{font-weight:600}
