.ptr{--ptr-line:var(--line);--ptr-soft:color-mix(in srgb,var(--ink) 3%,var(--surface));--ptr-r:var(--radius,6px);--ptr-rl:var(--radius-lg,8px);--ptr-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}.ptr [tabindex]:focus-visible,.ptr a:focus-visible,.ptr select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.ptr h3{font-size:16px;line-height:1.35;font-weight:600;letter-spacing:-.01em;margin:0;text-wrap:balance}.ptr-tight{padding:calc(var(--section) * .5) 0}.ptr-anchor{scroll-margin-top:88px}.ptr-h2{font-family:var(--font-head);font-weight:var(--head-weight);font-size:clamp(22px,2.2vw,30px);line-height:1.15;letter-spacing:calc(var(--head-tracking, 0em) - .015em);margin:0;text-wrap:balance}.ptr-ok{color:var(--accent);flex:none}.ptr-muted{color:var(--muted);flex:none}.ptr-link{color:var(--ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ink) 30%,transparent);text-underline-offset:3px;transition:text-decoration-color .15s ease-out,color .15s ease-out}.ptr-link:hover{color:var(--accent);text-decoration-color:currentColor}.ptr-textlink{display:inline-flex;align-items:center;gap:6px;min-height:24px;font-size:14.5px;font-weight:500;color:var(--ink);text-decoration:none}.ptr-textlink:hover{color:var(--accent)}.ptr-textlink svg{transition:transform .15s ease-out}.ptr-textlink:hover svg{transform:translateX(2px)}.ptr-band{border-block:1px solid var(--ptr-line);padding:20px 0}.ptr-band__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 0;font-size:14px;color:var(--ink)}.ptr-band__list li{display:inline-flex;align-items:center;gap:8px;min-width:0;font-variant-numeric:tabular-nums}.ptr-band__list li svg{color:var(--muted);flex:none}.ptr-band--inline .ptr-band__list li+li:before{content:"\00B7";color:var(--muted);padding:0 14px}.ptr-band--grid .ptr-band__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 24px;justify-items:start}@media (min-width:1024px){.ptr-band--inline .ptr-band__list li+li:before{content:"";align-self:stretch;width:1px;padding:0;margin:0 20px;background:var(--ptr-line)}}.ptr-src{list-style:none;margin:28px 0 0;padding:0;display:grid;border-top:1px solid var(--ptr-line);max-width:860px}.ptr-src li{border-bottom:1px solid var(--ptr-line);min-width:0}.ptr-src a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:4px 16px;padding:13px 4px;min-height:24px;color:var(--ink);text-decoration:none;transition:background-color .15s ease-out}.ptr-src a:hover{background:var(--ptr-soft)}.ptr-src a:hover .ptr-src__t{text-decoration:underline;text-underline-offset:3px}.ptr-src__t{font-size:15px;font-weight:500;line-height:1.45;overflow-wrap:anywhere}.ptr-src__h{font-family:var(--ptr-mono);font-size:12.5px;color:var(--muted);overflow-wrap:anywhere;text-align:right}.ptr-src__i{color:var(--muted);align-self:center;transition:color .15s ease-out,transform .15s ease-out}.ptr-src a:hover .ptr-src__i{color:var(--accent);transform:translate(1px,-1px)}.ptr-src--columns{max-width:none}@media (min-width:768px){.ptr-src--columns{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;border-top:0}.ptr-src--columns li:nth-child(-n+2){border-top:1px solid var(--ptr-line)}}.ptr-cred{padding:16px 0}.ptr-cred__list{list-style:none;margin:0;padding:12px 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;font-size:14px;color:var(--muted)}.ptr-cred--line .ptr-cred__list{border-block:1px solid var(--ptr-line)}.ptr-cred--boxed .ptr-cred__list{padding:12px 18px;border:1px solid var(--ptr-line);border-radius:var(--ptr-rl);background:var(--surface)}.ptr-cred__list li{display:inline-flex;align-items:center;gap:8px;min-width:0;min-height:24px;flex-wrap:wrap}.ptr-cred__list li svg{color:var(--muted);flex:none}.ptr-cred__list li svg.ptr-cred__ok{color:var(--accent)}.ptr-cred__who{color:var(--ink)}.ptr-cred__who b{font-weight:600}.ptr-cred__role{padding-left:0}.ptr-mono{display:inline-grid;place-items:center;width:28px;height:28px;flex:none;border-radius:999px;border:1px solid var(--ptr-line);background:var(--ptr-soft);font-size:11.5px;font-weight:600;letter-spacing:.02em}.ptr-cred__list time,.ptr-mono{color:var(--ink)}.ptr-pr{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px}.ptr-pr li{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:18px;border-top:1px solid var(--ptr-line);min-width:0}.ptr-pr__fig{font-family:var(--ptr-mono);font-size:12px;letter-spacing:.02em}.ptr-pr__body,.ptr-pr__fig{color:var(--muted);margin:0}.ptr-pr__body{font-size:15px;line-height:1.6;max-width:46ch}.ptr-pr li .ptr-textlink{margin-top:auto}.ptr-pr--list{grid-template-columns:1fr;gap:0;border-bottom:1px solid var(--ptr-line)}.ptr-pr--list li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr) auto;align-items:baseline;gap:8px 32px;padding:20px 0}.ptr-pr--list li .ptr-textlink{margin:0;white-space:nowrap}.ptr-facts{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));margin:28px 0 0;border-block:1px solid var(--ptr-line)}.ptr-facts>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:10px;padding:24px;min-width:0}.ptr-facts>div+div{border-left:1px solid var(--ptr-line)}.ptr-facts dt{font-size:14px;color:var(--muted)}.ptr-facts dd{margin:0;font-family:var(--font-head);font-weight:600;font-size:clamp(30px,3.4vw,44px);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.ptr-facts--inline{margin-top:20px}.ptr-facts--inline>div{padding:16px 20px;gap:6px}.ptr-facts--inline dd{font-size:clamp(22px,2.2vw,28px)}.ptr-h2+.ptr-facts{margin-top:24px}.sr-only+.ptr-facts{margin-top:0}.ptr-picks{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.ptr-pick{display:flex;flex-direction:column;gap:16px;padding:24px;min-width:0;background:var(--surface);border:1px solid var(--ptr-line);border-radius:var(--ptr-rl)}.ptr-pick.is-hi{border-color:var(--accent)}.ptr-pick__detail,.ptr-pick__lead{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}.ptr-pick__detail{flex:1}.ptr-pick__detail .ptr-textlink{margin-top:auto;padding-top:4px}.ptr-pill{display:inline-flex;align-items:center;margin:0;padding:4px 10px;border:1px solid color-mix(in srgb,var(--ink) 18%,var(--line));border-radius:999px;font-size:12.5px;font-weight:500;color:var(--ink);line-height:1.2}.ptr-pick.is-hi .ptr-pill{border-color:var(--accent);color:var(--accent)}.ptr-pick h3{font-size:18px}.ptr-pick__for,.ptr-pick__why{margin:0;font-size:14.5px;line-height:1.6;color:var(--muted)}.ptr-pick__for span,.ptr-pick__why span{color:var(--ink);font-weight:500}.ptr-pick__pros{list-style:none;margin:0;padding:12px 0 0;display:grid;gap:8px;width:100%;border-top:1px solid var(--ptr-line);font-size:14.5px;line-height:1.5}.ptr-pick__pros li{display:flex;gap:8px;align-items:flex-start}.ptr-pick__pros svg{margin-top:3px}.ptr-pick__flaw{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:14.5px;line-height:1.5;color:var(--muted)}.ptr-pick__flaw svg{margin-top:3px;flex:none}.ptr-pick__flaw b{color:var(--ink);font-weight:500}.ptr-picks--rows{grid-template-columns:1fr}.ptr-picks--rows .ptr-pick{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:16px 40px}.ptr-mx-focus,.ptr-mx-plain{margin-top:32px}.ptr-mx-wrap{overflow:auto;max-height:min(80vh,760px);border:1px solid var(--ptr-line);border-radius:var(--ptr-rl);background:var(--surface)}.ptr-mx{width:100%;border-collapse:separate;border-spacing:0;font-size:14.5px;font-variant-numeric:tabular-nums;min-width:520px}.ptr-mx caption{caption-side:top;font-size:13px;color:var(--muted);background:var(--surface)}.ptr-mx caption,.ptr-mx td,.ptr-mx th{text-align:left;padding:12px 16px;border-bottom:1px solid var(--ptr-line)}.ptr-mx td,.ptr-mx th{vertical-align:middle}.ptr-mx thead td,.ptr-mx thead th{position:sticky;top:0;z-index:2;background:var(--ptr-soft);font-weight:600;font-size:14px;border-top:2px solid transparent}.ptr-mx thead th.is-hi{border-top-color:var(--accent)}.ptr-mx thead th small{display:block;margin-top:2px;font-size:11.5px;font-weight:500;color:var(--accent)}.ptr-mx tbody th[scope=row]{position:sticky;left:0;z-index:1;background:var(--surface);font-weight:500;color:var(--ink);min-width:150px;border-right:1px solid var(--ptr-line)}.ptr-mx thead .ptr-mx__corner{left:0;z-index:3;border-right:1px solid var(--ptr-line)}.ptr-mx td{color:var(--muted)}.ptr-mx td.is-hi{background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.ptr-mx__group th{background:var(--ptr-soft);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-block:8px}.ptr-mx__group th span{position:sticky;left:16px}.ptr-mx tbody:last-child tr:last-child td,.ptr-mx tbody:last-child tr:last-child th{border-bottom:0}.ptr-yes{color:var(--accent)}.ptr-no,.ptr-yes{display:inline-flex}.ptr-no{color:var(--muted)}.ptr-mx__note{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;font-size:14.5px;line-height:1.55;color:var(--ink);max-width:72ch}.ptr-mx__note svg{color:var(--muted);flex:none;margin-top:3px}.ptr-mx-focus__bar{display:none;align-items:center;gap:10px;margin-bottom:12px;font-size:14px;color:var(--muted)}.ptr-select{font:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:1px solid color-mix(in srgb,var(--ink) 14%,var(--line));border-radius:var(--ptr-r);padding:8px 10px;min-height:36px;flex:1;min-width:0}.ptr-fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 56px;margin-top:32px}.ptr-fit>div{min-width:0;padding-top:18px;border-top:1px solid var(--ptr-line)}.ptr-fit ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}.ptr-fit li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.55;color:var(--ink)}.ptr-fit li svg{margin-top:3px}.ptr-fit__ptr{display:block;margin-top:2px;font-size:14px;color:var(--muted)}.ptr-fit--stacked{grid-template-columns:1fr;max-width:720px}.ptr-lim{max-width:820px}.ptr-lim ul{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px}.ptr-lim li{display:flex;gap:10px;align-items:flex-start}.ptr-lim li svg{margin-top:4px}.ptr-lim li p{margin:0;font-size:15px;line-height:1.6;color:var(--muted)}.ptr-lim li b{color:var(--ink);font-weight:600}.ptr-lim__pro{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--ptr-line);font-size:15px;line-height:1.6;color:var(--ink)}.ptr-lim__pro b{font-weight:600}.ptr-lim--callout{padding:clamp(20px,3vw,32px);border:1px solid var(--ptr-line);border-radius:var(--ptr-rl);background:var(--surface)}.ptr-lim--callout .lx-head{margin-bottom:0}@media (max-width:960px){.ptr-pr{grid-template-columns:1fr;gap:24px}.ptr-pr--list{gap:0}.ptr-picks,.ptr-picks--rows .ptr-pick{grid-template-columns:1fr}}@media (max-width:768px){.ptr-fit,.ptr-pr--list li{grid-template-columns:1fr}.ptr-pr--list li{gap:6px}}@media (max-width:640px){.ptr-band__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;justify-items:start;font-size:13.5px}.ptr-band--inline .ptr-band__list li+li:before{display:none}.ptr-band__list li{align-items:flex-start}.ptr-band__list li svg{margin-top:2px}.ptr-src a{grid-template-columns:minmax(0,1fr) auto}.ptr-src__h{grid-column:1;grid-row:2;text-align:left}.ptr-src__i{grid-column:2;grid-row:1/span 2}.ptr-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.ptr-facts>div{padding:18px 14px}.ptr-facts>div:nth-child(odd){border-left:0}.ptr-facts>div:nth-child(n+3){border-top:1px solid var(--ptr-line)}.ptr-facts dd{white-space:normal}.ptr-pick{padding:20px}.ptr-mx{min-width:0}.ptr-mx tbody th[scope=row]{min-width:110px}.ptr-mx-focus__bar{display:flex}.ptr-mx-focus[data-col="0"] :is(th,td)[class*=ptr-c]:not(.ptr-c0),.ptr-mx-focus[data-col="1"] :is(th,td)[class*=ptr-c]:not(.ptr-c1),.ptr-mx-focus[data-col="2"] :is(th,td)[class*=ptr-c]:not(.ptr-c2),.ptr-mx-focus[data-col="3"] :is(th,td)[class*=ptr-c]:not(.ptr-c3){display:none}.ptr-mx-plain .ptr-mx{min-width:480px}}@media (prefers-reduced-motion:reduce){.ptr *,.ptr :before{transition:none!important}}