🎯 Prompt follow-up tecnico e di stile per V0:sqlCopiaModifica⚠️ Please fix and improve the following aspects of the app: 1. 🐞 Bug: Empty result on first spin When the "spin" button is clicked for the first time, the app shows "unknown" or nothing. This happens because of the condition: ```js if (themeIndex === null || characterIndex === null || challengeIndex === null) return <div>Spin the wheel</div>; Since setTimeout is used in handleSpin, the indexes update after the render happens, and the UI temporarily shows the default fallback.🔧 Fix:Introduce a boolean state like hasSpun, and change the logic as follows:jsCopiaModificaconst [hasSpun, setHasSpun] = useState(false); const handleSpin = () => { if (spinning) return; setSpinning(true); setTimeout(() => { setThemeIndex(randomIndex(themes)); setCharacterIndex(randomIndex(characters)); setChallengeIndex(randomIndex(challenges)); setSpinning(false); setHasSpun(true); }, 1000); }; ... if (!hasSpun) return <div>Click spin to generate a scene!</div>; This will avoid displaying undefined or "Spin the wheel" after clicking.🔁 Avoid repeating same result twiceImprove the randomIndex function to avoid returning the same result twice in a row. You can store the previous index and retry until the result changes (unless there's only 1 item). Not required, but improves user experience.🎨 Styling and animation improvementsAdd a soft background or card-style container for each of the 3 result columns.Add hover or active effects to the spin button (e.g., change color or scale slightly).Improve spacing and padding on mobile view.Use slightly larger and more readable fonts (especially for youth audiences).💡 Important: Currently, only the middle column ("character") animates when spinning. This creates a jumpy effect. Please make all 3 columns animate in sync.Instead of moving the whole column, add an internal emoji animation inside each result box — for example:Show a fast loop of random, related emojis (🎭, 🌱, 👤, 🧠, 📱, etc.) during spinningAfter 1 second, stop and show the final selected contentThis keeps all columns visually stable and creates a smoother experience.