@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:wght@600;700;800&display=swap";:root{color:#fffdf3;font-synthesis:none;background:#101411;font-family:Nunito,system-ui,sans-serif}*{box-sizing:border-box}button{font:inherit}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}.page-shell{background:radial-gradient(circle at 50% 18%,#89ff5b1f,#0000 25%),linear-gradient(145deg,#151b17,#090c0a 70%);width:100vw;height:100dvh;padding:12px;position:relative;overflow:hidden}.phone{isolation:isolate;width:375px;height:840px;transform:translate(-50%, -50%) scale(var(--phone-scale,1));background:#12231b;border-radius:38px;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 30px 80px #000b,inset 0 0 0 1px #fff2}.garden-backdrop{z-index:-3;background:radial-gradient(at 50% 40%,#183428 0,#0b1d15 38%,#0000 65%),linear-gradient(#0a1912 0%,#07130e 68%,#040b08 100%);position:absolute;inset:0;overflow:hidden}.reveal-sky{z-index:-2;opacity:0;clip-path:circle(0 at 50% 47%);background:radial-gradient(circle at 50% 45%,#fffde9 0 8%,#c8eeff 25%,#0000 48%),linear-gradient(#48adf5 0%,#78c9ff 56%,#bfe9ff 100%);position:absolute;inset:0;overflow:hidden}.reveal-sky:before{content:"";opacity:.33;background:repeating-conic-gradient(from -7deg, #fffa 0 7deg, transparent 7deg 18deg);width:650px;height:650px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle,#000 0 12%,#0000 66%);mask-image:radial-gradient(circle,#000 0 12%,#0000 66%)}.reveal-sky:after{content:"";background:linear-gradient(#ffffff18,#0000 55%,#227fc42b);position:absolute;inset:0}.sky-bloom{filter:blur(8px);background:radial-gradient(circle,#fff 0,#fff6bfa8 25%,#ff8ac75c 49%,#0000 72%);border-radius:50%;width:250px;height:250px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.sky-cloud{filter:blur(2px);background:#ffffff75;border-radius:50%;width:210px;height:80px;position:absolute}.sky-cloud:before,.sky-cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.sky-cloud:before{width:95px;height:95px;top:-35px;left:35px}.sky-cloud:after{width:120px;height:120px;top:-55px;right:20px}.cloud-left{bottom:105px;left:-115px;transform:rotate(7deg)}.cloud-right{top:210px;right:-130px;transform:rotate(-8deg)}.sky-decorations{z-index:1;object-fit:contain;pointer-events:none;opacity:0;filter:drop-shadow(0 5px 7px #2a76a42b);width:300px;height:300px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.sky-token{z-index:1;color:#fff;opacity:0;border:3px solid #fff9;border-radius:15px;place-items:center;width:42px;height:42px;font:900 21px "Baloo 2";display:grid;position:absolute;box-shadow:0 12px 24px #1765a84a,inset 0 2px 5px #fff8}.token-flower{background:linear-gradient(145deg,#ff8cc9,#ee4ca8);top:290px;left:24px;transform:rotate(-13deg)}.token-heart{background:linear-gradient(145deg,#ff8e9d,#ff4e76);top:350px;right:22px;transform:rotate(12deg)}.token-coin{color:#fff9b5;background:linear-gradient(145deg,#ffc92e,#f28c1d);border-radius:50%;top:146px;right:34px;transform:rotate(9deg)}.token-gem{color:#eaffff;background:linear-gradient(145deg,#b99bff,#6b58ef);top:140px;left:30px;transform:rotate(-11deg)}.token-spark{color:#775b00;background:#fff59b;border-width:2px;border-radius:50%;width:32px;height:32px;bottom:165px;right:50px}.garden-backdrop:before{content:"";opacity:.14;background-image:linear-gradient(145deg,#0000 48%,#8dcf7b18 49% 51%,#0000 52%),radial-gradient(at 15% 90%,#5c274f 0 4%,#0000 12%),radial-gradient(at 88% 96%,#72521f 0 5%,#0000 14%);background-size:120px 120px,100% 100%,100% 100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0,#000 20% 100%);mask-image:linear-gradient(#0000 0,#000 20% 100%)}.moon-glow{filter:blur(12px);background:radial-gradient(circle,#dfffa31f 0,#7fd6450d 42%,#0000 70%);border-radius:50%;width:320px;height:320px;position:absolute;top:150px;left:28px}.leaf{filter:blur(6px);opacity:.28;background:#274c35;border-radius:90% 0;width:160px;height:90px;position:absolute}.leaf-a{top:115px;left:-78px;transform:rotate(35deg)}.leaf-b{top:220px;right:-92px;transform:rotate(-50deg)}.leaf-c{background:#4c303d;bottom:30px;left:-80px;transform:rotate(10deg)}.firefly{width:3px;height:3px;animation:firefly var(--duration) ease-in-out var(--delay) infinite;background:#fff7a3;border-radius:50%;position:absolute;box-shadow:0 0 10px 3px #caff62}.status-bar{z-index:10;justify-content:space-between;align-items:flex-start;height:42px;padding:13px 22px 0;font-size:12px;font-weight:800;display:flex;position:relative}.island{background:#050706;border-radius:20px;width:90px;height:24px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.status-icons{letter-spacing:2px;font-size:10px}.top-bar{z-index:10;grid-template-columns:42px 1fr 42px;align-items:center;height:52px;padding:0 18px;display:grid;position:relative}.icon-button{color:#fff;cursor:pointer;background:#15261fc9;border:1px solid #ffffff2b;border-radius:50%;width:36px;height:36px;font-size:25px;line-height:1;box-shadow:0 5px 12px #0004}.icon-button.sound{justify-self:end;font-size:17px}.brand-mark{letter-spacing:1.8px;opacity:.75;justify-self:center;font-family:"Baloo 2";font-size:11px;font-weight:800}.brand-mark span{color:#caff51}.scene{flex-direction:column;align-items:center;display:flex;position:absolute;inset:94px 0 170px}.intro-copy{z-index:4;text-align:center;transition:transform .6s,opacity .4s}.eyebrow{color:#c9ff66;letter-spacing:2.2px;margin:4px 0 2px;font-size:10px;font-weight:900}.intro-copy h1{letter-spacing:-.8px;text-shadow:0 3px #09110c99;margin:0;font:800 34px/1.05 "Baloo 2"}.from-line{color:#e5eadf;align-items:center;gap:7px;margin:7px 0 0;font-size:12px;display:inline-flex}.sender-avatar{background:#173824;border:2px solid #d9ff7d;border-radius:50%;width:25px;height:25px;display:block;overflow:hidden;box-shadow:0 0 0 2px #91dd3d22}.sender-avatar img{object-fit:cover;width:100%;height:100%;display:block}.gift-stage{flex:1;place-items:center;width:100%;min-height:300px;display:grid;position:relative}.ground-shadow{filter:blur(14px);background:#0009;border-radius:50%;width:210px;height:34px;animation:2.8s ease-in-out infinite shadowFloat;position:absolute;top:69%}.wrapped-gift{filter:drop-shadow(0 20px 20px #0008);will-change:transform, filter, opacity;width:250px;animation:2.8s ease-in-out infinite giftFloat;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.gift-hit-target{z-index:12;cursor:pointer;background:0 0;border:0;border-radius:48%;width:250px;height:220px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.gift-hit-target:not(:disabled):hover+*{filter:brightness(1.06)}.gift-hit-target:focus-visible{outline-offset:5px;outline:3px solid #caff51}.gift-hit-target:disabled{pointer-events:none}.halo-ring{aspect-ratio:1;border:1px solid #d9ff8c38;border-radius:50%;width:235px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ring-one{animation:2.8s ease-out infinite halo}.ring-two{animation:2.8s ease-out 1.4s infinite halo}.tap-hint{text-transform:uppercase;letter-spacing:1.5px;color:#f4ffd0aa;font-size:11px;animation:1.6s ease-in-out infinite hint;position:absolute;top:calc(100% - 24px)}.tap-hint span{color:#caff51;margin:0 5px}.gift-parts{pointer-events:none;width:282px;height:238px;position:absolute;top:calc(48% - 119px);left:calc(50% - 141px)}.box-base{z-index:7;opacity:0;filter:drop-shadow(0 18px 17px #0009);width:268px;position:absolute;top:77px;left:50%;transform:translate(-50%)}.lid-hinge{z-index:10;opacity:0;transform-origin:50% 54%;filter:drop-shadow(0 10px 10px #4b082c55);width:258px;height:258px;position:absolute;top:20px;left:50%;overflow:visible;transform:translate(-50%)}.box-lid{clip-path:none;width:100%;display:block}.ribbon-half{z-index:12;opacity:0;filter:drop-shadow(0 4px 6px #8a4c073b);width:250px;height:183px;position:absolute;top:39px;overflow:hidden}.ribbon-half img{width:250px;position:absolute;top:0}.ribbon-left{clip-path:inset(0 50% 0 0);transform-origin:50% 48%;left:16px}.ribbon-right{clip-path:inset(0 0 0 50%);transform-origin:50% 48%;right:16px}.ribbon-left img{left:0}.ribbon-right img{right:0}.ribbon-knot{z-index:14;opacity:0;clip-path:inset(35% 38% 32% round 22px);filter:drop-shadow(0 4px 5px #9b5f1838);transform-origin:50% 49%;width:250px;height:183px;position:absolute;top:39px;left:16px;overflow:hidden}.ribbon-knot img{width:250px;position:absolute;inset:0}.ribbon-untie{z-index:14;opacity:0;filter:saturate(1.05)drop-shadow(0 13px 16px #0006);width:282px;height:282px;position:absolute;top:-20px;left:0}.ribbon-frame{object-fit:contain;opacity:0;width:100%;height:100%;position:absolute;inset:0}.ribbon-frame-1{animation:.23s step-end forwards framePulse}.ribbon-frame-2{animation:.23s step-end .23s forwards framePulse}.ribbon-frame-3{animation:.23s step-end .46s forwards framePulse}.ribbon-frame-4{animation:.23s step-end .69s forwards framePulse}.ribbon-frame-5{animation:.23s step-end .92s forwards framePulse}.ribbon-frame-6{animation:.28s step-end 1.15s forwards framePulse}.mini-envelope{z-index:13;opacity:0;background:#fff1d2;border:2px solid #edcfa0;border-radius:9px;width:96px;height:62px;position:absolute;bottom:14px;right:14px;overflow:hidden;transform:rotate(8deg);box-shadow:0 9px 13px #4b170c55}.mini-envelope:before,.mini-envelope:after{content:"";background:#fff7e4;border:2px solid #e7c38d;width:70px;height:70px;position:absolute;top:-40px;transform:rotate(45deg)}.mini-envelope:before{left:-35px}.mini-envelope:after{right:-35px}.mini-envelope i{z-index:3;background:linear-gradient(#ff91a7,#e7527c);border-radius:50%;width:18px;height:18px;position:absolute;top:23px;left:39px;box-shadow:0 2px 4px #8e254866}.mini-envelope b{z-index:4;color:#fff;font-size:10px;position:absolute;top:21px;left:43px}.inside-light{z-index:4;opacity:0;filter:blur(5px);background:radial-gradient(circle,#fffbd0 0,#d6ff66aa 30%,#0000 72%);border-radius:50%;width:170px;height:90px;position:absolute;top:102px;left:50%;transform:translate(-50%)scale(.2)}.burst-field{pointer-events:none;width:1px;height:1px;position:absolute;top:50%;left:50%}.burst-field span{opacity:0;color:#efff8a;font-size:var(--size);text-shadow:0 0 8px #fff,0 0 13px #8aff42;position:absolute}.reward-wrap{z-index:5;opacity:0;place-items:center;width:250px;height:300px;display:grid;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)scale(.15)rotate(-12deg)}.reward{z-index:2;filter:drop-shadow(0 20px 18px #000a)drop-shadow(0 0 7px #ffd95d66);width:214px;position:relative}.reward-rays{filter:blur(5px);background:radial-gradient(circle,#eaff9470 0,#a8f34b25 28%,#0000 68%);border-radius:50%;width:265px;height:265px;position:absolute}.reward-orbit{z-index:3;pointer-events:none;position:absolute;inset:0}.orbit-item{color:#fff;opacity:0;border:2px solid #fffb;border-radius:14px;place-items:center;width:40px;height:40px;font:900 19px "Baloo 2";display:grid;position:absolute;box-shadow:0 11px 20px #17639a4d,inset 0 2px 5px #fff8}.orbit-flower{background:linear-gradient(145deg,#ff83c7,#ed48a4);top:58px;left:-4px;transform:rotate(-12deg)}.orbit-heart{background:linear-gradient(145deg,#ff9a9f,#f24e78);top:82px;right:-5px;transform:rotate(10deg)}.orbit-coin{color:#fff9b5;background:linear-gradient(145deg,#ffd34b,#f49b16);border-radius:50%;bottom:41px;left:16px;transform:rotate(8deg)}.orbit-gem{color:#efffff;background:linear-gradient(145deg,#aee8ff,#547bea);bottom:36px;right:8px;transform:rotate(-8deg)}.orbit-leaf{color:#1f6d43;background:linear-gradient(145deg,#bbff83,#58d979);top:155px;right:-22px;transform:rotate(16deg)}.note-card{z-index:7;color:#624327;opacity:0;background:linear-gradient(135deg,#fff9df,#f2dfb8);border:1px solid #d6b984;border-radius:18px 10px 17px 12px;width:300px;padding:17px 20px 12px;position:absolute;bottom:-3px;transform:translateY(150%)rotate(5deg);box-shadow:0 16px 28px #0008,inset 0 0 30px #ba7a3022}.note-card:after{content:"";pointer-events:none;border:1px dashed #b98c5470;border-radius:14px 8px 12px 9px;position:absolute;inset:7px}.tape{background:#fff2c4cc;width:66px;height:22px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 2px 3px #0002}.note-kicker{z-index:1;letter-spacing:1.6px;color:#8f6840;font-size:9px;font-weight:900;position:relative}.note-card p{z-index:1;margin:7px 0 2px;font:700 17px/1.22 "Baloo 2";position:relative}.note-signature{z-index:1;text-align:right;font:700 13px "Baloo 2";position:relative}.note-signature span{color:#df5a84;font-size:17px}.reward-caption{z-index:5;text-align:center;opacity:0;width:100%;position:absolute;top:62%;transform:translateY(24px)}.reward-caption .rarity{color:#d6ff78;letter-spacing:1.5px;background:#1f392bdd;border-radius:10px;padding:3px 9px;font-size:8px;font-weight:900;display:inline-block}.reward-caption h2{margin:7px 0 0;font:800 25px/1.05 "Baloo 2"}.reward-caption p{color:#dae4d7;margin:5px 0 0;font-size:11px}.bottom-area{z-index:20;background:linear-gradient(#0000 0,#0c1511d9 24%,#0c1511 58%);justify-content:center;align-items:center;min-height:148px;padding:16px 22px 22px;display:flex;position:absolute;bottom:0;left:0;right:0}.primary-button{color:#1e300e;cursor:pointer;background:linear-gradient(#c9ff53,#8ee41e);border:1px solid #ebff9a;border-radius:30px;width:100%;height:60px;font:900 19px "Baloo 2";transition:transform .2s;box-shadow:0 0 0 6px #9aff2720,0 12px 26px #78e12555,inset 0 2px #fff9}.primary-button:active{transform:scale(.97)}.primary-button b{float:right;margin-right:20px;font-size:31px;font-weight:500;line-height:20px}.opening-label{color:#efffd0c9;letter-spacing:.2px;align-items:center;gap:9px;font-size:12px;display:flex}.opening-label span{background:#bdff4f;border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite loading;box-shadow:0 0 12px #bdff4f}.reaction-panel{text-align:center;width:100%;animation:.55s cubic-bezier(.2,.9,.3,1.2) both panelUp}.reaction-panel p{margin:0 0 9px;font:800 14px "Baloo 2"}.reactions{justify-content:center;gap:12px;display:flex}.reactions button{cursor:pointer;background:#ffffff12;border:1px solid #ffffff2e;border-radius:18px;width:58px;height:48px;font-size:23px;transition:transform .15s,background .15s;box-shadow:inset 0 1px #fff3}.reactions button:hover{background:#caff5130;transform:translateY(-5px)scale(1.08)}.continue-button{color:#b9c4b8;cursor:pointer;background:0 0;border:0;margin-top:8px;font-size:11px;text-decoration:underline}.sent-panel{background:#263c2de8;border:1px solid #d5ff8050;border-radius:20px;grid-template-columns:48px 1fr auto;align-items:center;gap:11px;width:100%;padding:11px 12px;animation:.55s cubic-bezier(.2,.9,.3,1.2) both panelUp;display:grid}.sent-bubble{background:#d6ff83;border-radius:50%;place-items:center;width:44px;height:44px;font-size:23px;display:grid;box-shadow:0 0 18px #baff5c77}.sent-panel strong,.sent-panel span{display:block}.sent-panel strong{font:800 14px "Baloo 2"}.sent-panel span{color:#c8d3c8;font-size:10px}.sent-panel button{color:#cfff6d;cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:900}.prototype-note{color:#9dab9f;text-align:center;margin-top:14px;display:none}.prototype-note span{margin-top:3px;font-size:12px;display:block}.phase-waiting .garden-backdrop,.phase-opening .garden-backdrop{background:#19211b}.phase-opening .garden-backdrop{background:radial-gradient(circle at 50% 47%,#31583e 0,#203d2d 24%,#19271f 50%,#19211b 76%);animation:1.8s ease-in-out both openingBackdrop}.phase-opening .garden-backdrop:after{content:"";opacity:0;background:radial-gradient(circle at 10% 42%,#d7ff71 0 2px,#a9ff454d 3px,#0000 13px),radial-gradient(circle at 88% 38%,#fff4a2 0 2px,#dfff6252 3px,#0000 14px),radial-gradient(circle at 16% 63%,#baff5e 0 1.5px,#9aff3d42 3px,#0000 11px),radial-gradient(circle at 84% 67%,#fff7a6 0 1.5px,#cfff5545 3px,#0000 12px),radial-gradient(circle at 6% 76%,#d9ff83 0 1px,#0000 8px),radial-gradient(circle at 94% 75%,#efffa1 0 1px,#0000 8px);animation:1.7s ease-in-out .12s infinite alternate openingSideGlow;position:absolute;inset:0}.phase-waiting .garden-backdrop:before,.phase-opening .garden-backdrop:before,.phase-waiting .moon-glow,.phase-opening .moon-glow,.phase-waiting .leaf,.phase-opening .leaf,.phase-waiting .firefly,.phase-opening .firefly,.phase-waiting .halo-ring,.phase-waiting .tap-hint,.phase-waiting .eyebrow,.phase-opening .eyebrow,.phase-waiting .from-line,.phase-opening .from-line,.phase-waiting .island,.phase-opening .island{display:none}.phase-waiting .scene,.phase-opening .scene{display:block;inset:94px 0 132px}.phase-waiting .intro-copy,.phase-opening .intro-copy{z-index:8;width:100%;position:absolute;top:420px;left:0}.phase-waiting .intro-copy h1,.phase-opening .intro-copy h1{letter-spacing:-.35px;text-shadow:none;margin:0;font:800 27px/1.08 "Baloo 2"}.phase-waiting .gift-stage,.phase-opening .gift-stage{min-height:0;position:absolute;inset:0}.phase-waiting .wrapped-gift{filter:drop-shadow(0 18px 17px #0008);width:250px;top:48%}.phase-waiting .ground-shadow{width:210px;height:34px;top:69%}.phase-waiting .bottom-area,.phase-opening .bottom-area{background:0 0;align-items:flex-end;height:100px;min-height:100px;padding:0 22px 38px}.phase-waiting .open-button{color:#11220c;height:50px;box-shadow:none;background:#62eb0a;border-color:#eaffc7;font-size:15px}.phase-waiting .open-button b{display:none}.phase-opening .wrapped-gift{animation:.1s ease-out 30ms both closedToParts}.phase-opening .halo-ring{border-color:#faff91a8;animation-duration:.65s}.phase-opening .tap-hint,.phase-burst .tap-hint,.phase-revealed .tap-hint,.phase-sent .tap-hint{opacity:0}.phase-opening .ribbon-untie{opacity:1;animation:.14s ease-out 1.4s both ribbonSpriteOut}.phase-opening .mini-envelope{opacity:0}.phase-opening .lid-hinge{animation:.1s 1.36s both layerAppear,.52s cubic-bezier(.2,.72,.21,1.08) 1.43s both lidOpen}.phase-opening .box-base{animation:.1s 1.36s both layerAppear,.42s ease-in-out 1.42s both boxSquash}.phase-opening .inside-light{animation:.43s ease-out 1.55s both insideGlow}.phase-opening .intro-copy{animation:.4s ease-out .25s both copyQuiet}.phase-opening .reveal-sky{opacity:0}.phase-burst .gift-stage:after{content:"";z-index:2;pointer-events:none;background:radial-gradient(circle,#fffbd9cc 0,#d7ff7777 20%,#9df64a20 46%,#0000 70%);border-radius:50%;width:290px;height:290px;animation:.72s ease-out both localFlash;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)scale(.25)}.phase-burst .reveal-sky{animation:1.05s cubic-bezier(.3,.72,.2,1) 60ms both skyPortal}.phase-burst .garden-backdrop{animation:.62s ease-out .42s both gardenFade}.phase-burst .wrapped-gift{animation:.45s ease-out both vanish}.phase-burst .ribbon-half,.phase-burst .ribbon-knot,.phase-burst .mini-envelope{opacity:0}.phase-burst .lid-hinge{opacity:1;animation:.72s ease-out both lidSettleBehind}.phase-burst .box-base{opacity:1;animation:.72s ease-out both baseYield}.phase-burst .inside-light{opacity:1;animation:.9s ease-out both glowPayoff}.phase-burst .burst-field span{animation:burst .8s var(--delay) cubic-bezier(.16,.72,.31,1) both}.phase-burst .burst-field span:nth-child(4n+1){color:#ff72c1;text-shadow:0 0 8px #fff,0 0 15px #ff49ad}.phase-burst .burst-field span:nth-child(4n+2){color:#ffe468;text-shadow:0 0 8px #fff,0 0 15px #ffad29}.phase-burst .burst-field span:nth-child(4n+3){color:#7eeaff;text-shadow:0 0 8px #fff,0 0 15px #3af}.phase-burst .reward-wrap{animation:.98s cubic-bezier(.16,.82,.28,1.12) .12s both rewardEmerge}.phase-burst .intro-copy{opacity:0;transform:translateY(-8px)}.phase-revealed .reveal-sky,.phase-sent .reveal-sky{opacity:1;clip-path:circle(150% at 50% 47%)}.phase-revealed .garden-backdrop,.phase-sent .garden-backdrop{opacity:0}.phase-revealed .sky-decorations,.phase-sent .sky-decorations{opacity:1;animation:4.8s ease-in-out infinite decorationDrift}.phase-revealed .sky-token,.phase-sent .sky-token{opacity:1;animation:4s ease-in-out infinite skyTokenFloat}.phase-revealed .token-heart,.phase-sent .token-heart{animation-delay:-.7s}.phase-revealed .token-coin,.phase-sent .token-coin{animation-delay:-1.6s}.phase-revealed .token-gem,.phase-sent .token-gem{animation-delay:-2.2s}.phase-revealed .token-spark,.phase-sent .token-spark{animation-delay:-3s}.phase-revealed .wrapped-gift,.phase-sent .wrapped-gift,.phase-revealed .gift-parts,.phase-sent .gift-parts,.phase-revealed .halo-ring,.phase-sent .halo-ring,.phase-revealed .ground-shadow,.phase-sent .ground-shadow{opacity:0}.phase-revealed .reward-wrap,.phase-sent .reward-wrap{opacity:1;animation:3s ease-in-out infinite rewardHover;transform:translate(-50%,-53%)scale(.66)rotate(0)}.phase-revealed .orbit-item,.phase-sent .orbit-item{opacity:1;animation:3.4s ease-in-out infinite orbitFloat}.phase-revealed .orbit-heart,.phase-sent .orbit-heart{animation-delay:-.6s}.phase-revealed .orbit-coin,.phase-sent .orbit-coin{animation-delay:-1.2s}.phase-revealed .orbit-gem,.phase-sent .orbit-gem{animation-delay:-1.8s}.phase-revealed .orbit-leaf,.phase-sent .orbit-leaf{animation-delay:-2.4s}.phase-revealed .note-card,.phase-sent .note-card{animation:.75s cubic-bezier(.18,.9,.3,1.2) .35s both noteIn}.phase-revealed .reward-caption,.phase-sent .reward-caption{animation:.5s ease-out .12s both captionIn}.phase-revealed .intro-copy,.phase-sent .intro-copy{transform:translateY(-3px)}.phase-revealed .intro-copy h1,.phase-sent .intro-copy h1{color:#113f68;text-shadow:0 2px #fff9}.phase-revealed .eyebrow,.phase-sent .eyebrow{color:#19547f}.phase-revealed .from-line,.phase-sent .from-line{color:#245777}.phase-revealed .status-bar,.phase-sent .status-bar,.phase-revealed .brand-mark,.phase-sent .brand-mark{color:#123c60}.phase-revealed .brand-mark span,.phase-sent .brand-mark span{color:#ff4ca7}.phase-revealed .icon-button,.phase-sent .icon-button{color:#17466c;background:#ffffff8f;border-color:#ffffffc9;box-shadow:0 8px 18px #247bb23b,inset 0 1px #fff}.phase-revealed .reward-rays,.phase-sent .reward-rays{background:radial-gradient(circle,#fff 0,#fffacfa8 26%,#ff75be33 48%,#0000 70%)}.phase-revealed .reward-caption h2,.phase-sent .reward-caption h2{color:#123e63;text-shadow:0 2px #ffffffa3}.phase-revealed .reward-caption p,.phase-sent .reward-caption p{color:#245777}.phase-revealed .reward-caption .rarity,.phase-sent .reward-caption .rarity{color:#fff;background:#275a82df;box-shadow:0 5px 12px #1d6a9a30}.phase-revealed .bottom-area,.phase-sent .bottom-area{background:linear-gradient(#0000 0,#72c7f4d9 28%,#5eafe5 62%)}.phase-revealed .reaction-panel,.phase-sent .sent-panel{color:#123e63}.phase-revealed .reactions button{background:#ffffff9e;border-color:#ffffffde;box-shadow:0 10px 20px #1f75a839,inset 0 2px #fff}.phase-revealed .reactions button:hover{background:#fff}.phase-revealed .continue-button{color:#20577c}.phase-sent .sent-panel{background:#ffffffbf;border-color:#ffffffb0;box-shadow:0 12px 24px #287aad33}.phase-sent .sent-panel span{color:#376886}.phase-sent .sent-panel button{color:#e63d95}@keyframes giftFloat{0%,to{transform:translate(-50%,-50%)translateY(4px)rotate(-2deg)}50%{transform:translate(-50%,-50%)translateY(-10px)rotate(2deg)}}@keyframes shadowFloat{0%,to{opacity:.72;transform:scale(1)}50%{opacity:.45;transform:scale(.78)}}@keyframes halo{0%{opacity:0;transform:translate(-50%,-50%)scale(.72)}35%{opacity:.5}to{opacity:0;transform:translate(-50%,-50%)scale(1.4)}}@keyframes openingBackdrop{0%{filter:brightness(.92)}to{filter:brightness()}}@keyframes openingSideGlow{0%{opacity:.18;transform:scale(.985)}to{opacity:.72;transform:scale(1.015)}}@keyframes firefly{0%,to{opacity:.08;transform:translate(0)scale(.6)}45%{opacity:.9;transform:translate(5px,-8px)scale(1.1)}}@keyframes hint{50%{opacity:.45;transform:translateY(2px)}}@keyframes closedToParts{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}65%{opacity:.35}to{opacity:0;transform:translate(-50%,-48%)scale(.98)}}@keyframes layerAppear{0%{opacity:0}to{opacity:1}}@keyframes untieLeft{0%,18%{opacity:1;transform:translate(0)rotate(0)scale(1)}38%{transform:translate(-2px,1px)rotate(-2deg)scale(1.035,.99)}60%{opacity:1;transform:translate(-7px)rotate(-5deg)scale(1.09,.96)}78%{transform:translate(-34px,7px)rotate(-23deg)scale(.98,.9)}to{opacity:0;transform:translate(-132px,54px)rotate(-86deg)scale(.8)}}@keyframes untieRight{0%,18%{opacity:1;transform:translate(0)rotate(0)scale(1)}38%{transform:translate(13px,-2px)rotate(4deg)scale(1.02,.99)}60%{opacity:1;transform:translate(31px,-5px)rotate(11deg)scale(1.08,.95)}78%{transform:translate(58px,9px)rotate(34deg)scale(.96,.88)}to{opacity:0;transform:translate(138px,52px)rotate(88deg)scale(.79)}}@keyframes knotPull{0%,18%{opacity:1;transform:translate(0)rotate(0)scale(1)}38%{transform:translate(12px,-2px)rotate(3deg)scale(.98,1.03)}60%{opacity:1;transform:translate(28px,-5px)rotate(9deg)scale(.91,1.06)}78%{transform:translate(48px,5px)rotate(23deg)scale(.78,.9)}to{opacity:0;transform:translate(114px,43px)rotate(72deg)scale(.55)}}@keyframes ribbonLift{0%,70%{transform:translate(0)rotate(0)}88%{transform:translateY(-4px)rotate(-1deg)}to{transform:translateY(-18px)rotate(-3deg)}}@keyframes ribbonFrames{0%,15.9%{background-position:0 0}16%,31.9%{background-position:-282px 0}32%,47.9%{background-position:-564px 0}48%,63.9%{background-position:0 -282px}64%,79.9%{background-position:-282px -282px}80%,to{background-position:-564px -282px}}@keyframes ribbonSpriteOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}@keyframes framePulse{0%,99%{opacity:1}to{opacity:0}}@keyframes envelopeLeave{0%{opacity:1;transform:rotate(8deg)}to{opacity:0;transform:translate(75px,70px)rotate(26deg)scale(.78)}}@keyframes lidOpen{0%{transform:translate(-50%)translateY(0)rotate(0)scale(1)}30%{transform:translate(-50%)translateY(-12px)rotate(-1deg)scale(1.03)}76%{transform:translate(-50%)translateY(-94px)rotate(-5deg)scale(.92)}to{transform:translate(-50%)translateY(-86px)rotate(-4deg)scale(.9)}}@keyframes boxSquash{0%,to{transform:translate(-50%)scale(1)}40%{transform:translate(-50%)scale(1.05,.92)}70%{transform:translate(-50%)scale(.98,1.04)}}@keyframes insideGlow{0%{opacity:0;transform:translate(-50%)scale(.2)}to{opacity:1;transform:translate(-50%)scale(1.3)}}@keyframes copyQuiet{to{opacity:0;transform:translateY(-6px)}}@keyframes localFlash{0%{opacity:0;transform:translate(-50%,-50%)scale(.25)}22%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1.65)}}@keyframes skyPortal{0%{opacity:0;clip-path:circle(0 at 50% 47%)}18%{opacity:1}to{opacity:1;clip-path:circle(150% at 50% 47%)}}@keyframes gardenFade{0%{opacity:1}to{opacity:0}}@keyframes skyTokenFloat{0%,to{translate:0}50%{translate:0 -11px}}@keyframes decorationDrift{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,calc(-50% - 5px))scale(1.01)}}@keyframes orbitFloat{0%,to{translate:0}50%{translate:0 -13px}}@keyframes lidSettleBehind{0%{opacity:1;transform:translate(-50%)translateY(-86px)rotate(-4deg)scale(.9)}38%{opacity:.55}to{opacity:0;transform:translate(-50%)translateY(-102px)rotate(-6deg)scale(.76)}}@keyframes baseYield{0%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}42%{opacity:.52}to{opacity:0;transform:translate(-50%)translateY(42px)scale(.82)}}@keyframes glowPayoff{0%{opacity:.75;transform:translate(-50%)scale(1.15)}42%{opacity:1;transform:translate(-50%)scale(1.7)}to{opacity:0;transform:translate(-50%)scale(2.05)}}@keyframes vanish{to{opacity:0;filter:blur(12px)brightness(3);transform:translate(-50%,-50%)scale(1.55)}}@keyframes burst{0%{opacity:0;transform:translate(0)scale(.2)rotate(0)}22%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) scale(1.5) rotate(190deg)}}@keyframes rewardEmerge{0%{opacity:0;clip-path:inset(48% 0 0);transform:translate(-50%,24%)scale(.22)rotate(-5deg)}28%{opacity:1;clip-path:inset(30% 0 0)}72%{clip-path:inset(0);transform:translate(-50%,-58%)scale(.69)rotate(1.5deg)}to{opacity:1;clip-path:inset(0);transform:translate(-50%,-53%)scale(.66)rotate(0)}}@keyframes rewardHover{0%,to{transform:translate(-50%,-53%)scale(.66)rotate(-1deg)}50%{transform:translate(-50%,-57%)scale(.68)rotate(1deg)}}@keyframes noteIn{0%{opacity:0;transform:translateY(150%)rotate(8deg)}70%{opacity:1;transform:translateY(-8px)rotate(-2deg)}to{opacity:1;transform:translateY(0)rotate(-1deg)}}@keyframes captionIn{to{opacity:1;transform:translateY(0)}}@keyframes loading{50%{opacity:.35;transform:scale(1.7)}}@keyframes panelUp{0%{opacity:0;transform:translateY(20px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
