/* Awards, Pummel Party–style end-of-round cards on the tracker's tokens.
   Scoped under body.aw. */

:root {
  --tone-gold: #f2b705;   --tone-gold-bg: #fff4d0;
  --tone-good: #12a94f;   --tone-good-bg: #e2f6e9;
  --tone-shame: #e5231b;  --tone-shame-bg: #fde6e4;
  --tone-fun: #5b47d6;    --tone-fun-bg: #ece8ff;
}
:root.themed[data-theme="dark"] {
  --tone-gold-bg: rgba(242, 183, 5, 0.16);
  --tone-good-bg: rgba(18, 169, 79, 0.18);
  --tone-shame-bg: rgba(255, 82, 71, 0.16);
  --tone-fun-bg: rgba(122, 104, 255, 0.2);
  --tone-fun: #a597ff;
}

.aw .aw-rounds { justify-self: start; background: var(--surface); box-shadow: var(--shadow); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.aw .aw-rounds .seg-btn { padding: 0.45rem 1rem; font-size: 0.74rem; white-space: nowrap; }
.aw .aw-rounds .seg-btn[aria-current="true"] { background: var(--accent-bg); color: #fff; }
.aw .aw-rounds .seg-btn span { margin-left: 0.4rem; font-weight: 600; text-transform: none; letter-spacing: 0.02em; opacity: 0.75; }

/* ---- hero: podium (MVP panel + headline honors list) ---- */
.aw-hero {
  border-radius: var(--radius);
  padding: clamp(1.1rem, 3vw, 1.75rem);
  background: linear-gradient(135deg, #1d1648 0%, var(--navy) 60%, #2a1f66 100%);
  color: #fff;
  box-shadow: var(--shadow);
  display: grid;
  gap: 1.25rem;
}
.aw-loading { color: #d9d4ff; font-weight: 600; }
.aw-hero-head h1 {
  font-size: clamp(1.7rem, 4.6vw, 2.6rem);
  font-weight: 900;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  line-height: 1;
}
.aw-hero-head p { margin-top: 0.45rem; color: #b9b4d8; font-size: 0.86rem; font-weight: 600; }

.aw-podium {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 1rem;
  align-items: stretch;
}

/* MVP: the gold slab */
.aw-mvp {
  position: relative;
  display: grid;
  align-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.2rem 1.2rem;
  border-radius: 16px;
  background: linear-gradient(160deg, #ffe07a 0%, #f5b90f 55%, #e3a008 100%);
  color: #2b1d00;
  box-shadow: 0 10px 28px rgba(227, 160, 8, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.55);
  overflow: hidden;
}
.aw-mvp-tag {
  justify-self: start;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  background: rgba(43, 29, 0, 0.12);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.aw-mvp-who { display: flex; align-items: center; gap: 0.8rem; }
.aw-mvp-jersey { width: 58px; height: 68px; object-fit: contain; filter: drop-shadow(0 4px 8px rgba(80, 50, 0, 0.3)); }
.aw-mvp-who b { display: block; font-size: 1.6rem; font-weight: 900; line-height: 1.05; }
.aw-mvp-who small { display: block; margin-top: 0.15rem; font-size: 0.8rem; font-weight: 700; opacity: 0.7; }
.aw-mvp-score b {
  display: block;
  font-size: clamp(2.6rem, 7vw, 3.6rem);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.aw-mvp-score small { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.65; }

/* the other headline awards: one clean list */
.aw-honors {
  list-style: none;
  display: grid;
  align-content: center;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
}
.aw-honor {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
}
.aw-honor + .aw-honor { border-top: 1px solid rgba(255, 255, 255, 0.08); }
.aw-honor-icon {
  width: 2.6rem;
  height: 2.6rem;
  display: grid;
  place-items: center;
  border-radius: 12px;
  font-size: 1.3rem;
  background: var(--chip-on-navy);
}
.aw-honor.tone-good { --chip-on-navy: rgba(38, 208, 110, 0.18); --honor: #7ff0ae; }
.aw-honor.tone-shame { --chip-on-navy: rgba(255, 110, 100, 0.18); --honor: #ffa39b; }
.aw-honor-who small {
  display: block;
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--honor);
}
.aw-honor-who b { display: block; margin-top: 0.1rem; font-size: 1.05rem; font-weight: 800; color: #fff; }
.aw-honor-who b i { font-style: normal; font-weight: 600; color: #b9b4d8; }
.aw-honor-stat { text-align: right; font-size: 0.82rem; font-weight: 600; color: #d9d4ff; font-variant-numeric: tabular-nums; }

@media (max-width: 720px) {
  .aw-podium { grid-template-columns: 1fr; }
  .aw-honor { grid-template-columns: 2.4rem minmax(0, 1fr); }
  .aw-honor-stat { grid-column: 2; text-align: left; margin-top: -0.35rem; }
}

/* ---- manager cards ---- */
.aw-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 0.9rem;
  padding: 0 1.1rem 1.1rem;
}
.aw-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.aw-card-head {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 0.85rem;
  background: var(--ground);
  border-bottom: 1px solid var(--line);
}
.aw-rank {
  width: 1.75rem;
  height: 1.75rem;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  font-weight: 800;
  font-size: 0.85rem;
  color: var(--ink);
  background: var(--chip);
}
.aw-rank.medal-1 { background: linear-gradient(160deg, #ffd75e, #e6a817); color: #5b4300; }
.aw-rank.medal-2 { background: linear-gradient(160deg, #eceef5, #b6bccd); color: #474c60; }
.aw-rank.medal-3 { background: linear-gradient(160deg, #e8a56b, #b96a32); color: #4c2708; }
.aw-jersey { width: 30px; height: 36px; object-fit: contain; flex: none; }
.aw-jersey-fb {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--chip);
  color: var(--gray);
  font-weight: 800;
}
.aw-who { min-width: 0; }
.aw-who b { display: block; font-size: 1rem; font-weight: 800; color: var(--text-strong); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aw-who small { display: block; font-size: 0.72rem; color: var(--gray); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aw-score { text-align: right; line-height: 1.1; }
.aw-score b { display: block; font-size: 1.1rem; font-weight: 800; color: var(--total-ink); font-variant-numeric: tabular-nums; }
.aw-score small { font-size: 0.6rem; font-weight: 800; letter-spacing: 0.1em; color: var(--gray); }

.aw-plaques { list-style: none; display: grid; gap: 0.5rem; padding: 0.75rem 0.85rem 0.85rem; }
.aw-plaque {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  padding: 0.5rem 0.6rem;
  border-radius: 12px;
  background: var(--tone-bg);
  border: 1px solid transparent;
}
.aw-icon {
  width: 2.4rem;
  height: 2.4rem;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--surface);
  font-size: 1.3rem;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.08);
}
.aw-txt b {
  display: block;
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--tone);
  line-height: 1.2;
}
.aw-txt small { display: block; font-size: 0.76rem; color: var(--text); line-height: 1.35; margin-top: 0.1rem; }
.tone-gold { --tone: #b58500; --tone-bg: var(--tone-gold-bg); }
.tone-good { --tone: var(--tone-good); --tone-bg: var(--tone-good-bg); }
.tone-shame { --tone: var(--tone-shame); --tone-bg: var(--tone-shame-bg); }
.tone-fun { --tone: var(--tone-fun); --tone-bg: var(--tone-fun-bg); }
:root.themed[data-theme="dark"] .tone-gold { --tone: #ffd75e; }
:root.themed[data-theme="dark"] .tone-shame { --tone: #ff8a80; }

/* ---- season ---- */
.aw-wall {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 0.6rem;
  padding: 0 1.1rem 1rem;
}
.aw-hof {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  --tone: var(--text-strong);
}
.aw-hof .aw-icon { background: var(--ground); }
.aw-rivals-wrap { overflow-x: auto; border-top: 1px solid var(--line); }
.aw-rivals { width: 100%; border-collapse: collapse; font-size: 0.86rem; min-width: 560px; }
.aw-rivals th {
  text-align: left;
  padding: 0.6rem 0.7rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gray);
  border-bottom: 1px solid var(--line);
}
.aw-rivals th:first-child, .aw-rivals td:first-child { padding-left: 1.1rem; }
.aw-rivals td { padding: 0.5rem 0.7rem; border-bottom: 1px solid var(--line); color: var(--text); }
.aw-rivals tr:last-child td { border-bottom: 0; }
.aw-rivals small { color: var(--gray); font-weight: 600; }
.aw-mini { display: inline-flex; align-items: center; gap: 0.5rem; }
.aw-mini .aw-jersey { width: 22px; height: 26px; }
.aw-mini .aw-jersey-fb { width: 22px; height: 22px; font-size: 0.7rem; }
