/**
 * @author      Mike Fairbrother <mike@fairbrother.me>
 * @copyright   2024-2026 Mike Fairbrother. All rights reserved.
 * @license     PROPRIETARY - No rights to copy, modify, distribute, or reuse
 *              any part of this code without explicit written permission from the author.
 */
.pm-logo { font-size: 64px; text-align: center; margin-bottom: 8px; filter: drop-shadow(0 4px 20px rgba(100,200,255,0.3)); }
.pm-title { font-size: 28px; font-weight: 800; text-align: center; background: linear-gradient(135deg, #60a5fa, #a78bfa); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 4px; }
.pm-subtitle { font-size: 14px; color: rgba(255,255,255,0.5); text-align: center; margin-bottom: 12px; }
.menu-best { font-size: 13px; color: rgba(255,255,255,0.4); text-align: center; margin-bottom: 16px; }

.pm-tables { margin: 0 0 20px; text-align: center; }
.pm-tables-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,0.35); margin-bottom: 8px; }
.pm-table-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 0 auto; max-width: 280px; }
.pm-table-btn { padding: 10px 4px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.1); background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.5); font-size: 15px; font-weight: 800; cursor: pointer; transition: all 150ms; font-family: inherit; }
.pm-table-btn.active { background: rgba(96,165,250,0.2); border-color: rgba(96,165,250,0.4); color: #60a5fa; }
.pm-select-all { background: none; border: none; color: rgba(255,255,255,0.35); font-size: 11px; font-weight: 600; cursor: pointer; margin-top: 8px; font-family: inherit; text-decoration: underline; }

#game-area { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; padding: 20px 16px; }
.pm-question { font-size: 36px; font-weight: 800; color: #fff; text-align: center; margin-bottom: 40px; min-height: 48px; }
.pm-planet-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; max-width: 350px; }
.pm-planet {
    width: 80px; height: 80px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 24px; font-weight: 800; color: #fff; cursor: pointer; transition: all 200ms;
    border: 3px solid rgba(255,255,255,0.15); position: relative; user-select: none; -webkit-tap-highlight-color: transparent;
}
.pm-planet:active { transform: scale(0.9); }
.pm-planet.correct { animation: pm-explode 500ms ease forwards; }
.pm-planet.wrong { animation: pm-shake 400ms ease; opacity: 0.4; }

@keyframes pm-explode {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.4); opacity: 0.8; box-shadow: 0 0 30px rgba(46,213,115,0.6); }
    100% { transform: scale(0); opacity: 0; }
}
@keyframes pm-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-6px); }
    75% { transform: translateX(6px); }
}

.pm-stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 20px 0; }
.pm-stat-box { background: rgba(255,255,255,0.06); border-radius: 12px; padding: 14px 8px; text-align: center; }
.pm-stat-num { display: block; font-size: 24px; font-weight: 800; color: #fff; }
.pm-stat-lbl { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: rgba(255,255,255,0.35); margin-top: 2px; }
