[data-page="tournaments"] {
  display: block;
  min-height: 100%;
}

.tournaments-hub {
  width: min(56rem, 100%);
  margin: 0 auto;
  padding: 1rem;
  animation: tournaments-fade-in 220ms ease-out;
}

.tournament-hub-card,
.tournament-draft {
  width: 100%;
  margin: 0 0 1.5rem;
  overflow: hidden;
  border: 0;
  border-radius: 0.75rem;
  color: #fff;
  background: var(--ps-bg-surface, #171717);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.tournament-hub-card:hover,
.tournament-draft:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.26);
}

.tournament-hub-card {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.tournament-hub-card--group { background: linear-gradient(135deg, #059669, #0f766e, #155e75); }
.tournament-hub-card--skins { background: linear-gradient(135deg, #d97706, #b45309, #92400e); }
.tournament-hub-card--stroke { background: linear-gradient(135deg, #2563eb, #1d4ed8, #1e3a8a); }
.tournament-hub-card--match { margin-bottom: 0; background: linear-gradient(135deg, #166534, #14532d, #052e16); }

.tournament-hub-card__icon {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}

.tournament-hub-card__icon > .ps-icon {
  width: 4rem;
  height: 4rem;
}

.tournament-hub-card--group .tournament-hub-card__icon { color: #a7f3d0; }
.tournament-hub-card--skins .tournament-hub-card__icon { color: #fde047; }
.tournament-hub-card--stroke .tournament-hub-card__icon { color: #bfdbfe; }
.tournament-hub-card--match .tournament-hub-card__icon { color: #a3e635; }

.tournament-hub-card__icon em {
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  color: #78350f;
  background: #fde047;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 700;
}
.tournament-hub-card--stroke .tournament-hub-card__icon em { color: #1e3a8a; background: #bfdbfe; }
.tournament-hub-card--match .tournament-hub-card__icon em { color: #14532d; background: #a3e635; }

.tournament-hub-card h1 {
  margin: 0 0 0.5rem;
  font-family: Poppins, sans-serif;
  font-size: 1.5rem;
}

.tournament-hub-card p {
  max-width: 30rem;
  margin: 0 0 1rem;
  color: rgba(255, 255, 255, 0.78);
}

.tournament-hub-card strong {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: rgba(255, 255, 255, 0.84);
}
.tournament-hub-card--skins strong { color: #fde047; }
.tournament-hub-card--stroke strong { color: #bfdbfe; }
.tournament-hub-card--match strong { color: #bef264; }
.tournament-hub-card strong .ps-icon { width: 1.25rem; height: 1.25rem; }

.tournament-draft {
  padding: 1.5rem;
  display: grid;
  grid-template-columns: 3.5rem 1fr auto;
  align-items: center;
  gap: 1rem;
  border: 2px solid #22c55e;
  background: linear-gradient(135deg, #16a34a, #15803d, #065f46);
  text-align: left;
  animation: tournaments-pulse 2.5s ease-in-out infinite;
}

.tournament-draft__icon {
  width: 3.5rem;
  height: 3.5rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.2);
}
.tournament-draft__icon .ps-icon { width: 2rem; height: 2rem; }
.tournament-draft__copy em,
.tournament-draft__copy b,
.tournament-draft__copy small { display: block; }
.tournament-draft__copy em { width: fit-content; margin-bottom: 0.25rem; padding: 0.125rem 0.5rem; border-radius: 0.25rem; color: #713f12; background: #facc15; font-size: 0.7rem; font-style: normal; font-weight: 800; }
.tournament-draft__copy b { font-size: 1.25rem; }
.tournament-draft__copy small { color: #bbf7d0; }
.tournament-draft__score { text-align: right; }
.tournament-draft__score b, .tournament-draft__score > span { display: block; }
.tournament-draft__score b { font-size: 1.875rem; }
.tournament-draft__score b small { color: #bbf7d0; font-size: 1.125rem; }
.tournament-draft__score > span { color: #bbf7d0; font-size: 0.875rem; }
.tournament-draft__continue { grid-column: 1 / -1; padding: 0.5rem; display: flex; align-items: center; justify-content: center; gap: 0.5rem; border-radius: 0.5rem; color: #dcfce7; background: rgba(255,255,255,.1); font-weight: 600; }
.tournament-draft__continue .ps-icon { width: 1.25rem; height: 1.25rem; }

.tournament-rules-backdrop {
  position: fixed;
  z-index: 100;
  inset: 0;
  padding: 1rem;
  display: grid;
  place-items: center;
  overflow-y: auto;
  background: rgba(0,0,0,.6);
}

.tournament-rules-modal {
  position: relative;
  width: min(32rem, 100%);
  max-height: calc(100vh - 2rem);
  padding: 2rem 1.5rem 1.5rem;
  overflow-y: auto;
  border-radius: 0.75rem;
  color: #1c1917;
  background: #fff;
  box-shadow: 0 24px 55px rgba(0,0,0,.3);
  animation: tournaments-modal-in 180ms ease-out;
}

.tournament-rules-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2rem;
  height: 2rem;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  color: #a8a29e;
  background: transparent;
}
.tournament-rules-close:hover { color: #57534e; background: #f5f5f4; }
.tournament-rules-close .ps-icon { width: 1.25rem; height: 1.25rem; }

.tournament-rules-icon {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #d97706;
  background: #fef3c7;
}
.tournament-rules-modal--stroke .tournament-rules-icon { color: #2563eb; background: #dbeafe; }
.tournament-rules-modal--match .tournament-rules-icon { color: #16a34a; background: #dcfce7; }
.tournament-rules-icon .ps-icon { width: 1.5rem; height: 1.5rem; }

.tournament-rules-modal h2 { margin: 0 0 1.5rem; color: #1c1917; font-family: Poppins, sans-serif; font-size: 1.125rem; text-align: center; }
.tournament-rules-list { display: grid; gap: 0.75rem; }
.tournament-rules-list > div { display: flex; align-items: center; gap: 0.75rem; }
.tournament-rules-list > div > span { width: 2rem; height: 2rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: 0.5rem; color: #d97706; background: #fef3c7; }
.tournament-rules-modal--stroke .tournament-rules-list > div > span { color: #2563eb; background: #dbeafe; }
.tournament-rules-modal--match .tournament-rules-list > div > span { color: #16a34a; background: #dcfce7; }
.tournament-rules-list .ps-icon { width: 1rem; height: 1rem; }
.tournament-rules-list p { margin: 0; color: #44403c; font-size: 0.875rem; }

.tournament-rules-modal footer { margin-top: 1.5rem; display: grid; gap: 0.75rem; }
.tournament-rules-modal footer button { min-height: 3rem; padding: 0.7rem 1rem; display: flex; align-items: center; justify-content: center; gap: 0.5rem; border: 0; border-radius: 0.5rem; color: #fff; background: #d97706; font-weight: 600; }
.tournament-rules-modal--stroke footer button:first-child { background: #2563eb; }
.tournament-rules-modal--match footer button:first-child { background: #15803d; }
.tournament-rules-modal footer button:last-child { color: #78716c; background: transparent; }
.tournament-rules-modal footer button .ps-icon { width: 1.25rem; height: 1.25rem; }

@keyframes tournaments-fade-in { from { opacity: 0; transform: translateY(0.4rem); } }
@keyframes tournaments-modal-in { from { opacity: 0; transform: scale(.97); } }
@keyframes tournaments-pulse { 50% { box-shadow: 0 12px 30px rgba(34,197,94,.2); } }

@media (max-width: 520px) {
  .tournaments-hub { padding: 0.75rem; }
  .tournament-hub-card { padding: 1.5rem 1rem; }
  .tournament-hub-card__icon > .ps-icon { width: 3.25rem; height: 3.25rem; }
  .tournament-hub-card h1 { font-size: 1.25rem; }
  .tournament-hub-card p { font-size: 0.875rem; }
  .tournament-draft { padding: 1.1rem; grid-template-columns: 3rem 1fr; }
  .tournament-draft__icon { width: 3rem; height: 3rem; }
  .tournament-draft__score { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: center; gap: 0.5rem; text-align: center; }
  .tournament-rules-modal { padding-right: 1.1rem; padding-left: 1.1rem; }
}

/* Tournament list and setup flows */
[data-page="match-play"],
[data-page="skins"],
[data-page="stroke-play"],
ps-tournament-event-detail {
  display: block;
  min-height: 100%;
}

.tournament-events,
.tournament-detail {
  width: min(64rem, 100%);
  margin: 0 auto;
  padding: 1rem;
  color: var(--ps-text, #e7e5e4);
  animation: tournaments-fade-in 220ms ease-out;
}

.tournament-events-header,
.tournament-detail-header {
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.tournament-events-header > button:first-child,
.tournament-detail-header > button:first-child {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--ps-border, #44403c);
  border-radius: 999px;
  color: var(--ps-text, #e7e5e4);
  background: var(--ps-surface, #1c1917);
}

.tournament-events-header .ps-icon,
.tournament-detail-header .ps-icon {
  width: 1.2rem;
  height: 1.2rem;
}

.tournament-events-header h1 {
  min-width: 0;
  margin: 0 auto 0 0;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--ps-text, #f5f5f4);
  font-family: Poppins, sans-serif;
  font-size: clamp(1.25rem, 3vw, 1.7rem);
}

.tournament-events-header h1 .ps-icon {
  width: 1.6rem;
  height: 1.6rem;
  color: #f59e0b;
}

.tournament-events--stroke .tournament-events-header h1 .ps-icon { color: #60a5fa; }
.tournament-events--match .tournament-events-header h1 .ps-icon { color: #4ade80; }

.tournament-create-button,
.tournament-section-heading > button,
.tournament-empty-panel button,
.tournament-empty-inline button,
.tournament-primary-action button,
.tournament-join-button,
.tournament-detail-state button,
.tournament-sync-button {
  min-height: 2.65rem;
  padding: 0.65rem 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border: 0;
  border-radius: 0.55rem;
  color: #fff;
  background: #d97706;
  font-weight: 700;
}

.tournament-events--stroke .tournament-create-button,
.tournament-detail--stroke .tournament-section-heading > button,
.tournament-detail--stroke .tournament-empty-panel button,
.tournament-detail--stroke .tournament-primary-action button,
.tournament-detail--stroke .tournament-join-button { background: #2563eb; }

.tournament-events--match .tournament-create-button,
.tournament-detail--match .tournament-section-heading > button,
.tournament-detail--match .tournament-empty-panel button,
.tournament-detail--match .tournament-primary-action button,
.tournament-detail--match .tournament-join-button { background: #15803d; }

.tournament-create-button .ps-icon,
.tournament-section-heading > button .ps-icon,
.tournament-primary-action button .ps-icon,
.tournament-join-button .ps-icon,
.tournament-sync-button .ps-icon {
  width: 1.1rem;
  height: 1.1rem;
}

.tournament-events-state {
  min-height: 20rem;
  padding: 2rem;
  display: grid;
  place-items: center;
  align-content: center;
  border: 1px solid var(--ps-border, #44403c);
  border-radius: 0.8rem;
  background: var(--ps-surface, #1c1917);
  text-align: center;
}

.tournament-events-state--empty > .ps-icon {
  width: 4rem;
  height: 4rem;
  margin-bottom: 1rem;
  color: #f59e0b;
}

.tournament-events--stroke .tournament-events-state--empty > .ps-icon { color: #60a5fa; }
.tournament-events--match .tournament-events-state--empty > .ps-icon { color: #4ade80; }
.tournament-events-state h2 { margin: 0 0 0.5rem; color: var(--ps-text, #f5f5f4); }
.tournament-events-state p { max-width: 35rem; margin: 0 0 1.25rem; color: var(--ps-text-muted, #a8a29e); }
.tournament-events-state button { min-height: 2.75rem; padding: 0.7rem 1rem; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; border: 0; border-radius: 0.55rem; color: #fff; background: #d97706; font-weight: 700; line-height: 1.2; text-align: center; }
.tournament-events--stroke .tournament-events-state button { background: #2563eb; }
.tournament-events--match .tournament-events-state button { background: #15803d; }

.tournament-event-list {
  display: grid;
  gap: 0.9rem;
}

.tournament-event-card {
  width: 100%;
  padding: 1rem;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.9rem;
  border: 1px solid var(--ps-border, #44403c);
  border-radius: 0.75rem;
  color: var(--ps-text, #f5f5f4);
  background: var(--ps-surface, #1c1917);
  text-align: left;
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.tournament-event-card:hover {
  border-color: #f59e0b;
  transform: translateY(-1px);
  box-shadow: 0 10px 25px rgba(0,0,0,.16);
}

.tournament-events--stroke .tournament-event-card:hover { border-color: #3b82f6; }
.tournament-events--match .tournament-event-card:hover { border-color: #22c55e; }

.tournament-event-card__icon {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 0.6rem;
  color: #f59e0b;
  background: rgba(245, 158, 11, .14);
}
.tournament-events--stroke .tournament-event-card__icon { color: #60a5fa; background: rgba(59,130,246,.14); }
.tournament-events--match .tournament-event-card__icon { color: #4ade80; background: rgba(34,197,94,.14); }
.tournament-event-card__icon .ps-icon { width: 1.45rem; height: 1.45rem; }
.tournament-event-card__copy,
.tournament-event-card__status { min-width: 0; display: grid; gap: 0.2rem; }
.tournament-event-card__copy b { overflow: hidden; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.tournament-event-card__copy small { color: var(--ps-text-muted, #a8a29e); }
.tournament-event-card__copy em { width: fit-content; padding: 0.15rem 0.4rem; border-radius: 999px; color: #93c5fd; background: rgba(59,130,246,.14); font-size: .7rem; font-style: normal; }
.tournament-event-card__status { grid-template-columns: auto auto auto; align-items: center; gap: .55rem; text-align: right; }
.tournament-event-card__status b { color: #4ade80; }
.tournament-event-card__status em { padding: .2rem .5rem; border-radius: 999px; color: #fbbf24; background: rgba(245,158,11,.14); font-size: .72rem; font-style: normal; }
.tournament-event-card.is-active .tournament-event-card__status em { color: #4ade80; background: rgba(34,197,94,.14); }
.tournament-event-card.is-completed .tournament-event-card__status em { color: #a8a29e; background: rgba(120,113,108,.18); }
.tournament-event-card__status .ps-icon { width: 1.1rem; height: 1.1rem; color: var(--ps-text-muted, #a8a29e); }

.tournament-create-backdrop,
.tournament-detail-backdrop {
  position: fixed;
  z-index: 120;
  inset: 0;
  padding: 1rem;
  display: grid;
  place-items: center;
  overflow-y: auto;
  background: rgba(0, 0, 0, .72);
}

.tournament-create-modal,
.tournament-detail-modal {
  width: min(38rem, 100%);
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  border: 1px solid var(--ps-border, #44403c);
  border-radius: .8rem;
  color: var(--ps-text, #f5f5f4);
  background: var(--ps-surface, #1c1917);
  box-shadow: 0 25px 70px rgba(0,0,0,.45);
  animation: tournaments-modal-in 180ms ease-out;
}

.tournament-create-modal > header,
.tournament-detail-modal > header {
  padding: 1.1rem 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  border-bottom: 1px solid var(--ps-border, #44403c);
}
.tournament-create-modal > header h2,
.tournament-detail-modal > header h2 { margin: 0; display: flex; align-items: center; gap: .55rem; font-family: Poppins, sans-serif; font-size: 1.15rem; }
.tournament-create-modal > header h2 .ps-icon { width: 1.25rem; height: 1.25rem; color: #f59e0b; }
.tournament-create-modal > header > button,
.tournament-detail-modal > header > button { width: 2rem; height: 2rem; margin-left: auto; padding: 0; display: grid; place-items: center; border: 0; border-radius: 999px; color: var(--ps-text-muted, #a8a29e); background: transparent; }
.tournament-create-modal > header > button:hover,
.tournament-detail-modal > header > button:hover { color: var(--ps-text, #fff); background: rgba(120,113,108,.18); }
.tournament-create-modal > header > button .ps-icon,
.tournament-detail-modal > header > button .ps-icon { width: 1.15rem; height: 1.15rem; }
.tournament-detail-modal > header p { margin: .25rem 0 0; color: var(--ps-text-muted, #a8a29e); font-size: .85rem; }

.tournament-create-modal form,
.tournament-detail-modal form,
.tournament-course-step,
.tournament-prize-step {
  padding: 1.25rem;
  display: grid;
  gap: 1rem;
}

.tournament-create-modal label,
.tournament-detail-modal label,
.tournament-create-modal legend {
  color: var(--ps-text, #e7e5e4);
  font-size: .82rem;
  font-weight: 650;
}

.tournament-create-modal input,
.tournament-create-modal textarea,
.tournament-create-modal select,
.tournament-detail-modal input,
.tournament-detail-modal select {
  width: 100%;
  min-height: 2.65rem;
  margin-top: .4rem;
  padding: .6rem .7rem;
  border: 1px solid var(--ps-border, #57534e);
  border-radius: .45rem;
  color: var(--ps-text, #f5f5f4);
  background: var(--ps-input, #292524);
  font: inherit;
}
.tournament-create-modal textarea { min-height: 5rem; resize: vertical; }
.tournament-create-modal input:focus,
.tournament-create-modal textarea:focus,
.tournament-create-modal select:focus,
.tournament-detail-modal input:focus,
.tournament-detail-modal select:focus { outline: 2px solid rgba(34,197,94,.35); border-color: #22c55e; }
.tournament-create-modal fieldset { margin: 0; padding: 0; border: 0; }
.tournament-create-modal legend { margin-bottom: .55rem; }
.tournament-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }

.tournament-format-note { padding: .8rem 1rem; border: 1px solid rgba(34,197,94,.28); border-radius: .55rem; color: #bbf7d0; background: rgba(21,128,61,.12); font-size: .82rem; }
.tournament-format-note b { color: #4ade80; }
.tournament-format-note ul { margin: .45rem 0 0; padding-left: 1.1rem; line-height: 1.6; }

.tournament-choice-row,
.tournament-fee-options,
.tournament-name-options,
.tournament-payout-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
}
.tournament-fee-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tournament-name-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tournament-choice-row button,
.tournament-fee-options button,
.tournament-name-options button,
.tournament-payout-options button { min-height: 2.55rem; padding: .55rem; border: 1px solid var(--ps-border, #57534e); border-radius: .45rem; color: var(--ps-text-muted, #a8a29e); background: var(--ps-input, #292524); }
.tournament-choice-row button { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; line-height: 1.2; text-align: center; }
.tournament-fee-options button,
.tournament-name-options button { display: grid; place-items: center; line-height: 1.2; text-align: center; }
.tournament-payout-options button { display: grid; gap: .15rem; text-align: left; }
.tournament-payout-options small { color: var(--ps-text-muted, #a8a29e); }
.tournament-choice-row button.is-selected,
.tournament-fee-options button.is-selected,
.tournament-name-options button.is-selected,
.tournament-payout-options button.is-selected { border-color: #22c55e; color: #dcfce7; background: rgba(21,128,61,.2); box-shadow: inset 0 0 0 1px rgba(34,197,94,.25); }
.tournament-switch-field { padding: .8rem; display: flex; align-items: center; gap: 1rem; border: 1px solid var(--ps-border, #44403c); border-radius: .55rem; background: rgba(120,113,108,.08); }
.tournament-switch-field span { min-width: 0; flex: 1; }
.tournament-switch-field b,
.tournament-switch-field small { display: block; }
.tournament-switch-field small { margin-top: .2rem; color: var(--ps-text-muted, #a8a29e); font-weight: 400; }
.tournament-switch-field input { width: 2.8rem; min-height: 1.4rem; margin: 0; }
.tournament-date-field { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: .45rem; }
.tournament-date-field > .ps-icon { width: 1.1rem; height: 1.1rem; color: #f59e0b; }
.tournament-date-field input { grid-column: 1 / -1; }
.tournament-entry-fee legend { display: flex; align-items: center; gap: .4rem; }
.tournament-entry-fee legend .ps-icon,
.tournament-choice-row button .ps-icon { width: 1rem; height: 1rem; vertical-align: middle; }
.tournament-prize-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.tournament-prize-choice button { min-height: 6rem; padding: .7rem; display: grid; place-items: center; align-content: center; gap: .2rem; border: 1px solid var(--ps-border, #57534e); border-radius: .55rem; color: var(--ps-text-muted, #a8a29e); background: var(--ps-input, #292524); }
.tournament-prize-choice button.is-selected { border-color: #f59e0b; color: #fef3c7; background: rgba(217,119,6,.15); }
.tournament-prize-choice .ps-icon { width: 1.35rem; height: 1.35rem; }
.tournament-prize-choice small { color: var(--ps-text-muted, #a8a29e); }
.tournament-selected-course { margin: 0; padding: .65rem .75rem; border-radius: .45rem; color: #bbf7d0; background: rgba(21,128,61,.12); font-size: .82rem; }
.tournament-player-stepper { display: flex; align-items: center; justify-content: center; gap: 1rem; }
.tournament-player-stepper button { width: 2.25rem; height: 2.25rem; display: grid; place-items: center; padding: 0; border: 1px solid var(--ps-border, #57534e); border-radius: 999px; color: var(--ps-text, #fff); background: var(--ps-input, #292524); font-size: 1.15rem; line-height: 1; }
.tournament-player-stepper strong { min-width: 2rem; color: #fbbf24; font-size: 1.3rem; text-align: center; }
.tournament-prize-preview { padding: .8rem; display: grid; gap: .45rem; border: 1px solid rgba(245,158,11,.25); border-radius: .55rem; background: rgba(217,119,6,.08); }
.tournament-prize-preview span,
.tournament-prize-preview > strong { display: flex; justify-content: space-between; gap: 1rem; color: var(--ps-text-muted, #a8a29e); font-size: .8rem; }
.tournament-prize-preview > strong { padding-top: .45rem; border-top: 1px solid rgba(245,158,11,.2); color: #fbbf24; font-size: .9rem; }
.tournament-prize-note { margin: 0; color: var(--ps-text-muted, #a8a29e); font-size: .75rem; line-height: 1.45; }

.tournament-create-modal form > footer,
.tournament-detail-modal form > footer,
.tournament-delete-confirm footer {
  margin: .25rem -1.25rem -1.25rem;
  padding: 1rem 1.25rem;
  display: flex;
  justify-content: flex-end;
  gap: .65rem;
  border-top: 1px solid var(--ps-border, #44403c);
}
.tournament-create-modal footer button,
.tournament-detail-modal footer button,
.tournament-delete-confirm footer button { min-height: 2.55rem; padding: .6rem .9rem; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; border: 1px solid var(--ps-border, #57534e); border-radius: .45rem; color: var(--ps-text, #e7e5e4); background: transparent; font-weight: 650; line-height: 1.25; text-align: center; }
.tournament-create-modal footer button > span:not(.ps-spinner),
.tournament-detail-modal footer button > span:not(.ps-spinner) { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }
.tournament-create-modal footer button.is-primary,
.tournament-detail-modal footer button.is-primary { border-color: #16a34a; color: #fff; background: #16a34a; }
.tournament-detail-modal footer button.is-danger,
.tournament-delete-confirm footer button.is-danger { border-color: #dc2626; color: #fff; background: #dc2626; }
.tournament-create-modal button:disabled,
.tournament-detail-modal button:disabled { cursor: not-allowed; opacity: .5; }

.tournament-readonly-field {
  padding: .7rem .75rem;
  display: grid;
  gap: .2rem;
  border: 1px solid var(--ps-border, #57534e);
  border-radius: .45rem;
  background: rgba(120,113,108,.08);
}
.tournament-readonly-field span { color: var(--ps-text-muted, #a8a29e); font-size: .72rem; }
.tournament-readonly-field strong { color: var(--ps-text, #f5f5f4); font-size: .9rem; }

.tournament-join-confirm { padding: 1.25rem; display: grid; gap: 1rem; }
.tournament-join-payment { padding: 1rem; border: 1px solid rgba(34,197,94,.3); border-radius: .65rem; background: rgba(21,128,61,.1); }
.tournament-join-payment.is-coins { border-color: rgba(245,158,11,.32); background: rgba(217,119,6,.1); }
.tournament-join-payment > header { display: flex; align-items: center; gap: .75rem; }
.tournament-join-payment > header > span { width: 2.6rem; height: 2.6rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: .55rem; color: #4ade80; background: rgba(34,197,94,.15); }
.tournament-join-payment.is-coins > header > span { color: #fbbf24; background: rgba(245,158,11,.15); }
.tournament-join-payment > header .ps-icon { width: 1.35rem; height: 1.35rem; }
.tournament-join-payment h3,
.tournament-join-payment p { margin: 0; }
.tournament-join-payment h3 { color: #4ade80; font-size: .95rem; }
.tournament-join-payment.is-coins h3 { color: #fbbf24; }
.tournament-join-payment p { margin-top: .15rem; color: var(--ps-text-muted, #a8a29e); font-size: .75rem; }
.tournament-join-payment dl { margin: .8rem 0 0; }
.tournament-join-payment dl > div { padding: .65rem 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(255,255,255,.09); }
.tournament-join-payment dt { color: var(--ps-text-muted, #a8a29e); font-size: .8rem; }
.tournament-join-payment dd { margin: 0; color: #4ade80; font-size: 1rem; font-weight: 800; }
.tournament-join-payment.is-coins dd { color: #fbbf24; }
.tournament-join-payment dd.is-short { color: #f87171; }
.tournament-join-payment aside { margin-top: .35rem; padding: .7rem; display: flex; align-items: flex-start; gap: .55rem; border: 1px solid rgba(239,68,68,.28); border-radius: .5rem; color: #fca5a5; background: rgba(220,38,38,.1); }
.tournament-join-payment aside > .ps-icon { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.tournament-join-payment aside b { display: block; font-size: .8rem; }
.tournament-join-payment aside p { margin-top: .15rem; color: #fca5a5; font-size: .72rem; }
.tournament-join-explainer { padding: .8rem; border-radius: .5rem; background: rgba(120,113,108,.09); }
.tournament-join-explainer b { color: var(--ps-text, #f5f5f4); font-size: .8rem; }
.tournament-join-explainer p { margin: .3rem 0 0; color: var(--ps-text-muted, #a8a29e); font-size: .74rem; line-height: 1.55; }
.tournament-join-confirm > footer { margin: .25rem -1.25rem -1.25rem; padding: 1rem 1.25rem; display: flex; justify-content: flex-end; gap: .65rem; border-top: 1px solid var(--ps-border, #44403c); }
.tournament-join-confirm > footer button { min-height: 2.55rem; padding: .6rem .9rem; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; flex: 1; border: 1px solid var(--ps-border, #57534e); border-radius: .45rem; color: var(--ps-text, #e7e5e4); background: transparent; font-weight: 650; }
.tournament-join-confirm > footer button.is-primary { border-color: #16a34a; color: #fff; background: #16a34a; }
.tournament-join-confirm > footer button.is-primary.is-coins { border-color: #d97706; background: #d97706; }
.tournament-join-confirm > footer .ps-icon { width: 1rem; height: 1rem; }

.tournament-course-step > label { position: relative; }
.tournament-course-step > label > .ps-icon { position: absolute; z-index: 1; left: .7rem; top: .8rem; width: 1rem; height: 1rem; color: var(--ps-text-muted, #a8a29e); }
.tournament-course-step > label input { margin: 0; padding-left: 2.2rem; }
.tournament-course-find { min-height: 2.55rem; padding: .55rem .8rem; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; border: 1px solid #16a34a; border-radius: .45rem; color: #fff; background: #16a34a; font-weight: 750; }
.tournament-course-find .ps-icon { width: 1rem; height: 1rem; }
.tournament-course-help,
.tournament-course-loading { min-height: 8rem; margin: 0; display: flex; align-items: center; justify-content: center; gap: .6rem; color: var(--ps-text-muted, #a8a29e); text-align: center; }
.tournament-course-help { flex-direction: column; }
.tournament-course-help > p { margin: 0; }
.tournament-recent-courses { width: 100%; display: grid; gap: .45rem; text-align: left; }
.tournament-recent-courses > p { margin: 0; color: var(--ps-text, #e7e5e4); font-size: .75rem; font-weight: 750; }
.tournament-recent-courses > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.tournament-recent-courses button { min-height: 2.25rem; padding: .4rem .65rem; border: 1px solid rgba(34,197,94,.32); border-radius: .4rem; color: #bbf7d0; background: rgba(21,128,61,.12); }
.tournament-course-results { display: grid; gap: .5rem; }
.tournament-course-results button { padding: .75rem; display: flex; align-items: center; gap: .65rem; border: 1px solid var(--ps-border, #44403c); border-radius: .5rem; color: var(--ps-text, #e7e5e4); background: var(--ps-input, #292524); text-align: left; }
.tournament-course-results button:hover { border-color: #22c55e; }
.tournament-course-results button .ps-icon { width: 1.2rem; height: 1.2rem; color: #4ade80; }
.tournament-course-results button span { display: grid; gap: .15rem; }
.tournament-course-results button small { color: var(--ps-text-muted, #a8a29e); }
.tournament-course-results button > .ps-icon:last-child { margin-left: auto; color: var(--ps-text-muted, #a8a29e); }
.tournament-course-confirm,
.tournament-course-nines { padding: 1rem; display: grid; gap: .65rem; border: 1px solid rgba(34,197,94,.3); border-radius: .65rem; background: rgba(21,128,61,.1); }
.tournament-course-confirm > .ps-icon { width: 1.5rem; height: 1.5rem; color: #4ade80; }
.tournament-course-confirm h3,
.tournament-course-confirm p,
.tournament-course-nines h3,
.tournament-course-nines p { margin: 0; }
.tournament-course-confirm h3,
.tournament-course-nines h3 { color: #bbf7d0; font-size: 1rem; }
.tournament-course-confirm p,
.tournament-course-nines p { color: var(--ps-text-muted, #a8a29e); font-size: .75rem; }
.tournament-course-confirm dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
.tournament-course-confirm dl > div { padding: .55rem; display: flex; justify-content: space-between; border-radius: .4rem; background: rgba(28,25,23,.65); }
.tournament-course-confirm dt { color: var(--ps-text-muted, #a8a29e); font-size: .7rem; }
.tournament-course-confirm dd { margin: 0; color: #4ade80; font-weight: 800; }
.tournament-course-confirm > div,
.tournament-course-nines > div { display: flex; justify-content: flex-end; gap: .5rem; }
.tournament-course-confirm button,
.tournament-course-nines button { min-height: 2.4rem; padding: .5rem .75rem; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; border: 1px solid var(--ps-border, #57534e); border-radius: .4rem; color: var(--ps-text, #e7e5e4); background: transparent; line-height: 1.2; text-align: center; }
.tournament-course-confirm button.is-primary,
.tournament-course-nines button.is-primary { border-color: #16a34a; color: #fff; background: #16a34a; }
.tournament-course-nines label { display: grid; gap: .3rem; }
.tournament-course-nines select { margin: 0; }
.tournament-course-step footer,
.tournament-prize-step footer { display: flex; justify-content: space-between; gap: .7rem; }
.tournament-course-step footer button,
.tournament-prize-step footer button { min-height: 2.5rem; padding: .6rem .85rem; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; border: 1px solid var(--ps-border, #57534e); border-radius: .45rem; color: var(--ps-text, #e7e5e4); background: transparent; line-height: 1.2; text-align: center; }

/* Tournament detail */
.tournament-detail-state {
  min-height: 26rem;
  padding: 2rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .7rem;
  color: var(--ps-text-muted, #a8a29e);
  text-align: center;
}
.tournament-detail-state > .ps-icon { width: 3rem; height: 3rem; color: #ef4444; }
.tournament-detail-state h2,
.tournament-detail-state p { margin: 0; }

.tournament-detail-header > div { min-width: 0; flex: 1; }
.tournament-detail-header small { color: #4ade80; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tournament-detail--skins .tournament-detail-header small { color: #fbbf24; }
.tournament-detail--stroke .tournament-detail-header small { color: #60a5fa; }
.tournament-detail-header h1 { margin: .12rem 0 0; overflow: hidden; color: var(--ps-text, #fff); font-family: Poppins, sans-serif; font-size: clamp(1.3rem, 4vw, 1.85rem); text-overflow: ellipsis; white-space: nowrap; }
.tournament-detail-header p { margin: .15rem 0 0; overflow: hidden; color: var(--ps-text-muted, #a8a29e); font-size: .85rem; text-overflow: ellipsis; white-space: nowrap; }
.tournament-status { padding: .3rem .6rem; flex: 0 0 auto; border-radius: 999px; color: #fbbf24; background: rgba(245,158,11,.16); font-size: .73rem; font-weight: 750; }
.tournament-status.is-active { color: #4ade80; background: rgba(34,197,94,.16); }
.tournament-status.is-completed { color: #d6d3d1; background: rgba(120,113,108,.2); }

.tournament-detail-summary {
  margin-bottom: 1rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--ps-border, #44403c);
  border-radius: .7rem;
  background: var(--ps-surface, #1c1917);
}
.tournament-detail-summary > div { min-width: 0; padding: .9rem; display: grid; grid-template-columns: auto 1fr; column-gap: .55rem; border-right: 1px solid var(--ps-border, #44403c); }
.tournament-detail-summary > div:last-child { border-right: 0; }
.tournament-detail-summary span { grid-row: 1 / 3; width: 2rem; height: 2rem; display: grid; place-items: center; align-self: center; border-radius: .45rem; color: #4ade80; background: rgba(34,197,94,.12); }
.tournament-detail--skins .tournament-detail-summary span { color: #fbbf24; background: rgba(245,158,11,.12); }
.tournament-detail--stroke .tournament-detail-summary span { color: #60a5fa; background: rgba(59,130,246,.12); }
.tournament-detail-summary span .ps-icon { width: 1rem; height: 1rem; }
.tournament-detail-summary b { min-width: 0; overflow: hidden; color: var(--ps-text, #fff); font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.tournament-detail-summary small { color: var(--ps-text-muted, #a8a29e); font-size: .7rem; }
.tournament-join-button { width: 100%; margin: 0 0 1rem; }

.tournament-detail-tabs {
  margin-bottom: 1rem;
  display: flex;
  overflow-x: auto;
  border-bottom: 1px solid var(--ps-border, #44403c);
  scrollbar-width: none;
}
.tournament-detail-tabs::-webkit-scrollbar { display: none; }
.tournament-detail-tabs button { min-width: max-content; padding: .75rem .9rem; border: 0; border-bottom: 2px solid transparent; color: var(--ps-text-muted, #a8a29e); background: transparent; font-weight: 650; }
.tournament-detail-tabs button:hover { color: var(--ps-text, #e7e5e4); }
.tournament-detail-tabs button.is-active { border-bottom-color: #22c55e; color: #4ade80; }
.tournament-detail--skins .tournament-detail-tabs button.is-active { border-bottom-color: #f59e0b; color: #fbbf24; }
.tournament-detail--stroke .tournament-detail-tabs button.is-active { border-bottom-color: #3b82f6; color: #60a5fa; }
.tournament-detail__body { min-height: 18rem; }

.tournament-section-heading { margin-bottom: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.tournament-section-heading h2 { margin: 0; color: var(--ps-text, #fff); font-size: 1.1rem; }
.tournament-section-heading p { margin: .2rem 0 0; color: var(--ps-text-muted, #a8a29e); font-size: .82rem; }
.tournament-section-heading > button { flex: 0 0 auto; }

.tournament-player-grid,
.tournament-team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.tournament-player-card,
.tournament-team-card { min-width: 0; padding: .8rem; display: flex; align-items: center; gap: .7rem; border: 1px solid var(--ps-border, #44403c); border-radius: .6rem; background: var(--ps-surface, #1c1917); }
.tournament-player-avatar { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: 999px; color: #dcfce7; background: #166534; font-size: .82rem; font-weight: 800; }
.tournament-player-avatar img { width: 100%; height: 100%; object-fit: cover; }
.tournament-player-card > div,
.tournament-team-card > div { min-width: 0; display: grid; gap: .12rem; flex: 1; }
.tournament-player-card b,
.tournament-team-card b { overflow: hidden; color: var(--ps-text, #f5f5f4); font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.tournament-player-card small,
.tournament-team-card small { overflow: hidden; color: var(--ps-text-muted, #a8a29e); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.tournament-player-card em { width: fit-content; margin-top: .1rem; color: #4ade80; font-size: .7rem; font-style: normal; }
.tournament-card-actions { display: flex; gap: .25rem; }
.tournament-card-actions button,
.tournament-team-card > button { width: 2rem; height: 2rem; padding: 0; display: grid; place-items: center; border: 0; border-radius: .4rem; color: var(--ps-text-muted, #a8a29e); background: transparent; }
.tournament-card-actions button:hover { color: #f5f5f4; background: rgba(120,113,108,.18); }
.tournament-card-actions button:last-child:hover,
.tournament-team-card > button:hover { color: #f87171; background: rgba(239,68,68,.12); }
.tournament-card-actions .ps-icon,
.tournament-team-card > button .ps-icon { width: 1rem; height: 1rem; }
.tournament-teams-section,
.tournament-individual-standings { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--ps-border, #44403c); }
.tournament-team-card > span { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: .5rem; color: #4ade80; background: rgba(34,197,94,.12); }
.tournament-team-card > span .ps-icon { width: 1.2rem; height: 1.2rem; }

.tournament-empty-panel,
.tournament-empty-inline { padding: 2.5rem 1rem; display: grid; place-items: center; border: 1px dashed var(--ps-border, #57534e); border-radius: .65rem; color: var(--ps-text-muted, #a8a29e); text-align: center; }
.tournament-empty-inline { padding: 1.25rem; }
.tournament-empty-panel > .ps-icon { width: 2.5rem; height: 2.5rem; margin-bottom: .6rem; color: #78716c; }
.tournament-empty-panel h3,
.tournament-empty-panel p { margin: 0; }
.tournament-empty-panel h3 { color: var(--ps-text, #e7e5e4); }
.tournament-empty-panel p { margin: .25rem 0 1rem; font-size: .82rem; }
.tournament-primary-action { margin-top: 1.2rem; padding: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid rgba(34,197,94,.25); border-radius: .65rem; background: rgba(21,128,61,.1); }
.tournament-primary-action p { margin: 0; color: #bbf7d0; font-size: .82rem; }

.tournament-score-list { display: grid; gap: .55rem; }
.tournament-score-list article { padding: .75rem .85rem; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: .8rem; border: 1px solid var(--ps-border, #44403c); border-radius: .55rem; background: var(--ps-surface, #1c1917); }
.tournament-score-list article > div { min-width: 0; display: grid; gap: .1rem; }
.tournament-score-list article b { overflow: hidden; color: var(--ps-text, #f5f5f4); text-overflow: ellipsis; white-space: nowrap; }
.tournament-score-list article small { color: var(--ps-text-muted, #a8a29e); font-size: .72rem; }
.tournament-score-list article strong { color: #4ade80; font-size: 1.2rem; }
.tournament-score-list article button { min-height: 2.2rem; padding: .45rem .7rem; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; border: 1px solid #16a34a; border-radius: .4rem; color: #4ade80; background: rgba(21,128,61,.12); font-weight: 650; line-height: 1.2; text-align: center; }
.tournament-detail--skins .tournament-score-list article button { border-color: #d97706; color: #fbbf24; background: rgba(217,119,6,.12); }
.tournament-detail--stroke .tournament-score-list article button { border-color: #2563eb; color: #60a5fa; background: rgba(37,99,235,.12); }
.tournament-score-hole-grid { grid-column: 1 / -1; padding-top: .65rem; display: grid !important; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: .3rem !important; border-top: 1px solid var(--ps-border, #44403c); }
.tournament-score-hole-grid > span { min-width: 0; display: grid; justify-items: center; gap: .08rem; }
.tournament-score-hole-grid small,
.tournament-score-hole-grid em { color: var(--ps-text-muted, #a8a29e); font-size: .58rem; font-style: normal; }
.tournament-score-hole-grid em { color: #60a5fa; font-weight: 800; }
.tournament-score-hole-grid b { width: 1.75rem; height: 1.75rem; display: grid; place-items: center; overflow: visible !important; border: 2px solid rgba(120,113,108,.45); border-radius: .25rem; color: #f5f5f4 !important; font-size: .72rem; text-overflow: clip !important; }
.tournament-score-hole-grid .is-eagle b { border-color: #eab308; border-radius: 999px; color: #fde047 !important; box-shadow: 0 0 0 2px rgba(234,179,8,.35); }
.tournament-score-hole-grid .is-birdie b { border-color: #22c55e; border-radius: 999px; color: #4ade80 !important; }
.tournament-score-hole-grid .is-par b { border-color: #3b82f6; border-radius: 0; color: #60a5fa !important; }
.tournament-score-hole-grid .is-bogey b { border-color: #f59e0b; color: #fbbf24 !important; }
.tournament-score-hole-grid .is-double b { border-color: #ef4444; color: #f87171 !important; }

.tournament-results-hero { margin-bottom: 1rem; padding: 1.3rem; display: flex; align-items: center; gap: 1rem; border: 1px solid rgba(245,158,11,.3); border-radius: .7rem; color: #fef3c7; background: linear-gradient(135deg, rgba(180,83,9,.28), rgba(120,53,15,.12)); }
.tournament-detail--stroke .tournament-results-hero { border-color: rgba(59,130,246,.3); color: #dbeafe; background: linear-gradient(135deg, rgba(30,64,175,.28), rgba(30,58,138,.12)); }
.tournament-results-hero > .ps-icon { width: 2.8rem; height: 2.8rem; color: #fbbf24; }
.tournament-detail--stroke .tournament-results-hero > .ps-icon { color: #60a5fa; }
.tournament-results-hero small { font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tournament-results-hero h2 { margin: .1rem 0; color: #fff; font-size: 1.3rem; }
.tournament-results-hero p { margin: 0; opacity: .75; font-size: .82rem; }
.tournament-result-grid { display: grid; gap: .5rem; }
.tournament-result-grid article { padding: .75rem; display: grid; grid-template-columns: 2rem 1fr auto; align-items: center; gap: .65rem; border: 1px solid var(--ps-border, #44403c); border-radius: .55rem; background: var(--ps-surface, #1c1917); }
.tournament-result-grid article > span { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 999px; color: #fbbf24; background: rgba(245,158,11,.13); font-weight: 800; }
.tournament-result-grid article div { min-width: 0; display: grid; }
.tournament-result-grid article div b { color: var(--ps-text, #fff); }
.tournament-result-grid article div small { color: var(--ps-text-muted, #a8a29e); }
.tournament-result-grid article strong { color: #fbbf24; font-size: 1.2rem; text-align: right; }
.tournament-result-grid article strong small { display: block; font-size: .65rem; text-transform: uppercase; }
.tournament-hole-results { margin-top: 1rem; }
.tournament-hole-results h3 { color: var(--ps-text, #fff); font-size: 1rem; }
.tournament-hole-results > div { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: .3rem; }
.tournament-hole-results span { min-width: 0; padding: .45rem .2rem; display: grid; gap: .2rem; border: 1px solid var(--ps-border, #44403c); border-radius: .4rem; background: var(--ps-surface, #1c1917); text-align: center; }
.tournament-hole-results span small { color: var(--ps-text-muted, #a8a29e); }
.tournament-hole-results span b { overflow: hidden; color: #fbbf24; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.tournament-sync-button { margin-top: 1rem; background: #16a34a; }

.tournament-table-wrap { overflow-x: auto; border: 1px solid var(--ps-border, #44403c); border-radius: .6rem; }
.tournament-table-wrap table { width: 100%; border-collapse: collapse; color: var(--ps-text, #e7e5e4); background: var(--ps-surface, #1c1917); font-size: .83rem; }
.tournament-table-wrap th,
.tournament-table-wrap td { padding: .7rem .8rem; border-bottom: 1px solid var(--ps-border, #44403c); text-align: left; }
.tournament-table-wrap tr:last-child td { border-bottom: 0; }
.tournament-table-wrap th { color: var(--ps-text-muted, #a8a29e); background: rgba(120,113,108,.08); font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; }
.tournament-table-wrap td:first-child { color: #4ade80; font-weight: 800; }
.tournament-table-wrap td b,
.tournament-table-wrap td small { display: block; }
.tournament-table-wrap td small { margin-top: .12rem; color: var(--ps-text-muted, #a8a29e); font-size: .68rem; }
.tournament-individual-standings h3 { color: var(--ps-text, #fff); font-size: 1rem; }
.tournament-results-json { max-height: 22rem; padding: 1rem; overflow: auto; border: 1px solid var(--ps-border, #44403c); border-radius: .6rem; color: var(--ps-text-muted, #a8a29e); background: var(--ps-surface, #1c1917); font-size: .75rem; }

.tournament-week-picker { display: flex; align-items: center; gap: .55rem; color: var(--ps-text-muted, #a8a29e); font-size: .78rem; }
.tournament-week-picker select { min-height: 2.5rem; padding: .45rem .7rem; border: 1px solid var(--ps-border, #57534e); border-radius: .4rem; color: var(--ps-text, #fff); background: var(--ps-input, #292524); }
.tournament-pending-note { margin-bottom: .75rem; padding: .75rem; display: flex; justify-content: space-between; gap: .7rem; border: 1px solid rgba(245,158,11,.3); border-radius: .5rem; color: #fbbf24; background: rgba(217,119,6,.1); font-size: .8rem; }
.tournament-pending-review { margin-bottom: 1rem; padding: .9rem; border: 1px solid rgba(245,158,11,.28); border-radius: .6rem; background: rgba(217,119,6,.08); }
.tournament-pending-review h3 { margin: 0 0 .6rem; color: #fbbf24; font-size: .95rem; }
.tournament-pending-review article { padding: .55rem 0; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: .5rem; border-top: 1px solid rgba(245,158,11,.15); }
.tournament-pending-review article div { display: grid; }
.tournament-pending-review article small { color: var(--ps-text-muted, #a8a29e); }
.tournament-pending-review article button { min-height: 2rem; padding: .35rem .6rem; border: 1px solid var(--ps-border, #57534e); border-radius: .4rem; color: var(--ps-text, #e7e5e4); background: transparent; }
.tournament-pending-review article button:last-child { border-color: #16a34a; color: #4ade80; }

.tournament-schedule-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.tournament-schedule-list article { overflow: hidden; border: 1px solid var(--ps-border, #44403c); border-radius: .6rem; background: var(--ps-surface, #1c1917); }
.tournament-schedule-list article header { padding: .65rem .75rem; display: flex; justify-content: space-between; color: #4ade80; background: rgba(21,128,61,.12); }
.tournament-schedule-list article header small { color: var(--ps-text-muted, #a8a29e); }
.tournament-schedule-list article > div { padding: .65rem .75rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .55rem; border-top: 1px solid var(--ps-border, #44403c); color: var(--ps-text, #e7e5e4); font-size: .8rem; }
.tournament-schedule-list article > div span:last-child { text-align: right; }
.tournament-schedule-list article > div em { color: var(--ps-text-muted, #a8a29e); font-style: normal; font-size: .7rem; text-transform: uppercase; }
.tournament-schedule-list article > p { padding: .75rem; color: var(--ps-text-muted, #a8a29e); }

.tournament-settings-card,
.tournament-danger-zone { margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--ps-border, #44403c); border-radius: .65rem; background: var(--ps-surface, #1c1917); }
.tournament-settings-card > header { display: flex; align-items: center; gap: .7rem; }
.tournament-settings-card > header > .ps-icon { width: 1.4rem; height: 1.4rem; color: #4ade80; }
.tournament-settings-card h2,
.tournament-danger-zone h2 { margin: 0; color: var(--ps-text, #fff); font-size: 1rem; }
.tournament-settings-card p,
.tournament-danger-zone p { margin: .2rem 0 0; color: var(--ps-text-muted, #a8a29e); font-size: .8rem; }
.tournament-settings-card fieldset { margin: 1rem 0 0; padding: 0; border: 0; }
.tournament-settings-card legend { margin-bottom: .45rem; color: var(--ps-text-muted, #a8a29e); font-size: .75rem; font-weight: 700; }
.tournament-settings-card fieldset > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
.tournament-settings-card fieldset button { min-height: 2.4rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ps-border, #57534e); border-radius: .45rem; color: var(--ps-text-muted, #a8a29e); background: var(--ps-input, #292524); line-height: 1.2; text-align: center; }
.tournament-settings-card fieldset button.is-active { border-color: #22c55e; color: #4ade80; background: rgba(21,128,61,.14); }
.tournament-recalculate-note { border-color: rgba(245,158,11,.35); background: rgba(217,119,6,.08); }
.tournament-recalculate-note > button { width: 100%; min-height: 2.5rem; margin-top: .8rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d97706; border-radius: .45rem; color: #fff; background: #d97706; font-weight: 750; line-height: 1.2; text-align: center; }
.tournament-prize-summary > header > .ps-icon { color: #fbbf24; }
.tournament-danger-zone { border-color: rgba(239,68,68,.32); }
.tournament-danger-zone h2 { color: #f87171; }
.tournament-danger-zone button { margin-top: .8rem; min-height: 2.5rem; padding: .6rem .85rem; display: inline-flex; align-items: center; gap: .45rem; border: 1px solid #dc2626; border-radius: .45rem; color: #fca5a5; background: rgba(220,38,38,.1); font-weight: 700; }
.tournament-danger-zone button .ps-icon { width: 1rem; height: 1rem; }

.tournament-scorecard-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.tournament-scorecard-meta > div { padding: .45rem .6rem; display: grid; align-content: center; border: 1px solid var(--ps-border, #57534e); border-radius: .45rem; }
.tournament-scorecard-meta > div span { color: var(--ps-text-muted, #a8a29e); font-size: .7rem; }
.tournament-scorecard-meta > div b { color: #4ade80; font-size: 1.1rem; }
.tournament-hole-inputs { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: .35rem; }
.tournament-hole-inputs label { min-width: 0; text-align: center; }
.tournament-hole-inputs label span { display: block; color: var(--ps-text-muted, #a8a29e); font-size: .62rem; }
.tournament-hole-inputs input { min-width: 0; min-height: 2.35rem; padding: .3rem; text-align: center; }
.tournament-delete-confirm { padding: 1.25rem; display: grid; place-items: center; text-align: center; }
.tournament-delete-confirm > .ps-icon { width: 3rem; height: 3rem; margin-bottom: .6rem; color: #ef4444; }
.tournament-delete-confirm p { margin: 0; color: var(--ps-text-muted, #a8a29e); line-height: 1.55; }
.tournament-delete-confirm p b { color: var(--ps-text, #fff); }
.tournament-delete-confirm footer { width: calc(100% + 2.5rem); }

/* Match Play management tools */
.tournament-admin-badge { margin-left: .4rem; padding: .12rem .35rem; border-radius: 999px; color: #bfdbfe; background: rgba(37,99,235,.2); font-size: .58rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; vertical-align: middle; }
.tournament-admin-badge.is-substitute { color: #fde68a; background: rgba(217,119,6,.18); }
.tournament-score-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.tournament-score-actions button.is-secondary { border-color: #d97706; color: #fbbf24; background: rgba(217,119,6,.12); }
.tournament-score-mode { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; }
.tournament-score-mode button { min-height: 2.35rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ps-border, #57534e); border-radius: .4rem; color: var(--ps-text-muted, #a8a29e); background: var(--ps-input, #292524); line-height: 1.2; text-align: center; }
.tournament-score-mode button.is-active { border-color: #16a34a; color: #4ade80; background: rgba(21,128,61,.14); }
.tournament-score-entry-modes { display: flex; align-items: center; justify-content: center; gap: 1rem; }
.tournament-score-entry-modes button { padding: .25rem; border: 0; color: var(--ps-text-muted, #78716c); background: transparent; font-size: 1rem; font-weight: 800; }
.tournament-score-entry-modes button.is-active { color: #fbbf24; }
.tournament-score-entry-modes span { color: var(--ps-border, #57534e); }
.tournament-score-entry-modes em { margin-left: auto; color: #4ade80; font-size: .72rem; font-style: normal; font-weight: 750; }
.tournament-score-entry-modes em[data-state="error"] { color: #f87171; }
.tournament-score-voice { display: grid; justify-items: center; gap: .8rem; }
.tournament-score-voice > div:first-child { display: grid; justify-items: center; gap: .15rem; }
.tournament-score-voice > div:first-child small,
.tournament-score-voice > div:first-child span { color: var(--ps-text-muted, #a8a29e); font-size: .72rem; }
.tournament-score-voice > div:first-child strong { color: #fbbf24; font-size: 2.5rem; line-height: 1; }
.tournament-score-voice > button { width: 5.5rem; height: 5.5rem; display: grid; place-items: center; border: 0; border-radius: 999px; color: #fff; background: #15803d; }
.tournament-score-voice > button.is-recording { background: #dc2626; animation: tournament-pulse 1s ease-in-out infinite; }
.tournament-score-voice > button .ps-icon { width: 2.2rem; height: 2.2rem; }
.tournament-score-voice blockquote { width: 100%; margin: 0; padding: .65rem .75rem; border: 1px solid var(--ps-border, #44403c); border-radius: .45rem; color: var(--ps-text, #e7e5e4); background: var(--ps-input, #292524); font-size: .78rem; }
.tournament-score-voice-grid { width: 100%; display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: .25rem; }
.tournament-score-voice-grid button { min-width: 0; padding: .3rem .1rem; display: grid; justify-items: center; gap: .1rem; border: 2px solid var(--ps-border, #44403c); border-radius: .4rem; color: var(--ps-text, #e7e5e4); background: var(--ps-input, #292524); }
.tournament-score-voice-grid button.is-current { border-color: #f59e0b; background: rgba(217,119,6,.14); }
.tournament-score-voice-grid small { color: var(--ps-text-muted, #a8a29e); font-size: .58rem; }
.tournament-score-voice-grid b { font-size: .9rem; }
.tournament-player-modes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .3rem; }
.tournament-player-modes button { min-height: 2.3rem; padding: .4rem .25rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ps-border, #57534e); border-radius: .4rem; color: var(--ps-text-muted, #a8a29e); background: var(--ps-input, #292524); font-size: .68rem; font-weight: 750; line-height: 1.2; text-align: center; }
.tournament-player-modes button.is-active { border-color: #16a34a; color: #4ade80; background: rgba(21,128,61,.14); }
.tournament-invite-search { padding: 0; }
.tournament-invite-search > div > button.is-selected { border-color: #a855f7; background: rgba(126,34,206,.14); }
.tournament-start-prize { padding: 1.25rem; display: grid; gap: 1rem; }
.tournament-start-prize fieldset { margin: 0; padding: 0; border: 0; }
.tournament-start-prize legend { margin-bottom: .55rem; color: var(--ps-text, #e7e5e4); font-size: .82rem; font-weight: 700; }
.tournament-start-prize > footer { margin: .25rem -1.25rem -1.25rem; padding: 1rem 1.25rem; display: flex; justify-content: flex-end; gap: .65rem; border-top: 1px solid var(--ps-border, #44403c); }
.tournament-total-score { max-width: 14rem; }
.tournament-total-score input { margin-top: .3rem; font-size: 1.2rem; font-weight: 800; text-align: center; }
.tournament-result-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.tournament-result-actions > button { margin-top: 1rem; min-height: 2.5rem; padding: .55rem .8rem; display: inline-flex; align-items: center; gap: .4rem; border: 1px solid #d97706; border-radius: .45rem; color: #fbbf24; background: rgba(217,119,6,.12); font-weight: 700; }
.tournament-result-actions > button .ps-icon { width: 1rem; height: 1rem; }
.tournament-winner-banner { width: 100%; margin-bottom: 1rem; padding: 1rem; display: grid; justify-items: center; gap: .15rem; overflow: hidden; border: 0; border-radius: .75rem; color: #14532d; background: linear-gradient(115deg, #4ade80, #34d399, #22c55e); box-shadow: 0 .7rem 1.6rem rgba(22,163,74,.22); text-align: center; cursor: pointer; transition: transform 160ms ease, box-shadow 160ms ease; }
.tournament-winner-banner.is-coins { color: #78350f; background: linear-gradient(115deg, #fbbf24, #fde047, #f59e0b); box-shadow: 0 .7rem 1.6rem rgba(245,158,11,.22); }
.tournament-winner-banner:hover { transform: scale(1.012); box-shadow: 0 .9rem 2rem rgba(22,163,74,.3); }
.tournament-winner-banner.is-coins:hover { box-shadow: 0 .9rem 2rem rgba(245,158,11,.3); }
.tournament-winner-banner > span { width: 2.2rem; height: 2.2rem; display: grid; place-items: center; }
.tournament-winner-banner > span .ps-icon { width: 1.55rem; height: 1.55rem; }
.tournament-winner-banner > strong { font-size: .82rem; letter-spacing: .06em; }
.tournament-winner-banner h2 { margin: 0; color: inherit; font-size: 1.35rem; }
.tournament-winner-banner p,
.tournament-winner-banner small { margin: 0; color: inherit; }
.tournament-winner-banner p { font-size: .78rem; font-weight: 750; }
.tournament-winner-banner small { margin-top: .15rem; font-size: .66rem; animation: tournaments-winner-prompt 1.8s ease-in-out infinite; }
.tournament-leaderboard { margin-top: 1rem; }
.tournament-leaderboard > h3 { margin: 0 0 .65rem; display: flex; align-items: center; gap: .4rem; color: var(--ps-text, #f5f5f4); font-size: .95rem; }
.tournament-leaderboard > h3 .ps-icon { width: 1rem; height: 1rem; color: #fbbf24; }
.tournament-settlement { margin-bottom: 1rem; padding: 1rem; border: 1px solid rgba(34,197,94,.3); border-radius: .7rem; background: linear-gradient(135deg, rgba(21,128,61,.12), rgba(5,150,105,.06)); }
.tournament-settlement > header { display: flex; align-items: center; gap: .55rem; }
.tournament-settlement > header > .ps-icon { width: 1.15rem; height: 1.15rem; color: #4ade80; }
.tournament-settlement h3,
.tournament-settlement p { margin: 0; }
.tournament-settlement h3 { color: #bbf7d0; font-size: .95rem; }
.tournament-settlement > header p { margin-top: .1rem; color: var(--ps-text-muted, #a8a29e); font-size: .7rem; }
.tournament-settlement-list { margin-top: .75rem; display: grid; gap: .45rem; }
.tournament-settlement-list article { overflow: hidden; border: 1px solid var(--ps-border, #44403c); border-radius: .5rem; background: rgba(28,25,23,.7); }
.tournament-settlement-list article.is-collecting { border-color: rgba(245,158,11,.32); background: rgba(120,53,15,.12); }
.tournament-settlement-list article > button { width: 100%; padding: .6rem .65rem; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: .55rem; border: 0; color: var(--ps-text, #f5f5f4); background: transparent; text-align: left; }
.tournament-settlement-list article > button > span:nth-child(2) { min-width: 0; display: grid; }
.tournament-settlement-list article > button b,
.tournament-settlement-list article > button small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tournament-settlement-list article > button b { font-size: .78rem; }
.tournament-settlement-list article > button small { color: var(--ps-text-muted, #a8a29e); font-size: .64rem; }
.tournament-settlement-list article > button > strong { display: grid; color: #f87171; font-size: .85rem; text-align: right; }
.tournament-settlement-list article.is-collecting > button > strong { color: #4ade80; }
.tournament-settlement-list article > button > strong small { color: inherit; text-transform: uppercase; }
.tournament-settlement-list article > button > em { color: var(--ps-text-muted, #a8a29e); font-size: 1rem; font-style: normal; transition: transform 160ms ease; }
.tournament-settlement-list article > button[aria-expanded="true"] > em { transform: rotate(180deg); }
.tournament-payment-details { padding: .55rem .65rem .65rem 3.9rem; display: grid; gap: .3rem; border-top: 1px solid var(--ps-border, #44403c); }
.tournament-payment-details > b { color: var(--ps-text-muted, #a8a29e); font-size: .65rem; }
.tournament-payment-details > span { padding: .35rem .45rem; display: flex; justify-content: space-between; gap: .5rem; border-radius: .35rem; color: var(--ps-text, #e7e5e4); background: rgba(120,113,108,.12); font-size: .7rem; }
.tournament-payment-details > span strong { color: #4ade80; }
.tournament-settlement-even { padding: .7rem; color: var(--ps-text-muted, #a8a29e); text-align: center; }
.tournament-settlement > dl { margin: .8rem 0 0; padding-top: .65rem; display: grid; gap: .35rem; border-top: 1px solid rgba(34,197,94,.2); }
.tournament-settlement > dl > div { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.tournament-settlement dt { color: #86efac; font-size: .7rem; }
.tournament-settlement dd { margin: 0; display: grid; color: #bbf7d0; font-size: .75rem; font-weight: 750; text-align: right; }
.tournament-settlement dd small { color: var(--ps-text-muted, #a8a29e); font-size: .6rem; font-weight: 500; }
.tournament-settlement > aside { margin-top: .75rem; padding: .6rem .7rem; border: 1px solid rgba(59,130,246,.28); border-radius: .45rem; color: #bfdbfe; background: rgba(37,99,235,.09); }
.tournament-settlement > aside b { font-size: .7rem; }
.tournament-settlement > aside p { margin-top: .15rem; color: #93c5fd; font-size: .65rem; }
.tournament-settlement > button { width: 100%; min-height: 2.4rem; margin-top: .75rem; padding: .5rem .7rem; display: flex; align-items: center; justify-content: center; gap: .4rem; border: 1px solid #16a34a; border-radius: .45rem; color: #fff; background: #16a34a; font-weight: 750; }
.tournament-settlement > button .ps-icon { width: .95rem; height: .95rem; }

.tournament-course-settings-summary { margin-bottom: 1rem; overflow: hidden; border: 1px solid rgba(34,197,94,.3); border-radius: .65rem; background: rgba(21,128,61,.08); }
.tournament-course-settings-summary > header { padding: .75rem .85rem; display: flex; align-items: center; justify-content: space-between; gap: .8rem; border-bottom: 1px solid rgba(34,197,94,.2); }
.tournament-course-settings-summary h3,
.tournament-course-settings-summary p { margin: 0; }
.tournament-course-settings-summary h3 { color: #bbf7d0; font-size: .9rem; }
.tournament-course-settings-summary p { margin-top: .15rem; color: var(--ps-text-muted, #a8a29e); font-size: .7rem; }
.tournament-course-settings-summary header button,
.tournament-schedule-list article header button { min-height: 2rem; padding: .35rem .55rem; display: inline-flex; align-items: center; gap: .3rem; border: 1px solid rgba(34,197,94,.45); border-radius: .4rem; color: #4ade80; background: rgba(21,128,61,.12); font-size: .72rem; font-weight: 700; }
.tournament-course-settings-summary header .ps-icon,
.tournament-schedule-list article header button .ps-icon { width: .85rem; height: .85rem; }
.tournament-course-setting-grid { padding: .55rem; display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: .3rem; }
.tournament-course-setting-grid span { min-width: 0; padding: .35rem .15rem; display: grid; justify-items: center; gap: .05rem; border: 1px solid var(--ps-border, #44403c); border-radius: .35rem; background: var(--ps-surface, #1c1917); }
.tournament-course-setting-grid small,
.tournament-course-setting-grid em { color: var(--ps-text-muted, #a8a29e); font-size: .58rem; font-style: normal; }
.tournament-course-setting-grid b { color: #4ade80; font-size: .72rem; }

.tournament-hole-side { margin: 0; padding: 0; border: 0; }
.tournament-hole-side legend { margin-bottom: .45rem; color: var(--ps-text-muted, #a8a29e); font-size: .74rem; font-weight: 700; }
.tournament-hole-side > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
.tournament-hole-side label { min-height: 2.6rem; padding: .55rem .65rem; display: flex; align-items: center; gap: .45rem; border: 1px solid var(--ps-border, #57534e); border-radius: .45rem; color: var(--ps-text, #e7e5e4); background: var(--ps-input, #292524); }
.tournament-hole-side input { width: auto; min-height: auto; margin: 0; }
.tournament-course-setting-editor { display: grid; grid-template-columns: minmax(2.5rem, .55fr) 1fr 1.25fr; align-items: center; gap: .35rem .55rem; }
.tournament-course-setting-editor > b { color: #4ade80; text-align: center; }
.tournament-course-setting-editor .is-heading { color: var(--ps-text-muted, #a8a29e); font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-align: center; text-transform: uppercase; }
.tournament-course-setting-editor select { min-height: 2.15rem; padding: .25rem .45rem; }
.tournament-modal-note { margin: 0; padding: .65rem .75rem; border-radius: .45rem; color: var(--ps-text-muted, #a8a29e); background: rgba(120,113,108,.1); font-size: .73rem; }
.tournament-modal-note b { color: var(--ps-text, #f5f5f4); }
.tournament-reload-handicap { min-height: 2.4rem; padding: .5rem .7rem; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; border: 1px solid #d97706; border-radius: .45rem; color: #fbbf24; background: rgba(217,119,6,.1); font-weight: 700; }
.tournament-reload-handicap .ps-icon { width: 1rem; height: 1rem; }

.tournament-matchup-editor { display: grid; gap: .55rem; }
.tournament-matchup-editor > div { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) 2.35rem; align-items: end; gap: .45rem; }
.tournament-matchup-editor > div > span { padding-bottom: .75rem; color: var(--ps-text-muted, #a8a29e); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.tournament-matchup-editor > div > button { width: 2.35rem; min-height: 2.45rem; padding: 0; display: grid; place-items: center; border: 1px solid rgba(239,68,68,.35); border-radius: .4rem; color: #f87171; background: rgba(220,38,38,.08); }
.tournament-matchup-editor button .ps-icon { width: 1rem; height: 1rem; }
.tournament-add-matchup { width: fit-content; min-height: 2.35rem; padding: .45rem .7rem; display: inline-flex; align-items: center; gap: .35rem; border: 1px dashed #16a34a; border-radius: .4rem; color: #4ade80; background: transparent; }
.tournament-add-matchup .ps-icon { width: 1rem; height: 1rem; }

.tournament-manual-points { display: grid; gap: .35rem; }
.tournament-manual-points header,
.tournament-manual-points label { display: grid; grid-template-columns: minmax(0, 1fr) 7rem 7rem; align-items: center; gap: .55rem; }
.tournament-manual-points header { color: var(--ps-text-muted, #a8a29e); font-size: .68rem; font-weight: 800; text-align: center; text-transform: uppercase; }
.tournament-manual-points header span:first-child { text-align: left; }
.tournament-manual-points label { padding: .55rem; border: 1px solid var(--ps-border, #44403c); border-radius: .45rem; background: var(--ps-surface, #1c1917); }
.tournament-manual-points label b { overflow: hidden; color: var(--ps-text, #f5f5f4); font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.tournament-manual-points input { margin: 0; text-align: center; }

.tournament-communications { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.tournament-email-card form { margin-top: 1rem; display: grid; gap: .75rem; }
.tournament-email-card form label { display: grid; gap: .3rem; color: var(--ps-text-muted, #a8a29e); font-size: .73rem; font-weight: 700; }
.tournament-email-card input,
.tournament-email-card select,
.tournament-email-card textarea { width: 100%; margin: 0; padding: .6rem .7rem; border: 1px solid var(--ps-border, #57534e); border-radius: .45rem; color: var(--ps-text, #fff); background: var(--ps-input, #292524); font: inherit; resize: vertical; }
.tournament-email-card form > button { min-height: 2.5rem; padding: .55rem .75rem; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; border: 1px solid #16a34a; border-radius: .45rem; color: #fff; background: #16a34a; font-weight: 750; }
.tournament-email-card form > button .ps-icon { width: 1rem; height: 1rem; }
.tournament-player-emails { grid-column: 1 / -1; }
.tournament-player-emails > div { margin-top: .8rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; }
.tournament-player-emails article { min-width: 0; padding: .6rem .7rem; display: flex; align-items: center; justify-content: space-between; gap: .7rem; border: 1px solid var(--ps-border, #44403c); border-radius: .45rem; }
.tournament-player-emails article > div { min-width: 0; display: grid; }
.tournament-player-emails article b { overflow: hidden; color: var(--ps-text, #f5f5f4); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.tournament-player-emails article small,
.tournament-player-emails article > span { color: var(--ps-text-muted, #a8a29e); font-size: .68rem; }
.tournament-player-emails article > span { display: flex; align-items: center; gap: .25rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tournament-player-emails article > span.has-email { color: #4ade80; }
.tournament-player-emails article > span .ps-icon { width: .8rem; height: .8rem; flex: 0 0 auto; }
.tournament-link-player { padding: 1rem; display: grid; gap: .7rem; }
.tournament-link-player > label { position: relative; }
.tournament-link-player > label .ps-icon { position: absolute; left: .7rem; top: .78rem; width: 1rem; height: 1rem; color: var(--ps-text-muted, #a8a29e); }
.tournament-link-player > label input { width: 100%; margin: 0; padding-left: 2.15rem; }
.tournament-link-player > div { display: grid; gap: .4rem; }
.tournament-link-player > div > button { padding: .55rem .65rem; display: flex; align-items: center; gap: .6rem; border: 1px solid var(--ps-border, #44403c); border-radius: .45rem; color: var(--ps-text, #f5f5f4); background: var(--ps-input, #292524); text-align: left; }
.tournament-link-player > div > button:hover { border-color: #16a34a; }
.tournament-link-player > div > button > span:nth-child(2) { min-width: 0; display: grid; flex: 1; }
.tournament-link-player > div > button b,
.tournament-link-player > div > button small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tournament-link-player > div > button small { color: var(--ps-text-muted, #a8a29e); }
.tournament-link-player > div > button > .ps-icon { width: 1rem; height: 1rem; color: var(--ps-text-muted, #a8a29e); }
.tournament-link-state { min-height: 6rem; margin: 0; display: flex; align-items: center; justify-content: center; gap: .5rem; color: var(--ps-text-muted, #a8a29e); text-align: center; }
.tournament-link-player > footer { padding: .75rem 0 0; border-top: 1px solid var(--ps-border, #44403c); }
.tournament-current-course > header > div { min-width: 0; flex: 1; }
.tournament-current-course > header > div p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tournament-course-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.tournament-course-actions button { min-height: 2.35rem; padding: .45rem .65rem; display: inline-flex; align-items: center; gap: .35rem; border: 1px solid #16a34a; border-radius: .4rem; color: #4ade80; background: rgba(21,128,61,.12); font-weight: 700; }
.tournament-course-actions button .ps-icon { width: .95rem; height: .95rem; }
.tournament-course-result-icon { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: .45rem; color: #4ade80; background: rgba(21,128,61,.14); }
.tournament-course-result-icon .ps-icon { width: 1.15rem; height: 1.15rem; }
.tournament-detail-course-search { display: grid; gap: .65rem; }
.tournament-detail-course-search > section { display: grid; gap: .4rem; }
.tournament-detail-course-search > section p { margin: 0; color: var(--ps-text-muted, #a8a29e); font-size: .72rem; font-weight: 750; }
.tournament-detail-course-search > section > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.tournament-detail-course-search > section button { min-height: 2.15rem; padding: .4rem .6rem; border: 1px solid rgba(34,197,94,.32); border-radius: .4rem; color: #bbf7d0; background: rgba(21,128,61,.12); }
.tournament-detail-course-search > label { position: relative; }
.tournament-detail-course-search > label .ps-icon { position: absolute; left: .7rem; top: .78rem; width: 1rem; height: 1rem; color: var(--ps-text-muted, #a8a29e); }
.tournament-detail-course-search > label input { width: 100%; margin: 0; padding-left: 2.15rem; }
.tournament-detail-course-search > button { min-height: 2.4rem; display: flex; align-items: center; justify-content: center; gap: .4rem; border: 1px solid #16a34a; border-radius: .45rem; color: #fff; background: #16a34a; font-weight: 750; }
.tournament-detail-course-confirm { padding: .85rem; display: grid; gap: .6rem; border: 1px solid rgba(34,197,94,.3); border-radius: .55rem; background: rgba(21,128,61,.1); }
.tournament-detail-course-confirm > .ps-icon { color: #4ade80; }
.tournament-detail-course-confirm h3,
.tournament-detail-course-confirm p { margin: 0; }
.tournament-detail-course-confirm p { color: var(--ps-text-muted, #a8a29e); font-size: .74rem; }
.tournament-detail-course-confirm dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; }
.tournament-detail-course-confirm dl > div { padding: .5rem; display: flex; justify-content: space-between; border-radius: .35rem; background: rgba(28,25,23,.55); }
.tournament-detail-course-confirm dt { color: var(--ps-text-muted, #a8a29e); font-size: .68rem; }
.tournament-detail-course-confirm dd { margin: 0; color: #4ade80; font-weight: 800; }
.tournament-detail-course-confirm label { display: grid; gap: .3rem; }
.tournament-detail-course-confirm footer { padding-top: .55rem; display: flex; justify-content: flex-end; gap: .45rem; border-top: 1px solid rgba(120,113,108,.25); }
.tournament-detail-course-confirm footer button { min-height: 2.3rem; padding: .45rem .7rem; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; border: 1px solid var(--ps-border, #57534e); border-radius: .4rem; color: var(--ps-text, #e7e5e4); background: transparent; line-height: 1.2; text-align: center; }
.tournament-detail-course-confirm footer button.is-primary { border-color: #16a34a; color: #fff; background: #16a34a; }
.tournament-photo-scan { position: relative; min-height: 3.2rem; padding: .6rem .7rem; display: flex !important; grid-template-columns: none !important; align-items: center; gap: .6rem !important; overflow: hidden; border: 1px dashed #2563eb !important; border-radius: .5rem; color: #bfdbfe !important; background: rgba(37,99,235,.1); cursor: pointer; }
.tournament-photo-scan > .ps-icon { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; color: #60a5fa; }
.tournament-photo-scan > span { min-width: 0; display: grid; }
.tournament-photo-scan b { color: #dbeafe; font-size: .78rem; }
.tournament-photo-scan small { color: var(--ps-text-muted, #a8a29e); font-size: .66rem; }
.tournament-photo-scan input { position: absolute; width: 1px !important; height: 1px; margin: 0 !important; padding: 0 !important; opacity: 0; pointer-events: none; }
.tournament-shared-scan { margin-bottom: 1rem; padding: 1rem; border: 2px dashed rgba(59,130,246,.42); border-radius: .7rem; background: linear-gradient(135deg, rgba(37,99,235,.13), rgba(79,70,229,.08)); }
.tournament-shared-scan.is-uploading { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .8rem; }
.tournament-shared-scan.is-uploading > .ps-icon { width: 2rem; height: 2rem; color: #60a5fa; }
.tournament-shared-scan h3,
.tournament-shared-scan p { margin: 0; }
.tournament-shared-scan h3 { color: #dbeafe; font-size: .95rem; }
.tournament-shared-scan p { margin-top: .2rem; color: #93c5fd; font-size: .75rem; line-height: 1.45; }
.tournament-shared-scan-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .4rem; }
.tournament-shared-scan-buttons label { position: relative; min-height: 2.35rem; padding: .48rem .7rem; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; overflow: hidden; border: 1px solid #3b82f6; border-radius: .42rem; color: #bfdbfe; background: rgba(30,64,175,.2); cursor: pointer; font-size: .72rem; font-weight: 750; }
.tournament-shared-scan-buttons label.is-primary { color: #fff; background: #2563eb; }
.tournament-shared-scan-buttons label .ps-icon { width: .95rem; height: .95rem; }
.tournament-shared-scan-buttons label .ps-spinner { width: .9rem; height: .9rem; }
.tournament-shared-scan-buttons input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.tournament-shared-scan.is-ready { border-style: solid; border-color: rgba(34,197,94,.35); background: linear-gradient(135deg, rgba(21,128,61,.13), rgba(5,150,105,.07)); }
.tournament-shared-scan.is-ready > header { display: flex; align-items: flex-start; gap: .6rem; }
.tournament-shared-scan.is-ready > header > span { width: 2rem; height: 2rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: 999px; color: #4ade80; background: rgba(34,197,94,.16); }
.tournament-shared-scan.is-ready > header > span .ps-icon { width: 1rem; height: 1rem; }
.tournament-shared-scan.is-ready > header > div { min-width: 0; flex: 1; }
.tournament-shared-scan.is-ready > header h3 { color: #bbf7d0; }
.tournament-shared-scan.is-ready > header p { color: #86efac; }
.tournament-shared-scan.is-ready > header > button { width: 2rem; height: 2rem; padding: 0; display: grid; place-items: center; border: 0; border-radius: 999px; color: var(--ps-text-muted, #a8a29e); background: transparent; }
.tournament-shared-scan.is-ready > header > button:hover { color: #fff; background: rgba(120,113,108,.18); }
.tournament-shared-scan.is-ready > header > button .ps-icon { width: 1rem; height: 1rem; }
.tournament-shared-scan.is-ready > img { width: 100%; height: 8rem; margin-top: .8rem; display: block; border: 1px solid rgba(34,197,94,.3); border-radius: .55rem; object-fit: cover; }
.tournament-shared-player-grid { margin-top: .8rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.tournament-shared-player-grid article { min-width: 0; padding: .7rem; border: 1px solid rgba(34,197,94,.28); border-radius: .5rem; background: var(--ps-surface, #1c1917); }
.tournament-shared-player-grid article > header { display: flex; justify-content: space-between; gap: .5rem; }
.tournament-shared-player-grid article > header b { overflow: hidden; color: var(--ps-text, #f5f5f4); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.tournament-shared-player-grid article > header strong { color: #4ade80; font-size: .78rem; }
.tournament-shared-player-grid article > p { overflow: hidden; color: var(--ps-text-muted, #a8a29e); font-family: ui-monospace, monospace; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.tournament-shared-player-grid article > label { margin-top: .55rem; display: grid; gap: .25rem; color: var(--ps-text-muted, #a8a29e); font-size: .65rem; font-weight: 700; }
.tournament-shared-player-grid select { width: 100%; min-height: 2.15rem; padding: .35rem .5rem; border: 1px solid var(--ps-border, #57534e); border-radius: .4rem; color: var(--ps-text, #f5f5f4); background: var(--ps-input, #292524); }
.tournament-shared-player-grid article > small { margin-top: .45rem; display: flex; align-items: center; gap: .25rem; color: #4ade80; font-size: .65rem; }
.tournament-shared-player-grid article > small .ps-icon { width: .75rem; height: .75rem; }
.tournament-shared-scan > footer { margin-top: .8rem; color: #86efac; font-size: .68rem; text-align: center; }
.tournament-skin-value form { margin-top: .8rem; display: flex; align-items: end; gap: .45rem; }
.tournament-skin-value form label { display: flex; align-items: center; gap: .35rem; color: var(--ps-text, #f5f5f4); font-weight: 800; }
.tournament-skin-value form input { width: 9rem; margin: 0; }
.tournament-skin-value form button { min-height: 2.45rem; padding: .45rem .7rem; border: 1px solid #d97706; border-radius: .4rem; color: #fbbf24; background: rgba(217,119,6,.12); font-weight: 700; }
.tournament-join-requests > .tournament-section-heading > span { padding: .25rem .55rem; border-radius: 999px; color: #bfdbfe; background: rgba(37,99,235,.16); font-size: .7rem; font-weight: 750; }
.tournament-join-requests > div:last-child { display: grid; gap: .55rem; }
.tournament-join-requests article { padding: .7rem .8rem; display: flex; align-items: center; gap: .65rem; border: 1px solid var(--ps-border, #44403c); border-radius: .55rem; background: var(--ps-surface, #1c1917); }
.tournament-join-requests article > div { min-width: 0; display: grid; flex: 1; }
.tournament-join-requests article b,
.tournament-join-requests article small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tournament-join-requests article b { color: var(--ps-text, #f5f5f4); }
.tournament-join-requests article small { color: var(--ps-text-muted, #a8a29e); font-size: .7rem; }
.tournament-request-actions { display: flex; gap: .35rem; }
.tournament-request-actions button { min-height: 2.2rem; padding: .4rem .65rem; border: 1px solid var(--ps-border, #57534e); border-radius: .4rem; color: var(--ps-text-muted, #a8a29e); background: transparent; font-weight: 700; }
.tournament-request-actions button:last-child { border-color: #16a34a; color: #4ade80; background: rgba(21,128,61,.1); }

.tournament-celebration-backdrop { position: fixed; z-index: 130; inset: 0; padding: 1rem; display: grid; place-items: center; overflow-y: auto; background: rgba(0,0,0,.75); animation: tournaments-celebration-fade 180ms ease-out; }
.tournament-celebration { position: relative; width: min(28rem, 100%); padding: 1.5rem; overflow: hidden; border: 2px solid #86efac; border-radius: 1rem; color: #14532d; background: linear-gradient(145deg, #f0fdf4, #dcfce7, #bbf7d0); box-shadow: 0 1.5rem 5rem rgba(0,0,0,.45); text-align: center; animation: tournaments-celebration-pop 320ms cubic-bezier(.2,.8,.2,1); }
.tournament-celebration.is-coins { border-color: #fbbf24; color: #78350f; background: linear-gradient(145deg, #fffbeb, #fef3c7, #fde68a); }
.tournament-celebration-close { position: absolute; z-index: 2; top: .65rem; right: .65rem; width: 2.1rem; height: 2.1rem; padding: 0; display: grid; place-items: center; border: 0; border-radius: 999px; color: currentColor; background: rgba(255,255,255,.55); }
.tournament-celebration-close .ps-icon { width: 1rem; height: 1rem; }
.tournament-confetti { position: absolute; inset: 0; pointer-events: none; }
.tournament-confetti i { position: absolute; font-style: normal; animation: tournaments-confetti 1.5s ease-in-out infinite alternate; }
.tournament-confetti i:nth-child(1) { top: 8%; left: 8%; color: #f59e0b; }
.tournament-confetti i:nth-child(2) { top: 13%; right: 12%; color: #eab308; animation-delay: 180ms; }
.tournament-confetti i:nth-child(3) { bottom: 18%; left: 13%; color: #22c55e; animation-delay: 340ms; }
.tournament-confetti i:nth-child(4) { top: 45%; right: 5%; animation-delay: 500ms; }
.tournament-confetti i:nth-child(5) { top: 47%; left: 4%; color: #f59e0b; animation-delay: 650ms; }
.tournament-confetti i:nth-child(6) { bottom: 8%; right: 13%; animation-delay: 800ms; }
.tournament-celebration-trophy { position: relative; width: 4.6rem; height: 4.6rem; margin: 0 auto .8rem; display: grid; place-items: center; border-radius: 999px; color: #fff; background: linear-gradient(145deg, #22c55e, #16a34a); box-shadow: 0 .65rem 1.5rem rgba(22,163,74,.3); animation: tournaments-celebration-pulse 1.8s ease-in-out infinite; }
.tournament-celebration.is-coins .tournament-celebration-trophy { background: linear-gradient(145deg, #fbbf24, #f59e0b); box-shadow: 0 .65rem 1.5rem rgba(245,158,11,.3); }
.tournament-celebration-trophy .ps-icon { width: 2.3rem; height: 2.3rem; }
.tournament-celebration > small { position: relative; font-size: 1.35rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.tournament-celebration > h2 { position: relative; margin: .25rem 0 .8rem; color: inherit; font-size: 1.85rem; }
.tournament-celebration-profit { position: relative; padding: .9rem; border-radius: .7rem; background: rgba(255,255,255,.7); box-shadow: inset 0 1px 2px rgba(0,0,0,.08); }
.tournament-celebration-profit > span { display: block; font-size: .75rem; }
.tournament-celebration-profit > strong { display: block; margin: .1rem 0; color: #16a34a; font-size: 2rem; }
.tournament-celebration.is-coins .tournament-celebration-profit > strong { color: #d97706; }
.tournament-celebration-profit p { margin: 0; color: #57534e; font-size: .7rem; line-height: 1.5; }
.tournament-celebration-emoji { position: relative; margin: .8rem 0; display: flex; justify-content: center; gap: .45rem; font-size: 1.35rem; }
.tournament-celebration-emoji span { animation: tournaments-emoji-bounce 1.2s ease-in-out infinite; }
.tournament-celebration-emoji span:nth-child(2) { animation-delay: 120ms; }
.tournament-celebration-emoji span:nth-child(3) { animation-delay: 240ms; }
.tournament-celebration-emoji span:nth-child(4) { animation-delay: 360ms; }
.tournament-celebration-view { position: relative; width: 100%; min-height: 2.7rem; border: 0; border-radius: .5rem; color: #fff; background: linear-gradient(90deg, #22c55e, #16a34a); font-weight: 800; }
.tournament-celebration.is-coins .tournament-celebration-view { background: linear-gradient(90deg, #f59e0b, #eab308); }

@keyframes tournaments-winner-prompt { 50% { opacity: .5; } }
@keyframes tournaments-celebration-fade { from { opacity: 0; } }
@keyframes tournaments-celebration-pop { from { opacity: 0; transform: translateY(.8rem) scale(.94); } }
@keyframes tournaments-celebration-pulse { 50% { transform: scale(1.06); } }
@keyframes tournaments-confetti { to { transform: translateY(.35rem) rotate(18deg) scale(1.2); } }
@keyframes tournaments-emoji-bounce { 50% { transform: translateY(-.3rem); } }

@media (max-width: 760px) {
  .tournament-detail-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tournament-detail-summary > div:nth-child(2) { border-right: 0; }
  .tournament-detail-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--ps-border, #44403c); }
  .tournament-player-grid,
  .tournament-team-grid,
  .tournament-schedule-list { grid-template-columns: 1fr; }
  .tournament-hole-results > div { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .tournament-hole-inputs { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .tournament-course-setting-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .tournament-communications { grid-template-columns: 1fr; }
  .tournament-player-emails { grid-column: auto; }
  .tournament-player-emails > div { grid-template-columns: 1fr; }
  .tournament-shared-scan.is-uploading { grid-template-columns: auto minmax(0, 1fr); }
  .tournament-shared-scan-buttons { grid-column: 1 / -1; justify-content: stretch; }
  .tournament-shared-scan-buttons label { flex: 1; }
}

@media (max-width: 560px) {
  .tournament-events,
  .tournament-detail { padding: .75rem; }
  .tournament-events-header { align-items: flex-start; flex-wrap: wrap; }
  .tournament-events-header h1 { width: calc(100% - 3.5rem); }
  .tournament-create-button { width: 100%; }
  .tournament-event-card { grid-template-columns: 2.6rem minmax(0, 1fr); }
  .tournament-event-card__icon { width: 2.6rem; height: 2.6rem; }
  .tournament-event-card__status { grid-column: 2; justify-content: start; text-align: left; }
  .tournament-name-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tournament-fee-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .tournament-form-grid { grid-template-columns: 1fr; }
  .tournament-detail-header { align-items: flex-start; }
  .tournament-detail-header .tournament-status { position: absolute; right: .75rem; margin-top: 3.3rem; }
  .tournament-section-heading { align-items: flex-start; flex-direction: column; }
  .tournament-section-heading > button { width: 100%; }
  .tournament-primary-action { align-items: stretch; flex-direction: column; }
  .tournament-score-list article { grid-template-columns: minmax(0, 1fr) auto; }
  .tournament-score-list article button { grid-column: 1 / -1; }
  .tournament-score-actions { grid-column: 1 / -1; justify-content: stretch; }
  .tournament-score-actions button { flex: 1; }
  .tournament-hole-results > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tournament-hole-inputs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tournament-scorecard-meta { grid-template-columns: 1fr 1fr; }
  .tournament-scorecard-meta > div { grid-column: 1 / -1; }
  .tournament-course-setting-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tournament-course-settings-summary > header { align-items: stretch; flex-direction: column; }
  .tournament-course-settings-summary header button { width: 100%; justify-content: center; }
  .tournament-matchup-editor > div { grid-template-columns: 1fr 2.35rem; }
  .tournament-matchup-editor > div > span { display: none; }
  .tournament-matchup-editor > div label { grid-column: 1; }
  .tournament-matchup-editor > div > button { grid-column: 2; grid-row: 1 / 3; align-self: stretch; height: auto; }
  .tournament-manual-points header,
  .tournament-manual-points label { grid-template-columns: minmax(0, 1fr) 5.5rem 5.5rem; }
  .tournament-join-requests article { align-items: flex-start; flex-wrap: wrap; }
  .tournament-join-requests article > div { width: calc(100% - 3.4rem); flex: none; }
  .tournament-request-actions { width: 100%; }
  .tournament-request-actions button { flex: 1; }
  .tournament-shared-player-grid { grid-template-columns: 1fr; }
  .tournament-settlement-list article > button { grid-template-columns: auto minmax(0, 1fr) auto; }
  .tournament-settlement-list article > button > strong { grid-column: 2; text-align: left; }
  .tournament-settlement-list article > button > em { grid-column: 3; grid-row: 1 / 3; }
  .tournament-payment-details { padding-left: .65rem; }
  .tournament-celebration { padding: 1.25rem 1rem; }
  .tournament-celebration > h2 { font-size: 1.5rem; }
  .tournament-create-modal form > footer,
  .tournament-detail-modal form > footer,
  .tournament-delete-confirm footer { flex-direction: column-reverse; }
  .tournament-create-modal footer button,
  .tournament-detail-modal footer button,
  .tournament-delete-confirm footer button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .tournament-winner-banner,
  .tournament-winner-banner small,
  .tournament-celebration-backdrop,
  .tournament-celebration,
  .tournament-celebration-trophy,
  .tournament-confetti i,
  .tournament-celebration-emoji span,
  .tournament-settlement-list article > button > em { animation: none; transition: none; }
  .tournament-winner-banner:hover { transform: none; }
}
