/* Party Mode. Text and surface colours come from the current theme through
   currentColor, so dark and light both work. Each universe family adds one accent. */
.party-players { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0 1rem; }
.party-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }

.party-banner {
  --accent: currentColor;
  margin: 1rem 0;
  padding: 1rem 1.25rem;
  border: 2px solid var(--accent);
  border-left-width: 10px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
}
.party-banner h3 { margin: 0 0 .4rem; }
.party-banner p { margin: .25rem 0; }

.party-banner.cat-lastcall { --accent: #d4a24c; }
.party-banner.cat-scifi { --accent: #2bb6c9; }
.party-banner.cat-fantasy { --accent: #9b7bd9; }
.party-banner.cat-retro { --accent: #ee5f93; }
.party-banner.cat-adventure { --accent: #2f9e8f; }
.party-banner.cat-dark { --accent: #c0505a; }
.party-banner.cat-heroic { --accent: #4c8dff; }

.party-banner.anomaly { border-style: dashed; border-left-style: dashed; }
.party-banner.caught { border-width: 3px; border-left-width: 10px; }
.party-banner.closing { border-width: 3px; border-left-width: 10px; }
.party-banner.lastcall { border-width: 4px; border-left-width: 12px; font-weight: 600; }

.party-uni {
  font-family: 'Limelight', Georgia, serif;
  font-size: 1.6rem;
  line-height: 1.1;
  margin: 0 0 .2rem;
}
.party-quote { font-style: italic; font-size: 1.1rem; line-height: 1.5; max-width: 60ch; }

.party-stack { margin: 1rem 0; }
.party-stack h3 { margin: 0 0 .25rem; }
.party-stack ul, .party-scores { padding-left: 1.2rem; margin: .25rem 0; }

.party-awards dt { font-weight: 600; margin-top: .75rem; }
.party-awards dd { margin: 0; }

#party-timer { font-variant-numeric: tabular-nums; font-weight: 600; }

/* The one animated moment: the universe name settles into place on a new turn. */
@media (prefers-reduced-motion: no-preference) {
  .party-uni.reveal { animation: party-hop .7s cubic-bezier(.2, .8, .2, 1); }
}
@keyframes party-hop {
  from { opacity: 0; letter-spacing: .35em; }
  to { opacity: 1; letter-spacing: normal; }
}

.party-actions button:disabled { opacity: .5; cursor: not-allowed; }
