@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&display=swap";.ruleta-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:#021a32;padding:20px;font-family:Montserrat,sans-serif;gap:3rem;overflow:hidden}.titulo-aniversario{text-align:center;font-weight:900;text-transform:uppercase;font-size:clamp(3rem,10vw,5rem);margin:0;background:none;-webkit-background-clip:unset;background-clip:unset;color:transparent;text-shadow:none;filter:none;display:flex;flex-direction:column;gap:-15px;line-height:.9}.titulo-aniversario span{position:relative;display:inline-block;-webkit-text-stroke:2px;padding:10px}.titulo-aniversario span:first-child{-webkit-text-stroke-color:#ff0040;filter:drop-shadow(0 0 5px #ff0040) drop-shadow(0 0 15px #ff0040)}.titulo-aniversario span:last-child{-webkit-text-stroke-color:#0080ff;filter:drop-shadow(0 0 5px #0080ff) drop-shadow(0 0 15px #0080ff)}.titulo-aniversario span:after{content:attr(data-text);position:absolute;top:10px;left:10px;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.8) 50%,transparent 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:0;opacity:.7;animation:shimmer-text 3s infinite linear;pointer-events:none}@keyframes shimmer-text{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes shimmer{}.ruleta{position:relative;width:min(90vw,650px);height:min(90vw,650px);max-height:80vh;margin-top:20px}.ruleta:before{content:"";position:absolute;top:-60px;right:-60px;bottom:-60px;left:-60px;border-radius:50%;z-index:0;background:conic-gradient(from 0deg,red,#00f,red);filter:blur(50px);opacity:.5;animation:neon-spin 2s linear infinite}.wheel{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;transition:transform 4.5s cubic-bezier(.17,.67,.2,1.02);z-index:2}.rim-outer{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;background:transparent;pointer-events:none;z-index:1;padding:8px;background:conic-gradient(from 0deg,red,#00f,red);animation:neon-spin 2s linear infinite;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#fff calc(100% - 8px));mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#fff calc(100% - 8px));filter:drop-shadow(0 0 10px rgba(255,0,0,.7)) drop-shadow(0 0 10px rgba(0,0,255,.7))}@keyframes neon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rim-inner{display:none}.indicador{position:absolute;top:15px;left:50%;transform:translate(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:20px solid #F59E0B;z-index:20;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))}.realistic-slider{width:50px;height:26px;background:#0006;border-radius:30px;position:relative;box-shadow:inset 0 2px 4px #00000080,0 1px 1px #ffffff1a;transition:all .3s ease;border:1px solid rgba(255,255,255,.1)}.realistic-slider.active{background:#00000080}.slider-track{position:absolute;top:50%;left:5px;right:5px;height:4px;background:#0000004d;border-radius:2px;transform:translateY(-50%);display:none}.slider-knob{width:20px;height:20px;border-radius:50%;position:absolute;top:2px;left:3px;background:#fff;box-shadow:0 2px 4px #0006,inset 0 -2px 2px #0003;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.realistic-slider.active .slider-knob{left:25px;box-shadow:0 0 10px #fff9,0 2px 4px #0006}.realistic-slider.active:after{content:"";position:absolute;top:50%;left:8px;width:6px;height:6px;border-radius:50%;background:#ffffff1a;transform:translateY(-50%)}.hub{position:absolute;top:37%;right:37%;bottom:37%;left:37%;width:26%;height:26%;border-radius:50%;background:linear-gradient(135deg,red,#00f);border:4px solid transparent;border-top-color:red;border-left-color:red;border-bottom-color:#00f;border-right-color:#00f;box-shadow:0 10px 20px #0009,inset 0 0 15px #ffffff4d;cursor:pointer;z-index:30;color:#fff;text-shadow:0 0 5px rgba(255,255,255,.8);font-family:Montserrat,sans-serif;font-weight:800;font-size:clamp(1.2rem,3vw,2rem);letter-spacing:1px;display:grid;place-items:center;transition:all .2s ease;text-shadow:0 2px 4px rgba(0,0,0,.5)}.hub:hover{filter:brightness(1.1);transform:scale(1.02)}.hub:active{transform:scale(.98)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{background:#fff;width:min(90vw,400px);border-radius:20px;padding:30px;text-align:center;box-shadow:0 20px 50px #0000004d;border:4px solid #F59E0B}.modal-card .emoji{font-size:50px;margin-bottom:10px}.modal-card h2{color:#d97706;margin-bottom:10px;font-weight:800}.modal-card p{font-size:1.1rem;color:#333;margin-bottom:20px}.btn-close{background:#f59e0b;color:#fff;border:none;padding:12px 24px;border-radius:99px;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 4px 10px #f59e0b66;transition:transform .2s}.btn-close:hover{transform:translateY(-2px)}@media(max-width:480px){.ruleta{width:300px;height:300px}.titulo-aniversario{font-size:2rem}}.flash-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:200;pointer-events:none;animation:flash-strobe .15s infinite;opacity:0}@keyframes flash-strobe{0%{opacity:0}50%{opacity:.8}to{opacity:0}}.globos-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;pointer-events:none;overflow:hidden}.globo{position:absolute;bottom:-100px;font-size:3rem;animation:float-up 4s ease-in infinite}@keyframes float-up{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-120vh) rotate(360deg);opacity:0}}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10000;overflow:hidden}.particula{position:absolute;pointer-events:none;border-radius:2px;animation:caer linear infinite}@keyframes caer{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.particula:nth-child(odd){animation-duration:3s}.particula:nth-child(2n){animation-duration:4s}.particula:nth-child(3n){animation-duration:2.5s}.particula:nth-child(4n){animation-duration:3.5s}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.App{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);position:relative}.App:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);animation:brillar-azul 8s ease-in-out infinite;z-index:0}@keyframes brillar-azul{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}}@media(max-width:768px)and (max-height:1024px){.App{min-height:100vh;height:auto;padding:20px 0}}@keyframes entrada{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.texto-centrado{text-align:center}.sombra-texto{text-shadow:2px 2px 4px rgba(0,0,0,.3)}.animacion-entrada{animation:entrada .6s ease-out}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a)}#root{width:100%;height:100%;display:flex;align-items:center;justify-content:center}@media(max-width:768px)and (max-height:1024px)and (min-aspect-ratio:9/16){html,body{overflow-y:auto;overflow-x:hidden}#root{min-height:100vh;height:auto;padding:10px 0}}@media(max-width:480px)and (orientation:portrait){html,body{font-size:14px}#root{padding:5px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-30px,0)}70%{transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}.animate-fadeIn{animation:fadeIn .5s ease-in-out}.animate-slideInUp{animation:slideInUp .6s ease-out}.animate-bounce{animation:bounce 1s ease-in-out}
