/* A compact, visible switch in every game phase. */
.game-sound { display:inline-flex; align-items:center; justify-content:center; gap:7px; flex-shrink:0; min-width:44px; min-height:44px; padding:8px 11px; border:1px solid #6487b866; border-radius:12px; background:#101c34; color:#d8e6fa; font-family:inherit; font-size:12px; font-weight:600; line-height:1.2; cursor:pointer; }
.game-sound svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.game-sound[aria-pressed="true"] { background:#173652; border-color:#78dda599; color:#a8f0c8; }
.game-sound[aria-pressed="true"] .sound-slash, .game-sound[aria-pressed="false"] .sound-waves { display:none; }
.game-sound:hover { border-color:#87bdff; }
.game-sound:focus-visible { outline:3px solid #87bdff; outline-offset:3px; }
.game-sound:disabled { cursor:default; opacity:.6; }
.game-sound--compact { width:44px; padding:8px; }
.game-sound--compact [data-sound-label] { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.game-sound-row { display:flex; justify-content:flex-end; padding:12px 20px; position:relative; z-index:2; }
.game-sparkles { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:4; border-radius:inherit; }
.game-sparkles i { position:absolute; left:var(--spark-x); top:-20px; width:7px; height:13px; border-radius:2px; background:var(--spark-colour); opacity:0; animation:game-spark-fall 2.5s var(--spark-delay) ease-out both; }
.game-sparkles i:nth-child(3n) { width:7px; height:7px; border-radius:50%; }
@keyframes game-spark-fall { 0% { opacity:0; transform:translate3d(0,-20px,0) rotate(0); } 12% { opacity:.9; } 100% { opacity:0; transform:translate3d(var(--spark-drift),min(80vh,780px),0) rotate(420deg); } }
.pp-winner { overflow:hidden; isolation:isolate; min-height:calc(100dvh - 70px); background:radial-gradient(ellipse at 50% 30%, #2363d72c, transparent 65%); }
.pp-winner__title { position:relative; z-index:1; }
.pp-victory-planet { position:relative; width:clamp(110px,17vw,170px); aspect-ratio:1; margin:0 auto 8px; }
.pp-victory-planet img { width:100%; height:100%; object-fit:contain; border-radius:50%; filter:drop-shadow(0 12px 30px #87bdff44); animation:game-planet-arrive .85s cubic-bezier(.2,.8,.2,1) both; }
.pp-victory-planet::before, .pp-victory-planet::after { content:""; position:absolute; inset:-12%; border:1px solid #87bdff55; border-radius:50%; transform:rotate(-25deg) scaleY(.46); }
.pp-victory-planet::after { inset:-22%; border-color:#78dda530; transform:rotate(30deg) scaleY(.55); }
.pp-victory-planet .pp-crown { position:absolute; width:32%; right:-4%; bottom:0; transform:rotate(16deg); fill:#78dda5; }
#pp-finished-title:focus { outline:none; }
.pp-winner__title, .pp-winner__line { animation:game-prize-arrive .55s ease-out both; }
.pp-podium__step { animation:game-prize-arrive .65s calc(var(--podium-order, 0) * 120ms + 180ms) ease-out both; box-shadow:0 12px 36px #050d1a44; }
.pp-podium__step--1 { background:linear-gradient(160deg,#78dda529,#2363d71c); }
.pp-podium[data-count="1"] { grid-template-columns:minmax(0,1fr); max-width:350px; }
.pp-podium[data-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:580px; }
#game-summary { position:relative; isolation:isolate; }
.game-complete-badge { display:flex; align-items:center; gap:10px; color:#a8f0c8; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin:10px 0; }
.game-complete-badge img { width:42px; height:42px; object-fit:contain; }
@keyframes game-prize-arrive { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes game-planet-arrive { from { opacity:0; transform:translateY(16px) scale(.8) rotate(-12deg); } to { opacity:1; transform:none; } }
@media(max-width:600px) { .pp-hud .game-sound { width:40px; min-width:40px; min-height:40px; } .pp-hud .game-sound [data-sound-label] { display:none; } .pp-podium { gap:7px; } .pp-podium__step { padding-inline:8px; } .pp-winner { padding:22px 16px 40px; } }
@media(min-width:601px) and (max-height:800px) {
  .pp-winner { padding:18px 28px 28px; gap:6px; }
  .pp-victory-planet { width:110px; margin:0 auto; }
  .pp-winner__title { font-size:clamp(34px,5vw,58px); gap:6px; }
  .pp-podium { margin-top:14px; }
  .pp-podium__step--1 { padding-block:20px; }
  .pp-winner__actions { margin-top:14px; }
}
.reduced-motion .game-sparkles, .pp-reduced-motion .game-sparkles { display:none; }
.reduced-motion .pp-victory-planet img, .pp-reduced-motion .pp-victory-planet img, .pp-reduced-motion .pp-winner__title, .pp-reduced-motion .pp-winner__line, .pp-reduced-motion .pp-podium__step { animation:none; }
@media(prefers-reduced-motion:reduce) { .game-sparkles { display:none; } .pp-victory-planet img, .pp-winner__title, .pp-winner__line, .pp-podium__step { animation:none; } }
