/* Citrus Pinball — hidden easter egg styles */
#cp-overlay { position: fixed; inset: 0; z-index: 9999; background: radial-gradient(ellipse at center, #1a0030 0%, #050010 100%); display: none; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.35s ease; touch-action: none; }
#cp-overlay.open { display: flex; opacity: 1; }
#cp-stage { position: relative; width: min(420px, 92vw); height: min(720px, 92vh); aspect-ratio: 420 / 720; max-height: 92vh; }
#cp-canvas { width: 100%; height: 100%; display: block; border-radius: 14px; box-shadow: 0 0 60px rgba(100,80,255,0.35), 0 0 30px rgba(0,180,255,0.2), inset 0 0 0 1px rgba(160,180,255,0.25); background: #04020e; }
#cp-hud { position: absolute; top: 10px; left: 14px; right: 14px; display: flex; justify-content: space-between; align-items: center; font-family: 'Nunito', sans-serif; color: #FFF7E8; pointer-events: none; text-shadow: 0 1px 4px rgba(0,0,0,0.8); z-index: 2; }
#cp-score { font-size: 22px; font-weight: 800; letter-spacing: 0.05em; }
#cp-score small { display: block; font-size: 10px; font-weight: 600; opacity: 0.7; letter-spacing: 0.15em; text-transform: uppercase; }
#cp-balls { font-size: 14px; font-weight: 700; opacity: 0.85; }
#cp-balls .dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: #F39C2A; margin-left: 4px; box-shadow: 0 0 6px rgba(243,156,42,0.7); }
#cp-balls .dot.gone { background: #5a3820; box-shadow: none; }
#cp-close { position: absolute; top: 10px; right: 10px; z-index: 3; width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(255,247,232,0.1); color: #FFF7E8; font-size: 18px; cursor: pointer; transition: background 0.15s; }
#cp-close:hover { background: rgba(243,156,42,0.3); }
#cp-hint { position: absolute; bottom: 10px; left: 0; right: 0; text-align: center; font-family: 'Inter', sans-serif; font-size: 11px; color: rgba(255,247,232,0.5); letter-spacing: 0.1em; text-transform: uppercase; pointer-events: none; z-index: 2; }
#cp-msg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: 'Nunito', sans-serif; font-weight: 900; font-size: 44px; color: #F39C2A; text-shadow: 0 4px 20px rgba(0,0,0,0.8); pointer-events: none; opacity: 0; transition: opacity 0.3s; z-index: 3; letter-spacing: 0.05em; }
#cp-msg.show { opacity: 1; }
.cp-bouncer { position: fixed; width: 60px; height: 60px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #FFD080 0%, #F39C2A 50%, #C8721C 100%); z-index: 10000; pointer-events: none; box-shadow: 0 0 30px rgba(243,156,42,0.8); }
