.season-selector {
  --season-selector-ink: #17211e;
  --season-selector-muted: #6f7b76;
  --season-selector-forest: #1f5b46;
  --season-selector-mint: #e8f4ee;
  --season-selector-sun: #f6c85f;
  --season-selector-line: rgba(23, 33, 30, 0.12);

  --quag-surface-bg: #fffdf8;
  --quag-surface-strong: rgba(23, 33, 30, 0.07);
  --quag-border-subtle: var(--season-selector-line);

  --quag-state-success-bg: #dff2e8;
  --quag-state-success-border: #dff2e8;
  --quag-state-success-ink: #1d6046;

  --quag-state-neutral-bg: #edf0ef;
  --quag-state-neutral-border: #edf0ef;
  --quag-state-neutral-ink: #5e6965;

  --quag-state-attention-bg: #fff1c8;
  --quag-state-attention-border: #fff1c8;
  --quag-state-attention-ink: #735415;

  --quag-empty-border: rgba(31, 91, 70, 0.3);
  --quag-empty-bg: var(--season-selector-mint);
  --quag-empty-ink: var(--season-selector-muted);
  --quag-empty-title-ink: var(--season-selector-ink);
  --quag-empty-icon-bg: rgba(31, 91, 70, 0.1);
  --quag-empty-icon-ink: var(--season-selector-forest);

  width: min(92vw, 460px) !important;
  color: var(--season-selector-ink);
}

.league-destination--button {
  width: 100%;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.league-destination--button .league-destination__arrow {
  transition: transform 0.2s ease;
}

.league-destination--button:hover .league-destination__arrow,
.league-destination--button:focus-visible .league-destination__arrow {
  transform: translateX(2px);
}

.season-selector__header {
  align-items: flex-start;
  padding: 1.35rem 1.35rem 1rem;
  border-bottom: 1px solid var(--season-selector-line);
}

.season-selector__header > div {
  min-width: 0;
}

.season-selector__header h2 {
  margin: 0;
  font-size: clamp(1.65rem, 5vw, 2.15rem);
  font-weight: 900;
  letter-spacing: -0.035em;
}

.season-selector__header p {
  margin: 0.25rem 0 0;
  color: var(--season-selector-muted);
  overflow-wrap: anywhere;
}

.season-selector__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem 1.1rem 1.35rem;
}

.season-selector__list {
  display: grid;
  gap: 0.65rem;
}

.season-selector__item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  overflow: visible;
  border: 1px solid var(--season-selector-line);
  border-radius: 1rem;
  background: #fffdf8;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.season-selector__item:hover,
.season-selector__item:focus-within {
  border-color: rgba(31, 91, 70, 0.3);
  box-shadow: 0 10px 24px rgba(23, 33, 30, 0.08);
}

.season-selector__item.is-current {
  border-color: rgba(31, 91, 70, 0.42);
  background: linear-gradient(135deg, #fffdf8 0%, var(--season-selector-mint) 100%);
}

.season-selector__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  min-height: 86px;
  padding: 0.9rem 0.75rem 0.9rem 1rem;
  color: inherit;
  text-decoration: none;
}

.season-selector__copy {
  display: grid;
  min-width: 0;
  gap: 0.22rem;
}

.season-selector__copy strong {
  font-size: 1rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.season-selector__copy > span {
  color: var(--season-selector-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.season-selector__menu {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 0.4rem;
  border-left: 1px solid rgba(23, 33, 30, 0.08);
}

.season-selector__menu-button {
  color: #4f5c57;
  font-size: 1rem;
}

.season-selector__menu-button[aria-expanded="true"] {
  color: var(--season-selector-ink);
  background: var(--quag-surface-strong);
}

.season-selector__dropdown-menu {
  max-width: calc(100vw - 2rem);
  min-width: 11rem;
}

.season-selector .quag-action--primary {
  border-color: var(--season-selector-forest);
  color: #fff;
  background: var(--season-selector-forest);
}

.season-selector .quag-action--primary:hover {
  border-color: #184936;
  color: #fff;
  background: #184936;
}

.season-selector__create {
  font-weight: 850;
}

@media (max-width: 575.98px) {
  .season-selector__main {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
    padding-right: 0.55rem;
  }

  .season-selector__main .quag-status {
    justify-self: start;
  }
}
