/* A7 · Rankings pages (B). Design C. Budget 12 KB. */
.rank-dataline,.rank-muted,.rank-cap-meta,.rank-sec-meta,.rank-excluded-list span,.rank-plain-list span,.rank-debate-meta,.rank-cite-note,.rank-archive-list span,.rank-card-meta,.rank-card-tops dt,.rank-card-pair,.rank-card-none{color:var(--muted);font-size:var(--fs-sm)}
.rank-dataline,.rank-card-meta,.rank-facts dd,.rank-card-score,.rank-vs-sides span,.rank-table{font-variant-numeric:tabular-nums}
.rank-name a:hover,.rank-home:hover,.rank-debate-list a:hover,.rank-period-nav a:hover,.rank-card h2 a:hover,.rank-card-links a:hover,.rank-toc a:hover{text-decoration:underline;text-underline-offset:3px}
.rank-home,.rank-period-nav a,.rank-card-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--cobalt);font-weight:600}
.rank-sec-head h2,.rank-cite h2,.rank-card h2,.rank-prose h2{font-size:var(--fs-lg)}
.rank-top{padding-bottom:var(--s-7)}
.rank-hero{display:grid;gap:var(--s-2);max-width:820px}
.rank-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}
.rank-live,.rank-frozen{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:700;color:var(--ink-2)}
.rank-live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime-text)}
.rank-hero h1{font-size:clamp(1.625rem,1.15rem + 1.9vw,2.625rem);letter-spacing:-.022em;line-height:1.1}
.rank-h1-period{display:block;margin-top:4px;font-size:.55em;font-weight:600;color:var(--ink-2)}
.rank-summary{max-width:64ch;margin-top:var(--s-1);font-size:1.1875rem;line-height:1.45;text-wrap:pretty}
.rank-revised,.rank-caution,.rank-close-note{font-size:var(--fs-sm);color:var(--ink-2);font-weight:600}
.rank-hero-links,.rank-vote-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-5)}
.rank-hero-links .text-link,.rank-vote-links .text-link{min-height:44px}
.tag-provisional{background:oklch(93% .05 85);color:oklch(38% .07 70)}
.tag-close{background:var(--ink);color:var(--surface)}
.tag-vs{background:var(--cobalt-soft);color:var(--cobalt)}
.rank-table-wrap{margin-top:var(--s-6);max-width:1040px}
.rank-table{width:100%;border-collapse:collapse}
.rank-table caption{text-align:left;padding-bottom:var(--s-3)}
.rank-cap-title{font-weight:700}
.rank-cap-meta::before{content:" · "}
.rank-table thead th{padding:0 var(--s-2) var(--s-2);border-bottom:2px solid var(--ink);text-align:left;font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap}
.rank-table td,.rank-table tbody th{padding:var(--s-3) var(--s-2);border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.rank-table .c-rank{width:56px;padding-left:var(--s-3);position:relative}
.rank-pos{font-size:var(--fs-md);font-weight:700;color:var(--muted)}
.is-top .rank-pos,.is-close-b .rank-pos{color:var(--ink)}
.rank-table .c-move{width:72px}
.rank-name{display:block;font-weight:700;line-height:1.3}
.rank-table .c-prod{position:relative}
.rank-name a::after{content:"";position:absolute;inset:0}
.rank-extras{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--s-3);margin-top:var(--s-1)}
.rank-home{margin-block:-10px;font-size:var(--fs-sm)}
.rank-table .c-score{width:34%;min-width:180px}
.rank-score-cell{display:grid;grid-template-columns:3.25em minmax(0,1fr);align-items:center;gap:var(--s-3)}
.rank-score{font-size:var(--fs-md);font-weight:700}
.rank-meter{position:relative;height:8px;border-radius:4px;background:var(--sunken)}
.rank-meter::after{content:"";position:absolute;left:calc(50% - 1px);top:-4px;bottom:-4px;width:2px;background:var(--line-strong)}
.rank-meter span{display:block;height:100%;margin-left:calc(var(--l)*1%);width:calc(var(--w)*1%);border-radius:4px;background:var(--ink-2);transform-origin:left;animation:grow 600ms var(--ease-quart) both}
.rank-meter .is-below{transform-origin:right}
.is-top .rank-meter span{background:var(--lime);box-shadow:inset 0 0 0 1px oklch(70% .17 125)}
.c-range,.c-picked,.c-votes{font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap}
.rank-table .c-votes{text-align:right;padding-right:var(--s-3)}
.c-picked{white-space:normal;max-width:15ch}
.is-tied-prev .c-rank::after{content:"\2248";content:"\2248"/"";position:absolute;left:4px;top:0;translate:0 -55%;padding:0 3px;background:var(--surface);color:var(--ink-2);font-weight:700;line-height:1}
.is-overlap .rank-move--up,.is-overlap .rank-move--down{color:var(--muted)}
.rank-changes{margin-top:var(--s-6);max-width:80ch}
.is-close-a .c-rank::before,.is-close-b .c-rank::before{content:"";position:absolute;left:0;width:6px;border:2px solid var(--ink-2);border-right:0}
.is-close-a .c-rank::before{top:50%;bottom:-1px;border-bottom:0;border-radius:3px 0 0}
.is-close-b .c-rank::before{top:0;bottom:50%;border-top:0;border-radius:0 0 0 3px}
.rank-legend{display:grid;gap:var(--s-1);margin-top:var(--s-4);font-size:var(--fs-sm);color:var(--ink-2);max-width:80ch}
.rank-hint{margin-top:var(--s-5);padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);background:var(--cobalt-soft);font-size:var(--fs-sm);max-width:1040px}
.rank-hint a{color:var(--cobalt);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.rank-stack{display:grid;gap:var(--block-gap)}
.rank-sec-head{display:grid;gap:4px;margin-bottom:var(--s-4)}
.rank-sec-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--s-2)}
.rank-live-box{display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-6);background:var(--surface);border-radius:var(--r-md)}
.rank-live-box .rank-sec-head{margin:0}
.rank-note-sm{color:var(--muted);font-size:var(--fs-xs)}
.rank-excluded-list li,.rank-plain-list li,.rank-debate-list li,.rank-card-tops div{display:grid;gap:2px;padding:var(--s-3) 0;border-top:1px solid var(--line)}
.rank-debate-list a{font-weight:600;justify-self:start;padding-block:10px;margin-block:-10px}
.rank-vs{display:grid;gap:var(--s-5);padding:var(--s-6);border-radius:var(--r-md);background:var(--header);color:var(--surface)}
.rank-eyebrow{font-size:var(--fs-sm);font-weight:700;color:var(--lime)}
.rank-press{font-size:clamp(1.25rem,1rem + 1vw,1.75rem);font-weight:700;line-height:1.2;letter-spacing:-.015em;max-width:38ch;margin-top:var(--s-2);text-wrap:balance}
.rank-vs-copy p+p{margin-top:var(--s-3)}
.rank-vs-sides{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);margin:0}
.rank-vs-sides div{padding-top:var(--s-3);border-top:1px solid oklch(40% .01 105)}
.rank-vs-sides dt,.rank-vs-sides span{font-size:var(--fs-sm);color:oklch(80% .006 105)}
.rank-vs-sides dd{margin:2px 0 0;display:grid}
.rank-vs .btn-secondary{justify-self:start;color:var(--surface);box-shadow:inset 0 0 0 2px var(--surface)}
.rank-vs .btn-secondary:hover{background:var(--header-2)}
.rank-vs .btn-secondary:focus-visible{box-shadow:inset 0 0 0 2px var(--surface),var(--ring)}
.rank-cite h2{margin-bottom:var(--s-4)}
.rank-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s-3) var(--s-5);margin:0 0 var(--s-4)}
.rank-facts div{padding-top:var(--s-2);border-top:1px solid var(--line)}
.rank-facts dt{font-size:var(--fs-xs);color:var(--muted)}
.rank-facts dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}
.rank-facts .rank-fact-wide{grid-column:1 / -1}
.rank-citation{padding:var(--s-4);border-radius:var(--r-sm);background:var(--bg);font-size:var(--fs-sm);line-height:1.6;overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}
.rank-cite-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin:var(--s-4) 0 var(--s-3)}
html:not(.js) [data-cite-copy]{display:none}
.rank-vote-links{margin-top:var(--s-5)}
.rank-archive-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-3)}
.rank-archive-list a{display:grid;gap:2px;padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-sm)}
.rank-archive-list a:hover,.rank-archive-list a[aria-current]{border-color:var(--ink)}
.rank-period-nav{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5)}
.rank-period-nav a{gap:6px}
.rank-method-teaser{display:grid;gap:var(--s-2);justify-items:start;max-width:70ch}
.rank-method-teaser h2,.rank-vs-notes h2,.rank-changes h2,.rank-empty-title{font-size:var(--fs-md);font-weight:700}
.rank-method-teaser p{color:var(--ink-2)}
.rank-empty-state{display:grid;gap:var(--s-3);justify-items:start;max-width:680px;margin-top:var(--s-6);padding:var(--s-6);border-radius:var(--r-md);background:var(--bg)}
.rank-ad-band{padding-block:var(--s-6)}
.rank-cards,.rank-vs-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}
.rank-card{display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-5);border-radius:var(--r-md);background:var(--surface)}
.rank-card-head{display:flex;gap:var(--s-4);align-items:flex-start}
.rank-card-media{flex:none;width:88px;aspect-ratio:1;border-radius:var(--r-sm);overflow:hidden;background:var(--sunken)}
.rank-card-media img{width:100%;height:100%;object-fit:cover}
.rank-card-tags{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}
.rank-card-tops{margin:0}
.rank-card-tops dd{margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--s-3);align-items:baseline}
.rank-card-score{grid-column:2;grid-row:1;font-weight:700;font-size:var(--fs-md)}
.rank-card-pair{grid-column:1}
.rank-card-links{display:flex;flex-wrap:wrap;gap:0 var(--s-5);margin-top:auto;padding-top:var(--s-2);border-top:1px solid var(--line)}
.rank-card-links a{font-size:var(--fs-sm)}
.rank-coming{margin-top:var(--block-gap)}
.rank-press--lead{color:var(--ink);max-width:30ch;margin-top:var(--s-3);font-size:clamp(1.375rem,1rem + 1.5vw,2rem)}
.rank-vs-cols,.rank-vs-notes{margin-top:var(--s-6);max-width:1040px}
.band-white .rankings{background:var(--bg)}
.rank-legend--vs{display:block;margin-top:var(--s-3)}
.rank-vs-notes{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6)}
.rank-vs-notes h2,.rank-changes h2{margin-bottom:var(--s-3)}
.rank-method-grid{display:grid;gap:var(--s-6);max-width:70ch}
.rank-toc{padding:var(--s-4) var(--s-5);border-radius:var(--r-md);background:var(--bg)}
.rank-toc ol{display:flex;flex-wrap:wrap;gap:0 var(--s-4)}
.rank-toc h2{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--s-2)}
.rank-toc a{display:flex;align-items:center;min-height:36px;font-size:var(--fs-sm);color:var(--ink-2)}
.rank-prose{display:grid;gap:var(--s-7)}
.rank-prose h2{margin-bottom:var(--s-3)}
.rank-prose p,.rank-prose li{line-height:1.65}
.rank-prose p+p,.rank-prose ul+p,.rank-prose p+ul{margin-top:var(--s-3)}
.rank-prose ul,.rank-changes ul{list-style:disc;padding-left:1.25em;display:grid;gap:var(--s-2)}
.rank-prose .rank-example{list-style:none;padding:var(--s-4) var(--s-5);border-radius:var(--r-sm);background:var(--bg)}
.rank-method-cta{display:flex;flex-wrap:wrap;gap:var(--s-3)}
@media (min-width:1101px){
.rank-band--grid .rank-stack,.rank-band--cite .rank-stack{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}
.rank-band--cite .rank-stack{column-gap:var(--s-8)}
.rank-vs{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:center;column-gap:var(--s-7)}
.rank-vs-copy{grid-row:span 2}
.rank-vs-btn{grid-column:2}
}
@media (max-width:760px){
.rank-top{padding-bottom:var(--s-6)}
.rank-hero{gap:6px}
.rank-summary{font-size:1rem}
.rank-table-wrap{margin-top:var(--s-4)}
.rank-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rank-table .c-range,.rank-table .c-picked,.rank-table .c-votes,.rank-legend-wide{display:none}
.rank-table td,.rank-table tbody th{padding:var(--s-2) 6px}
.rank-table .c-rank{width:40px;padding-left:10px}
.rank-table .c-move{width:40px}
.rank-table .c-score{width:76px;min-width:0}
.rank-score-cell{grid-template-columns:1fr;gap:4px}
.rank-score,.rank-pos{font-size:var(--fs-base)}
.rank-name{font-size:.9375rem}
.rank-live-box,.rank-vs,.rank-empty-state{padding:var(--s-5) var(--s-4)}
.rank-vs-sides,.rank-cards,.rank-vs-cols,.rank-vs-notes{grid-template-columns:minmax(0,1fr)}
.rank-card{padding:var(--s-4)}
.rank-card-media{width:64px}
}
