:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}#root{width:100%;height:100vh}button{font-family:inherit;cursor:pointer;transition:all .3s ease}button:focus,button:focus-visible{outline:2px solid #ffd700;outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:linear-gradient(45deg,#ff6b35,#f7931e);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(45deg,#f7931e,gold)}::selection{background:#ff6b354d;color:#fff}::-moz-selection{background:#ff6b354d;color:#fff}.sphere-button{width:160px;height:160px;border-radius:50%;border:none;background:radial-gradient(circle at 30% 30%,#fff6e0,#ffd54f 15%,#ffb300 40%,#ff6b35 80%);background-size:200% 200%;color:#fff;font-size:18px;font-weight:800;letter-spacing:1px;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 10px 30px #ff8c0073,0 0 60px #ffc10759,inset 0 0 25px #ffffff40;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease;animation:float 4s ease-in-out infinite,gradientShift 6s ease-in-out infinite}.sphere-button .label{position:relative;z-index:2;display:inline-block;background:linear-gradient(90deg,#fff,#fff8e1,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 100%;animation:shimmer 3s linear infinite}.sphere-button .aura{position:absolute;inset:-20%;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.25),rgba(255,107,53,.12),transparent 70%);filter:blur(12px);z-index:0}.sphere-button .ring{position:absolute;inset:12px;border-radius:50%;border:2px dashed rgba(255,255,255,.35);box-shadow:0 0 20px #ffd70059 inset;animation:spin 8s linear infinite;z-index:1}.sphere-button .orbit{position:absolute;top:50%;left:50%;width:10px;height:10px;background:radial-gradient(circle,#fff,#ffe082);border-radius:50%;transform-origin:-50px -50px;box-shadow:0 0 12px #ffffffb3;z-index:1}.sphere-button .orbit-1{animation:orbit 3.8s linear infinite}.sphere-button .orbit-2{animation:orbit 5.2s linear infinite;transform-origin:-65px -65px;opacity:.8}.sphere-button .orbit-3{animation:orbit 6.6s linear infinite;transform-origin:-80px -80px;opacity:.6}.sphere-button:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx, 50%) var(--my, 50%),rgba(255,255,255,.35),transparent 60%);opacity:0;transition:opacity .4s ease}.sphere-button:hover:after{opacity:1}.sphere-button:hover{transform:scale(1.12) rotate(4deg);box-shadow:0 12px 40px #ff8c008c,0 0 90px #ffc10773,inset 0 0 35px #ffffff4d;animation-play-state:paused}.sphere-button:active{transform:scale(.95) rotate(-2deg)}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit{0%{transform:rotate(0) translate(-50%,-50%)}to{transform:rotate(360deg) translate(-50%,-50%)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sphere-button{--mx: 50%;--my: 50%}@media (max-width: 768px){.sphere-button{width:130px;height:130px;font-size:16px}.sphere-button .ring{inset:10px}}.invitation-overlay{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .5s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.invitation-card{background:linear-gradient(135deg,#fff3e0e6,#ffe0b2d9,#ffd700cc,#ffeb3bd9,#fff3e0e6,#ffe0b2d9);background-size:200% 200%;border-radius:20px;padding:40px;max-width:500px;width:90%;text-align:center;position:relative;box-shadow:0 0 30px #ffd70099,0 0 60px #ffeb3b66,0 0 90px #ffe0b233;animation:slideIn .6s ease,backgroundShift 4s ease-in-out infinite;transition:all .3s ease;overflow:hidden}.ganesha-background{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:20px}.ganesha-bg-image{width:100%;height:100%;object-fit:cover;opacity:.15;filter:brightness(1.2) contrast(.8);animation:subtleFloat 6s ease-in-out infinite}.card-header{margin-bottom:20px;position:relative;z-index:2}.om-symbol{font-size:48px;color:#8b4513;text-shadow:0 0 20px rgba(139,69,19,.8),2px 2px 4px rgba(0,0,0,.3);animation:pulse 2s ease-in-out infinite;position:relative;z-index:2}.om-symbol:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background:radial-gradient(circle,rgba(255,215,0,.4),transparent);border-radius:50%;z-index:-1;animation:omGlow 3s ease-in-out infinite}.om-icon{width:60px;height:60px;animation:pulse 2s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(139,69,19,.4))}.card-content{margin-bottom:20px;position:relative;z-index:2}.card-title{font-size:2.5rem;font-weight:700;margin-bottom:15px;text-shadow:2px 2px 4px rgba(0,0,0,.3),0 0 10px rgba(255,255,255,.8);transition:all .3s ease;line-height:1.2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.happy-line{display:flex;justify-content:center;align-items:center}.ganesh-chaturthi-line{display:flex;justify-content:center;align-items:center;gap:8px}.happy-text{color:#8b4513;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.ganesh-text{background:linear-gradient(45deg,#ff6b35,#f7931e,gold,#ff6b35);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:900;text-shadow:none;animation:ganeshGradient 3s ease-in-out infinite;padding:0 5px;position:relative;display:inline-block}.ganesh-text:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,#ff6b35,#f7931e,gold,#ff6b35);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;z-index:-1;filter:blur(1px);opacity:.7;animation:ganeshGradient 3s ease-in-out infinite}.chaturthi-text{color:#8b4513;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.card-subtitle{font-size:1.5rem;font-weight:600;color:#d32f2f;margin-bottom:20px;text-transform:uppercase;letter-spacing:2px;text-shadow:2px 2px 4px rgba(0,0,0,.3),0 0 10px rgba(255,255,255,.8);transition:all .3s ease}.card-quote{font-size:1.3rem;font-weight:500;color:#1976d2;margin-bottom:25px;font-style:italic;text-shadow:2px 2px 4px rgba(0,0,0,.3),0 0 10px rgba(255,255,255,.8);animation:quoteGlow 2s ease-in-out infinite}.card-blessing{font-size:1.1rem;font-weight:400;color:#388e3c;line-height:1.6;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.3),0 0 10px rgba(255,255,255,.8);transition:all .3s ease}.close-button{position:absolute;top:15px;right:15px;background:#ffffffe6;border:none;font-size:24px;color:#8b4513;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:3;box-shadow:0 2px 10px #0003}.close-button:hover{background:#fff;transform:scale(1.1);box-shadow:0 4px 15px #0000004d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-50px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes backgroundShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes omGlow{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.2)}}@keyframes subtleFloat{0%,to{transform:scale(1.02) translateY(0)}50%{transform:scale(1.05) translateY(-2px)}}@keyframes ganeshGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes quoteGlow{0%,to{text-shadow:2px 2px 4px rgba(0,0,0,.3),0 0 10px rgba(255,255,255,.8)}50%{text-shadow:2px 2px 8px rgba(25,118,210,.5),0 0 15px rgba(255,255,255,1)}}@media (max-width: 600px){.invitation-card{padding:30px 20px;margin:20px}.card-title{font-size:2rem;gap:3px}.ganesh-chaturthi-line{gap:5px}.card-subtitle{font-size:1.2rem}.card-quote{font-size:1.1rem}}.App{min-height:100vh;background:radial-gradient(1200px 600px at 20% 10%,rgba(255,215,0,.08),transparent 40%),radial-gradient(1000px 500px at 80% 80%,rgba(255,140,0,.06),transparent 45%),linear-gradient(135deg,#0f0f2d,#16163a,#1b1b49);display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.App:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");opacity:.12;pointer-events:none}.App:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,215,0,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,107,53,.08) 0%,transparent 50%),radial-gradient(circle at 40% 60%,rgba(247,147,30,.08) 0%,transparent 50%);pointer-events:none}.container{text-align:center;z-index:1;position:relative;width:100%;padding:24px}.hero-card{max-width:720px;margin:0 auto;padding:36px 28px 28px;border-radius:20px;background:#ffffff0f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 40px #00000040,inset 0 0 40px #ffd70008}.main-title{font-size:3rem;font-weight:700;color:#fff;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.5);background:linear-gradient(45deg,gold,#ff6b35,#f7931e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1.1rem;color:#d5d9ee;margin-bottom:24px;font-weight:400;letter-spacing:.3px}.divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px auto 26px}.divider .dot{width:8px;height:8px;background:linear-gradient(45deg,#ffd54f,#ff7043);border-radius:50%;box-shadow:0 0 10px #ffc10799}.divider .line{width:140px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,193,7,.6),transparent)}.sphere-container{display:flex;justify-content:center;align-items:center;margin:14px 0 18px}.caption{color:#b9bfdf;font-size:.95rem;margin-top:6px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@media (max-width: 768px){.main-title{font-size:2.2rem}.subtitle{font-size:1rem}.hero-card{padding:28px 20px}}@media (max-width: 480px){.main-title{font-size:1.7rem}.subtitle{font-size:.95rem}}
