/* Faceoff League v2.9.1 — rating scale and four-group standings fixes */

/* Ratings use the real league scale: 70 is the weakest active rating and 99 is elite. */
.rating-circle {
  --rating-color: #74869a;
  --rating-track: rgba(116, 134, 154, .18);
  --rating-soft: rgba(116, 134, 154, .12);
  background: conic-gradient(var(--rating-color) var(--rating-angle), var(--rating-track) 0) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--rating-color) 28%, transparent),
              0 8px 20px color-mix(in srgb, var(--rating-color) 13%, transparent) !important;
  transition: transform .18s ease, box-shadow .18s ease;
}
.rating-circle::before,
:root[data-theme="light"] .rating-circle::before {
  border-color: color-mix(in srgb, var(--rating-color) 26%, var(--line)) !important;
  background:
    radial-gradient(circle at 50% 18%, var(--rating-soft), transparent 54%),
    var(--panel-solid) !important;
}
.rating-circle-core strong { color: var(--rating-color) !important; font-weight: 950; }
.rating-circle-core span { color: var(--muted) !important; }
.player-card:hover .rating-circle { transform: translateY(-1px); }

.rating-circle.rating-unrated { --rating-color:#74869a; --rating-track:rgba(116,134,154,.18); --rating-soft:rgba(116,134,154,.10); }
.rating-circle.rating-green   { --rating-color:#25c875; --rating-track:rgba(37,200,117,.18); --rating-soft:rgba(37,200,117,.13); }
.rating-circle.rating-lime    { --rating-color:#83c936; --rating-track:rgba(131,201,54,.19); --rating-soft:rgba(131,201,54,.13); }
.rating-circle.rating-yellow  { --rating-color:#e5c33c; --rating-track:rgba(229,195,60,.20); --rating-soft:rgba(229,195,60,.13); }
.rating-circle.rating-orange  { --rating-color:#f39a38; --rating-track:rgba(243,154,56,.20); --rating-soft:rgba(243,154,56,.13); }
.rating-circle.rating-coral   { --rating-color:#ef665d; --rating-track:rgba(239,102,93,.20); --rating-soft:rgba(239,102,93,.13); }
.rating-circle.rating-red     { --rating-color:#dc3f55; --rating-track:rgba(220,63,85,.21); --rating-soft:rgba(220,63,85,.14); }

/* Small OVR badges and all-player table use exactly the same scale. */
.table-overall.rating-unrated { background:#74869a !important; }
.table-overall.rating-green   { background:#25a965 !important; }
.table-overall.rating-lime    { background:#70ad2f !important; }
.table-overall.rating-yellow  { background:#c6a62e !important; color:#171b1f !important; }
.table-overall.rating-orange  { background:#db812c !important; }
.table-overall.rating-coral   { background:#dd574f !important; }
.table-overall.rating-red     { background:#c83248 !important; }

/* Make all four standings groups unmistakably visible and ordered A → D. */
.standings-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 20px !important;
}
.standings-card {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
.standings-card .responsive-table-wrap {
  width: 100%;
  overflow-x: auto;
}
.standings-card .data-table { min-width: 940px; }
.standings-card .subheading-row {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.standings-card .subheading-row h3 { margin: 2px 0 0; }
.empty-table-row td {
  padding: 28px 16px !important;
  color: var(--muted);
  text-align: center !important;
}

/* Admin standings also show every group one below another, so none is hidden. */
.standings-editor-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}

@media (max-width: 720px) {
  .standings-card .data-table { min-width: 0; }
}
