.pn-layout { display: grid; gap: 24px; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 860px) { .pn-layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
.pn-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pn-chip { height: auto; min-height: 44px; padding: 0 14px; font-size: 14px; }
.pn-details summary, .pn-players summary { cursor: pointer; font-weight: 800; min-height: 40px; display: flex; align-items: center; }
.pn-players summary { font-weight: 700; font-size: 14px; color: var(--text-2); }
.pn-details[open] summary { margin-bottom: 10px; }

/* 슬롯 머신 */
.pn-machine {
  position: relative; padding: 18px 14px 16px; border-radius: var(--radius-xl);
  background: linear-gradient(160deg, #ff6b4a, #e5383b 55%, #b3261e); box-shadow: 0 16px 40px rgba(229, 56, 59, .28);
  display: flex; flex-direction: column; gap: 10px;
}
.pn-lights {
  height: 10px; border-radius: 999px; margin: 0 6px 2px;
  background: repeating-linear-gradient(90deg, #ffd66b 0 10px, transparent 10px 20px);
  opacity: .9;
}
.is-spinning .pn-lights { animation: pn-blink .35s steps(2) infinite; }
@keyframes pn-blink { 50% { opacity: .35; } }
.pn-reel {
  position: relative; height: 112px; overflow: hidden; border-radius: 16px; background: #fffdf8; color: #1d2030;
  box-shadow: inset 0 8px 14px rgba(0, 0, 0, .18), inset 0 -8px 14px rgba(0, 0, 0, .18); cursor: pointer;
}
.pn-reel-name { height: 64px; }
.pn-reel::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 0, 0, .14), transparent 30%, transparent 70%, rgba(0, 0, 0, .14));
}
.pn-strip { will-change: transform; }
.pn-item {
  height: 112px; display: flex; align-items: center; justify-content: center; padding: 8px 14px; text-align: center;
  font-size: clamp(18px, 5vw, 25px); font-weight: 900; letter-spacing: -0.03em; line-height: 1.3;
}
.pn-item > span { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.pn-reel-name .pn-item { height: 64px; font-size: clamp(20px, 5.6vw, 26px); color: #b3261e; }
.pn-item.is-ph { color: #8a8fa3; font-size: 18px; font-weight: 800; }
.pn-item.is-landed { animation: bb-pop .4s cubic-bezier(.2, 1.4, .4, 1); }
.pn-live { margin: 0; min-height: 1.5em; text-align: center; font-weight: 800; font-size: clamp(17px, 4.6vw, 22px); }
.pn-history { margin: 8px 0 0; padding-left: 1.4em; display: grid; gap: 4px; font-weight: 600; max-height: 240px; overflow: auto; }
.pn-history li:first-child { color: var(--primary); }
.pn-m-person { margin: 0; font-weight: 900; color: var(--primary); font-size: 20px; }
.pn-m-text { margin: 0; font-size: 24px; font-weight: 900; color: var(--text); line-height: 1.4; }
.game-shell.is-full .pn-layout { flex: 1; align-content: center; }
.game-shell.is-full .pn-reel-pen, .game-shell.is-full .pn-reel-pen .pn-item { height: 150px; }
.game-shell.is-full .pn-reel-pen .pn-item { font-size: clamp(22px, 3.4vw, 36px); }
