/* Party mode (public/party.js) */
.btn-yellow { --c: var(--yellow); }
.quick-panel .party-open { margin-top: 14px; animation-delay: 1.2s; }
#party { justify-content: center; }
.party-box { text-align: center; max-width: 460px; width: 100%; animation: pop-in 0.4s cubic-bezier(.3,1.6,.5,1) both; overflow: hidden; }
.pt-title { font-size: 30px; margin: 0 0 12px; }
.pt-slots { margin: 14px 0 10px; }
.pt-slots .slot .bot-tag { right: auto; left: -8px; transform: rotate(-8deg); }
.pt-kick {
  position: absolute; bottom: 4px; right: 4px; width: 26px; height: 26px; padding: 0 0 3px;
  font: inherit; font-size: 18px; line-height: 1; color: #fff; cursor: pointer;
  background: var(--red); border: 3px solid var(--ink); border-radius: 50%;
}
#pt-bot { margin: 0 0 12px; }
.pt-games-label { margin: 6px 0 0; }
.pt-chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.pt-chip {
  font: inherit; font-size: 13px; color: var(--ink-dark); cursor: pointer; min-width: 0;
  padding: 5px 4px 6px; background: var(--green); border: 3px solid var(--ink); border-radius: 8px;
  box-shadow: inset 0 -3px 0 rgba(0,0,0,0.15); transition: transform 0.08s;
}
.pt-chip span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-chip small { display: block; font-size: 11px; font-weight: 500; color: var(--ink); }
.pt-chip:active:not(:disabled) { transform: scale(0.95); }
.pt-chip.off { background: var(--panel); color: var(--grey); text-decoration: line-through; }
.pt-chip.nofit:not(.off) { background: #c9f5de; }
.pt-chip.nofit { opacity: 0.55; }
.pt-chip:disabled { cursor: default; }

.pt-rows { display: grid; gap: 6px; margin: 4px 0 12px; text-align: left; }
.pt-row { display: flex; align-items: center; gap: 8px; background: #fff; border: 3px solid var(--ink); border-radius: 8px; padding: 6px 10px; font-size: 17px; animation: pop-in 0.35s cubic-bezier(.3,1.6,.5,1) both; }
.pt-row.me { background: #fffbe0; }
.pt-place { width: 26px; flex: none; color: var(--ink); }
.pt-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-bot { font-size: 11px; color: #fff; background: var(--grey); border: 2px solid var(--ink); border-radius: 6px; padding: 0 5px; vertical-align: 2px; }
.pt-pts { flex: none; min-width: 34px; text-align: right; font-size: 20px; }
.pt-gain { flex: none; font-size: 15px; color: #fff; background: var(--green); border: 3px solid var(--ink); border-radius: 99px; padding: 0 8px 1px; -webkit-text-stroke: 0.2em var(--ink-dark); paint-order: stroke fill; animation: pt-gain 0.6s 0.3s cubic-bezier(.3,1.6,.5,1) both; }
@keyframes pt-gain { from { transform: scale(0) rotate(-20deg); } to { transform: scale(1) rotate(0); } }
.pt-row .rank-dot, .pod-dot { border: 3px solid; }
.c0 .rank-dot, .c0 .pod-dot { background: var(--blue); border-color: var(--blue-d); }
.c1 .rank-dot, .c1 .pod-dot { background: var(--red); border-color: var(--red-d); }
.c2 .rank-dot, .c2 .pod-dot { background: var(--purple); border-color: var(--purple-d); }
.c3 .rank-dot, .c3 .pod-dot { background: var(--yellow); border-color: var(--yellow-d); }
.pt-reel { margin: 0 0 6px; }
.pt-reel .reel { margin: 0 -16px; }

.podium { display: flex; align-items: flex-end; justify-content: center; gap: 8px; margin: 10px -4px 14px; border-bottom: var(--outline) solid var(--ink); }
.pod { flex: 1; max-width: 120px; min-width: 0; display: flex; flex-direction: column; align-items: center; animation: pop-in 0.5s cubic-bezier(.3,1.6,.5,1) both; }
.pod:nth-child(1) { animation-delay: 0.35s; }
.pod:nth-child(2) { animation-delay: 0.7s; }
.pod:nth-child(3) { animation-delay: 0.1s; }
.pod-name { font-size: 15px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pod-dot { width: 34px; height: 34px; border-radius: 50%; border-width: 4px; margin: 4px 0 6px; }
.pod:nth-child(2) .pod-dot { width: 44px; height: 44px; animation: bob 1s ease-in-out infinite; }
.pod-step { width: 100%; background: var(--panel); border: var(--outline) solid var(--ink); border-bottom: 0; border-radius: 10px 10px 0 0; display: flex; flex-direction: column; justify-content: center; }
.pod:nth-child(2) .pod-step { background: var(--yellow); }
.pod-step span { font-size: 30px; color: #fff; }
.pod-step small { font-size: 13px; color: var(--ink); }
.pod.empty { visibility: hidden; }
.podium + .pt-rows { margin-top: -6px; }
