.ranking-class-filters button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:5px 10px;
}
.ranking-class-portrait {
  display:block;
  flex:none;
  object-fit:contain;
  border-radius:50%;
}
.ranking-filter-avatar { width:26px;height:26px; }
.ranking-heading-avatar { width:30px;height:30px; }
.ranking-result-heading h4 { display:flex;align-items:center;gap:9px; }
.ranking-character-cell { display:inline-flex;align-items:center;gap:9px;min-width:0; }
.ranking-row-avatar { width:30px;height:30px; }
.feature-table td .ranking-character-cell { padding:7px 0; }
.home-ranking-list li.has-ranking-avatar {
  grid-template-columns:28px 24px minmax(0,1fr) auto;
  min-height:30px;
  gap:6px;
}
.home-ranking-avatar {
  width:24px;
  height:24px;
  object-fit:contain;
  border-radius:50%;
}

/* Home-card overrides load after the base portrait rules. */
.home-ranking-list li.has-ranking-avatar{grid-template-columns:30px 36px minmax(0,1fr) auto;min-height:48px;gap:8px}
.home-ranking-avatar{width:36px;height:36px}

/* Restore the compact rank and character name scale, with stronger weight. */
.home-ranking-position{font-size:12px;font-weight:700}
.home-ranking-name{font-size:13px;font-weight:700;line-height:1.1}

/* Fit the complete Top 10 inside the home ranking card. */
.home-ranking-list{height:auto;max-height:none;overflow:visible;padding-right:0}
.home-ranking-list li.has-ranking-avatar{grid-template-columns:30px 28px minmax(0,1fr) auto;min-height:32px;gap:7px}
.home-ranking-avatar{width:28px;height:28px}
.home-ranking-reset{font-size:13px}
.home-ranking-level{font-size:16px}
.home-ranking-master{transform:translateY(-4px);color:#1d2730;font-size:10px}

/* Let the Discord widget fill the ornamental card frame. */
.home-primary-grid>.home-discord-widget{padding:0}
.home-discord-widget .home-card-head{display:none}
.home-discord-widget-frame{width:100%;height:100%;min-height:0;border-radius:0;flex:1}

/* Project the ornamental card frame above the embedded Discord document. */
.home-discord-widget{position:relative;isolation:isolate}
.home-discord-widget-frame{position:relative;z-index:0}
.home-discord-widget::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;border:1px solid #c1e8fa;border-image-source:url('../assets/silver-ice-window-frame-v1.svg');border-image-slice:180 200;border-image-width:var(--ice-frame-height) var(--ice-frame-width);border-image-outset:var(--ice-frame-outset);border-image-repeat:stretch}

/* Show a server invitation while Discord's public widget is unavailable. */
.home-discord-widget[data-widget-state="unavailable"] .home-discord-widget-frame{display:none}
.home-discord-widget[data-widget-state="ready"] .home-discord-invite{display:none}
.home-discord-invite{position:relative;z-index:0;display:flex;flex:1;flex-direction:column;min-width:0;width:100%;height:100%;background:#232428;color:#f2f3f5;font-family:'Segoe UI',Arial,sans-serif}
.home-discord-invite-head{display:flex;align-items:center;gap:10px;min-height:68px;padding:20px 25px;background:#5865f2;font-size:19px;font-weight:700}
.home-discord-invite-head .fa{font-size:23px}
.home-discord-invite-body{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 22px 34px;text-align:center}
.home-discord-invite-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;background:#353a55;color:#c8ceff;font-size:32px}
.home-discord-invite-body h3{margin:6px 0 0;color:#fff;font-size:19px;line-height:1.2}
.home-discord-invite-body p{max-width:250px;margin:0;color:#b9bbbe;font-size:13px;line-height:1.45}
.home-discord-invite-body a{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:10px 17px;border-radius:4px;background:#5865f2;color:#fff;font-size:14px;font-weight:700;text-decoration:none}
.home-discord-invite-body a:hover,.home-discord-invite-body a:focus-visible{background:#4752c4;outline:2px solid #fff;outline-offset:2px}