@font-face{font-family:Fraunces;src:url('./../media/v3-418abd3b46b245f3/celebration/assets/fonts/fraunces.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Lora;src:url('./../media/v3-418abd3b46b245f3/celebration/assets/fonts/lora.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:Caveat;src:url('./../media/v3-418abd3b46b245f3/celebration/assets/fonts/caveat.ttf') format('truetype');font-weight:400 700;font-display:swap}

#milo-celebration{--gift-green:#103d28;--paper:#FBF7EA;--bow-red:#D32F2F;--chocolate:#39271f}
#milo-celebration .gift-card{position:relative;width:330px;height:274px;border-radius:5px;background:linear-gradient(140deg,#fffdf4,var(--paper) 60%,#f1eddc);color:var(--gift-green);box-shadow:0 25px 55px #072e2440,0 3px 4px #072e2429,inset 0 0 0 1px #fffdf7,inset 0 -4px 0 #ded8c1;transform:rotate(-3deg);isolation:isolate}#milo-celebration .card-inset{position:absolute;inset:13px;border:1px solid #b1a47460;border-radius:3px}#milo-celebration .foil-mark{position:absolute;top:25px;left:0;right:0;text-align:center;font-size:25px;color:#95834e}#milo-celebration .card-copy{position:absolute;top:71px;left:20px;right:20px;text-align:center;font:500 30px/1.22 Fraunces,serif;letter-spacing:-.025em}#milo-celebration .ribbon-band{position:absolute;left:0;right:0;bottom:55px;height:23px;background:linear-gradient(#F15B4D,#D32F2F 30%,#AD222A 89%,#E86450);box-shadow:0 3px 4px #6d21112b;border-top:1px solid #ed7669}#milo-celebration .bow-wrap{position:absolute;width:172px;height:108px;left:calc(50% - 86px);bottom:5px;filter:drop-shadow(0 5px 3px #52100f26)}#milo-celebration .bow-wrap svg{display:block;width:100%;height:100%}#milo-celebration .knot-tag{position:absolute;top:43px;left:30px;width:112px;text-align:center;padding:7px 2px;background:var(--paper);border:1px solid #b6a17d;box-shadow:0 2px 3px #5c17132e;border-radius:2px;color:var(--chocolate);font:500 14px/1.15 Lora,serif;transform:rotate(3deg)}#milo-celebration 
.love-letter{position:relative;width:380px;padding:34px 33px 35px;background:var(--paper);color:var(--chocolate);border:1px solid #e2ddc9;border-radius:3px;box-shadow:0 26px 60px #042e2545,0 4px 8px #07332420,inset 0 0 0 6px #ffffff35}#milo-celebration .love-letter:before{content:'';position:absolute;inset:12px;border:1px solid #b1a47438;pointer-events:none}#milo-celebration .letter-close{position:absolute;right:17px;top:17px;width:30px;height:30px;border:1px solid #103d282a;border-radius:50%;padding:6px;color:var(--gift-green);cursor:default;z-index:2;pointer-events:auto}#milo-celebration .letter-close svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}#milo-celebration .letter-ornament{display:block;color:#99864d;font:24px/1 Fraunces;letter-spacing:0;margin-bottom:16px}#milo-celebration .love-letter h3{font:500 38px/1.1 Fraunces,serif;letter-spacing:-.04em;color:var(--gift-green);margin:0 0 26px}#milo-celebration .letter-body{position:relative;z-index:1;font:400 16px/1.7 Lora,serif;letter-spacing:-.01em}#milo-celebration .letter-body p{font:inherit;margin:0 0 19px}#milo-celebration .letter-body p:last-child{margin-bottom:0}#milo-celebration .letter-fold{position:absolute;left:1px;right:1px;top:52%;height:3px;background:linear-gradient(#b7ab8910,#fffdfb80,transparent);pointer-events:none}
@media(max-width:800px){#milo-celebration .gift-card{width:78vw;max-width:330px;height:260px}#milo-celebration .card-copy{font-size:28px}#milo-celebration .love-letter{width:88vw;max-width:380px;padding:30px 27px}#milo-celebration .love-letter h3{font-size:34px;margin-bottom:22px}#milo-celebration .letter-body{font-size:15px;line-height:1.7}#milo-celebration .letter-close{right:15px;top:15px}}
#milo-celebration .gift-trigger{position:absolute;z-index:4;width:132px;height:132px;padding:0;background:none;border:0;color:var(--gift-green);overflow:visible;isolation:isolate}
#milo-celebration .gift-art{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 7px 5px #174b2620);transform-origin:50% 87%}
#milo-celebration .gift-lid{transform-origin:85px 72px}
#milo-celebration[data-open=true] .gift-lid{transform:translateY(-27px) rotate(-13deg)}
#milo-celebration .gift-tag{position:absolute;z-index:1;left:50%;bottom:calc(100% - 12px);white-space:nowrap;background:var(--paper);color:var(--gift-green);font:600 21px/1 Caveat,cursive;padding:8px 12px 9px;transform:translateX(-50%) rotate(-9deg);box-shadow:0 3px 8px #123e2426;border:1px solid #f1e6c9;border-radius:2px}
#milo-celebration .gift-tag:after{content:'';position:absolute;right:19px;bottom:-12px;width:1px;height:16px;background:#baaa77;transform:rotate(24deg)}
#milo-celebration:not([data-state=IDLE]) .gift-tag{visibility:hidden}
#milo-celebration.is-visible[data-state=IDLE]:not(.motion-reduced) .gift-art{animation:celebration-wobble 4s ease-in-out infinite}
@keyframes celebration-wobble{0%,76%,100%{transform:translateY(0) rotate(0)}80%{transform:translateY(-2px) rotate(-3deg)}85%{transform:translateY(-3px) rotate(3deg)}90%{transform:translateY(-1px) rotate(-2deg)}95%{transform:rotate(1deg)}}
#milo-celebration .celebration-modal{position:fixed;inset:0;z-index:90}
#milo-celebration [hidden]{display:none!important}
#milo-celebration .celebration-dim{position:absolute;inset:0;background:rgba(5,47,35,.4);opacity:0;pointer-events:none}
#milo-celebration .celebration-center{position:absolute;inset:0;display:grid;place-items:center;padding:16px;pointer-events:none;perspective:1200px}
#milo-celebration .gift-card,#milo-celebration .letter-shell{grid-area:1/1;pointer-events:auto}
#milo-celebration .gift-card{transform:none;opacity:0;border:0;padding:0;display:block;cursor:pointer;font:inherit;text-align:center;transform-style:preserve-3d;overflow:visible}
#milo-celebration .card-copy{font-family:Lora,serif;font-weight:500;letter-spacing:0;font-variant-ligatures:none;line-height:1.3}
#milo-celebration .knot-tag{transform:none}
#milo-celebration .card-flap{position:absolute;inset:0;background:linear-gradient(#FBF7EA,#eae5d4);clip-path:polygon(0 0,100% 0,50% 65%);transform-origin:50% 0;opacity:0;backface-visibility:visible;pointer-events:none}
#milo-celebration .letter-shell{opacity:0;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-radius:3px}
#milo-celebration .love-letter{margin:0}
#milo-celebration .letter-close{cursor:pointer}
#milo-celebration .gift-trigger:focus-visible,#milo-celebration .gift-card:focus-visible,#milo-celebration .letter-close:focus-visible{outline:3px solid #103d28;outline-offset:6px}
#milo-celebration .celebration-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:800px){#milo-celebration .gift-trigger{width:88px;height:88px}#milo-celebration .gift-tag{font-size:19px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){#milo-celebration .gift-art{animation:none!important}}

/* Pass 3: below the approved dim/card/letter; no input interception. */
#milo-celebration .celebration-confetti{position:fixed;inset:0;width:100%;height:100%;z-index:80;pointer-events:none}
