/* Hall dos Shinobi — pergaminho naval e ouro, isolado ao ranking. */
body.ranking-hall { background-image:url('../img/ranking/hall-pergaminho.png') !important; background-color:#dfbd70 !important; }
.ranking-hall .rnk-page { max-width:1220px; margin:30px auto; padding:20px 36px 32px; position:relative; border:12px ridge #aa843c; border-radius:10px; background:linear-gradient(100deg,#f6e8c8ed,#fff4dbe8,#eddaa9ed); box-shadow:0 8px 22px #48311188,inset 0 0 0 3px #142d43; color:#293549; }
.rnk-page::before,.rnk-page::after { content:''; position:absolute; height:18px; left:-22px; right:-22px; border:4px double #b99445; border-radius:10px; background:linear-gradient(#183d59,#082132,#30536c); box-shadow:0 2px 4px #39220e88; }
.rnk-page::before { top:-17px; }.rnk-page::after { bottom:-17px; }
.rh-title { width:min(560px,90%); margin:-20px auto 24px; text-align:center; background:linear-gradient(110deg,#102335,#1e4059,#0a2033); color:#f7d477; border:5px double #b89446; border-radius:0 0 35px 35px; padding:12px 18px; box-shadow:0 3px 3px #694f2566; }
.rh-title strong { display:block; font:36px/1 Georgia,serif; letter-spacing:3px; }.rh-title span { font:14px Georgia,serif; letter-spacing:4px; }
.rh-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px; border:3px double #b69c60; margin-bottom:10px; }
.ranking-hall .rnk-abas { margin:0; gap:4px; }.ranking-hall .rnk-aba { background:linear-gradient(#254b65,#102a40); border:3px double #bca05d; color:#f7e6bc; font:13px Georgia,serif; padding:8px 12px; }
.ranking-hall .rnk-aba.active { background:linear-gradient(#bd963e,#7c591d); color:white; }
.ranking-hall .rnk-busca { width:220px; margin:0; background:#fff7e3; color:#263d50; border:1px solid #97783d; }
.ranking-hall .rnk-header { margin:8px 0; }.ranking-hall .rnk-titulo { font:17px Georgia,serif; color:#513f23; }.ranking-hall .rnk-subtitulo { font-size:11px; color:#6e6047; }
.ranking-hall .rnk-vila-btn { font-size:10px; padding:4px 8px; color:#5d4a28; border-color:#b89e69; }.ranking-hall .rnk-vila-btn.active { background:#c6a65e; color:#172d3e; }
.ranking-hall .rnk-vila-info-card { color:#574629; background:#eedbac; }.ranking-hall #rnkVilaInfo strong { color:#55401e !important; }
.rh-layout { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:16px; align-items:start; }.rh-main { min-width:0; }
.rh-podium { display:flex; justify-content:center; align-items:end; gap:10px; min-height:260px; padding:10px 0 16px; }
.rh-winner { position:relative; width:30%; max-width:210px; min-width:0; background:radial-gradient(ellipse at center,#d8bc7338,transparent 70%); border:0; color:#302c22; padding:0 5px 8px; cursor:pointer; display:flex; flex-direction:column; align-items:center; }
.rh-winner strong { font:700 17px Georgia,serif; overflow-wrap:anywhere; }.rh-winner small { font-size:10px; }.rh-metric { font-size:11px; font-weight:bold; margin-top:4px; }.rh-medal { position:absolute; left:4px; top:22px; background:linear-gradient(#42677d,#16344b); border:3px double #acb4ac; color:#fff2c4; font:24px Georgia,serif; padding:9px 8px; clip-path:polygon(0 0,100% 0,100% 100%,50% 88%,0 100%); z-index:1; }
.rh-place-1 .rh-medal { background:linear-gradient(#ffe58a,#bc8824); color:#574012; border-color:#997020; }.rh-place-3 .rh-medal { background:linear-gradient(#885436,#492f28); border-color:#b18a5c; }
.rh-battle-art { height:170px; width:100%; display:grid; place-items:center; position:relative; }.rh-place-1 .rh-battle-art { height:205px; }
.rh-battle-art img { position:absolute; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 5px 4px #38230d55); }.rh-art-empty { font-size:11px; color:#7c6c51; text-align:center; }
.rh-selected { outline:2px solid #ad812f; outline-offset:-2px; }.rh-winner.rh-selected { outline:none; background:radial-gradient(ellipse at bottom,#dcb64d66,transparent 75%); }
.rh-profile { border:5px double #ad843c; border-radius:6px; padding:12px; background:linear-gradient(#fcf0d0,#ecdaac); box-shadow:0 3px 6px #694d2844; }
.rh-profile-name { font:22px Georgia,serif; text-align:center; color:#ffe6a0; background:linear-gradient(#17354f,#0c2337); margin:-12px -12px 0; padding:12px 5px 5px; overflow-wrap:anywhere; }.rh-profile-meta { margin:0 -12px 12px; padding:4px 5px 12px; color:#f4dfb4; background:#0c2337; text-align:center; font-size:11px; }
.rh-profile-photo { width:190px; height:190px; max-width:100%; margin:auto; position:relative; display:grid; place-items:center; }.rh-profile-border { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; z-index:3; pointer-events:none; }
.rh-stats { min-height:150px; margin:12px 0; font-size:12px; }.rh-stat { display:flex; justify-content:space-between; padding:6px 2px; border-bottom:1px solid #b59b6255; }
.rh-view,.rh-challenge { display:block; text-align:center; text-decoration:none; padding:10px 4px; margin-top:7px; border:3px double #d8b665; border-radius:5px; font:15px Georgia,serif; color:#fff3c8; background:linear-gradient(#b58a2f,#755014); }.rh-challenge { background:linear-gradient(#234c6d,#0d2941); }
.ranking-hall .rnk-tabela-wrap { border:4px double #a98a48; border-radius:5px; background:#f7ebcc; clip-path:none; }.ranking-hall .rnk-tabela th { background:linear-gradient(#254960,#102a40); color:#ffeabd; font:12px Georgia,serif; }.ranking-hall .rnk-tabela td { color:#283547; border-bottom:1px solid #b6995c66; padding:7px; }.ranking-hall .rnk-tabela tbody tr:nth-child(even) { background:#ccb16a22; }.ranking-hall .rnk-ninja-nome { color:#26344a; }.ranking-hall .rnk-ninja-sub { font-size:10px; color:#71613f; }.ranking-hall .rnk-poder { color:#513e1e; }.ranking-hall .rnk-paginacao { color:#51442c; font-size:11px; }.ranking-hall .rnk-pag-btn { color:#eeddaf; background:#16354c; }
.ranking-hall button:focus-visible,.ranking-hall a:focus-visible,.ranking-hall tr:focus-visible { outline:3px solid #2a7d9c; outline-offset:2px; }
.rnk-profile-page .rnk-page { display:none; }.rnk-profile-page #rnkModalPerfil { position:static; background:none; padding:28px 12px; }.rnk-profile-page .rnk-modal-card { max-height:none; width:min(720px,100%); }.rnk-profile-page .rnk-modal-fechar { position:static; width:auto; padding:8px; margin-bottom:12px; }.rh-profile-error { padding:30px; text-align:center; background:#f7e7bf; }.rh-profile-error a { display:block; }
@media(max-width:950px) { .ranking-hall .rnk-page { margin:22px 18px; padding:18px; }.rh-layout { grid-template-columns:minmax(0,1fr) 220px; }.rh-toolbar { flex-wrap:wrap; }.ranking-hall .rnk-busca { flex:1; }.rh-battle-art { height:145px; }.rh-place-1 .rh-battle-art { height:175px; } }
@media(max-width:700px) { .rh-layout { grid-template-columns:1fr; }.rh-profile { max-width:380px; width:100%; justify-self:center; }.rh-title strong { font-size:27px; }.rh-title span { font-size:10px; }.rh-medal { font-size:17px; padding:6px; }.rh-winner strong { font-size:14px; }.rh-metric { font-size:10px; }.ranking-hall .rnk-aba { padding:7px; font-size:12px; }.ranking-hall .rnk-tabela-wrap { overflow-x:auto; }.ranking-hall .rnk-tabela { min-width:450px; }.ranking-hall .np-topbar { height:auto; flex-wrap:wrap; padding:8px; gap:8px; }.ranking-hall .np-topbar-right { flex-wrap:wrap; min-width:0; }.ranking-hall .np-nav { flex:1 0 100%; order:3; }.ranking-hall .np-logo-img { height:60px; transform:none; } }

.ranking-hall .rnk-tabela .rnk-frame.sm { width:38px; height:38px; flex-shrink:0; }
.ranking-hall .rnk-tabela td { padding:5px 7px; }
/* 09/10 — nome da vila mais legível na tabela e no pódio (antes 10px, cor clara). */
.ranking-hall .rnk-ninja-sub { font-size:12px; color:#1a1206; font-weight:700; }
.ranking-hall .rnk-ninja-sub .rnk-vila { color:#000; font-weight:800; font-size:12.5px; text-shadow:0 0 2px #fff6dd; }
.ranking-hall .rh-winner small { font-size:12px; font-weight:800; color:#120c03; text-shadow:0 0 2px #fff6dd; }
