/* Falling Words Game Styles */
#falling-game{display:none;flex-direction:column;height:100vh;padding:12px 12px 8px}
.falling-area{flex:1;position:relative;overflow:hidden;background:linear-gradient(to bottom,#FFF8F0 0%,#FFE8D6 100%);border-radius:20px;border:2px solid #FFE0D0;margin-bottom:10px}
.falling-word{position:absolute;display:flex;flex-direction:column;align-items:center;gap:8px;left:50%;transform:translateX(-50%)}
.falling-emoji{font-size:48px;line-height:1}
.falling-text{font-family:'Baloo 2',cursive;font-size:32px;font-weight:800;color:#FF6B35;text-shadow:2px 2px 0 rgba(255,107,53,0.2);white-space:nowrap}
.falling-word.falling{animation:fall 10s linear forwards}
.falling-word.exploding{animation:explode 0.5s ease-out forwards}

.control-area{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;background:white;border-radius:16px;border:2px solid #E2E8F0}
.speak-btn{width:80px;height:80px;border-radius:50%;background:#FF6B35;border:none;font-size:36px;cursor:pointer;transition:all 0.15s;box-shadow:0 4px 16px rgba(255,107,53,0.35);display:flex;align-items:center;justify-content:center;user-select:none}
.speak-btn:active{transform:scale(0.95)}
.speak-btn.listening{animation:pulse 1s infinite;background:#22C55E}
.speak-status{font-size:14px;color:#718096;text-align:center}
.speak-status.listening{color:#22C55E;font-weight:700}

.result-box{background:#F0FDF4;border:2px solid #22C55E;border-radius:12px;padding:12px;text-align:center;width:100%;max-width:400px;margin-top:8px;display:none}
.result-box.show{display:block;animation:popIn 0.3s ease}
.result-text{font-size:15px;color:#2D3748;margin-bottom:4px}
.result-correct{font-size:18px;font-weight:800;color:#22C55E}
.result-wrong{font-size:18px;font-weight:800;color:#EF4444}

.particle{position:absolute;width:8px;height:8px;border-radius:50%;pointer-events:none}

@keyframes fall{0%{top:-60px}100%{top:100%}}
@keyframes explode{0%{transform:translateX(-50%) scale(1);opacity:1}50%{transform:translateX(-50%) scale(1.5);opacity:0.8}100%{transform:translateX(-50%) scale(2);opacity:0}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
