:root{--color-bg-sage:#ddebd9;--color-warm-orange:#e9a34e;--color-coral:#e97872;--color-natural-green:#3f8069;--color-warm-gold:#f2d27c;--color-muted-brown:#9b765d;--color-text-primary:#263327;--color-text-secondary:#425244;--color-text-muted:#5b6c5d;--font-display-en:"Great Vibes", cursive, "Kalam", cursive;--font-display-mr:"Rozha One", "Yatra One", serif;--font-body-en:"Poppins", system-ui, -apple-system, sans-serif;--font-body-mr:"Poppins", "Gotu", system-ui, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--color-bg-sage);width:100%;height:100%;color:var(--color-text-primary);font-family:var(--font-body-en);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden}#root{justify-content:center;align-items:center;width:100%;height:100%;min-height:100dvh;padding:0;display:flex;overflow:hidden}@media (width>=520px) and (height>=680px){body{background-color:#cadbc7}#root{padding:16px}}.diwali-card{isolation:isolate;background-color:var(--color-bg-sage);-webkit-user-select:none;user-select:none;width:100vw;height:100dvh;min-height:100dvh;max-height:100dvh;margin:0 auto;position:relative;overflow:hidden}@media (width>=520px) and (height>=680px){.diwali-card{border-radius:20px;width:min(92vw,440px);height:min(94dvh,780px);box-shadow:0 16px 50px #23372638,0 2px 10px #0000000f}}.diwali-card__background{object-fit:cover;object-position:center;z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.diwali-card__fireworks{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.diwali-card__kundils{z-index:2;pointer-events:none;width:100%;height:clamp(110px,22dvh,175px);position:absolute;top:0;left:0}.kundil-assembly{flex-direction:column;align-items:center;display:flex;position:absolute}.kundil-assembly--left{width:clamp(58px,19vw,86px);top:-4px;left:5%}.kundil-assembly--right{width:clamp(54px,17.5vw,80px);top:0;right:5%}.kundil__thread-svg{width:100%;height:auto;display:block;overflow:visible}.kundil__body-img{filter:drop-shadow(0 3px 8px #78461e26);width:100%;height:auto;display:block}.diwali-card__greeting{z-index:3;text-align:center;pointer-events:auto;-webkit-user-select:text;user-select:text;flex-direction:column;align-items:center;max-width:400px;margin:0 auto;display:flex;position:absolute;top:58%;left:6%;right:6%;transform:translateY(-50%)}.greeting__title{color:#8e2818;text-shadow:0 1px 3px #ffffffd9,0 0 12px #fff0c866;margin-bottom:clamp(8px,1.8dvh,16px);line-height:1.15}.greeting__title--en{letter-spacing:.5px;font-family:Great Vibes,cursive;font-size:clamp(2.3rem,8.8vw,3.2rem);font-weight:400}.greeting__title--mr{font-family:Rozha One,Yatra One,serif;font-size:clamp(1.45rem,5.8vw,2.05rem);font-weight:500;line-height:1.35}.greeting__message{color:var(--color-text-primary);text-shadow:0 1px 2px #ffffffe6;white-space:pre-line;max-width:95%;margin-inline:auto;font-size:clamp(.85rem,3.3vw,1.02rem);font-weight:400;line-height:1.62}.greeting__message--mr{font-family:Poppins,Gotu,sans-serif;font-size:clamp(.94rem,3.8vw,1.1rem);line-height:1.7}.greeting__sender{color:#7a3525;letter-spacing:.5px;text-shadow:0 1px 2px #fffc;margin-top:clamp(10px,2dvh,18px);font-family:Kalam,cursive;font-size:clamp(1.1rem,4.3vw,1.35rem);font-weight:700}.diwali-card__bottom{z-index:4;pointer-events:none;width:100%;height:clamp(120px,24dvh,190px);position:absolute;bottom:0;left:0}.sweets-container{z-index:4;width:clamp(140px,42vw,205px);position:absolute;bottom:clamp(10px,2.2dvh,22px);left:50%;transform:translate(-50%)}.sweets-plate-img{filter:drop-shadow(0 6px 14px #3c28142e);width:100%;height:auto;display:block}.diya-container{flex-direction:column;align-items:center;display:flex;position:absolute}.diya-container--left{z-index:5;width:clamp(80px,26vw,125px);bottom:clamp(12px,2.8dvh,26px);left:clamp(4px,2.5vw,16px)}.diya-container--right{z-index:5;width:clamp(84px,27vw,130px);bottom:clamp(12px,2.8dvh,26px);right:clamp(4px,2.5vw,16px)}.diya-flame-wrapper{z-index:6;pointer-events:none;position:absolute}.diya-container--left .diya-flame-wrapper{top:-34px;left:44%;transform:translate(-50%)}.diya-container--right .diya-flame-wrapper{top:-36px;left:54%;transform:translate(-50%)}.diya-body-img{filter:drop-shadow(0 5px 12px #3c281429);width:100%;height:auto;display:block}@keyframes kundilOuterLeft{0%,to{transform:rotate(-4.5deg)}50%{transform:rotate(4.2deg)}}@keyframes kundilInnerLeft{0%,to{transform:rotate(2.8deg)}50%{transform:rotate(-3deg)}}@keyframes kundilOuterRight{0%,to{transform:rotate(4.2deg)}50%{transform:rotate(-4.5deg)}}@keyframes kundilInnerRight{0%,to{transform:rotate(-2.8deg)}50%{transform:rotate(3deg)}}.kundil__pivot-outer,.kundil__pivot-inner{transform-origin:50% 0;will-change:transform;width:100%;display:block}.kundil-assembly--left .kundil__pivot-outer{animation:4.4s ease-in-out infinite kundilOuterLeft}.kundil-assembly--left .kundil__pivot-inner{animation:3.2s ease-in-out -.6s infinite kundilInnerLeft}.kundil-assembly--right .kundil__pivot-outer{animation:4.9s ease-in-out -1.6s infinite kundilOuterRight}.kundil-assembly--right .kundil__pivot-inner{animation:3.6s ease-in-out -1.1s infinite kundilInnerRight}@keyframes flameFlickerLeft{0%,to{opacity:.94;transform:scale(1)skew(0)}25%{opacity:1;transform:scale(1.05,.96)skew(1.8deg)}50%{opacity:.91;transform:scale(.96,1.05)skew(-2deg)}75%{opacity:.98;transform:scale(1.03,.97)skew(1.2deg)}}@keyframes flameFlickerRight{0%,to{opacity:.93;transform:scale(1)skew(0)}30%{opacity:.91;transform:scale(.95,1.05)skew(-1.8deg)}60%{opacity:1;transform:scale(1.06,.95)skew(1.6deg)}85%{opacity:.95;transform:scale(.98,1.02)skew(-1deg)}}@keyframes flameGlowPulse{0%,to{opacity:.65;transform:scale(1)}50%{opacity:.9;transform:scale(1.12)}}.diya-flame-wrapper--left .diya-flame-svg{transform-origin:50% 90%;will-change:transform, opacity;animation:2.4s ease-in-out infinite flameFlickerLeft}.diya-flame-wrapper--right .diya-flame-svg{transform-origin:50% 90%;will-change:transform, opacity;animation:2.8s ease-in-out -.8s infinite flameFlickerRight}.diya-flame__glow{transform-origin:32px 56px;will-change:transform, opacity;animation:2.1s ease-in-out infinite flameGlowPulse}.watercolor-firework-burst{pointer-events:none;z-index:1;position:absolute;overflow:visible;transform:translate(-50%,-50%)}@keyframes ambientTwinkle{0%,to{opacity:.15;transform:scale(.6)rotate(0)}50%{opacity:.9;transform:scale(1.2)rotate(18deg)}}.ambient-sparkle{pointer-events:none;z-index:1;-webkit-animation:ambientTwinkle var(--sparkle-duration,3.5s) ease-in-out infinite;animation:ambientTwinkle var(--sparkle-duration,3.5s) ease-in-out infinite;animation-delay:var(--sparkle-delay,0s);-webkit-animation-delay:var(--sparkle-delay,0s);position:absolute;transform:translate(-50%,-50%)}@keyframes wfBloom{0%{opacity:0;transform:scale(.08)}20%{opacity:.95;transform:scale(1.15)}60%{opacity:.55;transform:scale(1.45)}to{opacity:0;transform:scale(1.75)}}.firework-svg__bloom{transform-origin:0 0;-webkit-animation:wfBloom var(--burst-duration,1.4s) cubic-bezier(.18, .9, .35, 1) forwards;animation:wfBloom var(--burst-duration,1.4s) cubic-bezier(.18, .9, .35, 1) forwards;will-change:transform, opacity}@keyframes wfRayExpand{0%{opacity:0;transform:scale(.06)}16%{opacity:1;transform:scale(.68)}50%{opacity:.92;transform:scale(1)}78%{opacity:.7;transform:scale(1.06)}to{opacity:0;transform:scale(1.12)}}.firework-svg__rays-group{transform-origin:0 0;-webkit-animation:wfRayExpand var(--burst-duration,1.4s) cubic-bezier(.12, .88, .35, 1) forwards;animation:wfRayExpand var(--burst-duration,1.4s) cubic-bezier(.12, .88, .35, 1) forwards;will-change:transform, opacity}@keyframes wfTrailLine{0%{opacity:0}14%{opacity:.42}35%{opacity:.22}65%{opacity:.08}to{opacity:0}}.firework-svg__trail-line{-webkit-animation:wfTrailLine var(--burst-duration,1.4s) cubic-bezier(.2, .8, .4, 1) forwards;animation:wfTrailLine var(--burst-duration,1.4s) cubic-bezier(.2, .8, .4, 1) forwards}@keyframes greetingFadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.greeting__title{opacity:0;animation:1.2s cubic-bezier(.16,1,.3,1) .4s forwards greetingFadeUp}.greeting__message{opacity:0;animation:1.2s cubic-bezier(.16,1,.3,1) .9s forwards greetingFadeUp}.greeting__sender{opacity:0;animation:1.1s cubic-bezier(.16,1,.3,1) 1.4s forwards greetingFadeUp}@media (prefers-reduced-motion:reduce){.greeting__title,.greeting__message,.greeting__sender{opacity:1!important;animation:none!important;transform:none!important}}
