:root {
  --r1-font-color: #000;
  --r1-background-color: #e9ff70;

  --r2-font-color: #000;
  --r2-background-color: #ffd670;

  --r3-font-color: #000;
  --r3-background-color: #ff9770;

  --r4-font-color: #000;
  --r4-background-color: #ff70a6;

  --r5-font-color: #000;
  --r5-background-color: #70d6ff;

  --not-member-font-color: #fff;
  --not-member-background-color: red;
}

.hidden {
  visibility: hidden !important;
  max-height: 0 !important;
}

body {
  min-height: 100vh;
}

.rotation-card {
  max-width: 640px;
  border: 1px solid #2b3b4d;
  border-radius: 12px;
  box-shadow: none;
}

.rotation-title {
  letter-spacing: 0.03em;
}

.rotation-row {
  min-height: 54px;
  border: 1px solid #1f2e3e;
  border-radius: 6px;
  color: #f5f7fa;
}

.rotation-index {
  width: 2rem;
  color: #9fc2e6;
  font-size: 0.9rem;
}

.rotation-actions {
  gap: 1.25rem;
}

.icon-button {
  background: transparent;
  border: 0;
  color: #f5f7fa;
  cursor: pointer;
  padding: 0.25rem;
  line-height: 1;
}

.icon-button:hover {
  color: #ffb020;
}

.divider {
  border-top: 1px solid #2b3b4d;
}

.rotation-input {
  background: #101b28;
  border-color: #34465b;
  color: #e5eef8;
}

.rotation-input::placeholder {
  color: #9fbce0;
}

.rotation-input:focus {
  border-color: #ffb020;
  box-shadow: 0 0 0 0.125em rgba(255, 176, 32, 0.2);
}

.rotation-player-select {
  min-width: 300px;
}

.is-r1-tag {
  color: var(--r1-font-color);
  background-color: var(--r1-background-color);
}

.is-r2-tag {
  color: var(--r2-font-color);
  background-color: var(--r2-background-color);
}

.is-r3-tag {
  color: var(--r3-font-color);
  background-color: var(--r3-background-color);
}

.is-r4-tag {
  color: var(--r4-font-color);
  background-color: var(--r4-background-color);
}

.is-r5-tag {
  color: var(--r5-font-color);
  background-color: var(--r5-background-color);
}

.is-not-member-tag {
  color: var(--not-member-font-color);
  background-color: var(--not-member-background-color);
  font-weight: bold;
}

.rotation-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.rotation-header-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: nowrap;
}


.dashboard-stat-card {
  min-height: 130px;
}

.dashboard-stat-card .heading {
  letter-spacing: 0.06em;
}

.rank-progress-track {
  height: 0.65rem;
  overflow: hidden;
  border-radius: 999px;
  background: #1f2e3e;
}

.rank-progress-fill {
  height: 100%;
  border-radius: 999px;
  background: #70d6ff;
}

.rotation-preview-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #2b3b4d;
}

.rotation-preview-row:last-child {
  border-bottom: 0;
}

.movement-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #2b3b4d;
}

.movement-row:last-child {
  border-bottom: 0;
}


.player-search-results {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.player-search-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  width: 100%;
  color: inherit;
  border: 1px solid #2b3b4d;
  box-shadow: none;
}

.player-search-card:hover {
  border-color: #70d6ff;
}

.player-search-card-main {
  min-width: 0;
  flex: 1;
}

.player-search-card-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}

.player-search-card-name {
  font-size: 1.15rem;
  font-weight: 700;
  color: #f5f7fa;
}

.player-search-card-meta {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
  color: #b8c7d9;
}

.player-search-card-action {
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .player-search-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .player-search-card-action {
    width: 100%;
  }

  .player-search-card-action .tag {
    width: 100%;
    justify-content: center;
  }
}
