:root{--navy:#080b1d;--night:#111631;--gold:#f3d398;--muted:#a6a0ac;--orange:#ffb653;--cream:#fff6e3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse 75% 48% at 50% 39%,#191934 0%,#0b1025 58%,#080b1d 100%);color:var(--cream);font-family:'DM Sans',Arial,sans-serif;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(236,176,91,.035) 50%,transparent 100%);z-index:1}#particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:9}.grain{position:fixed;inset:0;pointer-events:none;z-index:7;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E")}.topbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:25px max(24px,calc((100vw - 1040px)/2));z-index:20}.brand{font-size:10px;letter-spacing:3px;color:#d6bd8c;font-weight:700}.sound{background:transparent;border:1px solid #a28a584d;color:var(--gold);font-size:12px;border-radius:40px;padding:9px 13px;cursor:pointer}.sound span{font:10px 'DM Sans',sans-serif;margin-left:5px;letter-spacing:.3px}.corner{position:fixed;color:#a78d58;opacity:.43;font-size:20px;z-index:1}.corner-tl{top:88px;left:25px}.corner-tr{top:88px;right:25px}.corner-bl{bottom:54px;left:25px}.corner-br{bottom:54px;right:25px}.screen{display:none;min-height:100dvh;max-width:680px;margin:auto;padding:100px 24px 82px;position:relative;text-align:center;flex-direction:column;align-items:center;justify-content:center;animation:appear .7s ease both}.screen.active{display:flex}.eyebrow{letter-spacing:4px;font-size:10px;font-weight:700;color:#d6b675}.intro-symbol{position:relative;width:220px;height:220px;display:flex;align-items:center;justify-content:center;margin:30px 0 6px}.halo{position:absolute;border:1px solid #e4bd6344;border-radius:50%;animation:halo 5s ease-in-out infinite}.halo-one{width:175px;height:175px;box-shadow:0 0 60px #ec9f3517}.halo-two{width:218px;height:218px;animation-delay:1s}.sparkle{position:absolute;color:#efc16b;animation:twinkle 2.8s ease infinite}.s1{left:12px;top:47px;font-size:28px}.s2{right:5px;bottom:42px;font-size:21px;animation-delay:.7s}.flame{width:30px;height:50px;background:radial-gradient(ellipse at 50% 72%,#fff9ca 0 12%,#ffcf61 36%,#fa752e 67%,transparent 73%);border-radius:55% 5% 55% 55%;transform:rotate(-45deg);filter:drop-shadow(0 0 19px #ffba56);animation:flicker 1.7s ease-in-out infinite;z-index:2}.flame.tall{position:absolute;top:60px;left:97px;width:28px;height:52px}.diya-bowl{position:absolute;top:119px;width:108px;height:38px;border-radius:0 0 90px 90px;background:linear-gradient(#f6bd61 0%,#a85526 50%,#4f2e2c 100%);border-top:4px solid #ffe6a2;box-shadow:0 10px 36px #db76254d}.poetry{font:400 20px/1.55 'Cormorant Garamond',serif;color:#c4b4a0}.poetry em{color:#f2d7a9}h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.05;letter-spacing:-1px;margin:13px 0}h1{font-size:clamp(54px,11vw,85px)}h2{font-size:clamp(46px,8vw,70px)}h1 i,h2 i{font-style:italic;color:#e6b96e}.supporting{font-size:13px;line-height:1.85;color:#aaa4aa;max-width:350px;margin:12px auto 22px}.primary{display:inline-flex;justify-content:center;align-items:center;gap:26px;background:linear-gradient(110deg,#f4d28f,#e5aa56);border:1px solid #ffde9c;color:#352119;border-radius:2px;font:700 11px 'DM Sans',sans-serif;letter-spacing:1.4px;text-transform:uppercase;min-height:52px;padding:0 26px;cursor:pointer;box-shadow:0 8px 46px #c9843552;transition:transform .2s,box-shadow .2s}.primary:hover{transform:translateY(-3px);box-shadow:0 10px 60px #dca34b80}.primary:active{transform:translateY(1px)}.primary:focus-visible,.secondary:focus-visible,.lamp:focus-visible,.sound:focus-visible{outline:2px solid white;outline-offset:5px}.hint,.microcopy{color:#8c7f82;font-size:9px;letter-spacing:2.6px;margin-top:25px}.fade-in{animation:rise .8s ease backwards}.delay1{animation-delay:.15s}.delay2{animation-delay:.35s}.delay3{animation-delay:.55s}.delay4{animation-delay:.75s}#game{justify-content:flex-start;padding-top:115px}#game .supporting{margin-top:3px}#game h2{margin:20px 0 4px}.scene{width:min(100%,500px);height:350px;position:relative;margin:8px auto 10px;overflow:hidden;border-radius:220px 220px 10px 10px}.scene-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 80%,#b67f2809,transparent 60%);transition:background 1s}.scene[data-lit="1"] .scene-glow{background:radial-gradient(ellipse at 50% 80%,#b67f281a,transparent 65%)}.scene[data-lit="2"] .scene-glow{background:radial-gradient(ellipse at 50% 80%,#b67f282b,transparent 65%)}.scene[data-lit="3"] .scene-glow{background:radial-gradient(ellipse at 50% 80%,#b67f283d,transparent 65%)}.scene[data-lit="4"] .scene-glow{background:radial-gradient(ellipse at 50% 80%,#b67f2855,transparent 65%)}.scene[data-lit="5"] .scene-glow{background:radial-gradient(ellipse at 50% 80%,#b67f2870,transparent 65%)}.arch{position:absolute;left:50%;transform:translateX(-50%);border:2px solid #b78c4975;border-radius:180px 180px 0 0}.arch-outer{width:80%;height:310px;bottom:28px;box-shadow:inset 0 0 24px #dda4490a,0 0 35px #dea4470b}.arch-inner{width:91%;height:96%;bottom:0;border-color:#b48b3e46;overflow:hidden}.arch-stars{position:absolute;top:27px;width:100%;font-size:15px;color:#d6ac6480;letter-spacing:22px}.door{position:absolute;bottom:0;left:16%;width:68%;height:68%;display:flex;perspective:800px}.doorhalf{width:50%;height:100%;background:repeating-linear-gradient(90deg,transparent 0 13px,#dfb57313 14px 16px),linear-gradient(90deg,#21192a,#34222a,#21192a);border:1px solid #a6794477;transition:transform 1.65s cubic-bezier(.22,.8,.22,1);transform-origin:left center}.doorhalf.right{transform-origin:right center}.door.open .doorhalf.left{transform:rotateY(-100deg)}.door.open .doorhalf.right{transform:rotateY(100deg)}.door-sun{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);color:#d8b67c;font-size:27px;transition:opacity .3s}.door.open .door-sun{opacity:0}.floor{position:absolute;bottom:13px;width:100%;height:40px;background:radial-gradient(ellipse,#e2a44a35,transparent 65%)}.lamps{position:absolute;display:flex;justify-content:center;align-items:flex-end;gap:clamp(5px,2vw,13px);bottom:15px;left:0;right:0;z-index:3}.lamp{position:relative;width:73px;height:80px;background:none;border:0;padding:0;cursor:pointer;transition:transform .25s;touch-action:manipulation}.lamp:hover:not(.lit){transform:translateY(-6px)}.lamp:nth-child(3){transform:translateY(-13px)}.lamp:nth-child(3):hover:not(.lit){transform:translateY(-19px)}.lamp .vessel{position:absolute;bottom:12px;left:5px;width:63px;height:27px;background:linear-gradient(180deg,#98612f,#4b2926);border-radius:5px 5px 45px 45px;border-top:3px solid #c49655;box-shadow:0 7px 12px #0006}.lamp .wick{position:absolute;bottom:39px;left:35px;width:2px;height:8px;background:#d8a56c}.lamp .fire{position:absolute;bottom:44px;left:22px;width:29px;height:41px;opacity:0;transform:rotate(-45deg) scale(.15);border-radius:55% 5% 55% 55%;background:radial-gradient(ellipse at 50% 70%,#fff9ce 5%,#ffdc73 35%,#f68633 70%,transparent 73%);filter:drop-shadow(0 0 10px #ffd371);transition:opacity .35s,transform .4s}.lamp.lit .fire{opacity:1;transform:rotate(-45deg) scale(1);animation:flicker 1.7s ease-in-out infinite}.lamp.lit .vessel{background:linear-gradient(180deg,#e9ab55,#8c4829);border-color:#ffe4a0;box-shadow:0 3px 35px #edab4350}.lamp.lit{cursor:default}.lamp .lightpool{position:absolute;inset:10px -5px -5px;opacity:0;background:radial-gradient(ellipse,#ffb14b2b,transparent 67%);transition:opacity .6s}.lamp.lit .lightpool{opacity:1}.counter{color:#e8c38b;font-size:11px;font-weight:700;letter-spacing:2.5px;margin:3px 0 12px}.progress{width:min(250px,75%);height:2px;background:#a5835144;overflow:hidden}.progress>div{height:100%;width:0%;transition:width .55s;background:#e8bd74;box-shadow:0 0 12px #f7cb88}.microcopy{margin-top:16px}.mandala{width:190px;height:190px;position:relative;margin:12px auto 8px;display:grid;place-items:center}.mandala-ring{position:absolute;border:1px solid #d8a35e80;border-radius:50%;box-shadow:0 0 23px #cd8a2c16}.ring1{width:160px;height:160px}.ring2{width:131px;height:131px;border-style:dashed;animation:spin 32s linear infinite}.ring3{width:104px;height:104px;border-style:dotted;animation:spin 22s linear infinite reverse}.mandala>span{font:58px 'Cormorant Garamond',serif;color:#f1ca86;text-shadow:0 0 35px #e7a950}.greeting-title{margin:0;font-size:clamp(52px,10vw,80px)}.greeting-message{font:20px/1.5 'Cormorant Garamond',Georgia,serif;max-width:460px;margin:14px auto 18px;color:#e2d3bc}.photo-frame{position:relative;width:min(390px,86vw);aspect-ratio:3/4;padding:10px;border:1px solid #d6aa6e80;background:linear-gradient(145deg,#daa95c25,#1e1b2d);box-shadow:0 0 0 6px #e2ab5612,0 14px 60px #0008}.photo-frame:before,.photo-frame:after{content:'✧';position:absolute;color:#e5b873;font-size:23px;top:-17px}.photo-frame:before{left:-12px}.photo-frame:after{right:-12px}.photo-border{width:100%;height:100%;background:radial-gradient(ellipse at center,#51405d,#251d30);overflow:hidden;position:relative}.photo-border img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}.photo-fallback{position:absolute;inset:0;display:none;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#3c2c3a,#22223b);color:#e9c48e;font:24px/1.2 'Cormorant Garamond',serif}.photo-fallback span{font-size:70px}.photo-fallback p{margin:0}.signature{font:italic 28px 'Cormorant Garamond',serif;color:#eac586;margin:18px 0}.actions{display:flex;gap:11px;align-items:center;justify-content:center;flex-wrap:wrap}.secondary{border:1px solid #ab8c6170;background:transparent;border-radius:2px;color:#d7c49d;font:600 10px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:1.3px;min-height:52px;padding:0 20px;cursor:pointer}.endmark{font-size:9px;color:#8f7d78;letter-spacing:2.5px;margin-top:31px}.reveal-enter{animation:rise .75s ease both}#reveal .reveal-enter:nth-child(2){animation-delay:.12s}#reveal .reveal-enter:nth-child(3){animation-delay:.25s}#reveal .reveal-enter:nth-child(4){animation-delay:.4s}#reveal .reveal-enter:nth-child(5){animation-delay:.55s}#reveal .reveal-enter:nth-child(6){animation-delay:.7s}#reveal .reveal-enter:nth-child(7){animation-delay:.85s}footer{position:fixed;bottom:20px;width:100%;text-align:center;font-size:9px;letter-spacing:3px;color:#8d7b70;pointer-events:none;z-index:10}footer span{color:#d4ab60;padding:0 6px}@keyframes appear{from{opacity:0}to{opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}@keyframes flicker{0%,100%{filter:drop-shadow(0 0 11px #ffc25d);scale:1}45%{filter:drop-shadow(0 0 17px #ffab44);scale:.94}70%{scale:1.04}}@keyframes halo{0%,100%{opacity:.48;transform:scale(.97)}50%{opacity:1;transform:scale(1.04)}}@keyframes twinkle{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:480px){.topbar{padding:21px 19px}.brand{font-size:9px;letter-spacing:2px}.screen{padding:89px 17px 74px}#intro .intro-symbol{margin:18px 0 0;width:190px;height:190px}.intro-symbol .halo-one{width:145px;height:145px}.intro-symbol .halo-two{width:190px;height:190px}.flame.tall{left:82px;top:50px}.diya-bowl{top:111px}.poetry{font-size:18px;margin:7px 0}.hint{margin-top:22px}#game{padding-top:112px}.scene{height:320px}.arch-outer{height:281px;bottom:25px}.lamps{gap:0}.lamp{width:66px;flex:0 0 66px}.lamp .vessel{left:4px;width:58px}.lamp .wick{left:32px}.lamp .fire{left:19px}.greeting-message{font-size:18px}.mandala{width:150px;height:150px;margin:0}.ring1{width:135px;height:135px}.ring2{width:110px;height:110px}.ring3{width:88px;height:88px}.photo-frame{height:200px}.corner{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* One-tap cinematic flow */
.single-scene{height:350px;overflow:visible}.single-scene .arch-outer{bottom:29px}.solo-lamp{position:absolute;z-index:5;left:50%;bottom:9px;transform:translateX(-50%) scale(1.5);filter:drop-shadow(0 4px 22px #0008)}.solo-lamp:hover:not(.lit){transform:translateX(-50%) scale(1.62)}.solo-lamp:active:not(.lit){transform:translateX(-50%) scale(1.44)}.solo-lamp.lit{transform:translateX(-50%) scale(1.65);pointer-events:none}.single-scene .scene-glow{background:radial-gradient(ellipse at 50% 78%,#d18a2740,transparent 70%)}.single-scene.illuminated .scene-glow{background:radial-gradient(ellipse at 50% 65%,#ffc76b77,transparent 75%)}.single-scene.illuminated .arch{border-color:#efc788a8}.single-scene.illuminated .door:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,#ffe5a388,transparent 80%);filter:blur(17px)}#tapHint{animation:twinkle 1.5s ease infinite}.fireworks-screen{max-width:none;width:100%;height:100dvh;overflow:hidden;justify-content:flex-start;padding-top:120px;background:radial-gradient(ellipse 75% 70% at 50% 72%,#23203a 0%,#0a0b1e 65%,#030613 100%)}.firework-heading{position:relative;z-index:3;text-shadow:0 2px 25px #040516;font-size:1rem}.firework-heading h2{font-size:clamp(42px,8vw,73px);margin:20px 0}.firework-horizon{position:absolute;bottom:-2px;left:0;right:0;height:22%;pointer-events:none;background:linear-gradient(to top,#02040c 20%,transparent 96%);z-index:1}.temple-roof{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(65vw,500px);height:90%;background:linear-gradient(0deg,#050611,#080918);clip-path:polygon(0 100%,0 65%,10% 65%,10% 50%,20% 50%,20% 41%,35% 41%,35% 22%,44% 22%,50% 0,56% 22%,65% 22%,65% 41%,80% 41%,80% 50%,90% 50%,90% 65%,100% 65%,100% 100%);filter:drop-shadow(0 0 14px #fc9d6133)}.firework-footer{position:absolute;bottom:76px;left:0;right:0;z-index:4;font:italic 22px 'Cormorant Garamond',serif;color:#e9c994;text-shadow:0 3px 15px #000}.skip{position:absolute;z-index:11;right:22px;bottom:22px;background:#070b20b8;border:1px solid #b99b6b66;color:#e5cda6;border-radius:30px;font:11px 'DM Sans',sans-serif;padding:10px 16px;cursor:pointer}.skip:focus-visible,.solo-lamp:focus-visible{outline:2px solid white;outline-offset:5px}body.fireworks-running #particles{z-index:10}.screen#reveal{padding-top:84px}.screen#reveal .mandala{height:140px;width:140px}.screen#reveal .mandala .ring1{width:135px;height:135px}.screen#reveal .mandala .ring2{width:112px;height:112px}.screen#reveal .mandala .ring3{width:86px;height:86px}.screen#reveal .greeting-title{font-size:clamp(56px,10vw,80px)}@media(max-width:480px){.single-scene{height:310px}.solo-lamp{bottom:8px}.fireworks-screen{padding-top:133px}.firework-heading h2{font-size:51px}.firework-footer{bottom:65px}.screen#reveal{justify-content:flex-start}.screen#reveal .photo-frame{height:205px}.screen#reveal .greeting-message{margin:13px auto 20px}}

/* The invitation button is the ONLY required tap. The diya flashes immediately, followed by fireworks. */
#intro.launching .intro-symbol{filter:drop-shadow(0 0 55px #ffca74);transform:scale(1.13);transition:transform .4s ease,filter .4s ease}#intro.launching .halo{border-color:#ffe2a7;box-shadow:0 0 90px #f7ae5c85}#intro.launching .flame{filter:drop-shadow(0 0 42px #fff2b3)}#intro.launching .primary{pointer-events:none;opacity:.8}

/* Portrait framing for the supplied couple photo. Keep both faces and diyas in view. */
#reveal .photo-frame{width:min(278px,72vw);height:340px}#reveal .photo-border img{object-fit:cover;object-position:center 39%}@media(max-width:480px){#reveal .photo-frame{width:min(260px,72vw);height:320px}}
@media (max-width:640px){#reveal{padding-top:86px;padding-bottom:52px}.greeting-message{font-size:18px;max-width:320px;margin-bottom:14px}.photo-frame{width:min(360px,88vw)}.signature{font-size:26px;margin:16px 0}.actions{gap:9px}.primary,.secondary{min-height:44px}}

/* V6 reveal polish: make the photo the hero element */
#reveal{max-width:980px;padding-top:68px;padding-bottom:58px;justify-content:flex-start}
#reveal .mandala{width:118px;height:118px;margin:6px auto 6px}
#reveal .ring1{width:112px;height:112px}
#reveal .ring2{width:92px;height:92px}
#reveal .ring3{width:72px;height:72px}
#reveal .greeting-title{font-size:clamp(58px,8vw,92px);margin-top:4px}
#reveal .greeting-message{max-width:640px;margin:10px auto 18px;font-size:22px;line-height:1.42}
#reveal .photo-frame{width:min(520px,92vw) !important;height:auto !important;aspect-ratio:3/4;padding:12px;margin-top:8px}
#reveal .photo-border img{width:100%;height:100%;object-fit:cover;object-position:center 34%;image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}
#reveal .signature{font-size:32px;margin:18px 0 16px}
#reveal .actions{gap:12px}
#reveal .endmark{margin-top:14px}
@media (max-width:900px){#reveal{max-width:760px;padding-top:74px}#reveal .greeting-message{font-size:20px;max-width:520px}#reveal .photo-frame{width:min(460px,90vw) !important}}
@media (max-width:640px){#reveal{padding-top:82px;padding-bottom:54px}#reveal .greeting-title{font-size:clamp(50px,14vw,72px)}#reveal .greeting-message{font-size:18px;max-width:330px;margin:10px auto 16px}#reveal .photo-frame{width:min(360px,92vw) !important;padding:10px}#reveal .signature{font-size:27px;margin:15px 0 14px}}

/* V7: one-tap firecracker ignition, preceding the original fireworks */
.ignition{position:fixed;inset:0;z-index:35;background:radial-gradient(ellipse 55% 55% at 50% 58%,#2a1d31 0%,#12132a 56%,#080b1d 100%);display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s}
.ignition.is-active{opacity:1;visibility:visible}
.ignition-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:70px 16px}
.ignition-label,.ignition-caption{font:700 11px 'DM Sans',sans-serif;letter-spacing:3.5px;color:#eecb8b;text-align:center}
.ignition-caption{font-size:10px;letter-spacing:2.4px;color:#cda86f}
.cracker-art{width:min(310px,75vw);height:min(340px,46dvh);overflow:visible;filter:drop-shadow(0 10px 24px #f08a3625);will-change:transform}
.ignition.is-active .cracker-art{animation:cracker-tension 1.7s ease-in-out both}
.fuse-burn{stroke-dasharray:100;stroke-dashoffset:100;filter:drop-shadow(0 0 7px #ff9b33)}
.ignition.is-active .fuse-burn{animation:fuse-light 1.22s cubic-bezier(.45,0,.7,1) .12s forwards}
.fuse-flare{opacity:0;filter:drop-shadow(0 0 7px #ffc145)}
.ignition.is-active .fuse-flare{animation:flare-life 1.18s ease-out .12s forwards}
.ignition-sparks{opacity:0;transform-origin:151px 296px}
.ignition.is-active .ignition-sparks{animation:spark-life .35s ease-in-out .17s 3}
.ignition-flash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,#fffde9 0%,#ffe7a4 22%,#f3aa56 52%,#f3aa5600 82%);opacity:0}
.ignition.is-active .ignition-flash{animation:ignition-flash 1.70s ease-out forwards}
.ignition.is-active .cracker-body{transform-origin:160px 250px;animation:cracker-lift 1.65s cubic-bezier(.3,.1,.45,.9) forwards}
@keyframes fuse-light{0%{stroke-dashoffset:100}100%{stroke-dashoffset:0}}
@keyframes flare-life{0%{opacity:0;transform:translate(0,0) scale(.5)}12%{opacity:1}90%{opacity:1;transform:translate(9px,-38px) scale(1.1)}100%{opacity:0;transform:translate(9px,-42px) scale(2)}}
@keyframes spark-life{0%,100%{opacity:0;transform:scale(.6)}50%{opacity:1;transform:scale(1.15)}}
@keyframes cracker-tension{0%,78%{transform:translateY(0)}85%{transform:translateY(-7px)}100%{transform:translateY(-90px)}}
@keyframes cracker-lift{0%,76%{transform:translateY(0)}100%{transform:translateY(-120px)}}
@keyframes ignition-flash{0%,78%{opacity:0}86%{opacity:.9}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.ignition.is-active .cracker-art,.ignition.is-active .cracker-body,.ignition.is-active .ignition-flash,.ignition.is-active .fuse-burn,.ignition.is-active .fuse-flare,.ignition.is-active .ignition-sparks{animation:none!important}.ignition.is-active .fuse-burn{stroke-dashoffset:0}}

/* V8: stationary sutli bomb; no launch, lift or rocket. Ember crawls along the fuse. */
.ignition .sutli-stage{position:relative;width:min(330px,82vw);aspect-ratio:320/340;margin:13px 0 18px;filter:drop-shadow(0 14px 32px #0006)}
.ignition .sutli-stage .cracker-art{position:absolute;inset:0;width:100%;height:100%;animation:none!important;transform:none!important;filter:none;will-change:auto}
.ignition .sutli-body{animation:none!important;transform:none!important}
#sutliSparks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.ignition-flash{z-index:3}
.ignition.is-active .ignition-flash{animation:none!important;opacity:0}
.ignition.is-active.is-bursting .ignition-flash{animation:sutli-burst .39s ease-out both!important}
.ignition.is-active.is-bursting .sutli-body{animation:sutli-shudder .15s linear both!important}
@keyframes sutli-burst{0%{opacity:0}16%{opacity:1}40%{opacity:.98}100%{opacity:0}}
@keyframes sutli-shudder{0%{transform:translate(0,0)}30%{transform:translate(-3px,2px)}65%{transform:translate(3px,-2px)}100%{transform:translate(0,0)}}
@media(prefers-reduced-motion:reduce){.ignition.is-active.is-bursting .sutli-body{animation:none!important}}
