/*
 * [team_standings] — static design reference (Opus 5.5)
 *
 * Derived value-for-value from the approved Opus 5.5 references:
 *   tests/design-reference/claude-opus-5-5-image/styles.css   (Ghost Riders)
 *   tests/design-reference/claude-opus-5-5-hudson/styles.css  (Hudson Havoc)
 *   CIGSponsorship/.planning/Image.png                        (layout source)
 * and their shipped scoped copies in assets/player-statistics/<brand>/design.css.
 *
 * Every rule is scoped to .tts-team-standings; brand comes from
 * data-tts-standings="ghost-riders" | "hudson-havoc" (Hudson is the default).
 * No :root / html / body rules. Asset URLs are relative to this directory;
 * runtime PHP must rewrite "../../../assets/" to plugins_url('assets/').
 */

@font-face {
  font-family: "Colder Weather";
  src: url("../player-statistics/ghost-riders/assets/ColderWeather-Regular.woff2") format("woff2");
  font-display: swap;
}

/* ---------- Brand tokens ---------- */

/* Hudson Havoc (default) — claude-opus-5-5-hudson :root */
.tts-team-standings {
  --tts-standings-bg: #010813;
  --tts-standings-panel-1: #0b2238;
  --tts-standings-panel-2: #071726;
  --tts-standings-glass-1: rgba(11, 34, 56, 0.9);
  --tts-standings-glass-2: rgba(7, 23, 38, 0.9);
  --tts-standings-shade-80: rgba(1, 8, 19, 0.8);
  --tts-standings-shade-90: rgba(1, 8, 19, 0.9);
  --tts-standings-accent: #59c5f5;
  --tts-standings-accent-hover: #a5e3fc;
  --tts-standings-text: #d9e7f3;
  --tts-standings-text-bright: #e3edf6;
  --tts-standings-muted: #8ea4b8;
  --tts-standings-line: rgba(89, 197, 245, 0.28);
  --tts-standings-line-soft: rgba(89, 197, 245, 0.22);
  --tts-standings-line-strong: rgba(89, 197, 245, 0.35);
  --tts-standings-line-dashed: rgba(89, 197, 245, 0.4);
  --tts-standings-tint-strong: rgba(89, 197, 245, 0.12);
  --tts-standings-tint-weak: rgba(89, 197, 245, 0.03);
  --tts-standings-metal: linear-gradient(180deg, #ffffff 0%, #e4eef6 40%, #a9bfd1 80%, #6a8399 100%);
  --tts-standings-metal-solid: #e4eef6;
  --tts-standings-bar: linear-gradient(90deg, #e9f8ff 0%, #a5e3fc 35%, #59c5f5 70%, #2a8fc4 100%);
  --tts-standings-ok: #00d6a3;
  --tts-standings-ink: #0a1a2b;
  /* Opaque table cells (needed under sticky columns): panel mid, +2.5% white, panel x0.65, +14% accent */
  --tts-standings-cell: #091d2f;
  --tts-standings-cell-alt: #0f2234;
  --tts-standings-cell-head: #071624;
  --tts-standings-cell-home: #14344b;
  --tts-standings-badge-fill: #123049;
  --tts-standings-badge-line: rgba(89, 197, 245, 0.55);

  --tts-standings-font-display: "Bebas Neue", "Avenir Next Condensed", "Oswald", "Roboto Condensed", "Arial Narrow", Impact, sans-serif;
  --tts-standings-font-body: "Montserrat", "Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif;
  --tts-standings-font-brand: var(--tts-standings-font-display);

  --tts-standings-wrap: 1160px;
  --tts-standings-radius: 6px;
}

/* Salt Lake Ghost Riders — claude-opus-5-5-image :root */
.tts-team-standings[data-tts-standings="ghost-riders"] {
  --tts-standings-bg: #090504;
  --tts-standings-panel-1: #1c0a06;
  --tts-standings-panel-2: #110604;
  --tts-standings-glass-1: rgba(28, 10, 6, 0.9);
  --tts-standings-glass-2: rgba(17, 6, 4, 0.9);
  --tts-standings-shade-80: rgba(9, 5, 4, 0.8);
  --tts-standings-shade-90: rgba(9, 5, 4, 0.9);
  --tts-standings-accent: #fba100;
  --tts-standings-accent-hover: #ffc35a;
  --tts-standings-text: #f4ede7;
  --tts-standings-text-bright: #efe6df;
  --tts-standings-muted: #bdb5b7;
  --tts-standings-line: rgba(251, 161, 0, 0.28);
  --tts-standings-line-soft: rgba(251, 161, 0, 0.22);
  --tts-standings-line-strong: rgba(251, 161, 0, 0.35);
  --tts-standings-line-dashed: rgba(251, 161, 0, 0.4);
  --tts-standings-tint-strong: rgba(251, 161, 0, 0.13);
  --tts-standings-tint-weak: rgba(251, 161, 0, 0.04);
  --tts-standings-metal: linear-gradient(180deg, #f9ece1 0%, #eadacb 40%, #b69880 82%, #6c4d3c 100%);
  --tts-standings-metal-solid: #efe2d6;
  --tts-standings-bar: linear-gradient(90deg, #ffebd5 0%, #ff9b7b 35%, #ff6946 65%, #f32b00 100%);
  --tts-standings-ok: #6fdc95;
  --tts-standings-ink: #170b07;
  --tts-standings-cell: #170805;
  --tts-standings-cell-alt: #1c0e0b;
  --tts-standings-cell-head: #120704;
  --tts-standings-cell-home: #371d04;
  --tts-standings-badge-fill: #2b140d;
  --tts-standings-badge-line: rgba(251, 161, 0, 0.55);
  --tts-standings-font-brand: "Colder Weather", var(--tts-standings-font-display);
}

/* ---------- Root + base ---------- */

.tts-team-standings {
  display: block;
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: var(--tts-standings-bg);
  color: var(--tts-standings-text);
  font: 400 1rem/1.55 var(--tts-standings-font-body);
  letter-spacing: normal;
  text-align: left;
  text-transform: none;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-synthesis: none;
}

.tts-team-standings *,
.tts-team-standings *::before,
.tts-team-standings *::after { box-sizing: border-box; }

.tts-team-standings [hidden] { display: none !important; }

.tts-team-standings .tts-standings-sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Dark inner ring + brand outer ring (approved :focus-visible) */
.tts-team-standings :focus-visible {
  outline: 3px solid var(--tts-standings-accent);
  outline-offset: 2px;
  box-shadow: 0 0 0 2px var(--tts-standings-bg);
}

.tts-team-standings .tts-standings-ico {
  display: block;
  width: 1em;
  height: 1em;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tts-team-standings .tts-standings-metal {
  color: var(--tts-standings-metal-solid);
  background: var(--tts-standings-metal);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.55));
}

.tts-team-standings .tts-standings-wrap {
  width: min(100% - 2rem, var(--tts-standings-wrap));
  margin-inline: auto;
}

@media (min-width: 768px) {
  .tts-team-standings .tts-standings-wrap { width: min(100% - 3rem, var(--tts-standings-wrap)); }
}

/* ---------- Hero (approved .player section + arena) ---------- */

.tts-team-standings .tts-standings-hero {
  position: relative;
  isolation: isolate;
  padding: 1.25rem 0 2.25rem;
}
.tts-team-standings .tts-standings-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: -1;
  height: min(760px, 100%);
  background:
    linear-gradient(180deg, var(--tts-standings-shade-80) 0%, var(--tts-standings-shade-90) 55%, var(--tts-standings-bg) 100%),
    url("../player-statistics/hudson-havoc/assets/arena-hero.jpg") 50% 30% / cover no-repeat;
}
.tts-team-standings[data-tts-standings="ghost-riders"] .tts-standings-hero::before {
  background:
    linear-gradient(180deg, var(--tts-standings-shade-80) 0%, var(--tts-standings-shade-90) 55%, var(--tts-standings-bg) 100%),
    url("../player-statistics/ghost-riders/assets/arena-hero.jpg") 50% 18% / cover no-repeat;
}

/* Breadcrumb (approved .crumbs-row / .crumbs) */
.tts-team-standings .tts-standings-crumbs {
  margin: 0 0 1rem;
  font: 600 0.75rem/1.4 var(--tts-standings-font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.tts-team-standings .tts-standings-crumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  color: var(--tts-standings-muted);
  list-style: none;
}
.tts-team-standings .tts-standings-crumbs li { margin: 0; padding: 0; }
.tts-team-standings .tts-standings-crumbs li + li::before {
  content: "›";
  content: "›" / "";
  margin-right: 0.35rem;
  color: var(--tts-standings-accent);
}
.tts-team-standings .tts-standings-crumbs a {
  display: inline-block;
  padding: 0.25rem 0;
  color: var(--tts-standings-muted);
  text-decoration: none;
}
.tts-team-standings .tts-standings-crumbs a:hover { color: #fff; }
.tts-team-standings .tts-standings-crumbs [aria-current="page"] { color: #fff; }

/* Title block left, selected-team summary right; wraps to a stack when narrow */
.tts-team-standings .tts-standings-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem 2rem;
}
.tts-team-standings .tts-standings-heading { flex: 1 1 20rem; min-width: 0; }

.tts-team-standings .tts-standings-title {
  margin: 0;
  padding: 0;
  color: #fff;
  font: 700 clamp(2.75rem, 7.5vw, 4.75rem)/0.88 var(--tts-standings-font-display);
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

/* Approved .hero__eyebrow, carried inside the h2 as the tier kicker */
.tts-team-standings .tts-standings-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 0.9rem;
  color: var(--tts-standings-accent);
  font: 700 0.75rem/1.35 var(--tts-standings-font-body);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.tts-team-standings .tts-standings-eyebrow::before {
  content: "";
  flex: none;
  width: 28px;
  height: 2px;
  background: var(--tts-standings-bar);
}
.tts-team-standings .tts-standings-title-main { display: block; }

/* Approved .facts */
.tts-team-standings .tts-standings-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0;
  margin: 1rem 0 0;
  padding: 0.7rem 0;
  border: 0;
  border-block: 1px solid var(--tts-standings-line-soft);
  color: var(--tts-standings-text-bright);
  font: 600 0.8125rem/1.3 var(--tts-standings-font-body);
  letter-spacing: 0.05em;
  list-style: none;
  text-transform: uppercase;
}
.tts-team-standings .tts-standings-facts li {
  display: inline-flex;
  align-items: center;
  margin: 0 0.9rem 0 0;
  padding: 0 0.9rem 0 0;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}
.tts-team-standings .tts-standings-facts li:last-child { margin-right: 0; padding-right: 0; border-right: 0; }

/* Data freshness (approved .ident__team type) */
.tts-team-standings .tts-standings-updated {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.75rem 0 0;
  color: var(--tts-standings-muted);
  font: 400 0.8125rem/1.4 var(--tts-standings-font-body);
  letter-spacing: 0.04em;
}
.tts-team-standings .tts-standings-updated .tts-standings-ico { width: 16px; height: 16px; color: var(--tts-standings-accent); }
.tts-team-standings .tts-standings-updated time { color: var(--tts-standings-text-bright); font-weight: 600; }

/* ---------- Selected-team summary (approved .glance panel + tiles) ---------- */

.tts-team-standings .tts-standings-summary {
  display: grid;
  flex: 0 1 28rem;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.9rem 1rem;
  min-width: 0;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--tts-standings-line);
  border-radius: var(--tts-standings-radius);
  background: linear-gradient(180deg, var(--tts-standings-glass-1), var(--tts-standings-glass-2));
}

/* Crest: approved .hero__crest filters at half radius. Hudson keeps the silver rim. */
.tts-team-standings .tts-standings-crest {
  display: block;
  width: 80px;
  height: 80px;
  max-width: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  object-fit: contain;
  filter:
    drop-shadow(1.5px 0 0 #e8f1f8) drop-shadow(-1.5px 0 0 #e8f1f8)
    drop-shadow(0 1.5px 0 #e8f1f8) drop-shadow(0 -1.5px 0 #e8f1f8)
    drop-shadow(0 0 14px rgba(89, 197, 245, 0.45)) drop-shadow(0 8px 14px rgba(0, 0, 0, 0.75));
}
.tts-team-standings[data-tts-standings="ghost-riders"] .tts-standings-crest {
  filter: drop-shadow(0 0 14px rgba(243, 43, 0, 0.45)) drop-shadow(0 8px 14px rgba(0, 0, 0, 0.75));
}

/* Rendered instead of <img> whenever the crest URL is empty. Carries role="img" + aria-label. */
.tts-team-standings .tts-standings-logo-fallback {
  display: grid;
  flex: none;
  place-items: center;
  width: 80px;
  height: 80px;
  margin: 0;
  border: 1.5px solid var(--tts-standings-accent);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 30%, var(--tts-standings-panel-1) 0%, var(--tts-standings-panel-2) 70%);
  box-shadow: 0 0 0 4px var(--tts-standings-bg), 0 0 0 5px var(--tts-standings-line);
  color: var(--tts-standings-text-bright);
  font: 700 1.9rem/1 var(--tts-standings-font-display);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tts-team-standings .tts-standings-summary-title {
  margin: 0;
  padding: 0;
  color: #fff;
  font: 700 1rem/1.2 var(--tts-standings-font-body);
  letter-spacing: normal;
  text-transform: none;
}
/* Approved .quote figcaption type */
.tts-team-standings .tts-standings-summary-label {
  display: block;
  color: var(--tts-standings-accent);
  font: 700 0.75rem/1.3 var(--tts-standings-font-body);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
/* Hudson: approved metal .wordmark. Ghost Riders: approved Colder Weather .wordmark. */
.tts-team-standings .tts-standings-summary-name {
  display: block;
  margin: 0.3rem 0 0;
  color: var(--tts-standings-metal-solid);
  background: var(--tts-standings-metal);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.55));
  font: 700 1.6rem/1.05 var(--tts-standings-font-display);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.tts-team-standings[data-tts-standings="ghost-riders"] .tts-standings-summary-name {
  color: #f9ece1;
  background: none;
  -webkit-text-fill-color: currentColor;
  filter: none;
  font: 400 1.6rem/1.05 var(--tts-standings-font-brand);
  letter-spacing: 0.04em;
  text-transform: none;
}

.tts-team-standings .tts-standings-stats {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}
/* DOM is dt then dd; tiles show the value on top like the approved .stat cards */
.tts-team-standings .tts-standings-stat {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  align-items: center;
  gap: 0.2rem;
  min-width: 0;
  margin: 0;
  padding: 0.6rem 0.3rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.04);
  text-align: center;
}
.tts-team-standings .tts-standings-stat dt {
  margin: 0;
  padding: 0;
  color: var(--tts-standings-muted);
  font: 700 0.6875rem/1.2 var(--tts-standings-font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.tts-team-standings .tts-standings-stat dd {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 0 0.3rem;
  margin: 0;
  padding: 0;
  color: #fff;
  font: 700 clamp(2.25rem, 5vw, 3rem)/1 var(--tts-standings-font-display);
  font-variant-numeric: tabular-nums;
  text-transform: uppercase;
}
.tts-team-standings .tts-standings-stat-of {
  color: var(--tts-standings-muted);
  font: 600 0.75rem/1.2 var(--tts-standings-font-body);
  letter-spacing: 0.04em;
  text-transform: none;
}

@media (max-width: 479px) {
  .tts-team-standings .tts-standings-stats { grid-template-columns: minmax(0, 1fr); }
  .tts-team-standings .tts-standings-stat {
    flex-direction: row;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.45rem 0.75rem;
    text-align: left;
  }
  .tts-team-standings .tts-standings-stat dd { justify-content: flex-end; font-size: 1.75rem; }
}

/* ---------- Notices: stale / unavailable (approved .note-strip / .sponsors-empty) ---------- */

.tts-team-standings .tts-standings-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin: 1.25rem 0 0;
  padding: 0.75rem 1rem;
  border: 1px solid var(--tts-standings-line-strong);
  border-radius: 4px;
  background: linear-gradient(90deg, var(--tts-standings-tint-strong), var(--tts-standings-tint-weak));
  color: var(--tts-standings-text);
  font: 400 0.875rem/1.55 var(--tts-standings-font-body);
}
.tts-team-standings .tts-standings-notice .tts-standings-ico {
  width: 20px;
  height: 20px;
  margin-top: 0.1rem;
  color: var(--tts-standings-accent);
}
.tts-team-standings .tts-standings-notice p { margin: 0; padding: 0; }
.tts-team-standings .tts-standings-notice-title { display: block; color: #fff; font-weight: 700; }
.tts-team-standings .tts-standings-notice-unavailable {
  border-style: dashed;
  border-color: var(--tts-standings-line-dashed);
  background: linear-gradient(180deg, var(--tts-standings-glass-1), var(--tts-standings-glass-2));
}

/* ---------- Table section (approved .section--tight + .divider + .table-wrap/.games) ---------- */

.tts-team-standings .tts-standings-body { padding: 0.5rem 0 2.5rem; }

.tts-team-standings .tts-standings-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1.25rem;
  padding: 0;
  color: #fff;
  font: 700 clamp(1.5rem, 3.4vw, 2rem)/1 var(--tts-standings-font-display);
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
}
.tts-team-standings .tts-standings-divider::before,
.tts-team-standings .tts-standings-divider::after {
  content: "";
  flex: 1;
  min-width: 1.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--tts-standings-accent));
}
.tts-team-standings .tts-standings-divider::after { background: linear-gradient(270deg, transparent, var(--tts-standings-accent)); }
.tts-team-standings .tts-standings-divider-text { display: inline-flex; align-items: center; gap: 0.75rem; }
.tts-team-standings .tts-standings-divider-text::before,
.tts-team-standings .tts-standings-divider-text::after {
  content: "";
  flex: none;
  width: 6px;
  height: 6px;
  background: var(--tts-standings-accent);
  transform: rotate(45deg);
}

/* Shown only while the table can overflow; decorative (aria-hidden in markup) */
.tts-team-standings .tts-standings-scroll-hint {
  display: none;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 0.5rem;
  color: var(--tts-standings-muted);
  font: 600 0.6875rem/1.3 var(--tts-standings-font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.tts-team-standings .tts-standings-scroll-hint .tts-standings-ico { width: 14px; height: 14px; color: var(--tts-standings-accent); }
@media (max-width: 839px) {
  .tts-team-standings .tts-standings-scroll-hint { display: flex; }
}

/* Labelled, focusable horizontal scroll region */
.tts-team-standings .tts-standings-scroll {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  margin: 0;
  border: 1px solid var(--tts-standings-line);
  border-radius: var(--tts-standings-radius);
  background: linear-gradient(180deg, var(--tts-standings-panel-1), var(--tts-standings-panel-2));
}

.tts-team-standings .tts-standings-table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
  color: var(--tts-standings-text);
  font-size: 0.9375rem;
  line-height: 1.55;
  font-variant-numeric: tabular-nums;
  table-layout: auto;
}
.tts-team-standings .tts-standings-table :is(th, td) {
  padding: 0.7rem 0.75rem;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background: var(--tts-standings-cell);
  color: inherit;
  font: inherit;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
.tts-team-standings .tts-standings-table thead th {
  border-bottom-color: var(--tts-standings-line);
  background: var(--tts-standings-cell-head);
  color: var(--tts-standings-accent);
  font: 700 0.75rem/1.2 var(--tts-standings-font-body);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
/* Beats theme "thead:first-child tr:first-child th" top borders */
.tts-team-standings .tts-standings-table thead tr:first-child > th { border-top: 0; }
.tts-team-standings .tts-standings-table abbr { border: 0; text-decoration: none; cursor: help; }
.tts-team-standings .tts-standings-table tbody tr:nth-child(even) > * { background: var(--tts-standings-cell-alt); }
.tts-team-standings .tts-standings-table tbody tr:last-child > * { border-bottom: 0; }

/* Rank + team stay pinned while the stats scroll */
.tts-team-standings .tts-standings-table .tts-standings-col-rank,
.tts-team-standings .tts-standings-table .tts-standings-rank {
  position: sticky;
  left: 0;
  z-index: 1;
  width: 3rem;
  min-width: 3rem;
  padding-inline: 0;
  text-align: center;
}
.tts-team-standings .tts-standings-table .tts-standings-rank { color: var(--tts-standings-muted); font-weight: 700; }

.tts-team-standings .tts-standings-table .tts-standings-col-team,
.tts-team-standings .tts-standings-table .tts-standings-team {
  position: sticky;
  left: 3rem;
  z-index: 1;
  min-width: 13rem;
  border-right: 1px solid var(--tts-standings-line-soft);
  text-align: left;
  white-space: normal;
}
.tts-team-standings .tts-standings-table .tts-standings-team { color: var(--tts-standings-text-bright); font-weight: 600; }

.tts-team-standings .tts-standings-team-inner { display: flex; align-items: center; gap: 0.65rem; }
.tts-team-standings .tts-standings-team-text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem 0.5rem;
  min-width: 0;
}
.tts-team-standings .tts-standings-team-name { min-width: 0; }

/* Initials shield used for every row; never a fetched logo */
.tts-team-standings .tts-standings-badge {
  display: block;
  flex: none;
  width: 28px;
  height: 28px;
  overflow: visible;
}
.tts-team-standings .tts-standings-badge path {
  fill: var(--tts-standings-badge-fill);
  stroke: var(--tts-standings-badge-line);
  stroke-width: 1.5;
}
.tts-team-standings .tts-standings-badge text {
  fill: var(--tts-standings-text-bright);
  font: 700 11px/1 var(--tts-standings-font-display);
  letter-spacing: 0.02em;
}

/* "Your team" label: the highlight is never colour-only */
.tts-team-standings .tts-standings-you {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.45rem;
  border-radius: 3px;
  background: var(--tts-standings-accent);
  color: var(--tts-standings-ink);
  font: 700 0.625rem/1.2 var(--tts-standings-font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
}
.tts-team-standings .tts-standings-table tbody tr.tts-standings-row-home > * {
  background: var(--tts-standings-cell-home);
  color: #fff;
}
.tts-team-standings .tts-standings-table tbody tr.tts-standings-row-home > :first-child {
  box-shadow: inset 3px 0 var(--tts-standings-accent);
}
.tts-team-standings .tts-standings-table tbody tr.tts-standings-row-home .tts-standings-team { font-weight: 700; }

/* Approved .games .is-pts */
.tts-team-standings .tts-standings-table .tts-standings-pts { color: #fff; font-weight: 800; }

.tts-team-standings .tts-standings-streak {
  display: inline-block;
  padding: 0.1rem 0.5rem;
  border: 1px solid currentColor;
  border-radius: 3px;
  font: 700 0.75rem/1.4 var(--tts-standings-font-body);
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.tts-team-standings .tts-standings-streak-won { color: var(--tts-standings-ok); }
.tts-team-standings .tts-standings-streak-lost { color: var(--tts-standings-muted); }

/* Approved .games narrow-screen values */
@media (max-width: 480px) {
  .tts-team-standings .tts-standings-table { font-size: 0.8125rem; }
  .tts-team-standings .tts-standings-table :is(th, td) { padding: 0.6rem 0.4rem; }
  .tts-team-standings .tts-standings-table thead th { letter-spacing: 0.06em; }
  .tts-team-standings .tts-standings-table .tts-standings-col-rank,
  .tts-team-standings .tts-standings-table .tts-standings-rank { width: 2.25rem; min-width: 2.25rem; }
  .tts-team-standings .tts-standings-table .tts-standings-col-team,
  .tts-team-standings .tts-standings-table .tts-standings-team { left: 2.25rem; min-width: 8.75rem; }
  .tts-team-standings .tts-standings-badge { display: none; }
}

/* ---------- Footnotes + source (approved .footnote / .inset__foot / .site-footer__link) ---------- */

.tts-team-standings .tts-standings-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 2rem;
  margin: 1rem 0 0;
  padding: 0.9rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.tts-team-standings .tts-standings-notes { flex: 1 1 28rem; min-width: 0; }

.tts-team-standings .tts-standings-key {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.1rem;
  margin: 0;
  padding: 0;
}
.tts-team-standings .tts-standings-key > div {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
}
.tts-team-standings .tts-standings-key dt {
  margin: 0;
  padding: 0;
  color: var(--tts-standings-accent);
  font: 700 0.6875rem/1.3 var(--tts-standings-font-body);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tts-team-standings .tts-standings-key dd {
  margin: 0;
  padding: 0;
  color: var(--tts-standings-muted);
  font: 400 0.8125rem/1.3 var(--tts-standings-font-body);
}

.tts-team-standings .tts-standings-footnote {
  margin: 0.6rem 0 0;
  padding: 0;
  color: var(--tts-standings-muted);
  font: 400 0.8125rem/1.55 var(--tts-standings-font-body);
}

.tts-team-standings .tts-standings-source {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 0.35rem;
  min-height: 44px;
  color: var(--tts-standings-accent);
  font: 600 0.8125rem/1.3 var(--tts-standings-font-body);
  letter-spacing: normal;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.tts-team-standings .tts-standings-source:hover { color: var(--tts-standings-accent-hover); }

/* ---------- Forced colours ---------- */

@media (forced-colors: active) {
  .tts-team-standings .tts-standings-metal,
  .tts-team-standings .tts-standings-summary-name {
    background: none;
    -webkit-text-fill-color: currentColor;
    filter: none;
  }
  .tts-team-standings .tts-standings-you { border: 1px solid CanvasText; }
  .tts-team-standings .tts-standings-table tbody tr.tts-standings-row-home > :first-child { border-left: 3px solid Highlight; }
}
