/* Shared frame. Page-specific CSS owns only the content inside this shell. */
:root[data-theme=dark]{--surface:#031725;--input:#071b2c;--line:#264052;--soft:#082136}
body .site-shell,body .landing-shell,body .ranking-shell{max-width:1320px;margin:24px auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}
body .site-shell>main{padding:32px}body .site-shell>main.landing-main{padding:0}.landing-content{padding-left:32px;padding-right:32px}
body .site-shell>.shared-header{display:flex;align-items:center;justify-content:space-between;height:auto;min-height:98px;padding:24px 32px;gap:24px;border-bottom:1px solid var(--line);flex-wrap:wrap;background:var(--surface)}
body .site-shell>.shared-header .brand{font-size:23px;gap:10px;letter-spacing:-.6px}body .site-shell>.shared-header .brand img{width:44px;height:44px}
body .site-shell>.shared-header nav{display:flex;align-items:center;gap:22px;height:auto;margin-left:auto}body .site-shell>.shared-header nav>a{font-size:14px;padding:10px 0;min-height:44px;height:auto;white-space:nowrap;color:var(--text)}body .site-shell>.shared-header nav .nav-active{color:var(--accent);border-bottom:2px solid var(--accent)}
.header-actions{display:flex;align-items:center;gap:12px}.header-actions .your-ranking-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border:1px solid #269eff;border-radius:8px;padding:10px 16px;background:#087ee5;color:#fff;font-size:14px;font-weight:700;white-space:nowrap;box-shadow:0 3px 18px #008cff26}.your-ranking-cta:hover{background:#006bc9;text-decoration:none}.your-ranking-cta[aria-current=page]{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}
.header-actions .theme-toggle{width:44px;height:44px;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--input)}.language-control select{height:44px;min-width:76px;padding:8px 24px 8px 12px;background:var(--input);color:var(--text);border:1px solid var(--line);border-radius:8px;font-size:14px}
body .site-shell>.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 32px;border-top:1px solid var(--line);font-size:14px;background:var(--surface)}.footer-identity strong{font-size:16px}.footer-identity p{margin:5px 0 0;font-size:12px;color:var(--muted)}.site-footer nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.site-footer a{font-size:13px}
.article-content{max-width:860px;margin:0 auto;padding:12px 0 36px}.article-content h1{font-size:40px;line-height:1.2;letter-spacing:-1px;margin:8px 0 26px}.article-content p{line-height:1.8;color:var(--muted);margin:0 0 22px}.article-content .ad-placement{margin-top:32px}

