.competition-layout {
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.competition-detail {
  display: grid;
  gap: 18px;
}

.competition-detail__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.competition-detail__header h3,
.competition-round__header h4 {
  margin: 0;
}

.competition-standings,
.competition-round {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(98, 64, 28, 0.08);
  box-shadow: 0 14px 28px rgba(16, 68, 180, 0.08);
}

.competition-round__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.competition-rounds {
  display: grid;
  gap: 14px;
}

.competition-fixture-list {
  display: grid;
  gap: 12px;
}

.competition-fixture {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(238, 245, 255, 0.88);
  border: 1px solid rgba(20, 81, 223, 0.1);
}

.competition-fixture.is-complete {
  background: rgba(20, 81, 223, 0.08);
}

.competition-fixture__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.competition-fixture__players {
  display: grid;
  gap: 10px;
}

.competition-fixture__player {
  width: 100%;
  border: 1px solid rgba(20, 81, 223, 0.12);
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink);
  border-radius: 14px;
  padding: 12px 14px;
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease, background 140ms ease;
}

.competition-fixture__player:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(16, 68, 180, 0.1);
  border-color: rgba(20, 81, 223, 0.24);
}

.competition-fixture__player:disabled {
  cursor: default;
  opacity: 0.72;
}

.competition-fixture__player.is-winner {
  background: linear-gradient(135deg, rgba(20, 81, 223, 0.16) 0%, rgba(77, 140, 255, 0.2) 100%);
  border-color: rgba(20, 81, 223, 0.32);
}

.competition-fixture__actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.competition-fixture__reset {
  min-height: 38px;
  padding-inline: 14px;
}

.competition-table-wrap {
  overflow-x: auto;
}

.competition-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.98rem;
}

.competition-table th,
.competition-table td {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid rgba(132, 164, 214, 0.2);
}

.competition-table th {
  color: var(--muted);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.competition-table tbody tr:last-child td {
  border-bottom: 0;
}

body[data-theme="dark"] .competition-standings,
body[data-theme="dark"] .competition-round,
body[data-theme="dark"] .competition-detail,
body[data-theme="dark"] .competition-fixture {
  background: rgba(19, 32, 52, 0.88);
  border-color: rgba(141, 168, 214, 0.18);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.26);
}

body[data-theme="dark"] .competition-fixture.is-complete {
  background: rgba(37, 63, 102, 0.94);
}

body[data-theme="dark"] .competition-fixture__player {
  background: rgba(12, 22, 37, 0.94);
  border-color: rgba(141, 168, 214, 0.18);
  color: var(--text);
}

body[data-theme="dark"] .competition-fixture__player.is-winner {
  background: linear-gradient(135deg, rgba(20, 81, 223, 0.34) 0%, rgba(77, 140, 255, 0.28) 100%);
  border-color: rgba(142, 182, 255, 0.42);
}

body[data-theme="dark"] .competition-table th,
body[data-theme="dark"] .competition-table td {
  border-bottom-color: rgba(141, 168, 214, 0.14);
}

@media (max-width: 1100px) {
  .competition-layout {
    grid-template-columns: 1fr;
  }
}
