/* The directory uses the portal header with a full-width comparison canvas. */
body.ranking-page{background:#f5f5f5;color:#333}
.ranking-page main.wrap{width:min(1100px,calc(100% - 40px));max-width:1100px}
.ranking-page .layout{display:block;min-width:0}
.ranking-page .layout>aside{display:none}
.rank-directory{max-width:1100px;margin:26px auto 0;padding:42px 56px 32px;background:#fff;border-radius:12px;font-size:17px;line-height:1.7;min-width:0}
.rank-hero{text-align:center;margin-bottom:28px}
.rank-hero h1{margin:0 0 16px;font-size:32px;font-weight:600;line-height:1.4;color:#333;letter-spacing:.4px}
.rank-hero p{margin:0 auto 12px;max-width:820px;font-size:16px;line-height:1.9;color:#777}
.rank-updated{font-size:14px;color:#87775f;display:inline-block;margin-right:14px}
.rank-browse-link{font-size:14px;color:#92734a;display:inline-block;text-decoration:underline;text-underline-offset:4px}
.rank-filters{margin:26px 0 20px;display:grid;gap:14px}
.rank-filter-group{display:flex;align-items:flex-start;gap:18px;padding:18px 20px;background:#eeeae4;border:1px solid #e4d9ca;border-radius:12px}
.rank-filter-label{flex:0 0 70px;padding-top:6px;color:#796e61;font-size:15px;font-weight:600;white-space:nowrap}
.rank-filter-options{display:flex;flex:1;flex-wrap:wrap;gap:10px;min-width:0}
.rank-filter{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:5px 14px;border:1px solid #dedede;border-radius:6px;background:#fff;color:#5a5a5a;font-size:15px;line-height:1.5;transition:background .15s,border-color .15s,color .15s}
.rank-filter:hover{color:#bd262b;border-color:#be9c66;background:#f5f0e8}
.rank-filter.active{color:#fff;background:var(--red);border-color:#d53135;box-shadow:none}
.rank-filter-count{font-size:14px;opacity:.75;white-space:nowrap}
.rank-results-summary{font-size:14px;color:#87775f;margin:18px 0 12px}
.rank-scroll-hint{display:none;font-size:14px;color:#8b7860;margin:10px 0}
.rank-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #e9e9e9;border-radius:12px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.rank-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;text-align:left;background:#fff;font-size:15px;line-height:1.6}
.rank-table th{padding:12px 12px;font-size:16px;font-weight:600;color:#8a7760;background:#ebe6df;border-bottom:1px solid #d8c6ad;white-space:nowrap}
.rank-table th:first-child,.rank-table td:first-child{text-align:center;width:64px}
.rank-table th:nth-child(2){width:210px}
.rank-table th:nth-child(3){width:110px}
.rank-table th:nth-child(4){width:145px}
.rank-table th:nth-child(5){width:130px}
.rank-table th:nth-child(6){width:106px}
.rank-table th:nth-child(7){width:90px;text-align:center}
.rank-table td{padding:17px 12px;vertical-align:middle;border-bottom:1px solid #eee;color:#555;overflow-wrap:anywhere}
.rank-table tbody tr:last-child td{border-bottom:0}
.rank-table tbody tr{background:#fff;transition:background .15s}
.rank-table tbody tr:hover{background:#faf8f4}
.rank-table tbody tr.is-featured{background:linear-gradient(95deg,#eee1e4,#f8f3f4 62%,#fbf8f8)}
.rank-table tbody tr.is-featured:hover{background:#efe5e7}
.rank-number{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:16px;font-weight:600;color:#87775f;background:#eeeae4;font-variant-numeric:tabular-nums}
.is-featured .rank-number{background:var(--red);color:#fff;box-shadow:none}
.rank-product{display:flex;align-items:center;gap:10px;color:#333;font-size:16px;font-weight:600;line-height:1.5}
.rank-product img{flex:0 0 44px;width:44px;height:44px;object-fit:contain;border-radius:9px}
.rank-product>span{min-width:0}
.rank-product:hover{color:#bd262b}
.rank-recommended{display:inline-block;background:#f5f0e8;border:1px solid #e3d4bc;color:#92734a;border-radius:4px;padding:0 6px;font-size:14px;line-height:1.7;margin:0 0 6px}
.rank-product-summary{font-size:14px;line-height:1.6;color:#8b8b8b;margin:7px 0 0}
.rank-feature-item{display:inline-block;font-size:14px;color:#9b7645;background:#f5f0e8;border-radius:4px;padding:2px 6px;margin:3px 3px 3px 0;line-height:1.5}
.is-featured .rank-feature-item{background:#eee3d3;color:#92734a}
.rank-scene{font-size:14px;line-height:1.65;color:#777}
.rank-date{font-size:14px;color:#87775f;font-variant-numeric:tabular-nums;white-space:nowrap}
.rank-table td:last-child{text-align:center}
.rank-detail-link{display:inline-block;border:1px solid #b69b76;border-radius:5px;background:#fff;padding:5px 9px;color:#92734a;font-size:14px;white-space:nowrap}
.rank-detail-link:hover{color:#bd262b;border-color:#be9c66;background:#f2e9dc}
.rank-data-note{font-size:14px;line-height:1.9;color:#959595;margin:20px 0 0;padding-top:18px;border-top:1px solid #eee}
.ranking-page .pagination{border:0;margin:24px 0 0;padding:12px 0;background:transparent}
.ranking-page .rank-directory a:focus-visible{outline:3px solid #be9c66;outline-offset:3px}
@media(max-width:1100px){.rank-directory{padding:36px 28px 28px}.rank-table{min-width:950px}.rank-table-wrap{scrollbar-width:thin;scrollbar-color:#d9c6ab #f7f7f7}.rank-scroll-hint{display:block}}
@media(max-width:760px){.ranking-page main.wrap{width:calc(100% - 24px);max-width:100%;min-width:0}.rank-directory{padding:28px 16px 22px;margin-top:16px;border-radius:10px}.rank-hero{margin-bottom:22px}.rank-hero h1{font-size:26px;line-height:1.45;margin-bottom:14px}.rank-hero p{font-size:15px;line-height:1.85;text-align:left}.rank-updated{margin-right:8px}.rank-filters{margin:22px 0 18px;gap:12px}.rank-filter-group{display:block;padding:14px 12px}.rank-filter-label{display:block;padding:0;margin-bottom:10px;font-size:15px}.rank-filter-options{gap:8px}.rank-filter{padding:5px 10px;font-size:14px;min-height:35px}.rank-filter-count{font-size:14px}.rank-results-summary{line-height:1.8}.rank-table-wrap{border-radius:8px}.rank-table{min-width:950px}.rank-table th{padding:11px 12px}.rank-table td{padding:16px 12px}.rank-data-note{text-align:left}.ranking-page .pagination{gap:10px}.ranking-page .page-summary{font-size:14px}}
.rank-hero .rank-updated{display:block;margin:18px auto 0}.rank-table th:nth-child(7){width:120px}.rank-detail-link{padding:5px 8px}
.rank-reference-note{margin:22px 0 24px;padding:16px 20px;background:#f5f0e8;border:1px solid #e3d4bc;border-left:4px solid var(--gold);border-radius:8px;color:#796e61;font-size:14px;line-height:1.9}.rank-reference-note strong{color:#92734a;font-size:15px}.rank-reference-note p{margin:5px 0 0}.rank-table th small{display:block;font-size:14px;font-weight:400;color:#8a7760}.rank-table th:nth-child(2){width:230px}.rank-table th:nth-child(3){width:130px}.rank-table th:nth-child(4){width:100px}.rank-table th:nth-child(5){width:110px}.rank-table th:nth-child(6){width:110px}.rank-metric strong{display:block;font-size:15px;font-weight:500;color:#92734a;white-space:nowrap}.rank-meter{display:block;position:relative;margin-top:8px;width:100%;height:9px;background:#eeeae4;border-radius:8px;overflow:hidden}.rank-meter:after{content:'';display:block;height:100%;width:var(--metric);background:var(--gold);border-radius:inherit}.is-featured .rank-meter:after{background:var(--red)}.rank-not-applicable{color:#999!important;font-size:14px}@media(max-width:760px){.rank-reference-note{padding:13px 15px}.rank-table{min-width:950px}}
.is-featured td[data-reference-speed] .rank-meter:after{background:#26a269}
.is-featured .rank-meter:after{background:#26a269}
.rank-metric strong{font-variant-numeric:tabular-nums}.rank-meter:after{transition:width 1s ease}@media(prefers-reduced-motion:reduce){.rank-meter:after{transition:none}}
