*{box-sizing:border-box;margin:0;padding:0}:root{--yellow:#ffe066;--gold:gold;--pink:#ff6b9d;--dark:#0a0a0f;--dark2:#12080e;--red-curtain:#8b0000;--btn-border:#ffc86480}html,body{width:100%;height:100%;font-family:var(--font-nunito), "Nunito", sans-serif;color:#fff;background:#050508;overflow:hidden}.page{z-index:10;flex-direction:column;justify-content:center;align-items:center;transition:opacity .6s,transform .6s;display:flex;position:fixed;inset:0}.page.hidden{opacity:0;pointer-events:none;transform:translateY(20px)}.curtain-panel{z-index:55;background-image:repeating-linear-gradient(90deg,#00000038 0,#0000 5px,#ffffff0a 8px,#0000002e 13px),linear-gradient(#5a0000 0%,#8a0000 15%,#b50008 35%,#cc000c 50%,#b50008 65%,#8a0000 85%,#5a0000 100%);width:50%;transition:transform 1s cubic-bezier(.76,0,.24,1);position:absolute;top:0;bottom:0}.curtain-left{left:0;transform:translate(0);box-shadow:inset -18px 0 40px #0000008c,4px 0 20px #00000080}.curtain-left:after{content:"";background:linear-gradient(90deg,#00000059 0%,#0000 40%,#ffc8a00a 60%,#00000040 100%);position:absolute;inset:0}.curtain-right{right:0;transform:translate(0);box-shadow:inset 18px 0 40px #0000008c,-4px 0 20px #00000080}.curtain-right:after{content:"";background:linear-gradient(270deg,#00000059 0%,#0000 40%,#ffc8a00a 60%,#00000040 100%);position:absolute;inset:0}.curtain-open-left{transform:translate(-100%)!important}.curtain-open-right{transform:translate(100%)!important}.curtain-valance{z-index:60;background:linear-gradient(#2a0000,#6a0000);height:18px;position:absolute;top:0;left:0;right:0;box-shadow:0 4px 18px #000000b3}.curtain-btn{z-index:20;color:#fff;cursor:pointer;letter-spacing:.5px;background:#0a0505d9;border:2px solid #ffb4b459;border-radius:50px;align-items:center;gap:10px;padding:14px 40px;font-family:Nunito,sans-serif;font-size:1.25rem;font-weight:800;transition:all .3s;display:flex;position:relative;box-shadow:0 0 30px #ff646433,0 0 0 1px #ff64641a}.curtain-btn:hover{background:#1e0a0ae6;transform:scale(1.05);box-shadow:0 0 50px #ff646459,0 0 0 1px #ff96964d}.heart-icon{font-size:1.4rem;animation:1.2s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1)}75%{transform:scale(1.2)}}.avatar{background:#140a14cc;border:3px solid #ffdc6466;border-radius:50%;justify-content:center;align-items:center;width:110px;height:110px;margin-bottom:28px;font-size:4rem;animation:3s ease-in-out infinite float;display:flex;box-shadow:0 0 30px #ffc85040}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.title-yellow{color:var(--yellow);text-align:center;text-shadow:0 0 20px #ffdc5080;margin-bottom:16px;font-family:Nunito,sans-serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;line-height:1.3}.subtitle{color:#ffe696bf;text-align:center;margin-bottom:36px;font-size:1rem;font-weight:600}.btn{color:var(--yellow);cursor:pointer;letter-spacing:.3px;background:#0f0808cc;border:2px solid #ffc86466;border-radius:50px;padding:14px 36px;font-family:Nunito,sans-serif;font-size:1.05rem;font-weight:800;transition:all .3s;box-shadow:0 0 20px #ffb4501a}.btn:hover{background:#1e0f0ae6;border-color:#ffdc64b3;transform:scale(1.04);box-shadow:0 0 35px #ffc85040}.age-tracker{grid-template-columns:repeat(2,1fr);align-items:end;gap:16px 26px;max-width:330px;margin:22px auto 34px;display:grid}.age-unit{flex-direction:column;align-items:center;gap:6px;display:flex}.age-num{color:var(--yellow);text-shadow:0 0 30px #ffdc5099;font-variant-numeric:tabular-nums;font-family:Nunito,sans-serif;font-size:clamp(1.7rem,6.5vw,2.8rem);font-weight:900;line-height:1}.age-label{color:#ffc864a6;letter-spacing:2px;text-transform:uppercase;font-size:.72rem;font-weight:700}.age-caption{color:#ffdc82d9;text-align:center;margin:4px 0 2px;font-size:.95rem;font-weight:700}.memories-section{flex-direction:column;align-items:center;width:100%;max-width:500px;display:flex}.memory-carousel{cursor:grab;touch-action:pan-y;border-radius:20px;width:280px;height:340px;margin-bottom:20px;position:relative;overflow:hidden;box-shadow:0 0 40px #ff649633}.memory-carousel:active{cursor:grabbing}.memory-slide{opacity:0;transition:opacity .6s;position:absolute;inset:0}.memory-slide.active{opacity:1}.memory-slide-empty{color:#ffffff59;background:#ffffff0d;justify-content:center;align-items:center;font-size:2.6rem;display:flex;position:absolute;inset:0}.memory-slide.active img{animation:7s ease-out forwards kenburns}@keyframes kenburns{0%{transform:scale(1)translate(0)}to{transform:scale(1.16)translate(-2%,-3%)}}.memory-caption{color:#ffe1aaf2;text-align:center;text-shadow:0 0 12px #ffb45a59;min-height:1.4em;margin-bottom:14px;font-family:Nunito,sans-serif;font-size:.98rem;font-weight:700;animation:.7s forwards captionFade}@keyframes captionFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.carousel-dots{gap:10px;margin-bottom:12px;display:flex}.dot{cursor:pointer;background:#ffb45059;border:none;border-radius:50%;width:10px;height:10px;transition:all .3s}.dot.active{background:var(--yellow);box-shadow:0 0 10px #ffdc5080}.swipe-hint{color:#ffc8648c;margin-bottom:28px;font-size:.8rem;font-weight:600}.polaroid-deck{perspective:1000px;touch-action:pan-y;width:min(78vw,260px);height:min(96vw,320px);margin:0 auto 20px;position:relative}.polaroid{will-change:transform, opacity;background:#fdfcf5;border-radius:5px;flex-direction:column;width:100%;height:100%;margin:auto;padding:12px 12px 0;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .45s;display:flex;position:absolute;inset:0;box-shadow:0 12px 30px #00000080}.polaroid.active{cursor:pointer;box-shadow:0 16px 40px #ff78a059}.polaroid-photo{background:#ece7df;border-radius:2px;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}.polaroid.active .polaroid-photo img{animation:8s ease-out forwards kenburns}.polaroid-caption{height:46px;font-family:var(--font-hand), "Segoe Script", "Brush Script MT", cursive;color:#4a3530;text-align:center;flex:none;justify-content:center;align-items:center;padding:4px 6px;font-size:1.15rem;line-height:1.15;display:flex;overflow:hidden}.scrapbook{scrollbar-width:thin;scrollbar-color:#a06e3c8c transparent;background:radial-gradient(circle at 20% 10%,#ffffff0f,#0000 60%),linear-gradient(135deg,#efe4cf 0%,#e7d8bd 100%);border-radius:12px;grid-template-columns:1fr 1fr;gap:18px 14px;width:min(92vw,460px);max-height:62vh;margin-bottom:18px;padding:22px 18px;display:grid;overflow:hidden auto;box-shadow:inset 0 0 40px #78502840,0 12px 34px #0006}.scrapbook::-webkit-scrollbar{width:8px}.scrapbook::-webkit-scrollbar-track{background:0 0;margin:8px 0}.scrapbook::-webkit-scrollbar-thumb{background:#a06e3c80 padding-box padding-box;border:2px solid #0000;border-radius:999px}.scrapbook::-webkit-scrollbar-thumb:hover{background:#8c5a2dbf padding-box padding-box}.scrap-item{transform:rotate(var(--tilt,0deg));transform-origin:50%;background:#fffef8;border-radius:3px;padding:8px 8px 0;animation:.5s both scrapIn;position:relative;box-shadow:0 6px 14px #3c28144d}@keyframes scrapIn{0%{opacity:0;transform:rotate(var(--tilt,0deg)) translateY(14px) scale(.94)}to{opacity:1;transform:rotate(var(--tilt,0deg)) translateY(0) scale(1)}}.scrap-photo{aspect-ratio:1;background:#ece7df;border-radius:2px;width:100%;position:relative;overflow:hidden}.scrap-tape{z-index:2;background:#ffd6788c;border-left:1px dashed #fff6;border-right:1px dashed #fff6;width:56px;height:20px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-4deg);box-shadow:0 1px 3px #00000026}.scrap-caption{font-family:var(--font-hand), "Segoe Script", "Brush Script MT", cursive;color:#4a3530;text-align:center;padding:6px 4px 8px;font-size:1.02rem;line-height:1.1}.scrap-doodle{filter:drop-shadow(0 1px 2px #00000040);font-size:1.1rem;position:absolute;bottom:-4px;right:0;transform:rotate(12deg)}.cinema-memories{color:#fff5df;width:min(94vw,520px);margin:0 auto 20px}.cinema-projector{background:linear-gradient(145deg,#342b2b 0%,#151116 70%);border:1px solid #ffd68759;border-radius:18px 18px 12px 12px;width:218px;height:112px;margin:0 auto 18px;padding:12px 14px;position:relative;box-shadow:0 18px 40px #0000007a,inset 0 1px #ffffff14}.cinema-projector:after{content:"";background:#0c0a0d;border-radius:2px 2px 8px 8px;height:10px;position:absolute;bottom:-8px;left:18px;right:18px}.cinema-projector-reels{gap:10px;display:flex}.cinema-reel{background:radial-gradient(circle,#161116 0 12%,#6e5c3e 13% 18%,#1a1519 19% 100%);border:4px solid #bfa36e;border-radius:50%;width:56px;height:56px;display:block;position:relative;box-shadow:inset 0 0 0 2px #3f3425,0 3px 8px #00000080}.cinema-reel i{transform-origin:0;background:#9d8356;width:45%;height:2px;position:absolute;top:50%;left:50%}.cinema-memories.is-playing .cinema-reel:first-child{animation:2.8s linear infinite cinemaReelSpin}.cinema-memories.is-playing .cinema-reel:nth-child(2){animation:2.1s linear infinite reverse cinemaReelSpin}@keyframes cinemaReelSpin{to{transform:rotate(360deg)}}.cinema-projector-lens{background:radial-gradient(circle,#fff3bd 0%,#f8bb55 38%,#493217 75%);border:6px solid #4d4140;border-radius:45%;width:38px;height:43px;position:absolute;top:25px;right:-17px;box-shadow:0 0 0 2px #161114}.cinema-memories.is-playing .cinema-projector-lens{box-shadow:0 0 18px #ffd273cc,0 0 0 2px #161114}.cinema-power{color:#ffe2a0;min-height:31px;font:inherit;cursor:pointer;background:#221a1d;border:1px solid #ffdc9652;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:.68rem;font-weight:800;display:inline-flex;position:absolute;bottom:14px;right:13px}.cinema-power span{color:#ff675f}.cinema-power[aria-pressed=true] span{color:#8df7ab}.cinema-power:disabled{cursor:not-allowed;opacity:.45}.cinema-stage{visibility:hidden;opacity:0;height:0;transition:opacity .5s,transform .5s;position:relative;overflow:hidden;transform:translateY(10px)}.cinema-memories.is-playing .cinema-stage{visibility:visible;opacity:1;height:auto;overflow:visible;transform:translateY(0)}.cinema-beam{z-index:-1;clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);filter:blur(8px);pointer-events:none;background:linear-gradient(#ffe6a638,#ffe6a605);width:260px;height:220px;position:absolute;top:-118px;left:47%;transform:translate(-50%)}.cinema-screen{touch-action:pan-y;background:#080708;border:8px solid #211a1b;border-radius:9px;outline:none;width:100%;padding:10px 10px 42px;position:relative;box-shadow:0 18px 42px #0000008c,0 0 30px #ffd3801f}.cinema-screen:focus-visible{box-shadow:0 0 0 3px #ffd77c,0 18px 42px #0000008c}.cinema-screen-frame{aspect-ratio:16/10;cursor:zoom-in;background:#1a1515;border:0;border-radius:3px;width:100%;display:block;position:relative;overflow:hidden}.cinema-screen-frame img{animation:7s ease-out both cinemaKenBurns}@keyframes cinemaKenBurns{0%{transform:scale(1.01)}to{transform:scale(1.12)translate(-1.5%,-1%)}}.cinema-image-empty{background:radial-gradient(circle,#2a2322,#100d0e);place-items:center;font-size:2.8rem;display:grid;position:absolute;inset:0}.cinema-film-burn{pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle at 20% 45%,#fff7c3f2,#ff6f2b94 13%,#0000 34%),linear-gradient(90deg,#ffbb4f8c,#0000 38%);animation:.8s ease-out forwards cinemaFilmBurn;position:absolute;inset:-12%}@keyframes cinemaFilmBurn{0%{opacity:.9;transform:translate(-32%)}to{opacity:0;transform:translate(42%)}}.cinema-subtitle{color:#fff7e7;text-align:center;text-shadow:0 2px 4px #000,0 0 8px #000;width:min(90%,430px);margin:0;padding:5px 12px;font-size:.88rem;font-weight:700;line-height:1.25;position:absolute;bottom:7px;left:50%;transform:translate(-50%)}.cinema-frame-count{color:#f6d58c;background:#00000094;border-radius:4px;padding:3px 7px;font:700 .65rem/1 monospace;position:absolute;top:17px;right:17px}.cinema-controls{justify-content:center;gap:8px;margin:12px 0;display:flex}.cinema-controls button{color:#ffe2a1;min-width:40px;min-height:38px;font:inherit;cursor:pointer;background:#1d1617f0;border:1px solid #ffd5824d;border-radius:999px;font-weight:800}.cinema-controls .cinema-open{padding:8px 16px;font-size:.78rem}.cinema-controls button:disabled{opacity:.35;cursor:default}.cinema-filmstrip{overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:thin;scrollbar-color:#a88145 #171213;background:#171213;border-radius:6px;gap:2px;width:100%;padding:13px 10px;display:flex;overflow-x:auto;box-shadow:inset 0 0 15px #000}.cinema-film-frame{cursor:pointer;opacity:.62;background:#2b2020;border:2px solid #0000;flex:0 0 94px;height:78px;padding:10px 4px;transition:opacity .2s,transform .2s,border-color .2s;position:relative}.cinema-film-frame.active{z-index:1;opacity:1;border-color:#ffd479;transform:translateY(-3px)}.cinema-thumb{background:#0d0b0c;width:82px;height:54px;display:block;position:relative;overflow:hidden}.cinema-sprockets{opacity:.7;background:repeating-linear-gradient(90deg,#c7aa75 0 5px,#0000 5px 12px);height:6px;position:absolute;left:2px;right:2px}.cinema-sprockets.top{top:2px}.cinema-sprockets.bottom{bottom:2px}.cinema-swipe-hint{color:#ffe0a48c;text-align:center;margin:8px 0 0;font-size:.7rem;font-weight:650}.cinema-empty{color:#ffebc4ad;text-align:center;border:1px dashed #ffd6874d;border-radius:14px;place-items:center;gap:6px;min-height:160px;padding:24px;display:grid}.cinema-empty span{font-size:2.3rem}.cinema-lightbox{z-index:10000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040305eb;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.cinema-lightbox-card{background:#100d0e;border:1px solid #ffdd9d57;border-radius:12px;width:min(94vw,920px);max-height:92vh;padding:18px 18px 14px;position:relative;box-shadow:0 0 80px #ffb14a2e}.cinema-lightbox-photo{background:#080708;width:100%;height:min(72vh,650px);position:relative}.cinema-lightbox-card p{color:#fff2d7;text-align:center;margin:12px 38px 0;font-size:1rem;font-weight:700}.cinema-lightbox-close{z-index:2;color:#fff;cursor:pointer;background:#000000b8;border:1px solid #ffffff47;border-radius:50%;width:38px;height:38px;font-size:1.6rem;line-height:1;position:absolute;top:7px;right:7px}@media (max-width:540px){.cinema-projector{margin-top:-5px;margin-bottom:9px;transform:scale(.9)}.cinema-screen{border-width:6px;padding:7px 7px 38px}.cinema-film-frame{flex-basis:82px;height:70px}.cinema-thumb{width:70px;height:46px}.cinema-swipe-hint{max-width:310px;margin-inline:auto}.cinema-lightbox{padding:10px}.cinema-lightbox-card{padding:10px 10px 12px}.cinema-lightbox-photo{height:72vh}}.puzzle-section{flex-direction:column;align-items:center;width:100%;display:flex}.puzzle-subtitle{color:#ffdc64b3;letter-spacing:.3px;margin-bottom:20px;font-size:.9rem;font-weight:700}.puzzle-meta{gap:16px;margin-bottom:20px;display:flex}.puzzle-stat{background:#140c0ccc;border:1px solid #ffc86440;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:14px 24px;display:flex}.puzzle-stat-num{color:var(--yellow);font-size:2rem;font-weight:900}.puzzle-stat-label{color:#ffc8648c;letter-spacing:1.5px;text-transform:uppercase;font-size:.65rem;font-weight:700}.puzzle-preview{border:1px solid #ffc86440;border-radius:12px;width:80px;height:80px;overflow:hidden}.puzzle-preview img{object-fit:cover;width:100%;height:100%}.puzzle-grid{border-radius:16px;grid-template-columns:repeat(3,1fr);gap:3px;width:300px;height:300px;margin-bottom:24px;display:grid;overflow:hidden;box-shadow:0 0 40px #ff649626}.puzzle-tile{cursor:pointer;background:#140a0ae6;border:1px solid #ffc86414;transition:transform .15s;position:relative;overflow:hidden}.puzzle-tile:hover{z-index:2;transform:scale(.97)}.puzzle-tile.empty{cursor:default;background:#050303f2}.puzzle-tile.empty:hover{transform:none}.puzzle-tile img{object-fit:cover;width:100%;height:100%;display:block}.shuffle-btn{align-items:center;gap:8px;display:flex}.puzzle-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.puzzle-solve-btn{background:linear-gradient(135deg,#ff3d8a38,#ff8c5038);border:2px solid #ffb4648c;align-items:center;gap:8px;display:flex}.puzzle-solve-btn:hover{border-color:#ffdc78e6;box-shadow:0 0 24px #ff965a59}.demo-home-btn{z-index:100;color:#fdeecb;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140a0fd9;border:2px solid #ffc8644d;border-radius:999px;align-items:center;gap:7px;padding:9px 16px 9px 13px;font-size:.92rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;position:fixed;top:16px;left:16px;box-shadow:0 0 20px #ff965026}.demo-home-btn:hover{border-color:#ffdc6499;transform:scale(1.04);box-shadow:0 0 30px #ffb4504d}.demo-home-btn:focus-visible{outline-offset:2px;outline:2px solid #ffdc64cc}@media (max-width:480px){.demo-home-btn{padding:8px 14px 8px 11px;font-size:.86rem;top:12px;left:12px}}.music-btn{z-index:100;cursor:pointer;background:#140a0fd9;border:2px solid #ffc8644d;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.1rem;transition:all .3s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 0 20px #ff965026}.music-btn:hover{border-color:#ffdc6499;transform:scale(1.1);box-shadow:0 0 30px #ffb4504d}.music-btn.playing{animation:3s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.confetti-piece{z-index:200;pointer-events:none;border-radius:2px;width:10px;height:10px;animation:linear forwards confettiFall;position:fixed;top:-20px}.confetti-piece.confetti-emoji{border-radius:0;width:auto;height:auto;line-height:1;background:0 0!important}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}.puzzle-grid.puzzle-solved{border-radius:20px;gap:0;animation:.6s forwards photoReveal;box-shadow:0 0 60px #ffc85066,0 0 30px #ff965040}@keyframes photoReveal{0%{filter:brightness(.7)saturate(.5);transform:scale(.97)}60%{filter:brightness(1.1)saturate(1.2)}to{filter:brightness()saturate();transform:scale(1)}}.puzzle-tile.tile-solved{transition:none;cursor:default!important;border:none!important}.puzzle-tile.tile-solved.empty{background:0 0!important}.puzzle-tile.tile-solved:hover{transform:none!important}.puzzle-full-reveal{border-radius:20px;width:300px;height:300px;margin-bottom:4px;animation:.8s cubic-bezier(.22,1,.36,1) forwards fullReveal;position:relative;overflow:hidden;box-shadow:0 0 0 3px #ffd7508c,0 0 40px #ffc83c80,0 0 80px #ffa03c4d,0 0 120px #ff783c26}@keyframes fullReveal{0%{opacity:0;filter:brightness(1.6)saturate(.4);transform:scale(.88)}40%{filter:brightness(1.25)saturate(1.3)}to{opacity:1;filter:brightness()saturate();transform:scale(1)}}.puzzle-full-img{object-fit:cover;border-radius:20px;width:100%;height:100%;display:block}.puzzle-full-shimmer{pointer-events:none;background:linear-gradient(115deg,#0000 0% 30%,#ffffff59 50%,#0000 70% 100%) 0 0/200% 100%;border-radius:20px;animation:1.2s .3s forwards shimmerSweep;position:absolute;inset:0}@keyframes shimmerSweep{0%{opacity:.9;left:-60%}to{opacity:.9;left:120%}}.puzzle-full-glow-ring{pointer-events:none;z-index:2;border:3px solid #ffd75099;border-radius:26px;animation:2s ease-in-out infinite ringPulse;position:absolute;inset:-6px}@keyframes ringPulse{0%,to{opacity:.6;box-shadow:0 0 12px #ffd75066}50%{opacity:1;box-shadow:0 0 28px #ffd750b3}}.puzzle-solved-msg{color:var(--yellow);text-align:center;text-shadow:0 0 12px #ffdc5080;margin-bottom:14px;font-size:1rem;font-weight:700;animation:.5s forwards fadeInUp}.match-wrap{flex-direction:column;align-items:center;gap:18px;margin-top:6px;display:flex}.match-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr);gap:10px;width:min(84vw,300px);height:min(84vw,300px);display:grid}.match-card{cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(160deg,#ff9ec4 0%,#ff6b9d 55%,#e0507f 100%);border-radius:12px;justify-content:center;align-items:center;width:100%;height:100%;transition:transform .2s,background .25s,box-shadow .25s;display:flex;position:relative;box-shadow:inset 0 0 0 2px #ffffff40}.match-card:active{transform:scale(.94)}.match-card.flipped{background:#140a0ae6;box-shadow:inset 0 0 0 2px #ffc86459}.match-card.matched{cursor:default;animation:.4s matchPulse;box-shadow:inset 0 0 0 2px #8be78bbf}.match-card-back-icon{font-size:1.6rem}.match-card-emoji{font-size:1.8rem}@keyframes matchPulse{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}.match-meta{align-items:center;gap:14px;display:flex}.match-moves{color:#ffdc64bf;font-size:.85rem;font-weight:700}@media (prefers-reduced-motion:reduce){.match-card.matched{animation:none}}.letter-reveal{flex-direction:column;align-items:center;display:flex}.letter-btn{color:var(--yellow);cursor:pointer;letter-spacing:.5px;background:linear-gradient(135deg,#190a0ae6,#280f14f2);border:2px solid #ffb45099;border-radius:50px;padding:16px 44px;font-family:Nunito,sans-serif;font-size:1.15rem;font-weight:800;transition:all .35s;animation:2.2s ease-in-out infinite letterBtnPulse;box-shadow:0 0 28px #ffb43c59,0 0 60px #ff783c26,inset 0 0 20px #ffc8500f}.letter-btn:hover{border-color:#ffdc64e6;transform:scale(1.06);box-shadow:0 0 50px #ffc8508c,0 0 90px #ff8c3c4d}@keyframes letterBtnPulse{0%,to{box-shadow:0 0 28px #ffb43c59,0 0 60px #ff783c26}50%{box-shadow:0 0 45px #ffc8508c,0 0 90px #ff8c3c47}}.letter-page{z-index:10;scrollbar-width:thin;scrollbar-color:#ffc85040 transparent;flex-direction:column;justify-content:flex-start;align-items:center;padding:32px 16px 24px;display:flex;position:fixed;inset:0;overflow-y:auto}.letter-page::-webkit-scrollbar{width:4px}.letter-page::-webkit-scrollbar-track{background:0 0}.journey-replay-btn{flex-shrink:0;margin-top:22px}.letter-page::-webkit-scrollbar-thumb{background:#ffc85040;border-radius:4px}.letter-envelope-icon{margin-bottom:12px;font-size:3.2rem;animation:3s ease-in-out infinite float}.letter-card{background:linear-gradient(145deg,#160a0eeb,#1e0c12f2);border:1px solid #ffc86438;border-radius:24px;width:100%;max-width:520px;margin-bottom:24px;padding:30px 28px;box-shadow:0 0 40px #ff96501a,0 0 0 1px #ffc86414}.letter-greeting{color:var(--yellow);text-shadow:0 0 12px #ffdc5066;margin-bottom:18px;font-family:Nunito,sans-serif;font-size:1.2rem;font-weight:800}.letter-body{color:#ffe1a0e0;margin-bottom:16px;font-size:.98rem;font-weight:500;line-height:1.85}.letter-sign{color:var(--yellow);text-shadow:0 0 14px #ffc85073;margin-top:24px;font-family:Nunito,sans-serif;font-size:1.05rem;font-weight:800}.letter-actions{justify-content:center;gap:12px;padding-bottom:20px;display:flex}.loading-dots{justify-content:center;align-items:center;gap:8px;display:flex}.loading-dot{background:var(--yellow);border-radius:50%;width:10px;height:10px;animation:.8s ease-in-out infinite bounce}.loading-dot:nth-child(2){animation-delay:.15s}.loading-dot:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-12px)}}.loading-text{color:#ffdc64b3;letter-spacing:.5px;margin-top:16px;font-size:1.1rem;font-weight:700}.bj-loader{flex-direction:column;align-items:center;gap:22px;display:flex}.bj-loader-gift{justify-content:center;align-items:center;width:96px;height:96px;display:flex;position:relative}.bj-loader-gift-emoji{filter:drop-shadow(0 8px 22px #ff50a073);font-size:3.4rem;line-height:1;animation:1.8s ease-in-out infinite bjGiftBob}.bj-loader-ring{border:2px solid #ffc87859;border-radius:50%;animation:1.8s ease-out infinite bjRingPulse;position:absolute;inset:0;box-shadow:0 0 30px #ff965a40}.bj-loader-text{color:#ffdc82d1;letter-spacing:.4px;font-size:1.06rem;font-weight:700}@keyframes bjGiftBob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-10px)rotate(3deg)}}@keyframes bjRingPulse{0%{opacity:.9;transform:scale(.7)}70%{opacity:0;transform:scale(1.25)}to{opacity:0;transform:scale(1.25)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.7s forwards fadeInUp}.fade-in-delay-1{opacity:0;animation-delay:.1s}.fade-in-delay-2{opacity:0;animation-delay:.3s}.fade-in-delay-3{opacity:0;animation-delay:.5s}.fade-in-delay-4{opacity:0;animation-delay:.7s}.gift-page-title{color:var(--yellow);text-align:center;text-shadow:0 0 28px #ffdc5099;margin-bottom:6px;font-size:clamp(1.5rem,4vw,2rem);font-weight:900;line-height:1.3}.gift-tap-hint{color:#ffaadccc;text-align:center;letter-spacing:.4px;margin-top:32px;font-size:.95rem;font-weight:700;transition:opacity .4s;animation:2s ease-in-out infinite hintPulse}@keyframes hintPulse{0%,to{opacity:.65;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes giftShake{0%{transform:translateY(0)rotate(0)}15%{transform:translateY(-5px)rotate(-4deg)}30%{transform:translateY(-7px)rotate(4deg)}45%{transform:translateY(-5px)rotate(-2.5deg)}60%{transform:translateY(-2px)rotate(2.5deg)}75%{transform:translateY(-1px)rotate(-1deg)}to{transform:translateY(0)rotate(0)}}.gift-inner{transform-style:preserve-3d;filter:drop-shadow(0 22px 32px #e6006459);transition:filter .55s}.gift-inner-notransform{transform:none!important}.gift-container:not(.gift-opening):hover .gift-inner{filter:drop-shadow(0 28px 45px #ff0082a6)}.gift-sparkle{pointer-events:none;color:gold;text-shadow:0 0 8px #ffd200e6;z-index:5;line-height:1;transition:text-shadow .35s;animation:3.8s ease-in-out infinite sparkleBob;position:absolute}.gift-container:not(.gift-opening):hover .gift-sparkle{text-shadow:0 0 14px #ff64b4,0 0 30px #ff0082d9;animation-duration:1.4s}.gs-1{font-size:.75rem;animation-delay:0s;top:-16px;left:-26px}.gs-2{font-size:1.05rem;animation-delay:.55s;top:-20px;right:-26px}.gs-3{font-size:.65rem;animation-delay:1.1s;top:42%;left:-32px}.gs-4{font-size:.9rem;animation-delay:1.65s;top:32%;right:-30px}.gs-5{font-size:.72rem;animation-delay:.8s;bottom:24px;left:-22px}.gs-6{font-size:.82rem;animation-delay:1.35s;bottom:18px;right:-22px}@keyframes sparkleBob{0%,to{opacity:.65;transform:translateY(0)scale(1)}50%{opacity:1;transform:translateY(-10px)scale(1.4)}}.gift-lid:before{content:"";background:linear-gradient(90deg,#0000,#ff64a08c 25%,#ffb4d2cc 50%,#ff64a08c 75%,#0000);border-radius:14px 14px 0 0;height:2px;position:absolute;top:0;left:4px;right:4px}.gift-lid:after{content:"";pointer-events:none;background:linear-gradient(160deg,#ff509614 0%,#0000 55%);position:absolute;inset:0}.lid-ribbon{background:linear-gradient(90deg,#b5004e 0%,#e8006a 18%,#ff4daa 38%,#ff80cc 50%,#ff4daa 62%,#e8006a 82%,#b5004e 100%) 0 0/240% 100%;width:28px;margin-left:-14px;animation:2.6s ease-in-out infinite ribbonShimmerH;position:absolute;top:0;bottom:0;left:50%;box-shadow:0 0 14px #ff3c96b3,0 0 28px #e6006459,inset 0 0 8px #ffc8e633}.gift-bow{width:120px;height:56px;transition:transform .3s;position:absolute;top:-34px;left:50%;transform:translate(-50%)}.gift-container:not(.gift-opening):hover .gift-bow{animation:.7s ease-in-out infinite bowWobble}@keyframes bowWobble{0%,to{transform:translate(-50%,-96%)rotate(0)}50%{transform:translate(-50%,-100%)rotate(-3deg)}}.bow-loop{background:radial-gradient(at 38% 30%,#ff9dd4 0%,#ff3d9a 35%,#e0006a 65%,#b50055 100%);border:1.5px solid #ff50a04d;border-radius:50%;width:54px;height:42px;transition:box-shadow .35s;position:absolute;top:8px;box-shadow:inset 0 -8px 14px #78003c80,inset 0 5px 10px #ffc8e673,0 4px 18px #e6006e99}.gift-container:not(.gift-opening):hover .bow-loop{box-shadow:inset 0 -8px 14px #78003c80,inset 0 5px 10px #ffc8e673,0 6px 28px #ff0082d9,0 0 45px #ff32aa73}.bow-left{left:2px;transform:rotate(-26deg)}.bow-right{right:2px;transform:rotate(26deg)}.bow-tail{background:linear-gradient(#ff3d9a 0%,#e0006a 50%,#9a0045 100%);border-radius:0 0 8px 8px;width:13px;height:28px;position:absolute;bottom:-20px;box-shadow:0 4px 10px #0006}.btl{transform-origin:top;left:calc(50% - 16px);transform:rotate(-20deg)}.btr{transform-origin:top;left:calc(50% + 3px);transform:rotate(20deg)}.bow-knot{z-index:2;background:radial-gradient(circle at 35% 28%,#ffd0ea,#ff3d9a 48%,#c2005a 100%);border-radius:50%;width:26px;height:26px;transition:box-shadow .35s;position:absolute;top:15px;left:50%;transform:translate(-50%);box-shadow:0 0 20px #ff3c96,0 0 42px #e600648c}.gift-container:not(.gift-opening):hover .bow-knot{box-shadow:0 0 30px #ff3c96,0 0 65px #ff0082b3}.gift-box-body{background-color:#160410;background-image:radial-gradient(circle,#ffffff0e 1.5px,#0000 1.5px),linear-gradient(158deg,#220818 0%,#180510 45%,#100208 75%,#080108 100%);background-size:18px 18px,100% 100%;border-radius:6px 6px 22px 22px;width:210px;height:162px;transition:box-shadow .45s;position:relative;overflow:hidden;box-shadow:0 0 0 1.5px #ff1e8273,0 0 30px #dc006440,0 0 65px #b4005024,0 16px 45px #000c,inset 0 1px #ff96c81f}.gift-container:not(.gift-opening):hover .gift-box-body{box-shadow:0 0 0 2px #ff3ca0b3,0 0 50px #e6006e99,0 0 100px #c8005a52,0 0 150px #a0004629,0 16px 45px #000c,inset 0 1px #ffaad233}.gift-box-body.box-glowing{box-shadow:0 0 0 2px #ffe650bf,0 0 55px #ffd73cd9,0 0 110px #ffb428a6,0 0 180px #ff8c1459,inset 0 0 65px #fff582bf}.box-ribbon-h{background:linear-gradient(90deg,#9a004a 0%,#d4005e 14%,#ff3d9a 32%,#ff80c8 48%,#ffaadc 50%,#ff80c8 52%,#ff3d9a 68%,#d4005e 86%,#9a004a 100%) 0 0/280% 100%;height:28px;margin-top:-14px;animation:3s ease-in-out infinite ribbonShimmerH;position:absolute;top:50%;left:0;right:0;box-shadow:0 0 16px #ff1e82a6,0 0 35px #dc00644d,inset 0 1px #ffdcf040,inset 0 -1px #78003c66}.box-ribbon-v{background:linear-gradient(90deg,#9a004a 0%,#d4005e 14%,#ff3d9a 32%,#ff80c8 48%,#ffaadc 50%,#ff80c8 52%,#ff3d9a 68%,#d4005e 86%,#9a004a 100%) 0 0/100% 280%;width:28px;margin-left:-14px;animation:3s ease-in-out infinite ribbonShimmerV;position:absolute;top:0;bottom:0;left:50%;box-shadow:0 0 16px #ff1e82a6,0 0 35px #dc00644d,inset 1px 0 #ffdcf040,inset -1px 0 #78003c66}@keyframes ribbonShimmerH{0%{background-position:-100% 0}50%{background-position:100% 0}to{background-position:-100% 0}}@keyframes ribbonShimmerV{0%{background-position:0 -100%}50%{background-position:0 100%}to{background-position:0 -100%}}.box-shine{pointer-events:none;background:linear-gradient(162deg,#ffffff14 0%,#ff8cc80d 35%,#0000 62%);border-radius:4px 4px 0 0;height:58%;transition:opacity .35s;position:absolute;top:0;left:0;right:0}.gift-container:not(.gift-opening):hover .box-shine{opacity:1.5}@keyframes innerGlowPop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes particleBurst{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(0)}15%{opacity:1}85%{opacity:.8}to{opacity:0;transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(1.1) rotate(var(--rot))}}.gift-page-subtitle{color:#ffc896b3;text-align:center;letter-spacing:.4px;margin-bottom:52px;font-size:.9rem;font-weight:600}.gift-tap-hint{color:#ffb464d9;text-align:center;margin-top:28px;font-size:1rem;font-weight:700;transition:opacity .4s;animation:1.8s ease-in-out infinite hintPulse}.gift-tap-hint.hint-hidden{opacity:0;pointer-events:none}.gift-container{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:210px;animation:2.8s ease-in-out infinite giftFloat;position:relative}.gift-container:hover .gift-box-body{filter:brightness(1.08)}@keyframes giftFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.gift-container.gift-opening{animation:.42s cubic-bezier(.36,.07,.19,.97) forwards giftShake}.gift-shadow{pointer-events:none;background:radial-gradient(#dc005066 0%,#0000 70%);border-radius:50%;width:140px;height:22px;transition:all .5s;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.gift-shadow.shadow-burst{background:radial-gradient(#ffc83c80 0%,#0000 70%);width:240px;height:34px}.gift-lid{transform-origin:0 0;z-index:3;background-color:#1c0610;background-image:radial-gradient(circle,#ffffff0e 1.5px,#0000 1.5px),linear-gradient(155deg,#2e0c1a 0%,#1e0810 45%,#150308 100%);background-size:18px 18px,100% 100%;border-radius:16px 16px 6px 6px;width:222px;height:52px;margin-left:-6px;transition:transform .72s cubic-bezier(.18,-.1,.5,1.3) .28s,opacity .45s .75s;position:relative;overflow:hidden;box-shadow:0 0 0 1.5px #ff1e8280,0 0 22px #e6006447,inset 0 1px #ffa0d22e,inset 0 -4px 12px #0000008c}.gift-lid.lid-flying{opacity:0;transform:rotate(-62deg)translate(-65px,-105px)}.lid-ribbon{background:linear-gradient(90deg,#b5004e 0%,#e8006a 18%,#ff4daa 38%,#ff80cc 50%,#ff4daa 62%,#e8006a 82%,#b5004e 100%);border-radius:2px;width:28px;margin-left:-14px;position:absolute;top:0;bottom:0;left:50%;box-shadow:0 0 14px #ff3c96b3,0 0 28px #e6006459,inset 0 0 8px #ffc8e633}.box-inner-glow{pointer-events:none;background:radial-gradient(at 50% 20%,#fff078f2 0%,#ffbe3cb3 35%,#0000 65%);animation:.5s cubic-bezier(.22,1,.36,1) forwards innerGlowPop;position:absolute;inset:0}.gift-particle{pointer-events:none;opacity:0;font-size:1.5rem;line-height:1;animation:1.1s cubic-bezier(.22,1,.36,1) forwards particleBurst;position:absolute;top:50%;left:50%}.gift-container,.gift-inner{transform-style:preserve-3d}.gift-container{width:200px!important;animation:none!important}.gift-inner{filter:none}.gift3d{width:200px;height:210px;transform-style:preserve-3d;margin:0 auto;transition:transform .6s cubic-bezier(.22,1,.36,1);position:relative;transform:rotateX(-18deg)rotateY(-26deg)}.gift3d-open{transform:rotateX(-40deg)rotateY(-22deg)}.g-face{box-sizing:border-box;background-repeat:no-repeat;position:absolute;top:50%;left:50%;overflow:hidden}.box3d{width:160px;height:130px;transform-style:preserve-3d;margin-top:-65px;margin-left:-80px;position:absolute;top:50%;left:50%}.gb-front,.gb-back,.gb-right,.gb-left{width:160px;height:130px;margin-top:-65px;margin-left:-80px}.gb-top{width:160px;height:160px;margin-top:-80px;margin-left:-80px}.gb-front{transform:translateZ(80px)}.gb-back{transform:rotateY(180deg)translateZ(80px)}.gb-right{transform:rotateY(90deg)translateZ(80px)}.gb-left{transform:rotateY(-90deg)translateZ(80px)}.gb-top{transform:rotateX(90deg)translateZ(65px)}.gb-front{background-image:linear-gradient(120deg,#ffffff2e 0%,#0000 45%),linear-gradient(160deg,#f4609e 0%,#d83a80 55%,#b62468 100%);box-shadow:inset 0 2px #ffffff26,inset 0 -26px 36px #50002873}.gb-back{background-image:linear-gradient(160deg,#b8246a 0%,#8c1850 100%)}.gb-right{background-image:linear-gradient(160deg,#c43178 0%,#9a1f5a 100%);box-shadow:inset 0 -26px 36px #3c001e80}.gb-left{background-image:linear-gradient(160deg,#a82663 0%,#831a4d 100%);box-shadow:inset 0 -26px 36px #3c001e8c}.gb-top{background-image:linear-gradient(135deg,#ffffff38 0%,#0000 50%),linear-gradient(160deg,#ff8cbd 0%,#f458a0 100%)}.gb-inner-back,.gb-inner-left,.gb-inner-right{backface-visibility:hidden;background-image:linear-gradient(#3a0c1e 0%,#1c0410 60%,#120308 100%);width:150px;height:118px;margin-top:-59px;margin-left:-75px;box-shadow:inset 0 0 28px #000000a6}.gb-inner-left,.gb-inner-right{width:150px}.gb-inner-back{transform:translateZ(-70px)}.gb-inner-left{transform:rotateY(90deg)translateZ(-70px)}.gb-inner-right{transform:rotateY(-90deg)translateZ(-70px)}.gb-floor{background-image:radial-gradient(at 50% 45%,#ffe892 0%,#ff9c3e 22%,#c43a2a 48%,#3a0814 82%);width:150px;height:150px;margin-top:-75px;margin-left:-75px;transform:rotateX(90deg)translateZ(-58px)}.lid3d{width:178px;height:30px;transform-style:preserve-3d;margin-top:-15px;margin-left:-89px;transition:transform .85s cubic-bezier(.34,-.25,.4,1.3) .15s,opacity .5s .4s;position:absolute;top:50%;left:50%;transform:translateY(-80px)}.lid3d.lid-flying{opacity:0;transform:translateY(-220px)rotate(-24deg)rotateX(30deg)}.gl-front,.gl-back,.gl-right,.gl-left{width:178px;height:30px;margin-top:-15px;margin-left:-89px}.gl-top{width:178px;height:178px;margin-top:-89px;margin-left:-89px}.gl-front{transform:translateZ(89px)}.gl-back{transform:rotateY(180deg)translateZ(89px)}.gl-right{transform:rotateY(90deg)translateZ(89px)}.gl-left{transform:rotateY(-90deg)translateZ(89px)}.gl-top{transform:rotateX(90deg)translateZ(15px)}.gl-front{background-image:linear-gradient(120deg,#ffffff38 0%,#0000 45%),linear-gradient(160deg,#f86bab 0%,#d8458a 100%);box-shadow:inset 0 2px #ffffff40,0 8px 14px #46002366}.gl-back{background-image:linear-gradient(160deg,#c83d80 0%,#a02a66 100%)}.gl-right{background-image:linear-gradient(160deg,#d24a88 0%,#a82a66 100%);box-shadow:0 8px 14px #46002366}.gl-left{background-image:linear-gradient(160deg,#bb386f 0%,#922458 100%);box-shadow:0 8px 14px #46002366}.gl-top{background-image:linear-gradient(135deg,#ffffff47 0%,#0000 52%),linear-gradient(160deg,#ffa0cb 0%,#ff6cac 100%)}.rib{pointer-events:none;--rib-grad:#9c6a16 0%, #d9a838 16%, #ffe089 44%, #fff6d2 50%, #ffe089 56%, #d9a838 84%, #9c6a16 100%;position:absolute}.rib-v{background:linear-gradient(to right, var(--rib-grad));width:28px;margin-left:-14px;top:0;bottom:0;left:50%;box-shadow:0 0 5px #00000040}.rib-h{background:linear-gradient(to bottom, var(--rib-grad));height:28px;margin-top:-14px;top:50%;left:0;right:0;box-shadow:0 0 5px #00000040}.bow3d{width:120px;height:58px;transform-style:preserve-3d;pointer-events:none;position:absolute;top:0;left:50%;transform:translate(-50%,-96%)}.gift-inner:hover .bow3d{animation:.8s ease-in-out infinite bowWobble}.bl{background:radial-gradient(at 38% 28%,#fff6d2 0%,#ffe089 38%,#e0a93a 72%,#b9821f 100%);border:1px solid #ffe29673;border-radius:50% 50% 46% 46%;width:50px;height:42px;position:absolute;top:4px;box-shadow:inset 0 5px 9px #ffffff8c,inset 0 -7px 12px #6e460073,0 4px 10px #0000004d}.bl-left{transform-origin:100% 100%;left:6px;transform:rotate(-30deg)}.bl-right{transform-origin:0 100%;right:6px;transform:rotate(30deg)}.bl:after{content:"";background:radial-gradient(#784b008c,#0000 70%);border-radius:50%;width:18px;height:16px;margin-left:-9px;position:absolute;top:9px;left:50%}.bt{--bow-tip:#1a0510;background:linear-gradient(#ffe089 0%,#e0a93a 55%,#b9821f 100%);border-radius:0 0 7px 7px;width:15px;height:32px;position:absolute;bottom:-24px;box-shadow:0 3px 7px #0000004d}.bt:after{content:"";border-left:7px solid #0000;border-right:7px solid #0000;border-bottom:8px solid var(--bow-tip);margin-left:-7px;position:absolute;bottom:0;left:50%}.bt-left{transform-origin:top;left:calc(50% - 17px);transform:rotate(-19deg)}.bt-right{transform-origin:top;left:calc(50% + 2px);transform:rotate(19deg)}.bk{z-index:3;background:radial-gradient(circle at 34% 28%,#fff6d2,#ffe089 42%,#c8951f 100%);border-radius:50%;width:26px;height:26px;margin-left:-13px;position:absolute;top:12px;left:50%;box-shadow:inset 0 2px 4px #ffffffa6,0 3px 9px #00000059}.gift3d-open .bow3d{opacity:0;transition:opacity .35s}.box3d .box-inner-glow{pointer-events:none;z-index:6;background:radial-gradient(#fff4aaf2 0%,#ffc45099 32%,#ff962840 55%,#0000 72%);width:180px;height:180px;margin-top:-90px;margin-left:-90px;animation:.55s cubic-bezier(.22,1,.36,1) forwards innerGlowPop;position:absolute;top:50%;left:50%;transform:rotateX(90deg)translateZ(68px)}.lock-screen{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);background:linear-gradient(160deg,#0c0516f5 0%,#160610f7 50%,#0a0312f5 100%);border:1px solid #ff8cc82e;border-radius:44px;flex-direction:column;align-items:center;width:min(88vw,340px);padding:38px 28px 34px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ff508c1a,0 24px 64px #000000a6,0 0 90px #ff286414}.lock-top-glow{pointer-events:none;background:radial-gradient(at 50% 0,#ff64a01a 0%,#0000 70%);border-radius:44px 44px 0 0;height:120px;position:absolute;top:0;left:0;right:0}.lock-screen.lock-shake{animation:.52s cubic-bezier(.36,.07,.19,.97) forwards lockShake}@keyframes lockShake{0%,to{transform:translate(0)}12%{transform:translate(-10px)}24%{transform:translate(10px)}36%{transform:translate(-8px)}48%{transform:translate(8px)}64%{transform:translate(-4px)}80%{transform:translate(4px)}}.lock-screen.lock-unlocking{animation:1.4s cubic-bezier(.22,1,.36,1) forwards lockUnlock}@keyframes lockUnlock{0%{filter:brightness();transform:scale(1)}40%{filter:brightness(1.4);transform:scale(1.04);box-shadow:0 0 0 1px #ffd25080,0 0 80px #ffc85073}to{filter:brightness(2.2);opacity:0;transform:scale(1.12)}}.lock-time{color:#fff;letter-spacing:-3px;text-shadow:0 0 24px #ffaad259;z-index:1;margin-bottom:4px;font-size:4rem;font-weight:900;line-height:1}.lock-date{color:#ffaac8a6;letter-spacing:.6px;z-index:1;margin-bottom:22px;font-size:.82rem;font-weight:600}.lock-icon-wrap{z-index:1;margin-bottom:10px;font-size:2.5rem;transition:transform .4s cubic-bezier(.22,1,.36,1)}.lock-icon-wrap.lock-open{animation:.5s cubic-bezier(.22,1,.36,1) forwards iconPop}@keyframes iconPop{0%{transform:scale(1)rotate(0)}40%{transform:scale(1.5)rotate(-15deg)}70%{transform:scale(1.3)rotate(5deg)}to{transform:scale(1.15)rotate(0)}}.lock-emoji{display:block}.lock-msg{color:#ffc8a0b8;letter-spacing:.35px;text-align:center;z-index:1;min-height:1.2em;margin-bottom:18px;font-size:.8rem;font-weight:700}.lock-demo-hint{z-index:1;color:#ffe196f2;letter-spacing:.5px;background:#ffffff14;border:1px solid #ffdc8259;border-radius:999px;margin:-8px 0 16px;padding:6px 14px;font-size:.82rem;font-weight:700}.lock-demo-hint strong{color:#fff;letter-spacing:2px}.lock-hint{z-index:1;color:#ffdcbeeb;text-align:center;word-break:break-word;background:#ffffff0f;border:1px solid #ffc8a047;border-radius:16px;max-width:280px;margin:-4px 0 16px;padding:8px 16px;font-size:.82rem;line-height:1.45}.pin-dots{z-index:1;gap:18px;margin-bottom:6px;display:flex}.pin-dot{background:0 0;border:2px solid #ff8cb466;border-radius:50%;width:15px;height:15px;transition:all .18s cubic-bezier(.22,1,.36,1)}.pin-dot.filled{background:var(--pink);border-color:var(--pink);transform:scale(1.2);box-shadow:0 0 12px #ff6b9dbf}.pin-dots.dots-error .pin-dot.filled{background:#f45;border-color:#f45;box-shadow:0 0 12px #ff3246cc}.pin-dots.dots-success .pin-dot.filled{background:#4fa;border-color:#4fa;box-shadow:0 0 14px #32ff96cc}.wrong-pin-msg{color:#ff6b80;text-align:center;z-index:1;min-height:1em;margin-bottom:4px;font-size:.76rem;font-weight:700;animation:.3s fadeInUp}.lock-keypad{z-index:1;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;margin-top:20px;display:grid}.lock-key{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff12;border:1px solid #ffa0c824;border-radius:50%;justify-content:center;align-items:center;height:62px;font-family:Nunito,sans-serif;font-size:1.45rem;font-weight:700;transition:background .14s,transform .12s,box-shadow .14s;display:flex}.lock-key:hover:not(:disabled){background:#ff649b2e;border-color:#ff96be59;transform:scale(1.07);box-shadow:0 0 18px #ff649b38}.lock-key:active:not(:disabled){background:#ff649b52;transform:scale(.93);box-shadow:0 0 10px #ff649b66}.lock-key.key-ghost{pointer-events:none;cursor:default;background:0 0;border:none}.lock-key.key-del{color:#ffaac8bf;font-size:1.15rem}.gift-surprise{z-index:40;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;top:46%;left:50%;transform:translate(-50%,-50%)}.surprise-rays{background:conic-gradient(from 0deg, transparent 0 6%, #ffe17838 6% 12%, transparent 12% 22%, #ffe17838 22% 28%, transparent 28% 38%, #ffe17838 38% 44%, transparent 44% 54%, #ffe17838 54% 60%, transparent 60% 70%, #ffe17838 70% 76%, transparent 76% 86%, #ffe17838 86% 92%, transparent 92% 100%);opacity:0;border-radius:50%;width:320px;height:320px;animation:2.6s linear .5s forwards raysSpin;position:absolute;top:-90px}@keyframes raysSpin{0%{opacity:0;transform:rotate(0)scale(.4)}40%{opacity:.7}to{opacity:.5;transform:rotate(70deg)scale(1)}}.surprise-glow{opacity:0;background:radial-gradient(circle,#ffd25a8c 0%,#ff78aa2e 45%,#0000 70%);border-radius:50%;width:240px;height:240px;animation:2.2s ease-out .5s forwards surpriseGlow;position:absolute;top:-50px}@keyframes surpriseGlow{0%{opacity:0;transform:scale(.3)}40%{opacity:1}to{opacity:.85;transform:scale(1.2)}}.surprise-heart{filter:drop-shadow(0 0 26px #ff5aa0e6);opacity:0;font-size:5rem;line-height:1;animation:1.9s cubic-bezier(.22,1,.36,1) .55s forwards surpriseRise}@keyframes surpriseRise{0%{opacity:0;transform:translateY(70px)scale(.2)}35%{opacity:1}70%{transform:translateY(-34px)scale(1.2)}to{opacity:1;transform:translateY(-26px)scale(1.12)}}.surprise-msg{letter-spacing:.3px;color:var(--yellow,#ffd84d);text-shadow:0 0 16px #ffc85099;opacity:0;margin-top:16px;font-size:1rem;font-weight:800;animation:1.1s 1.45s forwards surpriseMsg}@keyframes surpriseMsg{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.giftenv-wrap{cursor:pointer;width:240px;margin:14px auto 0;position:relative}.giftenv-wrap:focus-visible{outline-offset:6px;border-radius:12px;outline:2px solid #ffc8dcd9}.giftenv3d{width:240px;height:168px;transform-style:preserve-3d;perspective:900px;margin:0 auto;transition:transform .5s;position:relative}.giftenv-wrap:not(.giftenv-opening):hover .giftenv3d{transform:translateY(-3px)}.giftenv-back{border-radius:10px;position:absolute;inset:0;box-shadow:0 20px 34px #0006}.giftenv-pocket{opacity:.9;width:50%;height:100%;position:absolute;top:0}.giftenv-pocket-left{clip-path:polygon(0 0,0 100%,100% 50%);border-radius:10px 0 0 10px;left:0}.giftenv-pocket-right{clip-path:polygon(100% 0,100% 100%,0 50%);border-radius:0 10px 10px 0;right:0}.giftenv-letter{opacity:0;z-index:2;background:linear-gradient(#fffdf6,#f3e7cf);border-radius:6px;justify-content:center;align-items:center;width:118px;height:76px;margin-left:-59px;font-size:1.6rem;transition:transform .6s cubic-bezier(.22,1,.36,1) .5s,opacity .5s .5s;display:flex;position:absolute;bottom:14px;left:50%;transform:translateY(0)scale(.9);box-shadow:0 6px 14px #00000040}.giftenv-letter-out{opacity:1;transform:translateY(-46px)scale(1)}.giftenv-letter-heart{filter:drop-shadow(0 2px 6px #c8145a66);animation:1.6s ease-in-out infinite giftenvHeartBeat}@keyframes giftenvHeartBeat{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}.giftenv-front{clip-path:polygon(0 42%,50% 82%,100% 42%,100% 100%,0 100%);z-index:3;border-radius:10px;position:absolute;inset:0;box-shadow:inset 0 -10px 18px #0000001f}.giftenv-flap{clip-path:polygon(0 0,100% 0,50% 88%);transform-origin:top;z-index:4;backface-visibility:hidden;height:92px;transition:transform .8s cubic-bezier(.5,0,.4,1);position:absolute;top:0;left:0;right:0;transform:rotateX(0)}.giftenv-flap-outer,.giftenv-flap-lining{position:absolute;inset:0}.giftenv-flap-lining{backface-visibility:hidden;transform:rotateY(180deg)}.giftenv-flap-open{z-index:1;transform:rotateX(-176deg)}.giftenv-twine{z-index:5;border-radius:4px;width:10px;margin-left:-5px;transition:opacity .4s,transform .4s;position:absolute;top:-4px;bottom:-4px;left:50%;box-shadow:0 0 6px #00000040}.giftenv-twine-open{opacity:0;transform:scaleY(.4)}.giftenv-seal{width:50px;height:50px;box-shadow:0 3px 10px #00000080, inset 0 2px 5px #ffffff59, inset 0 0 0 2px var(--seal-rim,#0000004d);z-index:6;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-left:-25px;transition:transform .3s,opacity .35s;animation:2.4s ease-in-out infinite giftenvSealPulse;display:flex;position:absolute;top:62px;left:50%}.giftenv-wrap:not(.giftenv-opening):hover .giftenv-seal{transform:translate(-50%)scale(1.06)}.giftenv-seal-cracked{opacity:0;animation:none;transform:translate(-50%)scale(.5)rotate(25deg)}.giftenv-seal-shine{filter:blur(1px);background:#ffffff8c;border-radius:50%;width:14px;height:10px;position:absolute;top:8px;left:12px}@keyframes giftenvSealPulse{0%,to{box-shadow:0 3px 10px #00000080, inset 0 2px 5px #ffffff59, inset 0 0 0 2px var(--seal-rim,#0000004d), 0 0 0 0 #ff789659}50%{box-shadow:0 3px 10px #00000080, inset 0 2px 5px #ffffff59, inset 0 0 0 2px var(--seal-rim,#0000004d), 0 0 0 10px #ff789600}}@media (prefers-reduced-motion:reduce){.giftenv-seal,.giftenv-letter-heart{animation:none}}@media (max-width:480px){.giftenv-wrap,.giftenv3d{width:208px}.giftenv3d{height:146px}.giftenv-letter{width:100px;height:66px;margin-left:-50px}.giftenv-seal{width:44px;height:44px;margin-left:-22px;top:54px}}.giftscroll-wrap{cursor:pointer;width:220px;position:relative}.giftscroll-wrap:focus-visible{outline-offset:6px;border-radius:12px;outline:2px solid #ffc8dcd9}.giftscroll3d{width:220px;height:240px;transition:transform .5s;position:relative}.giftscroll-wrap:not(.giftscroll-opening):hover .giftscroll3d{transform:translateY(-3px)}.giftscroll-rod{z-index:4;align-items:center;height:18px;display:flex;position:absolute;left:-12px;right:-12px}.giftscroll-rod-top{top:0}.giftscroll-rod-bottom{bottom:0}.giftscroll-rod-bar{border-radius:7px;flex:1;height:14px;box-shadow:0 2px 6px #00000059,inset 0 2px 3px #fff3}.giftscroll-rod-cap{border-radius:50%;width:22px;height:22px;position:absolute;box-shadow:0 2px 5px #0000004d,inset 0 1px 2px #ffffff4d}.giftscroll-rod-cap-left{left:-4px}.giftscroll-rod-cap-right{right:-4px}.giftscroll-body{z-index:2;border-radius:6px;position:absolute;inset:14px 0;overflow:hidden;box-shadow:0 4px 16px #0003,inset 0 2px 4px #ffffff26}.giftscroll-inner{opacity:0;justify-content:center;align-items:center;transition:opacity .8s .6s;display:flex;position:absolute;inset:0}.giftscroll3d-open .giftscroll-inner{opacity:1}.giftscroll-inner-heart{filter:drop-shadow(0 2px 6px #c8145a66);font-size:2.6rem;animation:1.6s ease-in-out infinite giftscrollHeartBeat}@keyframes giftscrollHeartBeat{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}.giftscroll-curl{opacity:1;background:linear-gradient(#0000 0%,#0000002e 100%);border-radius:0 0 50% 50%/0 0 100% 100%;height:28px;transition:opacity .6s .3s;position:absolute;bottom:0;left:0;right:0}.giftscroll3d-open .giftscroll-curl{opacity:0}.giftscroll-ribbon{z-index:5;flex-direction:column;align-items:center;transition:opacity .5s,transform .5s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.giftscroll-ribbon-band{border-radius:3px;width:220px;height:16px;box-shadow:0 2px 6px #00000040,inset 0 1px 2px #fff3}.giftscroll-ribbon-knot{border-radius:50%;width:28px;height:28px;margin-top:-6px;animation:2.4s ease-in-out infinite giftscrollRibbonPulse;box-shadow:0 2px 8px #0000004d}@keyframes giftscrollRibbonPulse{0%,to{box-shadow:0 2px 8px #0000004d,0 0 #ff789659}50%{box-shadow:0 2px 8px #0000004d,0 0 0 10px #ff789600}}.giftscroll-ribbon-untied{opacity:0;animation:none;transform:translate(-50%,30px)scale(.6)}.giftscroll-ribbon-untied .giftscroll-ribbon-knot{animation:none}.giftscroll3d-open{animation:1.6s ease-out .5s both giftscrollUnroll}@keyframes giftscrollUnroll{0%{transform:scaleY(1)}40%{transform:scaleY(1.05)}to{transform:scaleY(1.15)translateY(8px)}}.giftscroll3d-open .giftscroll-rod-bottom{animation:1.6s ease-out .5s both giftscrollRodSlide}@keyframes giftscrollRodSlide{0%{transform:translateY(0)}to{transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){.giftscroll-ribbon-knot,.giftscroll-inner-heart{animation:none}}@media (max-width:480px){.giftscroll-wrap,.giftscroll3d{width:190px}.giftscroll3d{height:210px}.giftscroll-ribbon-band{width:190px}.giftscroll-rod{left:-10px;right:-10px}}.giftchest-wrap{cursor:pointer;width:240px;position:relative}.giftchest-wrap:focus-visible{outline-offset:6px;border-radius:12px;outline:2px solid #ffc8dcd9}.giftchest3d{perspective:600px;width:240px;height:180px;transition:transform .5s;position:relative}.giftchest-wrap:not(.giftchest-opening):hover .giftchest3d{transform:translateY(-3px)}.giftchest-glow{background:radial-gradient(ellipse, rgba(var(--chest-glow-rgb), .6) 0%, transparent 70%);opacity:0;filter:blur(12px);z-index:1;border-radius:50%;transition:opacity .8s .5s;position:absolute;inset:10% 15% 30%}.giftchest3d-open .giftchest-glow{opacity:1}.giftchest-body{z-index:2;height:100px;position:absolute;bottom:0;left:0;right:0}.giftchest-body-front{border-radius:6px 6px 4px 4px;position:absolute;inset:0;box-shadow:0 4px 14px #00000059,inset 0 1px 2px #ffffff1a}.giftchest-body-side{border-radius:2px;width:8px;position:absolute;top:4px;bottom:4px}.giftchest-body-left{left:-4px}.giftchest-body-right{right:-4px}.giftchest-bracket{opacity:.85;border-radius:2px;width:20px;height:20px;position:absolute}.giftchest-bracket-tl{clip-path:polygon(0 0,100% 0,0 100%);top:4px;left:4px}.giftchest-bracket-tr{clip-path:polygon(0 0,100% 0,100% 100%);top:4px;right:4px}.giftchest-bracket-bl{clip-path:polygon(0 0,0 100%,100% 100%);bottom:4px;left:4px}.giftchest-bracket-br{clip-path:polygon(100% 0,0 100%,100% 100%);bottom:4px;right:4px}.giftchest-band{border-radius:2px;height:10px;margin-top:-5px;position:absolute;top:50%;left:0;right:0;box-shadow:0 1px 3px #0000004d,inset 0 1px 1px #fff3}.giftchest-lining{opacity:0;border-radius:4px 4px 0 0;height:40px;transition:opacity .6s .4s;position:absolute;top:2px;left:8px;right:8px}.giftchest3d-open .giftchest-lining{opacity:1}.giftchest-lid{transform-origin:top;z-index:3;height:80px;transition:transform 1s cubic-bezier(.34,1.56,.64,1) .3s;position:absolute;top:0;left:0;right:0;transform:rotateX(0)}.giftchest-lid-open{transform:rotateX(-110deg)}.giftchest-lid-top{border-radius:8px 8px 0 0;height:50px;position:absolute;top:0;left:0;right:0;box-shadow:0 -2px 8px #0003,inset 0 2px 3px #ffffff1a}.giftchest-lid-front{border-radius:0 0 4px 4px;height:34px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 2px 6px #00000040}.giftchest-lid-band{opacity:.8;border-radius:2px;height:8px;position:absolute;bottom:6px;left:0;right:0;box-shadow:inset 0 1px 1px #fff3}.giftchest-lid-top .giftchest-lid-band{margin-top:-4px;top:50%;bottom:auto}.giftchest-clasp{z-index:5;flex-direction:column;align-items:center;transition:opacity .4s,transform .4s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.giftchest-clasp-plate{border-radius:4px 4px 2px 2px;width:32px;height:18px;box-shadow:0 2px 6px #0000004d,inset 0 1px 2px #fff3}.giftchest-clasp-lock{border-radius:50%;width:24px;height:24px;margin-top:-4px;animation:2.4s ease-in-out infinite giftchestClaspPulse;position:relative;box-shadow:0 2px 8px #0000004d}@keyframes giftchestClaspPulse{0%,to{box-shadow:0 2px 8px #0000004d,0 0 #ffc85066}50%{box-shadow:0 2px 8px #0000004d,0 0 0 10px #ffc85000}}.giftchest-clasp-shine{filter:blur(1px);background:#fff9;border-radius:50%;width:8px;height:6px;position:absolute;top:5px;left:5px}.giftchest-clasp-open{opacity:0;animation:none;transform:translate(-50%,10px)scale(.5)}.giftchest-clasp-open .giftchest-clasp-lock{animation:none}@media (prefers-reduced-motion:reduce){.giftchest-clasp-lock{animation:none}}@media (max-width:480px){.giftchest-wrap,.giftchest3d{width:210px}.giftchest3d{height:160px}.giftchest-body{height:88px}.giftchest-lid{height:72px}}.fw2-page{gap:6px}.fw2-canvas{cursor:crosshair;touch-action:none;background:0 0;border-radius:0;flex:1;width:100%;min-height:220px;display:block}.fw2-canvas:focus-visible{outline-offset:4px;outline:2px solid #ffc864cc}.fw2-message{z-index:3;text-align:center;color:#fff;text-shadow:0 0 14px #ffc850e6,0 2px 6px #0009;pointer-events:none;letter-spacing:.01em;margin:0;padding:8px 20px;font-size:clamp(1rem,3.5vw,1.25rem);font-weight:700;animation:3.2s ease-in-out infinite fw2MessageFloat;position:relative}@keyframes fw2MessageFloat{0%,to{opacity:.92;transform:translateY(0)}30%{opacity:1;transform:translateY(-7px)}65%{opacity:.96;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.fw2-message{animation:none}}.flw2-page{gap:4px;overflow:hidden}.flw2-float-bg{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.flw2-float-petal{transform-origin:bottom;background:linear-gradient(#ffa0dc8c 0%,#dc50aa4d 100%);border-radius:50% 50% 20% 20%;width:12px;height:22px;animation:4s ease-in-out infinite flw2FloatUp;position:absolute;bottom:-20px}@keyframes flw2FloatUp{0%{opacity:0;transform:translateY(0)rotate(-15deg)scale(.8)}15%{opacity:.8}80%{opacity:.5}to{opacity:0;transform:translateY(-110%)rotate(20deg)scale(1.1)}}.flw2-garden{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;z-index:1;flex-direction:column;justify-content:flex-end;align-items:center;width:260px;height:340px;padding-bottom:10px;display:flex;position:relative}.flw2-garden:focus-visible{outline-offset:8px;border-radius:50%;outline:2px solid #ffb4dccc}.flw2-soil{background:linear-gradient(#5a3a1a 0%,#3a2010 100%);border-radius:0 0 14px 14px;height:24px;position:absolute;bottom:0;left:-14px;right:-14px;overflow:hidden;box-shadow:0 3px 12px #0006}.flw2-grass{transform-origin:bottom;background:linear-gradient(#6ace6a,#2a6a2a);border-radius:3px;width:6px;height:14px;animation:2.5s ease-in-out infinite flw2GrassWave;position:absolute;bottom:10px;left:28%;transform:rotate(-8deg)}.flw2-grass-2{height:10px;animation-delay:.4s;left:48%;transform:rotate(5deg)}.flw2-grass-3{height:12px;animation-delay:.8s;left:68%;transform:rotate(-12deg)}@keyframes flw2GrassWave{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.flw2-stem{transform-origin:bottom;background:linear-gradient(#5aca5a,#2a6a2a);border-radius:5px 5px 0 0;width:9px;transition:height 50ms linear;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.flw2-leaf{transform-origin:100%;background:linear-gradient(135deg,#6aca6a,#2a7a2a);border-radius:50%;width:32px;height:17px;transition:opacity .1s,transform .1s;position:absolute;box-shadow:0 1px 5px #0003}.flw2-leaf-l{top:30%;right:7px}.flw2-leaf-r{transform-origin:0;top:50%;left:7px}.flw2-leaf-l2{width:26px;height:13px;top:58%;right:7px}.flw2-leaf-r2{transform-origin:0;width:26px;height:13px;top:72%;left:7px}.flw2-head{justify-content:center;align-items:center;width:150px;height:150px;transition:opacity .2s;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.flw2-petal{transform-origin:bottom;background:linear-gradient(#f890d8 0%,#e040a8 50%,#c01890 100%);border-radius:50% 50% 20% 20%;width:30px;height:58px;margin-top:-29px;margin-left:-15px;transition:transform 60ms,opacity 60ms;position:absolute;top:50%;left:50%;box-shadow:0 2px 10px #c8149640}.flw2-petal-outer{background:linear-gradient(#ffa0e6b3 0%,#dc50b480 60%,#b41e8266 100%);width:36px;height:70px;margin-top:-35px;margin-left:-18px;box-shadow:0 2px 12px #c8149626}.flw2-garden--bloomed .flw2-petal{animation:3s ease-in-out infinite flw2PetalWave}.flw2-garden--bloomed .flw2-petal-outer{animation:4s ease-in-out infinite reverse flw2PetalWave}@keyframes flw2PetalWave{0%,to{filter:brightness()}50%{filter:brightness(1.2)saturate(1.25)}}.flw2-center{z-index:3;filter:drop-shadow(0 2px 10px #0000004d);font-size:2.2rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:relative}.flw2-garden--bloomed .flw2-center{animation:2s ease-in-out infinite flw2CenterPulse}@keyframes flw2CenterPulse{0%,to{filter:drop-shadow(0 2px 10px #0000004d);transform:scale(1)}50%{filter:drop-shadow(0 0 18px #ffb432d9);transform:scale(1.15)}}.flw2-glow-ring{background:radial-gradient(circle,#ff96dc47 0%,#0000 70%);border-radius:50%;animation:1.5s ease-out both flw2GlowExpand;position:absolute;inset:-14px}.flw2-glow-ring-2{background:radial-gradient(circle,#ff64c824 0%,#0000 70%);animation:2s ease-out .3s both flw2GlowExpand;inset:-30px}@keyframes flw2GlowExpand{0%{opacity:0;transform:scale(.4)}60%{opacity:1}to{opacity:.5;transform:scale(1.5)}}.flw2-pollen{background:hsl(var(--hue,45), 90%, 65%);box-shadow:0 0 5px hsl(var(--hue,45), 90%, 70%);border-radius:50%;animation:1.1s cubic-bezier(.25,.46,.45,.94) both flw2PollenBurst;position:absolute;top:50%;left:50%}@keyframes flw2PollenBurst{0%{transform:translate(-50%,-50%) rotate(var(--angle,0deg)) translateX(0) scale(1);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--angle,0deg)) translateX(var(--dist,40px)) scale(0);opacity:0}}.flw2-sparkle{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:8px;height:8px;animation:flw2SparkleBurst 1s cubic-bezier(.25,.46,.45,.94) var(--delay,0s) both;filter:drop-shadow(0 0 4px #ffdc3ce6);background:#fff064e6;position:absolute;top:50%;left:50%}@keyframes flw2SparkleBurst{0%{transform:translate(-50%,-50%) rotate(var(--angle,0deg)) translateX(0) scale(1.5) rotate(0deg);opacity:1}50%{opacity:1}to{transform:translate(-50%,-50%) rotate(var(--angle,0deg)) translateX(var(--dist,50px)) scale(0) rotate(180deg);opacity:0}}.flw2-progress-ring{pointer-events:none;width:68px;height:68px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.flw2-hint{color:#ffffff80;pointer-events:none;white-space:nowrap;font-size:.75rem;position:absolute;bottom:30px}@media (prefers-reduced-motion:reduce){.flw2-petal,.flw2-petal-outer,.flw2-center{transition:none}.flw2-garden--bloomed .flw2-petal,.flw2-garden--bloomed .flw2-petal-outer,.flw2-garden--bloomed .flw2-center,.flw2-float-petal{animation:none}}.trp2-page{gap:4px}.trp2-arena{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;justify-content:flex-end;align-items:center;width:290px;height:370px;display:flex;position:relative;overflow:visible}.trp2-arena:focus-visible{outline-offset:8px;border-radius:12px;outline:2px solid #ffd232cc}.trp2-stadium-l,.trp2-stadium-r{filter:blur(10px);pointer-events:none;border-bottom:260px solid #ffe6641f;width:0;height:0;transition:opacity .2s;position:absolute;top:-10px}.trp2-stadium-l{border-left:40px solid #0000;border-right:110px solid #0000;left:-10px;transform:rotate(-8deg)}.trp2-stadium-r{border-left:110px solid #0000;border-right:40px solid #0000;right:-10px;transform:rotate(8deg)}.trp2-spotlight{filter:blur(10px);pointer-events:none;border-top:260px solid #ffe66426;border-left:90px solid #0000;border-right:90px solid #0000;width:0;height:0;transition:opacity .2s;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.trp2-crown{z-index:5;filter:drop-shadow(0 0 12px #ffdc32e6);font-size:2rem;animation:.6s cubic-bezier(.34,1.56,.64,1) both trp2CrownDrop;position:absolute;top:14px;left:50%;transform:translate(-50%)}@keyframes trp2CrownDrop{0%{opacity:0;transform:translate(-50%)translateY(-40px)scale(.4)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.trp2-particle{background:hsl(var(--hue,42), 90%, 60%);box-shadow:0 0 6px hsl(var(--hue,42), 90%, 65%);border-radius:50%;position:absolute;top:40%;left:50%}.trp2-particle--circle{animation:1.5s cubic-bezier(.22,.61,.36,1) both trp2ParticleBurst}.trp2-particle--ring{border:2.5px solid hsl(var(--hue,42), 90%, 65%);background:0 0;animation:1.2s cubic-bezier(.22,.61,.36,1) both trp2ParticleBurst}.trp2-particle--star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0;animation:1.8s cubic-bezier(.22,.61,.36,1) both trp2ParticleBurst}@keyframes trp2ParticleBurst{0%{transform:translate(-50%,-50%) rotate(var(--angle,0deg)) translateX(0) scale(1.2);opacity:1}70%{opacity:.8}to{transform:translate(-50%,-50%) rotate(var(--angle,0deg)) translateX(var(--dist,80px)) scale(0);opacity:0}}.trp2-trophy{z-index:2;flex-direction:column;align-items:center;margin-bottom:10px;transition:transform .15s,filter .15s;display:flex;position:relative}.trp2-trophy--launched{animation:.9s cubic-bezier(.34,1.56,.64,1) both trp2TrophyLaunch}@keyframes trp2TrophyLaunch{0%{transform:translateY(0)scale(1)}40%{transform:translateY(-130px)scale(1.18)}to{transform:translateY(-115px)scale(1.12)}}.trp2-cup{clip-path:polygon(10% 0%,90% 0%,80% 100%,20% 100%);background:linear-gradient(155deg,#fff8de 0%,#f5c030 35%,#d4a820 70%,#9c780c 100%);justify-content:center;align-items:center;width:100px;height:86px;display:flex;position:relative;box-shadow:inset 0 4px 14px #ffffff4d}.trp2-shine{background:linear-gradient(#ffffffb3 0%,#0000 100%);border-radius:50%;width:18px;height:46px;position:absolute;top:10px;left:12px;transform:rotate(-18deg)}.trp2-star{z-index:1;font-size:1.8rem;position:relative}.trp2-handles{pointer-events:none;justify-content:space-between;width:138px;display:flex;position:absolute;top:12px}.trp2-handle{background:0 0;border:7px solid #d4a820;border-radius:50%;width:24px;height:40px}.trp2-neck{background:linear-gradient(#d4a820,#9c780c);border-radius:2px;width:16px;height:30px}.trp2-base{background:linear-gradient(#d4a820 0%,#9c780c 100%);border-radius:4px;width:100px;height:16px;box-shadow:0 4px 14px #0006}.trp2-plate{letter-spacing:.05em;color:#ffffff8c;font-size:.65rem;font-weight:900;transition:opacity .3s;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.trp2-ray{transform-origin:50% 0;background:linear-gradient(#ffd732e6,#0000);border-radius:2px;width:3px;height:110px;margin-left:-1.5px;animation:1.2s ease-in-out infinite trp2RayPulse;position:absolute;top:50%;left:50%}.trp2-ray-short{opacity:.6;height:70px}@keyframes trp2RayPulse{0%,to{opacity:.45}50%{opacity:1}}.trp2-podium{z-index:1;border-radius:10px 10px 4px 4px;justify-content:center;align-items:center;width:158px;height:46px;transition:transform .15s,background .1s;display:flex;position:relative;box-shadow:0 6px 22px #00000080}.trp2-podium-text{font-size:1.4rem;transition:opacity .3s}.trp2-podium--burst{animation:.55s cubic-bezier(.36,.07,.19,.97) both trp2PodiumBurst}@keyframes trp2PodiumBurst{0%,to{transform:scale(1)}30%{transform:scale(1.28)rotate(-2deg)}60%{transform:scale(1.18)rotate(1.5deg)}}.trp2-chargebar{background:#ffffff1a;border:1px solid #ffffff1f;border-radius:8px;width:190px;height:16px;margin-top:18px;position:relative;overflow:hidden}.trp2-chargebar-fill{background:linear-gradient(90deg,#f5c030,#ffec80,#f5c030) 0 0/200% 100%;border-radius:8px;height:100%;transition:width 50ms linear;animation:.9s linear infinite trp2ChargeShimmer}@keyframes trp2ChargeShimmer{0%{background-position:200%}to{background-position:0%}}.trp2-chargebar-label{color:#ffffffbf;pointer-events:none;font-size:.68rem;font-weight:800;position:absolute;top:50%;right:7px;transform:translateY(-50%)}@media (prefers-reduced-motion:reduce){.trp2-trophy--launched,.trp2-podium--burst,.trp2-ray,.trp2-chargebar-fill,.trp2-crown{animation:none}}.letter-card.letter-hand{overflow-wrap:anywhere;word-break:normal}.letter-hand .letter-greeting,.letter-hand .letter-body,.letter-hand .letter-sign{font-family:var(--font-hand), "Segoe Script", "Brush Script MT", cursive;white-space:pre-wrap}.letter-hand .letter-greeting{font-size:1.7rem}.letter-hand .letter-body{letter-spacing:.2px;color:#ffe8b4f2;font-size:1.3rem;line-height:1.5}.letter-hand .letter-sign{font-size:1.5rem}.type-hidden{color:#0000}.type-cursor{width:0;color:var(--yellow,#ffd84d);margin-left:1px;font-weight:400;animation:.9s step-end infinite caretBlink;display:inline-block}@keyframes caretBlink{0%,49%{opacity:1}50%,to{opacity:0}}.cake-wrap{flex-direction:column;align-items:center;gap:12px;margin:10px 0 18px;display:flex}.cake{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 16px 22px #00000080);flex-direction:column;align-items:center;transition:transform .2s;display:flex}.cake:active{transform:scale(.98)}.cake-candles{--candle-scale:1;justify-content:center;align-items:flex-end;gap:calc(16px * var(--candle-scale));height:calc(50px * var(--candle-scale));z-index:3;margin-bottom:-2px;display:flex}.candle{width:calc(10px * var(--candle-scale));height:calc(40px * var(--candle-scale));justify-content:center;display:flex;position:relative}.candle-stick{width:calc(10px * var(--candle-scale));height:calc(40px * var(--candle-scale));background:repeating-linear-gradient(45deg,#ff7eb0 0 6px,#fff 6px 12px);border-radius:3px;box-shadow:inset -2px 0 3px #0003}.flame{bottom:calc(40px * var(--candle-scale));width:calc(13px * var(--candle-scale));height:calc(19px * var(--candle-scale));transform-origin:bottom;background:radial-gradient(at 50% 72%,#fff6c0 0%,#ffd24d 35%,#ff8a1e 70%,#ff5a1e 100%);border-radius:50%/62% 62% 40% 40%;animation:.3s ease-in-out infinite alternate flameFlicker;position:absolute;box-shadow:0 -2px 16px 4px #ffaa28b3,0 0 32px 10px #ff8c1e66}.flame:after{content:"";background:radial-gradient(#78b4ffe6,#0000 70%);border-radius:50%;width:6px;height:9px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}@keyframes flameFlicker{0%{transform:scaleY(1)scaleX(1)rotate(-3deg)}50%{transform:scaleY(1.08)scaleX(.96)rotate(1deg)}to{transform:scaleY(1.16)scaleX(.9)rotate(3deg)}}.smoke{bottom:calc(40px * var(--candle-scale));width:calc(8px * var(--candle-scale));height:calc(8px * var(--candle-scale));opacity:0;background:#dcdce68c;border-radius:50%;animation:1.3s ease-out forwards smokeRise;position:absolute}@keyframes smokeRise{0%{opacity:.7;transform:translateY(0)scale(.6)}to{opacity:0;transform:translateY(-44px)scale(2)}}.cake-tier{border-radius:12px 12px 8px 8px;position:relative}.cake-top{background:linear-gradient(#ffe3ef 0%,#ff9ec4 45%,#ff7eb0 100%);width:150px;height:44px;box-shadow:inset 0 -6px #0000000f}.cake-base{--cake-dot-rgb:255, 255, 255;background:linear-gradient(#ffd0e4 0%,#ff8fbb 45%,#f06aa0 100%);width:196px;height:68px;margin-top:-2px;box-shadow:inset 0 -8px #00000014}.cake-base:after{content:"";background:radial-gradient(circle at 16% 50%, rgba(var(--cake-dot-rgb), .85) 0 3px, transparent 4px), radial-gradient(circle at 38% 50%, rgba(var(--cake-dot-rgb), .85) 0 3px, transparent 4px), radial-gradient(circle at 60% 50%, rgba(var(--cake-dot-rgb), .85) 0 3px, transparent 4px), radial-gradient(circle at 82% 50%, rgba(var(--cake-dot-rgb), .85) 0 3px, transparent 4px);height:8px;position:absolute;bottom:12px;left:0;right:0}.cake-base-confetti:after{background:radial-gradient(circle at 16%,#ff6b9d 0 3px,#0000 4px),radial-gradient(circle at 32%,#ffd166 0 3px,#0000 4px),radial-gradient(circle at 48%,#7ec8ff 0 3px,#0000 4px),radial-gradient(circle at 64%,#8be78b 0 3px,#0000 4px),radial-gradient(circle at 80%,#c084fc 0 3px,#0000 4px),radial-gradient(circle at 92%,#ffb347 0 3px,#0000 4px)}.cake-plate{background:radial-gradient(at 50% 35%,#fff,#cfd2dd 60%,#9aa0b5 100%);border-radius:50%;width:222px;height:14px;margin-top:-3px;box-shadow:0 9px 16px #0006}.cake-controls{flex-direction:column;align-items:center;gap:8px;min-height:56px;display:flex}.cake-hint{color:#ffbe96cc;font-size:.85rem;font-weight:600}.toast-wrap{flex-direction:column;align-items:center;gap:12px;margin:14px 0 18px;display:flex}.toast-glasses{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 16px 22px #00000073);justify-content:center;align-items:flex-end;gap:6px;transition:transform .2s;display:flex}.toast-glasses:active{transform:scale(.98)}.toast-glass{flex-direction:column;align-items:center;width:46px;height:108px;transition:transform .5s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.toast-glass-left{transform-origin:100% 100%;transform:rotate(-14deg)translate(4px)}.toast-glass-right{transform-origin:0 100%;transform:rotate(14deg)translate(-4px)}.toast-clinked .toast-glass-left{transform:rotate(-6deg)translate(11px)}.toast-clinked .toast-glass-right{transform:rotate(6deg)translate(-11px)}.toast-glass-body{z-index:2;background:linear-gradient(#ffffff8c 0%,#ffffff26 100%);border-radius:4px 4px 22px 22px/6px 6px 30px 30px;width:40px;height:62px;position:relative;box-shadow:inset 2px 0 4px #ffffff80,inset -3px 0 6px #00000014,0 0 0 1px #ffffff40}.toast-liquid{z-index:1;background:linear-gradient(#fff3c4 0%,#ffdd7a 55%,#f5b942 100%);border-radius:3px 3px 18px 18px;height:34px;position:absolute;bottom:20px;left:4px;right:4px}.toast-fizz{--fizz-rgb:255, 250, 220;z-index:2;background:radial-gradient(circle at 20% 80%, rgba(var(--fizz-rgb), .9) 0 1.5px, transparent 2px), radial-gradient(circle at 55% 60%, rgba(var(--fizz-rgb), .9) 0 1.5px, transparent 2px), radial-gradient(circle at 80% 85%, rgba(var(--fizz-rgb), .9) 0 1.5px, transparent 2px), radial-gradient(circle at 35% 40%, rgba(var(--fizz-rgb), .7) 0 1px, transparent 2px), radial-gradient(circle at 65% 25%, rgba(var(--fizz-rgb), .7) 0 1px, transparent 2px);height:30px;animation:2.2s ease-in infinite fizzRise;position:absolute;bottom:22px;left:8px;right:8px}@keyframes fizzRise{0%{opacity:.4;transform:translateY(0)}to{opacity:.9;transform:translateY(-18px)}}.toast-stem{background:linear-gradient(#ffffff80,#fff3);border-radius:2px;width:4px;height:30px}.toast-glass:after{content:"";background:linear-gradient(#ffffff80,#fff3);border-radius:50%;width:30px;height:5px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.toast-sparkle{font-size:1.4rem;animation:.7s ease-out sparklePop;position:absolute;top:-18px;left:50%;transform:translate(-50%)}@keyframes sparklePop{0%{opacity:0;transform:translate(-50%)scale(.4)}40%{opacity:1;transform:translate(-50%)scale(1.15)}to{opacity:0;transform:translate(-50%)scale(1)}}.toast-controls{flex-direction:column;align-items:center;gap:8px;min-height:56px;display:flex}.toast-hint{color:#ffbe96cc;font-size:.85rem;font-weight:600}.timeline-page{justify-content:flex-start;padding-top:6vh}.timeline-track{flex-direction:column;width:min(86vw,380px);margin:4px 0 22px;display:flex}.timeline-item{padding-bottom:22px;padding-left:26px;display:flex;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{z-index:1;background:radial-gradient(circle at 35% 30%,#ffe089,#ff6b9d 70%);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:0;box-shadow:0 0 0 3px #ff6b9d33,0 0 10px #ffb46499}.timeline-line{background:linear-gradient(#ffbe968c,#ffbe961a);width:2px;position:absolute;top:16px;bottom:-6px;left:5px}.timeline-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;display:flex}.timeline-card-photo{border-radius:10px;flex:0 0 56px;width:56px;height:56px;position:relative;overflow:hidden;box-shadow:0 4px 10px #0000004d}.timeline-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.timeline-date{letter-spacing:.03em;text-transform:uppercase;color:#ffbe96d9;font-size:.72rem;font-weight:700}.timeline-label{color:#f5edf2;font-size:1rem}.timeline-note{color:#f5edf2b3;font-size:.86rem;line-height:1.4}.thennow-wrap{flex-direction:column;align-items:center;gap:12px;margin:4px 0 22px;display:flex}.thennow-frame{cursor:ew-resize;touch-action:none;-webkit-tap-highlight-color:transparent;border-radius:18px;width:min(84vw,320px);height:min(84vw,320px);max-height:380px;position:relative;overflow:hidden;box-shadow:0 16px 30px #0006}.thennow-img{position:absolute;inset:0}.thennow-img-now{will-change:clip-path}.thennow-tag{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;border-radius:20px;padding:4px 12px;font-size:.78rem;font-weight:700;position:absolute;bottom:10px}.thennow-tag-then{left:10px}.thennow-tag-now{right:10px}.thennow-handle{background:#ffffffd9;width:3px;position:absolute;top:0;bottom:0;transform:translate(-50%);box-shadow:0 0 8px #0006}.thennow-handle-grip{color:#1a0510;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 10px #0006}.thennow-hint{color:#ffbe96cc;font-size:.85rem;font-weight:600}.vow-page{justify-content:flex-start;padding-top:5vh}.vow-ritual{flex-direction:column;align-items:center;width:min(92vw,390px);display:flex}.vow-box-scene{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;perspective:700px;background:0 0;border:0;flex-direction:column;align-items:center;gap:10px;margin:0 0 8px;padding:0;display:flex}.vow-box-scene:disabled{cursor:default;opacity:1}.vow-box{width:120px;height:100px;position:relative}.vow-box-body{background:linear-gradient(160deg,#7a1f3f 0%,#4a1026 100%);border-radius:10px 10px 16px 16px;width:120px;height:76px;position:absolute;bottom:0;left:0;overflow:hidden;box-shadow:0 14px 24px #00000080,inset 0 -6px 10px #0000004d}.vow-box-interior{background:radial-gradient(at 50% 20%,#2a0a18,#1a0510 70%);border-radius:8px;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:10px;overflow:hidden}.vow-box-lid{z-index:3;transform-origin:top;background:linear-gradient(160deg,#9c2a52 0%,#6e1f3f 100%);border-radius:10px 10px 4px 4px;width:120px;height:40px;transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .4s;position:absolute;top:0;left:0;box-shadow:0 4px 8px #0006,inset 0 3px 4px #ffffff26}.vow-box-open .vow-box-lid{opacity:.94;transform:rotateX(-115deg)translateY(-6px)}.vow-box-pair{justify-content:center;align-items:center;height:52px;animation:.65s cubic-bezier(.34,1.56,.64,1) both vowPairRise;display:flex;transform:translateY(5px)}@keyframes vowPairRise{0%{opacity:0;transform:translateY(28px)scale(.7)}}.vow-mini-ring{border:5px solid #e6bd53;border-radius:50%;width:34px;height:34px;margin:0 -4px;display:block;position:relative;box-shadow:inset 0 0 4px #ffffffb3,0 0 8px #ffce5b6b}.vow-mini-ring.left{transform:rotate(-18deg)}.vow-mini-ring.right{border-color:#f3d986;transform:rotate(18deg)}.vow-sparkle{font-size:1rem;animation:.9s ease-out sparklePop;position:absolute}.vs-1{animation-delay:.3s;top:-8px;left:6px}.vs-2{animation-delay:.5s;top:4px;right:-4px}.vs-3{animation-delay:.7s;top:-14px;right:20px}.vow-box-hint,.vow-step-hint{color:#ffd2adc2;text-align:center;font-size:.78rem;font-weight:650}.vow-join-step,.vow-trace-step,.vow-complete{flex-direction:column;align-items:center;width:100%;display:flex}.vow-step-title{color:#ffe6b0;font-family:var(--font-hand,cursive);margin:2px 0 10px;font-size:1.08rem;font-weight:700}.vow-ring-track{background:radial-gradient(circle,#ffbe681a,#1e0c17b8);border:1px solid #ffd58b33;border-radius:999px;justify-content:space-between;align-items:center;width:248px;height:78px;padding:0 18px;display:flex;position:relative;box-shadow:inset 0 0 24px #00000052}.vow-joining-ring{z-index:2;background:0 0;border:0;flex:0 0 52px;width:52px;height:52px;padding:0;position:relative}.vow-joining-ring.movable{cursor:grab;touch-action:none}.vow-joining-ring.movable:active{cursor:grabbing}.vow-joining-ring.target{opacity:.82;transform:rotate(12deg)}.vow-ring-band{border:6px solid #d9a838;border-color:#ffe089 #d9a838 #b9821f;border-radius:50%;width:38px;height:28px;margin-left:-19px;position:absolute;bottom:3px;left:50%;box-shadow:0 2px 6px #0000006b,inset 0 0 4px #fff9}.vow-ring-gem{background:radial-gradient(circle at 35% 30%,#fff,#9fd8ff 45%,#4fa3f0 100%);border-radius:3px;width:15px;height:15px;margin-left:-7.5px;animation:1.5s ease-in-out infinite vowGemPulse;position:absolute;top:0;left:50%;transform:rotate(45deg);box-shadow:0 0 12px #96d2ffe6}@keyframes vowGemPulse{50%{transform:rotate(45deg)scale(1.16);box-shadow:0 0 20px #b9e8ff}}.vow-ring-path{color:#ffd98b7a;letter-spacing:3px;pointer-events:none;position:absolute;left:73px;right:73px}.vow-accessible-action{color:#ffe1b5b3;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffdca55c;margin-top:9px;padding:6px 11px;font-size:.68rem}.vow-infinity-pad{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;background:radial-gradient(#67204347,#0f080fb3);border:1px solid #ffd99633;border-radius:22px;width:min(82vw,310px);height:170px;position:relative;box-shadow:inset 0 0 28px #00000057,0 0 26px #ff5e9714}.vow-infinity-pad svg{width:84%;height:84%;position:absolute;inset:8%;overflow:visible}.vow-infinity-guide,.vow-infinity-progress{fill:none;stroke-linecap:round;stroke-linejoin:round}.vow-infinity-guide{stroke:#ffdcab2e;stroke-width:7px;stroke-dasharray:.035 .028}.vow-infinity-progress{stroke:#ffcf71;stroke-width:5px;stroke-dasharray:1;filter:drop-shadow(0 0 6px #ff759e)drop-shadow(0 0 11px #ffcf71b3);transition:stroke-dashoffset .18s}.vow-trace-start{pointer-events:none;background:#ffb85c;border:3px solid #fff4d1;border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;transition:left .2s,top .2s;animation:1.2s ease-in-out infinite vowTracePulse;position:absolute;box-shadow:0 0 0 5px #ffb85c2e,0 0 20px #ff8bb0}@keyframes vowTracePulse{50%{transform:scale(1.22)}}.vow-infinity-pad.tracing{border-color:#ffda927a}.vow-joined-rings{justify-content:center;align-items:center;width:120px;height:54px;margin:-2px 0 10px;display:flex;position:relative}.vow-joined-rings .vow-forever-mark{color:#ffd67a;text-shadow:0 0 14px #ff7bac;font-size:2.2rem;animation:1.8s ease-in-out infinite vowForeverGlow;position:absolute;top:-20px}@keyframes vowForeverGlow{50%{text-shadow:0 0 24px #ff9bbc;transform:scale(1.1)}}.vow-reveal-card{background:linear-gradient(160deg,#ffffff12,#ffffff05);border:1px solid #ffe2b229;border-radius:16px;width:min(86vw,340px);max-height:32vh;margin-top:2px;padding:18px 20px;overflow:hidden auto;box-shadow:0 10px 24px #00000059,0 0 30px #ff75a012}.vow-card-text{color:#f9edf3;font-family:var(--font-serif), "Instrument Serif", Georgia, serif;letter-spacing:.01em;text-align:center;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;margin:0;font-size:1.2rem;font-style:italic;line-height:1.6}@media (max-height:720px){.vow-page{padding-top:2vh}.vow-box-scene{margin-block:-10px -3px;transform:scale(.82)}.vow-infinity-pad{height:142px}.vow-reveal-card{max-height:27vh;padding-block:13px}}.heart-heal-page{justify-content:flex-start;padding-top:4vh}.heart-heal-container{flex-direction:column;align-items:center;gap:20px;width:100%;display:flex}.heart-heal{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;width:200px;height:200px;transition:transform .3s;position:relative}.heart-heal:active{transform:scale(.95)}.heart-heal--healed{cursor:default}.heart-heal--healed:active{transform:none}.heart-heal-svg{filter:drop-shadow(0 0 20px #ff64964d);width:100%;height:100%}.heart-heal--healed .heart-heal-svg{filter:drop-shadow(0 0 30px #ffd70080)}.heart-heal-base{fill:#c25;transition:fill .8s}.heart-heal--healed .heart-heal-base{fill:#e84080}.heart-heal-cracks path{fill:none;stroke:#0009;stroke-width:2.5px;stroke-linecap:round;transition:stroke .5s,stroke-width .5s,filter .5s}.heart-heal--healed .heart-heal-cracks path{stroke:gold;stroke-width:3px;filter:drop-shadow(0 0 6px #ffd700cc)}.heart-heal-gold{fill:#ffd70026;opacity:0;transition:opacity 1s}.heart-heal--healed .heart-heal-gold{opacity:1;fill:#ffd70033}.heart-heal-progress{background:#ffffff26;border-radius:2px;width:120px;height:4px;position:absolute;bottom:-16px;left:50%;overflow:hidden;transform:translate(-50%)}.heart-heal-progress-bar{background:linear-gradient(90deg,gold,#fa0);border-radius:2px;height:100%;transition:width .1s linear}.heart-heal-message{text-align:center;color:#ffffffe6;max-width:280px;font-size:1.1rem;font-style:italic;line-height:1.5}@media (max-width:400px){.heart-heal{width:160px;height:160px}}.let-it-go-page{justify-content:flex-start;padding-top:3vh}.let-it-go-container{flex-direction:column;align-items:center;gap:20px;width:100%;min-height:300px;display:flex}.let-it-go-jar{cursor:pointer;background:0 0;border:none;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:16px;transition:transform .3s,opacity .4s;display:flex}.let-it-go-jar:hover{transform:scale(1.05)}.let-it-go-jar:active{transform:scale(.95)}.let-it-go-jar--opened{opacity:.4;cursor:default;pointer-events:none;transform:scale(.9)}.let-it-go-jar-body{font-size:4rem;display:block}.let-it-go-jar-label{color:#fff9;font-size:.82rem;font-weight:600}.let-it-go-bubbles{flex-wrap:wrap;justify-content:center;gap:12px;max-width:340px;padding:8px;display:flex}.let-it-go-bubble{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:radial-gradient(circle at 30% 30%,#b4dcff40,#78a0ff14);border:1px solid #b4dcff4d;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;padding:8px;transition:transform .2s,background .3s,width .3s,height .3s,border-radius .3s;animation:.6s both bubble-float-in;display:flex}.let-it-go-bubble:hover{background:radial-gradient(circle at 30% 30%,#b4dcff66,#78a0ff26);transform:scale(1.1)}.let-it-go-bubble:active{transform:scale(.9)}.let-it-go-bubble-text{font-size:1.4rem;line-height:1}.let-it-go-bubble--reading{cursor:default;pointer-events:none;background:#ffffff14;border-color:#ffffff1f;border-radius:16px;width:auto;min-width:72px;height:auto;padding:10px 14px;animation:2s forwards bubble-read-and-go}@keyframes bubble-read-and-go{0%{opacity:0;transform:scale(1.15)}12%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.7)translateY(-12px)}}.let-it-go-bubble--reading .let-it-go-bubble-text{color:#ffffffe6;font-size:.8rem;line-height:1.4}.let-it-go-hint{color:#ffffff80;font-size:.82rem;font-weight:500}@keyframes bubble-float-in{0%{opacity:0;transform:translateY(30px)scale(.5)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:400px){.let-it-go-bubble{width:60px;height:60px}.let-it-go-bubbles{gap:10px}}.bld-mobile-preview-heartheal{flex-direction:column;align-items:center;gap:8px;padding:16px 0;display:flex}.bld-mobile-preview-centerpiece-wrap{flex-direction:column;justify-content:center;align-items:center;gap:0;min-height:160px;padding:18px 0 28px}.bld-cp-preview-fireworks{justify-content:center;align-items:center;width:140px;height:120px;display:flex;position:relative}.bld-cp-fw-burst{width:0;height:0;position:absolute;top:50%;left:35%}.bld-cp-fw-burst-2{top:38%;left:68%}.bld-cp-fw-spark{background:linear-gradient(to bottom, hsla(calc(var(--i,0) * 30), 100%, 70%, 1), transparent);transform-origin:50% 0;width:3px;height:28px;transform:rotate(calc(var(--i,0) * 30deg)) translateY(2px);animation:1.4s ease-in-out infinite bldFwSparkPulse;animation-delay:calc(var(--i,0) * 80ms);box-shadow:0 0 4px hsla(calc(var(--i,0) * 30), 100%, 70%, .7);border-radius:2px;position:absolute}.bld-cp-fw-burst-2 .bld-cp-fw-spark{background:linear-gradient(to bottom, hsla(calc(var(--i,0) * 36 + 180), 100%, 72%, 1), transparent);height:22px;box-shadow:0 0 4px hsla(calc(var(--i,0) * 36 + 180), 100%, 72%, .7);animation-delay:calc(var(--i,0) * .1s + .3s)}@keyframes bldFwSparkPulse{0%,to{opacity:.5;transform:rotate(calc(var(--i,0) * 30deg)) translateY(2px) scaleY(.7)}50%{opacity:1;transform:rotate(calc(var(--i,0) * 30deg)) translateY(0) scaleY(1)}}.bld-cp-fw-core{background:radial-gradient(circle,#fff 0%,#ffdc50e6 50%,#0000 80%);border-radius:50%;width:10px;height:10px;animation:1.4s ease-in-out infinite bldFwCorePulse;position:absolute;top:-5px;left:-5px;box-shadow:0 0 12px 4px #ffc83c99}@keyframes bldFwCorePulse{0%,to{opacity:.8;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.bld-cp-preview-flower{justify-content:center;align-items:flex-end;height:130px;display:flex}.bld-cp-flower-inner{transform-origin:bottom;pointer-events:none;transform:scale(.55);cursor:default!important;width:200px!important;height:220px!important;padding-bottom:0!important}.bld-cp-preview-trophy{justify-content:center;align-items:center;height:130px;display:flex}.bld-cp-trophy-inner{transform-origin:bottom;pointer-events:none;filter:drop-shadow(0 0 18px #ffd232b3);transform:scale(.55)translateY(-40px);animation:none!important}@media (prefers-reduced-motion:reduce){.bld-cp-fw-spark,.bld-cp-fw-core{animation:none}}.bld-mobile-preview-letitgo{flex-direction:column;align-items:center;gap:6px;padding:12px 14px;display:flex}.bld-mini-jar{font-size:2.2rem}.bld-mini-bubbles{gap:6px;display:flex}.bld-mini-bubble{opacity:.7;font-size:1.2rem;animation:.8s both bubble-float-in}.bld-mini-bubble:nth-child(2){animation-delay:.2s}.bld-mini-bubble:nth-child(3){animation-delay:.4s}.cake-continue-hint{color:#ffc8a0b3;margin-top:8px;font-size:.9rem;font-weight:600}.cake-continue{flex-direction:column;align-items:center;gap:12px;margin-top:8px;display:flex}.cake-wish-msg{color:#ffe196f2;font-size:1rem;font-weight:700}.mini-btn{color:#ffe1aaf2;cursor:pointer;background:#ffffff14;border:1px solid #ffb47859;border-radius:999px;padding:7px 16px;font-size:.82rem;font-weight:700;transition:background .2s,border-color .2s,transform .15s}.mini-btn:hover{background:#ff965a2e;border-color:#ffc88c99}.mini-btn:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.fade-in,.fade-in-delay-1,.fade-in-delay-2,.fade-in-delay-3,.fade-in-delay-4{opacity:1!important;transform:none!important}}.num-candle{width:calc(34px * var(--candle-scale));height:calc(58px * var(--candle-scale));justify-content:center;display:flex;position:relative}.num-candle .flame,.num-candle .smoke{bottom:calc(58px * var(--candle-scale))}.num-candle-body{width:calc(34px * var(--candle-scale));height:calc(58px * var(--candle-scale));font-family:Nunito,sans-serif;font-weight:900;font-size:calc(1.7rem * var(--candle-scale));color:#a81258;text-shadow:0 1px #ffffff73;background:linear-gradient(#ffe7a0 0%,#ffb3d4 45%,#ff8ec0 100%);border-radius:9px;justify-content:center;align-items:center;display:flex;box-shadow:inset -3px 0 5px #00000029,inset 3px 0 5px #ffffff59,0 3px 6px #00000040}.balloons-page{justify-content:flex-start;padding-top:8vh}.balloon-field{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:26px 30px;max-width:380px;margin-bottom:26px;display:flex}.balloon-slot{width:66px;height:82px;position:relative}.balloon{cursor:pointer;background:radial-gradient(ellipse at 35% 28%, #ffffffd9 0%, var(--bc,#ff6b9d) 42%, #0000002e 100%);background-color:var(--bc,#ff6b9d);transform-origin:bottom;border:none;border-radius:50%/46% 46% 54% 54%;width:66px;height:82px;padding:0;animation:3.4s ease-in-out infinite balloonBob;position:relative;box-shadow:inset -6px -8px 14px #00000038}.balloon:hover{filter:brightness(1.08)}.balloon:before{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:9px solid var(--bc,#ff6b9d);position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.balloon:after{content:"";background:#fff6;width:1.5px;height:40px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.balloon-shine{filter:blur(1px);pointer-events:none;background:#fff9;border-radius:50%;width:16px;height:22px;position:absolute;top:12px;left:14px}@keyframes balloonBob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-10px)rotate(2deg)}}.balloon-pop{pointer-events:none;animation:.22s cubic-bezier(.3,0,.2,1) forwards balloonPop}@keyframes balloonPop{0%{opacity:1;transform:scale(1)}35%{opacity:1;transform:scale(1.18)}60%{opacity:.9;transform:scale(.55)}to{opacity:0;transform:scale(.05)}}.burst-flash{background:radial-gradient(circle,#ffffffe6 0%,#fff0 70%);border-radius:50%;width:30px;height:30px;margin:-15px 0 0 -15px;animation:.3s ease-out forwards burstFlash;position:absolute;top:0;left:0}@keyframes burstFlash{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(2.4)}}.balloon-burst{pointer-events:none;width:0;height:0;position:absolute;top:38px;left:50%}.balloon-burst .frag{background:var(--bc,#ff6b9d);width:8px;height:8px;box-shadow:0 0 6px var(--bc,#ff6b9d);border-radius:50%;margin:-4px 0 0 -4px;animation:.5s cubic-bezier(.15,.6,.3,1) forwards fragFly;position:absolute;top:0;left:0}.balloon-burst .frag-lg{width:12px;height:12px;margin:-6px 0 0 -6px}@keyframes fragFly{0%{opacity:1;transform:rotate(var(--a)) translateX(2px) scale(1.1)}70%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateX(60px) scale(.2)}}.wish-bubble{color:#ffe6b4f5;text-align:center;background:linear-gradient(145deg,#28101af2,#341422f2);border:1px solid #ff96c84d;border-radius:18px;max-width:320px;margin-bottom:22px;padding:14px 20px;font-size:1.02rem;font-weight:700;animation:.5s cubic-bezier(.22,1,.36,1) forwards wishPop;box-shadow:0 0 30px #ff64a02e}@keyframes wishPop{0%{opacity:0;transform:scale(.7)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.balloon-continue{opacity:.55;pointer-events:none;transition:opacity .4s,transform .2s}.balloon-continue.show{opacity:1;pointer-events:all}.scratch-page{justify-content:flex-start;padding-top:9vh}.scratch-stage{border-radius:20px;width:320px;height:210px;margin-bottom:18px;padding:4px;position:relative}.scratch-glow-ring{filter:blur(7px);opacity:.45;z-index:0;background:linear-gradient(130deg,#ff6bd6,#ffd166,#6bd6ff,#c084fc,#ff6bd6) 0 0/300% 300%;border-radius:22px;transition:opacity .5s;animation:6s infinite ringFlow;position:absolute;inset:-3px}.scratch-stage.revealed .scratch-glow-ring{opacity:.95}@keyframes ringFlow{0%,to{background-position:0%}50%{background-position:100%}}.scratch-reveal{border-radius:16px;position:absolute;inset:4px;overflow:hidden;box-shadow:0 14px 30px #00000080}.scratch-reveal-img{position:absolute;inset:0}.scratch-reveal-img img{object-fit:cover;width:100%;height:100%}.scratch-reveal-overlay{text-align:center;background:linear-gradient(160deg,#7814508c,#14060cb8);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;display:flex;position:absolute;inset:0}.sr-emoji{font-size:2rem;animation:.6s both srPop}.scratch-stage.revealed .sr-emoji{animation:1.4s ease-in-out infinite srBounce}.scratch-reveal-overlay strong{color:#ffe066;text-shadow:0 2px 12px #0009,0 0 18px #ffc85080;font-family:Nunito,sans-serif;font-size:1.6rem}.sr-msg{color:#ffebc8f5;text-shadow:0 2px 8px #0009;font-size:.95rem;font-weight:700}@keyframes srPop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes srBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.12)}}.sr-sparkle{opacity:0;pointer-events:none;font-size:1.1rem;position:absolute}.scratch-stage.revealed .sr-sparkle{animation:1.8s ease-in-out infinite srSparkle}.sr-s1{animation-delay:.1s;top:12px;left:16px}.sr-s2{animation-delay:.6s;top:18px;right:18px}.sr-s3{animation-delay:1.1s;bottom:14px;left:24px}@keyframes srSparkle{0%,to{opacity:0;transform:scale(.6)rotate(0)}50%{opacity:1;transform:scale(1.2)rotate(20deg)}}.scratch-shimmer{pointer-events:none;opacity:0;background:linear-gradient(90deg,#0000,#ffffff59,#0000);width:50%;height:100%;position:absolute;top:0;left:-60%;transform:skew(-20deg)}.scratch-stage.revealed .scratch-shimmer{animation:1.6s .2s 2 shimmerSweep}.scratch-canvas{touch-action:none;cursor:grab;z-index:3;border-radius:16px;width:calc(100% - 8px);height:calc(100% - 8px);transition:opacity .6s;position:absolute;inset:4px}.scratch-canvas:active{cursor:grabbing}.scratch-canvas.scratched{opacity:0;pointer-events:none}.scratch-progress{background:#ffffff1f;border-radius:999px;width:220px;height:6px;margin-bottom:18px;overflow:hidden}.scratch-progress-fill{background:linear-gradient(90deg,#ffd166,#ff6bd6);border-radius:999px;height:100%;transition:width .2s}.scratch-continue{opacity:0;pointer-events:none;transition:opacity .5s}.scratch-continue.show{opacity:1;pointer-events:all}.wax-envelope{cursor:pointer;perspective:900px;background:0 0;border:none;width:300px;height:196px;margin:10px auto 24px;position:relative}.env-back{background:linear-gradient(160deg,#e7c08c 0%,#d8a463 100%);border-radius:10px;position:absolute;inset:0;box-shadow:0 18px 34px #00000073}.env-paper{background:linear-gradient(#fffdf6,#f3e7cf);border-radius:6px;height:120px;position:absolute;top:16px;left:12px;right:12px;box-shadow:0 4px 10px #00000026}.env-pocket{clip-path:polygon(0 38%,50% 80%,100% 38%,100% 100%,0 100%);z-index:2;background:linear-gradient(160deg,#f0cd94 0%,#e0ad6c 100%);border-radius:10px;position:absolute;inset:0}.env-flap{clip-path:polygon(0 0,100% 0,50% 92%);transform-origin:top;z-index:4;backface-visibility:hidden;background:linear-gradient(160deg,#edc587 0%,#d49e5e 100%);height:104px;transition:transform .7s,z-index 0s .35s;position:absolute;top:0;left:0;right:0;transform:rotateX(0)}.wax-envelope.opening .env-flap{z-index:1;transform:rotateX(-172deg)}.wax-seal{color:#fff;z-index:5;background:radial-gradient(circle at 35% 30%,#ff7a98,#c2185b 70%);border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.3rem;transition:opacity .3s,transform .3s;display:flex;position:absolute;top:66px;left:50%;transform:translate(-50%);box-shadow:0 3px 8px #00000073,inset 0 2px 4px #fff6}.wax-envelope.opening .wax-seal{opacity:0;transform:translate(-50%)scale(.6)}.env-hint{text-align:center;color:#ffbe78d9;font-size:.9rem;font-weight:700;animation:2s ease-in-out infinite hintPulse;position:absolute;bottom:-28px;left:0;right:0}.wax-envelope.opening .env-hint{opacity:0}.letter-card.letter-hand{background-image:repeating-linear-gradient(0deg,#0000 0 30px,#ffc8780f 30px 31px),radial-gradient(circle at 20% 15%,#ffb4780d 0 2px,#0000 3px),radial-gradient(circle at 75% 60%,#ffb4780d 0 2px,#0000 3px),linear-gradient(145deg,#1a0c10eb,#220e14f2);background-size:100% 100%,120px 120px,140px 140px,100% 100%}.landing{color:#f3eefb;background:radial-gradient(circle at 50% -10%,#2a1740 0%,#120a1e 45%,#0b0712 100%);min-height:100vh;padding-bottom:60px;position:relative;overflow-x:hidden}.landing-glow{pointer-events:none;z-index:0;background:radial-gradient(circle,#ff6bd638,#0000 65%);width:700px;height:500px;position:fixed;top:-120px;left:50%;transform:translate(-50%)}.landing-nav{z-index:200;-webkit-backdrop-filter:saturate(150%)blur(12px);background:#1e1236fa;border-bottom:1px solid #a882ff2e;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px clamp(16px,4vw,48px);transition:background .3s,border-color .3s,box-shadow .3s;display:grid;position:sticky;top:0}.landing-nav .brand-logo{height:44px}.landing-nav--scrolled{background:#180e2e;border-bottom-color:#a882ff4d;box-shadow:0 8px 30px #00000080}[data-theme=light] .landing-nav,[data-theme=light] .landing-nav--scrolled{background:#ffffffeb;border-bottom-color:#00000014;box-shadow:0 8px 30px #78286e14}.landing-nav>:first-child{justify-self:start}.landing-nav-center{justify-self:center;align-items:center;gap:6px;display:inline-flex}.landing-nav-center .nav-link{border-radius:999px;padding:8px 12px;transition:background .18s,color .18s}.landing-nav-center .nav-link:hover{background:#ffffff14}[data-theme=light] .landing-nav-center .nav-link:hover{background:#0000000d}.brand{font-size:1.1rem;font-weight:800}.nav-cta{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;padding:8px 18px;font-size:.9rem;font-weight:700;text-decoration:none}.nav-link{color:#ffffffbf;padding:8px 6px;font-size:.9rem;font-weight:600;text-decoration:none}.nav-link:hover{color:#fff}.hero{z-index:2;text-align:center;max-width:760px;margin:0 auto;padding:50px 20px 30px;position:relative}.hero-badge{color:#e7d4ff;background:#c084fc2e;border:1px solid #c084fc66;border-radius:999px;margin-bottom:22px;padding:6px 16px;font-size:.82rem;font-weight:700;display:inline-block}.hero-title{background:linear-gradient(120deg,#fff,#ffc7ee 55%,#c9b3ff);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:18px;font-size:clamp(2.3rem,6.5vw,3.9rem);font-weight:600;line-height:1.08}.hero-title em{background:linear-gradient(120deg,#ffd1f0,#c9b3ff);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:500}.hero-sub{color:#c3b6df;max-width:620px;margin:0 auto 30px;font-size:clamp(.98rem,2.4vw,1.15rem);line-height:1.7}.hero-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:16px;display:flex}.btn-primary{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#ff6bd6,#c084fc);border-radius:14px;padding:15px 30px;font-size:1.02rem;font-weight:700;text-decoration:none;transition:transform .22s,box-shadow .22s,filter .22s;display:inline-block;box-shadow:0 12px 30px #c03cc866}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 18px 40px #c03cc880}.btn-ghost{color:#e7dcff;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:14px;padding:15px 30px;font-size:1.02rem;font-weight:600;text-decoration:none;transition:background .22s,border-color .22s,transform .22s;display:inline-block}.btn-ghost:hover{background:#ffffff1a;border-color:#ffffff52;transform:translateY(-2px)}.hero-price{color:#9c8fc0;font-size:.9rem;font-weight:600}@media (max-width:480px){.hero-actions{flex-direction:column;align-items:center;gap:12px;width:100%}.btn-primary,.btn-ghost{text-align:center;white-space:normal;width:100%;max-width:320px;padding:14px 20px;font-size:.96rem}}.feature-grid{z-index:2;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:900px;margin:40px auto;padding:0 20px;display:grid;position:relative}.feature-card{text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;padding:22px}.feature-icon{margin-bottom:10px;font-size:2rem;display:block}.feature-card h3{margin-bottom:6px;font-size:1.05rem;font-weight:800}.feature-card p{color:#b1a3d4;font-size:.9rem;line-height:1.5}.occasion-grid{z-index:2;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:1060px;margin:0 auto;padding:0 20px;display:grid;position:relative}.occasion-card{isolation:isolate;text-align:left;color:inherit;font:inherit;cursor:pointer;background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #ffffff17;border-radius:20px;flex-direction:column;align-items:flex-start;gap:8px;padding:24px 22px 22px;text-decoration:none;transition:transform .28s,border-color .28s,box-shadow .28s;display:flex;position:relative;overflow:hidden}.occasion-card:before{content:"";z-index:-1;opacity:.55;background:radial-gradient(120% 120% at 0 0,#ff6bd633,#0000 62%);width:60%;height:60%;transition:opacity .3s;position:absolute;top:0;left:0}.occasion-card:hover{border-color:#c084fc80;transform:translateY(-5px);box-shadow:0 18px 40px #7828a047}.occasion-card:hover:before{opacity:1}.occasion-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.occasion-card--live{border-color:#ff6b9d73}.occasion-card--live:before{background:radial-gradient(120% 120% at 0 0,#ff507847,#0000 62%)}.occasion-card--voted{border-color:#c084fc8c}.occasion-emoji{margin-bottom:6px;font-size:2.1rem;line-height:1}.occasion-card h3{font-family:var(--font-display), "Instrument Serif", Georgia, serif;letter-spacing:-.01em;margin:2px 0;font-size:1.3rem;font-weight:600}.occasion-card p{color:#b1a3d4;font-size:.9rem;line-height:1.55}.occasion-badge{letter-spacing:.5px;text-transform:uppercase;color:#cbbdf0;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;padding:5px 10px;font-size:.64rem;font-weight:700;position:absolute;top:16px;right:16px}.occasion-badge--live{color:#ffd1f0;background:linear-gradient(135deg,#ff6bd640,#c084fc40);border-color:#ff9dd666}.occasion-cta{color:#ff9dc2;margin-top:8px;font-size:.88rem;font-weight:700}.occasion-cta--muted{color:#9c8fc0}.occasion-card--voted .occasion-cta--muted{color:#d6c4ff}[data-theme=light] .occasion-card{background:#fff;border-color:#00000014;box-shadow:0 4px 16px #78286e0f}[data-theme=light] .occasion-card:hover{box-shadow:0 18px 40px #7828a024}[data-theme=light] .occasion-card h3{color:#2a1730}[data-theme=light] .occasion-card p{color:#2a1730a8}[data-theme=light] .occasion-emoji{background:linear-gradient(135deg,#ff6bd624,#c084fc24);border-color:#0000000f}[data-theme=light] .occasion-badge{color:#7b3fb0;background:#0000000d;border-color:#00000014}[data-theme=light] .occasion-cta{color:#c0248a}[data-theme=light] .occasion-cta--muted{color:#2a17308c}.landing-foot{z-index:2;text-align:center;margin-top:30px;position:relative}.landing-legal{justify-content:center;gap:18px;margin-top:22px;display:flex}.landing-legal a{color:#ffffff80;font-size:.82rem;font-weight:600;text-decoration:none}.landing{scroll-behavior:smooth;height:100dvh;font-family:var(--font-sans), "Nunito", system-ui, sans-serif;letter-spacing:-.01em;overflow:hidden auto}.landing .hero-title,.landing .section-title,.landing .cta-band h2{font-family:var(--font-display), "Instrument Serif", Georgia, serif;letter-spacing:-.02em}.landing-nav-links{flex-wrap:nowrap;justify-self:end;align-items:center;gap:14px;display:inline-flex}.landing-nav-links .nav-link{display:inline}.hero-trust{color:#9c8fc0;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:22px;font-size:.82rem;font-weight:600;display:flex}.section{z-index:2;text-align:center;max-width:1000px;margin:0 auto;padding:clamp(40px,7vw,80px) 20px 0;position:relative}.section-title{background:linear-gradient(120deg,#fff,#ffc7ee 70%,#c9b3ff);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:clamp(1.8rem,4.2vw,2.7rem);font-weight:600}.landing .hero-badge{font-family:var(--font-sans), sans-serif;letter-spacing:.02em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-weight:600}.section-sub{color:#b1a3d4;max-width:560px;margin:0 auto 32px;font-size:1rem;line-height:1.6}.steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.step-card{text-align:left;background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;padding:30px 22px 24px;position:relative}.step-num{color:#fff;background:linear-gradient(135deg,#ff6bd6,#c084fc);border-radius:50%;place-items:center;width:36px;height:36px;font-weight:900;display:grid;position:absolute;top:-16px;left:22px;box-shadow:0 8px 20px #c03cc873}.step-icon{margin:6px 0 12px;font-size:1.8rem;display:block}.step-card h3{margin-bottom:8px;font-size:1.15rem;font-weight:800}.step-card p{color:#b1a3d4;font-size:.92rem;line-height:1.6}.pricing-card{text-align:center;background:linear-gradient(160deg,#ff6bd61a,#c084fc0f);border:1px solid #ff6bd64d;border-radius:24px;max-width:440px;margin:0 auto;padding:32px 28px;box-shadow:0 20px 60px #c03cc82e}.pricing-price{justify-content:center;align-items:baseline;gap:10px;display:flex}.pricing-amount{color:#fff;font-size:3.2rem;font-weight:900;line-height:1}.pricing-per{color:#9c8fc0;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700}.pricing-tag{color:#c3b6df;margin:10px 0 20px;font-size:.95rem}.pricing-list{text-align:left;gap:10px;margin:0 0 24px;padding:0;list-style:none;display:grid}.pricing-list li{color:#e7dcff;font-size:.92rem}.pricing-cta{display:inline-block}.pricing-note{color:#9c8fc0;margin-top:14px;font-size:.8rem}.quotes-marquee{z-index:2;max-width:1100px;margin:0 auto;padding:4px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.quotes-track{gap:16px;width:max-content;animation:52s linear infinite quotesScroll;display:flex}.quotes-marquee:hover .quotes-track{animation-play-state:paused}.quotes-track .quote-card{flex:0 0 330px;width:330px}@keyframes quotesScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.quotes-marquee{overflow-x:auto}.quotes-track{animation:none}}@media (max-width:480px){.quotes-track .quote-card{flex-basis:280px;width:280px}}.quote-card{text-align:left;background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;margin:0;padding:24px}.quote-stars{color:#ffd166;letter-spacing:2px;margin-bottom:12px}.quote-card blockquote{color:#efe9ff;margin:0 0 14px;font-size:1rem;line-height:1.6}.quote-card figcaption{color:#9c8fc0;font-size:.85rem}.quote-card figcaption strong{color:#e7dcff}.faq{text-align:left;gap:12px;max-width:720px;margin:0 auto;display:grid}.faq-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;padding:0 18px}.faq-item summary{cursor:pointer;color:#fff;justify-content:space-between;align-items:center;gap:14px;padding:18px 0;font-size:.98rem;font-weight:700;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-chev{color:#c084fc;flex-shrink:0;font-size:1.3rem;transition:transform .2s}.faq-item[open] .faq-chev{transform:rotate(45deg)}.faq-item p{color:#b1a3d4;margin:0;padding:0 0 18px;font-size:.92rem;line-height:1.65}.cta-band{z-index:2;text-align:center;background:linear-gradient(135deg,#ff6bd629,#c084fc1f);border:1px solid #ff6bd64d;border-radius:24px;max-width:900px;margin:clamp(50px,8vw,90px) auto 0;padding:clamp(36px,6vw,56px) 24px;position:relative}.cta-band h2{color:#fff;margin-bottom:10px;font-size:clamp(1.5rem,4vw,2.2rem);font-weight:900}.cta-band p{color:#c3b6df;margin-bottom:24px}@media (max-width:480px){.cta-band{border-radius:20px;margin:40px 16px 0;padding:28px 18px}.cta-band h2{padding:0 4px}.cta-band .btn-primary{width:100%;max-width:320px}}.site-footer{z-index:2;border-top:1px solid #ffffff14;margin-top:clamp(50px,8vw,90px);padding:48px 20px 28px;position:relative}.site-footer-inner{justify-content:space-between;gap:32px;max-width:1000px;margin:0 auto;display:flex}.site-footer-brand{max-width:320px}.site-footer-brand .brand{margin-bottom:10px;display:block}.site-footer-brand p{color:#9c8fc0;max-width:280px;font-size:.88rem;line-height:1.6}.site-social{gap:12px;margin-top:16px;display:flex}.site-footer-groups{gap:48px;display:flex}@media (max-width:700px){.site-footer-inner{flex-direction:column;gap:28px}.site-footer-groups{gap:28px}}@media (max-width:480px){.site-footer{padding:36px 20px 24px}.site-footer-groups{flex-wrap:wrap;gap:24px 16px}.site-footer-bottom{margin-top:28px}}.site-social a{color:#c3b6df;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:color .16s,background .16s,border-color .16s,transform .16s;display:inline-flex}.site-social a:hover{color:#fff;background:#ff3d8a2e;border-color:#ff3d8a80;transform:translateY(-2px)}.site-footer-col{flex-direction:column;gap:10px;display:flex}.site-footer-col h4{text-transform:uppercase;letter-spacing:.1em;color:#8a7cb0;margin-bottom:4px;font-size:.78rem}.site-footer-col a{color:#c3b6df;font-size:.9rem;text-decoration:none}.site-footer-col a:hover{color:#fff}.site-footer-bottom{text-align:center;color:#756a96;border-top:1px solid #ffffff0f;max-width:1000px;margin:36px auto 0;padding-top:22px;font-size:.82rem}.landing-legal a:hover{color:#ffffffd9}.state-screen{color:#f3eefb;background:radial-gradient(circle at 50% 30%,#1c1030,#0b0712);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.state-msg{color:#d9c9ff;font-size:1.1rem;font-weight:600}.state-card{text-align:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:20px;max-width:360px;padding:34px}.state-card h1{margin-bottom:10px;font-size:1.5rem;font-weight:800}.state-card p{color:#b1a3d4;margin-bottom:18px;line-height:1.6}.state-link{color:#ff9be0;font-weight:700;text-decoration:none}html,body{height:100dvh}.page{-webkit-overflow-scrolling:touch;justify-content:safe center;padding:clamp(12px,3vh,28px) clamp(12px,3vw,24px);overflow:hidden auto}.page::-webkit-scrollbar{width:0;height:0}.page{scrollbar-width:none}@media (max-width:480px){.subtitle{margin-bottom:24px;padding:0 12px;font-size:.9rem}.curtain-btn{padding:12px 32px;font-size:1.1rem}.avatar{width:90px;height:90px;margin-bottom:20px;font-size:3rem}.age-tracker{gap:20px;margin:18px 0 30px}.memory-carousel{width:min(78vw,280px);height:min(94vw,340px)}.memory-caption{padding:0 14px;font-size:.92rem}.puzzle-grid,.puzzle-full-reveal{width:min(86vw,300px);height:min(86vw,300px)}.puzzle-meta{flex-wrap:wrap;justify-content:center;gap:10px}.puzzle-stat{padding:10px 16px}.puzzle-stat-num{font-size:1.7rem}.puzzle-preview{width:64px;height:64px}.gift-page-subtitle{margin-bottom:36px}.balloon-field{gap:14px 10px;max-width:92vw}.balloon-slot,.balloon{width:56px;height:70px}.wish-bubble{max-width:86vw;font-size:.95rem}.scratch-stage{width:min(92vw,320px)}.scratch-progress{width:min(70vw,220px)}.wax-envelope{width:min(86vw,300px)}.letter-page{padding:22px 12px 18px}.letter-card{border-radius:20px;padding:22px 18px}.letter-greeting,.letter-hand .letter-greeting{margin-bottom:14px;font-size:1.08rem}.letter-body,.letter-hand .letter-body{font-size:.92rem;line-height:1.75}.letter-sign,.letter-hand .letter-sign{font-size:1rem}.cake-top{width:132px;height:38px}.cake-base{width:172px;height:60px}.cake-plate{width:196px;height:12px}.cake-candles{--candle-scale:.86}.lock-screen{border-radius:36px;padding:32px 22px 28px}.lock-time{font-size:3.2rem}.lock-key{height:56px;font-size:1.35rem}.lock-keypad{gap:12px}.pin-dots{gap:14px}.music-btn{width:42px;height:42px;bottom:14px;right:14px}}@media (max-width:360px){.age-tracker{gap:12px 18px;max-width:300px}.age-num{font-size:clamp(1.5rem,7vw,2.1rem)}.memory-carousel{width:220px;height:280px}.balloon-slot,.balloon{width:50px;height:64px}.lock-screen{border-radius:30px;padding:28px 18px 24px}.lock-key{height:50px;font-size:1.2rem}.curtain-btn{padding:11px 26px;font-size:1rem}.letter-card{padding:18px 14px}}@media (max-width:300px){.avatar{width:72px;height:72px;margin-bottom:14px;font-size:2.2rem}.age-tracker{gap:10px 14px;max-width:260px;margin:12px auto 18px}.age-num{font-size:clamp(1.3rem,8vw,1.9rem)}.age-label{letter-spacing:1.4px;font-size:.62rem}.subtitle{margin-bottom:18px;padding:0 8px;font-size:.82rem}.memory-carousel{width:min(86vw,200px);height:min(118vw,260px)}.memory-caption{font-size:.84rem}.puzzle-grid,.puzzle-full-reveal{width:min(86vw,240px);height:min(86vw,240px)}.puzzle-meta{gap:8px}.puzzle-stat{padding:8px 12px}.puzzle-stat-num{font-size:1.4rem}.puzzle-preview{width:54px;height:54px}.balloon-field{gap:10px 8px}.balloon-slot,.balloon{width:44px;height:56px}.wish-bubble{max-width:86vw;padding:12px 14px;font-size:.86rem}.scratch-stage{width:min(92vw,240px)}.scratch-progress{width:min(80vw,200px)}.wax-envelope{width:min(86vw,240px)}.letter-card{padding:16px 12px}.letter-greeting,.letter-hand .letter-greeting{font-size:1rem}.letter-body,.letter-hand .letter-body{font-size:.88rem;line-height:1.7}.gift-container{width:150px}.gift-lid{width:188px;height:44px;margin-left:-5px}.gift-box-body{width:176px;height:132px}.gift-bow{width:102px;height:48px;top:-28px}.cake-top{width:110px;height:32px}.cake-base{width:144px;height:50px}.cake-plate{width:168px;height:10px}.cake-candles{--candle-scale:.68}.lock-screen{border-radius:26px;padding:22px 14px 20px}.lock-time{font-size:2.2rem}.lock-date{margin-bottom:16px}.lock-icon-wrap{margin-bottom:6px;font-size:2rem}.lock-msg{margin-bottom:14px;font-size:.72rem}.lock-key{height:44px;font-size:1.1rem}.lock-keypad{gap:10px}.pin-dots{gap:12px}.pin-dot{width:12px;height:12px}.curtain-btn{padding:10px 22px;font-size:.95rem}.music-btn{width:36px;height:36px;font-size:.95rem;bottom:10px;right:10px}}@media (max-height:720px){.avatar{width:80px;height:80px;margin-bottom:14px;font-size:2.6rem}.age-tracker{margin:14px 0 22px}.gift-page-subtitle{margin-bottom:28px}.swipe-hint{margin-bottom:20px}.lock-screen{padding:30px 26px 26px}.lock-time{font-size:3.4rem}.lock-date{margin-bottom:16px}.lock-icon-wrap{margin-bottom:8px}.lock-msg{margin-bottom:14px}.pin-dots{gap:16px;margin-bottom:4px}.lock-keypad{gap:12px;margin-top:16px}.lock-key{height:54px;font-size:1.3rem}}@media (max-height:600px){.avatar{width:64px;height:64px;margin-bottom:10px;font-size:2.1rem}.age-tracker{margin:8px auto 16px}.age-num{font-size:clamp(1.5rem,5vh,2.2rem)}.memory-carousel{width:min(46vh,260px);height:min(54vh,300px)}.puzzle-grid,.puzzle-full-reveal{width:min(58vh,280px);height:min(58vh,280px)}.cake-top{width:116px;height:32px}.cake-base{width:152px;height:50px}.cake-plate{width:172px;height:10px}.cake-candles{--candle-scale:.7}.gift-page-subtitle{margin-bottom:20px}.letter-page{padding-top:18px}.lock-screen{padding:22px 22px 20px}.lock-time{margin-bottom:2px;font-size:2.4rem}.lock-date{margin-bottom:12px;font-size:.72rem}.lock-icon-wrap{margin-bottom:6px;font-size:1.8rem}.lock-msg{min-height:0;margin-bottom:10px;font-size:.72rem}.lock-demo-hint,.lock-hint{margin:-4px 0 10px;padding:4px 10px;font-size:.72rem}.pin-dots{gap:12px;margin-bottom:4px}.pin-dot{width:12px;height:12px}.lock-keypad{gap:8px;margin-top:10px}.lock-key{height:42px;font-size:1.05rem}}@media (min-width:1400px){.memory-carousel{width:320px;height:380px}.puzzle-grid,.puzzle-full-reveal{width:340px;height:340px}.letter-card{max-width:580px}}.preview-watermark{z-index:9000;pointer-events:none;opacity:.1;flex-wrap:wrap;place-content:center;gap:28px 40px;display:flex;position:fixed;inset:0;overflow:hidden;transform:rotate(-24deg)scale(1.4)}.preview-watermark span{letter-spacing:.18em;color:#fff;white-space:nowrap;text-transform:uppercase;font-family:Nunito,sans-serif;font-size:1.1rem;font-weight:900}.preview-banner{z-index:9001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14091aeb;border:1px solid #ff3d8a66;border-radius:999px;align-items:center;gap:14px;width:max-content;max-width:calc(100vw - 24px);padding:10px 14px 10px 18px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080}.preview-banner span{color:#ffd9ec;white-space:nowrap;text-overflow:ellipsis;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:600;overflow:hidden}.preview-banner a{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#ff3d9a,#e0006a);border-radius:999px;flex-shrink:0;padding:8px 18px;font-size:.82rem;font-weight:800;text-decoration:none;box-shadow:0 6px 18px #e0006a80}@media (max-width:480px){.preview-banner{text-align:center;border-radius:20px;flex-direction:column;align-items:stretch;gap:10px;width:calc(100vw - 24px);max-width:360px;padding:14px 16px}.preview-banner span{white-space:normal;text-overflow:initial;font-size:.8rem;line-height:1.4;overflow:visible}.preview-banner a{text-align:center}}.journey-preview-mode .page{padding-bottom:110px}@media (max-width:480px){.journey-preview-mode .page{padding-bottom:130px}}.wa-fab{z-index:9500;color:#062e16;white-space:nowrap;background:#25d366;border-radius:999px;align-items:center;gap:0;height:56px;padding:0 16px;text-decoration:none;transition:transform .18s,box-shadow .18s,gap .25s,padding .25s;display:inline-flex;position:fixed;bottom:20px;right:20px;overflow:hidden;box-shadow:0 10px 28px #25d36673,0 2px 6px #0000004d}.wa-fab:hover{gap:10px;transform:translateY(-2px);box-shadow:0 16px 36px #25d36699}.wa-fab svg{flex-shrink:0}.wa-fab-label{opacity:0;max-width:0;font-family:Nunito,system-ui,sans-serif;font-size:.92rem;font-weight:800;transition:max-width .28s,opacity .2s}.wa-fab:hover .wa-fab-label{opacity:1;max-width:160px}@media (max-width:640px){.wa-fab{height:52px;bottom:14px;right:14px}.wa-fab:hover{gap:0}.wa-fab:hover .wa-fab-label{opacity:0;max-width:0}.wa-fab-label{display:none}}.auth-box{text-align:left;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:16px;padding:20px}.auth-box h3{color:#fff;margin:0 0 6px;font-family:Nunito,system-ui,sans-serif;font-size:1.1rem;font-weight:800}.auth-box>p{color:#f5edf29e;margin:0 0 14px;font-size:.88rem;line-height:1.5}.auth-row{gap:8px;display:flex}.auth-row input{color:#fff;background:#ffffff0d;border:1px solid #ffffff24;border-radius:12px;outline:none;flex:1;min-width:0;padding:13px 14px;font-size:.92rem}.auth-row input::placeholder{color:#f5edf266}.auth-row input:focus{border-color:#ff3d8a;box-shadow:0 0 0 4px #ff3d8a26}.auth-row button{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#ff3d9a,#e0006a);border:0;border-radius:12px;padding:13px 20px;font-size:.9rem;font-weight:700}.auth-row button:disabled{opacity:.6;cursor:progress}.auth-err{color:#ff8a8a;margin-top:10px;font-size:.8rem}.google-btn{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #ffffff2e;border-radius:12px;justify-content:center;align-items:center;gap:12px;width:100%;padding:14px 18px;font-family:Nunito,system-ui,sans-serif;font-size:.95rem;font-weight:800;transition:transform .15s,box-shadow .18s;display:flex;box-shadow:0 6px 20px #00000040}.google-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 30px #00000059}.google-btn:disabled{opacity:.7;cursor:progress}.google-btn svg{flex-shrink:0}.auth-box-sent{text-align:center}.auth-box-emoji{margin-bottom:8px;font-size:2.4rem}.auth-box-sent h3{margin-bottom:8px}.auth-resend{color:#ffa3c8;cursor:pointer;background:0 0;border:0;margin-top:12px;font-size:.84rem;font-weight:600;text-decoration:underline}.acct-chip{color:#f5edf29e;align-items:center;gap:10px;font-size:.82rem;display:inline-flex}.acct-chip strong{color:#fff;font-weight:700}.acct-signout{color:#f5edf2bf;cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600}.acct-signout:hover{color:#fff;background:#ffffff14}.brand-logo{color:#fff;width:auto;max-width:100%;height:72px;display:block}[data-theme=light] .brand-logo{color:#2a1730}.site-footer-brand .brand-logo{height:84px;margin-bottom:10px}.theme-toggle{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;line-height:1;transition:background .16s,border-color .16s;display:inline-flex}.theme-toggle:hover{background:#ffffff1f}[data-theme=light] .theme-toggle{background:#0000000a;border-color:#0000001f}[data-theme=light] .theme-toggle:hover{background:#00000014}.theme-switch-row{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-top:8px;padding:14px 16px;display:flex}.theme-switch-text{color:#ffffffd9;font-size:.92rem;font-weight:600}.theme-switch{cursor:pointer;background:#ffffff1f;border:none;border-radius:14px;width:52px;height:28px;padding:0;transition:background .3s;position:relative}.theme-switch--active{background:linear-gradient(135deg,#ff5fd2,#7c4dff)}.theme-switch-thumb{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #00000040}.theme-switch--active .theme-switch-thumb{transform:translate(24px)}[data-theme=light] .theme-switch-row{border-top-color:#00000014}[data-theme=light] .theme-switch-text{color:#2a1730}[data-theme=light] .theme-switch{background:#0000001a}[data-theme=light] .theme-switch--active{background:linear-gradient(135deg,#ff5fd2,#7c4dff)}.nav-mobile-theme{padding:0}[data-theme=light] .nav-mobile-theme{border-top-color:#00000014}[data-theme=light] .landing{color:#2a1730;background:radial-gradient(circle at 50% -10%,#ffe3f5 0%,#fff4fb 45%,#fff 100%)}[data-theme=light] .landing-glow{background:radial-gradient(circle,#ff6bd624,#0000 65%)}[data-theme=light] .brand{color:#2a1730}[data-theme=light] .nav-link{color:#2a1730b3}[data-theme=light] .nav-link:hover{color:#2a1730}[data-theme=light] .nav-cta{color:#fff;background:#2a1730;border-color:#2a1730}[data-theme=light] .hero-badge{color:#7b3fb0;background:#c084fc24;border-color:#c084fc66}[data-theme=light] .hero-title{background:linear-gradient(120deg,#2a1730,#c0248a 60%,#7b3fb0);color:#0000;-webkit-background-clip:text;background-clip:text}[data-theme=light] .section-title{background:linear-gradient(120deg,#2a1730,#c0248a 70%,#7b3fb0);color:#0000;-webkit-background-clip:text;background-clip:text}[data-theme=light] .hero-sub,[data-theme=light] .section-sub,[data-theme=light] .feature-card p,[data-theme=light] .step-card p,[data-theme=light] .faq-item p,[data-theme=light] .pricing-tag,[data-theme=light] .pricing-note,[data-theme=light] .pricing-per,[data-theme=light] .hero-trust,[data-theme=light] .quote-card figcaption,[data-theme=light] .cta-band p{color:#2a1730a8}[data-theme=light] .feature-card,[data-theme=light] .step-card,[data-theme=light] .quote-card,[data-theme=light] .faq-item{background:#fff;border-color:#00000014;box-shadow:0 4px 16px #78286e0f}[data-theme=light] .feature-card h3,[data-theme=light] .step-card h3,[data-theme=light] .faq-item summary,[data-theme=light] .cta-band h2,[data-theme=light] .pricing-amount{color:#2a1730}[data-theme=light] .pricing-list li,[data-theme=light] .quote-card blockquote{color:#3a2540}[data-theme=light] .quote-card figcaption strong{color:#2a1730}[data-theme=light] .pricing-card{background:linear-gradient(160deg,#ff6bd614,#c084fc0d);border-color:#ff6bd64d;box-shadow:0 20px 60px #c03cc81a}[data-theme=light] .cta-band{background:linear-gradient(135deg,#ff6bd61f,#c084fc1a);border-color:#ff6bd64d}[data-theme=light] .faq-chev{color:#c0248a}[data-theme=light] .btn-ghost{color:#2a1730;background:#00000008;border-color:#0003}[data-theme=light] .site-footer{border-top-color:#00000014}[data-theme=light] .site-footer-brand p,[data-theme=light] .site-footer-col a{color:#2a1730a8}[data-theme=light] .site-footer-col h4{color:#2a173080}[data-theme=light] .site-footer-col a:hover{color:#2a1730}[data-theme=light] .site-footer-bottom{color:#2a173080;border-top-color:#00000014}[data-theme=light] .site-social a{color:#7b3fb0;background:#fff;border-color:#0000001f}[data-theme=light] .dash{--bg0:#fff4fb;--bg1:#fff;--text:#2a1730;--dim:#2a17309e;--mute:#2a17306b;--border:#0000001a;background:radial-gradient(1000px 500px at 15% -10%,#e0006a14,#0000 60%),linear-gradient(#fff,#fff4fb)}[data-theme=light] .dash-stat,[data-theme=light] .dash-card,[data-theme=light] .dash-empty,[data-theme=light] .dash-profile-btn,[data-theme=light] .dash-search,[data-theme=light] .dash-filter,[data-theme=light] .dash-act,[data-theme=light] .dash-menu{background:#fff;box-shadow:0 2px 12px #78286e0f}[data-theme=light] .dash-stat-num,[data-theme=light] .dash-card-name,[data-theme=light] .dash-menu-name{color:#2a1730}[data-theme=light] .dash-act:hover,[data-theme=light] .dash-profile-btn:hover,[data-theme=light] .dash-menu-item:hover{background:#0000000d}[data-theme=light] .cr{--bg0:#fff4fb;--bg1:#fff;--text:#2a1730;--dim:#2a17309e;--mute:#2a17306b;--border:#0000001a;background:radial-gradient(1000px 500px at 50% -10%,#e0006a1a,#0000 60%),linear-gradient(#fff,#fff4fb)}[data-theme=light] .cr-card,[data-theme=light] .cr-top-link,[data-theme=light] .cr-qr-dl,[data-theme=light] .cr-linkbox input,[data-theme=light] .cr-share,[data-theme=light] .cr-btn{background:#fff;box-shadow:0 2px 12px #78286e0d}[data-theme=light] .cr-title .em,[data-theme=light] .cr-pin-key{color:#2a1730}[data-theme=light] .cr-pin-key{background:#0000000f}[data-theme=light] .bld{--bld-bg-0:#fff4fb;--bld-bg-1:#fff;--bld-surface:#fff;--bld-surface-hi:#fbeef6;--bld-border:#0000001a;--bld-border-hi:#0000002e;--bld-text:#2a1730;--bld-text-dim:#2a17309e;--bld-text-mute:#2a17306b;background:radial-gradient(1200px 600px at 20% -10%,#ff3d8a1a,#0000 60%),linear-gradient(#fff,#fff4fb)}[data-theme=light] .bld-footer{background:linear-gradient(#0000,#fff4fbeb 35%)}[data-theme=light] .bld-modal-bg,[data-theme=light] .bld-checkout-bg{background:#5a284b59}[data-theme=light] .bld-modal{background:linear-gradient(160deg,#fff,#fff4fb);border-color:#ff3d8a40;box-shadow:0 30px 80px #78286e33}[data-theme=light] .bld-checkout{background:linear-gradient(160deg,#fff,#fff4fb);border-color:#ff3d8a38;box-shadow:0 40px 100px #78286e2e}[data-theme=light] .bld-checkout-close{background:#0000000d}[data-theme=light] .bld-review-bar{background:linear-gradient(#fffffff2,#ffffff80 70%,#0000)}[data-theme=light] .bld-review-back{background:#0000000a;border-color:#00000024}[data-theme=light] .bld-field input[type=date]::-webkit-calendar-picker-indicator{filter:opacity(.6)}[data-theme=light] .legal{color:#2a1730;background:linear-gradient(#fff,#fff4fb)}[data-theme=light] .legal h1,[data-theme=light] .legal h2{color:#1a0f20}[data-theme=light] .legal p,[data-theme=light] .legal li{color:#2a1730cc}[data-theme=light] .legal-back{color:#2a173099}[data-theme=light] .legal-back:hover{color:#2a1730}@media (max-width:560px){.brand-logo{max-width:180px;height:36px}}@media (min-width:561px) and (max-width:768px){.brand-logo{max-width:240px;height:44px}}.nav-link-highlight{border-radius:999px;align-items:center;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px #7c3aed61;color:#fff!important;background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%)!important;border:1px solid #a855f799!important;padding:8px 16px!important;font-weight:800!important;display:inline-flex!important}.nav-link-highlight:hover{transform:translateY(-1px);box-shadow:0 6px 18px #7c3aed80;color:#fff!important}.nav-mobile{align-items:center;gap:10px;display:none}.nav-hamburger{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;line-height:1;transition:background .15s,border-color .15s;display:inline-flex}.nav-hamburger:hover{background:#ffffff1f}.nav-hamburger:focus-visible{outline-offset:2px;outline:2px solid #ff5fa3}.nav-mobile-backdrop{z-index:190;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0502088c;animation:.18s navFadeIn;position:fixed;inset:0}@keyframes navFadeIn{0%{opacity:0}to{opacity:1}}.nav-mobile-menu{z-index:200;background:#14091a;border-left:1px solid #ffffff1a;flex-direction:column;gap:4px;width:min(84vw,340px);padding:84px 20px 28px;animation:.22s cubic-bezier(.22,1,.36,1) navSlideIn;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-20px 0 50px #0000008c}@keyframes navSlideIn{0%{opacity:.4;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.nav-mobile-menu,.nav-mobile-backdrop{animation-duration:.001ms}}.nav-mobile-menu-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.nav-mobile-menu-title{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;font-weight:800}.nav-mobile-close{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:inline-flex}.nav-mobile-link{color:#ffffffe0;border-radius:12px;padding:15px 14px;font-size:1rem;font-weight:700;text-decoration:none;transition:background .15s}.nav-mobile-link:hover,.nav-mobile-link:focus-visible{background:#ffffff14}.nav-mobile-cta{text-align:center;margin-top:10px;padding:14px;font-size:1rem}body.nav-menu-open{overflow:hidden}@media (min-width:769px) and (max-width:1024px){.landing-nav{gap:8px;padding:10px clamp(12px,2.5vw,24px)}.landing-nav-center{gap:2px}.landing-nav-center .nav-link{padding:8px 9px;font-size:.9rem}.landing-nav-links{gap:10px}.landing-nav-links .nav-cta{padding:8px 14px}}@media (min-width:769px) and (max-width:880px){.landing-nav{gap:6px;padding:10px 12px}.landing-nav .brand-logo{height:38px}.landing-nav-center .nav-link{padding:7px 6px;font-size:.82rem}.landing-nav-links{gap:8px}.landing-nav-links .nav-link-highlight{font-size:.85rem}.landing-nav-links .nav-cta{padding:7px 11px;font-size:.85rem}}@media (max-width:768px){.landing-nav{grid-template-columns:1fr auto}.landing-nav-center,.landing-nav-links{display:none}.nav-mobile{justify-self:end;display:inline-flex}}[data-theme=light] .nav-hamburger{color:#2a1730;background:#0000000a;border-color:#00000024}[data-theme=light] .nav-mobile-menu{background:#fff;border-left-color:#00000014;box-shadow:-20px 0 50px #78286e26}[data-theme=light] .nav-mobile-menu-title{color:#2a173080}[data-theme=light] .nav-mobile-close{color:#2a1730;background:#0000000a;border-color:#0000001f}[data-theme=light] .nav-mobile-link{color:#2a1730}[data-theme=light] .nav-mobile-link:hover{background:#0000000d}@media (max-width:700px){.occasion-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;grid-template-columns:none;margin:0 -20px;padding:4px 20px 14px;display:flex;overflow-x:auto}.occasion-grid::-webkit-scrollbar{display:none}.occasion-card{scroll-snap-align:start;flex:0 0 78vw;max-width:320px}}.occ-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(6px);background:#050712b8;justify-content:center;align-items:center;padding:20px;animation:.2s both occFade;display:flex;position:fixed;inset:0;overflow-y:auto}.occ-modal{text-align:center;background:radial-gradient(120% 90% at 50% -10%,#6366f138,#0000 55%),linear-gradient(#1a1236 0%,#120c28 100%);border:1px solid #a882ff38;border-radius:26px;width:100%;max-width:760px;margin:auto;padding:clamp(28px,5vw,48px) clamp(20px,4vw,44px);animation:.24s cubic-bezier(.2,.8,.3,1) both occPop;position:relative;box-shadow:0 30px 90px #0000008c}.occ-modal .hero-badge{margin-bottom:14px}.occ-modal .section-title{margin-bottom:6px}.occ-modal .section-sub{margin-bottom:26px}.occ-modal-close{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;line-height:1;transition:background .15s,border-color .15s;display:inline-flex;position:absolute;top:16px;right:16px}.occ-modal-close:hover{background:#ffffff1f}.occ-modal-close:focus-visible{outline-offset:2px;outline:2px solid #a855f7}.occ-modal-back{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:12px;align-items:center;gap:6px;height:40px;padding:0 14px;font-size:.88rem;font-weight:600;line-height:1;transition:background .15s,border-color .15s;display:inline-flex;position:absolute;top:16px;left:16px}.occ-modal-back:hover{background:#ffffff1f}.occ-modal-back:focus-visible{outline-offset:2px;outline:2px solid #a855f7}@media (max-width:520px){.occ-modal-back{margin:0 auto 16px;position:static}}.occ-modal-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:640px;margin:0 auto;display:grid}.occ-modal-grid--single{grid-template-columns:minmax(260px,340px);justify-content:center}.occ-modal-grid .occasion-card{text-align:center;align-items:center;padding:28px 22px}.occ-modal-grid .occasion-emoji{filter:none;background:linear-gradient(135deg,#a855f73d,#6366f13d);border:1px solid #a882ff47;border-radius:18px;place-items:center;width:66px;height:66px;margin-bottom:10px;font-size:2rem;display:grid}.occ-modal-grid .occasion-cta{color:#c8a8ff}@media (max-width:560px){.occ-modal-grid{grid-template-columns:repeat(2,1fr);gap:12px}.occ-modal-grid--single{grid-template-columns:minmax(220px,320px)}.occ-modal-grid .occasion-card{aspect-ratio:1;justify-content:center;gap:8px;padding:18px 12px}.occ-modal-grid .occasion-emoji{border-radius:14px;width:52px;height:52px;margin-bottom:4px;font-size:1.6rem}.occ-modal-grid .occasion-card p{display:none}.occ-modal-grid .occasion-card h3{word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin:0;font-size:1.05rem}.occ-modal-grid .occasion-badge{padding:3px 7px;font-size:.58rem;top:8px;right:8px}}@keyframes occFade{0%{opacity:0}to{opacity:1}}@keyframes occPop{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.occ-modal-backdrop,.occ-modal{animation:none}}[data-theme=light] .occ-modal{background:linear-gradient(#fff,#fbf3ff);border-color:#7828a029;box-shadow:0 30px 90px #501e7840}[data-theme=light] .occ-modal-close,[data-theme=light] .occ-modal-back{color:#2a1730;background:#0000000a;border-color:#00000024}[data-theme=light] .occ-modal-grid .occasion-cta{color:#8b3fd6}.anniversary-chapter-transition{z-index:9000;pointer-events:none;position:fixed;inset:0;overflow:hidden}.anniversary-chapter-transition.film-sweep{background:#06030729;animation:.95s ease-out forwards chapterOverlayOut}.chapter-projector-beam{filter:blur(7px);mix-blend-mode:screen;background:linear-gradient(90deg,#0000,#ffe5ae42,#fff4d394,#0000);width:48%;animation:.82s cubic-bezier(.3,.7,.35,1) forwards chapterLightSweep;position:absolute;top:-20%;bottom:-20%;left:-55%;transform:skew(-12deg)}.chapter-film-burn{mix-blend-mode:screen;background:radial-gradient(circle at 18%,#fffbdcf2 0 3%,#ff9c41c7 7%,#a7231a73 15%,#0000 29%),linear-gradient(90deg,#ff712838,#0000 48%);animation:.78s ease-out forwards chapterBurnPass;position:absolute;inset:-15%}.chapter-frame-line{opacity:.65;background:repeating-linear-gradient(90deg,#090709 0 18px,#bd9455 18px 27px,#090709 27px 43px);height:12px;animation:.85s ease-out forwards chapterFilmTrack;position:absolute;left:0;right:0}.chapter-frame-line.top{top:0}.chapter-frame-line.bottom{animation-direction:reverse;bottom:0}@keyframes chapterLightSweep{0%{opacity:0;transform:translate(0)skew(-12deg)}14%{opacity:1}to{opacity:0;transform:translate(335%)skew(-12deg)}}@keyframes chapterBurnPass{0%{opacity:0;transform:translate(-35%)}18%{opacity:.9}to{opacity:0;transform:translate(62%)}}@keyframes chapterFilmTrack{0%{opacity:.72;transform:translate(-8%)}to{opacity:0;transform:translate(8%)}}@keyframes chapterOverlayOut{0%,42%{opacity:1}to{opacity:0;visibility:hidden}}.anniversary-chapter-transition.rings-to-heart{background:radial-gradient(circle,#521230c7,#050306f5);place-items:center;animation:1.15s ease-in-out forwards chapterHeartOverlay;display:grid}.chapter-ring-heart{width:190px;height:130px;position:relative}.chapter-ring{border:9px solid #f1ca6c;border-radius:50%;width:70px;height:70px;position:absolute;top:38px;box-shadow:inset 0 0 9px #fff1ad,0 0 20px #ffc75794}.chapter-ring.left{animation:.72s cubic-bezier(.22,1,.36,1) forwards chapterRingLeft;left:-45px}.chapter-ring.right{border-color:#ffe7a3;animation:.72s cubic-bezier(.22,1,.36,1) forwards chapterRingRight;right:-45px}.chapter-heart{color:#ff6c9f;text-align:center;opacity:0;text-shadow:0 0 16px #ff79aa,0 0 42px #ffca6eb8;font-size:5.2rem;line-height:1;animation:.62s ease-out .5s forwards chapterHeartForm;position:absolute;inset:15px 0 auto;transform:scale(.25)}@keyframes chapterRingLeft{to{opacity:.45;left:31px;transform:rotate(-24deg)scale(.86)}}@keyframes chapterRingRight{to{opacity:.45;right:31px;transform:rotate(24deg)scale(.86)}}@keyframes chapterHeartForm{65%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes chapterHeartOverlay{0%,65%{opacity:1}to{opacity:0;visibility:hidden}}.ringbox-wrap{flex-direction:column;align-items:center;gap:10px;margin:16px 0 10px;display:flex}.ringbox-scene{cursor:pointer;perspective:720px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;width:210px;height:190px;padding:0;position:relative}.ringbox-scene:disabled{cursor:default}.ringbox-scene:focus-visible{outline-offset:6px;border-radius:18px;outline:2px solid #ffdc78d9}.hold-meter{flex-direction:column;align-items:center;gap:8px;display:flex}.hold-meter-track{background:#ffd28229;border-radius:999px;width:188px;height:9px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #00000073}.hold-meter-track.holding{box-shadow:inset 0 1px 3px #00000073, 0 0 16px rgba(var(--ring-glow,255, 214, 110), .45)}.hold-meter-fill{transform-origin:0;background:linear-gradient(90deg, rgba(var(--ring-glow,255, 214, 110), .65) 0%, rgba(var(--ring-glow,255, 214, 110), 1) 100%);width:100%;height:100%;box-shadow:0 0 10px rgba(var(--ring-glow,255, 214, 110), .8);border-radius:999px;transition:transform 80ms linear;display:block;transform:scaleX(0)}.hold-meter-track.done .hold-meter-fill{transition:none}.hold-meter-label{color:#ffd6a5d9;letter-spacing:.2px;text-align:center;font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:700}.ringbox{width:168px;height:148px;transform-style:preserve-3d;margin-left:-84px;position:absolute;bottom:22px;left:50%}.ringbox-ring{z-index:1;opacity:0;width:54px;height:54px;margin-left:-27px;transition:transform .75s cubic-bezier(.34,1.4,.5,1) .25s,opacity .5s .25s;position:absolute;bottom:44px;left:50%;transform:translateY(16px)scale(.55)}.ringbox-opened .ringbox-ring{opacity:1;transform:translateY(-30px)scale(1)}.ringbox-band{border-radius:50%;position:absolute;inset:0;box-shadow:0 3px 9px #00000073;-webkit-mask:radial-gradient(circle,#0000 0 55%,#000 57% 100%);mask:radial-gradient(circle,#0000 0 55%,#000 57% 100%)}.ringbox-gem{border-radius:4px;width:20px;height:20px;margin-left:-10px;animation:1.9s ease-in-out infinite ringGemPulse;position:absolute;top:-9px;left:50%;transform:rotate(45deg);box-shadow:0 0 14px #bee6ffd9}@keyframes ringGemPulse{50%{transform:rotate(45deg)scale(1.14);box-shadow:0 0 24px #d7f2fff2}}.ringbox-body{z-index:2;border-radius:10px 10px 14px 14px;height:68px;position:absolute;bottom:0;left:6px;right:6px;box-shadow:inset 0 2px #ffffff24,inset 0 -10px 18px #00000073,0 14px 28px #00000080}.ringbox-cushion{border-radius:7px 7px 4px 4px;height:26px;position:absolute;top:7px;left:10px;right:10px;box-shadow:inset 0 -3px 6px #785a3c4d}.ringbox-slot{background:#3c23198c;border-radius:4px;width:34px;height:7px;margin-left:-17px;position:absolute;top:6px;left:50%;box-shadow:inset 0 1px 3px #0000008c}.ringbox-lid{z-index:3;transform-origin:bottom;border-radius:12px 12px 5px 5px;height:58px;transition:transform .9s cubic-bezier(.32,1.28,.44,1);position:absolute;bottom:62px;left:6px;right:6px;transform:translateY(62px);box-shadow:inset 0 2px #ffffff29,0 6px 16px #0000006b}.ringbox-opened .ringbox-lid{transform:translateY(0)rotateX(-104deg)}.ringbox-holding .ringbox-lid{transition:none}.ringbox-lid-inner{opacity:.9;border-radius:7px;position:absolute;inset:6px;box-shadow:inset 0 0 10px #785a3c59}.ringbox-sparkle{z-index:4;font-size:1.05rem;animation:1s ease-out sparklePop;position:absolute}.ringbox-sparkle.rs-1{animation-delay:.35s;top:6px;left:16px}.ringbox-sparkle.rs-2{animation-delay:.55s;top:20px;right:10px}.ringbox-sparkle.rs-3{animation-delay:.75s;top:-4px;right:44px}.ringbox-opened .ringbox-body{box-shadow:inset 0 2px 0 #ffffff24, inset 0 -10px 18px #00000073, 0 14px 28px #00000080, 0 0 42px rgba(var(--ring-glow,255, 214, 110), .45)}.ringbox-hint{color:#ffd6a5cc;text-align:center;font-size:.84rem;font-weight:700}.reasons-page{justify-content:flex-start;padding-top:7vh}.reasons-jar{width:200px;height:218px;margin:4px auto 14px;position:relative}.reasons-jar-glass{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(120deg,#d2f0ff24 0%,#ffffff0d 45%,#b4dcfa1f 100%);border:2px solid #d2f0ff59;border-radius:18px 18px 30px 30px;position:absolute;inset:26px 0 0;box-shadow:inset 0 0 30px #ffffff1a,0 14px 30px #0006}.reasons-jar-lid{background:linear-gradient(#d9b26a 0%,#a97f3d 60%,#7d5a26 100%);border-radius:8px 8px 5px 5px;width:132px;height:30px;margin-left:-66px;position:absolute;top:0;left:50%;box-shadow:inset 0 2px #ffffff4d,0 4px 10px #0006}.reasons-jar-shine{filter:blur(3px);pointer-events:none;background:linear-gradient(#fff6,#fff0);border-radius:999px;width:22px;height:120px;position:absolute;top:40px;left:20px}.reasons-jar-label{color:#6b4a2f;font-family:var(--font-hand), "Segoe Script", cursive;letter-spacing:1px;background:#fff8e6e6;border-radius:3px;padding:3px 14px;font-size:.95rem;font-weight:700;position:absolute;bottom:26px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 2px 5px #00000040}.reasons-slips{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:6px 5px;display:flex;position:absolute;inset:44px 14px 52px}.reason-slip{cursor:pointer;width:40px;height:26px;transform:translate(var(--slip-x,0), var(--slip-y,0)) rotate(var(--slip-tilt,0deg));-webkit-tap-highlight-color:transparent;background:linear-gradient(160deg,#fffdf2 0%,#f0e4c8 100%);border:0;border-radius:3px;padding:0;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .45s;position:relative;box-shadow:0 2px 5px #00000059,inset 0 1px #ffffffb3}.reason-slip:hover:not(:disabled){transform:translate(var(--slip-x,0), calc(var(--slip-y,0) - 5px)) rotate(var(--slip-tilt,0deg)) scale(1.06)}.reason-slip-fold{background:repeating-linear-gradient(90deg,#0000 0 11px,#96785047 11px 12px);border-radius:3px;position:absolute;inset:0}.reason-slip-drawn{opacity:0;pointer-events:none;transform:translate(var(--slip-x,0), -120px) rotate(calc(var(--slip-tilt,0deg) * 3)) scale(.7)}.reason-note{color:#4a3530;max-width:330px;font-family:var(--font-hand), "Segoe Script", cursive;text-align:center;transform-origin:top;background:linear-gradient(160deg,#fffdf3 0%,#f3e7cd 100%);border-radius:4px;margin:2px auto 0;padding:16px 20px;font-size:1.12rem;line-height:1.35;animation:.6s cubic-bezier(.22,1,.36,1) both slipUnfold;box-shadow:0 10px 26px #00000073}@keyframes slipUnfold{0%{opacity:0;transform:scaleY(.15)translateY(-14px)rotate(-2deg)}60%{opacity:1}to{opacity:1;transform:scaleY(1)translateY(0)rotate(0)}}.reasons-continue{opacity:.55;pointer-events:none;margin-top:18px;transition:opacity .4s,transform .2s}.reasons-continue.show{opacity:1;pointer-events:all}.question-page{justify-content:center;gap:0}.question-ring-mark{width:62px;height:62px;margin-bottom:20px;position:relative}.question-ring-band{border-radius:50%;position:absolute;inset:0;box-shadow:0 3px 10px #0006;-webkit-mask:radial-gradient(circle,#0000 0 56%,#000 58% 100%);mask:radial-gradient(circle,#0000 0 56%,#000 58% 100%)}.question-ring-gem{border-radius:4px;width:22px;height:22px;margin-left:-11px;animation:1.9s ease-in-out infinite ringGemPulse;position:absolute;top:-10px;left:50%;transform:rotate(45deg);box-shadow:0 0 16px #c8ebffe6}.question-title{max-width:92vw;font-family:var(--font-hand), "Nunito", sans-serif;color:var(--yellow);text-align:center;text-shadow:0 0 26px #ffdc5a8c;margin-bottom:34px;font-size:clamp(1.9rem,7vw,3rem);font-weight:900;line-height:1.25}.question-actions{justify-content:center;align-items:center;gap:28px;min-height:132px;display:flex;position:relative}.question-yes{cursor:pointer;width:124px;height:124px;box-shadow:0 0 0 2px #ffdc8c73, 0 10px 30px #00000073, 0 0 34px rgba(var(--ring-glow,255, 214, 110), .3);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:radial-gradient(circle at 40% 32%,#ff78aaf2,#be1e55f2);border:0;border-radius:50%;place-items:center;padding:0;transition:transform .2s,box-shadow .3s;display:grid;position:relative}.question-yes:hover{transform:scale(1.04)}.question-yes.holding{box-shadow:0 0 0 2px #ffebb4cc, 0 8px 22px #00000080, 0 0 56px rgba(var(--ring-glow,255, 214, 110), .65);transform:scale(.96)}.question-yes:focus-visible{outline-offset:5px;outline:2px solid #ffe696e6}.question-yes-arc{pointer-events:none;position:absolute;inset:-7px}.question-yes-arc svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.question-arc-track,.question-arc-fill{fill:none;stroke-width:4px;stroke-linecap:round;stroke-dasharray:1}.question-arc-track{stroke:#ffd78c2e}.question-arc-fill{stroke:rgba(var(--ring-glow,255, 214, 110), .98);filter:drop-shadow(0 0 8px rgba(var(--ring-glow,255, 214, 110), .85));transition:stroke-dashoffset .1s linear}.question-yes-label{color:#fff;letter-spacing:.5px;text-shadow:0 2px 8px #00000073;font-family:Nunito,sans-serif;font-size:1.6rem;font-weight:900}.question-no{color:#fff0dcd9;cursor:pointer;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ffffff12;border:2px solid #ffffff38;border-radius:999px;padding:13px 30px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:800;position:relative}.question-no-gaveup{cursor:default;pointer-events:none;color:#ffe1afe6;border-color:#ffc88259;font-size:.82rem}.question-hint-wrap{margin-top:26px}.question-hint{color:#ffd2a0b8;text-align:center;margin-top:26px;font-size:.86rem;font-weight:700}.yes-page{justify-content:center;padding:4vh 18px}.yes-burst{place-items:center;width:128px;height:128px;margin-bottom:12px;display:grid;position:relative}.yes-burst:before{content:"";background:radial-gradient(circle,#ffdc8c66,#0000 68%);border-radius:50%;animation:2.6s ease-in-out infinite yesGlowPulse;position:absolute;inset:0}@keyframes yesGlowPulse{0%,to{opacity:.7;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}.yes-ring{width:74px;height:74px;animation:.9s cubic-bezier(.34,1.5,.5,1) both yesRingRise;position:relative}@keyframes yesRingRise{0%{opacity:0;transform:translateY(26px)scale(.5)rotate(-18deg)}}.yes-ring-band{border-radius:50%;position:absolute;inset:0;box-shadow:0 4px 14px #00000073;-webkit-mask:radial-gradient(circle,#0000 0 56%,#000 58% 100%);mask:radial-gradient(circle,#0000 0 56%,#000 58% 100%)}.yes-ring-gem{border-radius:5px;width:26px;height:26px;margin-left:-13px;animation:1.9s ease-in-out infinite ringGemPulse;position:absolute;top:-12px;left:50%;transform:rotate(45deg);box-shadow:0 0 20px #cdf0fff2}.yes-title{font-family:var(--font-hand), "Nunito", sans-serif;color:var(--yellow);text-align:center;text-shadow:0 0 26px #ffdc5a8c;font-size:clamp(1.8rem,6.5vw,2.7rem);font-weight:900;line-height:1.25}.yes-sub{color:#ffe2b4d9;text-align:center;margin-top:8px;font-size:1rem;font-weight:700}.yes-reveal{border:1px solid rgba(var(--ring-glow,255, 214, 110), .38);width:min(92vw,400px);box-shadow:0 16px 40px #00000080, inset 0 0 30px rgba(var(--ring-glow,255, 214, 110), .08);text-align:center;background:linear-gradient(160deg,#28121ceb,#160a12eb);border-radius:18px;margin-top:26px;padding:20px 22px}.yes-reveal-label{color:#ffd2a0bf;letter-spacing:2px;text-transform:uppercase;font-size:.74rem;font-weight:800;display:block}.yes-reveal-now{color:var(--yellow);text-shadow:0 0 20px #ffdc5a99;font-size:1.3rem;font-weight:900;animation:2s ease-in-out infinite yesGlowPulse}.yes-countdown{justify-content:center;align-items:flex-end;gap:14px;margin-top:12px;display:flex}.yes-count-unit{flex-direction:column;align-items:center;gap:4px;display:flex}.yes-count-unit strong{color:var(--yellow);font-variant-numeric:tabular-nums;text-shadow:0 0 22px #ffdc5080;font-size:1.85rem;font-weight:900;line-height:1}.yes-count-unit em{letter-spacing:1.6px;text-transform:uppercase;color:#ffc8649e;font-size:.62rem;font-style:normal;font-weight:700}.yes-reveal-place{color:#fff1d8;margin-top:14px;font-size:1.02rem;font-weight:800}.yes-reveal-note{color:#ffe4becc;margin-top:8px;font-size:.9rem;font-weight:600;line-height:1.45}.letter-continue-btn{flex-shrink:0;margin-top:22px}@media (max-width:480px){.ringbox-scene{width:190px;height:172px}.ringbox{transform:scale(.92)}.reasons-jar{width:182px;height:200px}.reason-slip{width:36px;height:24px}.reason-note{max-width:86vw;font-size:1.02rem}.question-actions{gap:18px}.question-yes{width:108px;height:108px}.question-yes-label{font-size:1.4rem}.question-no{padding:11px 24px;font-size:.94rem}.yes-countdown{gap:10px}.yes-count-unit strong{font-size:1.55rem}.hold-meter-track{width:164px}.hold-meter-label{font-size:.78rem}}@media (max-height:720px){.reasons-page{padding-top:4vh}.ringbox-wrap{margin:8px 0 4px}.ringbox-scene{margin-block:-12px -6px;transform:scale(.86)}.question-title{margin-bottom:24px}.yes-reveal{margin-top:16px;padding:16px 18px}}.thali-page{justify-content:flex-start;padding-top:10vh}.thali-wrap{flex-direction:column;align-items:center;gap:18px;width:100%;display:flex}.thali-scene{place-items:center;padding:10px;display:grid;position:relative}.thali-plate{cursor:pointer;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 34% 26%,#ffeeb8 0%,#d9a53c 46%,#9c6d16 100%);border:none;border-radius:50%;width:232px;height:232px;padding:0;transition:transform .3s,box-shadow .5s,filter .6s;position:relative;box-shadow:0 14px 34px #00000073,inset 0 2px 6px #ffffff8c,inset 0 -8px 18px #5a37008c}.thali-plate:active{transform:scale(.97)}.thali-plate:disabled{cursor:default}.thali-plate:disabled:active{transform:none}.thali-rim{pointer-events:none;background:radial-gradient(circle at 38% 30%,#fff5d28c,#b482281f 70%);border:2px dashed #784b0a59;border-radius:50%;position:absolute;inset:13px}.thali-diya{pointer-events:none;width:76px;height:46px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.thali-diya-bowl{background:linear-gradient(#c4762f 0%,#8a4715 60%,#5c2c0a 100%);border-radius:0 0 40px 40px/0 0 26px 26px;height:28px;position:absolute;inset:auto 0 0;box-shadow:inset 0 3px 5px #ffdcaa73}.thali-flame{filter:drop-shadow(0 0 14px #ffb43ce6);transform-origin:50% 100%;background:radial-gradient(circle at 50% 72%,#fffbe6 0%,#ffd166 38%,#ff8b1f 72%,#ff5a0033 100%);border-radius:50%/68% 68% 32% 32%;width:18px;height:30px;animation:1.5s ease-in-out infinite thali-flicker;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@keyframes thali-flicker{0%,to{opacity:1;transform:translate(-50%)scale(1)skew(0)}30%{opacity:.92;transform:translate(-50%)scale(1.08,.94)skew(4deg)}60%{opacity:.98;transform:translate(-50%)scale(.95,1.08)skew(-4deg)}}.thali-katori{pointer-events:none;background:linear-gradient(#f5d488 0%,#c08f2a 100%);border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 3px 6px #ffffff80,0 3px 7px #0000004d}.thali-katori>span{border-radius:50%;width:24px;height:24px}.thali-katori--roli{top:63%;left:23%}.thali-katori--roli>span{background:radial-gradient(circle at 36% 30%,#ef4444 0%,#9f1239 100%)}.thali-katori--rice{top:74%;left:50%}.thali-katori--rice>span{background:radial-gradient(circle at 36% 30%,#fff 0%,#e2e8e0 100%)}.thali-katori--sweet{top:63%;left:77%}.thali-katori--sweet>span{background:radial-gradient(circle at 36% 30%,#ffe08a 0%,#d98a12 100%)}.thali-scene--lit .thali-plate,.thali-scene--aarti .thali-plate,.thali-scene--ready .thali-plate{box-shadow:0 14px 34px #00000073,0 0 46px #ffaf3c66,inset 0 2px 6px #fff9,inset 0 -8px 18px #5a370080}.thali-scene--aarti .thali-plate{animation:.85s ease-in-out 3 thali-aarti}@keyframes thali-aarti{0%{transform:translateY(-16px)}12.5%{transform:translate(11px,-11px)}25%{transform:translate(16px)}37.5%{transform:translate(11px,11px)}50%{transform:translateY(16px)}62.5%{transform:translate(-11px,11px)}75%{transform:translate(-16px)}87.5%{transform:translate(-11px,-11px)}to{transform:translateY(-16px)}}.thali-hint{color:#ffffffb8;text-align:center;font-size:.95rem}.thali-hint--go{color:var(--yellow,#ffe066)}.thali-done{flex-direction:column;align-items:center;gap:12px;display:flex}.thali-blessing{text-align:center;color:#ffffffe6;max-width:300px;font-size:1.08rem;font-style:italic;line-height:1.55}.thali-name{letter-spacing:.14em;text-transform:uppercase;color:#fff6;font-size:.78rem}@media (max-width:400px){.thali-plate{width:194px;height:194px}.thali-diya{width:64px;height:40px}.thali-katori{width:34px;height:34px}.thali-katori>span{width:20px;height:20px}}.rakhi-pendant{width:var(--rk-size,90px);height:var(--rk-size,90px);filter:drop-shadow(0 0 16px rgba(var(--rk-glow,255, 221, 130), .55));display:inline-block;position:relative}.rakhi-tail{border-radius:6px;width:74px;height:8px;position:absolute;top:50%;box-shadow:0 2px 5px #00000059}.rakhi-tail--l{right:78%;transform:translateY(-50%)rotate(7deg)}.rakhi-tail--r{left:78%;transform:translateY(-50%)rotate(-7deg)}.rakhi-petals{position:absolute;inset:0}.rakhi-petal{opacity:.92;border-radius:50%;width:34%;height:56%;margin-top:-28%;margin-left:-17%;position:absolute;top:50%;left:50%}.rakhi-bezel{position:absolute;inset:0}.rakhi-face{place-items:center;display:grid;position:absolute;inset:13%}.rakhi-motif{font-size:calc(var(--rk-size,90px) * .4);text-shadow:0 1px 2px #00000040;font-weight:700;line-height:1}.rakhi-beads{position:absolute;inset:0}.rakhi-bead{border-radius:50%;width:10%;height:10%;margin:-5% 0 0 -5%;position:absolute;top:50%;left:50%;box-shadow:inset 0 1px 2px #fffc,0 1px 2px #0000004d}.rakhi-page{justify-content:flex-start;padding-top:10vh}.rakhi-stage{flex-direction:column;align-items:center;gap:14px;width:100%;min-height:430px;display:flex}.rakhi-hand-wrap{flex:none;width:188px;height:256px;position:relative}.rakhi-hand{width:100%;height:100%;overflow:visible}.rakhi-skin rect{fill:#e7b189;stroke:#783e1659;stroke-width:2px}.rakhi-thread{fill:none;stroke-width:8px;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(var(--rk-glow,255, 221, 130), .65));transition:stroke-dashoffset .12s linear}.rakhi-thread--gold{stroke:#ffd66ed9;stroke-width:4px}.rakhi-sleeve-body{fill:#2e6b8c}.rakhi-sleeve-cuff{fill:#dcb44e}.rakhi-target{opacity:0;pointer-events:none;border:2px dashed #ffffff47;border-radius:50%;width:96px;height:96px;margin:-48px 0 0 -48px;transition:opacity .35s;position:absolute;top:58.7%;left:50%}.rakhi-target--live{opacity:1;animation:1.6s ease-in-out infinite rakhi-target-pulse}@keyframes rakhi-target-pulse{0%,to{border-color:#ffffff3d;transform:scale(1)}50%{border-color:rgba(var(--rk-glow,255, 221, 130), .7);transform:scale(1.08)}}.rakhi-onwrist{opacity:0;pointer-events:none;animation:.45s cubic-bezier(.2,1.5,.4,1) forwards rakhi-land;position:absolute;top:58.7%;left:50%;transform:translate(-50%,-50%)scale(.7)}@keyframes rakhi-land{to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.rakhi-onwrist--tied{animation:.5s ease-out forwards rakhi-cinch}@keyframes rakhi-cinch{0%{opacity:1;transform:translate(-50%,-50%)scale(1.18)}60%{opacity:1;transform:translate(-50%,-50%)scale(.94)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.rakhi-hint{color:#ffffffb8;text-align:center;font-size:.95rem}.rakhi-loose{cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:8px;transition:transform .32s cubic-bezier(.2,1.4,.4,1);animation:2.4s ease-in-out infinite rakhi-bob}.rakhi-loose--dragging{cursor:grabbing;z-index:4;transition:none;animation:none}@keyframes rakhi-bob{0%,to{translate:0}50%{translate:0 -7px}}.rakhi-tie-controls{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.rakhi-tie-btn{border:1px solid rgba(var(--rk-glow,255, 221, 130), .5);color:#fff;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;background:#ffffff12;border-radius:999px;padding:13px 26px;font-size:1rem;font-weight:600;transition:transform .18s,background .25s,box-shadow .25s}.rakhi-tie-btn--holding{background:rgba(var(--rk-glow,255, 221, 130), .18);box-shadow:0 0 26px rgba(var(--rk-glow,255, 221, 130), .5);transform:scale(.96)}.rakhi-tied-block{flex-direction:column;align-items:center;gap:8px;max-width:320px;display:flex}.rakhi-tied-title{color:var(--yellow,#ffe066);letter-spacing:.02em;font-size:1.2rem;font-weight:700}.rakhi-promise{text-align:center;color:#ffffffeb;font-size:1.06rem;font-style:italic;line-height:1.55}.rakhi-promise-by{letter-spacing:.1em;text-transform:uppercase;color:#ffffff73;font-size:.78rem}@media (max-width:400px){.rakhi-hand-wrap{width:158px;height:216px}.rakhi-stage{min-height:388px}.thali-page,.rakhi-page,.mithai-page{padding-top:7vh}}@media (max-width:480px){.thali-plate{width:210px;height:210px}.mithai-thali{width:200px;height:200px}.rakhi-hand-wrap{width:168px;height:230px}.rakhi-loose .rakhi-pendant{--rk-size:78px}.mithai-note{max-width:86vw}}.mithai-page{justify-content:flex-start;padding-top:10vh}.mithai-wrap{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.mithai-thali{background:radial-gradient(circle at 34% 26%,#fff0bd 0%,#dda845 46%,#9a6c17 100%);border-radius:50%;width:218px;height:218px;position:relative;box-shadow:0 14px 32px #00000073,inset 0 2px 6px #ffffff8c,inset 0 -8px 18px #5a370080}.mithai-rim{pointer-events:none;background:radial-gradient(circle at 38% 30%,#fff6d680,#b482281a 70%);border:2px solid #784b0a47;border-radius:50%;position:absolute;inset:12px}.mithai-piece{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;width:46px;height:46px;margin:-23px 0 0 -23px;padding:0;transition:filter .25s,box-shadow .25s;position:absolute;top:50%;left:50%;box-shadow:0 4px 9px #0006,inset 0 2px 4px #fff6}.mithai-piece:active{scale:.92}.mithai-piece--active{box-shadow:0 6px 16px #00000080,0 0 22px #ffc85ab3,inset 0 2px 4px #ffffff73}.mithai-piece--tasted{filter:saturate(.55)brightness(.82)}.mithai-piece--ball{border-radius:50%}.mithai-piece--disc{border-radius:50%;height:34px;margin-top:-17px}.mithai-piece--cube{border-radius:7px}.mithai-piece--diamond{clip-path:polygon(50% 6%,94% 50%,50% 94%,6% 50%);border-radius:4px}.mithai-piece--spiral{border-radius:50%;box-shadow:0 4px 9px #0006,inset 0 0 0 4px #ffffff47,inset 0 0 0 9px #b45a0a66,inset 0 0 0 13px #ffffff38}.mithai-garnish{opacity:.9;border-radius:50%;width:8px;height:8px;margin-left:-4px;position:absolute;top:26%;left:50%}.mithai-tick{color:#fff;text-align:center;background:#16a34a;border-radius:50%;width:17px;height:17px;font-size:.66rem;line-height:17px;position:absolute;bottom:-3px;right:-3px;box-shadow:0 2px 5px #0006}.mithai-hint{color:#ffffffb8;text-align:center;font-size:.95rem}.mithai-note{background:#ffffff12;border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;align-items:center;gap:5px;max-width:310px;padding:12px 18px;display:flex}.mithai-note-name{letter-spacing:.12em;text-transform:uppercase;color:var(--yellow,#ffe066);font-size:.74rem}.mithai-note-text{text-align:center;color:#ffffffeb;font-size:1rem;font-style:italic;line-height:1.5}.mithai-count{letter-spacing:.08em;color:#ffffff73;font-size:.8rem}.mithai-locked{color:#ffffff61;margin-top:10px;font-size:.86rem;font-style:italic}@media (max-width:400px){.mithai-thali{width:190px;height:190px}.mithai-piece{width:40px;height:40px;margin:-20px 0 0 -20px}}@media (prefers-reduced-motion:reduce){.thali-flame,.thali-scene--aarti .thali-plate,.rakhi-target--live,.rakhi-loose,.rakhi-onwrist,.rakhi-onwrist--tied{animation:none}.rakhi-onwrist{opacity:1;transform:translate(-50%,-50%)scale(1)}}.bld-mobile-preview-rakhi{flex-direction:column;align-items:center;gap:10px;padding:18px 0 8px;display:flex}.bld-rakhi-swatch{place-items:center;height:66px;margin-bottom:4px;display:grid}.bld-thread-swatch{border-radius:8px;width:100%;height:12px;margin-bottom:8px;box-shadow:inset 0 1px 2px #fff6,0 2px 5px #00000040}.bld-sweet-swatch{border-radius:50%;width:40px;height:40px;margin:0 auto 6px;box-shadow:0 3px 7px #0000004d,inset 0 2px 4px #fff6}.bld-sweet-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin-bottom:12px;display:grid}
