body:has(.site),html:has(.site){background:var(--slate)}.site{position:relative;min-height:100vh;color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#header-sentinel{position:absolute;top:400px;left:0;width:1px;height:1px;pointer-events:none}.skip-link{position:absolute;left:var(--s-4);top:-100px;z-index:100;padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);background:var(--marigold);color:var(--ink);font-weight:600;transition:top var(--d-move) var(--ease-state)}.skip-link:focus-visible{top:var(--s-3)}.site :focus-visible{outline:2px solid var(--ink);outline-offset:3px;transition:none}.band--hero :focus-visible,.band--slate :focus-visible,.sheet :focus-visible,.site-footer :focus-visible,.site-header--hero:not(.is-stuck) :focus-visible{outline-color:var(--marigold)}:where(.site) :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0}:where(.site) :where(ul,ol){padding:0}.pg{display:grid;grid-template-columns:[full-start] minmax(20px,1fr) [gutter-start] var(--gutter) [gutter-end] var(--gutter-gap) [content-start] minmax(0,var(--content-max)) [measure-end] var(--notes-gap) [notes-start] var(--notes) [notes-end content-end] minmax(20px,1fr) [full-end]}.at-gutter{grid-column:gutter-start/gutter-end}.at-content{grid-column:content-start/measure-end}.at-notes{grid-column:notes-start/notes-end}.at-wide{grid-column:content-start/notes-end}.at-span{grid-column:gutter-start/notes-end}.at-full{grid-column:full-start/full-end}.band{position:relative}.band--paper{background:var(--paper);color:var(--ink)}.band--hero,.band--slate{background:var(--slate);color:var(--on-dark)}.band+.band,.site-footer{margin-top:calc(var(--curl) * -1);border-radius:var(--curl) var(--curl) 0 0}.band-badge{justify-self:center;align-self:start;margin-top:14px}.band-title{font:400 var(--fs-band) /1.02 var(--font-display);letter-spacing:-.02em;margin-bottom:var(--s-5);text-wrap:balance}.band-intro{color:var(--muted);font-size:var(--fs-body);margin-bottom:var(--s-6);max-width:60ch}.band-more{justify-self:end;margin-top:var(--s-6)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;height:var(--header-h);background:var(--paper);color:var(--ink);border-bottom:1px solid var(--rule-soft);transition:background-color var(--d-hover) var(--ease-state),color var(--d-hover) var(--ease-state),box-shadow var(--d-move) var(--ease-state),border-color var(--d-hover) var(--ease-state)}.site-header--hero{background:transparent;color:var(--on-dark);border-bottom-color:transparent}.site-header.is-stuck{background:var(--paper-a92);color:var(--ink);border-bottom-color:var(--rule-soft);box-shadow:var(--shadow-slate);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-inner{width:min(1240px,100% - 40px);height:100%;margin-inline:auto;display:flex;align-items:center;gap:var(--s-6)}.logo{display:inline-flex;align-items:center;gap:10px;min-height:var(--tap);border-radius:var(--r-sm);color:inherit}.logo-mark{color:var(--slate);flex:none;transition:transform var(--d-move) var(--ease-state)}.logo-mark-p{fill:var(--paper)}.site-footer .logo-mark,.site-header--hero:not(.is-stuck) .logo-mark{color:var(--paper)}.site-footer .logo-mark-p,.site-header--hero:not(.is-stuck) .logo-mark-p{fill:var(--slate)}.logo:hover .logo-mark{transform:rotate(-8deg)}.logo-word{font:400 30px/1 var(--font-display);letter-spacing:-.01em}.main-nav{display:flex;align-items:center;gap:var(--s-5);margin-left:var(--s-4)}.nav-link{display:inline-flex;align-items:center;gap:var(--s-1);min-height:var(--tap);padding:0;border:0;background:none;color:inherit;font:500 var(--fs-ui) /1.2 var(--font-body);letter-spacing:.005em;cursor:pointer;-webkit-text-decoration:underline 2px transparent;text-decoration:underline 2px transparent;text-underline-offset:6px;transition:opacity var(--d-hover) var(--ease-state),-webkit-text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state),opacity var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state),opacity var(--d-hover) var(--ease-state),-webkit-text-decoration-color var(--d-hover) var(--ease-state)}.nav-link:hover{-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule)}.nav-link:active{opacity:.7}.nav-link.is-active{-webkit-text-decoration-color:var(--marigold);text-decoration-color:var(--marigold)}.nav-button svg{transition:transform var(--d-move) var(--ease-state)}.nav-button[aria-expanded=true] svg{transform:rotate(180deg)}.nav-cats{position:relative}.cats-panel{position:absolute;top:calc(100% + 6px);left:-12px;width:320px;padding:var(--s-2);border-radius:var(--r-md);background:var(--paper);color:var(--ink);border:1px solid var(--rule-soft);box-shadow:var(--shadow-slate);animation:panel-in var(--d-move) var(--ease-enter)}.cats-panel[hidden]{display:none}.cats-link{display:flex;justify-content:space-between;gap:var(--s-4);padding:10px var(--s-3);border-radius:var(--r-sm);font-size:var(--fs-ui);transition:background-color var(--d-hover) var(--ease-state)}.cats-link:hover{background:var(--bone)}.cats-link:active{background:var(--skeleton)}.cats-link small{font:500 var(--fs-small) /1.6 var(--font-mono);color:var(--muted)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--s-3)}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--ink-a24);background:transparent;color:inherit;cursor:pointer;transition:border-color var(--d-hover) var(--ease-state),background-color var(--d-hover) var(--ease-state),transform var(--d-press) var(--ease-state)}.icon-button:hover{border-color:currentColor;background:var(--ink-a04)}.icon-button:active{transform:scale(.94)}.icon-button--dark,.site-header--hero:not(.is-stuck) .icon-button{border-color:var(--on-dark-a32)}.icon-button--dark:hover,.site-header--hero:not(.is-stuck) .icon-button:hover{background:var(--on-dark-a08);border-color:var(--on-dark)}.menu-button{display:none}.sheet{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(420px,100%);padding:var(--s-4) var(--s-5) var(--s-6);display:flex;flex-direction:column;gap:var(--s-6);overflow-y:auto;background:var(--slate);color:var(--on-dark);transform:translateX(100%);visibility:hidden;transition:transform var(--d-sheet) var(--ease-state),visibility 0s linear var(--d-sheet)}.sheet.is-open{transform:none;visibility:visible;transition:transform var(--d-sheet) var(--ease-enter),visibility 0s}.sheet-top{display:flex;justify-content:flex-end}.sheet-nav{display:flex;flex-direction:column}.sheet-nav a{padding:6px 0;font:400 28px/1.2 var(--font-display);transition:color var(--d-hover) var(--ease-state)}.sheet-cats a:hover,.sheet-nav a:hover{color:var(--marigold)}.sheet-cats{display:flex;flex-direction:column;gap:var(--s-1);padding-top:var(--s-5);border-top:1px dotted var(--rule-dark)}.sheet-label{color:var(--muted-on-dark);font-size:var(--fs-meta);margin-bottom:var(--s-2)!important}.sheet-cats a{min-height:var(--tap);display:flex;align-items:center;font-size:16px;transition:color var(--d-hover) var(--ease-state)}.sheet>*{flex:none}.sheet-cta{margin-top:auto;width:100%}.sheet-scrim{position:fixed;inset:0;z-index:55;background:var(--scrim);animation:fade-in var(--d-move) var(--ease-state)}.sheet-scrim[hidden]{display:none}html.sheet-open{overflow:hidden}.pill{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:var(--tap);padding:0 22px;border-radius:var(--r-pill);border:1px solid transparent;font:500 var(--fs-ui) /1.2 var(--font-body);letter-spacing:.005em;white-space:nowrap;cursor:pointer;transition:background-color var(--d-hover) var(--ease-state),border-color var(--d-hover) var(--ease-state),color var(--d-hover) var(--ease-state),transform var(--d-move) var(--ease-state),box-shadow var(--d-press) var(--ease-state)}.pill--small{height:40px;padding:0 var(--s-4);font-size:14px}.pill--primary{background:var(--marigold);color:var(--ink)}.pill--primary:hover{background:var(--marigold-hover);transform:translateY(-1px)}.pill--primary:active{background:var(--marigold-press);transform:none;box-shadow:var(--press-inset);transition-duration:var(--d-press)}.pill--primary:disabled{cursor:progress;opacity:.8}.pill--ghost{background:transparent;color:inherit;border-color:var(--ink-a24)}.pill--ghost:hover{border-color:currentColor;background:var(--ink-a04)}.pill--ghost:active{background:var(--bone);transition-duration:var(--d-press)}.band--hero .pill--ghost,.band--slate .pill--ghost{border-color:var(--on-dark-a32)}.band--hero .pill--ghost:hover,.band--slate .pill--ghost:hover{border-color:var(--on-dark);background:var(--on-dark-a08)}.band--hero .pill--ghost:active,.band--slate .pill--ghost:active{background:var(--on-dark-a28)}.pill-arrow{transition:transform var(--d-move) var(--ease-state)}.pill:hover .pill-arrow{transform:translateX(3px)}.footer-legal a,.prose a,.sidenote a,.specs-source a,.text-link{color:var(--ochre);-webkit-text-decoration:underline 1px;text-decoration:underline 1px;text-underline-offset:3px;transition:text-decoration-thickness var(--d-hover) var(--ease-state),color var(--d-hover) var(--ease-state)}.footer-legal a:hover,.prose a:hover,.sidenote a:hover,.specs-source a:hover,.text-link:hover{text-decoration-thickness:2px}.prose a:active,.text-link:active{color:var(--ink)}.footer-legal a{color:var(--marigold)}.text-link{font-weight:500}.badge{display:inline-grid;place-items:center;flex:none;border-radius:50%;background:var(--slate);color:var(--paper);font:600 var(--fs-badge) /1 var(--font-body);letter-spacing:.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge--section{width:28px;height:28px}.badge--rank{width:40px;height:40px;font-size:14px}.badge--light,.band--hero .badge,.band--slate .badge{background:var(--paper);color:var(--slate)}.badge--gold,.rank-row--first .rank-num{background:var(--marigold);color:var(--ink)}.badge.badge--loss{background:var(--loss);color:var(--paper)}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;height:28px;padding:0 10px;border:1px solid var(--rule);border-radius:var(--r-pill);font:600 var(--fs-badge) /1 var(--font-body);color:var(--ink);white-space:nowrap}.chip--mono{font-family:var(--font-mono);font-weight:500}.chip--link{transition:border-color var(--d-hover) var(--ease-state),background-color var(--d-hover) var(--ease-state)}.chip--link:hover{border-color:var(--ink);background:var(--bone)}.chip--link:active{background:var(--skeleton)}.rating{display:inline-flex;align-items:center;gap:var(--s-2);white-space:nowrap}.rating-score{font:500 var(--fs-score) /1 var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rating-bar{display:inline-flex;gap:3px}.rating-seg{width:18px;height:6px;border-radius:var(--r-xs);background:linear-gradient(90deg,var(--marigold) calc(var(--fill) * 100%),var(--rule) 0)}.band--slate .rating-seg,.stat-card .rating-seg{background:linear-gradient(90deg,var(--marigold) calc(var(--fill) * 100%),var(--rule-dark) 0)}.stat-card .rating-seg{background:linear-gradient(90deg,var(--marigold) calc(var(--fill) * 100%),var(--rule) 0)}.rating-max{font:500 var(--fs-small) /1 var(--font-mono);color:var(--muted)}.band--slate .rating-max{color:var(--muted-on-dark)}.rating--l .rating-score{font-size:30px}.rating--l .rating-seg{width:22px;height:8px}.rating--none{font-size:var(--fs-meta);color:var(--muted)}.frame{--pad:6px;position:relative;margin-inline:auto;padding:var(--pad);background:var(--bone);border:1px solid var(--frame-line);border-radius:var(--r-md);transition:border-color var(--d-hover) var(--ease-state)}.frame--natural{max-width:calc(var(--nat-w, 100%) + 2 * var(--pad) + 2px)}.frame img{width:100%;height:auto;border-radius:calc(var(--r-md) - var(--pad));background:var(--paper);transition:filter var(--d-hover) var(--ease-state)}.frame--slot img{aspect-ratio:var(--slot-ratio);object-fit:cover;object-position:top center}.frame--contain img{object-fit:contain;background:var(--bone)}.frame--bar{padding-top:0}.frame-bar{height:28px;display:flex;align-items:center;gap:6px;padding:0 4px;min-width:0}.frame-bar i{width:8px;height:8px;flex:none;border-radius:50%;background:var(--rule)}.frame-bar span{margin-left:var(--s-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 12px/1 var(--font-mono);color:var(--muted)}.band--slate .frame{background:var(--card-dark);border-color:var(--card-dark-line)}.band--slate .frame img{filter:brightness(.88)}.band--slate .frame:hover img,.band--slate a:hover .frame img{filter:brightness(1)}a:hover .frame,a:hover>.frame{border-color:var(--rule)}.dusk-tile{position:relative;display:flex;align-items:flex-end;aspect-ratio:1.6;padding:var(--s-5);border-radius:var(--r-md);color:var(--on-dark);font:400 var(--fs-serif-m) /1.1 var(--font-display)}.dusk-tile,.hero{background:var(--hero-gradient)}.hero{margin-top:calc(var(--header-h) * -1);padding:calc(var(--header-h) + var(--s-hero-top)) 0 var(--s-hero-bottom)}.hero-badge{margin-top:22px}.hero-copy{animation:fade-in var(--d-hero) var(--ease-enter) both}.hero-title{font:400 var(--fs-hero) /var(--lh-tight) var(--font-display);letter-spacing:-.025em}.hero-title span{display:block}.hero-title em{font-style:italic}.hero-deck{margin-top:var(--s-6)!important;max-width:52ch;font-size:var(--fs-deck);line-height:var(--lh-deck);color:var(--on-dark)}.hero-actions{margin-top:40px;gap:var(--s-3)}.hero-actions,.trust{display:flex;flex-wrap:wrap}.trust{list-style:none;margin-top:72px!important;padding-top:var(--s-5)!important;border-top:1px dotted var(--on-dark-a28);gap:var(--s-3) var(--s-5);font-size:var(--fs-meta);color:var(--on-dark)}.trust li{display:flex;align-items:center;gap:var(--s-2)}.trust svg{color:var(--marigold)}.why-title{font:400 var(--fs-serif-m) /1.1 var(--font-display)}.why-body,.why-title{margin-top:var(--s-9)!important}.why-body{font-size:16px;line-height:1.6;color:var(--on-dark)}.band--ranking{padding:var(--s-rank-top) 0 calc(var(--s-8) + var(--curl))}.rank-list{list-style:none}.rank-row{padding:var(--s-6) 0;border-top:1px dotted var(--rule);align-items:start}.rank-row:last-child{border-bottom:1px dotted var(--rule)}.rank-num{justify-self:center}.rank-main{display:grid;grid-template-columns:minmax(0,1fr) 176px;grid-column-gap:var(--s-5);column-gap:var(--s-5);align-content:start}@media (min-width:1100px){.rank-main>:not(.rank-thumb){grid-column:1}}.rank-name{font:400 var(--fs-name) /1.05 var(--font-display);letter-spacing:-.01em}.rank-name a{-webkit-text-decoration:underline 1px transparent;text-decoration:underline 1px transparent;text-underline-offset:5px;transition:-webkit-text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state),-webkit-text-decoration-color var(--d-hover) var(--ease-state)}.rank-name a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.rank-thumb{grid-column:2;grid-row:1/span 4;align-self:start;border-radius:var(--r-md)}.rank-verdict{line-height:1.55;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rank-best,.rank-verdict{margin-top:var(--s-2)!important;font-size:16px}.rank-best{line-height:1.5}.rank-best span,.verdict-best span{font-weight:600;margin-right:2px}.rank-best span:after,.verdict-best span:after{content:":"}.rank-main .chips{margin-top:var(--s-3)}.rank-notes{flex-direction:column}.metrics div,.rank-notes{display:flex;gap:var(--s-4)}.metrics div{justify-content:space-between;align-items:baseline;padding:3px 0}.metrics dt{font-size:var(--fs-small);color:var(--muted);min-width:0}.metrics dd{font:500 var(--fs-ui) /1.3 var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;max-width:60%;overflow-wrap:anywhere}.rank-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3)}.band--stats{padding:var(--s-band-dark) 0 calc(var(--s-band-dark) + var(--curl))}.stats-intro{font-size:var(--fs-body);color:var(--on-dark);max-width:56ch}.stat-card{align-self:start;display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5);border-radius:var(--r-md);background:var(--bone);color:var(--ink);transition:background-color var(--d-hover) var(--ease-state)}.stat-card:hover{background:var(--bone-hover)}.stat-card:active{background:var(--skeleton)}.stat-card-label{font-size:var(--fs-meta);color:var(--muted)}.stat-card-name{font:400 var(--fs-serif-m) /1.1 var(--font-display);-webkit-text-decoration:underline 1px transparent;text-decoration:underline 1px transparent;text-underline-offset:4px;transition:-webkit-text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state),-webkit-text-decoration-color var(--d-hover) var(--ease-state)}.stat-card:hover .stat-card-name{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.tiles{list-style:none;margin-top:var(--s-7)!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-5);gap:var(--s-5);align-items:end;height:260px}.tile{--h:160px;height:var(--h);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--s-1);padding:var(--s-5);border-radius:var(--r-md);background:var(--bone);color:var(--ink);transition:height var(--d-grow) var(--ease-enter) calc(var(--t) * var(--stagger-tile))}.tile:nth-child(2){--h:200px}.tile:nth-child(3){--h:260px}.tiles[data-grow=armed] .tile{height:calc(var(--h) * .4)}.tile-value{font:500 var(--fs-stat) /1 var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile-label{font-size:var(--fs-meta);color:var(--muted)}.band--table{padding:var(--s-table) 0 calc(var(--s-table) + var(--curl))}.table-scroll{position:relative;overflow-x:auto;border-radius:var(--r-md) var(--r-md) 0 0}.compare{width:100%;min-width:760px;border-collapse:collapse;font-size:var(--fs-meta)}.compare thead th{height:48px;padding:0 var(--s-4);background:var(--bone);font:600 var(--fs-small) /1.2 var(--font-body);text-align:left;color:var(--ink);white-space:nowrap}.compare tbody th,.compare td{height:56px;padding:0 var(--s-4);border-bottom:1px dotted var(--rule);text-align:left;font-weight:400}.compare tbody th{font:400 20px/1.1 var(--font-display)}.compare td:first-child,.compare th:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:var(--paper)}.compare thead th:first-child{background:var(--bone)}.compare .num{text-align:right;font:500 var(--fs-small) /1.2 var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.compare thead .num{font-family:var(--font-body);font-weight:600}.compare tbody tr{transition:background-color var(--d-hover) var(--ease-state)}.compare tbody tr:hover,.compare tbody tr:hover th{background:var(--bone-a50)}.compare tbody tr:hover th{background:var(--bone-tint)}.compare a{-webkit-text-decoration:underline 1px transparent;text-decoration:underline 1px transparent;text-underline-offset:3px;transition:-webkit-text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state),-webkit-text-decoration-color var(--d-hover) var(--ease-state)}.compare a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.table-cat{font-size:var(--fs-meta)}.na,.table-cat{color:var(--muted)}.na{font-family:var(--font-body);font-weight:400}.table-note{margin-top:var(--s-4)!important;max-width:64ch;font-size:var(--fs-meta);color:var(--muted)}.band--latest{padding:var(--s-band-dark) 0 calc(var(--s-band-dark) + var(--curl))}.lead-media{max-width:560px;width:100%}.lead-media a{display:block;border-radius:var(--r-md)}.lead-text{display:flex;flex-direction:column;gap:var(--s-3)}.latest-side a,.lead-cat a{font-size:var(--fs-meta);color:var(--marigold);-webkit-text-decoration:underline 1px transparent;text-decoration:underline 1px transparent;text-underline-offset:3px;transition:-webkit-text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state),-webkit-text-decoration-color var(--d-hover) var(--ease-state)}.latest-side a:hover,.lead-cat a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.lead-title{font:400 30px/1.1 var(--font-display);letter-spacing:-.01em}.ed-title a,.latest-title a,.lead-title a,.related-list a,.type-link{-webkit-text-decoration:underline 1px transparent;text-decoration:underline 1px transparent;text-underline-offset:4px;transition:color var(--d-hover) var(--ease-state),-webkit-text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state),color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state),color var(--d-hover) var(--ease-state),-webkit-text-decoration-color var(--d-hover) var(--ease-state)}.ed-title a:hover,.latest-title a:hover,.lead-title a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.lead-excerpt{font-size:16px;line-height:1.55;color:var(--muted-on-dark)}.latest-list{list-style:none;margin-top:var(--s-8)!important}.latest-row{padding:var(--s-5) 0;border-top:1px dotted var(--rule-dark);align-items:baseline}.latest-date{font:400 var(--fs-small) /1.4 var(--font-mono);color:var(--muted-on-dark);white-space:nowrap}.latest-title{font:400 var(--fs-serif-s) /1.2 var(--font-display)}.latest-side{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-4)}.band--types{padding:var(--s-closing) 0 calc(var(--s-closing) + var(--curl))}.types{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:var(--s-7);column-gap:var(--s-7)}.type{padding:var(--s-5) 0;border-top:1px dotted var(--rule)}.type-link{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-4)}.type-link:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.type-link:active{color:var(--muted)}.type-name{font:400 var(--fs-serif-m) /1.15 var(--font-display)}.type-count{flex:none;font:500 var(--fs-small) /1 var(--font-mono);color:var(--muted)}.type-desc{margin-top:var(--s-2)!important;font-size:16px;line-height:1.55;color:var(--muted);max-width:48ch}.band--intro{padding:var(--s-intro) 0 calc(var(--s-intro) + var(--curl));row-gap:var(--s-5)}.intro-title{font:400 var(--fs-title) /1 var(--font-display);letter-spacing:-.02em;text-wrap:balance}.intro-side{align-self:end;display:flex;flex-direction:column;gap:var(--s-3)}.intro-desc{font-size:16px;line-height:1.6;color:var(--on-dark)}.intro-count{font:500 var(--fs-meta) /1.4 var(--font-mono);color:var(--muted-on-dark)}.band--index{padding:var(--s-8) 0 calc(var(--s-7) + var(--curl))}.filters{display:flex;gap:var(--s-2);overflow-x:auto;padding-bottom:var(--s-5);margin-bottom:var(--s-2);scrollbar-width:thin}.filter{flex:none;display:inline-flex;align-items:center;gap:var(--s-2);height:40px;padding:0 var(--s-4);border:1px solid var(--rule);border-radius:var(--r-pill);font-size:14px;font-weight:500;white-space:nowrap;transition:background-color var(--d-hover) var(--ease-state),border-color var(--d-hover) var(--ease-state),color var(--d-hover) var(--ease-state)}.filter span{font:500 12px/1 var(--font-mono);color:var(--muted)}.filter:hover{border-color:var(--ink)}.filter:active{background:var(--bone)}.filter.is-active{background:var(--slate);border-color:var(--slate);color:var(--paper)}.filter.is-active span{color:var(--muted-on-dark)}.pager{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-6)}.pager-link{transition:background-color var(--d-hover) var(--ease-state),transform var(--d-press) var(--ease-state)}.pager-link:hover{background:var(--dusk-teal)}.pager-link:active{transform:scale(.95)}.pager-link.is-active{background:var(--marigold);color:var(--ink)}.search-form{display:flex;flex-direction:column;gap:var(--s-2)}.newsletter label,.search-form label{font-size:var(--fs-meta);font-weight:500;color:var(--on-dark)}.search-count{align-self:end}.field-pill{display:flex;align-items:center;gap:var(--s-2);height:48px;padding:4px 4px 4px 20px;border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--paper);color:var(--ink);transition:border-color var(--d-hover) var(--ease-state),box-shadow var(--d-hover) var(--ease-state)}.field-pill:hover{border-color:var(--muted)}.field-pill:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px var(--focus-halo)}.field-pill.has-error{border-color:var(--loss)}.field-pill input{flex:1 1;min-width:0;height:100%;border:0;background:transparent;color:var(--ink);font-size:16px;outline:none}.field-pill svg{flex:none;color:var(--muted)}.field-pill .pill:focus-visible{outline-offset:1px}.ed-list{list-style:none}.ed-row{padding:var(--s-6) 0;border-top:1px dotted var(--rule);align-items:start}.ed-date{font:400 var(--fs-small) /1.9 var(--font-mono);color:var(--muted);white-space:nowrap}.ed-main{display:flex;flex-direction:column;gap:var(--s-2);align-items:flex-start}.ed-cat a{font-size:var(--fs-meta);color:var(--ochre)}.ed-title{font:400 var(--fs-serif-m) /1.15 var(--font-display)}.ed-excerpt{font-size:16px;line-height:1.55;color:var(--muted);max-width:64ch}.ed-thumb{width:200px;justify-self:end;border-radius:var(--r-md)}.art{position:relative;background:var(--paper);color:var(--ink)}.art-col{grid-row:1;min-width:0}.art-head{padding-bottom:var(--s-7)}.art-cat{font-size:var(--fs-meta);margin-bottom:var(--s-4)!important}.art-cat a{display:inline-flex;align-items:center;min-height:32px;color:var(--ochre);-webkit-text-decoration:underline 1px transparent;text-decoration:underline 1px transparent;text-underline-offset:3px;transition:-webkit-text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state),-webkit-text-decoration-color var(--d-hover) var(--ease-state)}.art-cat a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.art-title{max-width:24ch;font:400 var(--fs-title) /1 var(--font-display);letter-spacing:-.02em;text-wrap:balance}.art-deck{margin-top:var(--s-5)!important;font-size:var(--fs-deck);line-height:var(--lh-deck);color:var(--ink)}.art-meta{margin-top:var(--s-5);padding-bottom:var(--s-4);border-bottom:1px dotted var(--rule);display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-5);font-size:var(--fs-meta);line-height:1.5;color:var(--muted)}.verdict{margin-top:var(--s-6);display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:var(--s-5);gap:var(--s-5);align-items:start}.verdict-score{padding-top:4px}.verdict-score .rating{flex-direction:column;align-items:flex-start;gap:10px}.verdict-score .rating-max{display:none}.verdict-label{font-weight:600;font-size:16px;margin-bottom:var(--s-1)!important}.verdict-body{font-size:var(--fs-body);line-height:1.6}.verdict-best{margin-top:var(--s-3)!important;font-size:16px;color:var(--ink)}.glance-mobile{display:none}.art-lede{margin-top:var(--s-7)!important;width:100%}.art-lede--narrow .frame{max-width:380px}.art-lede--square .frame{max-width:560px}.dusk-tile--lede{aspect-ratio:2.4;font-size:32px}.art-body{padding:var(--s-8) 0 calc(var(--s-9) + var(--curl))}.progress{grid-column:gutter-start/gutter-end;grid-row:1;justify-self:center;align-self:start;position:-webkit-sticky;position:sticky;top:104px;width:2px;height:40vh;background:var(--rule);overflow:hidden;display:none}.progress span{display:block;width:100%;height:100%;background:var(--marigold);transform-origin:top;transform:scaleY(0)}@supports (animation-timeline:scroll()){.progress{display:block}.progress span{animation:read-progress linear both;animation-timeline:scroll(root block)}}.prose{grid-row:1;font-size:var(--fs-body);line-height:var(--lh-body);min-width:0}.prose li,.prose>p{max-width:var(--measure)}.prose>*+*{margin-top:1.1em}.prose h2{position:relative;margin-top:var(--s-8);margin-bottom:var(--s-4);font:400 var(--fs-h2) /var(--lh-head) var(--font-display);letter-spacing:-.01em;text-wrap:balance}.prose h2+*,.prose h3+*,.prose h4+*,.prose>h2:first-child{margin-top:0}.h2-badge{position:absolute;left:calc(-1 * (var(--gutter-gap) + var(--gutter) / 2) - 14px);top:.18em}.prose h3{margin-top:var(--s-7);margin-bottom:var(--s-3);font:600 var(--fs-h3) /var(--lh-snug) var(--font-body);letter-spacing:-.005em}.prose h4{margin-top:var(--s-6);margin-bottom:var(--s-2);font:600 17px/var(--lh-snug) var(--font-body)}.prose ol,.prose ul{padding-left:1.25em}.prose li+li{margin-top:.4em}.prose li>p+p{margin-top:.5em}.prose li::marker{color:var(--ochre)}.prose blockquote{padding-left:var(--s-5);border-left:2px solid var(--marigold);font:400 var(--fs-serif-s) /1.3 var(--font-display)}.prose blockquote p+p{margin-top:.6em}.prose hr{border:0;border-top:1px dotted var(--rule);margin-block:var(--s-7)}.prose code{font:400 .9em var(--font-mono);background:var(--bone);padding:1px 5px;border-radius:var(--r-sm)}.prose strong{font-weight:600}.fig{margin-block:var(--s-7)!important;display:flex;flex-direction:column;align-items:center}.fig .frame{--pad:10px;width:100%}.fig--bar .frame{padding-top:0}.fig--square .frame{max-width:min(520px,calc(var(--nat-w, 100%) + 22px))}.fig--narrow .frame{max-width:min(380px,calc(var(--nat-w, 100%) + 22px))}.fig figcaption{align-self:stretch;max-width:var(--measure);margin-top:10px;font-size:var(--fs-meta);line-height:1.5;color:var(--muted)}.fig--narrow figcaption,.fig--square figcaption{align-self:center;width:100%;max-width:min(380px,100%)}.fig--square figcaption{max-width:min(520px,100%)}.fig-pair{margin-block:var(--s-7)!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s-5);gap:var(--s-5);align-items:start}.fig-pair .fig{margin:0!important}.pros-cons{margin-top:var(--s-8)!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s-6);gap:var(--s-6);padding-top:var(--s-5);border-top:1px dotted var(--rule)}.pc-title,.specs-title{margin:0 0 var(--s-3)!important;font:400 var(--fs-serif-m) /1.1 var(--font-display)!important}.pc ul{list-style:none;padding:0!important}.pc li{display:grid;grid-template-columns:20px minmax(0,1fr);grid-gap:var(--s-2);gap:var(--s-2);font-size:16px;line-height:1.5}.pc li+li{margin-top:var(--s-3)}.pc li svg{margin-top:3px}.pc--pros svg{color:var(--gain)}.pc--cons svg{color:var(--loss)}.specs{margin-top:var(--s-7)!important;padding:var(--s-5);border-radius:var(--r-md);background:var(--bone)}.specs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s-4) var(--s-6);gap:var(--s-4) var(--s-6)}.specs-grid div{display:flex;flex-direction:column;gap:2px;min-width:0}.specs-grid dt{font-size:var(--fs-small);color:var(--muted)}.specs-grid dd{font:500 var(--fs-ui) /1.4 var(--font-mono);overflow-wrap:anywhere}.specs-source{margin-top:var(--s-4)!important;max-width:60ch;font-size:16px;line-height:1.5;color:var(--muted)}.correction{padding:var(--s-4) var(--s-5);border-radius:var(--r-md);border-left:4px solid var(--ochre);background:var(--bone)}.art-disclaimer,.correction{margin-top:var(--s-6)!important;font-size:16px}.art-disclaimer{max-width:var(--measure);color:var(--muted)}.art-notes{grid-row:1;display:flex;flex-direction:column;gap:var(--s-6)}.glance-track{flex:1 1}.glance{position:-webkit-sticky;position:sticky;top:104px;display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-5);border-radius:var(--r-md);background:var(--bone)}.glance-title{font:400 var(--fs-serif-s) /1.15 var(--font-display)}.glance-list div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-4);padding:5px 0;border-top:1px dotted var(--rule)}.glance-list dt{font-size:var(--fs-small);color:var(--muted)}.glance-list dd{font:500 var(--fs-ui) /1.35 var(--font-mono);text-align:right;max-width:62%;overflow-wrap:anywhere}.glance-cta{width:100%}.risk-line{font-size:var(--fs-small);line-height:1.45;color:var(--loss)}.sidenotes{display:flex;flex-direction:column;gap:var(--s-5)}.sidenote{padding-left:var(--s-3);border-left:2px solid var(--rule);font-size:16px;line-height:1.55;color:var(--muted)}.sidenote>span{display:block;margin-bottom:2px;font-size:var(--fs-small);font-weight:600;color:var(--ink)}.related{padding:var(--s-7) 0 calc(var(--s-8) + var(--curl));border-top:1px dotted var(--rule)}.related-title{font:400 var(--fs-h2) /var(--lh-head) var(--font-display);margin-bottom:var(--s-4)}.related-list{list-style:none}.related-list>div{border-top:1px dotted var(--rule)}.related-list a{display:flex;justify-content:space-between;align-items:center;gap:var(--s-5);padding:var(--s-4) 0}.related-list a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.related-list a:active{color:var(--muted)}.related-name{font:400 var(--fs-serif-s) /1.2 var(--font-display)}.band--doc{padding:var(--s-8) 0 calc(var(--s-9) + var(--curl))}.doc-prose>h2:first-child{margin-top:0}.doc-notes{display:flex;flex-direction:column;gap:var(--s-5)}.weights{position:-webkit-sticky;position:sticky;top:104px;padding:var(--s-5);border-radius:var(--r-md);background:var(--bone)}.weights-title{font:400 var(--fs-serif-s) /1.15 var(--font-display);margin-bottom:var(--s-3)!important}.weights div{padding:var(--s-2) 0;border-top:1px dotted var(--rule)}.weights dt{font-weight:600;font-size:15px}.weights dd{font-size:var(--fs-meta);line-height:1.5;color:var(--muted)}.band--404{padding:var(--s-10) 0 calc(var(--s-10) + var(--curl));min-height:60vh}.nf-title{font:400 var(--fs-404) /.96 var(--font-display);letter-spacing:-.025em}.nf-text{margin-top:var(--s-5)!important;font-size:var(--fs-deck);line-height:var(--lh-deck);max-width:52ch}.nf-actions{margin-top:40px!important;display:flex;flex-wrap:wrap;gap:var(--s-3)}.band--404 .badge--loss{margin-top:28px}.site-footer{position:relative;padding:var(--s-9) 0 var(--s-8);background:var(--slate);color:var(--on-dark);row-gap:var(--s-7)}.footer-mark{justify-self:center;align-self:start;border-radius:50%}.footer-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--s-5);gap:var(--s-5)}.footer-cols nav{display:flex;flex-direction:column;align-items:flex-start;gap:0;font-size:var(--fs-ui);line-height:1.35}.footer-cols a{display:inline-flex;align-items:center;min-height:36px;color:var(--on-dark);-webkit-text-decoration:underline 1px transparent;text-decoration:underline 1px transparent;text-underline-offset:3px;transition:color var(--d-hover) var(--ease-state),-webkit-text-decoration-color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state),color var(--d-hover) var(--ease-state);transition:text-decoration-color var(--d-hover) var(--ease-state),color var(--d-hover) var(--ease-state),-webkit-text-decoration-color var(--d-hover) var(--ease-state)}.footer-cols a:hover{-webkit-text-decoration-color:var(--marigold);text-decoration-color:var(--marigold)}.footer-cols a:active{color:var(--marigold)}.footer-head{margin-bottom:var(--s-1)!important;font-size:var(--fs-small);font-weight:600;color:var(--muted-on-dark)}.newsletter{flex-direction:column}.form-message,.newsletter{display:flex;gap:var(--s-2)}.form-message{align-items:center;font-size:var(--fs-meta);color:var(--on-dark)}.form-message--error{color:var(--loss-on-dark)}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink);border-right:2px solid transparent;animation:spin .8s linear infinite}.footer-legal{padding-top:var(--s-6);border-top:1px dotted var(--rule-dark);display:flex;flex-direction:column;gap:var(--s-3);font-size:var(--fs-small);line-height:1.6;color:var(--muted-on-dark)}.footer-risk{padding:var(--s-4) var(--s-5);border-left:4px solid var(--loss);border-radius:var(--r-sm);background:var(--risk-bg);color:var(--ink);font-size:var(--fs-meta)}.empty{padding:var(--s-7) 0;border-top:1px dotted var(--rule);align-items:start}.empty-badge{justify-self:center;margin-top:4px}.empty-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-3)}.empty-title{font:400 var(--fs-serif-m) /1.15 var(--font-display)}.empty-text{font-size:16px;color:var(--muted);max-width:56ch}.link-pending{display:none}.link-pending[data-pending]{display:inline-block;width:12px;height:12px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .8s linear infinite}.pager-link{position:relative}.pager-link .link-pending[data-pending]{position:absolute;inset:-5px;width:auto;height:auto;color:var(--marigold)}.band--index:has(.link-pending[data-pending]) .rank-list{opacity:.45;pointer-events:none;transition:opacity var(--d-hover) var(--ease-state)}[data-reveal=armed]{opacity:0;transform:translateY(var(--rise))}[data-reveal=in]{opacity:1;transform:none;transition:opacity var(--d-enter) var(--ease-enter),transform var(--d-enter) var(--ease-enter);transition-delay:calc(var(--i, 0) * var(--stagger))}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes read-progress{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes read-progress-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes shimmer{to{transform:translateX(100%)}}@keyframes spin{to{transform:rotate(1turn)}}@media (min-width:1100px){.ed-list,.ed-row,.empty,.latest-list,.latest-row,.rank-list,.rank-row{display:grid;grid-template-columns:subgrid}.ed-row,.latest-row,.rank-row{grid-column:gutter-start/notes-end}.empty-badge{grid-column:gutter-start/gutter-end}.empty-body{grid-column:content-start/notes-end}}@media (min-width:1100px) and (max-width:1279px){:root{--notes:300px;--notes-gap:48px}}@media (max-width:1099px){:root{--header-h:60px;--curl:24px;--s-hero-top:96px;--s-hero-bottom:112px;--s-band-dark:72px;--s-rank-top:56px;--s-closing:72px}.pg{grid-template-columns:[full-start] minmax(20px,1fr) [gutter-start gutter-end content-start notes-start] minmax(0,720px) [measure-end notes-end content-end] minmax(20px,1fr) [full-end]}.at-content,.at-gutter,.at-notes,.at-span,.at-wide{grid-column:content-start/content-end}.header-cta,.main-nav{display:none}.menu-button{display:inline-grid}.icon-button,.menu-button{width:var(--tap);height:var(--tap)}.logo-word{font-size:26px}.logo-mark{width:32px;height:32px}.band-badge,.hero-badge{justify-self:start;width:24px;height:24px;margin:0 0 var(--s-2);font-size:11px}.hero{background:var(--hero-gradient-phone)}.why-title{margin-top:var(--s-8)!important}.why-body{margin-top:var(--s-3)!important}.band-more{justify-self:start}.rank-row{display:grid;grid-template-columns:32px minmax(0,1fr) 112px;grid-template-areas:"badge name name" "verdict verdict thumb" "best best best" "chips chips chips" "notes notes notes";grid-column-gap:var(--s-3);column-gap:var(--s-3);padding:var(--s-5) 0}.rank-main{display:contents}.rank-num{grid-area:badge;width:32px;height:32px;font-size:12px;align-self:center}.rank-name{grid-area:name;align-self:center}.rank-thumb{grid-area:thumb;margin-top:var(--s-2)}.rank-verdict{grid-area:verdict}.rank-best{grid-area:best}.rank-main .chips{grid-area:chips}.rank-notes{grid-area:notes;margin-top:var(--s-4)}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.metrics div{flex-direction:column;justify-content:flex-start;gap:2px;padding:0 var(--s-2);border-left:1px dotted var(--rule)}.metrics div:first-child{border-left:0;padding-left:0}.metrics dt{font-size:12px}.metrics dd{text-align:left;max-width:none}.pill--small{height:var(--tap)}.tiles{grid-template-columns:1fr;height:auto}.tile,.tile:nth-child(2),.tile:nth-child(3),.tiles[data-grow=armed] .tile{--h:auto;height:auto;min-height:120px;transition:none}.stat-card{margin-top:var(--s-5)}.table-scroll{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}.compare td:first-child,.compare th:first-child{border-right:1px solid var(--rule)}.lead-media{max-width:none;margin-bottom:var(--s-5)}.latest-row{display:flex;flex-direction:column;gap:var(--s-2)}.latest-side{justify-content:flex-start}.types{grid-template-columns:1fr}.intro-side{align-self:start}.ed-row{display:grid;grid-template-columns:minmax(0,1fr) 104px;grid-template-areas:"date thumb" "main thumb";grid-column-gap:var(--s-4);column-gap:var(--s-4);align-items:start}.ed-date{grid-area:date}.ed-main{grid-area:main}.ed-thumb{grid-area:thumb;width:104px}.empty{display:flex;flex-direction:column;gap:var(--s-3)}.empty-badge{justify-self:start}.glance-mobile{display:block;margin-top:var(--s-6)}.glance-mobile .glance{position:static}.art-notes .glance-track{display:none}.art-notes{margin-top:var(--s-7)}.art-col,.art-notes{grid-row:auto}.progress{position:fixed;top:var(--header-h);left:0;right:0;z-index:39;width:100%;height:2px;background:transparent}.progress span{transform-origin:left;transform:scaleX(0);animation-name:read-progress-x!important}.h2-badge{position:static;width:24px;height:24px;font-size:11px;margin-bottom:var(--s-2)}.prose-h2{display:flex;flex-direction:column;align-items:flex-start}.verdict{grid-template-columns:1fr;gap:var(--s-3)}.verdict-score .rating{flex-direction:row;align-items:center}.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--s-6)}.footer-mark{justify-self:start}.weights{position:static}.doc-notes{margin-top:var(--s-7)}}@media (max-width:640px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .pill{width:100%}.trust{flex-direction:column;margin-top:var(--s-8)!important}.fig-pair,.pros-cons,.specs-grid{grid-template-columns:1fr}.specs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3) var(--s-4)}.pros-cons{grid-template-columns:1fr}.nf-actions .pill{width:100%}.compare{min-width:680px}}@media (prefers-reduced-motion:reduce){.site *,.site :after,.site :before{animation-duration:var(--d-fade)!important;animation-iteration-count:1!important;transition-property:opacity,background-color,border-color,color,-webkit-text-decoration-color!important;transition-property:opacity,background-color,border-color,color,text-decoration-color!important;transition-property:opacity,background-color,border-color,color,text-decoration-color,-webkit-text-decoration-color!important;transition-duration:var(--d-fade)!important;transition-delay:0s!important}.icon-button:active,.logo:hover .logo-mark,.pager-link:active,.pill--primary:hover,.pill:hover .pill-arrow,[data-reveal=armed]{transform:none}.tiles[data-grow=armed] .tile{height:var(--h)}.sheet{transform:none;opacity:0}.sheet.is-open{opacity:1}.progress{display:none!important}.link-pending[data-pending]{animation:none}}