:root{color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#020302}
body{overflow:hidden}
.stage{min-height:100svh;display:grid;place-items:center;background:radial-gradient(circle at 50% 24%,rgba(37,65,30,.28),transparent 46%),#020302}
.artwork-stage{position:relative;isolation:isolate;width:min(100vw,56.28svh,31rem);aspect-ratio:941/1672;overflow:hidden;background:#050704;box-shadow:0 0 5rem rgba(0,0,0,.92),0 0 0 1px rgba(224,189,109,.13)}
.approved-artwork{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:contain}
.atmosphere{position:absolute;z-index:5;inset:0;overflow:hidden;pointer-events:none;mix-blend-mode:screen}
.foliage-glow{position:absolute;border-radius:50%;filter:blur(1.2rem);opacity:.42}
.foliage-left{left:-17%;top:0;width:47%;height:62%;background:radial-gradient(ellipse,rgba(239,190,64,.25),rgba(88,134,53,.12) 48%,transparent 74%);animation:foliage-left 7s ease-in-out infinite alternate}
.foliage-right{right:-18%;top:22%;width:43%;height:64%;background:radial-gradient(ellipse,rgba(255,192,54,.2),rgba(76,123,45,.1) 48%,transparent 75%);animation:foliage-right 8.4s ease-in-out infinite alternate}
.bokeh{position:absolute;border-radius:50%;background:radial-gradient(circle at 38% 35%,rgba(255,250,214,.96),rgba(255,184,47,.55) 30%,transparent 72%);filter:blur(.08rem);animation:bokeh-drift var(--duration) ease-in-out var(--delay) infinite alternate}
.bokeh-1{--duration:5.8s;--delay:-1s;left:8%;top:8%;width:3.8%;aspect-ratio:1}.bokeh-2{--duration:7.1s;--delay:-4s;left:86%;top:30%;width:4.5%;aspect-ratio:1}.bokeh-3{--duration:6.4s;--delay:-2.4s;left:80%;top:53%;width:3%;aspect-ratio:1}.bokeh-4{--duration:7.7s;--delay:-5s;left:11%;top:63%;width:4.4%;aspect-ratio:1}.bokeh-5{--duration:6.9s;--delay:-3.2s;left:88%;top:78%;width:3.6%;aspect-ratio:1}.bokeh-6{--duration:8.2s;--delay:-1.7s;left:27%;top:84%;width:2.6%;aspect-ratio:1}
.candle{position:absolute;width:2.1%;aspect-ratio:.56;border-radius:50% 50% 48% 48%;background:radial-gradient(ellipse at 50% 62%,#fffbe8 0 13%,#ffd15f 27%,rgba(255,157,25,.72) 48%,transparent 72%);filter:blur(.06rem) drop-shadow(0 0 .35rem rgba(255,176,39,.95));transform-origin:50% 92%;animation:flame var(--speed) ease-in-out var(--delay) infinite alternate}
.candle-1{--speed:.72s;--delay:-.2s;left:7.3%;top:4.7%}.candle-2{--speed:.86s;--delay:-.5s;left:14.7%;top:8.1%}.candle-3{--speed:.68s;--delay:-.3s;left:8.7%;top:34.8%}.candle-4{--speed:.82s;--delay:-.7s;left:85.8%;top:20.7%}.candle-5{--speed:.73s;--delay:-.4s;left:93.9%;top:24.7%}.candle-6{--speed:.9s;--delay:-.6s;left:91.5%;top:50.7%}.candle-7{--speed:.76s;--delay:-.1s;left:18.7%;top:73.7%}.candle-8{--speed:.84s;--delay:-.8s;left:95%;top:81.1%}
.invited-sweep{position:absolute;left:-34%;top:16.6%;width:24%;height:14%;background:linear-gradient(104deg,transparent,rgba(255,245,195,.56),rgba(255,185,47,.23),transparent);filter:blur(.32rem);transform:skewX(-12deg);animation:invited-sweep 6.8s ease-in-out infinite}
.icon-glow{position:absolute;width:8.5%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,222,112,.48),transparent 70%);filter:blur(.2rem);opacity:0;animation:icon-sequence 6s ease-in-out var(--delay) infinite}
.icon-1{--delay:0s;left:26.8%;top:31.5%}.icon-2{--delay:.7s;left:26.8%;top:37.2%}.icon-3{--delay:1.4s;left:26.5%;top:42.5%}.icon-4{--delay:2.1s;left:47%;top:48.5%}.icon-5{--delay:2.8s;left:59.5%;top:48.5%}.icon-6{--delay:3.5s;left:74.2%;top:48.5%}
.glass-highlight{position:absolute;left:-2%;top:45.5%;width:20%;height:31%;background:linear-gradient(104deg,transparent 35%,rgba(255,248,207,.62) 47%,rgba(255,196,61,.22) 54%,transparent 66%);clip-path:polygon(0 0,75% 0,100% 100%,12% 100%);filter:blur(.12rem);animation:glass-glint 6.2s ease-in-out infinite}
.reserve-glow,.support-glow{display:none}
.details-recomposition{position:absolute;z-index:4;left:18.5%;right:10.5%;top:30.6%;height:49%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.45%;overflow:hidden;padding:2.5% 4.3% 2.2%;color:#fff8e7;text-align:center;background:radial-gradient(circle at 52% 35%,rgba(47,67,30,.28),transparent 44%),linear-gradient(90deg,rgba(4,6,3,.76),rgba(4,7,4,.985) 12%,rgba(4,7,4,.992) 88%,rgba(4,6,3,.76));box-shadow:inset 0 .08rem .7rem rgba(255,205,91,.08),inset 0 -.08rem .7rem rgba(0,0,0,.8)}
.details-recomposition::before,.details-recomposition::after{content:"";position:absolute;left:7%;right:7%;height:1px;background:linear-gradient(90deg,transparent,rgba(239,192,84,.78),transparent)}
.details-recomposition::before{top:2.8%}.details-recomposition::after{bottom:2.8%}
.details-light-sweep{position:absolute;z-index:-1;top:-10%;bottom:-10%;left:-45%;width:28%;background:linear-gradient(105deg,transparent,rgba(255,226,142,.18),rgba(255,183,50,.08),transparent);filter:blur(.22rem);transform:skewX(-12deg);animation:details-sweep 7.6s ease-in-out infinite}
.detail-block{width:100%;opacity:0;transform:translateY(.65rem);animation:details-enter 1.15s cubic-bezier(.18,.78,.22,1) var(--delay) forwards}
.detail-block strong,.detail-block span{display:block;text-transform:uppercase}
.detail-block strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(.88rem,2.8svh,1.34rem);font-weight:400;line-height:1.14;letter-spacing:.075em;color:#f0e2bd;text-shadow:0 0 .8rem rgba(225,175,62,.14)}
.detail-block span{margin-top:.32rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(.78rem,2.25svh,1.08rem);line-height:1.12;letter-spacing:.11em;color:#eec967}
.detail-date-final{--delay:.7s}.detail-location-final{--delay:1.65s}.detail-attire-final{--delay:2.6s}
.detail-location-final .venue-note{margin-top:.42rem;font-size:clamp(.56rem,1.48svh,.7rem);font-style:italic;line-height:1.28;letter-spacing:.045em;text-transform:none;color:#ddd4bd}
.detail-attire-final{display:flex;align-items:center;justify-content:center;gap:4%}
.attire-icon{display:block;flex:0 0 auto;width:10.5%;min-width:1.75rem;fill:rgba(4,5,4,.72);stroke:#d8aa47;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 .22rem rgba(224,174,62,.26))}
.attire-copy{min-width:0;text-align:left}
.detail-attire-final span{font-style:italic;text-transform:none;font-size:clamp(.92rem,2.65svh,1.28rem);letter-spacing:.055em}
.details-divider{display:block;width:34%;height:1px;background:linear-gradient(90deg,transparent,#c89e42,transparent);opacity:.72}
.category-row{display:flex;width:100%;justify-content:center;gap:0;flex-wrap:nowrap;margin-top:1.25%;padding-top:2.2%;border-top:1px solid rgba(212,169,73,.32)}
.category-row .category-item{position:relative;display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;gap:.16rem;padding:0 1.1%;color:#d7cdb5;opacity:.34;animation:category-illuminate 6s ease-in-out var(--delay) infinite}
.category-item svg{display:block;width:clamp(1.1rem,3.15svh,1.5rem);height:clamp(1.1rem,3.15svh,1.5rem);fill:none;stroke:#d8aa47;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 .18rem rgba(225,173,54,.3))}
.category-item b{font:500 clamp(.4rem,1.12svh,.56rem)/1.15 Georgia,"Times New Roman",serif;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.category-row .category-item:not(:last-child)::after{content:"";position:absolute;right:0;top:8%;width:1px;height:84%;background:rgba(218,178,81,.34)}
.category-row span:nth-child(1){--delay:3.4s}.category-row span:nth-child(2){--delay:3.75s}.category-row span:nth-child(3){--delay:4.1s}.category-row span:nth-child(4){--delay:4.45s}.category-row span:nth-child(5){--delay:4.8s}
.event-purpose{margin:.8% 0 0;font:400 clamp(.58rem,1.55svh,.74rem)/1.32 Georgia,"Times New Roman",serif;letter-spacing:.08em;color:#d8d2c2}
.pause-hit,.progress-next-hit{position:absolute;z-index:6;padding:0;border:0;cursor:pointer;touch-action:manipulation}
.pause-hit{left:77.4%;top:93.8%;width:19%;height:4%;border-radius:999px;background:transparent}
.progress-next-hit{left:72.5%;top:87.8%;width:24%;height:5.2%;display:flex;align-items:center;justify-content:center;gap:.3rem;color:rgba(240,201,103,.82);background:transparent;font:600 .58rem/1 Arial,sans-serif;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;text-shadow:0 0 .45rem rgba(216,165,55,.28)}
.pause-hit:focus-visible,.progress-next-hit:focus-visible{outline:2px solid #f2ce70;outline-offset:-.2rem}
.is-paused .atmosphere *,.is-paused .details-recomposition *{animation-play-state:paused!important}
.is-paused .pause-hit::after{content:"";position:absolute;left:7%;top:25%;width:0;height:0;border-top:.38rem solid transparent;border-bottom:.38rem solid transparent;border-left:.62rem solid rgba(255,233,164,.96);filter:drop-shadow(0 0 .25rem #e2ae48)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes foliage-left{0%{transform:translate(-3%,-2%) scale(.95);opacity:.25}100%{transform:translate(8%,4%) scale(1.08);opacity:.55}}
@keyframes foliage-right{0%{transform:translate(4%,-2%) scale(1.05);opacity:.24}100%{transform:translate(-8%,6%) scale(.95);opacity:.52}}
@keyframes bokeh-drift{0%{transform:translate(-.35rem,.55rem) scale(.78);opacity:.22}55%{opacity:.72}100%{transform:translate(.7rem,-1rem) scale(1.18);opacity:.4}}
@keyframes flame{0%{transform:translateX(-8%) rotate(-3deg) scale(.86,1.04);opacity:.66}50%{transform:translateX(5%) rotate(2deg) scale(1.08,.92);opacity:1}100%{transform:translateX(-2%) rotate(-1deg) scale(.94,1.13);opacity:.78}}
@keyframes invited-sweep{0%,17%{left:-34%;opacity:0}29%{opacity:.88}66%{left:113%;opacity:.58}78%,100%{left:113%;opacity:0}}
@keyframes icon-sequence{0%,10%,100%{opacity:0;transform:scale(.78)}17%,30%{opacity:.8;transform:scale(1.08)}40%{opacity:0;transform:scale(1.16)}}
@keyframes details-enter{0%{opacity:0;transform:translateY(.65rem);filter:blur(.18rem)}68%{opacity:1;filter:blur(0);text-shadow:0 0 1rem rgba(255,205,91,.32)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes details-sweep{0%,18%{left:-45%;opacity:0}30%{opacity:.8}64%{left:118%;opacity:.5}76%,100%{left:118%;opacity:0}}
@keyframes category-illuminate{0%,8%,100%{opacity:.42;text-shadow:none}14%,26%{opacity:1;color:#fff1c5;text-shadow:0 0 .5rem rgba(237,185,67,.75)}35%{opacity:.48;text-shadow:none}}
@keyframes glass-glint{0%,20%{transform:translateX(-70%);opacity:0}34%{opacity:.82}56%{transform:translateX(70%);opacity:.42}68%,100%{transform:translateX(70%);opacity:0}}
@keyframes reserve-pulse{0%,100%{opacity:.36;transform:scale(.988)}50%{opacity:1;transform:scale(1.012)}}
@keyframes support-pulse{0%,100%{opacity:.35;transform:scale(.99)}50%{opacity:.9;transform:scale(1.01)}}
@keyframes action-press{0%{box-shadow:inset 0 0 0 rgba(255,224,128,0)}50%{box-shadow:inset 0 0 1.8rem rgba(255,224,128,.42)}100%{box-shadow:inset 0 0 0 rgba(255,224,128,0)}}
@media (min-width:32rem) and (min-height:44rem){.stage{padding:1.25rem}.artwork-stage{max-height:calc(100svh - 2.5rem);border-radius:.2rem}}
@media (prefers-reduced-motion:reduce){.atmosphere *,.details-recomposition *{animation:none!important}.foliage-glow,.bokeh{opacity:.2}.invited-sweep,.glass-highlight,.icon-glow,.details-light-sweep{display:none}.detail-block{opacity:1;transform:none}.category-row span{opacity:.72}}
