/* /league-play/scores — Scores page shell (CAP19a).
   Mobile first. Matches the Schedule's light "League Matchups" card: white
   card, rule border, soft shadow, Oswald eyebrow, Bebas heading. Cards, type
   and colours otherwise come from south-end-league.css and the shared tokens.
   CAP19b fills the hosts and adds their content styles here.
   Pointer-hover styles live in the one hover media block at the bottom. */

.league-wrap--scores [hidden] {
  display: none !important;
}

/* —— signed in: the hosts' card —— */
.lscores {
  margin: 0 0 28px;
  padding: clamp(18px, 3.5vw, 28px);
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--rule, #e2dfd2);
  box-shadow: 0 6px 24px rgba(17, 24, 16, 0.06);
}
.lscores__head {
  margin-bottom: 14px;
}
.lscores__eyebrow {
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--green, #1a6b3a);
  margin-bottom: 4px;
}
.lscores__head h2 {
  font-family: "Bebas Neue", "Oswald", sans-serif;
  font-size: clamp(26px, 4.5vw, 36px);
  line-height: 0.95;
  letter-spacing: 0.02em;
  color: var(--ink, #111810);
  margin: 0;
}
.lscores__head h2 span {
  color: var(--green, #1a6b3a);
}

/* Hosts take no space until CAP19b fills them. */
.lscores__season:empty,
.lscores__divisions:empty,
.lscores__weeks:empty,
.lscores__body:empty,
.lscores__byteam:empty {
  display: none;
}
.lscores__season,
.lscores__divisions {
  margin: 0 0 10px;
}
/* CAP19b3: the host holds the This week / Season switch and, beside it, the
   scrolling week strip (it wraps under the switch on a phone). */
.lscores__weeks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 14px 0 10px;
}
.lscores-weekstrip {
  flex: 1 1 240px;
  min-width: 0;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 2px;
  margin: -2px;
}
.lscores-weekstrip::-webkit-scrollbar {
  display: none;
}
.lscores__body {
  display: grid;
  gap: 14px;
}
.lscores__byteam {
  margin: 16px 0 0;
}

/* —— signed out: the sign-in card —— */
.lscores-signin {
  margin: 0 0 28px;
  padding: clamp(18px, 3.5vw, 28px);
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--rule, #e2dfd2);
  box-shadow: 0 6px 24px rgba(17, 24, 16, 0.06);
}
.lscores-signin__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted, #5f5e5a);
}
.league-page a.lscores-signin__cta {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 12px;
  padding: 0 18px;
  border-radius: 9px;
  background: var(--gold, #e8a020);
  color: var(--ink, #111810);
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
}

/* —— CAP19b2: week strip, matchup cards, courts, game rows ——
   The site has one (light) theme; colour-scheme is pinned so a dark-mode
   device still draws the page's native controls light. */
.lscores {
  color-scheme: light;
}

/* week strip (the Schedule's week buttons) */
.lscores-week {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  min-height: 44px;
  min-width: 58px;
  padding: 6px 13px;
  border-radius: 12px;
  border: 1px solid var(--rule, #dde5d9);
  background: #fff;
  color: var(--muted, #5a6357);
  font-family: "Oswald", sans-serif;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.lscores-week__k {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.lscores-week__d {
  font-size: 10.5px;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.lscores-week.is-on {
  background: var(--gold, #e8a020);
  border-color: var(--gold, #e8a020);
  color: var(--ink, #111810);
}
.lscores-week:focus-visible,
.lscores-court__btn:focus-visible,
.lscores-player:focus-visible,
.lscores-mode__btn:focus-visible,
.lscores-byteam__btn:focus-visible,
.lscores-pill:focus-visible,
.lscores-hl__item:focus-visible,
.lscores-share:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring, 0 0 0 3px rgba(26, 107, 58, 0.35));
}

/* notes: loading, empty, error */
.lscores-note {
  margin: 0;
  padding: 18px 16px;
  border-radius: 12px;
  border: 1px dashed var(--rule, #dde5d9);
  background: #faf9f4;
  color: var(--muted, #5a6357);
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}
.lscores-note--error {
  border-color: rgba(192, 57, 43, 0.4);
  color: #8e2a20;
}

/* —— matchup card —— */
.lscores-card {
  position: relative;
  border-radius: 16px;
  background: #faf9f4;
  border: 1px solid #e7e3d4;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(17, 24, 16, 0.05);
}
.lscores-card--mine {
  border: 2px solid var(--gold, #e8a020);
  box-shadow: 0 6px 22px rgba(232, 160, 32, 0.22);
}
.lscores-card__top {
  padding: 12px 14px 12px;
  color: #fff;
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(232, 160, 32, 0.16) 0%, rgba(232, 160, 32, 0) 55%),
    linear-gradient(140deg, var(--green, #1a6b3a) 0%, var(--green-dk, #0f3f22) 100%);
}
.lscores-card__hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.lscores-card__meta {
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.86);
}
.lscores-card__tag {
  flex: 0 0 auto;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--gold, #e8a020);
  color: var(--ink, #111810);
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* scoreboard */
.lscores-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  column-gap: 10px;
}
.lscores-board__side {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.lscores-board__side--away {
  text-align: right;
  align-items: flex-end;
}
.lscores-board__team {
  font-family: "Oswald", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.lscores-board__side.is-lead .lscores-board__team {
  color: var(--gold-lt, #ffd166);
}
.lscores-board__pts {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.82);
}
.lscores-board__mid {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lscores-board__won {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-family: "Bebas Neue", "Oswald", sans-serif;
  font-size: 40px;
  line-height: 0.95;
  letter-spacing: 0.02em;
}
.lscores-board__won b {
  font-weight: 400;
  color: #fff;
}
.lscores-board__won b.is-lead {
  color: var(--gold-lt, #ffd166);
}
.lscores-board__won i {
  font-style: normal;
  font-size: 26px;
  color: rgba(255, 255, 255, 0.55);
}
.lscores-board__cap {
  font-family: "Oswald", sans-serif;
  font-size: 9.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}
.lscores-board__bar {
  grid-column: 1 / -1;
  height: 5px;
  margin: 10px 0 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
  overflow: hidden;
}
.lscores-board__bar span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--gold, #e8a020), var(--gold-lt, #ffd166));
}
.lscores-board__diff {
  grid-column: 1 / -1;
  margin: 6px 0 0;
  font-size: 12px;
  text-align: center;
  color: rgba(255, 255, 255, 0.86);
}
.lscores-board__diff b {
  color: var(--gold-lt, #ffd166);
  font-weight: 700;
}

.lscores-card__lock {
  margin: 0;
  padding: 8px 14px;
  background: #fdf6e3;
  border-bottom: 1px solid #f1e3b8;
  color: #6b4f12;
  font-size: 12.5px;
  font-weight: 600;
}
.lscores-card__lock::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--gold, #e8a020);
  vertical-align: 1px;
}

/* —— courts —— */
.lscores-courts {
  display: grid;
  gap: 8px;
  padding: 10px;
}
.lscores-court {
  border-radius: 12px;
  background: #fff;
  border: 1px solid #ebe7da;
  overflow: hidden;
}
.lscores-court__btn {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px 6px;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 8px 40px 8px 12px;
  position: relative;
  border: 0;
  background: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: var(--ink, #111810);
  -webkit-tap-highlight-color: transparent;
}
.lscores-court__lbl {
  flex: 0 0 auto;
  padding: 3px 8px;
  border-radius: 6px;
  background: #e3f0f7;
  color: #1d5a7a;
  font-family: "Oswald", sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.lscores-court__sep {
  display: none;
}
.lscores-court__sum {
  min-width: 0;
  font-size: 13px;
  color: var(--ink, #111810);
}
.lscores-court__ct {
  display: inline-block;
  margin: 0 3px;
  font-family: "Oswald", sans-serif;
  font-weight: 600;
  color: var(--green, #1a6b3a);
}
.lscores-court__caret {
  position: absolute;
  right: 14px;
  top: 50%;
  width: 9px;
  height: 9px;
  margin-top: -6px;
  border-right: 2px solid var(--muted, #5a6357);
  border-bottom: 2px solid var(--muted, #5a6357);
  transform: rotate(45deg);
  transition: transform 0.2s var(--ease, ease);
}
.lscores-court__btn[aria-expanded="true"] .lscores-court__caret {
  transform: rotate(-135deg);
  margin-top: -2px;
}
.lscores-court--open .lscores-court__btn {
  border-bottom: 1px solid #f0ede2;
}

/* —— game rows ——
   Phone: a box score. The home pair sits on the top line, the away pair under
   it, the score stacked on the right (home over away), the status line below.
   640px and up: one line, home pair · score · away pair. */
.lscores-games {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lscores-game {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  grid-template-areas:
    "n home score"
    "n away score"
    "n status status";
  align-items: center;
  column-gap: 10px;
  row-gap: 2px;
  padding: 10px 12px 10px 10px;
  border-top: 1px solid #f3f1e8;
  transition: background 0.3s;
}
.lscores-game:first-child {
  border-top: 0;
}
.lscores-game__n {
  grid-area: n;
  align-self: start;
  padding-top: 5px;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--muted, #5a6357);
}
.lscores-pair {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  font-size: 13.5px;
  line-height: 1.25;
  color: var(--muted, #5a6357);
}
.lscores-pair--home {
  grid-area: home;
}
.lscores-pair--away {
  grid-area: away;
  margin-top: 2px;
  padding-top: 3px;
  border-top: 1px solid #f1eee4;
}
.lscores-pair--win {
  color: var(--ink, #111810);
  font-weight: 700;
}
.lscores-player {
  font: inherit;
  color: inherit;
  overflow-wrap: break-word;
}
button.lscores-player {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  text-align: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(26, 107, 58, 0.3);
  text-underline-offset: 3px;
}
.lscores-player--plain {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}
.lscores-player--none {
  font-style: italic;
  font-weight: 400;
  color: var(--muted, #5a6357);
}
.lscores-dash {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  color: #a3a89c;
  font-weight: 400;
}

/* the score: neutral, a win AT the target (green/gold), overtime (ink/gold) */
.lscores-score {
  grid-area: score;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.lscores-score__num {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  min-width: 46px;
  padding: 4px 10px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid var(--rule, #dde5d9);
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--muted, #5a6357);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.lscores-score__num b {
  font-weight: 700;
  color: var(--green-dk, #0f3f22);
}
.lscores-score__num i {
  display: block;
  width: 70%;
  height: 1px;
  margin: 1px 0;
  overflow: hidden;
  font-size: 0;
  background: currentColor;
  opacity: 0.35;
}
.lscores-score--target .lscores-score__num {
  background: linear-gradient(150deg, var(--green-lt, #2d9458) 0%, var(--green, #1a6b3a) 45%, var(--green-dk, #0f3f22) 100%);
  border-color: var(--gold, #e8a020);
  box-shadow: 0 0 0 2px rgba(232, 160, 32, 0.4), 0 4px 12px rgba(15, 63, 34, 0.28);
  color: rgba(255, 255, 255, 0.92);
}
.lscores-score--target .lscores-score__num b {
  color: var(--gold-lt, #ffd166);
  font-weight: 700;
}
.lscores-score--ot .lscores-score__num {
  background: linear-gradient(150deg, #3a3020 0%, var(--ink, #111810) 100%);
  border: 1px dashed var(--gold, #e8a020);
  box-shadow: 0 4px 12px rgba(17, 24, 16, 0.32);
  color: rgba(255, 255, 255, 0.92);
}
.lscores-score--ot .lscores-score__num b {
  color: var(--gold, #e8a020);
  font-weight: 700;
}
.lscores-score__meta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.lscores-score__by {
  font-size: 11px;
  color: var(--muted, #5a6357);
  white-space: nowrap;
}
.lscores-ot {
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--gold, #e8a020);
  color: var(--ink, #111810);
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
}
.lscores-score__none {
  display: inline-block;
  max-width: 64px;
  font-size: 11px;
  font-style: italic;
  line-height: 1.25;
  text-align: center;
  color: var(--muted, #5a6357);
}

/* status line under the game (CAP-D48 item 2) */
.lscores-game__status {
  grid-area: status;
  margin: 4px 0 0;
  font-size: 11.5px;
  line-height: 1.3;
  color: var(--muted, #5a6357);
}
.lscores-game__status::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: currentColor;
  vertical-align: 1px;
}
.lscores-status--confirmed,
.lscores-status--verified {
  color: var(--green, #1a6b3a);
}
.lscores-status--waiting {
  color: #7a5a10;
}
.lscores-status--review {
  color: #a5301f;
  font-weight: 600;
}

/* a deep-linked game (?game=) */
.lscores-game--flash {
  background: #fff3cf;
  box-shadow: inset 3px 0 0 var(--gold, #e8a020);
  animation: lscoresFlash 1.1s ease-in-out 3;
}
@keyframes lscoresFlash {
  0%,
  100% {
    background: #fff3cf;
  }
  50% {
    background: #ffe39a;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lscores-game--flash {
    animation: none;
  }
  .lscores-court__caret,
  .lscores-byteam__caret {
    transition: none;
  }
}

/* —— CAP19b3: This week / Season switch (a segmented control) —— */
.lscores-mode {
  flex: 0 0 auto;
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border-radius: 12px;
  background: #f3f1e8;
  border: 1px solid var(--rule, #dde5d9);
}
.lscores-mode__btn {
  min-height: 38px;
  margin: 0;
  padding: 0 14px;
  border: 0;
  border-radius: 9px;
  background: none;
  -webkit-appearance: none;
  appearance: none;
  color: var(--muted, #5a6357);
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.15s, color 0.15s;
}
.lscores-mode__btn.is-on {
  background: var(--green, #1a6b3a);
  color: #fff;
  box-shadow: 0 2px 8px rgba(15, 63, 34, 0.25);
}

/* Season mode: one headed block per week */
.lscores-season {
  display: grid;
  gap: 10px;
}
.lscores-season + .lscores-season {
  margin-top: 6px;
}
.lscores-season__hd {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-family: "Bebas Neue", "Oswald", sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  color: var(--ink, #111810);
}
.lscores-season__hd::after {
  content: "";
  flex: 1 1 auto;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--gold, #e8a020) 0%, rgba(232, 160, 32, 0) 100%);
}
.lscores-season__cards {
  display: grid;
  gap: 14px;
}

/* —— CAP19b3: By team (CAP-D46) —— */
.lscores-byteam {
  border-radius: 16px;
  background: #faf9f4;
  border: 1px solid #e7e3d4;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(17, 24, 16, 0.05);
}
.lscores-byteam__h {
  margin: 0;
}
.lscores-byteam__btn {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 10px 44px 10px 16px;
  position: relative;
  border: 0;
  background: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: var(--ink, #111810);
  -webkit-tap-highlight-color: transparent;
}
.lscores-byteam__title {
  font-family: "Bebas Neue", "Oswald", sans-serif;
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0.04em;
}
.lscores-byteam__caret {
  position: absolute;
  right: 18px;
  top: 50%;
  width: 9px;
  height: 9px;
  margin-top: -6px;
  border-right: 2px solid var(--green, #1a6b3a);
  border-bottom: 2px solid var(--green, #1a6b3a);
  transform: rotate(45deg);
  transition: transform 0.2s var(--ease, ease);
}
.lscores-byteam__btn[aria-expanded="true"] .lscores-byteam__caret {
  transform: rotate(-135deg);
  margin-top: -2px;
}
.lscores-byteam--open .lscores-byteam__btn {
  border-bottom: 1px solid #ebe7da;
}
.lscores-byteam__panel {
  padding: 12px 12px 14px;
}
.lscores-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.lscores-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  margin: 0;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid var(--rule, #dde5d9);
  background: #fff;
  -webkit-appearance: none;
  appearance: none;
  color: var(--ink, #111810);
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.03em;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.lscores-pill--mine {
  border: 2px solid var(--gold, #e8a020);
  padding: 5px 13px;
}
.lscores-pill.is-on {
  background: var(--green, #1a6b3a);
  border-color: var(--green, #1a6b3a);
  color: #fff;
}
.lscores-pill--mine.is-on {
  border-color: var(--gold, #e8a020);
}
.lscores-pill__tag {
  padding: 2px 6px;
  border-radius: 999px;
  background: var(--gold, #e8a020);
  color: var(--ink, #111810);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.lscores-byteam__list {
  display: grid;
  gap: 14px;
  margin-top: 12px;
}
.lscores-byteam__hint {
  margin: 0;
  font-size: 13px;
  color: var(--muted, #5a6357);
}
.lscores-byteam__wk {
  display: grid;
  gap: 8px;
}
.lscores-byteam__wkhd {
  margin: 0;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green, #1a6b3a);
}
.lscores-byteam__mu {
  border-radius: 12px;
  background: #fff;
  border: 1px solid #ebe7da;
  overflow: hidden;
}
.lscores-byteam__vs {
  margin: 0;
  padding: 8px 12px;
  border-bottom: 1px solid #f0ede2;
  background: #fbfaf5;
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink, #111810);
}
/* "C4 G1" needs a wider first column than "G1"; it wraps to two lines. */
.lscores-byteam__games .lscores-game {
  grid-template-columns: 34px minmax(0, 1fr) auto;
}
.lscores-byteam__games .lscores-game__n {
  line-height: 1.35;
}

/* —— CAP19d2: the picked team's player lines (CAP-D48 item 6) ——
   Played, won and win % only. The name column takes the room; the three
   number columns stay narrow so the table fits 375 px without scrolling. */
.lscores-plines {
  border-radius: 12px;
  background: #fff;
  border: 1px solid #ebe7da;
  overflow: hidden;
}
.lscores-plines__hd {
  margin: 0;
  padding: 8px 12px;
  border-bottom: 1px solid #f0ede2;
  background: #fbfaf5;
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink, #111810);
}
.lscores-plines__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 13.5px;
  color: var(--ink, #111810);
}
.lscores-plines__table th,
.lscores-plines__table td {
  padding: 6px 8px;
  border-bottom: 1px solid #f0ede2;
  text-align: right;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
}
.lscores-plines__table th:last-child,
.lscores-plines__table td:last-child {
  padding-right: 12px;
}
.lscores-plines__table tbody tr:last-child th,
.lscores-plines__table tbody tr:last-child td {
  border-bottom: 0;
}
.lscores-plines__table thead th {
  width: 54px;
  padding-top: 7px;
  padding-bottom: 7px;
  font-family: "Oswald", sans-serif;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted, #5a6357);
  white-space: nowrap;
}
.lscores-plines__table thead th.lscores-plines__who {
  width: auto;
}
.lscores-plines__table .lscores-plines__who {
  padding-left: 12px;
  text-align: left;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.lscores-plines__table td:nth-child(3) {
  font-weight: 700;
  color: var(--green-dk, #0f3f22);
}
.lscores-plines__note {
  margin: 0;
  padding: 7px 12px 9px;
  border-top: 1px solid #f0ede2;
  font-size: 12px;
  line-height: 1.4;
  color: var(--muted, #5a6357);
}

/* —— CAP19d1: the week's highlights (CAP-D48 item 5) ——
   A wrapping grid of buttons above the cards; each jumps to its game. The
   label chip and the left rule carry the kind: closest (gold), biggest win
   (green), shutout (ink + gold). */
.lscores-hl {
  display: grid;
  gap: 8px;
}
.lscores-hl__hd {
  margin: 0;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--green, #1a6b3a);
}
.lscores-hl__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 132px), 1fr));
  gap: 8px;
}
.lscores-hl__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px 10px 11px;
  border: 1px solid #e7e3d4;
  border-left: 4px solid var(--gold, #e8a020);
  border-radius: 12px;
  background: #fff;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: 0 2px 8px rgba(17, 24, 16, 0.05);
  color: var(--ink, #111810);
  font: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.lscores-hl__item--biggest {
  border-left-color: var(--green, #1a6b3a);
}
.lscores-hl__item--shutout {
  border-left-color: var(--ink, #111810);
}
.lscores-hl__lbl {
  padding: 2px 7px;
  border-radius: 6px;
  background: #fdf0d2;
  color: #6b4f12;
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.lscores-hl__item--biggest .lscores-hl__lbl {
  background: #e3f1e8;
  color: var(--green-dk, #0f3f22);
}
.lscores-hl__item--shutout .lscores-hl__lbl {
  background: var(--ink, #111810);
  color: var(--gold-lt, #ffd166);
}
.lscores-hl__score {
  font-family: "Oswald", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.1;
  color: var(--green-dk, #0f3f22);
  font-variant-numeric: tabular-nums;
}
.lscores-hl__line {
  max-width: 100%;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.lscores-hl__where {
  font-size: 11.5px;
  color: var(--muted, #5a6357);
}

/* —— CAP19d1: Share result (CAP-D48 item 11), fully scored cards only ——
   The status line holds the helper's "Link copied" text or its one-tap
   fallback button (which takes the same class). */
.lscores-card__ft {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  padding: 0 10px 12px;
}
.lscores-share {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  padding: 0 18px;
  border: 0;
  border-radius: 9px;
  background: var(--gold, #e8a020);
  -webkit-appearance: none;
  appearance: none;
  color: var(--ink, #111810);
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: box-shadow 0.15s;
}
.lscores-share__status {
  min-width: 0;
  margin: 0;
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--green, #1a6b3a);
  overflow-wrap: anywhere;
}

/* Phones: give the game rows the width the nested cards would take. */
@media (max-width: 519px) {
  .lscores {
    padding: 16px 12px;
  }
  .lscores-courts {
    padding: 8px 6px;
  }
}

@media (min-width: 640px) {
  .lscores-game {
    grid-template-columns: 30px minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-areas:
      "n home score away"
      ". status status status";
    column-gap: 14px;
    padding: 10px 16px;
  }
  .lscores-game__n {
    align-self: center;
    padding-top: 0;
  }
  .lscores-pair {
    font-size: 14px;
  }
  .lscores-pair--home {
    align-items: flex-end;
    text-align: right;
  }
  .lscores-pair--away {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }
  .lscores-score {
    gap: 3px;
    min-width: 92px;
  }
  .lscores-score__num {
    flex-direction: row;
    align-items: baseline;
    gap: 4px;
  }
  .lscores-score__num i {
    display: inline;
    width: auto;
    height: auto;
    margin: 0;
    font-size: inherit;
    background: none;
    opacity: 0.6;
  }
  .lscores-score__none {
    max-width: none;
  }
  .lscores-game__status {
    text-align: center;
  }
  .lscores-board__won {
    font-size: 48px;
  }
  .lscores-board__team {
    font-size: 16px;
  }
  .lscores-byteam__games .lscores-game {
    grid-template-columns: 54px minmax(0, 1fr) auto minmax(0, 1fr);
  }
}

@media (hover: hover) and (pointer: fine) {
  .league-page a.lscores-signin__cta:hover {
    color: var(--ink, #111810);
    box-shadow: 0 4px 14px rgba(232, 160, 32, 0.35);
  }
  .lscores-week:hover {
    border-color: var(--green-lt, #2d9458);
  }
  .lscores-week.is-on:hover {
    border-color: var(--gold-hover, #d4911a);
  }
  .lscores-court__btn:hover {
    background: #fbfaf5;
  }
  button.lscores-player:hover {
    color: var(--green, #1a6b3a);
    text-decoration-color: currentColor;
  }
  .lscores-mode__btn:not(.is-on):hover {
    color: var(--ink, #111810);
    background: #fff;
  }
  .lscores-byteam__btn:hover {
    background: #f6f4ec;
  }
  .lscores-pill:not(.is-on):hover {
    border-color: var(--green-lt, #2d9458);
  }
  .lscores-hl__item:hover {
    border-top-color: var(--green-lt, #2d9458);
    border-right-color: var(--green-lt, #2d9458);
    border-bottom-color: var(--green-lt, #2d9458);
    box-shadow: 0 4px 14px rgba(17, 24, 16, 0.1);
  }
  .lscores-share:hover {
    box-shadow: 0 4px 14px rgba(232, 160, 32, 0.35);
  }
}
