@keyframes pulse-glow { 0%, 100% { box-shadow: 0 0 10px currentColor; } 50% { box-shadow: 0 0 25px currentColor; } } @keyframes open-box { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-20px) scale(1.1); } 100% { transform: translateY(0) scale(1.1); } } @keyframes particle-burst { 0% { opacity: 0; transform: scale(0.5) translate(0, 0); } 20% { opacity: 1; } 100% { opacity: 0; transform: scale(2) translate(var(--tx), var(--ty)); } } .loot-box { position: relative; width: 140px; height: 140px; border-radius: 12px; transition: all 0.3s ease; transform-style: preserve-3d; } .loot-box::before { content: ''; position: absolute; inset: -4px; border-radius: 16px; background: linear-gradient(45deg, currentColor, transparent); z-index: -1; opacity: 0.7; filter: blur(8px); } .loot-box.common { color: #00FFAA; } .loot-box.rare { color: #00AAFF; } .loot-box.epic { color: #AA00FF; } .loot-box.legendary { color: #FF8C00; } .loot-box.selected { animation: pulse-glow 1.5s infinite, open-box 0.8s forwards; z-index: 20; } .coin-particle { position: absolute; width: 24px; height: 24px; background: radial-gradient(circle, #FFD700 30%, #FF8C00 100%); border-radius: 50%; pointer-events: none; z-index: 30; box-shadow: 0 0 8px #FF8C00; } .motion-blur.active { opacity: 0.3; transition: opacity 0.3s ease; } .multiplier-pill { position: relative; min-width: 96px; height: 64px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(10,10,10,0.7), rgba(30,30,30,0.7)); backdrop-filter: blur(12px); border-radius: 16px; border: 1px solid rgba(255,215,0,0.15); color: #FFD700; font-weight: bold; font-size: 1.5rem; text-shadow: 0 0 10px rgba(255,215,0,0.5); box-shadow: 0 0 20px rgba(255,215,0,0.1), inset 0 1px 1px rgba(255,255,255,0.1); transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); transform-style: preserve-3d; perspective: 500px; } .multiplier-pill::before { content: ''; position: absolute; inset: 0; border-radius: 16px; background: linear-gradient(135deg, rgba(255,215,0,0.05), transparent); pointer-events: none; } .multiplier-pill::after { content: ''; position: absolute; inset: -2px; border-radius: 18px; background: linear-gradient(135deg, rgba(255,215,0,0.2), transparent); z-index: -1; opacity: 0; transition: opacity 0.3s ease; } .multiplier-pill:hover::after { opacity: 1; } .multiplier-pill.selected { transform: scale(1.15); background: linear-gradient(135deg, rgba(30,30,30,0.9), rgba(10,10,10,0.9)); color: #FF8C00; border-color: rgba(255,140,0,0.5); box-shadow: 0 0 40px rgba(255,140,0,0.3), inset 0 0 10px rgba(255,215,0,0.2); z-index: 10; } .multiplier-pill.blurred { opacity: 0.4; filter: blur(2px); transform: scale(0.85); } .multiplier-track-bg { position: absolute; top: 50%; left: 0; right: 0; height: 1px; transform: translateY(-50%); background: linear-gradient(90deg, transparent, rgba(255,215,0,0.2), transparent); z-index: -1; } @keyframes multiplier-glow { 0% { box-shadow: 0 0 15px rgba(255,215,0,0.2); } 50% { box-shadow: 0 0 30px rgba(255,215,0,0.4); } 100% { box-shadow: 0 0 15px rgba(255,215,0,0.2); } }