.reveal{transition:opacity var(--reveal-dur,1s) ease-out,transform var(--reveal-dur,1s) ease-out,filter var(--reveal-dur,1s) ease-out,clip-path var(--reveal-dur,1s) ease-out}.reveal[data-in=false]{opacity:0;transform:translateY(12px)}[data-motion=fade] .reveal[data-in=false]{transform:none}[data-motion=zoom] .reveal[data-in=false]{transform:scale(.92)}[data-motion=left] .reveal[data-in=false]{transform:translateX(-32px)}[data-motion=right] .reveal[data-in=false]{transform:translateX(32px)}[data-motion=blur] .reveal[data-in=false]{transform:none;filter:blur(12px)}[data-motion=bounce] .reveal{transition-timing-function:cubic-bezier(.34,1.56,.64,1)}[data-motion=bounce] .reveal[data-in=false]{transform:translateY(40px) scale(.96)}[data-motion=drop] .reveal[data-in=false]{transform:translateY(-52px)}[data-motion=reveal] .reveal[data-in=false]{opacity:1;transform:none;clip-path:inset(0 0 100% 0)}[data-motion=reveal] .reveal[data-in=true]{clip-path:inset(0 0 0 0)}[data-motion=flip] .reveal{transform-origin:top center}[data-motion=flip] .reveal[data-in=false]{transform:perspective(700px) rotateX(-70deg)}[data-motion=none] .reveal{transition:none}[data-motion=none] .reveal[data-in=false]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{transition:none!important}.reveal[data-in=false]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}}@keyframes ot-fade{0%{opacity:0}to{opacity:1}}@keyframes ot-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes ot-drop{0%{opacity:0;transform:translateY(-34px)}to{opacity:1;transform:none}}@keyframes ot-zoom{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}@keyframes ot-blur{0%{opacity:0;filter:blur(12px)}to{opacity:1;filter:blur(0)}}@keyframes ot-left{0%{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}@keyframes ot-right{0%{opacity:0;transform:translateX(36px)}to{opacity:1;transform:none}}@keyframes ot-bounce{0%{opacity:0;transform:translateY(30px) scale(.9)}60%{opacity:1;transform:translateY(-6px) scale(1.04)}to{opacity:1;transform:none}}.ot{display:inline-block}[data-ot-in=false] .ot:not(.ot-none):not(.ot-typing){opacity:0}[data-ot-in=true] .ot{animation-delay:var(--delay,0s);animation-duration:1.2s;animation-timing-function:ease-out;animation-fill-mode:both}[data-ot-in=true] .ot-fade{animation-name:ot-fade}[data-ot-in=true] .ot-rise{animation-name:ot-rise}[data-ot-in=true] .ot-drop{animation-name:ot-drop}[data-ot-in=true] .ot-zoom{animation-name:ot-zoom}[data-ot-in=true] .ot-blur{animation-name:ot-blur}[data-ot-in=true] .ot-left{animation-name:ot-left}[data-ot-in=true] .ot-right{animation-name:ot-right}[data-ot-in=true] .ot-bounce{animation-name:ot-bounce;animation-duration:1s}.end[data-anim=zoom] .end-img{transform:scale(1);transition:transform 9s ease-out}.end[data-anim=zoom][data-in=true] .end-img{transform:scale(1.14)}@media (prefers-reduced-motion:reduce){.ot{opacity:1!important;animation:none!important}.end[data-anim=zoom][data-in=true] .end-img{transform:none}.end-fx{display:none}}[data-boxes=shadow] :is(.inv-box,.inv-tile){border-color:transparent;background-color:var(--inv-card);box-shadow:var(--inv-shadow)}[data-boxes=fill] :is(.inv-box,.inv-tile){border-color:transparent;background-color:color-mix(in srgb,var(--inv-text) 6%,transparent)}[data-boxes=none] :is(.inv-box,.inv-tile){border-color:transparent;background-color:transparent}[data-boxes=fill] .inv-box:after,[data-boxes=none] .inv-box:after{display:none}@keyframes popup-in{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@keyframes popup-backdrop{0%{opacity:0}to{opacity:1}}.inv-popup[open]{animation:popup-in .28s ease-out}.inv-popup[open]::backdrop{animation:popup-backdrop .28s ease-out}@keyframes popup-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(16px) scale(.97)}}@keyframes popup-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes dialog-fade-out{0%{opacity:1}to{opacity:0}}dialog[open][data-closing]{animation:dialog-fade-out .24s ease-in forwards}dialog[open][data-closing]::backdrop{animation:popup-backdrop-out .24s ease-in forwards}.inv-popup[open][data-closing]{animation:popup-out .24s ease-in forwards}@media (prefers-reduced-motion:reduce){.inv-popup[open],.inv-popup[open]::backdrop,dialog[open][data-closing],dialog[open][data-closing]::backdrop{animation:none}}[data-protect=true] img,[data-protect=true] video{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}[data-protect=true]{-webkit-touch-callout:none}@keyframes cal-blink{0%,to{opacity:1}50%{opacity:.35}}@keyframes cal-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}@property --glow-t{syntax:"<number>";initial-value:0;inherits:true}@keyframes cal-glow{0%,to{--glow-t:0}50%{--glow-t:1}}.cal-blink{animation:cal-blink 2.4s ease-in-out infinite}.cal-pulse{animation:cal-pulse 1.5s ease-in-out infinite}.cal-glow{animation:cal-glow 2.2s ease-in-out infinite;filter:drop-shadow(0 0 calc(5px * var(--glow-t)) color-mix(in srgb,var(--inv-accent) calc(var(--cal-glow, 60) * var(--glow-t) * 1%),transparent)) drop-shadow(0 0 calc(11px * var(--glow-t)) color-mix(in srgb,var(--inv-accent) calc(var(--cal-glow, 60) * var(--glow-t) * 1%),transparent)) drop-shadow(0 0 calc(18px * var(--glow-t)) color-mix(in srgb,var(--inv-accent) max(0%,calc((var(--cal-glow, 60) - 50) * 1.6% * var(--glow-t))),transparent))}@keyframes edge-flow{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.edge-flow{animation:edge-flow 9s linear infinite}.edge-flow-slow{animation:edge-flow 16s linear infinite reverse}@media (prefers-reduced-motion:reduce){.cal-blink,.cal-glow,.cal-pulse,.edge-flow,.edge-flow-slow{animation:none}.cal-glow{--glow-t:0.6}}@keyframes bgm-eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.bgm-bar{width:2.5px;height:14px;border-radius:2px;background:currentColor;transform-origin:center;animation:bgm-eq .9s ease-in-out infinite}.bgm-bar:nth-child(2){animation-duration:.65s;animation-delay:-.3s}.bgm-bar:nth-child(3){animation-duration:1.1s;animation-delay:-.55s}.bgm-bar:nth-child(4){animation-duration:.75s;animation-delay:-.15s}@media (prefers-reduced-motion:reduce){.bgm-bar{animation:none;transform:scaleY(.7)}}[data-protect=true] video{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@keyframes tab-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tab-panel-in{animation:tab-panel-in .35s ease-out}@media (prefers-reduced-motion:reduce){.tab-panel-in{animation:none}}.pl-root{position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-y;outline:none;cursor:grab}.pl-root[data-drag="1"]{cursor:grabbing}.pl-root:focus-visible{box-shadow:inset 0 0 0 2px var(--inv-ink)}.pl-string{width:100%;height:100%;pointer-events:none;overflow:visible}.pl-card,.pl-string{position:absolute;left:0;top:0}.pl-card{width:var(--pl-cw);transform-origin:50% 0;will-change:transform}.pl-print{margin-top:10px;background:#fbfaf7;padding:10px 10px 0;box-shadow:0 1px 2px rgba(0,0,0,.12),0 18px 30px -16px rgba(0,0,0,.4);transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .5s ease}.pl-card[data-on="0"] .pl-print{transform:scale(.9);filter:saturate(.7) brightness(.96)}.pl-shot{position:relative;aspect-ratio:1;overflow:hidden;background:#d9d5cc}.pl-shot img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;pointer-events:none}.pl-note{height:40px;display:flex;align-items:center;justify-content:center;font:italic 400 14px/1.1 ui-serif,Georgia,Times New Roman,serif;color:#3b3833;letter-spacing:.1em}.pl-peg{position:absolute;left:50%;top:0;width:10px;height:26px;margin-left:-5px;border-radius:2px;background:linear-gradient(90deg,#c9a67a,#e3c9a1 45%,#b8915f);box-shadow:0 2px 3px rgba(0,0,0,.25)}.pl-peg:after{content:"";position:absolute;left:4px;top:8px;width:2px;height:7px;background:rgba(80,60,30,.45);border-radius:1px}@media (prefers-reduced-motion:reduce){.pl-print{transition:none}}.pd-root{display:flex;flex-direction:column;align-items:center;padding-top:3rem;outline:none}.pd-root:focus-visible{box-shadow:0 0 0 2px var(--inv-ink)}.pd-deck{position:relative;width:min(74%,290px);aspect-ratio:3/4}.pd-card,.pd-deck{touch-action:pan-y}.pd-card{position:absolute;inset:0;border-radius:16px;overflow:hidden;background:#d9d5cc;box-shadow:0 1px 2px rgba(0,0,0,.08),0 26px 50px -26px rgba(0,0,0,.5);transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .4s ease,filter .4s ease;will-change:transform}.pd-card[data-top="1"]{cursor:grab}.pd-card[data-mode=drag]{cursor:grabbing;transition:none}.pd-card[data-mode=fly]{transition:transform .45s cubic-bezier(.3,.5,.3,1),opacity .45s ease}.pd-card[data-mode=snap]{transition:none}.pd-card img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;pointer-events:none;user-select:none}@media (prefers-reduced-motion:reduce){.pd-card,.pd-card[data-mode=fly]{transition:opacity .3s ease}}.flip-d{position:relative;display:inline-block;width:1.75rem;height:2.8rem;perspective:220px;font-variant-numeric:tabular-nums}.flip-half{height:50%;overflow:hidden;background:var(--flip-bg);color:var(--flip-fg)}.flip-half,.flip-half>span{position:absolute;left:0;right:0}.flip-half>span{height:200%;display:flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1}.flip-top{top:0;border-radius:5px 5px 0 0;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}.flip-top>span{top:0}.flip-bot{bottom:0;border-radius:0 0 5px 5px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.flip-bot>span{bottom:0}.flip-d:after{content:"";position:absolute;left:0;right:0;top:calc(50% - .5px);height:1px;background:rgba(0,0,0,.45);z-index:4}.flip-leaf{backface-visibility:hidden;-webkit-backface-visibility:hidden;z-index:3}.flip-leaf-top{top:0;border-radius:5px 5px 0 0;transform-origin:50% 100%;animation:flip-down .3s cubic-bezier(.45,0,.85,.7) forwards}.flip-leaf-top>span{top:0}.flip-leaf-bot{bottom:0;border-radius:0 0 5px 5px;transform-origin:50% 0;transform:rotateX(90deg);animation:flip-up .34s cubic-bezier(.15,.75,.3,1) .29s forwards}.flip-leaf-bot>span{bottom:0}@keyframes flip-down{0%{transform:rotateX(0deg);filter:brightness(1)}to{transform:rotateX(-90deg);filter:brightness(.7)}}@keyframes flip-up{0%{transform:rotateX(90deg);filter:brightness(.7)}to{transform:rotateX(0deg);filter:brightness(1)}}@media (prefers-reduced-motion:reduce){.flip-leaf{display:none}}@keyframes sv-pop{0%{transform:scale(.3);opacity:0}55%{transform:scale(1.12);opacity:1}75%{transform:scale(.96)}to{transform:scale(1);opacity:1}}@keyframes sv-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes sv-ripple{0%{transform:scale(.7);opacity:.7}to{transform:scale(1.7);opacity:0}}@keyframes sv-spark{0%{transform:rotate(var(--a)) translateY(-30px) scaleY(.3);opacity:0}35%{opacity:1}to{transform:rotate(var(--a)) translateY(-58px) scaleY(1);opacity:0}}@keyframes sv-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.sv-pop{transform-origin:50% 50%;animation:sv-pop .5s cubic-bezier(.34,1.4,.64,1) both}.sv-check,.sv-ring{stroke-dasharray:1;stroke-dashoffset:1}.sv-ring{animation:sv-draw .6s cubic-bezier(.4,0,.2,1) .1s forwards}.sv-check{animation:sv-draw .4s cubic-bezier(.65,0,.35,1) .4s forwards}.sv-ripple{animation:sv-ripple 1s ease-out .35s both}.sv-ripple-2{animation-delay:.6s}.sv-spark{animation:sv-spark .8s cubic-bezier(.2,.7,.3,1) .45s both}.sv-rise{animation:sv-rise .4s ease-out .7s both}@media (prefers-reduced-motion:reduce){.sv-pop,.sv-ripple,.sv-rise,.sv-spark{animation:none}.sv-ripple,.sv-spark{display:none}.sv-check,.sv-ring{animation:none;stroke-dashoffset:0}}[data-title=script] .sec-eyebrow{font-family:var(--font-script,cursive);font-size:calc(30px * var(--fs, 1));font-weight:400;letter-spacing:.01em;line-height:1.1;text-transform:lowercase}[data-title=script] .sec-eyebrow:first-letter{text-transform:uppercase}[data-title=script] .sec-heading{margin-top:.35rem;color:var(--inv-ink)}[data-title=script] .sec-rule{display:none}@keyframes fx-fall{0%{transform:translate3d(0,-40px,0) rotate(0deg);opacity:0}8%{opacity:var(--op,.9)}92%{opacity:var(--op,.9)}to{transform:translate3d(var(--drift,0),calc(var(--vh, 800px) + 40px),0) rotate(var(--spin,0deg));opacity:0}}@keyframes fx-rise{0%{transform:translate3d(0,calc(var(--vh, 800px) + 40px),0);opacity:0}10%{opacity:var(--op,.8)}90%{opacity:var(--op,.8)}to{transform:translate3d(var(--drift,0),-60px,0);opacity:0}}@keyframes fx-sway{0%{transform:translateX(calc(var(--sway, 10px) * -1))}to{transform:translateX(var(--sway,10px))}}@keyframes fx-twinkle{0%{transform:scale(.55);opacity:.35}to{transform:scale(1.15);opacity:1}}@keyframes fx-tumble{0%{transform:perspective(260px) rotate3d(var(--ax,.3),var(--ay,.8),.15,0deg)}to{transform:perspective(260px) rotate3d(var(--ax,.3),var(--ay,.8),.15,1turn)}}.fx-p{position:absolute;top:0;width:var(--s);height:var(--s);animation:fx-fall var(--dur) linear var(--delay) infinite;will-change:transform,opacity;filter:blur(var(--blur,0))}.fx-up .fx-p{animation-name:fx-rise}.fx-i{animation:fx-sway var(--swaydur,3s) ease-in-out infinite alternate}.fx-i,.fx-n,.fx-t{display:block;width:100%;height:100%}.fx-t{animation:fx-tumble var(--tdur,4s) linear infinite;transform-style:preserve-3d}.fx-flake{border-radius:50%;background:radial-gradient(circle at 45% 40%,#fff 0,#fff 34%,#eef3fb 58%,rgba(196,211,237,.92) 80%,rgba(196,211,237,0) 100%);filter:drop-shadow(0 1px 2px rgba(100,122,165,.5))}.fx-flake[data-soft=true]{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.95) 0,rgba(232,240,252,.75) 45%,rgba(196,211,237,0) 100%);filter:blur(1px)}.fx-sparkle .fx-i{animation:fx-twinkle 1.4s ease-in-out infinite alternate;filter:drop-shadow(0 0 4px rgba(255,224,140,.9))}@media (prefers-reduced-motion:reduce){.fx-root{display:none}.fx-t{animation:none}}@keyframes fx-wind{0%{translate:calc(var(--wind, 0px) * -1) 0}to{translate:var(--wind,0) 0}}@keyframes fx-zoom-in{0%{scale:.36}to{scale:1.75}}@keyframes fx-zoom-out{0%{scale:1.7}to{scale:.4}}@keyframes fx-zoom-pass{0%{scale:.75}to{scale:1.35}}@keyframes fx-focus-in{0%{opacity:.18;filter:blur(1.2px)}25%{opacity:.85;filter:blur(.4px)}55%{opacity:1;filter:blur(0)}85%{opacity:.92;filter:blur(calc(var(--bn, 4px) * .55))}to{opacity:.8;filter:blur(var(--bn,4px))}}@keyframes fx-focus-out{0%{opacity:.85;filter:blur(var(--bn,4px))}22%{opacity:1;filter:blur(0)}60%{opacity:.62;filter:blur(.5px)}to{opacity:.2;filter:blur(1.4px)}}@keyframes fx-gx{0%{translate:calc(var(--sway, 10px) * -1) 0}to{translate:var(--sway,10px) 0}}@keyframes fx-gr{0%{rotate:calc(var(--tilt, 20deg) * -1)}to{rotate:var(--tilt,20deg)}}@keyframes fx-gy{0%{transform:translateY(calc(var(--sway, 10px) * var(--lift, -.32)))}to{transform:translateY(0)}}@keyframes fx-bob{0%{transform:translateY(calc(var(--sway, 10px) * -.25))}to{transform:translateY(calc(var(--sway, 10px) * .25))}}@keyframes fx-orbit{0%{transform:translateY(calc(var(--sway, 10px) * -.55 * var(--dir, 1)))}to{transform:translateY(calc(var(--sway, 10px) * .55 * var(--dir, 1)))}}@keyframes fx-snow-x{0%{translate:calc(var(--sway, 10px) * -.7) 0}17%{translate:calc(var(--sway, 10px) * .6) 0}36%{translate:calc(var(--sway, 10px) * -.2) 0}58%{translate:calc(var(--sway, 10px) * .95) 0}79%{translate:calc(var(--sway, 10px) * -.9) 0}to{translate:calc(var(--sway, 10px) * -.7) 0}}@keyframes fx-flip{0%{transform:perspective(260px) rotate3d(var(--ax,.3),var(--ay,.8),.15,0deg)}50%{transform:perspective(260px) rotate3d(var(--ax,.3),var(--ay,.8),.15,180deg)}to{transform:perspective(260px) rotate3d(var(--ax,.3),var(--ay,.8),.15,1turn)}}@keyframes fx-flutter{0%{transform:perspective(260px) rotate3d(.2,1,0,-52deg)}to{transform:perspective(260px) rotate3d(.2,1,0,52deg)}}@keyframes fx-beat{0%{scale:.94}to{scale:1.08}}@keyframes fx-wobble{0%{transform:scale(1.08,.92)}to{transform:scale(.92,1.08)}}@keyframes fx-twinkle2{0%{transform:scale(.45);opacity:.2}60%{transform:scale(1.1);opacity:1}to{transform:scale(.8);opacity:.55}}@keyframes fx-glint{0%{rotate:-14deg}to{rotate:30deg}}.fx-root{--windcycle:11s}.fx-root .fx-p{will-change:auto;filter:none;animation:fx-fall var(--dur) var(--ease,linear) var(--delay) infinite,fx-wind var(--windcycle) ease-in-out var(--wdelay,0s) infinite alternate}.fx-root .fx-up .fx-p{animation-name:fx-rise,fx-wind}.fx-root .fx-z{display:block;width:100%;height:100%}.fx-root .fx-z-far{filter:blur(var(--blur,.6px))}.fx-root .fx-z-approach{animation:fx-zoom-in var(--dur) cubic-bezier(.5,0,.9,.55) var(--delay) infinite,fx-focus-in var(--dur) linear var(--delay) infinite}.fx-root .fx-z-recede{animation:fx-zoom-out var(--dur) cubic-bezier(.1,.45,.5,1) var(--delay) infinite,fx-focus-out var(--dur) linear var(--delay) infinite}.fx-root .fx-z-bokeh{filter:blur(var(--blur,7px));animation:fx-zoom-pass var(--dur) linear var(--delay) infinite}.fx-root .fx-z-bokeh .fx-flake{background:radial-gradient(circle,rgba(214,226,246,.9) 0,rgba(214,226,246,.6) 55%,rgba(214,226,246,0) 100%);filter:none}.fx-root .fx-i{animation:fx-gx var(--swaydur,3s) ease-in-out var(--swaydelay,0s) infinite alternate}.fx-root .fx-snow .fx-i{animation:fx-snow-x calc(var(--swaydur, 3s) * 2.6) ease-in-out var(--swaydelay,0s) infinite,fx-bob calc(var(--swaydur, 3s) * .8) ease-in-out var(--swaydelay,0s) infinite alternate}.fx-root .fx-clover .fx-i,.fx-root .fx-rose .fx-i,.fx-root .fx-sakura .fx-i{animation:fx-gx var(--swaydur,3s) ease-in-out var(--swaydelay,0s) infinite alternate,fx-gy calc(var(--swaydur, 3s) / 2) ease-in-out var(--swaydelay,0s) infinite alternate,fx-gr var(--swaydur,3s) ease-in-out var(--swaydelay,0s) infinite alternate}.fx-root .fx-leaves .fx-i{animation:fx-gx var(--swaydur,3s) ease-in-out var(--swaydelay,0s) infinite alternate,fx-orbit var(--swaydur,3s) ease-in-out calc(var(--swaydelay, 0s) - var(--swaydur, 3s) / 2) infinite alternate,fx-gr var(--swaydur,3s) ease-in-out var(--swaydelay,0s) infinite alternate}.fx-root .fx-hearts{--lift:-0.9}.fx-root .fx-hearts .fx-i{animation:fx-gx var(--swaydur,3s) ease-in-out var(--swaydelay,0s) infinite alternate,fx-gy var(--swaydur,3s) ease-in-out var(--swaydelay,0s) infinite alternate,fx-gr var(--swaydur,3s) ease-in-out var(--swaydelay,0s) infinite alternate}.fx-root .fx-confetti .fx-i{animation:fx-gx var(--swaydur,1.5s) ease-in-out var(--swaydelay,0s) infinite alternate,fx-gr var(--swaydur,1.5s) ease-in-out var(--swaydelay,0s) infinite alternate}.fx-root .fx-bubbles .fx-i{animation:fx-gx var(--swaydur,3s) ease-in-out var(--swaydelay,0s) infinite alternate,fx-gy calc(var(--swaydur, 3s) * .9) ease-in-out var(--swaydelay,0s) infinite alternate}.fx-root .fx-sparkle .fx-i{animation:fx-twinkle2 var(--tdur,1.6s) ease-in-out var(--swaydelay,0s) infinite alternate;filter:none}.fx-root .fx-sparkle .fx-n{animation:fx-gx calc(var(--swaydur, 3s) * 1.4) ease-in-out var(--swaydelay,0s) infinite alternate,fx-glint calc(var(--tdur, 1.6s) * 2) ease-in-out var(--swaydelay,0s) infinite alternate}.fx-root .fx-t{animation:fx-flip var(--tdur,4s) ease-in-out var(--swaydelay,0s) infinite}.fx-root .fx-hearts .fx-t{animation:fx-flutter var(--tdur,4s) ease-in-out var(--swaydelay,0s) infinite alternate,fx-beat 1.7s ease-in-out var(--swaydelay,0s) infinite alternate}.fx-root .fx-clover .fx-t{animation:fx-flutter var(--tdur,4s) ease-in-out var(--swaydelay,0s) infinite alternate}.fx-root .fx-bubbles .fx-n{animation:fx-wobble var(--tdur,1.6s) ease-in-out var(--swaydelay,0s) infinite alternate}@keyframes op-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes op-beat{0%,to{transform:scale(1)}20%{transform:scale(1.18)}40%{transform:scale(1)}60%{transform:scale(1.18)}80%{transform:scale(1)}}@keyframes op-hint{0%,to{opacity:.45}50%{opacity:1}}.op-in{opacity:0;animation:op-in 1s ease-out forwards}.op-fade{transition:opacity .9s ease-out}.op-fade[data-leaving=true]{opacity:0}.op-heart-text{transition:opacity .5s ease-out}[data-leaving=true] .op-heart-text{opacity:0}.op-shutter{transition:transform 1.3s cubic-bezier(.7,0,.2,1)}[data-leaving=true] .op-shutter{transform:translateY(-101%)}.op-zoom-img{transition:transform 1.6s ease-in}[data-leaving=true] .op-zoom-img{transform:scale(1.35)}.op-heart-mark{animation:op-beat 1.5s ease-in-out;transition:transform 1s ease-in}[data-leaving=true] .op-heart-mark{transform:scale(70)}@keyframes op-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes op-seal-beat{0%,to{transform:scale(1)}15%{transform:scale(1.1)}30%{transform:scale(1)}45%{transform:scale(1.06)}60%{transform:scale(1)}}@keyframes op-ring{0%{transform:scale(1);opacity:.7}to{transform:scale(2.1);opacity:0}}.op-envelope{--env-face:color-mix(in srgb,var(--inv-accent) 12%,var(--inv-alt));--env-flap:color-mix(in srgb,var(--inv-accent) 18%,var(--inv-alt));--env-back:color-mix(in srgb,var(--inv-accent) 30%,var(--inv-alt));animation:op-float 3.6s ease-in-out infinite;cursor:pointer}[data-open=true] .op-envelope{animation:none}.op-env-shadow{transition:opacity .6s ease-out}[data-open=true] .op-env-shadow{opacity:.5}.op-flap{transform-origin:top center;transition:transform .75s cubic-bezier(.45,0,.25,1),z-index 0s .375s;z-index:30}[data-open=true] .op-flap{transform:rotateX(180deg);z-index:5}.op-letter{transition:transform 1s cubic-bezier(.3,0,.2,1) .55s}[data-open=true] .op-letter{transform:translateY(-150px) scale(1.04)}.op-seal{animation:op-seal-beat 2s ease-in-out infinite}.op-seal-ring{animation:op-ring 2.2s ease-out infinite}.op-seal-ring-2{animation-delay:1.1s}.op-seal-wrap{transition:opacity .3s ease-out,transform .45s ease-in}[data-open=true] .op-seal-wrap{opacity:0;transform:translate(-50%,-50%) scale(.5);pointer-events:none}.op-hint{animation:op-hint 1.8s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.op-in{animation:none;opacity:1}.op-env-shadow,.op-fade,.op-flap,.op-heart-mark,.op-letter,.op-seal-wrap,.op-shutter,.op-zoom-img{transition:none;animation:none}.op-envelope,.op-hint,.op-seal,.op-seal-ring{animation:none}}