.table-controls .pagination button{min-width:44px;min-height:44px}.table-controls .page-jump input{min-height:44px}.page-size select{min-height:44px}.table-controls .page-go{min-width:44px;padding:6px!important}.intro{padding-top:6px}.intro .search{top:0}
@media(max-width:1120px){body .site-shell>.shared-header{gap:16px 24px}body .site-shell>.shared-header .brand{flex-basis:100%}body .site-shell>.shared-header nav{margin-left:0;flex:1}}
@media(max-width:700px){body .site-shell,body .landing-shell,body .ranking-shell{margin:0;border-radius:0;border-width:0;width:100%}body .site-shell>.shared-header{padding:20px 18px;gap:16px;height:auto}body .site-shell>.shared-header .brand{font-size:23px;justify-content:flex-start}body .site-shell>.shared-header nav{flex-basis:100%;justify-content:space-between;gap:8px;width:100%;margin:0}body .site-shell>.shared-header nav>a{font-size:12px;padding:3px 0;min-height:36px}body .site-shell>.shared-header .header-actions{width:100%;gap:10px}.header-actions .your-ranking-cta{flex:1}.header-actions .theme-toggle{flex:0 0 44px}.language-control select{width:76px;min-width:0}body .site-shell>main{padding:26px 18px}body .site-shell>main.landing-main{padding:0}.landing-content{padding-left:18px;padding-right:18px}.table-controls{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:12px;padding:16px 0}.table-controls .page-size{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0;font-size:13px}.table-controls .pagination{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;justify-content:stretch;width:100%;margin:0;gap:8px}.table-controls .pagination [data-page-direction]{width:44px;padding:8px}.table-controls .pagination [data-page-direction] span{display:none}.table-controls .page-jump{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:5px;font-size:12px;min-width:0}.table-controls .page-jump label{gap:5px}.table-controls .page-jump input{width:54px;max-width:80px;padding:6px}.table-controls .page-go{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;font-size:11px!important}.table-controls .page-jump>span{white-space:nowrap}body .site-shell>.site-footer{padding:24px 18px;align-items:flex-start;flex-direction:column;gap:20px}.site-footer nav{gap:14px 20px}.site-footer a{font-size:12px}.article-content{padding:0 0 16px}.article-content h1{font-size:32px}.article-content p{font-size:15px}.ranking-shell h1{font-size:36px}.ranking-intro{font-size:18px}.intro .search{margin-top:22px}.intro h1{font-size:34px}}
body .site-shell>.shared-header .brand{font-family:Inter,Arial,Helvetica,sans-serif;font-weight:700}
:root[data-theme=dark] body .landing-shell{--surface:#031725;--soft:#082136}
body .site-shell>.site-footer a+a:before{content:none;margin:0}
@media(max-width:700px){body .site-shell>.shared-header .header-actions{gap:8px}.header-actions .your-ranking-cta{min-width:0;padding:10px;font-size:13px;gap:6px}.language-control{flex:0 0 68px}.language-control select{width:68px;padding-left:10px;padding-right:20px}.table-wrap th.rank{font-size:0}.table-wrap th.rank:after{content:'#';font-size:12px}}

@font-face{font-family:RankingCJK;src:url(/fonts/NotoSansCJKjp-Regular.otf) format("opentype");font-display:swap;unicode-range:U+1100-11FF,U+2E80-9FFF,U+AC00-D7AF,U+F900-FAFF,U+FF00-FFEF}
.personal-card,.public-card-page{font-family:Inter,RankingCJK,Arial,sans-serif}.rank-position{display:inline-flex;align-items:center;justify-content:center;gap:5px;line-height:1}.rank-position .rank-medal{display:flex;align-items:center;margin:0;width:16px;height:18px}.rank-position .rank-medal svg{width:16px;height:16px;display:block}.rank-position .rank-value{line-height:1}.public-card-page{max-width:760px;margin:auto;text-align:center}.public-ranking-image{width:100%;height:auto;border-radius:16px}.card-footer a{color:inherit;overflow-wrap:anywhere}.language-control select{width:auto;min-width:115px}.language-control{flex:0 0 auto}@media(max-width:700px){.language-control select{width:105px;min-width:0;font-size:12px}.language-control{flex:0 0 105px}}

.personal-card .card-footer{flex-direction:column;align-items:center;text-align:center;gap:6px}.personal-card .card-footer strong{max-width:none}.personal-card .card-footer a{font-size:12px}.site-shell>.site-footer{flex-wrap:nowrap}

/* Fixed tracks keep translated labels from changing the filter arrangement. */
.leaderboard-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:14px 0 18px}
.leaderboard-filters .metric-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,680px);height:auto;padding:0;margin:0;gap:0}
.leaderboard-filters .metric-tabs button{height:46px;min-width:0;padding:8px 12px;font-size:13px;line-height:1.25}
.leaderboard-filters .toolbar{width:100%;min-width:0;min-height:0;padding:0;margin:0}
.leaderboard-filters .filters{display:grid;grid-template-columns:330px repeat(3,minmax(0,1fr));gap:12px;width:100%;margin:0;align-items:stretch}
.leaderboard-filters .category-filter{display:block;min-width:0;width:100%;margin:0}
.leaderboard-filters .category-filter select{width:100%;max-width:none;height:56px;min-width:0;font-size:14px;padding:10px 34px 10px 12px}
.leaderboard-filters .filter-switch{min-width:0;height:56px;padding:8px 12px;gap:10px;white-space:normal;font-size:13px;line-height:1.35}
.leaderboard-filters .switch-track{flex:0 0 34px}
.leaderboard-filters .filter-switch>span:last-child{min-width:0;overflow-wrap:anywhere}
@media(max-width:1050px){.leaderboard-filters .filters{grid-template-columns:repeat(3,minmax(0,1fr))}.leaderboard-filters .category-filter{grid-column:1/-1}}
@media(max-width:600px){.leaderboard-filters .metric-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.leaderboard-filters .filters{grid-template-columns:minmax(0,1fr);gap:8px}.leaderboard-filters .filter-switch,.leaderboard-filters .category-filter select{height:48px}}
