.rank-page{max-width:1180px;margin:0 auto;padding:8px 0 48px}
.rank-hero{padding:8px 0 18px}
.rank-hero h1{font-size:30px;letter-spacing:-.6px;line-height:1.25}
.rank-hero>p{color:var(--muted,#6c7689);font-size:15px;line-height:1.85;margin-top:10px;max-width:820px}
.rank-updated{color:var(--text-soft,#8b93a3)!important;font-size:13px!important}
.rank-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 26px;padding-bottom:16px;border-bottom:1px solid var(--line,#e8ebf1)}
.rank-tabs a{border:1px solid var(--line,#e5e8ef);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--text-secondary,#5f6a7c);background:var(--surface,#fff)}
.rank-tabs a:hover,.rank-tabs a[aria-current=page]{border-color:var(--brand);color:var(--brand);background:var(--brand-soft,#f3f6ff)}
.rank-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:18px 0}
.rank-card{display:block;padding:16px 16px 14px;border:1px solid var(--line,#e7ebf2);border-radius:10px;background:var(--surface,#fff);min-height:118px}
.rank-card h2{font-size:16px;margin-bottom:8px}
.rank-card p{font-size:13px;color:var(--muted,#6c7689);line-height:1.7}
.rank-card:hover{border-color:var(--brand)}
.rank-section{margin:8px 0 28px}
.rank-section>h2,.rank-mini-grid h2{font-size:20px;margin:0 0 14px}
.rank-count,.rank-hint,.rank-note,.rank-lede-more{font-size:13px;color:var(--text-soft,#7c8697);line-height:1.8}
.rank-note{margin-top:10px}
.rank-compare-links{margin:16px 0 0;font-size:14px;line-height:1.8}
.rank-compare-links a{color:var(--brand)}
.rank-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin:0 0 12px}
.rank-toolbar label{display:grid;gap:6px;font-size:13px;color:var(--text-soft,#7c8697)}
.rank-toolbar input{border:1px solid var(--line,#e1e6ee);border-radius:6px;height:36px;padding:0 10px;min-width:220px;background:var(--surface,#fff)}
.rank-scroll{overflow-x:auto}
.rank-table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}
.rank-table th{font-weight:550;color:var(--text-soft,#8b93a3);background:var(--surface-muted,#fafbfd);padding:10px 10px;border-bottom:1px solid var(--line);white-space:nowrap;cursor:pointer;user-select:none}
.rank-table th[data-sort]::after{content:"";margin-left:6px;opacity:.45}
.rank-table th[aria-sort=ascending]::after{content:"↑";opacity:1}
.rank-table th[aria-sort=descending]::after{content:"↓";opacity:1}
.rank-table td,.rank-table th:first-child{font-variant-numeric:tabular-nums}
.rank-table td{padding:12px 10px;border-bottom:1px solid var(--line,#f0f2f6);vertical-align:top}
.rank-table td small{display:block;color:var(--text-soft,#9aa3b0);font-size:12px;margin-top:3px}
.rank-model{display:block;color:inherit;min-width:160px}
.rank-model strong{display:block;font-weight:600;line-height:1.4}
.rank-model small{color:var(--text-soft,#8b93a3);font-size:12px}
.rank-model span{display:block;color:var(--text-soft,#8b93a3);font-size:12px;margin-top:3px}
.rank-na{color:var(--text-soft,#b0b7c3)}
.rank-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:10px 0 30px}
.rank-mini{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff)}
.rank-mini li{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border-bottom:1px solid var(--line,#f0f2f6)}
.rank-mini li:last-child{border-bottom:0}
.rank-mini li>span{color:var(--text-soft,#8b93a3);width:1.5em;flex:none;font-variant-numeric:tabular-nums}
.rank-faq{display:grid;gap:0}
.rank-faq dt{font-weight:650;margin-top:16px;font-size:15px}
.rank-faq dd{margin:6px 0 0;color:var(--text-secondary,#6c7689);font-size:14px;line-height:1.85}
.rank-citations{padding-left:18px;color:var(--text-secondary,#6c7689);font-size:14px;line-height:1.85}
.rank-citations a{color:var(--brand)}
.rank-prose p,.rank-prose li{font-size:14px;color:var(--text-secondary,#6c7689);line-height:1.9}
.rank-prose ul{padding-left:20px;margin:8px 0 18px}
.rank-compare-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}
@media(max-width:800px){
  .rank-hero h1{font-size:24px}
  .rank-mini-grid,.rank-compare-cols{grid-template-columns:1fr}
  .rank-toolbar input{min-width:0;width:100%}
  .rank-card-grid{grid-template-columns:1fr 1fr}
}
