:root{--bg:#fff7f9;--accent:#ff6b9f;--muted:#5b5b5b;--bg-layer-blur:14px;--hero-overlay-blur:8px;--floating-photo-blur:10px}*{box-sizing:border-box}body{font-family:Inter,system-ui,Arial,sans-serif;margin:0;background:var(--bg);color:#222}.app{max-width:100%;margin:0;padding:0}.hero{text-align:center;padding:20px 10px}.hero h1{color:var(--accent);margin:0;font-size:1.5rem}.lead{color:var(--muted);font-size:.95rem}.card{background:#fff;padding:14px;border-radius:10px;box-shadow:0 8px 20px #0000000f}.hero-memory{padding:48px 18px 28px;background:linear-gradient(180deg,#fffafb05,#0000);display:flex;align-items:center;justify-content:center}.hero-inner{max-width:960px;text-align:center}.hero-memory-title{font-family:Georgia,Times New Roman,serif;font-size:2rem;margin:0;color:#2b1b25}.hero-memory-sub{margin:10px 0 20px;color:#5b4a50}.hero-ctas{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.btn{background:#ff6b9f;color:#fff;border:0;padding:10px 14px;border-radius:10px;font-weight:600;cursor:pointer}.btn.ghost{background:transparent;color:#ff6b9f;border:1px solid rgba(255,107,159,.18)}.highlights{padding:28px 12px}.highlights .section-inner{max-width:960px;margin:0 auto}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:12px}.highlights-grid .thumb{width:100%;height:140px;object-fit:cover;border-radius:10px;box-shadow:0 8px 20px #00000014;transform-origin:center center}.section-title{font-family:Georgia,Times New Roman,serif;font-size:1.4rem;margin:0 0 14px;color:#2b1b25;text-align:left}.highlights .section-title{text-align:center}.mem-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:14px;margin-top:10px;opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}.mem-grid.in-view{opacity:1;transform:none}.mem-item{overflow:visible;border-radius:12px}.mem-photo{width:100%;height:220px;object-fit:cover;border-radius:12px;display:block;box-shadow:0 14px 44px #0000001a;transition:transform .36s cubic-bezier(.2,.9,.2,1),box-shadow .28s ease}.mem-photo:hover{transform:scale(1.06);box-shadow:0 30px 80px #00000029}@media (min-width:720px){.mem-grid{grid-template-columns:repeat(2,1fr);gap:16px}.mem-photo{height:260px}}@media (min-width:1040px){.mem-grid{grid-template-columns:repeat(3,1fr);gap:18px}.mem-photo{height:300px}}.memory-day{padding:28px 12px}.memory-inner{max-width:960px;margin:0 auto}.memory-row{display:flex;flex-direction:column;gap:14px;align-items:center}.memory-image{position:relative;border-radius:14px;overflow:visible}.memory-image img{width:100%;max-width:520px;height:auto;border-radius:12px;display:block;box-shadow:0 24px 80px #0000002e}.memory-copy{max-width:520px}.memory-caption{font-family:Georgia,Times New Roman,serif;font-size:1.4rem;margin:8px 0;color:#2b1b25}.memory-note{color:#5b4a50}.memory-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.memory-particles .m-particle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(255,200,220,.12) 20%,transparent 60%);opacity:.08;filter:blur(6px)}.m-particle.p-0{width:120px;height:120px;left:6%;top:10%;animation:drift 18s linear infinite}.m-particle.p-1{width:80px;height:80px;left:72%;top:6%;animation:drift 22s linear infinite}.m-particle.p-2{width:60px;height:60px;left:40%;top:60%;animation:drift 20s linear infinite}.m-particle.p-3{width:100px;height:100px;left:12%;top:62%;animation:drift 24s linear infinite}@media (min-width:880px){.memory-row{flex-direction:row;align-items:center;justify-content:space-between}.memory-image img{max-width:560px}.memory-copy{padding-left:20px}}.mem-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0a080a99;display:flex;align-items:center;justify-content:center;padding:28px;animation:modalFade .28s ease}.modal-inner{max-width:88vw;max-height:88vh;display:flex;align-items:center;justify-content:center}.modal-photo{max-width:100%;max-height:88vh;border-radius:12px;box-shadow:0 28px 90px #0009;transform:translateY(6px);opacity:0;animation:modalPop .36s cubic-bezier(.2,.9,.2,1) forwards}.modal-close,.modal-prev,.modal-next{position:fixed;z-index:70;background:transparent;border:0;color:#fff;font-size:20px;padding:10px;cursor:pointer}.modal-close{right:20px;top:18px}.modal-prev{left:18px;top:50%;transform:translateY(-50%)}.modal-next{right:18px;top:50%;transform:translateY(-50%)}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{transform:translateY(16px) scale(.98);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.mem-grid,.mem-photo,.mem-modal,.modal-photo{transition:none;animation:none}}.animate-thumb{opacity:0;transform:translateY(10px) scale(.98);animation:thumbIn .52s cubic-bezier(.2,.9,.2,1) var(--thumb-delay,0ms) forwards,thumbFloat var(--thumb-float-dur,8s) ease-in-out calc(var(--thumb-delay,0ms) + .52s) infinite alternate}@keyframes thumbIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes thumbFloat{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.02)}to{transform:translateY(0) scale(1)}}.highlights-grid .thumb:hover{transform:translateY(-6px) scale(1.04);box-shadow:0 18px 36px #0000001f;transition:transform .26s ease,box-shadow .26s ease}@media (prefers-reduced-motion: reduce){.animate-thumb{animation:none;opacity:1;transform:none}.highlights-grid .thumb:hover{transition:none}}.explore{padding:28px 12px;background:linear-gradient(180deg,#ffffff05,#fff0)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;max-width:960px;margin:0 auto}.card{background:#fff;border-radius:12px;padding:20px;text-align:center;box-shadow:0 8px 24px #0000000f;cursor:pointer;color:#2b1b25;font-weight:600}.site-footer{text-align:center;padding:28px 12px;color:#6b4a56}.footer-emo{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 12px;background:linear-gradient(180deg,#fff4f6e6,#faf8fff2);border-top:1px solid rgba(120,100,110,.06)}.footer-inner{max-width:940px;width:100%;text-align:center}.footer-msg{font-size:1.05rem;color:#3b2a31;margin:0 0 6px;font-family:Georgia,Times New Roman,serif}.footer-sub{color:#6d585f;font-size:.92rem;margin:0}.footer-heart{display:inline-block;margin-left:8px;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#ff8da1,#ffd1dc);box-shadow:0 6px 18px #ff82a02e;transform:translateY(0);transition:box-shadow .35s ease,transform .35s ease}.footer-heart.glow{box-shadow:0 10px 30px #ff78a052;transform:translateY(-2px)}.footer-meta{margin-top:8px;color:#735c63;font-size:.85rem}.footer-emo{opacity:0;transform:translateY(8px);animation:fadeInUp .9s ease forwards .28s}@keyframes fadeInUp{to{opacity:1;transform:none}}@media (min-width:880px){.footer-msg{font-size:1.18rem}}.gallery-card{background:transparent;border:none;box-shadow:none;padding:6px 6px 18px;overflow:visible}.gallery-card h2{color:#2b1b25;margin:8px 6px}.hero-romantic{position:relative;min-height:56vh;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center center;padding:28px 12px}.hero-romantic .hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000047,#0000007a);mix-blend-mode:normal;z-index:0}.hero-romantic .hero-content{position:relative;z-index:2;max-width:860px;text-align:center;color:#f5f5f5;padding:22px}.romantic-title{font-family:Georgia,Times New Roman,serif;font-size:1.6rem;margin:0 0 8px;opacity:0;animation:fadeInUp .9s ease .18s forwards}.romantic-sub{font-family:Inter,system-ui,Arial,sans-serif;margin:0 0 18px;color:#ffffffe6;opacity:0;animation:fadeInUp .9s ease .34s forwards}.hero-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeInUp .9s ease .6s forwards}.btn-glow{background:linear-gradient(90deg,#ff7aa8,#ff5d9a);box-shadow:0 8px 30px #ff6e962e;border:0;color:#fff;padding:12px 16px;border-radius:12px;font-weight:700;transition:box-shadow .2s ease,transform .15s ease}.btn-glow.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:none}.btn-glow:hover{transform:translateY(-3px);box-shadow:0 18px 44px #ff6e9642}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero-romantic{background-repeat:no-repeat;--hero-zoom-from:100%;--hero-zoom-to:106%;background-size:var(--hero-zoom-from);animation:heroZoom 24s ease-in-out infinite alternate}.hero-romantic:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#fff5f714,#00000047);mix-blend-mode:overlay;-webkit-backdrop-filter:blur(var(--hero-overlay-blur,6px));backdrop-filter:blur(var(--hero-overlay-blur,6px))}.hero-romantic:after{content:"";position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:3;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(20,8,16,.14) 70%);filter:blur(32px);opacity:.9}@keyframes heroZoom{0%{background-size:var(--hero-zoom-from)}to{background-size:var(--hero-zoom-to)}}.romantic-title{font-family:Georgia,Times New Roman,serif;font-size:2rem;margin:0 0 6px;opacity:0;animation:fadeInUp .9s ease .18s forwards;color:var(--accent)}.romantic-sub{font-family:Inter,system-ui,Arial,sans-serif;margin:0 0 18px;color:#ffffffeb;opacity:0;animation:fadeInUp .9s ease .34s forwards}.heart-emoji{display:inline-block;margin-left:6px;transform-origin:center center}.heart-emoji.pulse{animation:heartPulse 2.6s ease-in-out infinite}@keyframes heartPulse{0%{transform:scale(1)}20%{transform:scale(1.16)}40%{transform:scale(.98)}60%{transform:scale(1.06)}to{transform:scale(1)}}.scroll-indicator{margin:18px auto 0;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.9;animation:fadeInUp .9s ease .9s forwards}.scroll-indicator .si-bar{width:28px;height:6px;border-radius:8px;background:#ffffff2e;display:block}.scroll-indicator .si-arrow{color:#fffffff2;font-size:20px;display:block;margin-top:-6px;animation:siBounce 1.6s infinite}@keyframes siBounce{0%{transform:translateY(0)}50%{transform:translateY(8px)}to{transform:translateY(0)}}.together-meta{margin-top:12px;color:#fff8faf2;font-size:.95rem}.btn-glow:hover{transform:translateY(-4px);box-shadow:0 22px 58px #ff6e9638}@media (max-width:520px){.hero-romantic{min-height:56vh;padding:18px}.romantic-title{font-size:1.4rem}.romantic-sub{font-size:1rem}.together-meta{font-size:.9rem}.hero-romantic:after{filter:blur(18px);opacity:.6}}.countdown-root .flip-card{background:transparent}.countdown-root .flip-face{background:linear-gradient(180deg,#fff,#fff7f8);color:#3b2a31;border-radius:12px;box-shadow:0 18px 48px #2b1b251f;border:1px solid rgba(43,27,37,.06)}.countdown-root .flip-face.back{background:linear-gradient(180deg,#fff7f8,#fff1f4)}.countdown-root .flip-label,.countdown-root .colon{color:#6b3b44}.hero-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.hero-particles .particle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(255,210,220,.12) 20%,transparent 60%);opacity:.06;filter:blur(6px);animation:particleFloat 9s linear infinite}@keyframes particleFloat{0%{transform:translateY(0) scale(1);opacity:.06}50%{transform:translateY(-8vh) scale(1.06);opacity:.14}to{transform:translateY(0) scale(1);opacity:.06}}@media (min-width:720px){.romantic-title{font-size:2.6rem}.romantic-sub{font-size:1.05rem}.hero-romantic{min-height:68vh}}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.feature-card{background:linear-gradient(180deg,#ffffff0f,#ffffff05);backdrop-filter:blur(6px) saturate(1.02);-webkit-backdrop-filter:blur(6px);border-radius:14px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;cursor:pointer;transition:transform .28s cubic-bezier(.2,.9,.2,1),box-shadow .28s ease;box-shadow:0 8px 26px #0000000f;border:1px solid rgba(255,255,255,.06)}.feature-card:focus{outline:none;box-shadow:0 18px 46px #0000001f}.feature-card:hover{transform:translateY(-8px);box-shadow:0 28px 70px #0000001f}.feature-icon{font-size:28px;width:46px;height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#ffffff0f,#ffffff05);box-shadow:inset 0 -6px 18px #ffffff05}.feature-title{font-weight:700;color:#2b1b25;font-size:1rem}.feature-desc{color:#2b1b25b8;font-size:0 ninerem}.feature-card:hover{box-shadow:0 32px 90px #ff6e9614,0 8px 24px #00000014}@media (min-width:720px){.feature-grid{grid-template-columns:repeat(3,1fr);gap:16px}}@media (min-width:1100px){.feature-grid{grid-template-columns:repeat(4,1fr);gap:18px}}@media (prefers-reduced-motion: reduce){.feature-card{transition:none}}.hero-romantic:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background-image:repeating-linear-gradient(135deg,#ffffff05,#ffffff05,#0000 2px,#0000 10px),radial-gradient(circle at 10% 20%,rgba(255,200,230,.06),rgba(255,200,230,.02) 10%,transparent 30%);mix-blend-mode:overlay;filter:blur(var(--hero-overlay-blur)) saturate(1.02)}@media (prefers-reduced-motion: reduce){.romantic-title,.romantic-sub,.hero-buttons{animation:none;opacity:1;transform:none}.hero-particles .particle{animation:none}}.photo-marquee{display:flex;flex-direction:column;gap:56px;margin-top:20px}.marquee-row{overflow-x:hidden;overflow-y:visible;position:relative;width:100%;height:260px;padding:18px 0}.marquee-track{display:flex;gap:12px;align-items:center;height:100%;transform:translateZ(0);will-change:transform;backface-visibility:hidden}.marquee-row .marquee-track{animation:marquee var(--speed,14s) linear infinite;animation-play-state:running}.marquee-row.reverse .marquee-track{animation-direction:reverse}.marquee-img{width:280px;height:180px;object-fit:cover;border-radius:12px;flex:0 0 auto;box-shadow:0 12px 30px #0000001f;transform:rotate(var(--tilt,0deg));transition:transform .32s cubic-bezier(.2,.9,.2,1),box-shadow .32s ease;transform-origin:center center}.marquee-img:hover{transform:translateY(-12px) scale(1.18) rotate(calc(var(--tilt,0deg) + 2deg));box-shadow:0 36px 78px #00000042;position:relative;z-index:8}@keyframes marquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@media (max-width:720px){.marquee-img{width:160px;height:120px;border-radius:8px}.marquee-row{height:160px;padding:8px 0}.photo-marquee{gap:28px}}@media (prefers-reduced-motion: reduce){.marquee-row .marquee-track{animation:none}}.emoji-burst{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;overflow:visible}.emoji-burst .emoji{position:absolute;font-size:22px;transform:translate(-50%,-50%) scale(.9);opacity:1;will-change:transform,opacity}.emoji-burst .emoji{animation:emojiBurst var(--dur,1s) cubic-bezier(.12,.8,.25,1) var(--delay,0s) forwards}@keyframes emojiBurst{0%{transform:translate(-50%,-50%) scale(.9) rotate(0);opacity:1}60%{opacity:1}to{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1.18) rotate(var(--rot));opacity:0}}.countdown-root{position:relative;min-height:100vh;overflow:hidden}.bg-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-size:cover;background-position:center center;transform-origin:center center;filter:blur(var(--bg-layer-blur)) saturate(.96);will-change:transform;animation:zoomSlow 30s ease-in-out infinite alternate}.bg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,#00000038,#0000007a);pointer-events:none}@keyframes zoomSlow{0%{transform:scale(1)}to{transform:scale(1.06)}}@media (max-width:520px){.bg-layer{filter:blur(calc(var(--bg-layer-blur) - 4px));animation:none}.bg-overlay{background:linear-gradient(180deg,#00000047,#0009)}}@media (prefers-reduced-motion: reduce){.bg-layer{animation:none}}.balloons{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:visible}.balloon{position:absolute;bottom:-90px;opacity:.95;animation-name:floatUp;animation-timing-function:ease-in;animation-iteration-count:infinite}.balloon:nth-child(2){animation-duration:7s;animation-delay:.6s}.balloon:nth-child(3){animation-duration:5.6s;animation-delay:1.2s}@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:0}20%{opacity:1}to{transform:translateY(-120vh) scale(1.05);opacity:0}}@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:1}to{transform:translateY(-120vh) scale(1.05);opacity:0}}.countdown-root .hero{position:relative;z-index:3;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 12px}.hero{position:relative;z-index:2}.minimal-hero .hero-inner{max-width:920px;width:100%;padding:28px 18px;text-align:center;color:#f5f5f5}.minimal-title{font-family:Georgia,Times New Roman,serif;font-size:1.8rem;margin:0 0 8px;letter-spacing:.01em}.minimal-sub{font-family:Inter,system-ui,Arial,sans-serif;margin:0 0 18px;color:#ffffffe0}.card.hero.minimal-hero{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:22px;background:#fff}.card.hero.minimal-hero .hero-inner{max-width:640px;color:#2b1b25;padding:22px;text-align:center;display:flex;flex-direction:column;justify-content:space-between;min-height:180px}.card.hero.minimal-hero .hero-inner .hero-footer{margin-top:14px}.card.hero.minimal-hero .hero-inner .hero-footer .btn{min-width:140px}.card.hero.minimal-hero{position:relative;overflow:visible}.card.hero.minimal-hero .hero-inner{position:relative;z-index:2}.notyet-emoji{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:visible}.ny-emoji{position:absolute;font-size:20px;line-height:1;transform:translate(-50%,-50%) scale(.98);opacity:0;will-change:transform,opacity;animation-name:nyFloat;animation-timing-function:linear;animation-iteration-count:infinite}.ny-emoji.small{font-size:14px}.ny-emoji.big{font-size:28px}@keyframes nyFloat{0%{transform:translate(-50%,-50%) translateY(0) scale(.98);opacity:0}10%{opacity:.9}50%{transform:translate(-50%,-50%) translateY(-18vh) scale(1.06);opacity:.98}85%{transform:translate(-50%,-50%) translateY(-32vh) scale(1.02);opacity:.6}to{transform:translate(-50%,-50%) translateY(-40vh) scale(1);opacity:0}}@media (min-width:720px){.minimal-title{font-size:2.6rem}.minimal-sub{font-size:1.1rem}}.flip-timer{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px;opacity:0;transform:translateY(8px);transition:opacity .48s ease,transform .48s ease}.flip-timer.in-view{opacity:1;transform:none}.flip-unit{display:flex;flex-direction:column;align-items:center;perspective:900px;-webkit-perspective:900px}.flip-card{width:90px;height:78px;position:relative;margin:0;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.flip-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fffffff2,#ffffffe6);border-radius:12px;font-weight:700;color:#111;font-size:28px;border:1px solid rgba(0,0,0,.06);font-family:Inter,system-ui,Arial,sans-serif;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:center top;-webkit-transform-origin:center top}.flip-face.front{transform:rotateX(0);-webkit-transform:rotateX(0deg);z-index:2}.flip-face.back{transform:rotateX(90deg);-webkit-transform:rotateX(90deg);z-index:1}.flip-card.flip .front{box-shadow:0 26px 80px #00000029}.flip-card.flip .back{box-shadow:0 22px 60px #0000001f}.flip-card.flip .front{animation:flipFront .42s linear forwards,flipFront2 .42s linear forwards}.flip-card.flip .back{animation:flipBack .42s linear forwards,flipBack2 .42s linear forwards}@keyframes flipFront{0%{transform:rotateX(0) translateZ(.1px)}to{transform:rotateX(-90deg) translateZ(.1px)}}@keyframes flipBack{0%{transform:rotateX(90deg) translateZ(.1px)}to{transform:rotateX(0) translateZ(.1px)}}@-webkit-keyframes flipFront{0%{-webkit-transform:rotateX(0deg) translateZ(.1px)}to{-webkit-transform:rotateX(-90deg) translateZ(.1px)}}@-webkit-keyframes flipBack{0%{-webkit-transform:rotateX(90deg) translateZ(.1px)}to{-webkit-transform:rotateX(0deg) translateZ(.1px)}}@keyframes flipFront2{0%{opacity:1;transform:translateY(0)}50%{opacity:.08;transform:translateY(-18px)}to{opacity:0;transform:translateY(-22px)}}@keyframes flipBack2{0%{opacity:0;transform:translateY(22px)}50%{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes flipFront2{0%{opacity:1;-webkit-transform:translateY(0)}50%{opacity:.08;-webkit-transform:translateY(-18px)}to{opacity:0;-webkit-transform:translateY(-22px)}}@-webkit-keyframes flipBack2{0%{opacity:0;-webkit-transform:translateY(22px)}50%{opacity:.6;-webkit-transform:translateY(8px)}to{opacity:1;-webkit-transform:translateY(0)}}.flip-face.pulse{animation:flipPulse .52s cubic-bezier(.2,.9,.2,1) both}@keyframes flipPulse{0%{transform:scale(1) translateY(0);opacity:1}40%{transform:scale(1.08) translateY(-6px);opacity:.96}to{transform:scale(1) translateY(0);opacity:1}}@-webkit-keyframes flipPulse{0%{-webkit-transform:scale(1) translateY(0);opacity:1}40%{-webkit-transform:scale(1.08) translateY(-6px);opacity:.96}to{-webkit-transform:scale(1) translateY(0);opacity:1}}.card.hero.minimal-hero h2{animation:notYetPulse 1.6s ease-in-out infinite}@keyframes notYetPulse{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.card.hero.minimal-hero .hero-inner{animation:popIn .48s cubic-bezier(.2,.9,.2,1) both}@keyframes popIn{0%{opacity:0;transform:translateY(8px) scale(.996)}to{opacity:1;transform:none}}.card.hero.minimal-hero .lead{animation:floatUp .9s ease infinite alternate;opacity:.95}@keyframes floatUp{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@media (max-width:520px) and (prefers-reduced-motion: no-preference){.flip-card.flip .front,.flip-card.flip .back{animation-duration:.36s}.flip-card.flip .front,.flip-card.flip .back{transform-origin:center top}}.flip-label{font-size:12px;color:#ffffffd9;margin-top:10px}.colon{font-size:34px;color:#ffffffe6;margin:0 6px}.particles{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.particle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(255,220,220,.14) 30%,transparent 60%);opacity:.06}.p-0{width:220px;height:220px;left:6%;top:10%;animation:drift 20s linear infinite}.p-1{width:160px;height:160px;left:72%;top:6%;animation:drift 24s linear infinite}.p-2{width:120px;height:120px;left:40%;top:60%;animation:drift 22s linear infinite}.p-3{width:180px;height:180px;left:12%;top:62%;animation:drift 26s linear infinite}.p-4{width:140px;height:140px;left:82%;top:40%;animation:drift 28s linear infinite}.p-5{width:100px;height:100px;left:54%;top:22%;animation:drift 18s linear infinite}@keyframes drift{0%{transform:translateY(0) translate(0) scale(1)}50%{transform:translateY(-6vh) translate(4vw) scale(1.02)}to{transform:translateY(0) translate(0) scale(1)}}.floating-photos{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:visible}.floating-photo{position:absolute;border-radius:10px;object-fit:cover;filter:blur(var(--floating-photo-blur)) saturate(.95) brightness(.95);opacity:.36;transform:translateY(0) rotate(0);will-change:transform,opacity;box-shadow:0 8px 26px #00000024;border:1px solid rgba(255,255,255,.06)}.floating-photo{animation-name:floatMove;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes floatMove{0%{transform:translateZ(0) rotate(-6deg);opacity:.12}20%{opacity:.28}50%{transform:translate3d(8vw,-28vh,0) rotate(6deg);opacity:.32}80%{opacity:.18}to{transform:translate3d(-6vw,-90vh,0) rotate(-4deg);opacity:0}}@media (max-width:520px){.floating-photo{filter:blur(6px);opacity:.28}}@media (max-width:520px){.minimal-hero .hero-inner{padding:18px}.minimal-title{font-size:1.4rem}.minimal-sub{font-size:1rem}.flip-timer{flex-wrap:wrap;gap:10px;padding:8px 0}.flip-card{width:64px;height:56px}.flip-face{font-size:20px}.colon{font-size:26px}.hero-buttons{flex-direction:column;gap:8px}.hero-buttons .btn,.hero-buttons .btn-glow{width:100%;padding:10px 12px}.countdown-hearts{display:block}.particles{opacity:.04}.floating-photos{display:none}}@media (prefers-reduced-motion: reduce){.floating-photo{animation:none!important;opacity:.18}}body.debug-show-images{--bg-blur:8px !important}body.debug-show-images .floating-photo{opacity:.68!important;filter:blur(4px)!important}.zero-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#fff5f700,#fff5f705);opacity:0;pointer-events:none;z-index:4;transition:opacity .9s ease}.transitioning .zero-overlay{opacity:1;background:#fff8faf7}.countdown-root{background:radial-gradient(circle at 10% 20%,rgba(255,230,240,.9),transparent 8%),radial-gradient(circle at 80% 80%,rgba(255,240,250,.92),transparent 10%),linear-gradient(180deg,#fff7fb,#fff1f5,#fff7fb)}.countdown-bokeh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;mix-blend-mode:screen}.countdown-bokeh .dot{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(255,200,230,.12) 20%,transparent 60%);opacity:.06;filter:blur(8px)}.countdown-hearts{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;overflow:visible}.c-heart{position:absolute;font-size:20px;line-height:1;color:#ff6b9f;opacity:.92;text-shadow:0 6px 18px rgba(255,110,150,.12);transform:translateY(0) scale(.98);will-change:transform,opacity;filter:drop-shadow(0 6px 14px rgba(255,120,160,.12))}.c-heart.small{font-size:14px;opacity:.82}.c-heart.big{font-size:32px;opacity:.98}.c-heart{animation:heartFloat var(--dur,6s) linear var(--delay,0s) infinite}@keyframes heartFloat{0%{transform:translateY(0) scale(.98);opacity:0}10%{opacity:.9}40%{transform:translateY(-20vh) scale(1.06);opacity:.98}80%{transform:translateY(-45vh) scale(1.02);opacity:.6}to{transform:translateY(-60vh) scale(1);opacity:0}}@media (max-width:520px){.c-heart{font-size:16px;opacity:.86;text-shadow:none;filter:none}.c-heart.big{font-size:22px}.c-heart.small{font-size:12px}.c-heart{animation-duration:5.6s}}.countdown-root .bg-overlay{z-index:2}.countdown-root .bg-overlay{background:linear-gradient(180deg,#fff8fa73,#fff2f699);pointer-events:none}.countdown-root .minimal-sub{color:#6b3b44}.countdown-root .minimal-title{color:var(--accent)}@media (min-width:520px){.glass-card{width:420px;padding:28px}.flip-card{width:84px;height:66px}.flip-face{font-size:28px}.hero-title{font-size:1.6rem}}.passcode-input{display:block;width:100%;max-width:280px;margin:0 auto;padding:12px 16px;border-radius:12px;border:1.5px solid rgba(255,107,159,.35);background:#ffffff14;color:#fff;font-size:1.1rem;letter-spacing:.22em;text-align:center;outline:none;transition:border-color .2s;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.passcode-input::placeholder{color:#ffffff59;letter-spacing:.1em}.passcode-input:focus{border-color:#ff6b9f;box-shadow:0 0 0 3px #ff6b9f2e}.passcode-input:disabled{opacity:.4;cursor:not-allowed}.error-msg{margin-top:12px;color:#ffb3c1;font-size:.88rem;font-weight:500;text-align:center;animation:fadeIn .3s ease}
