/* Scoped directory styles: preserve the existing SnowYado design system. */
.page-rankings { background:#f8fbfc; }
.page-rankings main { min-width:0; }
.rk-wrap { width:min(1180px,calc(100% - 48px));margin:0 auto;padding:54px 0 72px;min-width:0;color:#183744; }
.rk-wrap *, .rk-wrap *::before, .rk-wrap *::after { box-sizing:border-box; }
.rk-wrap [hidden] { display:none !important; }
.rk-hero { max-width:1020px;margin-bottom:34px; }
.rk-eyebrow { color:#527687;font-size:.78rem;letter-spacing:.19em;font-weight:650;margin:0 0 20px; }
.rk-hero h1 { font-family:var(--serif,serif);font-size:clamp(2.1rem,4.5vw,3.7rem);line-height:1.35;letter-spacing:.01em;margin:0 0 18px;overflow-wrap:anywhere; }
.rk-lead { color:#4f6975;font-size:1.12rem;line-height:1.85;max-width:740px;margin:0; }
.rk-stats { display:flex;gap:30px;flex-wrap:wrap;margin-top:30px;padding:22px 0;border-top:1px solid #d8e3e7;border-bottom:1px solid #d8e3e7; }
.rk-stats span { display:grid;gap:4px;font-size:.82rem;color:#58707c; }
.rk-stats strong { color:#163c50;font-size:1.95rem;line-height:1.3;font-weight:650; }
.rk-preview { background:#edf3f5;border-left:3px solid #92adb9;padding:12px 16px;color:#56707e;font-size:.85rem;line-height:1.8;margin:20px 0 30px; }
.rk-tabs { display:flex;gap:8px;padding:5px;background:#e9f0f3;border:1px solid #dce6ea;border-radius:10px;margin:28px 0 24px;width:fit-content;max-width:100%; }
.rk-tabs button { min-height:48px;padding:10px 22px;border:0;border-radius:7px;background:transparent;color:#486571;font:inherit;font-size:.95rem;cursor:pointer;line-height:1.5; }
.rk-tabs button[aria-selected=true] { background:#fff;color:#145775;box-shadow:0 2px 8px #18374412;font-weight:650; }
.rk-tabs button:hover { color:#123f52; }
.rk-filters { display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin:24px 0 12px; }
.rk-filters label { display:grid;gap:8px;font-size:.86rem;font-weight:600;min-width:160px; }
.rk-filters label:first-child { flex:1;min-width:240px; }
.rk-filters input,.rk-filters select { width:100%;min-height:48px;background:#fff;border:1px solid #b8cbd4;border-radius:6px;padding:10px 13px;color:#193f51;font:inherit;font-size:1rem;line-height:1.5; }
.rk-reset { min-height:48px;padding:10px 14px;border:1px solid #cad7dc;border-radius:6px;background:transparent;color:#365d70;font:inherit;cursor:pointer; }
.rk-result-count { color:#667e89;font-size:.88rem;min-height:26px;margin:8px 0 20px; }
.rk-panel { margin:30px 0 44px;scroll-margin-top:24px; }
.rk-panel h2,.rk-method h2 { font-family:var(--serif,serif);font-size:1.65rem;line-height:1.6;margin:0 0 12px; }
.rk-source-method { font-size:.95rem;line-height:1.85;max-width:880px;color:#456575; }
.rk-notice { padding:13px 16px;background:#edf4f7;border-left:3px solid #779dad;color:#385768;font-size:.9rem;line-height:1.85; }
.rk-season-notice { border-color:#b8904d;background:#faf5e9;color:#715a34; }
.rk-source-date { display:flex;gap:8px 18px;flex-wrap:wrap;font-size:.83rem;color:#6a808b;line-height:1.9;margin:14px 0 22px; }
.rk-wrap a { color:#185e7c;text-underline-offset:4px; }
.rk-wrap a:hover { color:#0b354b;text-decoration-thickness:2px; }
.rk-list { list-style:none;margin:0;padding:0;border-top:1px solid #cedde4; }
.rk-row { display:grid;grid-template-columns:60px minmax(0,1fr) 130px;align-items:center;gap:20px;padding:22px 12px;border-bottom:1px solid #dce6eb;transition:background .15s ease; }
.rk-row:hover { background:#edf5f8; }
.rk-position { color:#67828e;font-size:1.5rem;font-variant-numeric:tabular-nums; }
.rk-row:nth-child(-n+3) .rk-position { color:#174e68;font-weight:700; }
.rk-name { min-width:0; }
.rk-name>a { font-size:1.12rem;line-height:1.7;font-weight:650;text-decoration:none;display:inline-block;min-height:28px;overflow-wrap:anywhere; }
.rk-name small { display:block;color:#79909b;line-height:1.7;font-size:.8rem;overflow-wrap:anywhere; }
.rk-count-link { text-decoration:none;font-size:.88rem;text-align:right;line-height:1.9;padding:8px 0; }
.rk-count-link strong { font-size:1.1rem;font-weight:600; }
.rk-count-link span { display:block;font-size:.76rem;color:#7a8f9a; }
.rk-empty { padding:30px;text-align:center;border:1px dashed #bdd0da;border-radius:8px;color:#617984;background:#fff; }
.rk-method { margin-top:48px;padding-top:28px;border-top:1px solid #d4e1e7;color:#597381;font-size:.91rem;line-height:1.9; }
.rk-method p { max-width:880px;margin:12px 0; }
.rk-method summary { cursor:pointer;padding:12px 0;min-height:44px;font-weight:650;color:#234e65; }
.rk-breadcrumb { display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:#8398a2;font-size:.88rem;margin:0 0 34px; }
.rk-native-name { color:#758b96;font-size:.91rem;margin:10px 0 24px; }
.rk-rank-badges { display:flex;gap:12px;flex-wrap:wrap;margin:22px 0; }
.rk-rank-badges a { display:block;padding:14px 18px;border:1px solid #cddde5;border-radius:8px;background:#fff;text-decoration:none;font-size:.94rem; }
.rk-rank-badges strong { font-size:1.35rem;margin-left:14px; }
.rk-rank-badges small { display:block;color:#77909d;font-size:.8rem;margin-top:3px; }
.rk-totals { font-size:.95rem;color:#526f7d; }
.rk-totals strong { color:#254e62; }
.rk-article-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.rk-article-card { background:#fff;border:1px solid #d9e4e9;border-radius:9px;padding:22px;display:flex;flex-direction:column;min-width:0;box-shadow:0 2px 8px #18374404; }
.rk-card-meta { display:flex;gap:7px;flex-wrap:wrap;font-size:.73rem;line-height:1.6;color:#668392;margin-bottom:14px; }
.rk-card-meta>span { padding:3px 7px;background:#eef4f6;border-radius:4px; }
.rk-card-meta .rk-draft-tag { color:#8a7654;background:#f7f3e9; }
.rk-article-card h2 { font-size:1.08rem;font-weight:650;line-height:1.7;margin:0 0 12px; }
.rk-article-card h2 a { text-decoration:none;overflow-wrap:anywhere; }
.rk-article-card>p { color:#607987;font-size:.89rem;line-height:1.85;margin:0 0 20px;overflow-wrap:anywhere; }
.rk-card-footer { display:flex;justify-content:space-between;gap:12px;margin-top:auto;align-items:end;border-top:1px solid #e5edf0;padding-top:12px; }
.rk-card-footer small { color:#79909b;font-size:.76rem;overflow-wrap:anywhere; }
.rk-card-footer span { font-size:1.1rem;color:#4d778d; }
.rk-more { display:block;margin:30px auto 0;min-height:50px;padding:12px 28px;border:1px solid #6d96aa;border-radius:7px;background:white;color:#245c75;font:inherit;cursor:pointer; }
.rk-wrap :is(a,button,input,select,summary):focus-visible { outline:3px solid #c2984a;outline-offset:4px; }
@media(max-width:950px){ .rk-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rk-wrap{padding-top:34px}.rk-stats{gap:22px} }
@media(max-width:600px){
 .rk-wrap{width:calc(100% - 36px);padding-top:28px}.rk-hero h1{font-size:1.9rem;line-height:1.5}.rk-lead{font-size:1rem}.rk-eyebrow{font-size:.7rem;letter-spacing:.12em;margin-bottom:13px}
 .rk-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px 0;margin-top:22px}.rk-stats strong{font-size:1.65rem}
 .rk-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:4px}.rk-tabs button{padding:10px 7px;font-size:.84rem;min-height:52px}
 .rk-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rk-filters label:first-child{grid-column:1/-1;min-width:0}.rk-filters label{min-width:0}.rk-reset{font-size:.9rem}.rk-article-filters .rk-reset{grid-column:1/-1}
 .rk-source-date{display:block}.rk-source-date a{display:block;margin-top:6px}.rk-panel h2{font-size:1.35rem}.rk-source-method,.rk-notice{font-size:.87rem}
 .rk-row{grid-template-columns:34px minmax(0,1fr);gap:6px 12px;padding:18px 0}.rk-position{font-size:1.24rem;align-self:start;padding-top:2px}.rk-name>a{font-size:1rem}.rk-name small{font-size:.74rem}
 .rk-count-link{grid-column:2;text-align:left;padding:2px 0;min-height:34px;display:flex;align-items:center;gap:7px}.rk-count-link span{display:inline;margin-left:8px;font-size:.75rem}
 .rk-article-grid{grid-template-columns:1fr;gap:14px}.rk-article-card{padding:20px}.rk-article-card h2{font-size:1.06rem}.rk-rank-badges{display:grid;grid-template-columns:1fr}.rk-rank-badges a{padding:12px 15px}
 .rk-preview{font-size:.8rem;margin-bottom:22px}.rk-breadcrumb{margin-bottom:25px}.rk-method{margin-top:32px}.rk-article-card>p{font-size:.92rem}
}
@media(prefers-reduced-motion:reduce){.rk-row{transition:none}}

.rk-score{display:block;margin-top:5px;color:#587786;font-size:.8rem;line-height:1.8}.rk-score strong{font-variant-numeric:tabular-nums;color:#294e62;font-weight:650}
