.card-block{content-visibility:auto;contain-intrinsic-size:auto 520px}.card-block:has(.fest-hero-glow,.festival-halo){content-visibility:visible}[data-flair]:not([data-flair=fade]):before{width:160%;height:130dvh;margin:calc(-15dvh - 1.5rem) 0 calc(1.5rem - 115dvh) -30%;display:block;position:sticky;inset:-15dvh auto auto}@media (min-width:640px){[data-flair]:not([data-flair=fade]):before{margin-top:calc(-15dvh - 2.5rem);margin-bottom:calc(2.5rem - 115dvh)}}[data-flair=frost] .card-tile{-webkit-backdrop-filter:none;backdrop-filter:none}@media (prefers-reduced-motion:no-preference){[data-flair=frost] .card-paper:after{animation:5s ease-in-out infinite alternate rim-breathe}@keyframes rim-breathe{0%{opacity:.55}to{opacity:1}}}[data-paper=poster] .card-paper{border-radius:.6rem}[data-paper=cut] .card-paper{clip-path:polygon(26px 0,calc(100% - 26px) 0,100% 26px,100% calc(100% - 26px),calc(100% - 26px) 100%,26px 100%,0 calc(100% - 26px),0 26px);border-radius:0}[data-paper=arch] .card-paper{border-radius:14rem 14rem 1.75rem 1.75rem/8rem 8rem 1.75rem 1.75rem;padding-top:1.5rem}[data-paper=torn] .card-paper{border-radius:.3rem;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/18px 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/18px 51% repeat-x;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/18px 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/18px 51% repeat-x}[data-divider=ticket] .card-block:not(:empty)~.card-block:not(:empty):before{content:"";border-top:2px dashed color-mix(in oklab, var(--c-text) 35%, transparent);width:calc(100% - 3rem);height:0;margin:0 auto}[data-divider=zigzag] .card-block:not(:empty)~.card-block:not(:empty):before{content:"";background:linear-gradient(135deg, var(--c-accent) 25%, transparent 25%) -5px 0 / 10px 10px, linear-gradient(225deg, var(--c-accent) 25%, transparent 25%) -5px 0 / 10px 10px;width:7rem;height:10px;margin:0 auto}[data-divider=pulse] .card-block:not(:empty)~.card-block:not(:empty):before{content:"";background:var(--c-accent);width:5rem;height:2px;box-shadow:0 0 10px 1px var(--c-accent), 0 0 26px 2px color-mix(in oklab, var(--c-accent) 50%, transparent);border-radius:2px;margin:0 auto}[data-divider=diya] .card-block:not(:empty)~.card-block:not(:empty):before{content:"✦ ❂ ✦";letter-spacing:.35em;text-shadow:0 0 10px color-mix(in oklab, var(--c-accent) 70%, transparent);font-size:.95rem}[data-divider=rangoli] .card-block:not(:empty)~.card-block:not(:empty):before{content:"❋ ❖ ❋";letter-spacing:.35em;font-size:1rem}[data-divider=bats] .card-block:not(:empty)~.card-block:not(:empty):before{content:"🦇 🕸️ 🦇";letter-spacing:.4em;opacity:.8;font-size:.95rem}[data-flair=rise]{--rv-dur:.7s;--rv-ease:cubic-bezier(.2, .9, .3, 1.15);--rv-from:translateY(44px)}[data-flair=zine]{--rv-dur:.6s;--rv-ease:cubic-bezier(.34, 1.56, .64, 1);--rv-from:rotate(-4deg) scale(1.12)}[data-flair=neon]{--rv-dur:.25s;--rv-from:none}[data-flair=stage]{--rv-dur:.8s;--rv-ease:cubic-bezier(.22, 1.2, .36, 1);--rv-from:translateY(64px) skewY(4deg)}[data-flair=diya]{--rv-dur:1s;--rv-from:scale(.94);--rv-blur:6px}[data-flair=deepavali]{--rv-dur:1.1s;--rv-from:translateY(26px) scale(.97);--rv-blur:8px}[data-flair=spooky]{--rv-dur:.9s;--rv-ease:cubic-bezier(.2, .8, .2, 1);--rv-from:translateY(22px) skewX(-6deg) rotate(-1deg);--rv-blur:4px}[data-flair=rise] .card-paper{box-shadow:0 0 0 3px var(--c-text), 10px 12px 0 var(--c-text)}[data-flair=rise] .fest-button,[data-flair=zine] .fest-button{box-shadow:4px 4px 0 var(--c-text)}[data-flair=zine]{background:radial-gradient(color-mix(in oklab, var(--c-accent) 22%, transparent) 1.2px, transparent 1.4px) 0 0 / 9px 9px, var(--c-bg)!important}[data-flair=zine] .card-paper{background-image:radial-gradient(color-mix(in oklab, var(--c-text) 7%, transparent) 1px, transparent 1.2px);box-shadow:8px 10px 0 color-mix(in oklab, var(--c-text) 85%, transparent);background-size:6px 6px}[data-flair=zine] .fest-heading,[data-flair=zine] .fest-name>span:last-child{text-shadow:3px 3px 0 color-mix(in oklab, var(--c-accent) 55%, transparent)}[data-flair=zine] .fest-name-echo{transform:translate(6px,6px)}[data-flair=zine] .card-tile{box-shadow:5px 5px 0 var(--c-text)}[data-flair=zine] .fest-event:before,[data-flair=zine] .fest-ticket:before,[data-flair=zine] .fest-map:before{content:"";z-index:2;background:#fff3b0b3;background:lab(95.6362% -3.02869 33.9401/.7);width:76px;height:22px;position:absolute;top:-10px;left:50%;translate:-50%;rotate:-4deg;box-shadow:0 1px 2px #00000026}[data-flair=zine] .fest-event,[data-flair=zine] .fest-ticket,[data-flair=zine] .fest-map{overflow:visible}[data-flair=zine] .fest-event:nth-child(odd){rotate:-.8deg}[data-flair=zine] .fest-event:nth-child(2n){rotate:.8deg}[data-flair=neon] .card-paper{box-shadow:0 0 0 1px color-mix(in oklab, var(--c-accent) 40%, transparent), 0 0 60px -10px color-mix(in oklab, var(--c-accent) 55%, transparent)}[data-flair=neon] .fest-heading,[data-flair=neon] .fest-name>span:last-child{color:#fff;text-shadow:0 0 6px #fff, 0 0 14px var(--c-accent), 0 0 34px var(--c-accent)}[data-flair=neon] .fest-name-echo{-webkit-text-stroke-color:#3df5ff;opacity:.8;transform:translate(-4px,3px)}[data-flair=neon] .card-tile,[data-flair=neon] .fest-cta{background:color-mix(in oklab, var(--c-paper) 70%, transparent);border-color:color-mix(in oklab, var(--c-accent) 55%, transparent);box-shadow:0 0 18px -6px var(--c-accent), inset 0 0 18px -10px var(--c-accent)}[data-flair=neon] .fest-button{box-shadow:0 0 22px -2px var(--c-accent);border-color:#0000}[data-flair=neon] .fest-digit,[data-flair=stage] .fest-digit{background:color-mix(in oklab, var(--c-paper) 60%, black);color:var(--c-accent);text-shadow:0 0 12px var(--c-accent);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--c-accent) 45%, transparent)}[data-flair=stage] .card-paper{background-image:repeating-linear-gradient(0deg,#ffffff06 0 2px,#0000 2px 4px)}[data-flair=stage] .card-paper:after{content:"";z-index:3;pointer-events:none;clip-path:inherit;background:linear-gradient(var(--c-accent), var(--c-accent)) top left / 64px 3px no-repeat, linear-gradient(var(--c-accent), var(--c-accent)) top right / 64px 3px no-repeat, linear-gradient(var(--c-accent), var(--c-accent)) bottom left / 64px 3px no-repeat, linear-gradient(var(--c-accent), var(--c-accent)) bottom right / 64px 3px no-repeat;position:absolute;inset:0}[data-flair=stage] .fest-heading,[data-flair=stage] .fest-name>span:last-child{-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 14px color-mix(in oklab, var(--c-accent) 45%, transparent));background-image:linear-gradient(#fff 0%,#d9dbe8 45%,#8d90a8 52%,#fff 100%);-webkit-background-clip:text;background-clip:text}[data-flair=stage] .fest-name-echo{-webkit-text-stroke-color:var(--c-accent)}[data-flair=stage] .card-tile,[data-flair=stage] .fest-cta{background:color-mix(in oklab, var(--c-paper) 75%, transparent);border-color:color-mix(in oklab, var(--c-accent) 45%, transparent)}[data-flair=stage] .fest-button{box-shadow:0 0 26px -4px var(--c-accent);border-color:#0000}[data-flair=stage] .fest-bar{box-shadow:0 0 14px var(--c-accent)}[data-flair=diya] .card-paper{box-shadow:inset 0 0 0 6px var(--c-paper), inset 0 0 0 7.5px color-mix(in oklab, var(--c-accent) 55%, transparent), 0 30px 80px -30px color-mix(in oklab, var(--c-accent) 70%, transparent)}[data-flair=diya] .card-tile{box-shadow:0 14px 36px -18px color-mix(in oklab, var(--c-accent) 70%, transparent)}[data-flair=deepavali] .card-paper{box-shadow:inset 0 0 0 1.5px color-mix(in oklab, var(--c-accent) 75%, transparent), inset 0 0 0 7px var(--c-paper), inset 0 0 0 8px color-mix(in oklab, var(--c-accent) 35%, transparent), inset 0 0 90px -20px color-mix(in oklab, var(--c-accent) 35%, transparent), 0 0 70px -10px color-mix(in oklab, var(--c-accent) 40%, transparent)}[data-flair=deepavali] .card-tile{border-color:color-mix(in oklab, var(--c-accent) 60%, transparent);background:linear-gradient(160deg, color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)), var(--c-paper))}[data-flair=deepavali] .festival-heading{text-shadow:0 0 18px color-mix(in oklab, var(--c-accent) 55%, transparent)}[data-flair=deepavali] .festival-hero-motif{filter:drop-shadow(0 0 22px #ffb43cd9)}[data-flair=spooky] .card-paper{box-shadow:inset 0 0 80px #000000bf,inset 0 0 0 1px #7cffa01f}[data-flair=spooky] .festival-title{text-shadow:0 0 12px #ff7a1abf,0 4px #5a140099}[data-flair=spooky] .festival-heading{text-shadow:0 0 14px #7cffa059}[data-flair=spooky] .card-tile{border-color:#ff7a1a73;box-shadow:0 0 26px -12px #7cffa099}[data-flair=spooky] .festival-hero-motif{filter:drop-shadow(0 0 24px #ff7a1ad9)}.fest-name{font-size:min(6.5rem, calc((100cqi - 3rem) / (var(--chars,8) * var(--name-w,.58))))}.festival-title{font-size:min(4.75rem, calc((100cqi - 3rem) / (var(--chars,8) * var(--title-w,.6))))}[data-flair=zine]{--name-w:.86}[data-flair=neon]{--name-w:.98}[data-flair=spooky]{--title-w:1}[data-flair=deepavali],[data-flair=fade]{--title-w:.62}.festival-title>span{margin-inline:-.2em;padding-inline:.2em}.festival-unit{border:1.5px solid color-mix(in oklab, var(--c-accent) 50%, transparent);border-radius:1rem}[data-motif=diya] .festival-unit{background:linear-gradient(180deg, color-mix(in oklab, var(--c-accent) 14%, var(--c-paper)), var(--c-paper));box-shadow:0 10px 30px -14px var(--c-accent);border-radius:45% 45% 1.25rem 1.25rem/30% 30% 1.25rem 1.25rem}[data-motif=diya] .festival-unit:before{content:"";transform-origin:50% 100%;background:radial-gradient(circle at 50% 70%,#fff7d6 0%,#ffcf5a 40%,#ff7a1a 85%);border-radius:50%/65% 65% 35% 35%;width:.8rem;height:1.3rem;margin-left:-.4rem;position:absolute;top:-1.35rem;left:50%;box-shadow:0 0 16px 5px #ffa0288c}[data-motif=pumpkin] .festival-unit{rotate:calc((mod(var(--i,0), 2) * 2 - 1) * 2.5deg);background:linear-gradient(#3a3048,#231b2e);border:2px solid #4a3d5c;border-radius:3rem 3rem .4rem .4rem;box-shadow:0 12px 0 -6px #1f3a1a}[data-motif=pumpkin] .festival-unit:before{content:"✝";color:var(--c-muted);font-size:.7rem;position:absolute;top:.3rem;left:50%;translate:-50%}.rangoli-petal{transform-box:fill-box;transform-origin:50%}.rangoli-line{stroke-dasharray:100}.diya-lamp.is-lit .diya-flame{scale:1}.diya-lamp.is-lit .diya-glow{opacity:.85}@property --hole{syntax:"<length>";inherits:false;initial-value:0}.fx-hole{-webkit-mask-image:radial-gradient(circle at 50% var(--hole-y,240px), transparent var(--hole), #000 calc(var(--hole) + 1px));-webkit-mask-image:radial-gradient(circle at 50% var(--hole-y,240px), transparent var(--hole), #000 calc(var(--hole) + 1px));mask-image:radial-gradient(circle at 50% var(--hole-y,240px), transparent var(--hole), #000 calc(var(--hole) + 1px))}.fx-stars{background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff,#0000),radial-gradient(1px 1px at 28% 8%,#fff,#0000),radial-gradient(1.5px 1.5px at 44% 26%,#ffe9c2,#0000),radial-gradient(1px 1px at 63% 12%,#fff,#0000),radial-gradient(1.5px 1.5px at 78% 22%,#fff,#0000),radial-gradient(1px 1px at 88% 6%,#ffe9c2,#0000),radial-gradient(1px 1px at 6% 40%,#fff,#0000),radial-gradient(1.5px 1.5px at 92% 44%,#fff,#0000),radial-gradient(1px 1px at 52% 4%,#fff,#0000)}.fx-fog{will-change:transform;background-color:#0000;background-image:radial-gradient(30% 60% at 25% 80%,#aaa0c85c,#0000 70%),radial-gradient(32% 55% at 60% 90%,#968cb954,#0000 70%),radial-gradient(18% 50% at 86% 75%,#aaa0c84d,#0000 70%);background-position:0 0,0 0,0 0;background-repeat:repeat-x;background-size:50% 100%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:200%;right:auto!important}.fx-burst,.fx-burst-flash{opacity:0}.fx-bat{left:-12%}@media (prefers-reduced-motion:no-preference){[data-flair=neon] .card-block[data-reveal=shown],[data-flair=neon] .card-block[data-reveal=enter]{animation:.9s step-end both neon-on;animation-delay:calc(var(--i,0) * .12s)}@keyframes neon-on{0%{opacity:0}10%{opacity:.8}16%{opacity:.1}30%{opacity:1}38%{opacity:.35}50%,to{opacity:1}}[data-flair=neon] .fest-heading{animation:5s ease-in-out infinite neon-hum}@keyframes neon-hum{0%,92%,to{opacity:1}94%{opacity:.55}96%{opacity:1}97%{opacity:.7}}.fest-ticker-track{animation:26s linear infinite fest-marquee}@keyframes fest-marquee{to{transform:translate(-50%)}}.fest-colon{animation:1s step-end infinite fest-blink}@keyframes fest-blink{50%{opacity:.15}}.fest-pin{animation:1.8s cubic-bezier(.3,0,.3,1) infinite fest-bounce}@keyframes fest-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-12px)}}.fest-hero-glow{animation:9s ease-in-out infinite alternate orb-drift}.fest-pad-ring{box-shadow:0 0 0 2px var(--pad,var(--c-accent)), 0 0 30px 4px var(--pad,var(--c-accent));animation:.6s ease-out forwards fest-ring}.fest-pad-flash{background:var(--pad);animation:.5s ease-out forwards pad-flash}@keyframes pad-flash{0%{opacity:.85}to{opacity:0}}.fest-pad-wave{background:radial-gradient(circle at 50% 50%, var(--wave), transparent 72%);opacity:0;animation:.7s ease-out both pad-wave}@keyframes pad-wave{0%{opacity:0;transform:scale(.5)}35%{opacity:.7}to{opacity:0;transform:scale(1.3)}}@keyframes fest-ring{0%{opacity:1;transform:scale(.85)}to{opacity:0;transform:scale(1.25)}}.card-block[data-reveal=shown] .fest-artist,.card-block[data-reveal=enter] .fest-artist{animation:.7s cubic-bezier(.22,1,.36,1) both artist-in;animation-delay:calc(.2s + var(--i,0) * .12s)}@keyframes artist-in{0%{opacity:0;letter-spacing:.25em;transform:translateY(18px)scale(.92)}}[data-flair=stage] .fest-name-echo{animation:2.4s step-end infinite echo-glitch}@keyframes echo-glitch{0%,to{transform:translate(5px,4px)}20%{transform:translate(-6px,2px)}40%{transform:translate(3px,-4px)}60%{transform:translate(-3px,5px)}80%{transform:translate(7px,-2px)}}[data-flair=stage] .fest-bar,[data-flair=neon] .fest-bar{transform-origin:0;animation:.5s ease-in-out infinite alternate bar-beat}@keyframes bar-beat{to{transform:scaleX(1.8)}}[data-flair=rise] .fest-sticker,[data-flair=zine] .fest-sticker{animation:4s ease-in-out infinite sticker-wobble}@keyframes sticker-wobble{0%,80%,to{rotate:-3deg}88%{rotate:4deg}94%{rotate:-6deg}}.festival-flame{transform-box:fill-box;transform-origin:50% 100%;animation:1.6s ease-in-out infinite alternate flame-dance}.fx-flame,[data-motif=diya] .festival-unit:before,.diya-lamp.is-lit .diya-flame{transform-origin:50% 100%;animation:1.4s ease-in-out infinite alternate flame-dance}@keyframes flame-dance{0%{transform:scale(1)rotate(-2deg)}35%{transform:scale(.94,1.08)rotate(2deg)}70%{transform:scale(1.05,.95)rotate(-1deg)}to{transform:scale(.97,1.05)rotate(1.5deg)}}[data-motif=diya] .festival-unit:nth-child(2):before{animation-delay:-.4s}[data-motif=diya] .festival-unit:nth-child(3):before{animation-delay:-.9s}[data-motif=diya] .festival-unit:nth-child(4):before{animation-delay:-1.2s}.festival-face{animation:3s step-end infinite face-flicker}@keyframes face-flicker{0%,to{opacity:1}42%{opacity:.55}46%{opacity:1}71%{opacity:.7}}.festival-rays{animation:40s linear infinite rays-spin}@keyframes rays-spin{to{transform:rotate(360deg)}}.festival-halo{animation:4s ease-in-out infinite alternate halo-breathe}@keyframes halo-breathe{to{opacity:.45;transform:translate(-50%)scale(1.2)}}.card-block[data-reveal=shown] .festival-stop,.card-block[data-reveal=enter] .festival-stop{animation:.8s cubic-bezier(.22,1,.36,1) both stop-in;animation-delay:calc(.3s + var(--i,0) * .25s)}@keyframes stop-in{0%{opacity:0;transform:translateY(16px)scale(.85)}}.card-block[data-reveal=shown] .rangoli-line,.card-block[data-reveal=enter] .rangoli-line{animation:1.4s ease-out both rangoli-trace}@keyframes rangoli-trace{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}.card-block[data-reveal=shown] .rangoli-petal,.card-block[data-reveal=enter] .rangoli-petal{animation:.6s cubic-bezier(.34,1.56,.64,1) both petal-open;animation-delay:calc(.6s + var(--r,0) * .35s + mod(var(--n,0), 20) * 25ms)}@keyframes petal-open{0%{opacity:0;transform:scale(0)rotate(-40deg)}}.card-block[data-reveal=shown] .rangoli-message,.card-block[data-reveal=enter] .rangoli-message{animation:.9s ease-out 2s both message-in}@keyframes message-in{0%{opacity:0;transform:scale(.8)}}.rangoli svg{animation:120s linear infinite rays-spin}[data-flair=diya] .festival-title>span{background:linear-gradient(100deg, var(--c-accent) 35%, #ffd36b 50%, var(--c-accent) 65%);-webkit-text-fill-color:transparent;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:6s ease-in-out infinite name-shimmer}[data-flair=deepavali] .festival-title>span{background:linear-gradient(#ff7a1a 0%,#ffc94d 20%,#fff2c2 40%,#ffc94d 60%,#ff7a1a 100%) 0 0/100% 300%;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 16px #ffaa328c);-webkit-background-clip:text;background-clip:text;padding-block:.1em;animation:3.5s linear infinite fire-rise}@keyframes fire-rise{0%{background-position:0 0}to{background-position:0 -300%}}[data-flair=deepavali] .card-paper:after{content:"";z-index:3;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1.5px var(--c-accent), inset 0 0 110px -16px color-mix(in oklab, var(--c-accent) 55%, transparent);opacity:0;animation:5s ease-in-out infinite alternate gold-breathe;position:absolute;inset:0}@keyframes gold-breathe{to{opacity:1}}[data-flair=spooky] .festival-title{animation:4.5s step-end infinite spooky-flicker}@keyframes spooky-flicker{0%,to{opacity:1}61%{opacity:.4}63%{opacity:1}66%{opacity:.6}68%{opacity:1}}[data-flair=spooky] .festival-heading{animation:5s ease-in-out infinite alternate spooky-sway}@keyframes spooky-sway{0%{transform:rotate(-1.5deg)}to{transform:rotate(1.5deg)translateY(-2px)}}.costume-drip>span{transform-origin:top;animation:3s ease-in infinite drip}.costume-drip>span:last-child{animation-delay:-1.4s}@keyframes drip{0%,to{transform:scaleY(.6)}60%{transform:scaleY(1.25)}}.fx-confetti{animation:linear infinite fx-fall}@keyframes fx-fall{0%{transform:translateY(-10px)}50%{transform:translate3d(var(--sway,30px), 55dvh, 0)}to{transform:translate3d(calc(var(--sway,30px) * -.5), 108dvh, 0)}}.fx-confetti-flip{animation:linear infinite fx-flip}@keyframes fx-flip{to{transform:rotate3d(1,.6,.2,360deg)}}.fx-beam{animation:ease-in-out infinite alternate fx-sweep}@keyframes fx-sweep{0%{transform:rotate(var(--from,-20deg))}to{transform:rotate(var(--to,20deg))}}.fx-dust{animation:linear infinite fx-dust}@keyframes fx-dust{0%{opacity:0;transform:translateY(0)}20%,80%{opacity:.6}to{opacity:0;transform:translateY(-40vh)}}.fx-beat{animation:.94s ease-out infinite fx-beat}@keyframes fx-beat{0%{opacity:1}60%,to{opacity:.35}}.fx-eq{animation:ease-in-out infinite alternate fx-eq}@keyframes fx-eq{0%{transform:scaleY(.2)}to{transform:scaleY(1)}}.fx-lantern{animation:linear infinite fx-rise}@keyframes fx-rise{0%{transform:translate(0,0)rotate(-3deg)}50%{transform:translate3d(var(--sway,30px), -60dvh, 0) rotate(3deg)}to{transform:translate3d(calc(var(--sway,30px) * -.4), -118dvh, 0) rotate(-2deg)}}.fx-lantern-glow{animation:1.8s ease-in-out infinite alternate fx-glow}@keyframes fx-glow{to{opacity:.75}}.fx-ember{animation:linear infinite fx-ember}@keyframes fx-ember{0%{opacity:0;transform:translate(0,0)}15%{opacity:.9}to{opacity:0;transform:translate(20px,-70dvh)}}.fx-burst{animation:8.4s cubic-bezier(.1,.7,.3,1) infinite fx-burst}@keyframes fx-burst{0%{opacity:0;transform:translate(0)scale(.4)}2%{opacity:1}18%{transform:translate(var(--dx), var(--dy)) scale(1);opacity:.95}30%{transform:translate(var(--dx), calc(var(--dy) + 26px)) scale(.5);opacity:0}to{opacity:0}}.fx-burst-flash{animation:8.4s ease-out infinite fx-flash}@keyframes fx-flash{0%{opacity:0;transform:scale(.3)}2%{opacity:.9}10%{opacity:0;transform:scale(2.4)}to{opacity:0}}.fx-moonlight{animation:6s ease-in-out infinite alternate halo-breathe}.fx-bat{animation:linear infinite fx-bat}@keyframes fx-bat{0%{transform:translate(0)}25%{transform:translate(35vw,-4vh)}50%{transform:translate(70vw,3vh)}75%{transform:translate(100vw,-3vh)}to{transform:translate(135vw)}}.fx-flap{transform-origin:50% 40%;animation:.22s ease-in-out infinite alternate fx-flap}@keyframes fx-flap{to{transform:scaleY(.4)}}.fx-fog{animation:32s linear infinite fx-fog}.fx-fog-slow{animation-duration:54s;animation-direction:reverse}@keyframes fx-fog{to{transform:translate(-50%)}}.fx-flicker{opacity:0;animation:6s step-end infinite fx-flicker}@keyframes fx-flicker{0%,to{opacity:0}31%{opacity:.08}33%{opacity:0}71%{opacity:.12}72%{opacity:.02}74%{opacity:.1}76%{opacity:0}}}:is([data-lite],[inert]) *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;mix-blend-mode:normal!important}:is([data-lite],[inert]) [data-flair]:before,:is([data-lite],[inert]) .card-paper,:is([data-lite],[inert]) .card-paper:after,:is([data-lite],[inert]) .card-names>span:not(.fest-name-echo),:is([data-lite],[inert]) .card-tile:after,:is([data-lite],[inert]) .card-ornament,:is([data-lite],[inert]) .festival-title,:is([data-lite],[inert]) .festival-title>span,:is([data-lite],[inert]) .festival-rays,:is([data-lite],[inert]) .festival-halo,:is([data-lite],[inert]) .rangoli svg,:is([data-lite],[inert]) .fest-heading,:is([data-lite],[inert]) .fest-hero-glow,:is([data-lite],[inert]) .fx-beat,:is([data-lite],[inert]) .fx-flicker,:is([data-lite],[inert]) .fx-moonlight,:is([data-lite],[inert]) .fx-lantern-glow,:is([data-lite],[inert]) .fx-dust,:is([data-lite],[inert]) .card-block:before{animation:none!important}[data-lite] .animate-snow-fall:nth-child(2n),[data-lite] .animate-petal-fall:nth-child(2n),[data-lite] .animate-twinkle:nth-child(2n),[data-lite] .fx-confetti:nth-child(2n),[data-lite] .fx-ember:nth-child(2n),[data-lite] .fx-dust:nth-child(2n),[data-lite] .fx-lantern:nth-child(3n),[data-lite] .fx-eq:nth-child(2n){display:none}[data-lite] .animate-snow-fall,[data-lite] [data-flair]:before{filter:none!important}[data-lite] [data-flair=neon] .card-paper,[data-lite] [data-flair=stage] .card-paper{background-color:color-mix(in oklab, var(--c-paper) 92%, black)}.fx-live .fx-beat,.fx-live .fx-eq{will-change:transform, opacity;animation:none!important}[inert] .fest-ticker-track,[inert] .festival-rays,[inert] .rangoli svg,[inert] .fx-eq,[inert] .fx-beat,[inert] .fx-flicker,[inert] .festival-title,[inert] .festival-title>span,[inert] .fest-name-echo,[inert] .fest-heading{animation:none!important}.fx-tone-0,.fx-tone-1,.fx-tone-2,.fx-tone-3,.fx-tone-4{--tone:var(--c-accent)}@supports (color:oklch(from red l c h)){.fx-tone-1{--tone:oklch(from var(--c-accent) l c calc(h - 22))}.fx-tone-2{--tone:oklch(from var(--c-accent) l c calc(h + 22))}.fx-tone-3{--tone:oklch(from var(--c-accent) calc(l + .1) c calc(h - 10))}.fx-tone-4{--tone:oklch(from var(--c-accent) calc(l - .06) c calc(h + 34))}}@property --heat{syntax:"<number>";inherits:true;initial-value:.15}.fx-block{animation:linear infinite fx-block-fall}.fx-blocks-up .fx-block{animation-direction:reverse}@keyframes fx-block-fall{0%{transform:translateY(-20dvh)}to{transform:translateY(115dvh)}}.fx-block-body{opacity:calc(.14 + .5 * var(--heat));background:color-mix(in oklab, var(--tone) calc(100% - var(--heat) * 55%), white);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--tone) 55%, black), 0 0 calc(var(--heat) * 18px) calc(var(--heat) * 2px) var(--tone);border-radius:0;transition:background-color .5s,box-shadow .5s,opacity .5s,transform .5s cubic-bezier(.3,1.5,.5,1);animation:ease-in-out infinite alternate fx-block-heat}.fx-block-body.is-hit{opacity:.85;background:var(--hit);box-shadow:0 0 26px 6px var(--hit);transition-duration:80ms;transform:scale(1.35)}.fx-blocks-live .fx-block-body{will-change:opacity;animation:none}@keyframes fx-block-heat{0%{--heat:.1}to{--heat:.55}}[inert] .fx-block,[inert] .fx-block-body,[data-lite] .fx-block-body{animation:none!important}[data-lite] .fx-block-body{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--tone) 55%, black)}@media (prefers-reduced-motion:reduce){.fx-block,.fx-block-body{animation:none}}.treat-btn{--tone:var(--c-accent);cursor:pointer;outline-offset:4px}.treat-btn[data-tone=trick]{--tone:#b58cff}.treat-card{transition:transform .85s cubic-bezier(.3,1.45,.45,1)}.treat-btn[data-open=true] .treat-card{transform:rotateY(180deg)}.treat-back,.treat-face{border:2px solid color-mix(in oklab, var(--tone) 75%, transparent);background:radial-gradient(120% 80% at 50% 0%, color-mix(in oklab, var(--tone) 30%, #1b1129) 0%, #0e0916 72%);box-shadow:0 0 24px -8px var(--tone), inset 0 0 34px -14px var(--tone)}.treat-face{background:radial-gradient(90% 70% at 50% 40%, color-mix(in oklab, var(--tone) 22%, #24163a) 0%, #120b1d 80%);transform:rotateY(180deg)}.treat-label{color:var(--tone);text-shadow:0 0 14px color-mix(in oklab, var(--tone) 80%, transparent)}.treat-thread{background:linear-gradient(180deg, transparent, color-mix(in oklab, var(--tone) 80%, white))}.treat-icon{filter:drop-shadow(0 0 10px color-mix(in oklab, var(--tone) 70%, transparent))}.treat-sheen{background:linear-gradient(100deg, transparent, color-mix(in oklab, var(--tone) 30%, transparent), transparent);transform:translate(-120%)skew(-18deg)}.treat-spark{background:var(--tone);box-shadow:0 0 10px 2px var(--tone);opacity:0}.treat-btn[data-open=true] .treat-spark{animation:.9s ease-out .35s both treat-spark}@keyframes treat-spark{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--r) * -1)) scale(.2)}}@media (prefers-reduced-motion:no-preference){.treat-btn{animation:4.5s ease-in-out infinite treat-float;animation-delay:var(--delay,0s)}.treat-btn:hover,.treat-btn[data-open=true]{animation-play-state:paused}@keyframes treat-float{50%{transform:translateY(-7px)}}.treat-btn:not([data-open=true]):hover .treat-card{transform:rotateX(5deg)rotateY(-6deg)scale(1.03)}.treat-btn:not([data-open=true]):hover .treat-back{box-shadow:0 0 36px -4px var(--tone), inset 0 0 40px -10px var(--tone)}.treat-btn[data-tone=trick] .treat-hang{animation:3.2s ease-in-out infinite treat-dangle;animation-delay:var(--delay,0s);transform-origin:50% 0}@keyframes treat-dangle{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(14px)rotate(3deg)}}.treat-btn[data-tone=treat] .treat-icon{animation:2.6s ease-in-out infinite treat-rock}@keyframes treat-rock{0%,to{transform:rotate(-12deg)scale(1)}50%{transform:rotate(12deg)scale(1.1)}}.treat-sheen{animation:5s ease-in-out infinite treat-sheen;animation-delay:var(--delay,0s)}@keyframes treat-sheen{0%,60%{transform:translate(-120%)skew(-18deg)}to{transform:translate(520%)skew(-18deg)}}.treat-hint{animation:2.4s ease-in-out infinite treat-hint}@keyframes treat-hint{50%{opacity:.35}}.treat-btn[data-tone=trick][data-open=true] .treat-face{animation:.5s linear .55s both treat-shudder}@keyframes treat-shudder{0%,to{transform:rotateY(180deg)translate(0)}20%{transform:rotateY(180deg)translate(-6px)rotate(-1deg)}40%{transform:rotateY(180deg)translate(6px)rotate(1deg)}60%{transform:rotateY(180deg)translate(-4px)}80%{transform:rotateY(180deg)translate(3px)}}}:is([data-lite],[inert]) .treat-btn,:is([data-lite],[inert]) .treat-hang,:is([data-lite],[inert]) .treat-icon,:is([data-lite],[inert]) .treat-sheen,:is([data-lite],[inert]) .treat-hint{animation:none!important}.costume-poster{background:radial-gradient(90% 60% at 50% 0%, color-mix(in oklab, var(--c-accent) 16%, transparent), transparent 70%), repeating-linear-gradient(135deg, transparent 0 14px, color-mix(in oklab, var(--c-text) 3%, transparent) 14px 15px)}.costume-stamp{opacity:.85;transform:rotate(8deg)}.costume-chip{transition:transform .2s,border-color .2s,background-color .2s}.costume-chip:hover{border-color:var(--c-accent);background-color:color-mix(in oklab, var(--c-accent) 18%, transparent);transform:translateY(-2px)rotate(-3deg)scale(1.06)}@media (prefers-reduced-motion:no-preference){[data-reveal=enter] .costume-chip,[data-reveal=shown] .costume-chip{animation:costume-pop .5s calc(.25s + var(--i,0) * 80ms) cubic-bezier(.3, 1.5, .5, 1) backwards}@keyframes costume-pop{0%{opacity:0;transform:translateY(14px)scale(.6)rotate(-8deg)}}.costume-stamp{animation:4s ease-in-out infinite costume-stamp}@keyframes costume-stamp{0%,88%,to{transform:rotate(8deg)scale(1)}94%{transform:rotate(6deg)scale(1.1)}}}:is([data-lite],[inert]) .costume-stamp,:is([data-lite],[inert]) .costume-chip{animation:none!important}[data-still]:not([data-live]) .card-ambient{display:none}.special-tag{color:#fff;background:linear-gradient(110deg,#7c3aed,#db2777 55%,#f59e0b);position:relative;overflow:hidden;box-shadow:0 0 14px -2px #db27778c}.special-tag:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff8c 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}@media (prefers-reduced-motion:no-preference){.special-tag:after{animation:3.6s ease-in-out infinite special-sheen}@keyframes special-sheen{0%,55%{transform:translate(-120%)}to{transform:translate(120%)}}}.brand-shine{background-image:linear-gradient(100deg, var(--primary) 0%, color-mix(in oklab, var(--primary) 78%, #ff7a8a) 30%, color-mix(in oklab, var(--primary) 70%, #ff9a3d) 50%, color-mix(in oklab, var(--primary) 78%, #ff7a8a) 70%, var(--primary) 100%);color:#0000;-webkit-text-fill-color:transparent;background-position:0%;background-size:250% 100%;-webkit-background-clip:text;background-clip:text}@media (prefers-reduced-motion:no-preference){.brand-shine{animation:4.5s linear infinite brand-shine}@keyframes brand-shine{to{background-position:250%}}}[data-flair] .card-tile.fest-pad{border-color:color-mix(in oklab, var(--pad,var(--c-accent)) 70%, transparent);box-shadow:0 0 16px -8px var(--pad,var(--c-accent)), inset 0 0 18px -12px var(--pad,var(--c-accent))}.fx-orbs .fx-block-body{background:radial-gradient(circle at 50% 50%, color-mix(in oklab, var(--tone) calc(100% - var(--heat) * 45%), white) 0%, transparent 68%);box-shadow:none;border-radius:50%}.fx-orbs .fx-block-body.is-hit{background:radial-gradient(circle at 50% 50%, var(--hit) 0%, transparent 68%);box-shadow:none}
