*{box-sizing:border-box;-ms-overflow-style:none;scrollbar-width:none;margin:0;padding:0}::-webkit-scrollbar{width:0;height:0;display:none}[data-nextjs-toast],nextjs-portal,#__next-build-indicator{display:none!important}html,body{-webkit-tap-highlight-color:transparent;touch-action:manipulation;width:100%;height:100dvh;margin:0;padding:0;overflow:hidden}body{color:#fff;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background-color:#0a0a0a;background-image:radial-gradient(at 20% 80%,#00c9a70f 0%,#0000 50%),radial-gradient(at 80% 20%,#dc26260d 0%,#0000 50%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;flex-direction:column;justify-content:center;align-items:center;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.ripple{pointer-events:none;z-index:9999;background:radial-gradient(circle,#00c9a766 0%,#0000 70%);border-radius:50%;animation:.6s ease-out forwards rippleExpand;position:fixed}@keyframes rippleExpand{0%{opacity:1;width:0;height:0}to{opacity:0;width:150px;height:150px}}.bg-particles{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.bg-particles .particle{background:#00c9a71f;border-radius:50%;animation:linear infinite floatParticle;position:absolute}@keyframes floatParticle{0%{opacity:0;transform:translateY(100vh)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-10vh)rotate(720deg)}}canvas{z-index:1;pointer-events:none;position:absolute;top:0;left:0}canvas#globeCanvas{pointer-events:auto}.container{z-index:5;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.2rem,3vw,2rem);width:100%;max-width:700px;margin:0 auto;padding:1.5rem 1rem;display:flex;position:relative}h1{color:#fff;text-shadow:0 0 20px #00c9a7b3,0 0 40px #00c9a74d;letter-spacing:3px;border-bottom:none;margin-bottom:clamp(1.5rem,4vw,2.5rem);padding-bottom:clamp(.8rem,2vw,1.2rem);font-family:Noto Serif JP,serif;font-size:clamp(1.3rem,5vw,2.5rem);font-weight:900;line-height:1.4;animation:3s ease-in-out infinite glowPulse;position:relative}h1:after{content:"";background:linear-gradient(90deg,#0000,#00c9a7,#67e8f9,#00c9a7,#0000) 0 0/200% 100%;border-radius:2px;width:60%;height:2px;animation:3s ease-in-out infinite shimmerLine;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 8px #00c9a780}@keyframes shimmerLine{0%{opacity:.5;background-position:200% 0}50%{opacity:1;background-position:0 0}to{opacity:.5;background-position:-200% 0}}@keyframes glowPulse{0%,to{text-shadow:0 0 20px #00c9a7b3,0 0 40px #00c9a74d}50%{text-shadow:0 0 30px #dc2626cc,0 0 60px #dc262666}}ul{flex-wrap:nowrap;justify-content:center;gap:clamp(.4rem,2vw,1rem);padding:0;list-style:none;display:flex}li{display:block}.time-card{-webkit-backdrop-filter:blur(12px);background:#00c9a70f;border:1px solid #00c9a733;border-radius:12px;min-width:clamp(68px,18vw,110px);padding:clamp(.8rem,2.5vw,1.5rem) clamp(.6rem,2vw,1.2rem);transition:transform .3s,box-shadow .3s;box-shadow:0 4px 20px #0000004d}.time-card:hover,.time-card:active{border-color:#00c9a766;transform:translateY(-4px)scale(1.03);box-shadow:0 8px 30px #00c9a740,0 0 15px #dc262626}.flip-clock{flex-wrap:nowrap;justify-content:center;gap:clamp(.4rem,2vw,1rem);padding:0;list-style:none;display:flex}.flip-unit{background:#0000004d;border-radius:8px;justify-content:center;align-items:center;min-height:clamp(2.5rem,10vw,4.5rem);display:flex;position:relative;overflow:hidden}.flip-top,.flip-bottom{background:linear-gradient(135deg,#00c9a7,#3eb489);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,8vw,3.5rem);font-weight:700;line-height:1.1;display:block}.flip-bottom{display:none}.time-card span{background:linear-gradient(135deg,#00c9a7,#3eb489);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,8vw,3.5rem);font-weight:700;line-height:1.1;display:block}.time-card p{text-transform:uppercase;color:#ffffff80;letter-spacing:1.5px;margin-top:.3rem;font-size:clamp(.6rem,1.8vw,.85rem);font-weight:400}.teaser-gift{z-index:10;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:fixed;bottom:max(8%,20px);left:50%;transform:translate(-50%)}.teaser-gift .gift-emoji{filter:drop-shadow(0 0 15px #dc262680);font-size:clamp(3rem,10vw,4.5rem);line-height:1;animation:2s ease-in-out infinite giftFloat;display:block}.teaser-gift .gift-label{color:#ffffffb3;text-align:center;letter-spacing:1px;text-transform:uppercase;margin-top:.2rem;font-family:Poppins,sans-serif;font-size:clamp(.65rem,2vw,.85rem);display:block}.teaser-gift.dodging{transition:all .35s cubic-bezier(.34,1.56,.64,1)}.teaser-gift .nope-text{color:#00c9a7;white-space:nowrap;opacity:0;text-shadow:0 0 10px #00c9a799;pointer-events:none;font-family:Poppins,sans-serif;font-size:clamp(.7rem,2.5vw,.85rem);font-weight:600;transition:opacity .3s;position:absolute;top:-28px;left:50%;transform:translate(-50%)}.teaser-gift .nope-text.show{opacity:1}@keyframes giftFloat{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-10px)rotate(3deg)}}.globe-page{z-index:80;opacity:0;background:#030712 radial-gradient(#00c9a708 0%,#0000 60%);justify-content:center;align-items:center;width:100vw;height:100dvh;display:none;position:fixed;inset:0;overflow:hidden}.globe-page.active{animation:.8s forwards fadeInOverlay;display:flex}#globeCanvas{z-index:1;touch-action:none;width:100%;height:100%;position:absolute;top:0;left:0}.globe-hints{z-index:10;pointer-events:none;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;padding:clamp(2rem,6vw,4rem) 1rem;display:flex;position:absolute;top:0;left:0}.globe-hint-top{text-align:center;animation:1s ease-out .5s both hintFadeDown}.globe-hint-top .hint-emoji{margin-bottom:.5rem;font-size:clamp(2rem,6vw,3rem);animation:8s linear infinite gentleSpin;display:block}@keyframes gentleSpin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.globe-hint-top .hint-text{color:#ffffffd9;text-shadow:0 0 20px #00c9a766;letter-spacing:.5px;font-family:Noto Serif JP,serif;font-size:clamp(1rem,3.5vw,1.5rem);font-weight:700}.globe-hint-bottom{text-align:center;animation:1s ease-out 1s both hintFadeUp}.globe-hint-bottom .hint-action{color:#ffffff80;letter-spacing:.5px;align-items:center;gap:.3rem;font-family:Poppins,sans-serif;font-size:clamp(.75rem,2.2vw,.95rem);display:flex}@keyframes hintFadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes hintFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.globe-hints.fading{opacity:0;transition:opacity .6s}.globe-toast{z-index:15;color:#fff;-webkit-backdrop-filter:blur(12px);pointer-events:none;opacity:0;white-space:normal;text-align:center;width:max-content;max-width:calc(100vw - 2rem);text-shadow:none;background:#000000b3;border:1px solid #ffffff26;border-radius:16px;padding:.5rem 1rem;font-family:Poppins,sans-serif;font-size:clamp(.75rem,2.5vw,1rem);font-weight:600;line-height:1.4;transition:opacity .4s;position:absolute;bottom:clamp(5rem,14vw,7rem);left:50%;transform:translate(-50%)}.globe-toast.visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.globe-marker{z-index:12;pointer-events:none;opacity:0;transition:opacity .5s;position:absolute}.globe-marker.visible{opacity:1}.marker-pin{z-index:2;background:#dc2626;border:3px solid #fff;border-radius:50%;width:16px;height:16px;animation:1.5s ease-in-out infinite markerPulse;position:relative;box-shadow:0 0 15px #dc2626cc,0 0 30px #dc262666}@keyframes markerPulse{0%,to{transform:scale(1);box-shadow:0 0 15px #dc2626cc,0 0 30px #dc262666}50%{transform:scale(1.2);box-shadow:0 0 25px #dc2626,0 0 50px #dc262699}}.marker-ring{border:2px solid #dc262680;border-radius:50%;width:40px;height:40px;animation:2s ease-out infinite ringExpand;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes ringExpand{0%{opacity:1;width:16px;height:16px}to{opacity:0;width:60px;height:60px}}.marker-label{color:#fff;white-space:nowrap;background:#dc2626cc;border-radius:20px;padding:.2rem .6rem;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:700;animation:1s ease-in-out infinite labelBounce;position:absolute;top:-35px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}@keyframes labelBounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-5px)}}.gift-rain{z-index:20;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.gift-rain .falling-gift{opacity:0;font-size:clamp(1.5rem,4vw,2.5rem);animation:linear forwards giftFall;position:absolute}@keyframes giftFall{0%{opacity:0;transform:translateY(-50px)rotate(0)scale(.5)}10%{opacity:1;transform:translateY(0)rotate(15deg)scale(1)}90%{opacity:.8}to{opacity:0;transform:translateY(100vh)rotate(360deg)scale(.6)}}.birthday-pins-overlay{z-index:10;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.bday-pin{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:5;flex-direction:column;align-items:center;transition:opacity .3s,transform .3s;display:flex;position:absolute;transform:translate(-50%,-100%)}.bday-pin.hidden{opacity:0;pointer-events:none}.bday-pin-icon{filter:drop-shadow(0 2px 6px #00000080);font-size:clamp(1.4rem,4vw,2rem);line-height:1;animation:2s ease-in-out infinite pinBob}@keyframes pinBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.bday-pin-label{color:#fff;-webkit-backdrop-filter:blur(6px);white-space:nowrap;text-shadow:none;text-overflow:ellipsis;background:#000000a6;border:1px solid #ffffff1a;border-radius:20px;max-width:140px;margin-top:2px;padding:2px 8px;font-family:Poppins,sans-serif;font-size:clamp(.55rem,1.8vw,.7rem);font-weight:600;overflow:hidden}.bday-pin.target .bday-pin-icon{animation-duration:1.2s}.bday-pin.wrong{animation:.5s pinWrongShake}.bday-pin.wrong .bday-pin-label{background:#dc2626b3;border-color:#dc262680}@keyframes pinWrongShake{0%,to{transform:translate(-50%,-100%)rotate(0)}20%{transform:translate(-50%,-100%)rotate(-10deg)}40%{transform:translate(-50%,-100%)rotate(10deg)}60%{transform:translate(-50%,-100%)rotate(-5deg)}80%{transform:translate(-50%,-100%)rotate(5deg)}}.bday-pin.found .bday-pin-icon{font-size:clamp(2rem,6vw,3rem);animation:.6s forwards pinFoundBurst}.bday-pin.found .bday-pin-label{color:#fff;background:#00c9a7cc;border-color:#00c9a799;font-size:clamp(.7rem,2.5vw,.9rem);box-shadow:0 0 15px #00c9a780}@keyframes pinFoundBurst{0%{transform:translateY(0)scale(1)}50%{transform:translateY(-15px)scale(1.8)}to{transform:translateY(-8px)scale(1.3)}}.globe-hint-top .hint-sub{color:#00c9a7;margin-top:.3rem;font-family:Poppins,sans-serif;font-size:clamp(.8rem,2.5vw,1rem);font-weight:600;animation:1s ease-out 1.2s both hintFadeDown;display:block}.surprise-page{z-index:100;opacity:0;width:100vw;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;background-color:#0a0a0a;background-image:radial-gradient(at 30% 70%,#00c9a714 0%,#0000 50%),radial-gradient(at 70% 30%,#dc26260f 0%,#0000 50%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow:visible}.surprise-page.active{animation:.8s forwards fadeInOverlay;display:flex}.surprise-content{text-align:center;z-index:5;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:clamp(1rem,3vw,2rem);display:flex;position:relative;overflow:visible}.surprise-box-wrapper{background:0 0;border-radius:0;padding-top:50px;display:inline-block;position:relative;overflow:visible}.surprise-box{cursor:pointer;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 25px 40px #dc26264d);flex-direction:column;align-items:center;animation:3s ease-in-out infinite surpriseFloat;display:flex;position:relative}.surprise-box-body{background:linear-gradient(145deg,#f87171 0%,#ef4444 25%,#dc2626 50%,#b91c1c 75%,#991b1b 100%);border-radius:6px 6px 16px 16px;width:clamp(180px,50vw,260px);height:clamp(120px,28vh,200px);position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffff1f,inset 0 -12px 25px #0003,inset -8px 0 15px #00000014}.surprise-box-body:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff1f 0%,#0000 50%);border-radius:6px 0 0 16px;width:40%;height:100%;position:absolute;top:0;left:0}.surprise-box-body:before{content:"";z-index:1;background:linear-gradient(#6ee7b7,#34d399,#00c9a7,#0f766e);width:clamp(24px,7vw,36px);height:100%;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:-3px 0 6px #0003,3px 0 6px #0003,0 0 20px #00c9a740}.surprise-box-cover{z-index:2;background:linear-gradient(145deg,#fca5a5 0%,#f87171 20%,#ef4444 50%,#dc2626 80%,#b91c1c 100%);border-radius:12px 12px 2px 2px;width:clamp(200px,55vw,285px);height:clamp(35px,7vh,55px);position:relative;box-shadow:0 -3px 12px #00000026,0 6px 10px #0000001a,inset 0 2px #ffffff26}.surprise-box-cover:before{content:"";background:linear-gradient(#6ee7b7,#34d399,#00c9a7,#0f766e);width:clamp(24px,7vw,36px);height:100%;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:-3px 0 6px #0003,3px 0 6px #0003}.surprise-box-cover:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff26 0%,#0000 60%);border-radius:12px 0 0;width:40%;height:100%;position:absolute;top:0;left:0}.ribbon-bow{z-index:3;filter:drop-shadow(0 4px 8px #0000004d);font-size:clamp(2.2rem,7vw,3.5rem);line-height:1;position:absolute;top:clamp(-30px,-5vh,-42px);left:50%;transform:translate(-50%)}.ribbon-bow:before{content:"🎀"}.ribbon-bow:after{display:none}.surprise-tap{color:#ffffffd9;text-shadow:0 0 15px #00c9a766;letter-spacing:1px;z-index:5;margin-top:clamp(1.5rem,5vw,2.5rem);font-family:Poppins,sans-serif;font-size:clamp(1rem,3.5vw,1.3rem);font-weight:700;animation:2s ease-in-out infinite bounceText;position:relative}.surprise-tap:before{display:none}@keyframes bounceText{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes surpriseFloat{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-5px)rotate(-.3deg)}50%{transform:translateY(-8px)rotate(0)}75%{transform:translateY(-5px)rotate(.3deg)}}.surprise-box.wobbling{animation:.35s ease-in-out surpriseWobble}@keyframes surpriseWobble{0%{transform:rotate(0)}25%{transform:rotate(6deg)}50%{transform:rotate(-6deg)}75%{transform:rotate(3deg)}to{transform:rotate(0)}}.surprise-box.slashed{animation:none}.surprise-box.slashed .surprise-tap{opacity:0;transition:opacity .15s}.box-fragment{z-index:35;pointer-events:none;position:absolute}.box-fragment.frag-cover-left{background:linear-gradient(135deg,#dc2626,#991b1b);border-radius:12px 0 0;animation:.6s cubic-bezier(.25,1,.5,1) forwards fragTopLeft}.box-fragment.frag-cover-right{background:linear-gradient(135deg,#dc2626,#991b1b);border-radius:0 12px 0 0;animation:.6s cubic-bezier(.25,1,.5,1) forwards fragTopRight}.box-fragment.frag-body-left{background:linear-gradient(135deg,#dc2626,#b91c1c);border-radius:0 0 0 12px;animation:.6s cubic-bezier(.25,1,.5,1) forwards fragBottomLeft}.box-fragment.frag-body-right{background:linear-gradient(135deg,#dc2626,#b91c1c);border-radius:0 0 12px;animation:.6s cubic-bezier(.25,1,.5,1) forwards fragBottomRight}.box-fragment.frag-ribbon-v{background:linear-gradient(135deg,#00c9a7,#0f766e);animation:.6s cubic-bezier(.25,1,.5,1) forwards fragRibbonV}.box-fragment.frag-ribbon-h{background:linear-gradient(135deg,#00c9a7,#0f766e);animation:.6s cubic-bezier(.25,1,.5,1) forwards fragRibbonH}@keyframes fragTopLeft{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(-120px,-200px)rotate(-45deg)scale(.3)}}@keyframes fragTopRight{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(120px,-180px)rotate(35deg)scale(.3)}}@keyframes fragBottomLeft{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(-140px,150px)rotate(-30deg)scale(.3)}}@keyframes fragBottomRight{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(130px,170px)rotate(50deg)scale(.3)}}@keyframes fragRibbonV{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translateY(-250px)rotate(90deg)scale(.2)}}@keyframes fragRibbonH{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translateY(200px)rotate(-60deg)scale(.2)}}.slayer-effects{pointer-events:none;z-index:20;width:100%;height:100%;position:absolute;top:0;left:0}.slayer{opacity:0;z-index:25;position:absolute;top:50%;transform:translateY(-50%)}.tanjiro{left:-200px}.zenitsu{right:-200px}.slayer-img{object-fit:contain;z-index:3;border-radius:50%;width:clamp(80px,22vw,140px);height:auto;display:block;position:relative}.tanjiro .img-wrap{z-index:3;background:radial-gradient(#67e8f94d,#00c9a733);border-radius:50%;padding:4px;position:relative;box-shadow:0 0 25px #00c9a799,0 0 50px #67e8f94d}.zenitsu .img-wrap{z-index:3;background:radial-gradient(#fde68a4d,#fbbf2433);border-radius:50%;padding:4px;position:relative;box-shadow:0 0 25px #fbbf2499,0 0 50px #fde68a4d}.tanjiro-img{filter:brightness(1.1)contrast(1.05);border-radius:50%}.zenitsu-img{filter:brightness(1.1)contrast(1.05);border-radius:50%;transform:scaleX(-1)}.water-trail{pointer-events:none;z-index:22;opacity:0;width:100%;height:120px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.water-trail-inner{filter:blur(1px);background:linear-gradient(90deg,#0000,#00c9a7,#67e8f9,#22d3ee,#00c9a7,#0000);border-radius:4px;width:0;height:4px;position:absolute;top:50%;left:-10%;transform:translateY(-50%);box-shadow:0 0 15px #00c9a7cc,0 0 30px #00c9a780,0 0 60px #67e8f94d}.water-trail-wave{filter:blur(3px);background:radial-gradient(at 20%,#00c9a74d 0%,#0000 50%),radial-gradient(at 50% 30%,#67e8f933 0%,#0000 40%),radial-gradient(at 80% 60%,#00c9a740 0%,#0000 45%);width:0;height:100%;position:absolute;top:0;left:-10%;transform:translateY(0)}.thunder-trail{pointer-events:none;z-index:22;opacity:0;width:100%;height:120px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.thunder-bolt{filter:blur(1px);background:linear-gradient(270deg,#0000,#fbbf24,#fde68a,#f59e0b,#fbbf24,#0000);border-radius:4px;width:0;height:3px;position:absolute;top:50%;right:-10%;transform:translateY(-50%);box-shadow:0 0 15px #fbbf24e6,0 0 30px #fbbf2480,0 0 60px #fde68a4d}.thunder-sparks{filter:blur(2px);background:radial-gradient(at 20% 40%,#fbbf2466 0%,#0000 50%),radial-gradient(at 60% 70%,#fde68a4d 0%,#0000 40%),radial-gradient(at 80% 30%,#f59e0b59 0%,#0000 45%);width:0;height:100%;position:absolute;top:0;right:-10%}.lightning-svg{opacity:0;z-index:23;pointer-events:none;width:60%;height:100%;position:absolute;top:0;right:0}.lightning-svg path{fill:none;stroke:#fde68a;stroke-width:2px;stroke-linecap:round;filter:drop-shadow(0 0 8px #fbbf24e6);stroke-dasharray:200;stroke-dashoffset:200px}.speed-lines{z-index:18;pointer-events:none;opacity:0;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.speed-line{transform-origin:0;opacity:0;background:linear-gradient(90deg,#ffffff80 0%,#0000 60%);width:200%;height:2px;position:absolute;top:50%;left:50%}.speed-lines.active .speed-line{animation:.4s ease-out forwards speedLineShoot}@keyframes speedLineShoot{0%{opacity:0;width:0}30%{opacity:.7}to{opacity:0;width:200%}}.slash-cross{opacity:0;z-index:30;width:clamp(180px,45vw,280px);height:clamp(180px,45vw,280px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slash-line{border-radius:3px;width:100%;height:6px;position:absolute;top:50%;left:0}.slash-line-1{background:linear-gradient(90deg,#0000 5%,#00c9a7,#67e8f9,#00c9a7,#0000 95%);transform:rotate(35deg)scaleX(0);box-shadow:0 0 20px #00c9a7,0 0 40px #00c9a7b3,0 0 80px #67e8f966}.slash-line-2{background:linear-gradient(90deg,#0000 5%,#fbbf24,#fde68a,#fbbf24,#0000 95%);transform:rotate(-35deg)scaleX(0);box-shadow:0 0 20px #fbbf24,0 0 40px #fbbf24b3,0 0 80px #fde68a66}.slash-glow{z-index:29;pointer-events:none;opacity:0;background:radial-gradient(circle,#fff9 0%,#00c9a74d 40%,#0000 70%);border-radius:50%;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slash-glow.active{animation:.5s ease-out forwards slashGlowPulse}@keyframes slashGlowPulse{0%{opacity:1;width:0;height:0}50%{opacity:.8}to{opacity:0;width:clamp(250px,60vw,400px);height:clamp(250px,60vw,400px)}}.slayer-effects.active .tanjiro{animation:.5s cubic-bezier(.22,1,.36,1) forwards tanjiroDash}.slayer-effects.active .zenitsu{animation:.5s cubic-bezier(.22,1,.36,1) 80ms forwards zenitsuDash}.slayer-effects.active .slash-cross{opacity:1}.slayer-effects.active .slash-line-1{animation:.2s ease-out .25s forwards slashDraw1}.slayer-effects.active .slash-line-2{animation:.2s ease-out .35s forwards slashDraw2}.slayer-effects.active .water-trail{opacity:1}.slayer-effects.active .water-trail-inner{animation:.35s cubic-bezier(.22,1,.36,1) forwards waterTrailExpand}.slayer-effects.active .water-trail-wave{animation:.4s cubic-bezier(.22,1,.36,1) forwards waterWaveExpand}@keyframes waterTrailExpand{0%{opacity:1;width:0;left:-10%}80%{opacity:.9}to{opacity:0;width:70%;left:-10%}}@keyframes waterWaveExpand{0%{opacity:.7;width:0;left:-10%}to{opacity:0;width:70%;left:-10%}}.slayer-effects.active .thunder-trail{opacity:1}.slayer-effects.active .thunder-bolt{animation:.3s cubic-bezier(.22,1,.36,1) 50ms forwards thunderBoltExpand}.slayer-effects.active .thunder-sparks{animation:.35s cubic-bezier(.22,1,.36,1) 50ms forwards thunderSparksExpand}.slayer-effects.active .lightning-svg{animation:.4s ease-out 80ms forwards lightningFlash}.slayer-effects.active .lightning-svg path{animation:.3s ease-out .1s forwards lightningDraw}@keyframes thunderBoltExpand{0%{opacity:1;width:0;right:-10%}80%{opacity:.9}to{opacity:0;width:70%;right:-10%}}@keyframes thunderSparksExpand{0%{opacity:.7;width:0;right:-10%}to{opacity:0;width:70%;right:-10%}}@keyframes lightningFlash{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes lightningDraw{0%{stroke-dashoffset:200px}to{stroke-dashoffset:0}}.surprise-page .screen-flash{z-index:50;pointer-events:none;background:#fff;width:100%;height:100%;animation:.4s ease-out forwards screenFlash;position:absolute;top:0;left:0}@keyframes screenShake{0%{transform:translate(0)}10%{transform:translate(-8px,4px)}20%{transform:translate(6px,-6px)}30%{transform:translate(-5px,3px)}40%{transform:translate(4px,-4px)}50%{transform:translate(-3px,2px)}60%{transform:translate(2px,-2px)}70%{transform:translate(-1px,1px)}80%{transform:translate(1px,-1px)}90%{transform:translate(0)}to{transform:translate(0)}}.surprise-page.shaking{animation:.5s ease-out screenShake}@keyframes tanjiroDash{0%{opacity:0;left:-200px}15%{opacity:1}to{opacity:1;left:calc(50% - clamp(130px,32vw,220px))}}@keyframes zenitsuDash{0%{opacity:0;right:-200px}15%{opacity:1}to{opacity:1;right:calc(50% - clamp(130px,32vw,220px))}}@keyframes slashDraw1{0%{transform:rotate(35deg)scaleX(0)}to{transform:rotate(35deg)scaleX(1)}}@keyframes slashDraw2{0%{transform:rotate(-35deg)scaleX(0)}to{transform:rotate(-35deg)scaleX(1)}}@keyframes screenFlash{0%{opacity:1}to{opacity:0}}.cake-phase{z-index:20;cursor:grab;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:24px;animation:1.2s cubic-bezier(.34,1.56,.64,1) cakeGrandEntrance;display:flex;position:absolute;inset:0;overflow:hidden}.cake-phase:before{content:"";pointer-events:none;background:radial-gradient(circle,#fbbf2426 0%,#fbbf240d 40%,#0000 70%);border-radius:50%;width:320px;height:320px;animation:3s ease-in-out infinite spotlightPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}.cake-phase.cut{animation:.6s cakeCutFlash}@keyframes cakeGrandEntrance{0%{opacity:0;transform:scale(.3)translateY(80px)}50%{opacity:1;transform:scale(1.08)translateY(-10px)}70%{transform:scale(.97)translateY(3px)}to{transform:scale(1)translateY(0)}}@keyframes spotlightPulse{0%,to{opacity:.6;transform:translate(-50%,-55%)scale(1)}50%{opacity:1;transform:translate(-50%,-55%)scale(1.1)}}@keyframes cakeCutFlash{0%{filter:brightness()}20%{filter:brightness(2.5)saturate(1.5)}50%{filter:brightness(1.8)}to{filter:brightness()}}.cake-title{color:#fbbf24;text-shadow:0 0 20px #fbbf2480,0 0 40px #fbbf2433;text-align:center;letter-spacing:2px;font-family:Dancing Script,cursive;font-size:clamp(20px,5vw,28px);animation:2s ease-in-out infinite alternate cakeTitleGlow}@keyframes cakeTitleGlow{0%{text-shadow:0 0 20px #fbbf2480,0 0 40px #fbbf2433}to{text-shadow:0 0 30px #fbbf24cc,0 0 60px #fbbf2466,0 0 80px #f472b633}}.cake-container{width:280px;height:320px;position:relative}.cake{filter:drop-shadow(0 8px 30px #0000004d);width:100%;height:100%;position:relative}.cake-sparkles{pointer-events:none;z-index:10;position:absolute;inset:-40px}.cake-sparkle-dot{background:#fbbf24;border-radius:50%;width:4px;height:4px;animation:3s ease-in-out infinite cakeSparkleFloat;position:absolute;box-shadow:0 0 6px #fbbf24,0 0 12px #fbbf2480}.cake-sparkle-dot:first-child{animation-delay:0s;top:10%;left:5%}.cake-sparkle-dot:nth-child(2){animation-delay:.5s;top:25%;right:0%}.cake-sparkle-dot:nth-child(3){animation-delay:1s;top:50%;left:-5%}.cake-sparkle-dot:nth-child(4){animation-delay:1.5s;top:70%;right:-3%}.cake-sparkle-dot:nth-child(5){background:#f472b6;animation-delay:.7s;top:5%;left:50%;box-shadow:0 0 6px #f472b6,0 0 12px #f472b680}.cake-sparkle-dot:nth-child(6){background:#a78bfa;animation-delay:2s;top:40%;right:-8%;box-shadow:0 0 6px #a78bfa,0 0 12px #a78bfa80}.cake-sparkle-dot:nth-child(7){background:#34d399;animation-delay:.3s;bottom:15%;left:10%;box-shadow:0 0 6px #34d399,0 0 12px #34d39980}.cake-sparkle-dot:nth-child(8){animation-delay:1.2s;bottom:25%;right:5%}@keyframes cakeSparkleFloat{0%,to{opacity:0;transform:translateY(0)scale(.5)}30%{opacity:1;transform:translateY(-10px)scale(1)}70%{opacity:1;transform:translateY(-20px)scale(1.2)}to{opacity:0;transform:translateY(-30px)scale(.5)}}.cake-topper{z-index:12;filter:drop-shadow(0 0 8px #fbbf24cc);font-size:32px;animation:2s ease-in-out infinite topperBounce;position:absolute;top:-18px;left:50%;transform:translate(-50%)}@keyframes topperBounce{0%,to{transform:translate(-50%)translateY(0)rotate(-5deg)}50%{transform:translate(-50%)translateY(-6px)rotate(5deg)}}.candles-row{z-index:5;gap:18px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.candle{flex-direction:column;align-items:center;display:flex}.candle-stick{border-radius:3px 3px 0 0;width:7px;height:34px;position:relative}.candle-stick:after{content:"";background:#ffffff4d;border-radius:0 0 2px 2px;height:4px;position:absolute;bottom:0;left:0;right:0}.candle-0 .candle-stick{background:linear-gradient(135deg,#f472b6,#ec4899)}.candle-1 .candle-stick{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.candle-2 .candle-stick{background:linear-gradient(135deg,#a78bfa,#8b5cf6)}.candle-3 .candle-stick{background:linear-gradient(135deg,#34d399,#10b981)}.candle-4 .candle-stick{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.candle-5 .candle-stick{background:linear-gradient(135deg,#fb923c,#f97316)}.candle-6 .candle-stick{background:linear-gradient(135deg,#f472b6,#e11d48)}.flame{width:14px;height:22px;margin-bottom:2px;animation:.3s ease-in-out infinite alternate flameFlicker;position:relative}.flame-inner{background:radial-gradient(at bottom,#fff8dc 0%,#fbbf24 20%,#f59e0b 45%,#ef4444 75%,#0000 100%);border-radius:50%/60% 60% 40% 40%;width:100%;height:100%;box-shadow:0 0 12px #fbbf24,0 0 24px #f59e0b80,0 -8px 20px #ef444460,0 0 40px #fbbf2440}.flame:after{content:"";background:radial-gradient(#fbbf2466 0%,#0000 70%);border-radius:50%;width:20px;height:10px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}@keyframes flameFlicker{0%{transform:scaleX(1)scaleY(1)rotate(-3deg)}to{transform:scaleX(.8)scaleY(1.15)rotate(3deg)}}.flame.blown{animation:.6s forwards flameBlow}.flame.blown .flame-inner{animation:.6s forwards flameInnerBlow}.flame.blown:after{animation:.4s forwards flameBlow}@keyframes flameBlow{0%{opacity:1;transform:scale(1)}30%{opacity:.8;transform:scale(1.5)translateY(-5px)}60%{opacity:.3;transform:scale(.5)translateY(-12px)rotate(20deg)}to{opacity:0;transform:scale(0)translateY(-20px)}}@keyframes flameInnerBlow{50%{background:radial-gradient(at bottom,#555 0%,#0000 100%)}to{box-shadow:none;background:0 0}}.cake-top{background:linear-gradient(#fca5a5 0%,#f87171 50%,#ef4444 100%);border-radius:10px 10px 4px 4px;height:55px;position:absolute;top:60px;left:50px;right:50px;overflow:visible;box-shadow:inset 0 3px 6px #ffffff4d,inset 0 -4px 8px #00000026,0 2px 8px #0000001a}.cake-top:before{content:"";z-index:2;background-color:#0000;background-image:radial-gradient(8px at 8px 0,#fecdd3 8px,#0000 8px),radial-gradient(8px at 24px 0,#fecdd3 8px,#0000 8px),radial-gradient(8px at 40px 0,#fecdd3 8px,#0000 8px),radial-gradient(8px at 56px 0,#fecdd3 8px,#0000 8px),radial-gradient(8px at 72px 0,#fecdd3 8px,#0000 8px),radial-gradient(8px at 88px 0,#fecdd3 8px,#0000 8px),radial-gradient(8px at 104px 0,#fecdd3 8px,#0000 8px),radial-gradient(8px at 120px 0,#fecdd3 8px,#0000 8px),radial-gradient(8px at 136px 0,#fecdd3 8px,#0000 8px),radial-gradient(8px at 152px 0,#fecdd3 8px,#0000 8px),radial-gradient(8px at 168px 0,#fecdd3 8px,#0000 8px),radial-gradient(8px at 184px 0,#fecdd3 8px,#0000 8px);background-position:top;background-repeat:repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat;background-size:192px 16px;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box;height:16px;position:absolute;bottom:-8px;left:-4px;right:-4px}.cake-top:after{content:"";border-radius:inherit;background:linear-gradient(110deg,#0000 30%,#fff3 45%,#0000 55%);animation:3s ease-in-out infinite cakeShimmer;position:absolute;inset:0}.cake-middle{background:linear-gradient(#fde68a 0%,#fbbf24 50%,#f59e0b 100%);height:60px;position:absolute;top:120px;left:30px;right:30px;overflow:visible;box-shadow:inset 0 3px 6px #ffffff4d,inset 0 -4px 8px #00000026,0 2px 8px #0000001a}.cake-middle:before{content:"";z-index:2;background-color:#0000;background-image:radial-gradient(8px at 8px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 24px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 40px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 56px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 72px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 88px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 104px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 120px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 136px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 152px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 168px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 184px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 200px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 216px 0,#fef3c7 8px,#0000 8px),radial-gradient(8px at 232px 0,#fef3c7 8px,#0000 8px);background-position:top;background-repeat:repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat;background-size:240px 16px;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box;height:16px;position:absolute;bottom:-8px;left:-4px;right:-4px}.cake-middle:after{content:"";background:linear-gradient(110deg,#0000 30%,#ffffff26 45%,#0000 55%);animation:3s ease-in-out .5s infinite cakeShimmer;position:absolute;inset:0}.cake-bottom{background:linear-gradient(#c4b5fd 0%,#a78bfa 50%,#8b5cf6 100%);border-radius:0 0 14px 14px;height:70px;position:absolute;top:185px;left:10px;right:10px;overflow:visible;box-shadow:inset 0 3px 6px #ffffff4d,inset 0 -4px 8px #00000026,0 4px 12px #0003}.cake-bottom:after{content:"";border-radius:inherit;background:linear-gradient(110deg,#0000 30%,#ffffff1f 45%,#0000 55%);animation:3s ease-in-out 1s infinite cakeShimmer;position:absolute;inset:0}@keyframes cakeShimmer{0%,to{opacity:0}50%{opacity:1}}.cake-plate{background:linear-gradient(#fde68a,#d4a72c,#b8941e);border-radius:50%;height:14px;position:absolute;bottom:52px;left:-20px;right:-20px;box-shadow:0 4px 15px #0000004d,inset 0 2px 4px #fff6}.cake-plate:after{content:"";background:linear-gradient(90deg,#0000,#ffffff80,#0000);border-radius:50%;height:4px;position:absolute;top:-2px;left:8px;right:8px}.cake-drip{background:linear-gradient(#7c3aed,#6d28d9);border-radius:0 0 8px 8px;width:16px;animation:2s ease-in both dripDrip;position:absolute;box-shadow:inset -2px 0 3px #00000026}@keyframes dripDrip{0%{opacity:0;height:0}40%{opacity:1}to{opacity:1}}.drip-1{height:25px;animation-delay:.3s;top:60px;left:60px}.drip-2{height:35px;animation-delay:.6s;top:60px;left:100px}.drip-3{height:20px;animation-delay:.9s;top:60px;right:60px}.drip-4{height:22px;animation-delay:1.2s;top:120px;left:45px}.drip-5{height:30px;animation-delay:.8s;top:120px;right:40px}.drip-6{height:18px;animation-delay:1.4s;top:120px;left:130px}.cake-rose{z-index:3;border-radius:50%;width:18px;height:18px;position:absolute}.cake-rose:before{content:"";border:2px solid #ffffff4d;border-radius:50%;position:absolute;inset:3px}.cake-rose:after{content:"";background:#fff3;border-radius:50%;position:absolute;inset:6px}.rose-1{background:radial-gradient(circle,#fda4af,#e11d48);top:63px;left:70px}.rose-2{background:radial-gradient(circle,#c4b5fd,#7c3aed);top:63px;right:68px}.rose-3{background:radial-gradient(circle,#fef3c7,#f59e0b);top:125px;left:50px}.rose-4{background:radial-gradient(circle,#a7f3d0,#10b981);top:125px;right:48px}.rose-5{background:radial-gradient(circle,#fda4af,#ec4899);top:125px;left:50%;transform:translate(-50%)}.cake-sprinkles{pointer-events:none;z-index:4;position:absolute;inset:0}.sprinkle{border-radius:2px;width:3px;height:8px;position:absolute}.sprinkle-1{background:#60a5fa;top:72px;left:80px;transform:rotate(30deg)}.sprinkle-2{background:#f472b6;top:78px;left:105px;transform:rotate(-45deg)}.sprinkle-3{background:#34d399;top:70px;right:78px;transform:rotate(60deg)}.sprinkle-4{background:#fbbf24;top:85px;left:90px;transform:rotate(-20deg)}.sprinkle-5{background:#fb923c;top:140px;left:60px;transform:rotate(45deg)}.sprinkle-6{background:#a78bfa;top:145px;right:55px;transform:rotate(-30deg)}.sprinkle-7{background:#f472b6;top:135px;left:120px;transform:rotate(70deg)}.sprinkle-8{background:#60a5fa;top:205px;left:40px;transform:rotate(-50deg)}.sprinkle-9{background:#fbbf24;top:210px;right:30px;transform:rotate(25deg)}.sprinkle-10{background:#34d399;top:200px;left:140px;transform:rotate(-65deg)}.cake-text{color:#ffffffe6;text-shadow:0 1px 3px #0000004d;white-space:nowrap;z-index:5;letter-spacing:1px;font-family:Dancing Script,cursive;font-size:16px;position:absolute;top:196px;left:50%;transform:translate(-50%)}.cake-cherry{z-index:6;background:radial-gradient(circle at 35% 30%,#fca5a5,#ef4444,#b91c1c);border-radius:50%;width:16px;height:16px;position:absolute;box-shadow:0 2px 6px #00000040,inset 0 -2px 4px #0003}.cake-cherry:before{content:"";background:#065f46;border-radius:1px;width:2px;height:8px;position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(-10deg)}.cake-cherry:after{content:"";background:#ffffff80;border-radius:50%;width:4px;height:3px;position:absolute;top:3px;left:4px}.cherry-1{top:46px;left:80px}.cherry-2{top:46px;right:78px}.cherry-3{top:46px;left:50%;transform:translate(-50%)}.cake-knife{z-index:15;filter:drop-shadow(0 4px 12px #0006);font-size:56px;animation:1s cubic-bezier(.4,0,.2,1) forwards knifeSlice;position:absolute;top:20%;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes knifeSlice{0%{opacity:1;top:-10%;transform:translate(-50%)rotate(45deg)}40%{top:35%;transform:translate(-50%)rotate(20deg)}70%{top:65%;transform:translate(-50%)rotate(5deg)}to{opacity:0;top:90%;transform:translate(-50%)rotate(0)}}.cake.cake-split .cake-top,.cake.cake-split .cake-middle,.cake.cake-split .cake-bottom{transition:transform .8s cubic-bezier(.25,.46,.45,.94),opacity .8s}.cake.cake-split .cake-top{opacity:.7;transform:translate(-20px)rotate(-5deg)}.cake.cake-split .cake-middle{opacity:.7;transform:translate(15px)rotate(3deg)}.cake.cake-split .cake-bottom{opacity:.7;transform:translateY(10px)scaleY(.9)}.cake-firework{pointer-events:none;z-index:30;border-radius:50%;width:6px;height:6px;animation:1s ease-out forwards cakeFireworkBurst;position:absolute}@keyframes cakeFireworkBurst{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--fx), var(--fy)) scale(0);opacity:0}}.cake-firecracker{pointer-events:none;z-index:30;animation:.6s ease-out forwards firecrackerLaunch;position:absolute}@keyframes firecrackerLaunch{0%{opacity:1;transform:translateY(0)scale(.5)}50%{transform:translateY(var(--launch-y)) scale(1);opacity:1}to{transform:translateY(var(--launch-y)) scale(0);opacity:0}}.cake-firecracker-spark{pointer-events:none;z-index:31;border-radius:50%;width:4px;height:4px;animation:.8s ease-out forwards firecrackerSpark;position:absolute}@keyframes firecrackerSpark{0%{opacity:1;transform:translate(0)scale(1)}50%{opacity:1}to{transform:translate(var(--sx), var(--sy)) scale(0);opacity:0}}.cake-star-burst{pointer-events:none;z-index:30;font-size:20px;animation:1.2s cubic-bezier(.25,.46,.45,.94) forwards starBurstFly;position:absolute}@keyframes starBurstFly{0%{opacity:0;transform:translate(0)scale(0)rotate(0)}20%{transform:translate(var(--bx1), var(--by1)) scale(1.2) rotate(90deg);opacity:1}to{transform:translate(var(--bx2), var(--by2)) scale(0) rotate(360deg);opacity:0}}.cake-ring-wave{pointer-events:none;z-index:25;border:3px solid;border-radius:50%;width:20px;height:20px;animation:1s ease-out forwards ringWaveExpand;position:absolute;top:50%;left:50%}@keyframes ringWaveExpand{0%{opacity:1;width:20px;height:20px;margin-top:-10px;margin-left:-10px}to{opacity:0;width:300px;height:300px;margin-top:-150px;margin-left:-150px}}.cake-hint{color:#fffc;text-align:center;text-shadow:0 0 10px #fbbf244d;font-family:Poppins,sans-serif;font-size:16px;animation:2s ease-in-out infinite cakeHintPulse}@keyframes cakeHintPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}.birthday-reveal{text-align:center;opacity:0;display:none}.birthday-reveal.active{animation:1s cubic-bezier(.34,1.56,.64,1) forwards revealZoomIn;display:block}.reveal-emoji{margin:.5rem 0;font-size:clamp(2rem,7vw,3.5rem);display:block}.reveal-title{color:#fffc!important;letter-spacing:6px!important;text-transform:uppercase!important;text-shadow:none!important;border:none!important;margin:0!important;padding:0!important;font-family:Poppins,sans-serif!important;font-size:clamp(1.2rem,5vw,2rem)!important;font-weight:300!important;line-height:1.4!important}.reveal-title:after{display:none!important}.reveal-name{filter:drop-shadow(0 0 30px #00c9a780);margin:.2rem 0;font-family:Noto Serif JP,serif;font-size:clamp(3rem,13vw,6rem);font-weight:900;line-height:1.2}.reveal-name .reveal-letter{background:linear-gradient(135deg,#00c9a7,#3eb489,#00c9a7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.reveal-name .letter{opacity:0;background:linear-gradient(135deg,#00c9a7,#3eb489,#00c9a7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards letterPop;display:inline-block;position:relative;transform:translateY(20px)scale(.5)}.letter-sparkle{opacity:0;pointer-events:none;font-size:.4em;animation:1s ease-out forwards sparkleFloat;position:absolute;top:-10px;left:50%;transform:translate(-50%)}@keyframes letterPop{0%{opacity:0;transform:translateY(20px)scale(.5)}60%{opacity:1;transform:translateY(-5px)scale(1.1)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sparkleFloat{0%{opacity:0;transform:translate(-50%)translateY(0)scale(.5)}30%{opacity:1;transform:translate(-50%)translateY(-15px)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-30px)scale(.3)}}.next-btn{bottom:max(1.5rem, env(safe-area-inset-bottom));color:#ffffffd9;cursor:pointer;letter-spacing:1px;-webkit-backdrop-filter:blur(10px);z-index:110;background:#00c9a733;border:1px solid #00c9a766;border-radius:50px;padding:.6rem 1.5rem;font-family:Poppins,sans-serif;font-size:clamp(.75rem,2.2vw,.9rem);font-weight:600;transition:all .3s;animation:2s ease-in-out infinite btnPulse;position:fixed;left:50%;transform:translate(-50%)}.next-btn:active{color:#fff;background:#00c9a766;transform:translate(-50%)scale(.95)}@keyframes btnPulse{0%,to{box-shadow:0 0 #00c9a74d}50%{box-shadow:0 0 0 8px #00c9a700}}.back-btn{top:max(1rem, env(safe-area-inset-top));z-index:60;color:#ffffffb3;cursor:pointer;-webkit-backdrop-filter:blur(10px);background:#00c9a726;border:1px solid #00c9a74d;border-radius:50px;padding:.5rem 1rem;font-family:Poppins,sans-serif;font-size:clamp(.8rem,2.5vw,.95rem);font-weight:600;transition:background .3s,color .3s;position:fixed;left:1rem}.back-btn:active{color:#fff;background:#00c9a74d}.page-transition-out{animation:.6s cubic-bezier(.4,0,.2,1) forwards pageSlideOut}.page-transition-in{animation:.6s cubic-bezier(.4,0,.2,1) forwards pageSlideIn}@keyframes pageSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}@keyframes pageSlideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes revealZoomIn{0%{opacity:0;transform:scale(.3)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}#confetti2{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.message-page{z-index:200;opacity:0;background-color:#0a0a0a;background-image:radial-gradient(at 40% 60%,#dc26260f 0%,#0000 50%),radial-gradient(at 60% 40%,#00c9a70f 0%,#0000 50%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow:hidden}.message-page.active{animation:.8s forwards fadeInOverlay;display:flex}#sakuraCanvas{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.message-content{z-index:5;width:90%;max-width:500px;padding:1rem;position:relative}.message-envelope{perspective:800px;width:100%;position:relative}.envelope-flap{transform-origin:bottom;background:linear-gradient(135deg,#00c9a733,#dc262626);border:1px solid #00c9a733;border-bottom:none;border-radius:12px 12px 0 0;width:100%;height:60px;animation:.8s ease-out forwards flapOpen;position:relative;overflow:hidden}.envelope-flap:after{content:"✉";opacity:.5;font-size:1.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes flapOpen{0%{transform:rotateX(0)}to{opacity:0;height:0;transform:rotateX(-180deg)}}.envelope-body{-webkit-backdrop-filter:blur(15px);background:#0000004d;border:1px solid #00c9a733;border-radius:0 0 12px 12px;width:100%;padding:clamp(1.2rem,4vw,2rem);box-shadow:0 10px 40px #0006}.message-card{text-align:center}.message-card-shell{min-height:clamp(360px,62vh,520px);transform-style:preserve-3d;transition:transform .8s cubic-bezier(.22,1,.36,1);position:relative}.message-card-shell.flipped{transform:rotateY(180deg)}.message-card-face{backface-visibility:hidden;border-radius:10px;flex-direction:column;justify-content:space-between;gap:1rem;width:100%;height:100%;display:flex;position:absolute;inset:0;overflow-y:auto}.message-card-front{padding-right:.2rem}.message-card-back{text-align:left;background:linear-gradient(#ffffff08,#0000002e),radial-gradient(circle at 100% 0,#dc262626,#0000 42%);border:1px solid #ffffff0f;padding:clamp(.5rem,2vw,.9rem);transform:rotateY(180deg)}.message-text{color:#ffffffe6;min-height:120px;font-family:Dancing Script,cursive;font-size:clamp(1.1rem,3.5vw,1.5rem);line-height:1.8}.message-text .typewriter-cursor{vertical-align:text-bottom;background:#00c9a7;width:2px;height:1.2em;margin-left:2px;animation:.8s step-end infinite cursorBlink;display:inline-block}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.message-signature{color:#fff9;opacity:0;margin-top:clamp(1rem,3vw,1.5rem);font-family:Dancing Script,cursive;font-size:clamp(1rem,3vw,1.3rem);transition:opacity .8s}.message-signature.visible{opacity:1}.card-swipe-hint{letter-spacing:.08em;text-transform:uppercase;color:#ffffffd1;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;margin:1rem auto 0;padding:.55rem 1rem;font-family:Poppins,sans-serif;font-size:.78rem;transition:transform .25s,border-color .25s,background .25s;display:block}.card-swipe-hint:active{background:#00c9a724;border-color:#00c9a759;transform:scale(.97)}.private-note-block{flex-direction:column;gap:.8rem;display:flex}.private-note-label{letter-spacing:.14em;text-transform:uppercase;color:#00c9a7e0;font-size:.72rem;font-weight:700}.private-note-text{color:#ffffffeb;white-space:pre-line;font-family:Dancing Script,cursive;font-size:clamp(1.1rem,3.4vw,1.45rem);line-height:1.7}.gift-lock-panel{background:#00000052;border:1px solid #00c9a724;border-radius:18px;flex-direction:column;gap:.85rem;padding:1rem;display:flex}.gift-lock-text{color:#ffffffc7;font-size:.92rem;line-height:1.6}.dob-unlock-form{flex-direction:column;gap:.7rem;display:flex}.dob-input{color:#fff;background:#ffffff0d;border:1px solid #ffffff24;border-radius:14px;outline:none;width:100%;padding:.85rem 1rem;font-family:Poppins,sans-serif;font-size:.95rem}.dob-input::placeholder{color:#ffffff59}.dob-submit-btn{letter-spacing:.08em;text-transform:uppercase;color:#041311;cursor:pointer;background:linear-gradient(135deg,#67e8f9,#00c9a7);border:none;border-radius:999px;width:100%;padding:.8rem 1rem;font-family:Poppins,sans-serif;font-size:.88rem;font-weight:700}.unlock-error{color:#fca5a5;font-size:.82rem}.protected-photo-card{flex-direction:column;gap:.7rem;display:flex}.protected-photo{aspect-ratio:4/5;object-fit:cover;border:1px solid #ffffff1f;border-radius:16px;width:100%;box-shadow:0 16px 35px #00000047}.protected-photo-caption{color:#ffffffa3;text-align:center;font-size:.86rem}.gift-page{z-index:205;background:radial-gradient(circle at 18% 24%,#00c9a71f,#0000 32%),radial-gradient(circle at 82% 16%,#dc262624,#0000 28%),linear-gradient(#05070b 0%,#0c1017 100%);justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow:hidden}.gift-page.active{animation:.8s forwards fadeInOverlay;display:flex}.gift-page-glow{filter:blur(40px);opacity:.35;border-radius:50%;width:240px;height:240px;position:absolute}.gift-page-glow-left{background:#00c9a738;bottom:10%;left:-60px}.gift-page-glow-right{background:#dc262638;top:8%;right:-60px}.gift-page-content{z-index:2;-webkit-backdrop-filter:blur(18px);background:#04080eb8;border:1px solid #ffffff17;border-radius:28px;flex-direction:column;gap:1rem;width:min(92vw,560px);max-height:min(84vh,760px);padding:clamp(1.2rem,3vw,2rem);display:flex;position:relative;overflow-y:auto;box-shadow:0 24px 60px #00000061}.gift-page-badge{letter-spacing:.12em;text-transform:uppercase;color:#fffc;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;align-self:flex-start;padding:.45rem .8rem;font-size:.72rem;font-weight:700}.gift-page-title{letter-spacing:.02em;margin:0;font-family:Noto Serif JP,serif;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.2}.gift-page-title:after{display:none}.gift-page-subtitle{color:#ffffffe0;font-size:clamp(1rem,2.7vw,1.1rem);line-height:1.7}.gift-page-subtitle-unlocked{color:#fff;font-weight:700}.gift-page-hint{color:#ffffff94;font-size:.9rem}.gift-page-lock-panel{gap:1rem}.protected-gallery-wrap{flex-direction:column;gap:.9rem;display:flex}.protected-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.protected-gallery-card{background:#ffffff0a;border:1px solid #ffffff17;border-radius:18px;padding:.35rem}.protected-gallery-trigger{cursor:pointer;text-align:left;width:100%}.protected-gallery-zoom{color:#ffffff9e;text-align:center;margin-top:.55rem;font-size:.78rem;display:block}.protected-gallery-empty{color:#ffffff9e;text-align:center;background:#ffffff0a;border-radius:16px;padding:1rem}.gift-next-btn{align-self:center;margin-top:.25rem;position:static;bottom:auto;left:auto;transform:none}.gift-next-btn:active{transform:scale(.95)}.gift-lightbox{z-index:520;-webkit-backdrop-filter:blur(18px);background:#000000eb;justify-content:center;align-items:center;padding:5rem 1rem 2rem;display:flex;position:fixed;inset:0}.gift-lightbox-content{justify-content:center;align-items:center;max-width:min(92vw,980px);max-height:min(78vh,920px);display:flex}.gift-lightbox-img{object-fit:contain;border-radius:16px;max-width:100%;max-height:100%;box-shadow:0 24px 60px #0006}.gift-lightbox-close,.gift-lightbox-download{top:max(1rem, env(safe-area-inset-top));color:#fff;-webkit-backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;position:absolute}.gift-lightbox-close{cursor:pointer;width:44px;height:44px;font-size:1.5rem;right:1rem}.gift-lightbox-download{letter-spacing:.08em;text-transform:uppercase;padding:.8rem 1rem;font-size:.82rem;font-weight:700;text-decoration:none;left:1rem}.signature-heart{color:#dc2626;animation:1.5s ease-in-out infinite heartbeat;display:inline-block}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1)}75%{transform:scale(1.15)}}.reel-overlay{z-index:1000;background:#0a0a0a;animation:1s reelFadeIn;position:fixed;inset:0;overflow:hidden}.reel-overlay.exiting{animation:.8s forwards reelFadeOut}@keyframes reelFadeIn{0%{opacity:0}to{opacity:1}}@keyframes reelFadeOut{0%{opacity:1}to{opacity:0;filter:blur(8px)}}.reel-grain{z-index:100;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");width:200%;height:200%;animation:.4s steps(4,end) infinite grainShift;position:absolute;inset:-50%}@keyframes grainShift{0%{transform:translate(0)}25%{transform:translate(-2%,-3%)}50%{transform:translate(1%,2%)}75%{transform:translate(-1%,1%)}to{transform:translate(2%,-1%)}}.reel-letterbox{z-index:50;background:#000;height:8vh;position:absolute;left:0;right:0}.reel-letterbox.top{top:0}.reel-letterbox.bottom{bottom:0}.reel-bokeh-layer{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.reel-bokeh-dot{background:radial-gradient(circle,#ffb4c880,#0000 70%);border-radius:50%;animation:ease-in-out infinite bokehFloat;position:absolute}.reel-bokeh-dot:nth-child(odd){background:radial-gradient(circle,#b4c8ff66,#0000 70%)}.reel-bokeh-dot:nth-child(3n){background:radial-gradient(circle,#ffd78c66,#0000 70%)}@keyframes bokehFloat{0%,to{opacity:.05;transform:translateY(0)scale(1)}50%{opacity:.15;transform:translateY(-30px)scale(1.2)}}.reel-intro{z-index:30;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex;position:absolute;inset:0}.reel-intro-line{background:linear-gradient(90deg,#0000,#ffb4c8b3,#0000);width:80px;height:1px;animation:1.5s .3s both lineExpand}@keyframes lineExpand{0%{opacity:0;width:0}to{opacity:1;width:80px}}.reel-intro-title{color:#fff;text-align:center;letter-spacing:1px;opacity:0;text-shadow:0 0 30px #ff96b466;font-family:Dancing Script,cursive;font-size:clamp(28px,6vw,42px);animation:1.2s .5s forwards introTextIn}.reel-intro-sub{color:#ffffff80;letter-spacing:3px;text-transform:uppercase;text-align:center;opacity:0;font-family:Poppins,sans-serif;font-size:clamp(13px,3vw,16px);animation:1s 1s forwards introTextIn}.reel-intro-years{color:#ffb4c899;letter-spacing:6px;opacity:0;margin-top:8px;font-family:Poppins,sans-serif;font-size:14px;animation:.8s 1.8s forwards introTextIn}@keyframes introTextIn{0%{opacity:0;filter:blur(4px);transform:translateY(20px)}to{opacity:1;filter:blur();transform:translateY(0)}}.reel-slide{z-index:10;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;justify-content:center;align-items:center;width:100%;padding:0;display:flex;position:absolute;inset:0}.reel-slide.enter{animation:.9s cubic-bezier(.22,1,.36,1) forwards slideEnter}.reel-slide.exit{animation:.7s forwards slideExit}@keyframes slideEnter{0%{opacity:0;filter:blur(8px);transform:scale(.9)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes slideExit{0%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(6px);transform:scale(1.05)}}.reel-bg-blur{z-index:1;position:absolute;inset:-30px;overflow:hidden}.reel-bg-media{object-fit:cover;filter:blur(40px)brightness(.3)saturate(1.4);width:100%;height:100%;transform:scale(1.2)}.reel-polaroid{z-index:10;background:#fafaf8;width:80vw;max-width:320px;padding:12px 12px 50px;animation:6s ease-in-out infinite polaroidFloat;position:relative;box-shadow:0 4px 20px #0006,0 0 60px #0003,inset 0 0 0 1px #ffffff1a}.reel-polaroid.tilt-left{transform:rotate(-2deg)}.reel-polaroid.tilt-right{transform:rotate(2deg)}@keyframes polaroidFloat{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-8px)rotate(-1deg)}}.reel-polaroid.tilt-right{animation-name:polaroidFloatR}@keyframes polaroidFloatR{0%,to{transform:translateY(0)rotate(2deg)}50%{transform:translateY(-8px)rotate(1.5deg)}}.reel-tape{z-index:12;background:#ffdcb459;width:70px;height:24px;position:absolute;top:-14px;left:50%;transform:translate(-50%)rotate(-3deg);box-shadow:0 1px 4px #0000001a}.reel-tape:after{content:"";background:repeating-linear-gradient(90deg,#0000,#0000 8px,#c8a06426 8px 9px);position:absolute;inset:3px}.reel-photo-wrap{aspect-ratio:4/5;background:#e8e6e2;width:100%;position:relative;overflow:hidden}.reel-photo{object-fit:cover;width:100%;height:100%;animation:8s ease-in-out infinite alternate kenBurns}@keyframes kenBurns{0%{transform:scale(1)translate(0)}to{transform:scale(1.12)translate(-2%,-1%)}}.reel-polaroid-bottom{flex-direction:column;align-items:center;gap:4px;padding-top:10px;display:flex}.reel-handwritten{color:#444;text-align:center;font-family:Dancing Script,cursive;font-size:18px;animation:.6s .4s both handwriteIn}@keyframes handwriteIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.reel-date-tag{color:#999;letter-spacing:2px;text-transform:uppercase;font-family:Poppins,sans-serif;font-size:11px}.reel-year-badge{z-index:20;color:#ffffff14;letter-spacing:2px;text-shadow:0 0 40px #ffb4c826;pointer-events:none;font-family:Dancing Script,cursive;font-size:42px;font-weight:700;animation:3s ease-in-out infinite yearPulse;position:absolute;top:max(9vh,50px);right:24px}@keyframes yearPulse{0%,to{opacity:.08}50%{opacity:.15}}.reel-timeline{z-index:20;gap:10px;display:flex;position:absolute;bottom:max(9vh,50px);left:50%;transform:translate(-50%)}.reel-dot{background:#ffffff26;border-radius:50%;width:8px;height:8px;transition:all .4s;position:relative}.reel-dot.active{background:#ffb4c8e6;transform:scale(1.3);box-shadow:0 0 12px #ff96b499}.reel-dot.done{background:#ffb4c866}.reel-dot.active:after{content:"";border:1px solid #ffb4c84d;border-radius:50%;animation:1.5s ease-in-out infinite dotRing;position:absolute;inset:-4px}@keyframes dotRing{0%,to{opacity:.5;transform:scale(1)}50%{opacity:0;transform:scale(1.5)}}.reel-outro{z-index:30;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex;position:absolute;inset:0}.reel-outro-hearts{letter-spacing:12px;opacity:0;font-size:32px;animation:1s .3s forwards outroIn}.reel-outro-title{color:#fff;text-align:center;opacity:0;text-shadow:0 0 30px #ff96b44d;font-family:Dancing Script,cursive;font-size:clamp(24px,5.5vw,36px);line-height:1.5;animation:1.2s .7s forwards outroIn}.reel-outro-sub{color:#ffb4c8b3;letter-spacing:3px;text-transform:uppercase;text-align:center;opacity:0;font-family:Poppins,sans-serif;font-size:14px;animation:1s 1.5s forwards outroIn}@keyframes outroIn{0%{opacity:0;filter:blur(4px);transform:translateY(25px)}to{opacity:1;filter:blur();transform:translateY(0)}}.reel-skip-btn{z-index:60;color:#ffffff80;letter-spacing:1px;cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff26;border-radius:20px;padding:6px 16px;font-family:Poppins,sans-serif;font-size:12px;transition:all .3s;position:absolute;bottom:max(9vh,50px);right:20px}.reel-skip-btn:hover{color:#fffc;background:#ffffff26}.faltu-popup-overlay{z-index:1000;-webkit-backdrop-filter:blur(16px);background:#0009;justify-content:center;align-items:center;padding:24px;animation:.4s faltuOverlayIn;display:flex;position:fixed;inset:0}.faltu-popup-overlay.exiting{animation:.6s forwards faltuOverlayOut}@keyframes faltuOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes faltuOverlayOut{to{opacity:0}}.faltu-popup{text-align:center;background:#1e1e32d9;border:1px solid #ffffff1a;border-radius:24px;max-width:360px;padding:40px 32px 36px;animation:.6s cubic-bezier(.34,1.56,.64,1) faltuBounceIn;box-shadow:0 20px 60px #00000080,0 0 40px #a78bfa26}.faltu-popup-overlay.exiting .faltu-popup{animation:.5s forwards faltuModalOut}@keyframes faltuBounceIn{0%{opacity:0;transform:scale(.3)rotate(-8deg)}60%{opacity:1;transform:scale(1.05)rotate(1deg)}to{transform:scale(1)rotate(0)}}@keyframes faltuModalOut{to{opacity:0;transform:scale(.85)}}.faltu-emoji{display:none}@keyframes faltuEmojiBounce{0%,to{transform:scale(1)}}.faltu-title{color:#fff;margin-bottom:28px;font-family:Poppins,sans-serif;font-size:clamp(20px,5vw,26px);font-weight:700;line-height:1.4;animation:.6s .3s both faltuTextIn}@keyframes faltuTextIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.faltu-sub{display:none}.faltu-btn-row{justify-content:center;gap:16px;animation:.5s .6s both faltuTextIn;display:flex}.faltu-btn{color:#fff;cursor:pointer;letter-spacing:.5px;border:none;border-radius:30px;padding:14px 32px;font-family:Poppins,sans-serif;font-size:16px;font-weight:600;transition:transform .15s,box-shadow .15s}.faltu-btn:active{transform:scale(.97)}.faltu-btn.watch{background:linear-gradient(135deg,#f472b6 0%,#a78bfa 100%);box-shadow:0 4px 20px #a78bfa66}.faltu-btn.watch:hover{transform:scale(1.05);box-shadow:0 6px 28px #a78bfa80}.faltu-btn.skip{background:#ffffff1a;border:1px solid #fff3}.faltu-btn.skip:hover{background:#ffffff26}.memories-page{z-index:50;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:smooth;background:#0a0a0a;width:100%;height:100%;padding:0;display:none;position:fixed;top:0;left:0;overflow:hidden auto}.memories-page.active{display:block}.floating-petals{pointer-events:none;z-index:1;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.floating-petal{opacity:0;background:radial-gradient(at 30% 30%,#ffb7c5,#ff69b4);border-radius:50% 0 50% 50%;width:12px;height:12px;animation:linear infinite petalFall;position:absolute}@keyframes petalFall{0%{opacity:0;transform:translateY(-20px)rotate(0)translate(0)}10%{opacity:.7}90%{opacity:.5}to{opacity:0;transform:translateY(100vh)rotate(720deg)translate(80px)}}.memories-header{text-align:center;z-index:2;padding:clamp(2rem,6vw,4rem) 1rem clamp(1rem,3vw,2rem);position:relative}.memories-title{background:linear-gradient(135deg,#00c9a7,#dc2626,#00c9a7)!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;background-size:200% 200%!important;-webkit-background-clip:text!important;background-clip:text!important;border:none!important;margin:0!important;padding:0!important;font-family:Noto Serif JP,serif!important;font-size:clamp(1.5rem,5vw,3rem)!important;font-weight:900!important;line-height:1.4!important;animation:4s ease-in-out infinite shimmerText!important}.memories-title:after{display:none!important}@keyframes shimmerText{0%,to{background-position:0%}50%{background-position:100%}}.memories-subtitle{color:#ffffff80;letter-spacing:1px;margin-top:.5rem;font-family:Poppins,sans-serif;font-size:clamp(.8rem,2.5vw,1.1rem)}.memories-grid{z-index:2;grid-template-columns:repeat(2,1fr);gap:clamp(.5rem,2vw,1rem);max-width:800px;margin:0 auto;padding:0 clamp(.5rem,2vw,1.5rem);display:grid;position:relative}.memory-card{aspect-ratio:1;opacity:0;cursor:pointer;text-align:left;background:0 0;border:1px solid #00c9a726;border-radius:12px;padding:0;transition:opacity .6s,transform .6s;position:relative;overflow:hidden;transform:translateY(40px)scale(.9);box-shadow:0 4px 20px #0006}.memory-card.wide{aspect-ratio:16/9;grid-column:span 2}.precious-memory-card{background:radial-gradient(circle at 100% 0,#ffd1dc47,#0000 32%),radial-gradient(circle at 0 100%,#7877c642,#0000 30%),linear-gradient(135deg,#101223f5,#240a1af5);border-color:#ffc0cb3d;min-height:220px}.precious-memory-content{z-index:1;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:clamp(1.2rem,4vw,2rem);display:flex;position:absolute;inset:0}.precious-memory-tag,.precious-memory-player-tag{color:#fff8fb;letter-spacing:.08em;text-transform:uppercase;background:#180f1ad1;border:1px solid #ffffff24;border-radius:999px;align-self:flex-start;align-items:center;padding:6px 12px;font-family:Poppins,sans-serif;font-size:.72rem;display:inline-flex}.precious-memory-title,.precious-memory-player-title{color:#fff6fb;margin:0;font-family:Playfair Display,serif;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:700;line-height:1.05}.precious-memory-subtitle{color:#ffeff4b8;margin:0;font-family:Poppins,sans-serif;font-size:clamp(.88rem,2.4vw,1rem)}.memory-card.visible{opacity:1;transform:translateY(0)scale(1)}.memory-card img,.memory-card video{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.memory-card:active img,.memory-card:active video{transform:scale(1.05)}.card-caption{background:linear-gradient(#0000,#000000b3);flex-direction:column;gap:.1rem;padding:.5rem;display:flex;position:absolute;bottom:0;left:0;right:0}.caption-text{color:#ffffffe6;font-family:Poppins,sans-serif;font-size:clamp(.6rem,2vw,.8rem);font-weight:500}.caption-date{color:#ffffff80;font-family:Poppins,sans-serif;font-size:clamp(.5rem,1.5vw,.65rem)}.card-glow{opacity:0;pointer-events:none;background:radial-gradient(circle,#00c9a726,#0000 70%);border-radius:12px;transition:opacity .4s;position:absolute;inset:0}.memory-card:active .card-glow{opacity:1}.play-btn{color:#fff;cursor:pointer;z-index:5;background:#00c9a7cc;border:0;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;padding:0;font-size:1.5rem;transition:transform .3s,opacity .3s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #00c9a766}.play-btn.hidden{opacity:0;pointer-events:none}.play-btn:active{transform:translate(-50%,-50%)scale(.9)}.memories-footer{text-align:center;color:#ffffff80;z-index:2;padding:clamp(2rem,5vw,3rem) 1rem clamp(3rem,8vw,5rem);font-family:Poppins,sans-serif;font-size:clamp(.8rem,2.5vw,1rem);position:relative}.footer-heart-icon{color:#dc2626;animation:1.5s ease-in-out infinite heartbeat;display:inline-block}.footer-made{color:#ffffff4d;margin-top:.5rem;font-size:clamp(.65rem,2vw,.8rem)}.lightbox{-webkit-backdrop-filter:blur(20px);z-index:500;opacity:0;background:#000000eb;border:0;justify-content:center;align-items:center;width:100%;max-width:none;height:100%;max-height:none;margin:0;transition:opacity .3s;display:none;position:fixed;top:0;left:0}.lightbox.active{opacity:1;display:flex}.lightbox-close{top:max(1rem, env(safe-area-inset-top));color:#fff;cursor:pointer;z-index:510;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;transition:background .3s;display:flex;position:absolute;right:1rem}.lightbox-close:active{background:#ffffff40}.lightbox-counter{top:max(1rem, env(safe-area-inset-top));color:#fff9;z-index:510;font-family:Poppins,sans-serif;font-size:.85rem;position:absolute;left:50%;transform:translate(-50%)}.lightbox-img-wrap{touch-action:pan-y;justify-content:center;align-items:center;width:100%;height:100%;padding:3rem 1rem;display:flex;overflow:hidden}.lightbox-img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:8px;max-width:100%;max-height:100%;transition:transform .3s}.lightbox-img.swipe-left{animation:.3s ease-out forwards swipeOutLeft}.lightbox-img.swipe-right{animation:.3s ease-out forwards swipeOutRight}.lightbox-img.swipe-in-left{animation:.3s ease-out forwards swipeInFromRight}.lightbox-img.swipe-in-right{animation:.3s ease-out forwards swipeInFromLeft}@keyframes swipeOutLeft{to{opacity:0;transform:translate(-100vw)scale(.8)}}@keyframes swipeOutRight{to{opacity:0;transform:translate(100vw)scale(.8)}}@keyframes swipeInFromRight{0%{opacity:0;transform:translate(100vw)scale(.8)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes swipeInFromLeft{0%{opacity:0;transform:translate(-100vw)scale(.8)}to{opacity:1;transform:translate(0)scale(1)}}.lightbox-nav{color:#fff;cursor:pointer;z-index:510;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;transition:background .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:active{background:#ffffff40}.lightbox-prev{left:.75rem}.lightbox-next{right:.75rem}.precious-memory-modal{z-index:700;-webkit-backdrop-filter:blur(20px);background:#04050ccc;border:0;justify-content:center;align-items:center;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:24px;display:none;position:fixed;inset:0}.precious-memory-modal.active{display:flex}.lightbox::backdrop,.precious-memory-modal::backdrop{background:0 0}.precious-memory-modal-card{background:radial-gradient(circle at 100% 0,#ffcede33,#0000 28%),linear-gradient(160deg,#141627fa,#260818f5);border:1px solid #ffd6e033;border-radius:28px;width:min(100%,560px);padding:clamp(1.5rem,5vw,2.2rem);position:relative;box-shadow:0 24px 80px #00000073}.precious-memory-close{color:#fff;cursor:pointer;background:#0e0c14e0;border:0;border-radius:50%;width:40px;height:40px;font-size:1.6rem;line-height:1;position:absolute;top:14px;right:14px}.precious-memory-note{color:#ffeff4e0;margin:0 40px 22px 0;font-family:Poppins,sans-serif;font-size:clamp(.95rem,2.7vw,1.05rem);line-height:1.7}.precious-memory-player-card{background:#ffffff0d;border:1px solid #ffffff14;border-radius:22px;flex-direction:column;gap:14px;padding:clamp(1rem,3vw,1.4rem);display:flex}.precious-memory-audio{filter:sepia(.16)saturate(1.1)hue-rotate(310deg);width:100%}@media (max-width:640px){.precious-memory-modal{padding:16px}.precious-memory-modal-card{border-radius:22px;padding-top:56px}.precious-memory-note{margin-right:0}}.quiz-page{z-index:50;background:linear-gradient(135deg,#0a0a0a 0%,#1a1a2e 50%,#0a0a0a 100%);width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow:hidden}.quiz-page.active{justify-content:center;align-items:center;display:flex}.quiz-content{text-align:center;z-index:2;width:90%;max-width:420px;padding:1rem;position:relative}.quiz-header{margin-bottom:clamp(1rem,3vh,2rem)}.quiz-title{color:#fff!important;text-shadow:none!important;border:none!important;margin:0 0 .3rem!important;padding:0!important;font-family:Poppins,sans-serif!important;font-size:clamp(1.3rem,5vw,2rem)!important;font-weight:700!important;line-height:1.3!important}.quiz-title:after{display:none!important}.quiz-subtitle{color:#ffffff80;margin-bottom:1rem;font-family:Poppins,sans-serif;font-size:clamp(.75rem,2.5vw,.95rem)}.quiz-progress{background:#ffffff1a;border-radius:3px;width:100%;height:6px;margin-bottom:.5rem;overflow:hidden}.quiz-progress-bar{background:linear-gradient(90deg,#00c9a7,#3eb489);border-radius:3px;width:20%;height:100%;transition:width .4s}.quiz-counter{color:#fff6;font-family:Poppins,sans-serif;font-size:clamp(.65rem,2vw,.8rem)}.quiz-question{color:#fff!important;text-shadow:none!important;border:none!important;margin:0 0 clamp(1rem,3vh,1.5rem)!important;padding:0!important;font-family:Poppins,sans-serif!important;font-size:clamp(1rem,4vw,1.3rem)!important;font-weight:600!important;line-height:1.4!important}.quiz-question:after{display:none!important}.quiz-options{flex-direction:column;gap:.6rem;display:flex}.quiz-option{color:#ffffffd9;cursor:pointer;text-align:left;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;padding:clamp(.7rem,2vh,1rem) 1rem;font-family:Poppins,sans-serif;font-size:clamp(.8rem,3vw,1rem);transition:all .3s;position:relative;overflow:hidden}.quiz-option:active{transform:scale(.97)}.quiz-option.correct{color:#fff;background:#00c9a733;border-color:#00c9a7}.quiz-option.wrong{color:#fff9;background:#dc262633;border-color:#dc2626}.quiz-option.disabled{pointer-events:none;opacity:.5}.quiz-option-label{text-align:center;vertical-align:middle;background:#ffffff1a;border-radius:50%;width:24px;height:24px;margin-right:.6rem;font-size:.75rem;font-weight:600;line-height:24px;display:inline-block}.quiz-option.correct .quiz-option-label{color:#0a0a0a;background:#00c9a7}.quiz-option.wrong .quiz-option-label{color:#fff;background:#dc2626}.quiz-result{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards revealZoomIn}.quiz-score-circle{border:3px solid #00c9a7;border-radius:50%;justify-content:center;align-items:center;width:clamp(80px,25vw,120px);height:clamp(80px,25vw,120px);margin:0 auto 1rem;display:flex;position:relative;box-shadow:0 0 30px #00c9a74d}.quiz-score-num{color:#00c9a7;font-family:Poppins,sans-serif;font-size:clamp(2rem,8vw,3rem);font-weight:900}.quiz-score-label{color:#fff6;margin-left:2px;font-family:Poppins,sans-serif;font-size:clamp(.9rem,3vw,1.2rem);font-weight:300}.quiz-result-title{color:#fff!important;text-shadow:none!important;border:none!important;margin:0 0 .5rem!important;padding:0!important;font-family:Poppins,sans-serif!important;font-size:clamp(1.2rem,5vw,1.8rem)!important;font-weight:700!important}.quiz-result-title:after{display:none!important}.quiz-result-msg{color:#ffffff80;margin-bottom:1.5rem;font-family:Poppins,sans-serif;font-size:clamp(.8rem,2.5vw,1rem);line-height:1.5}.quiz-next-btn{margin-top:1rem}.quiz-particles{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.scratch-page{z-index:50;background:linear-gradient(135deg,#0a0a0a 0%,#1a0a2e 50%,#0a0a0a 100%);width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow:hidden}.scratch-page.active{justify-content:center;align-items:center;display:flex}.scratch-content{text-align:center;z-index:2;width:90%;max-width:400px;padding:1rem;position:relative}.scratch-title{color:#fff!important;text-shadow:none!important;border:none!important;margin:0 0 .3rem!important;padding:0!important;font-family:Poppins,sans-serif!important;font-size:clamp(1.3rem,5vw,2rem)!important;font-weight:700!important;line-height:1.3!important}.scratch-title:after{display:none!important}.scratch-subtitle{color:#ffffff80;margin-bottom:clamp(1rem,3vh,2rem);font-family:Poppins,sans-serif;font-size:clamp(.75rem,2.5vw,.95rem)}.scratch-card-wrapper{justify-content:center;margin-bottom:1rem;display:flex}.scratch-card{border:2px solid #ffffff1a;border-radius:16px;width:clamp(250px,70vw,320px);height:clamp(170px,45vw,220px);position:relative;overflow:hidden;box-shadow:0 8px 40px #00000080,0 0 20px #00c9a726}.scratch-canvas{z-index:2;cursor:pointer;touch-action:none;pointer-events:auto;border-radius:14px;width:100%;height:100%;position:absolute;top:0;left:0}.scratch-reveal{z-index:1;background:linear-gradient(135deg,#1a1a2e,#16213e);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:absolute;top:0;left:0}.scratch-gift-emoji{letter-spacing:4px;margin-bottom:.5rem;font-size:clamp(2rem,8vw,3rem)}.scratch-gift-text{background:linear-gradient(135deg,#00c9a7,#f59e0b)!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;-webkit-background-clip:text!important;background-clip:text!important;border:none!important;margin:0 0 .3rem!important;padding:0!important;font-family:Poppins,sans-serif!important;font-size:clamp(1.1rem,4vw,1.5rem)!important;font-weight:700!important}.scratch-gift-text:after{display:none!important}.scratch-gift-sub{color:#ffffff80;font-family:Poppins,sans-serif;font-size:clamp(.65rem,2vw,.8rem)}.scratch-hint{color:#fff6;font-family:Poppins,sans-serif;font-size:clamp(.7rem,2.5vw,.9rem);animation:2s ease-in-out infinite pulse}.scratch-claim-btn{margin-top:1rem;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards revealZoomIn}.scratch-claim-hint{margin-top:.5rem}.food-popup-overlay{-webkit-backdrop-filter:blur(10px);z-index:200;background:#000000d9;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.food-popup{text-align:center;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:1px solid #ffffff1a;border-radius:20px;width:90%;max-width:380px;max-height:85vh;padding:clamp(1.2rem,4vh,2rem);overflow-y:auto;box-shadow:0 20px 60px #00000080,0 0 30px #00c9a71a}.food-popup-title{color:#fff!important;text-shadow:none!important;border:none!important;margin:0 0 .3rem!important;padding:0!important;font-family:Poppins,sans-serif!important;font-size:clamp(1.2rem,4.5vw,1.6rem)!important;font-weight:700!important}.food-popup-title:after{display:none!important}.food-popup-sub{color:#ffffff80;margin-bottom:clamp(.8rem,2vh,1.2rem);font-family:Poppins,sans-serif;font-size:clamp(.7rem,2.5vw,.9rem)}.food-options{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.food-option{color:#ffffffd9;cursor:pointer;text-align:left;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;padding:clamp(.6rem,1.5vh,.9rem) 1rem;font-family:Poppins,sans-serif;font-size:clamp(.85rem,3vw,1rem);transition:all .2s}.food-option:active{transform:scale(.97)}.food-option.selected{color:#fff;background:#00c9a733;border-color:#00c9a7}.food-option-other{color:#ffffff80;text-align:center;border-style:dashed}.food-custom-wrap{margin-bottom:1rem;animation:.3s fadeIn}.food-custom-input{color:#fff;box-sizing:border-box;background:#ffffff14;border:1px solid #00c9a766;border-radius:12px;outline:none;width:100%;padding:clamp(.6rem,1.5vh,.9rem) 1rem;font-family:Poppins,sans-serif;font-size:clamp(.85rem,3vw,1rem)}.food-custom-input::placeholder{color:#ffffff4d}.food-custom-input:focus{border-color:#00c9a7;box-shadow:0 0 10px #00c9a733}.food-send-btn{width:100%;animation:.4s cubic-bezier(.34,1.56,.64,1) forwards revealZoomIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.treat-page{z-index:300;opacity:0;background:#0a0a0a radial-gradient(#dc262614 0%,#0000 50%);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow:hidden}.treat-page.active{animation:.8s forwards fadeInOverlay;display:flex}.treat-content{text-align:center;z-index:5;padding:1.5rem;position:relative}.treat-cheeky{color:#fff9;letter-spacing:.5px;margin-bottom:clamp(1rem,3vw,1.5rem);font-family:Poppins,sans-serif;font-size:clamp(.85rem,2.5vw,1.1rem)}.treat-title{background:linear-gradient(135deg,#dc2626,#f59e0b,#dc2626)!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;background-size:200% 200%!important;-webkit-background-clip:text!important;background-clip:text!important;border:none!important;margin:0 0 .5rem!important;padding:0!important;font-family:Noto Serif JP,serif!important;font-size:clamp(1.8rem,7vw,3.5rem)!important;font-weight:900!important;line-height:1.3!important;animation:3s ease-in-out infinite shimmerText!important}.treat-title:after{display:none!important}.treat-subtitle{color:#ffffffb3;margin-bottom:clamp(1.5rem,4vw,2.5rem);font-family:Dancing Script,cursive;font-size:clamp(1.2rem,4vw,2rem)}.treat-emojis{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.treat-emoji{opacity:0;pointer-events:none;font-size:clamp(1.5rem,5vw,2.5rem);animation:6s linear infinite emojiFloat;position:absolute}.treat-emoji:nth-child(2){animation-duration:7s;animation-delay:.8s}.treat-emoji:nth-child(3){animation-duration:5.5s;animation-delay:1.5s}.treat-emoji:nth-child(4){animation-duration:8s;animation-delay:2.2s}.treat-emoji:nth-child(5){animation-duration:6.5s;animation-delay:.3s}.treat-emoji:nth-child(6){animation-duration:7.5s;animation-delay:1.8s}.treat-emoji:nth-child(7){animation-duration:5s;animation-delay:.6s}.treat-emoji:nth-child(8){animation-duration:8.5s;animation-delay:2.5s}.bouncing-emoji{opacity:0;pointer-events:none;font-size:clamp(2rem,6vw,3rem);animation:linear infinite emojiFloat;position:absolute}@keyframes emojiFloat{0%{opacity:0;transform:translateY(100vh)rotate(0)}10%{opacity:.8}90%{opacity:.6}to{opacity:0;transform:translateY(-100px)rotate(360deg)}}.treat-btn{color:#fff;cursor:pointer;z-index:10;letter-spacing:1px;background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;border-radius:60px;padding:clamp(.8rem,2.5vw,1.2rem) clamp(2rem,6vw,3rem);font-family:Poppins,sans-serif;font-size:clamp(1rem,3vw,1.3rem);font-weight:700;text-decoration:none;transition:all .3s;animation:2s ease-in-out infinite treatBtnPulse;display:inline-block;position:relative;box-shadow:0 6px 25px #dc262680,0 0 40px #dc262633}.treat-btn:active{transform:scale(.95);box-shadow:0 3px 15px #dc262680,0 0 20px #dc262633}@keyframes treatBtnPulse{0%,to{box-shadow:0 6px 25px #dc262680,0 0 40px #dc262633}50%{box-shadow:0 8px 35px #dc2626b3,0 0 60px #dc26264d}}.treat-text{color:#fff9;margin-bottom:.5rem;font-family:Poppins,sans-serif;font-size:clamp(.9rem,3vw,1.1rem);line-height:1.6}.treat-demand{color:#fffc;margin-bottom:clamp(1.5rem,4vw,2.5rem);font-family:Poppins,sans-serif;font-size:clamp(1rem,3.5vw,1.3rem);font-weight:600}.treat-hint{color:#ffffff59;margin-top:1rem;font-family:Poppins,sans-serif;font-size:clamp(.7rem,2vw,.85rem)}.treat-btn-emoji{margin-right:.5rem}.treat-footer{color:#ffffff4d;margin-top:clamp(1.5rem,4vw,2.5rem);font-family:Poppins,sans-serif;font-size:clamp(.7rem,2vw,.85rem)}.replay-fab{bottom:max(1.5rem, env(safe-area-inset-bottom));color:#00c9a7;cursor:pointer;z-index:600;-webkit-backdrop-filter:blur(10px);background:#00c9a733;border:1px solid #00c9a74d;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;transition:all .3s;display:flex;position:fixed;right:1rem}.replay-fab:active{background:#00c9a766;transform:scale(.9)}.music-fab{bottom:max(1rem, env(safe-area-inset-bottom));color:#00c9a7;cursor:pointer;z-index:700;-webkit-backdrop-filter:blur(10px);background:#00c9a726;border:1px solid #00c9a74d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;transition:all .3s;display:flex;position:fixed;left:1rem}.music-fab:active{background:#00c9a74d}.support-info-fab{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));z-index:180;color:#fff;cursor:pointer;background:#0c0e16d1;border:1px solid #ffffff29;border-radius:50%;width:42px;height:42px;font-family:Poppins,sans-serif;font-size:1rem;font-weight:700;position:fixed;box-shadow:0 10px 24px #0000003d}.support-info-modal{z-index:260;-webkit-backdrop-filter:blur(10px);background:#04060cb3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.support-info-card{background:linear-gradient(#0d101dfa,#100c16fa);border:1px solid #ffffff1a;border-radius:28px;width:min(100%,620px);max-height:min(80vh,760px);padding:28px 24px 24px;position:relative;overflow:auto;box-shadow:0 24px 60px #0006}.support-info-close{color:#fff;cursor:pointer;background:#ffffff14;border:0;border-radius:50%;width:38px;height:38px;font-size:1.4rem;line-height:1;position:absolute;top:14px;right:14px}.support-info-eyebrow{color:#ffdbdbb8;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px;font-family:Poppins,sans-serif;font-size:.78rem;font-weight:600}.support-info-copy{flex-direction:column;gap:14px;display:flex}.support-info-text{color:#ffffffeb;margin:0;font-family:Poppins,sans-serif;font-size:clamp(.98rem,2.4vw,1.08rem);line-height:1.75}@media (max-width:380px){.container{gap:.8rem;padding:1rem .5rem}h1{letter-spacing:1.5px;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.1rem}.time-card{border-radius:8px;min-width:60px;padding:.5rem .3rem}.flip-top,.flip-bottom,.time-card span{font-size:1.6rem}.time-card p{letter-spacing:.5px;font-size:.5rem}.teaser-gift .gift-emoji{font-size:2.5rem}.surprise-box-body{width:160px;height:110px}.surprise-box-cover{width:180px;height:32px}.slayer-img{width:65px}.message-content{width:94%;padding:.5rem}.message-text{font-size:.95rem;line-height:1.6}.envelope-body{padding:.8rem}.message-card-shell{min-height:340px}.gift-page-subtitle,.gift-lock-text,.dob-input,.dob-submit-btn{font-size:.88rem}.memories-grid{gap:.4rem;padding:0 .4rem}.treat-title{font-size:1.5rem!important}.treat-subtitle{font-size:1rem}.treat-btn{padding:.7rem 1.5rem;font-size:.9rem}.next-btn{padding:.5rem 1.2rem;font-size:.7rem}}@media (max-width:600px){body{overscroll-behavior:none}.play-btn{width:50px;height:50px;font-size:1.2rem}.lightbox-nav{width:36px;height:36px;font-size:1.2rem}.flip-clock,ul{gap:.35rem}.time-card{min-width:clamp(65px,20vw,90px);padding:.6rem .4rem}.teaser-gift{bottom:max(12%,30px)}.surprise-content{max-width:100vw;padding:0 1rem;overflow:visible}.message-content{width:92%;max-width:400px}.envelope-flap{height:45px}.message-card-shell{min-height:min(60vh,430px)}.private-note-text{font-size:1rem;line-height:1.6}.gift-lock-panel{padding:.85rem}.gift-page-content{width:94%;padding:1rem}.protected-gallery-grid{grid-template-columns:1fr}.memories-page{padding-bottom:env(safe-area-inset-bottom,0px)}.memories-footer{padding-bottom:clamp(4rem,12vw,6rem)}.treat-content{padding:1rem}.treat-text,.treat-demand{color:#fff9;margin-bottom:.5rem;font-size:clamp(.85rem,3vw,1.1rem)}.treat-hint{color:#ffffff59;margin-top:1rem;font-size:clamp(.7rem,2vw,.85rem)}.back-btn{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.lightbox-close{width:48px;height:48px;font-size:1.8rem}.memories-header{padding-top:clamp(3rem,8vw,4rem)}}@media (min-width:601px){.memories-grid{grid-template-columns:repeat(3,1fr)}.memory-card.wide{grid-column:span 3}}@media (max-height:500px) and (orientation:landscape){.container{gap:.5rem;padding:.5rem}h1{margin-bottom:.5rem;font-size:1rem}.time-card{min-width:55px;padding:.4rem .3rem}.flip-top,.flip-bottom,.time-card span{font-size:1.5rem}.teaser-gift .gift-emoji{font-size:2rem}.surprise-box-body{width:140px;height:100px}.surprise-box-cover{width:160px;height:30px}.reveal-name{font-size:2.5rem}}@supports (padding:env(safe-area-inset-bottom)){.next-btn,.replay-fab{bottom:max(1.5rem, calc(env(safe-area-inset-bottom) + .5rem))}.music-fab{bottom:max(1rem, calc(env(safe-area-inset-bottom) + .5rem))}.support-info-fab{top:max(14px, calc(env(safe-area-inset-top) + .25rem));right:max(14px, calc(env(safe-area-inset-right) + .25rem))}.back-btn{top:max(1rem, calc(env(safe-area-inset-top) + .5rem))}}@media (max-width:640px){.support-info-fab{width:40px;height:40px}.support-info-modal{padding:16px}.support-info-card{border-radius:22px;padding:24px 18px 20px}}@supports (height:100dvh){.surprise-page,.message-page,.gift-page,.treat-page{height:100dvh}}.explosion-piece{z-index:200;pointer-events:none;border-radius:3px;animation:.8s cubic-bezier(.25,1,.5,1) forwards explodePiece;position:fixed}@keyframes explodePiece{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{opacity:0;transform:translate(var(--tx), var(--ty)) rotate(var(--rot)) scale(.2)}}.screen-shake{animation:.5s cubic-bezier(.36,.07,.19,.97) both shakeIt}@keyframes shakeIt{0%,to{transform:translate(0)translateY(0)}10%{transform:translate(-8px)translateY(-4px)}20%{transform:translate(8px)translateY(2px)}30%{transform:translate(-6px)translateY(-6px)}40%{transform:translate(6px)translateY(4px)}50%{transform:translate(-4px)translateY(-2px)}60%{transform:translate(4px)translateY(2px)}70%{transform:translate(-3px)translateY(-1px)}80%{transform:translate(2px)translateY(1px)}90%{transform:translate(-1px)translateY(0)}}.sparkle{pointer-events:none;z-index:300;background:#fbbf24;border-radius:50%;width:6px;height:6px;animation:.8s ease-out forwards sparkleAnim;position:fixed;box-shadow:0 0 6px #fbbf24,0 0 12px #fbbf2480}@keyframes sparkleAnim{0%{opacity:1;transform:scale(1)translateY(0)}50%{opacity:1;transform:scale(1.5)translateY(-15px)}to{opacity:0;transform:scale(0)translateY(-30px)}}.reveal-letter{opacity:0;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards revealLetterPop;display:inline-block;transform:translateY(30px)scale(.3)}@keyframes revealLetterPop{0%{opacity:0;transform:translateY(30px)scale(.3)}60%{opacity:1;transform:translateY(-8px)scale(1.15)}to{opacity:1;transform:translateY(0)scale(1)}}.surprise-box.wobble-medium{animation:.3s ease-in-out wobbleMedium}@keyframes wobbleMedium{0%{transform:rotate(0)scale(1)}20%{transform:rotate(8deg)scale(1.02)}40%{transform:rotate(-8deg)scale(1.02)}60%{transform:rotate(5deg)scale(1.01)}80%{transform:rotate(-5deg)scale(1.01)}to{transform:rotate(0)scale(1)}}.surprise-box.wobble-intense{animation:.35s ease-in-out wobbleIntense}@keyframes wobbleIntense{0%{transform:rotate(0)scale(1)}15%{transform:rotate(12deg)scale(1.05)}30%{transform:rotate(-12deg)scale(1.05)}45%{transform:rotate(10deg)scale(1.03)}60%{transform:rotate(-10deg)scale(1.03)}75%{transform:rotate(6deg)scale(1.02)}85%{transform:rotate(-6deg)scale(1.02)}to{transform:rotate(0)scale(1)}}.burst-particle{z-index:200;pointer-events:none;border-radius:50%;width:8px;height:8px;animation:1.2s cubic-bezier(.25,1,.5,1) forwards burstFly;position:fixed}@keyframes burstFly{0%{opacity:1;transform:translate(0)scale(1)}70%{opacity:.8}to{opacity:0;transform:translate(var(--tx), var(--ty)) scale(0)}}.falling-heart{z-index:150;pointer-events:none;opacity:0;animation:linear forwards heartFall;position:fixed;top:-30px}@keyframes heartFall{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:1}90%{opacity:.8}to{opacity:0;transform:translateY(110vh)rotate(360deg)}}.glow-pulse{z-index:90;pointer-events:none;background:radial-gradient(circle,#fbbf2466 0%,#f472b633 40%,#0000 70%);border-radius:50%;width:0;height:0;animation:1.8s ease-out forwards glowExpand;position:fixed;top:50%;left:50%}@keyframes glowExpand{0%{opacity:.8;width:0;height:0;margin-top:0;margin-left:0}50%{opacity:1}to{opacity:0;width:200vmax;height:200vmax;margin-top:-100vmax;margin-left:-100vmax}}.reveal-subtitle{color:#f472b6e6;opacity:0;letter-spacing:2px;margin:.3rem 0;font-family:Dancing Script,cursive;font-size:clamp(1.1rem,4vw,1.6rem);animation:1s ease-out .5s forwards subtitleFade}@keyframes subtitleFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.celebration-confetti{z-index:150;pointer-events:none;border-radius:2px;animation:linear forwards confettiFall;position:fixed;top:-20px;transform:rotate(0)}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}.firework-spark{z-index:160;pointer-events:none;border-radius:50%;width:5px;height:5px;animation:1s cubic-bezier(.25,1,.5,1) forwards sparkBurst;position:fixed}@keyframes sparkBurst{0%{opacity:1;transform:translate(0)scale(1.5)}60%{opacity:.9}to{opacity:0;transform:translate(var(--tx), var(--ty)) scale(0)}}.treat-next-btn{color:#ffffffe6;background:#dc262633;border-color:#dc262666;margin-top:1.5rem;padding:.7rem 2rem;font-size:clamp(.85rem,2.5vw,1rem);animation:2s ease-in-out infinite pulseGlow;display:inline-block;position:relative!important;bottom:auto!important;left:auto!important;transform:none!important}.treat-next-btn:active{background:#dc262666}@keyframes pulseGlow{0%,to{box-shadow:0 0 10px #dc262633}50%{box-shadow:0 0 25px #dc262680}}.globe-page.active,.surprise-page.active,.message-page.active,.quiz-page.active,.scratch-page.active,.treat-page.active{opacity:1;display:flex}.memories-page.active{opacity:1;display:block}.rb-page{opacity:0;z-index:100;background:#000;transition:opacity 1.2s;position:fixed;inset:0;overflow:hidden}.rb-visible{opacity:1}.rb-bg{z-index:0;background:#000;position:absolute;inset:0}.rb-slideshow{z-index:1;position:absolute;inset:0}.rb-slide{opacity:0;will-change:transform, opacity;background-position:50%;background-size:cover;width:120%;height:120%;transition:opacity .8s;position:absolute;inset:-10%}.rb-slide-active{opacity:1;animation:rbKenBurns var(--rb-dur,3s) ease-in-out forwards}@keyframes rbKenBurns{0%{transform:var(--rb-from,scale(1))}to{transform:var(--rb-to,scale(1.1))}}.rb-overlay{z-index:2;background:#0000002e;position:absolute;inset:0}.rb-vignette{z-index:3;background:radial-gradient(#0000 50%,#00000080 100%);position:absolute;inset:0}.rb-canvas{z-index:4;pointer-events:none;position:absolute;inset:0}.rb-sparkles{z-index:5;pointer-events:none;position:absolute;inset:0}.rb-spark{opacity:0;background:#fff;border-radius:50%;animation:3s ease-in-out infinite rbSparkle;position:absolute;box-shadow:0 0 6px 2px #ffffffe6,0 0 14px 4px #dc262680}@keyframes rbSparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.rb-float-roses{z-index:6;pointer-events:none;position:absolute;inset:0}.rb-float-emoji{opacity:0;animation:4s ease-out forwards rbFloatUp;position:absolute;bottom:-40px}@keyframes rbFloatUp{0%{opacity:0;transform:translateY(0)scale(.5)}20%{opacity:1;transform:translateY(-80px)scale(1)}80%{opacity:.8;transform:translateY(-350px)scale(1.1)rotate(15deg)}to{opacity:0;transform:translateY(-500px)scale(.8)rotate(30deg)}}.rb-content{z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:40px 20px;display:flex;position:absolute;inset:0}.rb-text-area{text-align:center;animation:1.2s forwards rbFadeUp}.rb-for-you{color:#ffc8c8cc;letter-spacing:6px;text-transform:uppercase;opacity:0;margin:0 0 8px;font-family:Poppins,sans-serif;font-size:18px;font-weight:300;animation:1s .2s forwards rbFadeUp}.rb-name{color:#fff;white-space:nowrap;text-shadow:0 0 30px #dc2626e6,0 0 60px #dc262680,0 0 100px #dc26264d,0 3px 6px #0009;opacity:0;margin:0;font-family:Dancing Script,cursive;font-size:clamp(42px,12vw,56px);font-weight:700;line-height:1.1;animation:1.5s forwards rbNameReveal}.rb-rose-icon{margin-left:6px;animation:1.5s ease-in-out infinite rbHeartBeat;display:inline-block}.rb-subtitle{color:#ffc8c880;opacity:0;margin-top:10px;font-family:Poppins,sans-serif;font-size:13px;font-style:italic;transition:opacity 1.5s .5s}.rb-subtitle-show{opacity:1}@keyframes rbFadeUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes rbNameReveal{0%{opacity:0;letter-spacing:6px;transform:scale(.7)translateY(10px)}60%{opacity:1;letter-spacing:2px;transform:scale(1.05)translateY(-3px)}to{opacity:1;letter-spacing:1px;transform:scale(1)translateY(0)}}@keyframes rbHeartBeat{0%,to{transform:scale(1)}25%{transform:scale(1.25)}50%{transform:scale(1)}75%{transform:scale(1.15)}}.rb-btn{color:#fff;cursor:pointer;letter-spacing:1.5px;opacity:0;z-index:20;background:linear-gradient(135deg,#dc2626,#991b1b);border:none;border-radius:50px;align-items:center;gap:10px;padding:16px 40px;font-family:Poppins,sans-serif;font-size:17px;font-weight:600;transition:transform .3s,box-shadow .3s;animation:1s forwards rbFadeUp;display:flex;position:relative;overflow:hidden;box-shadow:0 0 25px #dc262680,0 6px 20px #0006,inset 0 1px #ffffff26}.rb-btn:active{transform:scale(.95)}.rb-btn:before{content:"";background:linear-gradient(45deg,#0000 40%,#fff3 50%,#0000 60%);width:200%;height:200%;animation:3s ease-in-out infinite rbBtnShine;position:absolute;top:-50%;left:-50%}@keyframes rbBtnShine{0%,to{transform:translate(-100%)rotate(45deg)}50%{transform:translate(100%)rotate(45deg)}}.rb-btn-heart{animation:1.5s ease-in-out infinite rbHeartBeat;display:inline-block}.rb-bottom-glow{filter:blur(30px);z-index:1;background:radial-gradient(#dc262640 0%,#0000 70%);border-radius:50%;width:300px;height:120px;animation:3s ease-in-out infinite alternate rbPulseGlow;position:absolute;bottom:-40px;left:50%;transform:translate(-50%)}@keyframes rbPulseGlow{0%{opacity:.5;transform:translate(-50%)scale(1)}to{opacity:1;transform:translate(-50%)scale(1.2)}}.rb-modal-backdrop{z-index:30;background:#0000008f;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.rb-modal-card{text-align:center;background:#140b0d;border:1px solid #ffd4d41f;border-radius:28px;width:min(100%,420px);padding:28px;box-shadow:0 24px 60px #00000073}.rb-modal-text{color:#fff3f3;margin:0;font-family:Poppins,sans-serif;font-size:clamp(1rem,2.8vw,1.15rem);line-height:1.6}.rb-modal-actions{justify-content:center;gap:12px;margin-top:20px;display:flex}.rb-modal-btn{cursor:pointer;border:0;border-radius:999px;min-width:140px;padding:14px 18px;font-family:Poppins,sans-serif;font-size:.95rem;font-weight:600}.rb-modal-btn-primary{color:#fff;background:#dc2626}.rb-modal-btn-secondary{color:#ffe3e3;background:#261618;border:1px solid #ffe3e324}.rose-song-island{top:max(12px, env(safe-area-inset-top));z-index:140;background:#0f0f12e6;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:14px;width:min(100vw - 32px,340px);padding:12px 14px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #00000038}.rose-song-meta{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.rose-song-dot{background:#5f5f66;border-radius:50%;flex:none;width:10px;height:10px}.rose-song-dot.active{background:#ef4444;box-shadow:0 0 0 4px #ef444429}.rose-song-copy{flex-direction:column;min-width:0;display:flex}.rose-song-label{color:#ffffff94;font-family:Poppins,sans-serif;font-size:.7rem;line-height:1.1}.rose-song-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-family:Poppins,sans-serif;font-size:.92rem;font-weight:600;overflow:hidden}.rose-song-toggle{color:#111217;cursor:pointer;background:#fff;border:0;border-radius:999px;flex:none;padding:10px 14px;font-family:Poppins,sans-serif;font-size:.82rem;font-weight:700}@media (max-width:640px){.rb-modal-actions{flex-direction:column}.rb-modal-btn{width:100%}.rose-song-island{gap:10px;width:min(100vw - 20px,320px);padding:10px 12px}.rose-song-toggle{padding:9px 12px}}
