/* Diwali Deep: 360 × 640 illustration canvas, scaled uniformly as a whole. */
:root{color-scheme:dark;--dd-green:#385f50;--dd-gold:#f9c447;--dd-white:#fff9e9}*{box-sizing:border-box}.dd-html,.dd-body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}.dd-body{font-family:'Cormorant Garamond',Georgia,serif;background:#203f34;color:var(--dd-white);-webkit-font-smoothing:antialiased}.dd-app{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;background:radial-gradient(ellipse at center,#365b4b,#193c30)}.dd-stage{position:absolute;inset:calc(12px + env(safe-area-inset-top)) 8px calc(64px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;touch-action:none}.dd-frame{position:relative;flex:none;width:var(--width,360px);height:var(--height,640px);box-shadow:0 12px 60px #001b1a55}.dd-card{position:absolute;left:0;top:0;width:360px;height:640px;transform:scale(var(--scale,1));transform-origin:0 0;isolation:isolate;background:var(--dd-green);overflow:hidden}.dd-page{position:absolute;inset:0;background:var(--dd-green);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity 850ms ease,transform 900ms ease,visibility 0s 900ms;pointer-events:none;overflow:hidden}.dd-page.is-current{z-index:2;opacity:1;visibility:visible;transform:none;transition-delay:0s;pointer-events:auto}.dd-page.is-before{transform:translateY(-8px)}.dd-page:focus{outline:none}.dd-page>svg{position:absolute;inset:0;display:block;width:360px;height:640px;pointer-events:none}.dd-fit{position:absolute;text-align:center;--fit:1;font-size:calc(var(--base,14px)*var(--fit));display:flex;align-items:center;justify-content:center;overflow:visible;z-index:4}.dd-fit-inner{width:100%;flex:none;overflow-wrap:anywhere;text-wrap:balance}.dd-fit p,.dd-fit h1,.dd-fit h2{margin:0;max-width:100%;font-weight:400}.dd-fit p{line-height:1.36}.dd-cover-title{left:84px;top:148px;width:192px;height:55px;--base:36px;color:#eec461}.dd-cover-title h1{font-size:1em;line-height:1.12}.dd-light{position:absolute;left:76px;top:246px;width:208px;height:264px;background:none;border:0;padding:0;cursor:pointer;touch-action:none;z-index:6;-webkit-tap-highlight-color:transparent;user-select:none;--progress:0}.dd-light svg{width:100%;height:100%;overflow:visible;display:block}.dd-light .dd-flame-shape{transform-box:view-box;transform-origin:100px 170px;transform:scale(calc(.16 + var(--progress)*.84),var(--progress));opacity:var(--progress);transition:transform 70ms linear,opacity 70ms linear;filter:drop-shadow(0 0 8px #ffcf55a0)}.dd-light.is-cooling .dd-flame-shape{transition:transform 1.25s ease-out,opacity 1.25s ease-out}.dd-wick-glow{position:absolute;left:calc(50% - 5px);top:68%;width:10px;height:10px;border-radius:50%;background:#ffd26044;box-shadow:0 0 12px 4px #ffbf4b2a;pointer-events:none}.dd-cover-diya>.dd-art-glow{opacity:calc(var(--progress,0)*.07)}.dd-cover-diya>path[fill="#ad3921"],.dd-cover-diya>path[fill="#ffdf67"]{opacity:var(--progress,0)}.dd-cover-aura{position:absolute;inset:25% 7% 9%;opacity:var(--light,0);background:radial-gradient(ellipse at 50% 62%,#ffdc6440,transparent 64%);pointer-events:none;z-index:3;transition:opacity .2s}.dd-hint{position:absolute;left:60px;right:60px;top:219px;height:72px;text-align:center;z-index:7;color:#f7d68c;pointer-events:none}.dd-up{display:block;font:28px/1 Georgia,serif;animation:dd-up 1.8s ease-in-out infinite}.dd-hint-copy{left:0;top:29px;width:100%;height:23px;--base:12px;letter-spacing:.05em}.dd-tap-hint{display:block;font:9px/1.4 Inter,sans-serif;letter-spacing:.1em;margin-top:29px;opacity:.65}.dd-sparks{position:absolute;inset:5% 15% 32%;opacity:var(--progress);overflow:visible;pointer-events:none}.dd-sparks i{position:absolute;left:calc(15% + var(--i)*22%);bottom:0;width:3px;height:3px;background:#ffe59a;border-radius:50%;animation:dd-spark 2.5s ease-out infinite;animation-delay:calc(var(--i)*-.55s)}
.dd-invited{left:78px;top:77px;width:204px;height:26px;--base:10px}.dd-eyebrow{font-family:Inter,sans-serif;letter-spacing:.32em;text-transform:uppercase}.dd-party-title{left:69px;top:100px;width:222px;height:94px;--base:74px}.dd-gold-title{font-family:'Bodoni Moda',Georgia,serif;color:var(--dd-gold);line-height:1.12;font-size:1em;animation:dd-gold 5s ease-in-out infinite}.dd-party-subtitle{left:83px;top:188px;width:194px;height:50px;--base:44px}.dd-script{font-family:Allura,'Brush Script MT',cursive;font-size:1em;line-height:1.1!important}.dd-divider{position:absolute;left:122px;top:259px;width:116px;height:18px;display:flex;align-items:center;gap:5px;color:var(--dd-gold);z-index:4}.dd-divider i{height:1px;background:var(--dd-gold);flex:1;position:relative}.dd-divider i:after{content:'';position:absolute;right:0;top:-1.5px;width:4px;height:4px;border-radius:50%;background:var(--dd-gold)}.dd-divider i:first-child:after{right:auto;left:0}.dd-divider b{font-weight:400;font-size:23px;line-height:1;transform:rotate(0deg)}.dd-tagline{left:53px;top:292px;width:254px;height:43px;--base:11px}.dd-tracked{font-family:Inter,sans-serif;letter-spacing:.18em}.dd-host{left:69px;top:343px;width:222px;height:29px;--base:12px}.dd-host-line{font-style:italic;color:#ffe4a4}.dd-date{position:absolute;left:40px;top:386px;width:280px;height:67px;z-index:4;font-weight:600;letter-spacing:.12em}.dd-date .dd-fit{top:0;height:100%;--base:14px}.dd-weekday{left:0;width:91px}.dd-calendar{left:91px;width:98px;border-inline:1px solid var(--dd-gold);padding:0 7px}.dd-time{left:189px;width:91px;padding-left:8px}.dd-date-number{font-size:1.55em;color:var(--dd-gold);line-height:1!important}.dd-month,.dd-year{font-size:.9em;line-height:1.18!important;margin-top:.26em!important}.dd-party-address{left:65px;top:464px;width:230px;height:39px;--base:11px}.dd-address{letter-spacing:.12em;line-height:1.35!important;font-weight:600!important}
.dd-portrait{position:absolute;left:93px;top:108px;width:174px;height:176px;padding:6px;border:1px solid #edc253;background:linear-gradient(145deg,#e2b95844,#e2b95800 40%,#e2b95822);z-index:4;box-shadow:0 0 0 3px #385f50,0 0 0 4px #b2914e}.dd-photo-window{position:relative;width:100%;height:100%;overflow:hidden;border:1px solid #d3ad5d;background:#294d40}.dd-photo-window img{width:100%;height:100%;display:block;object-fit:cover;object-position:var(--x,50%) var(--y,50%);transform:scale(var(--zoom,1));transform-origin:var(--x,50%) var(--y,50%)}.dd-photo-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;color:#e9cf92;background:radial-gradient(ellipse,#466d57,#294d40)}.dd-photo-placeholder svg{width:76px;fill:none;stroke:#d6b55b;stroke-width:1}.dd-photo-placeholder span{font-style:italic;font-size:13px;letter-spacing:.03em}.dd-frame-corner{position:absolute;color:#ffd66c;font-style:normal;font-size:19px;line-height:1}.dd-frame-corner--tl{left:-9px;top:-9px}.dd-frame-corner--tr{right:-9px;top:-9px}.dd-frame-corner--bl{left:-9px;bottom:-9px}.dd-frame-corner--br{right:-9px;bottom:-9px}.dd-regards{left:65px;top:304px;width:230px;height:34px;--base:27px}.dd-family{left:57px;top:341px;width:246px;height:41px;--base:24px}.dd-welcome-message{left:68px;top:391px;width:224px;height:43px;--base:14px}.dd-welcome-text{letter-spacing:.04em}.dd-thanks{left:83px;top:441px;width:194px;height:35px;--base:30px}.dd-golden{color:var(--dd-gold);text-shadow:0 0 10px #f9c44722}.dd-welcome-address{left:68px;top:481px;width:224px;height:27px;--base:9px}.dd-maps{position:absolute;top:515px;left:100px;width:160px;min-height:27px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #e7bd5f80;border-radius:3px;color:#ffe5ab;background:#294d40d9;text-decoration:none;font:9px/1.3 Inter,sans-serif;z-index:7;padding:7px 4px}.dd-page--welcome>svg{--welcome:1}.dd-page--welcome .dd-rangoli{transform:translate(180px,577px) scale(.9);transform-origin:0 0}
.dd-leaves{position:absolute;inset:0;overflow:hidden;z-index:8;pointer-events:none}.dd-leaves i{position:absolute;top:-14px;left:calc(5% + var(--i)*17%);width:4px;height:7px;background:linear-gradient(130deg,#fbe195,#dca026);border-radius:85% 0 85% 0;opacity:0;animation:dd-fall calc(18s + var(--i)*1.9s) linear infinite;animation-delay:calc(var(--i)*-4.3s)}.dd-golden-flood{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 63%,#fffbd4 0%,#ffe46a 28%,#ffc326 70%,#efa316);transform:scale(.15);border-radius:50%;will-change:transform,opacity}.dd-opening .dd-golden-flood{animation:dd-flood 2s cubic-bezier(.25,.1,.2,1) both}.dd-opening .dd-hint{opacity:0;transition:opacity .2s}.dd-controls{position:absolute;bottom:calc(10px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(280px,90%);display:flex;align-items:center;justify-content:space-between;z-index:20}.dd-controls>button,.dd-music button,.dd-motion{border:1px solid #efc96965;border-radius:50%;background:#294b3ee8;color:#ffe4a2;min-width:44px;min-height:44px;font:27px/1 Georgia,serif;cursor:pointer}.dd-controls>button:disabled{opacity:.25;cursor:default}.dd-dots{display:flex}.dd-dots button{border:0;padding:0;width:44px;height:44px;display:grid;place-items:center;background:none;cursor:pointer}.dd-dots span{width:5px;height:5px;border-radius:50%;background:#b1aa79;transition:all .4s}.dd-dots [aria-current] span{width:7px;height:7px;background:#f9cd6b;box-shadow:0 0 9px #ffd57866}.dd-motion{position:absolute;left:10px;top:calc(10px + env(safe-area-inset-top));z-index:22;font:13px Inter,sans-serif;min-width:36px;min-height:36px}.dd-music{position:absolute;right:10px;bottom:calc(68px + env(safe-area-inset-bottom));z-index:22}.dd-music button{font-size:18px;min-width:40px;min-height:40px}.dd-music-status{position:absolute;right:0;bottom:46px;width:190px;font:11px/1.5 Inter,sans-serif;padding:6px;background:#193c30ed;border-radius:4px}.dd-music-status:empty{display:none}.dd-music iframe{width:1px;height:1px;position:absolute;opacity:0;pointer-events:none}.dd-controls button:focus-visible,.dd-light:focus-visible,.dd-motion:focus-visible,.dd-music button:focus-visible,.dd-maps:focus-visible{outline:2px solid #ffe3a0;outline-offset:3px}.dd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.dd-page.is-current .dd-reveal{animation:dd-reveal 850ms ease both;animation-delay:calc(var(--line,0)*110ms)}.dd-page.is-current .dd-flame{transform-box:fill-box;transform-origin:50% 100%;animation:dd-flicker 2.3s ease-in-out infinite alternate;filter:drop-shadow(0 0 2px #ffe78a)}.dd-page.is-current .dd-hanging{transform-box:view-box;transform-origin:50% 0;animation:dd-sway 6s ease-in-out infinite alternate}.dd-page.is-current .dd-art-glow{animation:dd-art-glow 5s ease-in-out infinite alternate}.dd-page:not(.is-current) *{animation-play-state:paused!important}.dd-paused *,.dd-paused *:before,.dd-paused *:after,.dd-hidden *{animation-play-state:paused!important}
@keyframes dd-up{0%,100%{transform:translateY(3px);opacity:.6}50%{transform:translateY(-4px);opacity:1}}@keyframes dd-spark{0%{transform:translateY(0) scale(.3);opacity:0}20%{opacity:.7}100%{transform:translate(7px,-100px) scale(.1);opacity:0}}@keyframes dd-fall{0%{opacity:0;transform:translate(0,0) rotate(0)}8%{opacity:.3}30%{transform:translate(9px,190px) rotate(65deg)}60%{transform:translate(-9px,390px) rotate(130deg);opacity:.2}95%{opacity:.25}100%{transform:translate(7px,665px) rotate(210deg);opacity:0}}@keyframes dd-reveal{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes dd-flicker{0%,100%{scale:.98 1;opacity:.95}30%{scale:1.03 .96;opacity:.85}65%{scale:.96 1.035;opacity:1}}@keyframes dd-sway{from{rotate:-.5deg}to{rotate:.5deg}}@keyframes dd-gold{0%,100%{text-shadow:0 0 3px #ffc64c11}50%{text-shadow:0 0 14px #ffc64c4d}}@keyframes dd-art-glow{from{filter:brightness(.92)}to{filter:brightness(1.2)}}@keyframes dd-flood{0%{opacity:0;transform:scale(.1)}40%{opacity:.96;transform:scale(1.7)}57%{opacity:1;transform:scale(1.7)}100%{opacity:0;transform:scale(1.7)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.dd-leaves,.dd-sparks,.dd-golden-flood{display:none}.dd-reveal{opacity:1;translate:none}.dd-page{transform:none}.dd-motion{display:none}}@media(max-height:440px){.dd-stage{inset:6px 8px 52px}.dd-controls{bottom:4px}.dd-music{bottom:54px}}
/* Keep the entrance reveal and continuous gold breathing on the same heading. */
.dd-page.is-current .dd-gold-title.dd-reveal{animation:dd-reveal 850ms ease both,dd-gold 5s ease-in-out infinite;animation-delay:calc(var(--line,0)*110ms),0s}
/* The visual map label is small; its invisible touch target stays finger-sized after scaling. */
.dd-maps:after{content:'';position:absolute;inset:calc(-14px / var(--scale,1)) -5px}
.dd-page.is-current .dd-trim-glow{animation:dd-trim-glow 6s ease-in-out infinite alternate}.dd-page.is-current .dd-rangoli{animation:dd-rangoli-glow 7s ease-in-out infinite alternate}
@keyframes dd-trim-glow{from{filter:drop-shadow(0 0 .2px #ffd77244)}to{filter:drop-shadow(0 0 1.8px #ffd77299)}}@keyframes dd-rangoli-glow{from{filter:brightness(.97)}to{filter:brightness(1.08)}}
