:root{color-scheme:light;--holy-gold:#e7c078;--holy-glow:rgba(255,196,92,.49);--rose:#9b3c38;--flora-filter:none}
*{box-sizing:border-box}
html,body{padding:0;margin:0;width:100%;height:100%;overflow:hidden;background:transparent!important;user-select:none;-webkit-user-select:none;pointer-events:none}
body{font-synthesis:none}
.aura{position:fixed;inset:0;overflow:hidden;background:transparent!important;isolation:isolate;pointer-events:none;font-family:Georgia,'Nirmala UI','Noto Serif Kannada','Noto Sans',serif}
.aura.theme-royal{--holy-gold:#ffdf9b;--holy-glow:rgba(244,161,67,.46);--flora-filter:saturate(1.06) sepia(.07)}
.aura.theme-vermillion{--holy-gold:#f5c48d;--holy-glow:rgba(245,119,60,.45);--flora-filter:hue-rotate(-10deg) saturate(1.17)}
.top-orbit{position:absolute;inset:0 0 auto;height:236px;overflow:visible;transform-origin:center top;filter:drop-shadow(0 7px 7px rgba(14,18,9,.27));transition:opacity .6s ease}
.top-orbit:before{content:"";height:12px;position:absolute;inset:0 0 auto;background:linear-gradient(180deg,rgba(42,24,14,.8),rgba(177,112,34,.94) 32%,rgba(247,205,108,.98) 50%,rgba(110,57,29,.9) 77%,rgba(45,31,21,.55));box-shadow:0 3px 8px rgba(22,18,9,.25);z-index:8}
.top-orbit:after{content:"";height:4px;position:absolute;inset:12px 0 auto;background:repeating-linear-gradient(90deg,rgba(255,225,130,.85) 0 3px,rgba(87,37,23,.6) 3px 7px,rgba(255,225,130,.6) 7px 10px);opacity:.8;z-index:8}
.leaf-awning,.flower-awning{position:absolute;inset:0;overflow:visible}
.leaf-awning{z-index:1;filter:saturate(.86)}
.flower-awning{z-index:4;filter:var(--flora-filter)}
.mango-leaf{width:54px;height:160px;position:absolute;top:11px;transform-origin:50% 3%;will-change:transform;animation:leaf-breath var(--sway-time,7s) ease-in-out infinite alternate}
.mango-leaf img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(1px 5px 2px rgba(0,14,4,.25))}
.flower-head{position:absolute;top:0;width:30px;height:30px;object-fit:contain;transform:translate(-50%,-50%) rotate(var(--flower-rotation,0deg));filter:drop-shadow(0 1px 2px rgba(35,24,6,.42));user-select:none}
.silk-edge{position:absolute;inset:8px 0 auto;height:7px;background:linear-gradient(180deg,#592a1f 0%,#bd823d 30%,#fff0a1 50%,#9c4c29 69%,#551b18 100%);z-index:10;box-shadow:0 2px 2px #3214067d}
.jasmine-rope{position:absolute;top:27px;width:18px;height:122px;z-index:5;border-left:2px solid rgba(217,185,124,.62);border-right:1px solid rgba(75,43,25,.26);background:radial-gradient(ellipse 9px 7px at 50% 45%,#fffae5 0%,#eee8ce 48%,#bbab80 75%,transparent 85%) center top/17px 15px repeat-y;filter:drop-shadow(0 2px 1px rgba(0,0,0,.26))}
.jasmine-rope:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,#922f31 0 3px,transparent 4px) center top/19px 37px repeat-y;opacity:.92}
.rope-left{left:8.5%;transform:rotate(3deg)}.rope-right{right:8.5%;transform:rotate(-3deg)}.rope-middle{left:calc(50% - 9px);height:141px}
.bell-hanger{position:absolute;width:65px;height:93px;top:136px;z-index:6;transform-origin:50% 0;filter:drop-shadow(0 5px 8px rgba(65,33,4,.33));will-change:transform}
.bell-hanger img{display:block;width:100%;height:100%;object-fit:contain}
.bell-left{left:calc(8.5% - 25px)}.bell-right{right:calc(8.5% - 25px)}.bell-center{left:calc(50% - 33px);top:156px;width:74px;height:102px}
.bell-hanger.is-ringing{animation:bell-swing 1.45s cubic-bezier(.24,.8,.25,1)}
.ambient,.petal-sky{position:absolute;inset:0;overflow:hidden;z-index:5}
.ambient{z-index:2}.dust{position:absolute;border-radius:100%;background:#ffe0a4;box-shadow:0 0 8px 2px rgba(253,213,143,.5);will-change:transform,opacity;animation:dust-wander var(--dur,12s) ease-in-out infinite alternate}
.petal-sky{z-index:11}.petal{position:absolute;top:-85px;width:18px;height:24px;background:center/contain no-repeat;filter:drop-shadow(1px 3px 2px rgba(78,39,8,.15));opacity:0;transform-origin:center;animation:petal-drift var(--fall-duration,8s) var(--fall-delay,0s) linear forwards;will-change:transform,opacity}
.blessing{position:absolute;left:50%;top:46%;width:min(620px,90vw);height:392px;z-index:12;opacity:0;transform:translate(-50%,-50%) scale(var(--scale,1));text-align:center;filter:brightness(var(--blessing-brightness,1));pointer-events:none}
.blessing.is-visible{animation:holy-appearance 10.2s cubic-bezier(.2,.8,.3,1) forwards}
.blessing-halo{position:absolute;left:50%;top:39%;width:740px;height:580px;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 8deg at 50% 50%,rgba(255,218,147,.16) 0deg,rgba(255,218,147,.005) 11deg,rgba(255,218,147,0) 16deg,rgba(255,218,147,.12) 20deg);-webkit-mask-image:radial-gradient(ellipse,black 9%,transparent 67%);mask-image:radial-gradient(ellipse,black 9%,transparent 67%);filter:blur(13px);animation:light-turn 13s linear infinite}
.blessing-sun{position:absolute;width:500px;height:380px;top:-24px;left:50%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(104,61,25,.25) 0%,rgba(255,235,173,.43) 21%,rgba(251,209,127,.22) 35%,rgba(255,195,88,.06) 49%,transparent 70%);filter:blur(21px)}
.tripundra{position:absolute;top:16px;left:50%;width:390px;height:235px;max-width:85%;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 0 18px rgba(255,244,193,.72)) drop-shadow(0 0 38px var(--holy-glow))}
.blessing-script{position:absolute;top:232px;left:2%;width:96%;white-space:nowrap;text-align:center;font-family:'Nirmala UI','Noto Serif Kannada','Noto Sans Telugu','Noto Sans Malayalam','Noto Sans Devanagari',Georgia,serif;font-size:clamp(22px,3vw,31px);font-weight:600;line-height:1.4;letter-spacing:.015em;color:#fff0c9;-webkit-text-stroke:.3px rgba(45,29,13,.8);text-shadow:0 2px 1px #472e1b,1px 1px 3px #462b10,-1px -1px 5px #573714,0 0 20px rgba(226,160,83,.85)}
.blessing-subtext{position:absolute;top:287px;width:100%;text-align:center;color:#ffe0a3;font:600 12px/1.5 Georgia,'Times New Roman',serif;letter-spacing:.34em;text-shadow:0 1px 2px #5c2d0b,0 0 9px rgba(108,60,11,.85);-webkit-text-stroke:.25px #583c23}
.blessing-flourish{position:absolute;left:50%;top:328px;display:flex;align-items:center;gap:15px;transform:translateX(-50%);opacity:.75}
.blessing-flourish span{height:1px;width:72px;background:linear-gradient(90deg,transparent,#e6be68)}.blessing-flourish span:last-child{transform:rotate(180deg)}.blessing-flourish i{width:8px;height:8px;transform:rotate(45deg);background:var(--holy-gold);box-shadow:0 0 9px #f5d47d}
.diya-corner{position:absolute;width:210px;height:152px;bottom:40px;z-index:7;filter:drop-shadow(0 3px 5px rgba(14,10,4,.34));transition:opacity .45s ease;transform-origin:bottom center}
.diya-left{left:18px}.diya-right{right:18px;transform:scaleX(-1)}
.diya-corner img{width:210px;height:133px;position:absolute;bottom:0;left:0;object-fit:contain}
.diya-bloom{position:absolute;left:40px;bottom:-20px;width:135px;height:170px;background:radial-gradient(ellipse at 50% 68%,rgba(255,173,56,.24),rgba(248,142,31,.1) 29%,transparent 64%);filter:blur(16px);animation:aura-breathe 2.8s ease-in-out infinite alternate}
.diya-flame{position:absolute;bottom:72px;left:95px;width:25px;height:63px;border-radius:60% 4% 63% 49%;transform:rotate(1deg);transform-origin:50% 100%;background:radial-gradient(ellipse at 46% 76%,#fffefa 0%,#ffe48b 25%,#ffb13c 52%,rgba(253,97,15,.8) 70%,rgba(250,75,0,0) 87%);filter:drop-shadow(0 0 6px rgba(255,194,77,.9)) drop-shadow(0 0 22px rgba(255,164,31,.72));animation:flame-flicker 1.25s ease-in-out infinite alternate;z-index:3}
.diya-flame span{display:block;position:absolute;bottom:4px;left:8px;width:10px;height:28px;background:#fff9d6;border-radius:55% 15% 55% 45%;filter:blur(2px)}
.diya-spark{position:absolute;left:103px;bottom:137px;width:3px;height:3px;background:#ffdb92;border-radius:100%;box-shadow:0 0 9px 3px #f7b959;opacity:.6;animation:spark-rise 3s ease-in-out infinite}.spark-two{left:114px;animation-delay:1.3s}
.aura.no-toran .leaf-awning,.aura.no-toran .flower-awning,.aura.no-toran .silk-edge,.aura.no-bells .bell-hanger,.aura.no-diyas .diya-corner,.aura.no-ambient .ambient{opacity:0;visibility:hidden}
.aura.no-bells .jasmine-rope{height:55px}.aura.no-bells .bell-hanger{display:none}
.aura.no-greeting .blessing-script,.aura.no-greeting .blessing-subtext,.aura.no-greeting .blessing-flourish{visibility:hidden}
.aura.no-naamam .tripundra{visibility:hidden}
.aura.no-particles .petal{display:none}
.aura.less-motion .dust,.aura.less-motion .mango-leaf,.aura.less-motion .diya-flame,.aura.less-motion .diya-spark,.aura.less-motion .diya-bloom{animation:none!important}
.aura.less-motion .petal{display:none}
.aura.less-motion .blessing.is-visible{animation:holy-appearance-still 4s ease forwards}
@keyframes leaf-breath{0%{transform:rotate(calc(var(--angle,0deg) - 2.6deg))}100%{transform:rotate(calc(var(--angle,0deg) + 2.6deg))}}
@keyframes dust-wander{0%{transform:translate3d(-15px,10px,0) scale(.7);opacity:.08}45%{opacity:.54}100%{transform:translate3d(22px,-40px,0) scale(1.2);opacity:.07}}
@keyframes bell-swing{0%,100%{transform:rotate(0)}12%{transform:rotate(20deg)}28%{transform:rotate(-17deg)}46%{transform:rotate(12deg)}62%{transform:rotate(-7deg)}80%{transform:rotate(3deg)}}
@keyframes holy-appearance{0%{opacity:0;transform:translate(-50%,-49%) scale(calc(var(--scale,1)*.89));filter:brightness(2)}12%{opacity:1;transform:translate(-50%,-50%) scale(calc(var(--scale,1)*1.04));filter:brightness(1.3)}19%,72%{opacity:1;transform:translate(-50%,-50%) scale(var(--scale,1));filter:brightness(var(--blessing-brightness,1))}100%{opacity:0;transform:translate(-50%,-52%) scale(calc(var(--scale,1)*1.03));filter:brightness(1)}}
@keyframes holy-appearance-still{0%{opacity:0}12%,70%{opacity:1}100%{opacity:0}}
@keyframes light-turn{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes petal-drift{0%{opacity:0;transform:translate3d(0,-50px,0) rotate(0deg) rotateY(0deg)}7%{opacity:var(--petal-opacity,.8)}88%{opacity:var(--petal-opacity,.8)}100%{opacity:0;transform:translate3d(var(--drift,190px),calc(100vh + 140px),0) rotate(var(--spin,540deg)) rotateY(780deg)}}
@keyframes flame-flicker{0%{transform:rotate(-5deg) scaleX(.78) scaleY(.94)}40%{transform:rotate(3deg) scaleX(.92) scaleY(1.09)}100%{transform:rotate(-3deg) scaleX(.85) scaleY(1.04)}}
@keyframes aura-breathe{0%{opacity:.54;transform:scale(.91)}100%{opacity:.94;transform:scale(1.08)}}
@keyframes spark-rise{0%{opacity:0;transform:translate3d(0,0,0)}30%{opacity:.62}100%{opacity:0;transform:translate3d(-15px,-42px,0)}}
@media(max-width:720px){.top-orbit{transform:scaleY(.76)}.bell-center{display:none}.rope-middle{display:none}.bell-hanger{transform:scale(.75)}.blessing{top:44%;width:95vw}.blessing-script{font-size:clamp(17px,4.5vw,27px)}.blessing-subtext{font-size:10px;letter-spacing:.22em}.diya-corner{transform:scale(.72);bottom:2px}.diya-left{transform-origin:bottom left;left:0}.diya-right{transform:scale(-.72,.72);transform-origin:bottom right;right:0}}
@media(prefers-reduced-motion:reduce){.dust,.mango-leaf,.diya-flame,.diya-spark,.diya-bloom{animation:none!important}}
