.pseo{--cat:var(--accent);--cat-soft:color-mix(in srgb, var(--cat) 12%, transparent);--cat-line:color-mix(in srgb, var(--cat) 40%, var(--border))}.pseo-in{padding-top:clamp(1.5rem,4vw,2.5rem);padding-bottom:var(--section-y)}.pseo-grid{grid-template-columns:minmax(0,1fr);gap:clamp(2rem,5vw,4rem);display:grid}.pseo-main{min-width:0;max-width:760px}@media (width>=1040px){.pseo-grid{grid-template-columns:minmax(0,1fr) 200px}}.crumbs{color:var(--text-faint);flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem;font-size:.8125rem;display:flex}.crumbs a{color:var(--text-dim);text-decoration:none}.crumbs a:hover{color:var(--text)}.pseo h1{letter-spacing:-.03em;font-size:clamp(2rem,5vw,2.9rem)}.eyebrow-cat{color:var(--cat);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.45rem;margin-bottom:.85rem;font-size:.8125rem;font-weight:600;display:inline-flex}.updated{color:var(--text-faint);align-items:center;gap:.4rem;margin-top:.9rem;font-size:.8125rem;display:flex}.updated:before{content:"";background:var(--ok);border-radius:50%;width:6px;height:6px}.pseo-main h2{letter-spacing:-.01em;margin-top:2.75rem;scroll-margin-top:5rem;font-size:clamp(1.3rem,2.6vw,1.7rem)}.pseo-main>p,.prose>p{color:var(--text-dim);margin-top:.9rem;line-height:1.7}.answer{border:1px solid var(--cat-line);border-left:3px solid var(--cat);border-radius:var(--radius);background:var(--cat-soft);margin-top:1.5rem;padding:1.15rem 1.35rem}.answer .answer-label{letter-spacing:.08em;text-transform:uppercase;color:var(--cat);margin-bottom:.5rem;font-size:.6875rem;font-weight:700}.answer p{color:var(--text);margin:0;font-size:1.0625rem;line-height:1.65}.spec-cards{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;display:grid}.spec-cards.one{grid-template-columns:minmax(0,22rem)}.spec{--cat:var(--spec-cat,var(--cat));--cat-soft:color-mix(in srgb, var(--cat) 12%, transparent);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);padding:1.1rem 1.2rem;overflow:hidden}.spec-head{align-items:center;gap:.6rem;margin-bottom:.9rem;display:flex}.spec-ico{border-radius:var(--radius-sm);background:var(--cat-soft);width:34px;height:34px;color:var(--cat);flex:none;place-items:center;display:grid}.spec-name{letter-spacing:-.01em;color:var(--text);font-size:1.05rem;font-weight:660;line-height:1.1;text-decoration:none}a.spec-name:hover{color:var(--cat);text-decoration:none}.spec-name small{color:var(--text-faint);margin-top:.15rem;font-size:.75rem;font-weight:500;display:block}.spec dl{gap:.4rem;margin:0;display:grid}.spec .row{border-top:1px solid var(--border);justify-content:space-between;gap:.75rem;padding-top:.4rem;font-size:.8125rem;display:flex}.spec .row:first-child{border-top:0;padding-top:0}.spec dt{color:var(--text-faint);white-space:nowrap}.spec dd{color:var(--text);text-align:right;margin:0;font-weight:500}.spec dd.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.steps{counter-reset:step;gap:.6rem;margin-top:1.25rem;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);color:var(--text-dim);padding:.85rem 1rem .85rem 3rem;line-height:1.6;position:relative}.steps li:before{content:counter(step);background:var(--cat);color:#fff;border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;font-size:.8125rem;font-weight:700;display:grid;position:absolute;top:.85rem;left:.85rem}.tbl-scroll{border:1px solid var(--border);border-radius:var(--radius);margin-top:1.25rem;overflow-x:auto}.tbl{border-collapse:collapse;width:100%;min-width:440px}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--border);padding:.7rem .9rem;font-size:.9375rem}.tbl thead th{color:var(--text-dim);font-size:.8125rem;font-weight:600}.tbl thead th.is-us{color:var(--cat)}.tbl tbody th{color:var(--text);white-space:nowrap;font-weight:500}.tbl td{color:var(--text-dim)}.tbl td.is-us{color:var(--text);background:var(--cat-soft);font-weight:500}.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{border-bottom:0}.cols{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.25rem;display:grid}.cols .col{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);padding:1.1rem 1.2rem}.col h3{align-items:center;gap:.45rem;margin-bottom:.7rem;font-size:.9375rem;display:flex}.col.pro h3{color:var(--ok)}.col.con h3{color:var(--warn)}.ticks{color:var(--text-dim);gap:.5rem;margin:0;padding:0;font-size:.9375rem;line-height:1.5;list-style:none;display:grid}.ticks li{padding-left:1.35rem;position:relative}.ticks li:before{font-weight:700;position:absolute;top:.05rem;left:0}.col.pro .ticks li:before{content:"+";color:var(--ok)}.col.con .ticks li:before{content:"–";color:var(--warn)}.picks{gap:1rem;margin-top:1.5rem;display:grid}.pick{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elev);padding:1.4rem}.pick.is-us{border-color:var(--cat-line);background:var(--cat-soft)}.pick-head{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.pick-head h3{font-size:1.2rem}.pick .rank{color:var(--cat);font-variant-numeric:tabular-nums}.pick .tag{letter-spacing:.05em;text-transform:uppercase;color:var(--cat);border:1px solid var(--cat-line);border-radius:var(--radius-pill);padding:.15rem .55rem;font-size:.6875rem;font-weight:700}.pick-best{color:var(--text-dim);margin-top:.55rem;line-height:1.6}.pick-cols{grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:.85rem;display:grid}.faq{gap:.5rem;margin-top:1.25rem;display:grid}.faq details{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);padding:.9rem 1.1rem}.faq details[open]{border-color:var(--cat-line)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--cat);font-size:1.35rem;font-weight:400;line-height:1;transition:transform .15s}.faq details[open] summary:after{transform:rotate(45deg)}.faq p{color:var(--text-dim);margin-top:.6rem;font-size:.9375rem;line-height:1.65}.cta{border:1px solid var(--cat-line);border-radius:var(--radius-lg);background:var(--cat-soft);margin-top:2.5rem;padding:1.5rem}.cta-line{color:var(--text);margin:0 0 .9rem;font-weight:560;line-height:1.55}.related{margin-top:3rem}.link-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.9rem;padding:0;list-style:none;display:grid}.link-grid a{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);color:var(--text);padding:.6rem .8rem;font-size:.9375rem;text-decoration:none;display:block}.link-grid a:hover{border-color:var(--cat-line);color:var(--cat)}@media (width<=560px){.spec-cards,.cols,.pick-cols,.link-grid{grid-template-columns:1fr}}.pseo-toc{display:none}@media (width>=1040px){.pseo-toc{align-self:start;font-size:.8125rem;display:block;position:sticky;top:5.5rem}.pseo-toc p{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:0 0 .75rem;font-size:.6875rem;font-weight:700}.pseo-toc ul{border-left:1px solid var(--border);gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.pseo-toc a{color:var(--text-dim);border-left:1px solid #0000;margin-left:-1px;padding-left:.85rem;line-height:1.35;text-decoration:none;display:block}.pseo-toc a:hover{color:var(--cat);border-left-color:var(--cat)}}.hub-in{max-width:960px;padding-top:clamp(1.5rem,4vw,2.5rem);padding-bottom:var(--section-y)}.hub h1{letter-spacing:-.03em;font-size:clamp(2rem,5vw,3rem)}.hub .lede{max-width:60ch;color:var(--text-dim);margin-top:1rem;font-size:1.125rem}.cat-section{--cat-soft:color-mix(in srgb, var(--cat) 12%, transparent);margin-top:2.75rem;scroll-margin-top:5rem}.cat-head{align-items:center;gap:.6rem;margin-bottom:1.1rem;display:flex}.cat-head .cat-ico{border-radius:var(--radius-sm);background:var(--cat-soft);width:32px;height:32px;color:var(--cat);flex:none;place-items:center;display:grid}.cat-head h2{font-size:1.25rem}.cat-head .count{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:.8125rem}.cat-links{grid-template-columns:repeat(3,1fr);gap:.4rem 1rem;margin:0;padding:0;list-style:none;display:grid}.cat-links a{color:var(--text-dim);padding:.15rem 0;font-size:.9375rem;text-decoration:none}.cat-links a:hover{color:var(--cat)}.alt-cards{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2.25rem;padding:0;list-style:none;display:grid}.alt-cards a{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);height:100%;padding:1.2rem 1.3rem;text-decoration:none;display:block}.alt-cards a:hover{border-color:var(--border-strong)}.alt-cards .name{color:var(--text);letter-spacing:-.01em;font-size:1.05rem;font-weight:640}.alt-cards .kind{letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);margin-top:.5rem;font-size:.6875rem;font-weight:700;display:inline-block}.alt-cards .free{color:var(--text-dim);margin-top:.55rem;font-size:.875rem;line-height:1.5}@media (width<=640px){.alt-cards{grid-template-columns:1fr}}@media (width<=760px){.cat-links{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.cat-links{grid-template-columns:1fr}}
