/* NyxCMS Ranking 4.0 — social / competitive ranking */
.wm-ranking-v4{
  --rk-accent:var(--wm-accent,#d2a85b);--rk-accent-rgb:210,168,91;--rk-bg:var(--wm-surface,#10141b);--rk-panel:var(--wm-surface-alt,#151b24);--rk-text:var(--wm-text,#eef2f7);--rk-muted:var(--wm-muted,#929cab);--rk-border:var(--wm-border,rgba(255,255,255,.11));--rk-radius:16px;
  width:100%;color:var(--rk-text);font-family:inherit;position:relative;
}
.wm-ranking-v4 *{box-sizing:border-box}.wm-ranking-v4 button,.wm-ranking-v4 input,.wm-ranking-v4 select{font:inherit}
.wm-ranking-hero{position:relative;overflow:hidden;min-height:190px;padding:34px 38px;border:1px solid var(--rk-border);border-radius:var(--rk-radius);background:linear-gradient(115deg,color-mix(in srgb,var(--rk-panel) 94%,#000 6%),color-mix(in srgb,var(--rk-bg) 86%,var(--rk-accent) 14%));display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 24px 60px rgba(0,0,0,.2)}
.wm-ranking-hero:before{content:"";position:absolute;right:-5%;top:-70%;width:420px;height:420px;border:1px solid color-mix(in srgb,var(--rk-accent) 35%,transparent);transform:rotate(45deg);opacity:.5}.wm-ranking-hero__glow{position:absolute;inset:auto auto -120px -80px;width:360px;height:260px;background:radial-gradient(circle,color-mix(in srgb,var(--rk-accent) 24%,transparent),transparent 68%);filter:blur(10px);pointer-events:none}
.wm-ranking-hero__copy,.wm-ranking-hero__meta{position:relative;z-index:1}.wm-ranking-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--rk-accent);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}.wm-ranking-hero h1{margin:0;font-size:clamp(34px,5vw,58px);line-height:.95;letter-spacing:-.04em;text-transform:uppercase;font-weight:900}.wm-ranking-hero p{margin:15px 0 0;max-width:720px;color:var(--rk-muted);font-size:15px;line-height:1.65}.wm-ranking-hero__meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.wm-ranking-season,.wm-ranking-live{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--rk-border);border-radius:999px;background:color-mix(in srgb,var(--rk-panel) 78%,transparent);font-size:12px;font-weight:750;white-space:nowrap}.wm-ranking-live i,.wm-rank-live-dot{width:7px;height:7px;border-radius:50%;background:#45d887;box-shadow:0 0 0 5px rgba(69,216,135,.12),0 0 14px rgba(69,216,135,.45);display:inline-block}
.wm-ranking-main-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px;margin:18px 0;border:1px solid var(--rk-border);border-radius:var(--rk-radius);background:color-mix(in srgb,var(--rk-panel) 88%,transparent)}.wm-ranking-main-tab{min-height:48px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none!important;color:var(--rk-muted)!important;font-size:13px;font-weight:800;transition:.2s ease}.wm-ranking-main-tab span{font-size:16px}.wm-ranking-main-tab:hover{color:var(--rk-text)!important;background:color-mix(in srgb,var(--rk-accent) 8%,transparent)}.wm-ranking-main-tab.is-active{color:#fff!important;background:linear-gradient(135deg,color-mix(in srgb,var(--rk-accent) 85%,#000 15%),color-mix(in srgb,var(--rk-accent) 55%,#2a1b0a 45%));box-shadow:0 9px 24px color-mix(in srgb,var(--rk-accent) 20%,transparent)}
.wm-ranking-stage{position:relative;min-height:250px}.wm-ranking-stage.is-loading:after{content:"";position:absolute;inset:0;z-index:20;border-radius:var(--rk-radius);background:color-mix(in srgb,var(--rk-bg) 72%,transparent);backdrop-filter:blur(2px)}.wm-ranking-stage.is-loading:before{content:"";position:absolute;left:50%;top:90px;z-index:21;width:30px;height:30px;margin-left:-15px;border:3px solid var(--rk-border);border-top-color:var(--rk-accent);border-radius:50%;animation:rk-spin .7s linear infinite}@keyframes rk-spin{to{transform:rotate(360deg)}}
.wm-rank-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.wm-rank-metric{padding:9px 14px;border:1px solid var(--rk-border);border-radius:10px;text-decoration:none!important;color:var(--rk-muted)!important;background:var(--rk-panel);font-size:12px;font-weight:800}.wm-rank-metric:hover,.wm-rank-metric.is-active{color:var(--rk-text)!important;border-color:color-mix(in srgb,var(--rk-accent) 48%,var(--rk-border));background:color-mix(in srgb,var(--rk-accent) 12%,var(--rk-panel))}
.wm-rank-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.wm-rank-search{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wm-rank-search__box{position:relative;display:flex;align-items:center;min-width:250px;flex:1}.wm-rank-search__box>span{position:absolute;left:14px;color:var(--rk-muted);font-size:20px}.wm-rank-search input,.wm-rank-search select{height:43px;border:1px solid var(--rk-border);border-radius:11px;background:var(--rk-panel);color:var(--rk-text);outline:none}.wm-rank-search input{width:100%;padding:0 14px 0 40px}.wm-rank-search select{padding:0 32px 0 12px;min-width:145px}.wm-rank-search input:focus,.wm-rank-search select:focus{border-color:color-mix(in srgb,var(--rk-accent) 60%,var(--rk-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--rk-accent) 12%,transparent)}.wm-rank-filter-btn{height:43px;padding:0 18px;border:0;border-radius:11px;background:var(--rk-accent);color:#101010;font-weight:900;cursor:pointer}.wm-rank-updated{display:flex;align-items:center;gap:9px;color:var(--rk-muted);font-size:11px;white-space:nowrap}
.wm-rank-podium{display:grid;grid-template-columns:1fr 1.14fr 1fr;gap:15px;align-items:end;margin:18px 0 22px}.wm-rank-podium-card{--medal:#b87a42;position:relative;min-height:280px;overflow:hidden;border:1px solid color-mix(in srgb,var(--medal) 65%,var(--rk-border));border-radius:18px;padding:26px 22px 20px;background:linear-gradient(180deg,rgba(8,10,14,.18),rgba(8,10,14,.92)),var(--rank-cover);background-size:cover;background-position:center;box-shadow:0 20px 45px rgba(0,0,0,.22);isolation:isolate;transition:transform .22s ease,border-color .22s ease}.wm-rank-podium-card.rank-1{--medal:#efc45d;min-height:315px;order:2}.wm-rank-podium-card.rank-2{--medal:#b7c4d4;order:1}.wm-rank-podium-card.rank-3{--medal:#c8864c;order:3}.wm-rank-podium-card:hover{transform:translateY(-4px)}.wm-rank-podium-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(145deg,color-mix(in srgb,var(--medal) 19%,transparent),transparent 45%,rgba(0,0,0,.22))}.wm-rank-podium-card__shine{position:absolute;left:-25%;top:-40%;width:70%;height:180%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.13),transparent);transform:rotate(20deg);animation:rk-shine 5s ease-in-out infinite}.wm-ranking-v4.effects-subtle .wm-rank-podium-card__shine{display:none}.wm-ranking-v4.effects-strong .wm-rank-podium-card.rank-1{box-shadow:0 20px 55px rgba(0,0,0,.26),0 0 35px color-mix(in srgb,#efc45d 20%,transparent)}@keyframes rk-shine{0%,55%{transform:translateX(-160%) rotate(20deg)}80%,100%{transform:translateX(260%) rotate(20deg)}}.wm-rank-podium-card__place{position:absolute;top:15px;left:16px;min-width:42px;height:34px;padding:0 10px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--medal) 92%,#000 8%);color:#15120b;font-size:14px;font-weight:950;box-shadow:0 8px 20px rgba(0,0,0,.22)}.wm-rank-podium-card__avatar{display:block;width:104px;height:104px;margin:22px auto 12px;padding:0;border:0;background:transparent;cursor:pointer}.wm-rank-podium-card.rank-1 .wm-rank-podium-card__avatar{width:124px;height:124px}.wm-rank-podium-card__avatar .wm-ranking-player-avatar{width:100%;height:100%;display:block;position:relative}.wm-rank-podium-card__avatar .wm-ranking-player-avatar__photo{width:100%;height:100%;display:block;border:3px solid color-mix(in srgb,var(--medal) 80%,#fff 20%);border-radius:50%;box-shadow:0 0 0 6px rgba(0,0,0,.24),0 0 24px color-mix(in srgb,var(--medal) 35%,transparent);overflow:hidden}.wm-rank-podium-card__avatar img{width:100%;height:100%;object-fit:cover}.wm-rank-podium-card__avatar.is-guild{display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--medal) 65%,transparent);border-radius:24px;background:rgba(0,0,0,.35);padding:15px}.wm-rank-podium-card__body{text-align:center}.wm-rank-podium-card__eyebrow{color:color-mix(in srgb,var(--medal) 85%,#fff 15%);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.wm-rank-podium-card h3{margin:4px 0 5px;color:#fff;font-size:21px;line-height:1.08;font-weight:950;overflow-wrap:anywhere}.wm-rank-podium-card p{margin:0;color:rgba(255,255,255,.66);font-size:11px}.wm-rank-podium-card__score{display:flex;justify-content:center;align-items:baseline;gap:7px;margin-top:14px}.wm-rank-podium-card__score strong{color:#fff;font-size:24px}.wm-rank-podium-card__score span{color:rgba(255,255,255,.55);font-size:10px;text-transform:uppercase;font-weight:850}.wm-rank-podium-card__social{position:absolute;right:13px;top:13px;display:flex;align-items:center;gap:8px}
.wm-rank-list{display:grid;gap:9px}.wm-rank-row{position:relative;overflow:hidden;display:grid;grid-template-columns:58px 58px minmax(150px,1.35fr) minmax(260px,1.3fr) 120px 92px;align-items:center;gap:12px;min-height:86px;padding:8px 16px;border:1px solid var(--rk-border);border-radius:14px;background:linear-gradient(90deg,color-mix(in srgb,var(--rk-panel) 95%,transparent),color-mix(in srgb,var(--rk-bg) 94%,transparent));transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;isolation:isolate}.wm-rank-row:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--rk-accent) 40%,var(--rk-border));box-shadow:0 12px 28px rgba(0,0,0,.13)}.wm-rank-row__cover{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,color-mix(in srgb,var(--rk-panel) 97%,transparent) 0%,color-mix(in srgb,var(--rk-panel) 88%,transparent) 44%,color-mix(in srgb,var(--rk-panel) 70%,transparent) 100%),var(--rank-cover);background-size:cover;background-position:center;opacity:.12;transition:opacity .2s ease}.wm-rank-row.has-profile-cover .wm-rank-row__cover{opacity:.42}.wm-rank-row.has-profile-cover:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in srgb,var(--rk-panel) 92%,transparent),color-mix(in srgb,var(--rk-panel) 68%,transparent) 60%,color-mix(in srgb,var(--rk-panel) 84%,transparent))}.wm-rank-row__place{font-size:16px;font-weight:950;color:var(--rk-muted);text-align:center}.wm-rank-row__avatar{width:52px;height:52px;border:0;padding:0;background:transparent;cursor:pointer}.wm-rank-row__avatar .wm-ranking-player-avatar,.wm-rank-row__avatar .wm-ranking-player-avatar__photo{width:52px;height:52px}.wm-rank-row__avatar .wm-ranking-player-avatar{display:block;position:relative}.wm-rank-row__avatar .wm-ranking-player-avatar__photo{display:block;border:2px solid color-mix(in srgb,var(--rk-accent) 45%,var(--rk-border));border-radius:12px;overflow:hidden;background:var(--rk-bg)}.wm-rank-row__avatar img{width:100%;height:100%;object-fit:cover}.wm-rank-row__avatar.is-guild{display:grid;place-items:center;border:1px solid var(--rk-border);border-radius:12px;background:rgba(0,0,0,.16);padding:8px}.wm-rank-guild-logo{width:100%;height:100%;image-rendering:pixelated;object-fit:contain}.wm-rank-row__identity{min-width:0}.wm-rank-row__name-line{display:flex;align-items:center;gap:8px;min-width:0}.wm-rank-row__identity strong{font-size:14px;font-weight:900;color:var(--rk-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm-rank-row__identity>span{display:block;margin-top:4px;color:var(--rk-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm-rank-status{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.wm-rank-status.is-online{background:#4ee18d;box-shadow:0 0 9px rgba(78,225,141,.7)}.wm-rank-status.is-offline{background:#59616e}.wm-rank-move{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:6px;font-size:9px;font-weight:900}.wm-rank-move.is-up{color:#62e69a;background:rgba(51,202,117,.12)}.wm-rank-move.is-down{color:#ff7684;background:rgba(239,73,93,.12)}.wm-rank-move.is-new{color:#ffe08a;background:rgba(222,174,56,.14)}.wm-rank-move.is-flat{color:var(--rk-muted);padding:0 2px}.wm-rank-row__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.wm-rank-row__stats span{min-width:0;padding:6px 8px;border-left:1px solid var(--rk-border)}.wm-rank-row__stats small,.wm-rank-row__score small{display:block;color:var(--rk-muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.wm-rank-row__stats b{display:block;margin-top:2px;font-size:12px;color:var(--rk-text)}.wm-rank-row__score{text-align:right}.wm-rank-row__score strong{display:block;margin-top:2px;color:var(--rk-accent);font-size:15px;font-weight:950}.wm-rank-row__like{text-align:right}
.wm-rank-like{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;min-width:70px;padding:0 12px;border:1px solid var(--rk-border);border-radius:10px;background:color-mix(in srgb,var(--rk-panel) 82%,transparent);color:var(--rk-muted);font-weight:900;cursor:pointer;transition:.18s ease}.wm-rank-like__heart{font-size:16px;line-height:1}.wm-rank-like:hover:not(:disabled){border-color:rgba(255,80,105,.42);color:#ff5c75;background:rgba(255,72,101,.08)}.wm-rank-like.is-liked{color:#ff5871;border-color:rgba(255,75,103,.38);background:rgba(255,72,101,.12);box-shadow:0 0 18px rgba(255,72,101,.08)}.wm-rank-like:disabled{cursor:not-allowed;opacity:.48}.wm-rank-like.is-compact{height:30px;min-width:55px;padding:0 8px;background:rgba(0,0,0,.28);border-color:rgba(255,255,255,.16);color:#fff}.wm-rank-like.is-pop .wm-rank-like__heart{animation:rk-heart .4s ease}@keyframes rk-heart{50%{transform:scale(1.45)}}
.wm-rank-empty{padding:70px 20px;text-align:center;border:1px dashed var(--rk-border);border-radius:var(--rk-radius);color:var(--rk-muted);background:var(--rk-panel)}
.wm-rank-toast{position:fixed;right:22px;bottom:22px;z-index:10010;transform:translateY(20px);opacity:0;pointer-events:none;padding:12px 16px;border-radius:11px;background:#17231c;color:#91f1b5;border:1px solid rgba(91,225,139,.25);box-shadow:0 15px 35px rgba(0,0,0,.25);transition:.2s ease;font-size:12px;font-weight:800}.wm-rank-toast.is-error{background:#2a181d;color:#ff9eac;border-color:rgba(255,89,111,.28)}.wm-rank-toast.is-show{transform:none;opacity:1}
.wm-rank-profile-modal[hidden]{display:none!important}.wm-rank-profile-modal{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .18s ease}.wm-rank-profile-modal.is-open{opacity:1}.wm-rank-profile-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.wm-rank-profile-card{position:relative;width:min(520px,96vw);overflow:hidden;border:1px solid var(--rk-border);border-radius:20px;background:var(--rk-bg);box-shadow:0 35px 90px rgba(0,0,0,.45);transform:translateY(12px) scale(.98);transition:.18s ease}.wm-rank-profile-modal.is-open .wm-rank-profile-card{transform:none}.wm-rank-profile-card__close{position:absolute;right:13px;top:13px;z-index:3;width:34px;height:34px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(0,0,0,.45);color:#fff;font-size:22px;cursor:pointer}.wm-rank-profile-card__cover{height:160px;background:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.45)),url('/assets/shared/backgrounds/account-cover.webp');background-size:cover;background-position:center}.wm-rank-profile-card__main{display:flex;align-items:end;gap:16px;padding:0 24px;margin-top:-46px;position:relative}.wm-rank-profile-card__avatar{width:94px;height:94px;border:4px solid var(--rk-bg);border-radius:20px;object-fit:cover;background:var(--rk-panel);box-shadow:0 12px 26px rgba(0,0,0,.25)}.wm-rank-profile-card__main>div{padding-bottom:8px}.wm-rank-profile-card__class{color:var(--rk-accent);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.wm-rank-profile-card h3{margin:3px 0 0;font-size:23px}.wm-rank-profile-card p{margin:3px 0 0;color:var(--rk-muted);font-size:12px}.wm-rank-profile-card__stats{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:22px 24px 18px}.wm-rank-profile-card__stats span{padding:11px 6px;text-align:center;border:1px solid var(--rk-border);border-radius:11px;background:var(--rk-panel)}.wm-rank-profile-card__stats small{display:block;color:var(--rk-muted);font-size:8px;text-transform:uppercase;font-weight:800}.wm-rank-profile-card__stats b{display:block;margin-top:4px;font-size:14px}.wm-rank-profile-card__link{display:flex;justify-content:center;margin:0 24px 24px;padding:12px 16px;border-radius:11px;background:var(--rk-accent);color:#111!important;text-decoration:none!important;font-weight:900;font-size:12px}.wm-rank-modal-open{overflow:hidden}
@media(max-width:1100px){.wm-rank-row{grid-template-columns:48px 54px minmax(150px,1.4fr) minmax(210px,1fr) 100px 80px}.wm-rank-row__stats span:nth-child(3){display:none}.wm-rank-row__stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.wm-ranking-hero{padding:28px}.wm-ranking-main-tabs{grid-template-columns:repeat(3,1fr)}.wm-rank-toolbar{align-items:flex-start;flex-direction:column}.wm-rank-search{width:100%}.wm-rank-updated{align-self:flex-end}.wm-rank-podium{grid-template-columns:1fr 1fr}.wm-rank-podium-card.rank-1{grid-column:1/-1;order:1}.wm-rank-podium-card.rank-2{order:2}.wm-rank-podium-card.rank-3{order:3}.wm-rank-row{grid-template-columns:44px 52px minmax(130px,1fr) 145px 72px}.wm-rank-row__stats{display:none}.wm-rank-row__score{grid-column:4}.wm-rank-row__like{grid-column:5}}
@media(max-width:620px){.wm-ranking-hero{min-height:auto;padding:24px 20px;align-items:flex-start;flex-direction:column}.wm-ranking-hero__meta{align-items:flex-start}.wm-ranking-main-tabs{grid-template-columns:repeat(2,1fr);padding:8px}.wm-ranking-main-tab{min-height:44px}.wm-rank-search__box{min-width:100%}.wm-rank-search select{flex:1;min-width:135px}.wm-rank-filter-btn{flex:1}.wm-rank-podium{display:grid;grid-template-columns:1fr}.wm-rank-podium-card,.wm-rank-podium-card.rank-1{grid-column:auto;min-height:250px;order:initial}.wm-rank-row{grid-template-columns:42px 48px minmax(0,1fr) 70px;gap:8px;min-height:78px;padding:8px 10px}.wm-rank-row__place{font-size:13px}.wm-rank-row__avatar,.wm-rank-row__avatar .wm-ranking-player-avatar,.wm-rank-row__avatar .wm-ranking-player-avatar__photo{width:46px;height:46px}.wm-rank-row__score{display:none}.wm-rank-row__like{grid-column:4}.wm-rank-row__identity strong{font-size:12px}.wm-rank-like{height:34px;min-width:60px;padding:0 8px}.wm-rank-updated{align-self:flex-start}.wm-rank-profile-card__stats{grid-template-columns:repeat(3,1fr)}.wm-rank-profile-card__stats span:nth-child(4),.wm-rank-profile-card__stats span:nth-child(5){grid-column:auto}.wm-rank-profile-card__main{padding:0 16px}.wm-rank-profile-card__stats{padding:18px 16px}.wm-rank-profile-card__link{margin:0 16px 18px}}
@media(prefers-reduced-motion:reduce){.wm-ranking-v4 *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Existing NyxCMS ranking artwork reused by Ranking 4.0 */
.wm-rank-podium-card__badge{position:absolute;left:14px;bottom:12px;width:34px;height:48px;object-fit:contain;opacity:.92;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35));pointer-events:none}.wm-rank-podium-card__avatar{position:relative}.wm-rank-podium-card__frame{position:absolute;z-index:3;inset:-17%;width:134%!important;height:134%!important;object-fit:contain!important;pointer-events:none;filter:drop-shadow(0 7px 13px rgba(0,0,0,.34))}.wm-rank-podium-card__frame.is-guild{inset:-22%;width:144%!important;height:144%!important}.wm-rank-podium-card__avatar .wm-ranking-player-avatar{z-index:2}.wm-rank-podium-card__avatar.is-guild .wm-rank-guild-logo{position:relative;z-index:2}
.wm-rank-vip{display:inline-flex;align-items:center;margin:5px auto 0;padding:3px 7px;border:1px solid color-mix(in srgb,var(--medal,#d2a85b) 40%,transparent);border-radius:999px;background:rgba(0,0,0,.22);color:#ffe5ad;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.wm-rank-vip.is-row{margin:0;padding:2px 5px;background:color-mix(in srgb,var(--rk-accent) 10%,transparent);border-color:color-mix(in srgb,var(--rk-accent) 25%,transparent);color:var(--rk-accent);flex:0 0 auto}.wm-rank-vip.is-row.has-image{padding:0;border:0;background:transparent;box-shadow:none}.wm-rank-vip__badge{display:block;width:auto;height:20px;max-width:none;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.22))}.wm-rank-row__flag{width:18px;height:12px;object-fit:cover;border-radius:2px;box-shadow:0 1px 4px rgba(0,0,0,.25);flex:0 0 auto}


/* =========================================================
   Ranking 4.0.1 · visual consistency / Gens / likes
   ========================================================= */

/* Player portraits are circular everywhere. Guild emblems remain square. */
.wm-ranking-v4 .wm-rank-podium-card__frame{display:none!important;}
.wm-ranking-v4 .wm-rank-podium-card__avatar:not(.is-guild),
.wm-ranking-v4 .wm-rank-podium-card__avatar:not(.is-guild) .wm-ranking-player-avatar,
.wm-ranking-v4 .wm-rank-podium-card__avatar:not(.is-guild) .wm-ranking-player-avatar__photo,
.wm-ranking-v4 .wm-rank-row__avatar:not(.is-guild),
.wm-ranking-v4 .wm-rank-row__avatar:not(.is-guild) .wm-ranking-player-avatar,
.wm-ranking-v4 .wm-rank-row__avatar:not(.is-guild) .wm-ranking-player-avatar__photo{
  border-radius:50%!important;
}
.wm-ranking-v4 .wm-rank-row__avatar:not(.is-guild) .wm-ranking-player-avatar__photo{
  border:2px solid color-mix(in srgb,var(--rk-accent) 46%,var(--rk-border));
  box-shadow:0 5px 16px color-mix(in srgb,var(--rk-accent) 12%,transparent);
}
.wm-ranking-v4 .wm-rank-podium-card__avatar:not(.is-guild) .wm-ranking-player-avatar__photo{
  border:3px solid color-mix(in srgb,var(--medal) 76%,#fff 24%);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--rk-bg) 60%,transparent),0 0 26px color-mix(in srgb,var(--medal) 28%,transparent);
}

/* Like is a first-class action, not a hidden counter. */
.wm-ranking-v4 .wm-rank-like{
  min-width:112px;
  gap:6px;
  border-color:color-mix(in srgb,#ff5871 22%,var(--rk-border));
}
.wm-ranking-v4 .wm-rank-like__label{font-size:10px;font-weight:850;}
.wm-ranking-v4 .wm-rank-like__count{
  min-width:20px;
  padding:2px 6px;
  border-radius:999px;
  background:color-mix(in srgb,#ff5871 10%,transparent);
  font-size:10px;
}
.wm-ranking-v4 .wm-rank-podium-card__social{
  position:static;
  justify-content:center;
  margin-top:11px;
}
.wm-ranking-v4 .wm-rank-podium-card__social .wm-rank-like.is-compact{
  height:34px;
  min-width:110px;
  background:rgba(0,0,0,.34);
}
.wm-ranking-v4 .wm-rank-row{
  grid-template-columns:54px 58px minmax(170px,1.25fr) minmax(220px,1fr) 100px 122px;
}
.wm-ranking-v4 .wm-rank-row__like{display:flex;justify-content:flex-end;}

/* Restore the original Duprian / Varnert visual battle summary. */
.wm-ranking-v4 .wm-ranking-gens-summary{
  display:grid;
  grid-template-columns:minmax(0,260px) minmax(220px,1fr) minmax(0,260px);
  gap:18px;
  align-items:center;
  margin:0 0 20px;
  padding:18px 22px;
  overflow:hidden;
  border:1px solid var(--rk-border);
  border-radius:12px;
  background:
    linear-gradient(90deg,rgba(255,163,49,.11),transparent 38%,transparent 62%,rgba(156,84,204,.12)),
    var(--rk-panel);
}
.wm-ranking-v4 .wm-ranking-gens-summary__panel{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.wm-ranking-v4 .wm-ranking-gens-summary__panel.is-varnert{justify-content:flex-end;text-align:right;}
.wm-ranking-v4 .wm-ranking-gens-summary__icon{
  width:72px;
  height:72px;
  flex:0 0 72px;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.28));
}
.wm-ranking-v4 .wm-ranking-gens-summary__panel-meta,
.wm-ranking-v4 .wm-ranking-gens-summary__center{display:grid;gap:8px;min-width:0;}
.wm-ranking-v4 .wm-ranking-gens-summary__panel-meta strong{
  color:var(--rk-text);
  font-size:14px;
  font-weight:950;
}
.wm-ranking-v4 .wm-ranking-gens-summary__panel-meta span,
.wm-ranking-v4 .wm-ranking-gens-summary__numbers,
.wm-ranking-v4 .wm-ranking-gens-summary__percents{
  color:var(--rk-muted);
  font-size:10px;
  font-weight:800;
}
.wm-ranking-v4 .wm-ranking-gens-summary__numbers,
.wm-ranking-v4 .wm-ranking-gens-summary__percents{
  display:flex;
  justify-content:space-between;
  gap:18px;
}
.wm-ranking-v4 .wm-ranking-gens-summary__track{
  position:relative;
  display:flex;
  width:100%;
  min-height:24px;
  overflow:hidden;
  border:1px solid var(--rk-border);
  border-radius:999px;
  background:color-mix(in srgb,var(--rk-bg) 86%,#000 14%);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rk-border) 60%,transparent);
}
.wm-ranking-v4 .wm-ranking-gens-summary__track::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.13) 45%,transparent 66%);
  transform:translateX(-110%);
  animation:wmRankingGensSweep 2.6s linear infinite;
  pointer-events:none;
}
.wm-ranking-v4 .wm-ranking-gens-summary__fill{display:block;min-height:24px;transition:width .45s ease;}
.wm-ranking-v4 .wm-ranking-gens-summary__fill.is-duprian{
  background:linear-gradient(90deg,#91421f,#ffb13e,#f06c24);
}
.wm-ranking-v4 .wm-ranking-gens-summary__fill.is-varnert{
  background:linear-gradient(90deg,#49235d,#b35fd6,#cf88ff);
}
@keyframes wmRankingGensSweep{to{transform:translateX(110%)}}

/* Blue Legacy has a light module canvas but only exposes the common accent. */
.wm-blue-legacy-module-page .wm-ranking-v4{
  --rk-bg:#ffffff;
  --rk-panel:#f5f7fa;
  --rk-text:#24364d;
  --rk-muted:#78869a;
  --rk-border:#d9e1eb;
}
.wm-blue-legacy-module-page .wm-ranking-v4 .wm-ranking-hero{
  box-shadow:0 14px 32px rgba(42,73,110,.08);
}
.wm-blue-legacy-module-page .wm-ranking-v4 .wm-rank-row{
  box-shadow:0 5px 14px rgba(42,73,110,.045);
}
.wm-blue-legacy-module-page .wm-ranking-v4 .wm-rank-row:hover{
  box-shadow:0 10px 24px rgba(42,73,110,.10);
}
.wm-blue-legacy-module-page .wm-ranking-v4 .wm-rank-profile-card{
  box-shadow:0 30px 70px rgba(27,52,83,.22);
}

/* Responsive: keep the Like visible rather than pushing it off-canvas. */
@media(max-width:1100px){
  .wm-ranking-v4 .wm-rank-row{
    grid-template-columns:48px 54px minmax(150px,1.35fr) minmax(180px,1fr) 94px 116px;
  }
}
@media(max-width:900px){
  .wm-ranking-v4 .wm-rank-row{
    grid-template-columns:44px 52px minmax(140px,1fr) 95px 116px;
  }
  .wm-ranking-v4 .wm-rank-row__score{grid-column:auto;}
  .wm-ranking-v4 .wm-rank-row__like{grid-column:auto;}
  .wm-ranking-v4 .wm-ranking-gens-summary{grid-template-columns:1fr;text-align:center;}
  .wm-ranking-v4 .wm-ranking-gens-summary__panel,
  .wm-ranking-v4 .wm-ranking-gens-summary__panel.is-varnert{
    justify-content:center;
    text-align:center;
  }
}
@media(max-width:620px){
  .wm-ranking-v4 .wm-rank-row{
    grid-template-columns:38px 48px minmax(0,1fr) 92px;
  }
  .wm-ranking-v4 .wm-rank-row__like{grid-column:4;}
  .wm-ranking-v4 .wm-rank-like{min-width:86px;padding:0 8px;}
  .wm-ranking-v4 .wm-rank-like__label{display:none;}
  .wm-ranking-v4 .wm-ranking-gens-summary__icon{width:58px;height:58px;flex-basis:58px;}
}
@media(prefers-reduced-motion:reduce){
  .wm-ranking-v4 .wm-ranking-gens-summary__track::after{animation:none!important;}
}


/* =========================================================
   Ranking 4.0.2 · guild/location/privacy + adaptive UI
   ========================================================= */

/* Prefer the theme's real light/dark surfaces.  Some themes expose
   --wm-surface-strong instead of --wm-surface-alt. */
.wm-ranking-v4{
  --rk-bg:var(--wm-surface,var(--wm-bg,#10141b));
  --rk-panel:var(--wm-surface-strong,var(--wm-surface-alt,var(--wm-surface,var(--wm-bg,#151b24))));
  --rk-text:var(--wm-text,#eef2f7);
  --rk-muted:var(--wm-muted,#929cab);
  --rk-border:var(--wm-border,color-mix(in srgb,var(--rk-text) 14%,transparent));
}

/* Rank #1/#2/#3 is represented by the existing medal artwork only. */
.wm-ranking-v4 .wm-rank-podium-card__place{display:none!important}
.wm-ranking-v4 .wm-rank-podium-card__badge{
  left:14px;
  top:13px;
  bottom:auto;
  width:42px;
  height:58px;
  opacity:1;
  z-index:5;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.38));
}

/* Keep player rows native to the current theme. The profile cover only
   appears when the user actually configured one. */
.wm-ranking-v4 .wm-rank-row{
  background:var(--rk-panel);
  color:var(--rk-text);
  box-shadow:0 6px 18px color-mix(in srgb,#000 7%,transparent);
}
.wm-ranking-v4 .wm-rank-row__cover{opacity:0}
.wm-ranking-v4 .wm-rank-row.has-profile-cover .wm-rank-row__cover{
  opacity:.52;
  background-image:
    linear-gradient(90deg,
      color-mix(in srgb,var(--rk-panel) 90%,transparent) 0%,
      color-mix(in srgb,var(--rk-panel) 62%,transparent) 46%,
      color-mix(in srgb,var(--rk-panel) 72%,transparent) 100%),
    var(--rank-cover);
  background-position:center center, center center;
}
.wm-ranking-v4 .wm-rank-row.has-profile-cover:after{
  background:linear-gradient(90deg,
    color-mix(in srgb,var(--rk-panel) 72%,transparent),
    color-mix(in srgb,var(--rk-panel) 22%,transparent) 58%,
    color-mix(in srgb,var(--rk-panel) 58%,transparent));
}

/* Player/general/popularity rows no longer repeat the selected metric in a
   second "score" column.  That space is reserved for the social action. */
.wm-ranking-v4 .wm-rank-row.is-player-ranking{
  grid-template-columns:54px 58px minmax(260px,1.6fr) minmax(250px,1fr) 126px;
}
.wm-ranking-v4 .wm-rank-row.is-guild-ranking{
  grid-template-columns:54px 58px minmax(250px,1.6fr) minmax(230px,1fr);
}
.wm-ranking-v4 .wm-rank-row.is-event-ranking{
  grid-template-columns:54px 58px minmax(230px,1.45fr) minmax(230px,1fr) 100px 126px;
}

/* Guild + location are first-class public metadata. */
.wm-ranking-v4 .wm-rank-row__class{
  display:block;
  margin-top:3px;
  color:var(--rk-muted);
  font-size:10px;
  line-height:1.25;
}
.wm-ranking-v4 .wm-rank-row__meta,
.wm-ranking-v4 .wm-rank-podium-card__meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin-top:7px;
}
.wm-ranking-v4 .wm-rank-podium-card__meta{justify-content:center}
.wm-ranking-v4 .wm-rank-meta-chip{
  display:inline-flex;
  align-items:center;
  min-width:0;
  max-width:190px;
  height:28px;
  padding:0 9px;
  gap:6px;
  border:1px solid color-mix(in srgb,var(--rk-border) 82%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--rk-bg) 68%,transparent);
  color:var(--rk-muted);
  font-size:9px;
  font-weight:800;
  line-height:1;
}
.wm-ranking-v4 .wm-rank-meta-chip.is-compact{height:24px;padding:0 7px;font-size:8px}
.wm-ranking-v4 .wm-rank-meta-chip img{
  width:18px;
  height:18px;
  flex:0 0 18px;
  object-fit:contain;
  image-rendering:pixelated;
  border-radius:4px;
}
.wm-ranking-v4 .wm-rank-meta-chip span:last-child{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.wm-ranking-v4 .wm-rank-meta-chip__pin{
  color:var(--rk-accent);
  font-size:14px;
  font-weight:950;
}
.wm-ranking-v4 .wm-rank-podium-card .wm-rank-meta-chip{
  border-color:rgba(255,255,255,.16);
  background:rgba(0,0,0,.34);
  color:rgba(255,255,255,.80);
}
.wm-ranking-v4 .wm-rank-podium-card .wm-rank-meta-chip__pin{color:color-mix(in srgb,var(--medal) 75%,#fff 25%)}

/* Likes must remain visible as the last player action. */
.wm-ranking-v4 .wm-rank-row__like{
  display:flex!important;
  align-items:center;
  justify-content:flex-end!important;
  min-width:0;
}
.wm-ranking-v4 .wm-rank-like{
  width:auto;
  min-width:112px;
  max-width:126px;
  color:var(--rk-text);
  background:color-mix(in srgb,var(--rk-panel) 88%,transparent);
}
.wm-ranking-v4 .wm-rank-like:not(:disabled) .wm-rank-like__heart{color:#ff6078}
.wm-ranking-v4 .wm-rank-like.is-liked{
  color:#d72d4c;
  background:color-mix(in srgb,#ff5b74 13%,var(--rk-panel));
}
.wm-ranking-v4 .wm-rank-podium-card__social{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:36px;
}
.wm-ranking-v4 .wm-rank-podium-card__social .wm-rank-like.is-compact{
  color:#fff;
  border-color:rgba(255,255,255,.20);
}

/* NEW now means a genuine entry detected against an older ranking snapshot. */
.wm-ranking-v4 .wm-rank-move.is-new{
  height:20px;
  padding:0 7px;
  color:#4c3600;
  background:#ffd85d;
  border:1px solid #e7b92e;
  box-shadow:0 3px 9px rgba(123,84,0,.12);
}

/* Quick profile 4.0.2 — profile identity, guild, location and social action. */
.wm-ranking-v4 .wm-rank-profile-card{
  width:min(590px,96vw);
  overflow:hidden;
  border:1px solid var(--rk-border);
  border-radius:22px;
  background:var(--rk-bg);
  color:var(--rk-text);
}
.wm-ranking-v4 .wm-rank-profile-card__cover{
  position:relative;
  height:190px;
  background-size:cover!important;
  background-position:center!important;
}
.wm-ranking-v4 .wm-rank-profile-card__rank{
  position:absolute;
  left:18px;
  top:18px;
  display:grid;
  place-items:center;
  min-width:48px;
  height:34px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:rgba(4,8,14,.62);
  color:#fff;
  font-size:13px;
  font-weight:950;
  backdrop-filter:blur(7px);
}
.wm-ranking-v4 .wm-rank-profile-card__status{
  position:absolute;
  right:56px;
  top:18px;
  min-height:30px;
  padding:0 10px;
  display:flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(4,8,14,.58);
  color:rgba(255,255,255,.78);
  font-size:9px;
  font-weight:900;
  backdrop-filter:blur(7px);
}
.wm-ranking-v4 .wm-rank-profile-card__status.is-online{color:#72f2ad}
.wm-ranking-v4 .wm-rank-profile-card__status.is-offline{color:#c0c7d1}
.wm-ranking-v4 .wm-rank-profile-card__identity{
  display:flex;
  align-items:flex-end;
  gap:16px;
  position:relative;
  z-index:2;
  margin-top:-55px;
  padding:0 24px;
}
.wm-ranking-v4 .wm-rank-profile-card__avatar{
  width:108px;
  height:108px;
  flex:0 0 108px;
  margin:0;
  border:5px solid var(--rk-bg);
  border-radius:50%!important;
  object-fit:cover;
  background:var(--rk-panel);
  box-shadow:0 12px 26px rgba(0,0,0,.27);
}
.wm-ranking-v4 .wm-rank-profile-card__identity-copy{min-width:0;padding-bottom:7px}
.wm-ranking-v4 .wm-rank-profile-card__class{
  color:var(--rk-accent);
  font-size:9px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.wm-ranking-v4 .wm-rank-profile-card h3{
  margin:3px 0 0;
  color:var(--rk-text);
  font-size:26px;
  line-height:1.05;
  overflow-wrap:anywhere;
}
.wm-ranking-v4 .wm-rank-profile-card__identity-meta{display:flex;gap:6px;margin-top:7px}
.wm-ranking-v4 .wm-rank-profile-card__country{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:24px;
  padding:0 8px;
  border:1px solid var(--rk-border);
  border-radius:999px;
  background:var(--rk-panel);
  color:var(--rk-muted);
  font-size:9px;
  font-weight:850;
}
.wm-ranking-v4 .wm-rank-profile-card__country img{width:17px;height:11px;object-fit:cover;border-radius:2px}

.wm-ranking-v4 .wm-rank-profile-card__details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  padding:22px 24px 0;
}
.wm-ranking-v4 .wm-rank-profile-detail{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  min-height:62px;
  padding:10px 12px;
  border:1px solid var(--rk-border);
  border-radius:13px;
  background:var(--rk-panel);
}
.wm-ranking-v4 .wm-rank-profile-detail__icon{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  flex:0 0 40px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--rk-accent) 24%,var(--rk-border));
  border-radius:10px;
  background:color-mix(in srgb,var(--rk-accent) 8%,var(--rk-bg));
  color:var(--rk-accent);
  font-size:21px;
  font-weight:950;
}
.wm-ranking-v4 .wm-rank-profile-detail__icon img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}
.wm-ranking-v4 .wm-rank-profile-detail__copy{min-width:0}
.wm-ranking-v4 .wm-rank-profile-detail__copy small{
  display:block;
  color:var(--rk-muted);
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.wm-ranking-v4 .wm-rank-profile-detail__copy strong{
  display:block;
  margin-top:4px;
  color:var(--rk-text);
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.wm-ranking-v4 .wm-rank-profile-detail.is-empty{opacity:.65}

.wm-ranking-v4 .wm-rank-profile-card__stats{
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  padding:14px 24px 16px;
}
.wm-ranking-v4 .wm-rank-profile-card__stats span{
  padding:12px 7px;
  border:1px solid var(--rk-border);
  border-radius:12px;
  background:var(--rk-panel);
}
.wm-ranking-v4 .wm-rank-profile-card__stats small{color:var(--rk-muted)}
.wm-ranking-v4 .wm-rank-profile-card__stats b{color:var(--rk-text);font-size:15px}
.wm-ranking-v4 .wm-rank-profile-card__actions{
  display:grid;
  grid-template-columns:minmax(132px,.65fr) minmax(190px,1fr);
  gap:9px;
  padding:0 24px 24px;
}
.wm-ranking-v4 .wm-rank-profile-card__like{
  width:100%;
  max-width:none;
  height:44px;
}
.wm-ranking-v4 .wm-rank-profile-card__link{
  margin:0;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border-radius:11px;
  background:var(--rk-accent);
  color:var(--wm-accent-text,#fff)!important;
  font-weight:900;
  font-size:11px;
}

/* Inputs/selects also inherit the current theme instead of hard-coded dark
   colors when the theme is light. */
.wm-ranking-v4 .wm-rank-search input,
.wm-ranking-v4 .wm-rank-search select,
.wm-ranking-v4 .wm-rank-metric,
.wm-ranking-v4 .wm-ranking-main-tabs{
  background-color:var(--rk-panel);
  color:var(--rk-text);
}
.wm-ranking-v4 .wm-rank-search select option{
  background:var(--rk-bg);
  color:var(--rk-text);
}

/* Astral Elyria exposes a light token set on its final stylesheet. */
body[data-wm-theme="astral_elyria"] .wm-ranking-v4{
  --rk-bg:var(--wm-surface,#fff);
  --rk-panel:var(--wm-surface-strong,var(--wm-surface,#fff));
  --rk-text:var(--wm-text,#15263c);
  --rk-muted:var(--wm-muted,#718198);
  --rk-border:var(--wm-border,#dbe7f2);
}

/* Additional light-canvas safeguard for Blue Legacy. */
.wm-blue-legacy-module-page .wm-ranking-v4 .wm-rank-row,
.wm-blue-legacy-module-page .wm-ranking-v4 .wm-rank-profile-detail,
.wm-blue-legacy-module-page .wm-ranking-v4 .wm-rank-profile-card__stats span{
  background-color:var(--rk-panel);
  color:var(--rk-text);
}

/* Responsive layouts keep guild/location useful and the Like visible. */
@media(max-width:1180px){
  .wm-ranking-v4 .wm-rank-row.is-player-ranking{
    grid-template-columns:48px 54px minmax(220px,1.55fr) minmax(210px,1fr) 116px;
  }
  .wm-ranking-v4 .wm-rank-row.is-event-ranking{
    grid-template-columns:48px 54px minmax(210px,1.45fr) minmax(190px,1fr) 88px 112px;
  }
  .wm-ranking-v4 .wm-rank-meta-chip{max-width:150px}
}
@media(max-width:920px){
  .wm-ranking-v4 .wm-rank-row.is-player-ranking{
    grid-template-columns:44px 52px minmax(0,1fr) 108px;
  }
  .wm-ranking-v4 .wm-rank-row.is-player-ranking .wm-rank-row__stats{display:none}
  .wm-ranking-v4 .wm-rank-row.is-player-ranking .wm-rank-row__like{grid-column:4}
  .wm-ranking-v4 .wm-rank-row.is-event-ranking{
    grid-template-columns:44px 52px minmax(0,1fr) 105px;
  }
  .wm-ranking-v4 .wm-rank-row.is-event-ranking .wm-rank-row__stats,
  .wm-ranking-v4 .wm-rank-row.is-event-ranking .wm-rank-row__score{display:none}
  .wm-ranking-v4 .wm-rank-row.is-event-ranking .wm-rank-row__like{grid-column:4}
}
@media(max-width:680px){
  .wm-ranking-v4 .wm-rank-row{
    min-height:92px;
    padding:9px 10px;
  }
  .wm-ranking-v4 .wm-rank-row__meta{gap:4px;margin-top:5px}
  .wm-ranking-v4 .wm-rank-meta-chip{
    max-width:118px;
    height:22px;
    padding:0 6px;
    font-size:7px;
  }
  .wm-ranking-v4 .wm-rank-meta-chip img{width:15px;height:15px;flex-basis:15px}
  .wm-ranking-v4 .wm-rank-like{min-width:80px;padding:0 8px}
  .wm-ranking-v4 .wm-rank-like__label{display:none}
  .wm-ranking-v4 .wm-rank-profile-card__details{grid-template-columns:1fr}
  .wm-ranking-v4 .wm-rank-profile-card__stats{grid-template-columns:repeat(2,1fr)}
  .wm-ranking-v4 .wm-rank-profile-card__actions{grid-template-columns:1fr}
  .wm-ranking-v4 .wm-rank-profile-card__identity{padding:0 16px}
  .wm-ranking-v4 .wm-rank-profile-card__details,
  .wm-ranking-v4 .wm-rank-profile-card__stats,
  .wm-ranking-v4 .wm-rank-profile-card__actions{padding-left:16px;padding-right:16px}
}


/* Ranking 4.0.3 - Webshop privacy keeps the player ranked but disables profile access. */
.wm-ranking-v4 .wm-rank-row__avatar.is-private,
.wm-ranking-v4 .wm-rank-podium-card__avatar.is-private{cursor:default;pointer-events:none}
.wm-ranking-v4 .wm-character-invisible--ranking{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;vertical-align:middle;flex:0 0 auto;margin-left:2px;opacity:.9}
.wm-ranking-v4 .wm-character-invisible--ranking img{display:block;width:16px;height:16px;object-fit:contain}
.wm-ranking-v4 .wm-rank-meta-chip.is-private{gap:0;min-width:28px;justify-content:center}
.wm-ranking-v4 .wm-rank-meta-chip.is-private .wm-character-invisible--ranking{margin:0}
.wm-ranking-v4 .wm-rank-podium-card h3 .wm-character-invisible--ranking{margin-left:6px}


/* Ranking 4.0.4 - podium name readability + official Webshop invisibility icon. */
.wm-ranking-v4 .wm-rank-podium-card .wm-rank-podium-card__body h3,
.wm-ranking-v4 .wm-rank-podium-card .wm-rank-podium-card__body h3 *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 2px 8px rgba(0,0,0,.72)!important;
}
.wm-ranking-v4 .wm-character-invisible--ranking{
  width:20px;
  height:20px;
  padding:3px;
  border-radius:6px;
  background:color-mix(in srgb,var(--rk-accent) 72%,#101318 28%);
  border:1px solid color-mix(in srgb,var(--rk-accent) 48%,transparent);
  box-shadow:0 3px 10px rgba(0,0,0,.18);
  opacity:1;
}
.wm-ranking-v4 .wm-character-invisible--ranking img{
  width:13px;
  height:13px;
  filter:brightness(0) invert(1);
}
.wm-ranking-v4 .wm-rank-podium-card h3 .wm-character-invisible--ranking img{
  -webkit-text-fill-color:initial!important;
}


/* Ranking 4.0.6 - live online heartbeat + always-visible likes. */
.wm-ranking-v4 .wm-rank-status.is-online{
  position:relative;
  animation:rk-online-heartbeat 1.65s ease-in-out infinite;
}
.wm-ranking-v4 .wm-rank-status.is-online::after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:50%;
  border:1px solid currentColor;
  opacity:0;
  animation:rk-online-ring 1.65s ease-out infinite;
}
.wm-ranking-v4 .wm-rank-status.is-offline{animation:none;box-shadow:none}
@keyframes rk-online-heartbeat{
  0%,100%{transform:scale(1)}
  12%{transform:scale(1.28)}
  24%{transform:scale(1)}
  36%{transform:scale(1.18)}
  52%{transform:scale(1)}
}
@keyframes rk-online-ring{
  0%,15%{transform:scale(.65);opacity:.65}
  70%,100%{transform:scale(1.8);opacity:0}
}
.wm-ranking-v4 .wm-rank-row__like{
  position:relative;
  z-index:6;
}
.wm-ranking-v4 .wm-rank-row__like .wm-rank-like{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
}
.wm-ranking-v4 .wm-rank-podium-card__social .wm-rank-like{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
}
@media (prefers-reduced-motion:reduce){
  .wm-ranking-v4 .wm-rank-status.is-online,
  .wm-ranking-v4 .wm-rank-status.is-online::after{animation:none!important}
}

/* Ranking 4.0.8 - single unified list, including positions 1-3. */
.wm-ranking-v4 .wm-rank-row__place.is-top{display:flex;align-items:center;justify-content:center;min-width:46px}
.wm-ranking-v4 .wm-rank-row__place-badge{display:block;width:34px;height:42px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.24))}
@media (max-width:700px){.wm-ranking-v4 .wm-rank-row__place-badge{width:30px;height:36px}}


/* Ranking 4.1 - three daily votes + popularity trend. */
.wm-ranking-v4 .wm-rank-daily-likes{
  display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:11px 14px;
  border:1px solid color-mix(in srgb,var(--rk-accent) 38%,var(--rk-border));
  border-radius:12px;background:color-mix(in srgb,var(--rk-accent) 7%,var(--rk-panel));
  color:var(--rk-text);box-shadow:0 8px 24px rgba(0,0,0,.06)
}
.wm-ranking-v4 .wm-rank-daily-likes__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,#ff426d 16%,var(--rk-panel));color:#ff426d;font-size:18px;flex:0 0 auto}
.wm-ranking-v4 .wm-rank-daily-likes__copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.wm-ranking-v4 .wm-rank-daily-likes__copy strong{font-size:12px;color:var(--rk-text)}
.wm-ranking-v4 .wm-rank-daily-likes__copy small{font-size:9px;color:var(--rk-muted)}
.wm-ranking-v4 .wm-rank-daily-likes__meter{display:flex;align-items:baseline;gap:2px;padding:6px 10px;border-radius:9px;background:var(--rk-panel);border:1px solid var(--rk-border);white-space:nowrap}
.wm-ranking-v4 .wm-rank-daily-likes__meter b{font-size:18px;color:#ff426d}.wm-ranking-v4 .wm-rank-daily-likes__meter em{font-style:normal;font-size:10px;color:var(--rk-muted)}
.wm-ranking-v4 .wm-rank-daily-likes.is-empty{border-color:var(--rk-border);background:var(--rk-panel)}
.wm-ranking-v4 .wm-rank-daily-likes.is-empty .wm-rank-daily-likes__icon,.wm-ranking-v4 .wm-rank-daily-likes.is-empty .wm-rank-daily-likes__meter b{color:var(--rk-muted)}
.wm-ranking-v4 .wm-rank-popular-metrics{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px}
.wm-ranking-v4 .wm-rank-popular-metrics a{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid var(--rk-border);border-radius:9px;background:var(--rk-panel);color:var(--rk-muted);font-size:10px;font-weight:800;text-decoration:none;transition:.18s ease}
.wm-ranking-v4 .wm-rank-popular-metrics a:hover,.wm-ranking-v4 .wm-rank-popular-metrics a.is-active{border-color:color-mix(in srgb,var(--rk-accent) 58%,var(--rk-border));color:var(--rk-text);background:color-mix(in srgb,var(--rk-accent) 10%,var(--rk-panel))}
.wm-ranking-v4 .wm-rank-row__like{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.wm-ranking-v4 .wm-rank-today-like{display:inline-flex;align-items:center;white-space:nowrap;font-size:8px;font-weight:800;color:#f59e0b;padding:4px 7px;border-radius:999px;border:1px solid color-mix(in srgb,#f59e0b 35%,var(--rk-border));background:color-mix(in srgb,#f59e0b 8%,var(--rk-panel))}
.wm-ranking-v4 .wm-rank-like:disabled:not(.is-liked){opacity:.48;cursor:not-allowed;filter:saturate(.45)}
@media(max-width:680px){
 .wm-ranking-v4 .wm-rank-daily-likes{padding:9px 10px;gap:8px}.wm-ranking-v4 .wm-rank-daily-likes__icon{width:30px;height:30px}.wm-ranking-v4 .wm-rank-daily-likes__meter{padding:5px 7px}
 .wm-ranking-v4 .wm-rank-today-like{display:none}
}

/* Ranking 4.1.3 — public module starts directly with navigation. */
.wm-ranking-v4>.wm-ranking-main-tabs{margin-top:0}
