.memoryverse-container{background:radial-gradient(circle at center,#1e102d 0,#0b0514 100%);color:#f3e8ff;border-radius:24px;padding:2.5rem;border:3px solid #8b5cf6;box-shadow:0 0 30px rgba(139,92,246,.3),inset 0 0 20px rgba(139,92,246,.1);position:relative;overflow:hidden}.memoryverse-stars{position:absolute;inset:0;background-image:radial-gradient(2px 2px at 20px 30px,#ffffff,rgba(0,0,0,0)),radial-gradient(2px 2px at 40px 70px,#e9d5ff,rgba(0,0,0,0)),radial-gradient(1px 1px at 90px 40px,#ffffff,rgba(0,0,0,0)),radial-gradient(2px 2px at 160px 120px,#ddd6fe,rgba(0,0,0,0)),radial-gradient(2px 2px at 230px 180px,#ffffff,rgba(0,0,0,0));background-repeat:repeat;background-size:250px 250px;opacity:.6;animation:starPulse 4s ease-in-out infinite alternate}@keyframes starPulse{0%{opacity:.4}to{opacity:.8}}.memoryverse-nodes{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin:2rem 0;position:relative;z-index:2}.memoryverse-node{background:rgba(139,92,246,.2);border:2px solid #c084fc;padding:.75rem 1.25rem;border-radius:999px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f3e8ff;font-weight:600;box-shadow:0 4px 12px rgba(139,92,246,.2)}.memoryverse-node.active,.memoryverse-node:hover{background:#9333ea;border-color:#f0abfc;transform:translateY(-3px) scale(1.05);box-shadow:0 0 20px rgba(192,132,252,.6);color:#fff}.birthday-stage{background:linear-gradient(130deg,#ff416c,#ff4b2b);border-radius:24px;border:4px solid #3b0f1b;box-shadow:6px 6px 0 #3b0f1b;padding:2.5rem;text-align:center;color:#fff}.birthday-stage,.curtain-wrapper{position:relative;overflow:hidden}.curtain-wrapper{border-radius:16px;background:#111;min-height:250px;margin-bottom:2rem;border:3px solid #ffd700}.curtain-left,.curtain-right,.curtain-wrapper{display:flex;align-items:center;justify-content:center}.curtain-left,.curtain-right{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(90deg,#990000,#cc0000 50%,#800000);z-index:5;transition:transform .8s cubic-bezier(.77,0,.175,1);box-shadow:inset 0 0 20px rgba(0,0,0,.6);font-size:2rem}.curtain-left{left:0;border-right:2px solid #ffd700}.curtain-right{right:0;border-left:2px solid #ffd700}.curtain-open .curtain-left{transform:translateX(-100%)}.curtain-open .curtain-right{transform:translateX(100%)}.birthday-cake{font-size:5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .2s;animation:floatBounce 2s ease-in-out infinite alternate}.birthday-cake:hover{transform:scale(1.1)}@keyframes floatBounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.love-letter-paper{background:#fdf8e2;background-image:radial-gradient(#e5d7b5 1px,transparent 0);background-size:20px 20px;border:2px solid #d4af37;border-radius:8px;padding:3rem 2.5rem;box-shadow:0 10px 30px rgba(0,0,0,.15),inset 0 0 40px rgba(212,175,55,.1);color:#2c1810;position:relative;font-family:Georgia,serif}.wax-seal-btn{width:70px;height:70px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ff4d4d,#990000);border:3px solid #660000;box-shadow:0 6px 15px rgba(0,0,0,.4),inset 0 2px 4px rgba(255,255,255,.4);color:#ffd700;font-size:1.8rem;display:flex;align-items:center;justify-content:center;cursor:pointer;margin:1.5rem auto;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.wax-seal-btn:hover{transform:scale(1.15) rotate(5deg)}.mom-card{background:linear-gradient(145deg,#fff5f7,#fce7f3);border:3px solid #f472b6;border-radius:24px;padding:2.5rem;box-shadow:6px 6px 0 #be185d;color:#831843;position:relative}.floral-corner{position:absolute;font-size:2.5rem;opacity:.8}.floral-top-left{top:15px;left:15px}.floral-bottom-right{bottom:15px;right:15px}.valentine-card{background:linear-gradient(135deg,#ffe4e6,#fecdd3);border:4px solid #3b0f1b;border-radius:28px;padding:2.5rem 2rem;box-shadow:6px 6px 0 #3b0f1b;text-align:center;position:relative;overflow:hidden}.runaway-container{display:flex;gap:1.5rem;justify-content:center;align-items:center;margin-top:2rem;min-height:80px;position:relative}.btn-yes-val{background:#e11d48;color:#fff;font-size:1.25rem;padding:1rem 2rem;border-radius:999px;border:3px solid #3b0f1b;box-shadow:4px 4px 0 #3b0f1b;cursor:pointer;font-weight:800;transition:transform .2s,background .2s;z-index:10}.btn-yes-val:hover{transform:scale(1.1);background:#be123c}.btn-no-val{background:#94a3b8;color:#fff;font-size:1rem;padding:.85rem 1.5rem;border-radius:999px;border:3px solid #3b0f1b;box-shadow:3px 3px 0 #3b0f1b;cursor:pointer;font-weight:700;transition:all .25s cubic-bezier(.34,1.56,.64,1);z-index:9}.wedding-card{background:linear-gradient(145deg,#4c0519,#881337);border:4px solid #fbbf24;border-radius:24px;padding:3rem 2rem;color:#fef3c7;text-align:center;box-shadow:0 15px 35px rgba(76,5,25,.4),0 0 0 2px #f59e0b}.wedding-timer{margin:2rem 0}.timer-box{background:rgba(251,191,36,.15);border:2px solid #fbbf24;border-radius:12px;padding:.75rem 1rem;min-width:70px}.timer-num{font-size:1.75rem;font-weight:800;color:#fbbf24;line-height:1}.timer-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#fde68a;margin-top:.25rem}.capsule-card{background:linear-gradient(145deg,#1e293b,#0f172a);border:4px solid #38bdf8;border-radius:24px;padding:2.5rem;color:#f0f9ff;text-align:center;box-shadow:0 10px 30px rgba(56,189,248,.2)}.capsule-lock{width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#0284c7 0,#0369a1 100%);border:4px solid #7dd3fc;box-shadow:0 0 25px rgba(56,189,248,.5);display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:1.5rem auto;cursor:pointer;transition:transform .3s}.capsule-lock:hover{transform:scale(1.1) rotate(15deg)}.open-when-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.25rem;gap:1.25rem;margin-top:1.5rem}.envelope-card{background:#fff;border:3px solid #3b0f1b;border-radius:16px;padding:1.5rem;box-shadow:4px 4px 0 #3b0f1b;cursor:pointer;transition:all .2s;text-align:center}.envelope-card:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #3b0f1b;background:#fff1f5}.envelope-card.opened{background:#fecdd3;border-color:#e11d48}.scrapbook-desk{background:#451a03;background-image:radial-gradient(#78350f 1px,transparent 0);background-size:16px 16px;border-radius:24px;padding:2.5rem;border:4px solid #78350f;box-shadow:inset 0 0 30px rgba(0,0,0,.6);color:#fff}.polaroid-frame{background:#fff;padding:12px 12px 35px;border-radius:4px;box-shadow:0 8px 20px rgba(0,0,0,.3);transform:rotate(-2deg);transition:transform .3s;color:#1e293b;text-align:center}.polaroid-frame:nth-child(2n){transform:rotate(3deg)}.polaroid-frame:hover{transform:scale(1.05) rotate(0deg);z-index:10}.tape-strip{width:60px;height:20px;background:rgba(254,240,138,.7);position:absolute;top:-10px;left:50%;transform:translateX(-50%) rotate(-3deg);box-shadow:0 2px 4px rgba(0,0,0,.1)}.gift-box-wrapper{text-align:center;padding:2rem 0}.gift-box-3d{width:120px;height:120px;background:linear-gradient(135deg,#ec4899,#db2777)}.gift-ribbon-v{left:50%;width:24px;background:#facc15;transform:translateX(-50%)}.gift-ribbon-h{top:50%;height:24px;background:#facc15;transform:translateY(-50%)}.rose-special-container{background:radial-gradient(circle at center,#2e020d 0,#0d0004 100%);border-radius:24px;padding:3rem 2rem;color:#ffe4e6;border:3px solid #e11d48;box-shadow:0 0 35px rgba(225,29,72,.3);text-align:center;position:relative;overflow:hidden}.blooming-rose-icon{font-size:5.5rem;display:inline-block;animation:pulseRose 3s ease-in-out infinite alternate;filter:drop-shadow(0 0 15px #e11d48);cursor:pointer}@keyframes pulseRose{0%{transform:scale(1);filter:drop-shadow(0 0 10px #e11d48)}to{transform:scale(1.12);filter:drop-shadow(0 0 25px #ff4d7f)}}.flowers-wrapper{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:4px solid #15803d;border-radius:24px;padding:2.5rem;color:#14532d;box-shadow:6px 6px 0 #14532d}.flower-picker{display:flex;gap:1rem;justify-content:center;margin:1.5rem 0;flex-wrap:wrap}.flower-chip{background:#fff;border:2px solid #16a34a;padding:.6rem 1.2rem;border-radius:999px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:2px 2px 0 #14532d}.flower-chip.picked,.flower-chip:hover{background:#22c55e;color:#fff;transform:translateY(-2px)}.song-player-card{background:linear-gradient(145deg,#18181b,#09090b);border:3px solid #27272a;border-radius:24px;padding:2.5rem;color:#fafafa;box-shadow:0 20px 40px rgba(0,0,0,.6);position:relative;overflow:hidden}.vinyl-disk{width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#3f3f46 0,#18181b 40%,#09090b 100%);border:4px solid #52525b;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.5);position:relative}.vinyl-disk.spinning{animation:rotateVinyl 6s linear infinite}@keyframes rotateVinyl{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.vinyl-center{width:50px;height:50px;border-radius:50%;background:#e11d48;border:3px solid #fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.waveform-bar-container{display:flex;gap:4px;align-items:flex-end;height:40px;justify-content:center;margin:1.5rem 0}.bar{width:6px;background:#e11d48;border-radius:4px;animation:eqPulse 1.2s ease-in-out infinite alternate}@keyframes eqPulse{0%{height:10px}to{height:38px}}.art-gallery-card{background:#111827;border:4px solid #f59e0b;border-radius:24px;padding:2.5rem;color:#f9fafb;box-shadow:0 20px 40px rgba(0,0,0,.5);text-align:center}.gallery-frame{background:#fff;padding:16px;border:12px solid #78350f;border-radius:8px;box-shadow:inset 0 0 10px rgba(0,0,0,.5),0 10px 25px rgba(0,0,0,.5);margin:1.5rem auto;max-width:400px;transition:filter .4s ease}.filter-btn-group{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.filter-btn{background:#1f2937;color:#d1d5db;border:1px solid #374151;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s}.filter-btn.active,.filter-btn:hover{background:#f59e0b;color:#111827;border-color:#f59e0b}.filter-oil{filter:contrast(1.2) saturate(1.4) sepia(.2)}.filter-anime{filter:saturate(1.8) contrast(1.1) brightness(1.05)}.filter-watercolor{filter:brightness(1.15) contrast(.9) saturate(1.3)}.filter-vintage{filter:sepia(.6) contrast(1.1) hue-rotate(-10deg)}.filter-sketch{filter:grayscale(1) contrast(2)}.sorry-flow-container{background:linear-gradient(135deg,#1a0826,#2d0b38 50%,#170421);color:#fdf2f8;border-radius:28px;padding:2.5rem 1.75rem;border:2px solid rgba(244,114,182,.3);box-shadow:0 0 40px rgba(236,72,153,.25),inset 0 0 30px rgba(168,85,247,.15);position:relative;overflow:hidden;min-height:580px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-sans,system-ui,-apple-system,sans-serif)}.sorry-flow-sparkles{position:absolute;inset:0;background-image:radial-gradient(2px 2px at 30px 40px,#f472b6,rgba(0,0,0,0)),radial-gradient(3px 3px at 80px 140px,#fb7185,rgba(0,0,0,0)),radial-gradient(2px 2px at 150px 60px,#ffffff,rgba(0,0,0,0)),radial-gradient(2px 2px at 220px 200px,#f472b6,rgba(0,0,0,0)),radial-gradient(3px 3px at 280px 90px,#c084fc,rgba(0,0,0,0)),radial-gradient(2px 2px at 340px 250px,#ffffff,rgba(0,0,0,0));background-repeat:repeat;background-size:320px 320px;opacity:.7;animation:floatSparkles 6s ease-in-out infinite alternate;pointer-events:none}@keyframes floatSparkles{0%{transform:translateY(0) scale(1);opacity:.5}to{transform:translateY(-15px) scale(1.05);opacity:.95}}.sorry-flow-music-toggle{position:absolute;top:1.25rem;right:1.25rem;z-index:10;background:rgba(255,255,255,.12);border:1.5px solid rgba(244,114,182,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:.5rem .9rem;border-radius:999px;font-size:.825rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .3s ease}.sorry-flow-music-toggle:hover{background:rgba(236,72,153,.3);transform:scale(1.05)}.sorry-flow-step{width:100%;max-width:520px;margin:0 auto;text-align:center;position:relative;z-index:2;animation:sorryStepFadeIn .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes sorryStepFadeIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.sorry-flow-sticker{width:130px;height:130px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 10px 15px rgba(236,72,153,.4));animation:cuteBounce 2.5s ease-in-out infinite alternate}@keyframes cuteBounce{0%{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-10px) rotate(3deg)}}.sorry-flow-title{font-family:var(--font-dancing),"Dancing Script","Playfair Display",Georgia,serif;font-size:clamp(2rem,6vw,3rem);font-weight:700;color:#fff;text-shadow:0 0 15px rgba(244,114,182,.6);margin-bottom:.5rem}.sorry-flow-subtitle{color:#fbcfe8;font-size:1.05rem;margin-bottom:2rem;font-weight:500}.sorry-flow-btn-glowing{background:linear-gradient(135deg,#ff4b8b,#d92662);color:#fff;border:none;padding:.9rem 2.25rem;border-radius:9999px;font-size:1.05rem;font-weight:700;cursor:pointer;box-shadow:0 0 20px rgba(255,75,139,.6),inset 0 1px 0 rgba(255,255,255,.4);transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:.5rem}.sorry-flow-btn-glowing:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 0 30px rgba(255,75,139,.9),inset 0 1px 0 rgba(255,255,255,.6)}.sorry-flow-btn-glowing:active{transform:translateY(1px) scale(.98)}.meter-box{background:rgba(255,255,255,.08);border:1.5px solid rgba(244,114,182,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;padding:2rem;margin:1.5rem 0 2rem;box-shadow:0 8px 32px rgba(0,0,0,.3)}.meter-counter{font-size:3.5rem;font-weight:900;color:#ff75ac;text-shadow:0 0 25px rgba(255,117,172,.8);margin:1rem 0;font-family:var(--font-sans,system-ui,sans-serif)}.meter-bar-track{width:100%;height:22px;background:rgba(0,0,0,.3);border-radius:999px;overflow:hidden;padding:3px;border:1px solid rgba(244,114,182,.4)}.meter-bar-fill{height:100%;background:linear-gradient(90deg,#ec4899,#f43f5e,#fbbf24);border-radius:999px;transition:width .1s ease-out;box-shadow:0 0 15px rgba(244,63,94,.8)}.cuteness-warning-badge{background:#f59e0b;color:#111827;font-weight:800;font-size:.85rem;padding:.5rem 1.25rem;border-radius:999px;display:inline-block;margin-top:1.25rem;box-shadow:0 0 20px rgba(245,158,11,.6);animation:warningPulse 1s ease-in-out infinite alternate}@keyframes warningPulse{0%{transform:scale(.96);box-shadow:0 0 10px rgba(245,158,11,.4)}to{transform:scale(1.05);box-shadow:0 0 25px rgba(245,158,11,.9)}}.tap-cards-grid{display:flex;flex-direction:column;gap:1rem;margin:1.75rem 0 2rem}.tap-card-btn{background:rgba(255,255,255,.07);border:1.5px solid rgba(244,114,182,.35);border-radius:20px;padding:1.25rem 1.5rem;color:#fff;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;align-items:center;gap:1rem;text-align:left;position:relative;overflow:hidden}.tap-card-btn:hover{background:rgba(236,72,153,.18);border-color:rgba(244,114,182,.7);transform:translateY(-2px)}.tap-card-btn.revealed{background:linear-gradient(135deg,rgba(236,72,153,.25),rgba(168,85,247,.25));border-color:#ec4899;box-shadow:0 0 20px rgba(236,72,153,.3)}.tap-card-icon{width:44px;height:44px;border-radius:50%;background:rgba(236,72,153,.3);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;box-shadow:0 0 12px rgba(236,72,153,.4)}.tap-card-text{font-size:1.05rem;line-height:1.5;font-weight:500;color:#fce7f3}.polaroid-deck-container{position:relative;width:100%;max-width:320px;height:360px;margin:1.5rem auto 2.5rem}.polaroid-card{position:absolute;inset:0;background:#ffffff;border-radius:16px;padding:14px 14px 20px;box-shadow:0 15px 35px rgba(0,0,0,.5),0 0 20px rgba(236,72,153,.2);cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.polaroid-card img{width:100%;height:250px;object-fit:cover;border-radius:10px;background:#f1f5f9}.polaroid-caption{color:#1f2937;font-family:Dancing Script,Georgia,serif;font-size:1.35rem;font-weight:700;text-align:center;margin-top:.75rem}.typewriter-card-box{background:rgba(255,255,255,.09);border:1.5px solid rgba(244,114,182,.4);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:24px;padding:2rem 1.75rem;text-align:left;box-shadow:0 10px 40px rgba(0,0,0,.4);margin:1.5rem 0 2rem;position:relative}.typewriter-content{font-size:1.15rem;line-height:1.85;color:#fdf2f8;white-space:pre-wrap;min-height:120px}.blinking-cursor{display:inline-block;width:3px;height:1.2em;background:#ec4899;margin-left:3px;vertical-align:middle;animation:blink .8s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.forgive-confetti-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 0 20px rgba(16,185,129,.6)}.forgive-confetti-btn:hover{box-shadow:0 0 30px rgba(16,185,129,.9)}.sorry-flow-container.vibe-cute{background:radial-gradient(circle at center,#2e1065 0,#0f172a 100%)}.sorry-flow-container.vibe-romantic{background:radial-gradient(circle at center,#4c0519 0,#0f051d 100%)}.sorry-flow-container.vibe-sincere{background:radial-gradient(circle at center,#1e1b4b 0,#030712 100%)}.vibe-chip{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.4rem .9rem;border-radius:999px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s ease}.vibe-chip.active{background:#ff4b8b;border-color:#ffd1dc;box-shadow:0 0 15px rgba(255,75,139,.6)}.heart-gauge-box{background:rgba(255,255,255,.08);border:2px solid rgba(255,75,139,.4);border-radius:24px;padding:1.5rem;margin:1.5rem auto;max-width:320px;cursor:pointer;transition:transform .2s ease}.heart-gauge-box:hover{transform:scale(1.03)}.heart-gauge-svg-wrapper{position:relative;width:120px;height:120px;margin:0 auto}.heart-gauge-percent{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:900;color:#ffffff;text-shadow:0 2px 8px rgba(0,0,0,.8)}.birthday-stage.theme-royal{background:linear-gradient(135deg,#881337,#e11d48,#9f1239)}.birthday-stage.theme-rainbow{background:linear-gradient(135deg,#6366f1,#a855f7,#ec4899,#f43f5e)}.birthday-stage.theme-bollywood{background:linear-gradient(135deg,#451a03,#78350f,#b45309,#d97706)}.birthday-cake-container{display:inline-block;cursor:pointer;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.candle-flames{display:flex;justify-content:center;gap:.75rem;margin-bottom:-15px;position:relative;z-index:4}.pulse-flame{font-size:1.8rem;animation:flameFlicker .6s ease-in-out infinite alternate}@keyframes flameFlicker{0%{transform:scale(.9) translateY(0);opacity:.8}to{transform:scale(1.15) translateY(-3px);opacity:1;filter:drop-shadow(0 0 10px #ffd700)}}.cake-3d-model{font-size:5.5rem;filter:drop-shadow(0 10px 20px rgba(0,0,0,.4));transition:transform .2s ease}.birthday-cake-container:hover .cake-3d-model{transform:scale(1.08)}.tap-cake-prompt{color:#ffd700;font-weight:800;margin-top:1rem;font-size:.95rem;text-shadow:0 0 10px rgba(0,0,0,.8)}.birthday-card-reveal{background:#ffffff;color:#2c0c14;padding:2rem;border-radius:20px;border:4px solid #3b0f1b;box-shadow:6px 6px 0 #3b0f1b;text-align:left;margin-top:1rem;animation:zoomIn .5s cubic-bezier(.175,.885,.32,1.275)}.birthday-photo-frame{border:3px solid #3b0f1b;border-radius:12px;overflow:hidden;box-shadow:3px 3px 0 #3b0f1b}.birthday-photo-frame img{width:100%;height:130px;object-fit:cover;display:block}.love-letter-paper.style-classic{background:#fdf8e2;color:#2c1810;border-color:#d4af37}.love-letter-paper.style-floral{background:#fdf2f8;color:#831843;border-color:#f472b6}.love-letter-paper.style-midnight{background:#0f172a;color:#f1f5f9;border-color:#38bdf8;box-shadow:0 0 30px rgba(56,189,248,.3)}.love-letter-paper.style-vintage{background:#f5e6d3;color:#4a2c11;border-color:#8c5a2b}.stationery-chip{background:rgba(0,0,0,.08);border:1px solid;padding:.3rem .6rem;border-radius:999px;font-size:.75rem;cursor:pointer}.stationery-chip.active{font-weight:800;box-shadow:0 0 8px currentColor}.floating-petals-container{position:absolute;inset:0;pointer-events:none;overflow:hidden}.petal{position:absolute;font-size:1.3rem;animation:floatPetal 6s linear infinite;opacity:.7}.petal.p1{left:10%;animation-delay:0s}.petal.p2{left:40%;animation-delay:2s}.petal.p3{left:70%;animation-delay:4s}.petal.p4{left:85%;animation-delay:1s}@keyframes floatPetal{0%{transform:translateY(-20px) rotate(0deg);opacity:0}20%{opacity:.8}to{transform:translateY(500px) rotate(1turn);opacity:0}}.envelope-graphic{width:140px;height:100px;background:#e11d48;border-radius:12px;margin:0 auto;position:relative;box-shadow:0 8px 20px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;color:#fff;border:3px solid #881337}.letter-header-name{font-size:1.75rem;margin-bottom:1rem;font-family:Georgia,serif}.typewriter-handwriting-body{font-size:1.15rem;line-height:2;font-family:Georgia,serif;white-space:pre-wrap;min-height:120px}.blinking-pen-cursor{display:inline-block;margin-left:4px;animation:blink .7s infinite}.letter-signature{margin-top:2.5rem;text-align:right;font-family:Georgia,serif;font-style:italic;font-size:1.1rem}.letter-photo-polaroid{background:#fff;padding:8px 8px 16px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.1)}.letter-photo-polaroid img{width:100%;height:130px;object-fit:cover;border-radius:4px}.mom-content-box{background:#ffffff;padding:2rem;border-radius:20px;border:2px solid #f472b6;box-shadow:inset 0 0 10px rgba(244,114,182,.1)}.secret-mom-note-box{margin-top:1.5rem;padding:1rem;background:#fdf2f8;border-radius:16px;border:2px dashed #f472b6;text-align:center}.mom-secret-btn{background:linear-gradient(135deg,#f472b6,#ec4899);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:999px;font-weight:800;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px rgba(244,114,182,.4)}.blooming-flower-reveal{animation:zoomIn .5s ease-out}.flower-bloom-svg-anim{animation:flowerBloom 1.2s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes flowerBloom{0%{transform:scale(.2) rotate(-45deg);opacity:0}to{transform:scale(1) rotate(0deg);opacity:1}}.wedding-mandala-top{font-size:3rem;margin-bottom:.5rem;filter:drop-shadow(0 0 10px #fbbf24)}.wedding-timer{display:flex;justify-content:center;gap:1rem;margin:1.5rem 0}.events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:1rem}.event-card{background:rgba(255,255,255,.08);border:1px solid #fbbf24;border-radius:12px;padding:1rem .5rem;text-align:center}.event-icon{font-size:1.8rem;margin-bottom:.25rem}.event-card h4{font-size:.9rem;color:#fbbf24;margin:0}.event-time{font-size:.75rem;color:#fde68a;margin-top:.25rem}.surprise-box-container{border-radius:24px;border:4px solid #3b0f1b;box-shadow:6px 6px 0 #3b0f1b;padding:2.5rem 1.5rem;text-align:center}.surprise-box-container.theme-ruby{background:linear-gradient(135deg,#fff1f2,#ffe4e6)}.surprise-box-container.theme-gold{background:linear-gradient(135deg,#fefce8,#fef08a)}.surprise-box-container.theme-purple{background:linear-gradient(135deg,#faf5ff,#f3e8ff)}.gift-box-wrapper{margin:2rem 0}.gift-box-3d{width:140px;height:140px;background:linear-gradient(135deg,#e11d48,#be185d);border-radius:20px;border:4px solid #3b0f1b;margin:0 auto;position:relative;box-shadow:6px 6px 0 #3b0f1b;cursor:pointer;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.gift-box-3d:hover{transform:scale(1.08) rotate(3deg)}.gift-ribbon-v{top:0;bottom:0;left:calc(50% - 10px);width:20px;border-left:2px solid #3b0f1b;border-right:2px solid #3b0f1b}.gift-ribbon-h,.gift-ribbon-v{position:absolute;background:#ffd700}.gift-ribbon-h{left:0;right:0;top:calc(50% - 10px);height:20px;border-top:2px solid #3b0f1b;border-bottom:2px solid #3b0f1b}.gift-box-center-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:3rem;z-index:3}.box-tap-hint{color:#d81e5b;font-weight:800;margin-top:1.5rem;font-size:.95rem}.layer-badge{background:rgba(216,30,91,.15);color:#8e3249;padding:.3rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700}.layer-badge.active{background:#d81e5b;color:#fff}.surprise-layer-card{background:#ffffff;border:4px solid #3b0f1b;border-radius:20px;padding:2rem;box-shadow:6px 6px 0 #3b0f1b;text-align:left}.final-reveal-glow{box-shadow:0 0 30px rgba(216,30,91,.5),6px 6px 0 #3b0f1b}.dark-candlelight-glow{position:absolute;top:-50px;left:50%;transform:translateX(-50%);width:250px;height:250px;background:radial-gradient(circle,rgba(225,29,72,.25) 0,transparent 70%);pointer-events:none}.blooming-rose-stage{margin:1.5rem 0;cursor:pointer;display:flex;justify-content:center}.rose-flower-graphic{transition:transform .6s cubic-bezier(.175,.885,.32,1.275)}.rose-flower-graphic.bud{transform:scale(.8)}.rose-flower-graphic.bloomed{transform:scale(1.2);filter:drop-shadow(0 0 20px rgba(244,63,94,.8))}.rose-flower-graphic .p-left{transition:transform .8s ease}.rose-flower-graphic.bloomed .p-left{transform:rotate(-25deg) translate(-8px,-5px)}.rose-flower-graphic .p-right{transition:transform .8s ease}.rose-flower-graphic.bloomed .p-right{transform:rotate(25deg) translate(8px,-5px)}.tap-bloom-hint{color:#ff4d7f;font-weight:800;font-size:.95rem;cursor:pointer;margin-top:1rem}.rose-message-card{background:rgba(13,0,4,.85);border:2px solid #e11d48;padding:2rem;border-radius:20px;text-align:left;box-shadow:0 0 25px rgba(225,29,72,.4);animation:fadeIn .6s ease;margin-top:1.5rem}.template-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.template-select-card{background:#ffffff;border:3px solid #3b0f1b;border-radius:20px;padding:1.25rem;box-shadow:4px 4px 0 #3b0f1b;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.template-select-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:6px 6px 0 #3b0f1b}.template-select-card.selected{border-color:#d81e5b;background:#fff5f8;box-shadow:6px 6px 0 #d81e5b}.tag-chip{background:#ffe4e6;color:#be185d;font-size:.7rem;padding:.2rem .5rem;border-radius:999px;font-weight:700}.create-split-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;align-items:start}@media (max-width:900px){.create-split-grid{grid-template-columns:1fr}}.live-preview-column{position:-webkit-sticky;position:sticky;top:100px}.live-preview-wrapper-box{max-height:calc(100vh - 150px);overflow-y:auto;border-radius:24px}.birthday-new-theme{--bg-gradient-start:#ffe4e6;--bg-gradient-end:#fbcfe8;--card-bg:#fff0f5;--accent-pink:#db2777;--accent-dark:#831843;--text-primary:#881337;--font-handwriting:"Caveat","Dancing Script",cursive;--font-body:"Poppins",sans-serif}.app-container{width:100%;max-width:414px;height:100vh;max-height:896px;background:linear-gradient(180deg,#fce7f3,#fbcfe8);position:relative;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.15);border-radius:36px;border:8px solid #f472b6;margin:0 auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:var(--font-body)}.heart-bg{position:absolute;pointer-events:none;animation:floatUp 6s ease-in-out infinite;opacity:.5}@keyframes floatUp{0%{transform:translateY(100vh) scale(.5);opacity:0}50%{opacity:.8}to{transform:translateY(-10vh) scale(1.2);opacity:0}}@keyframes pulseGlow{0%,to{transform:scale(1);box-shadow:0 0 15px rgba(219,39,119,.3)}50%{transform:scale(1.03);box-shadow:0 0 25px rgba(219,39,119,.6)}}.pulse-element{animation:pulseGlow 2s ease-in-out infinite}.qr-card{background:white;border-radius:20px;padding:24px;text-align:center;box-shadow:0 10px 25px rgba(0,0,0,.08);transition:transform .3s ease,opacity .3s ease}.qr-card.opening{transform:scale(.9) translateY(-20px);opacity:0}.button-group{display:flex;gap:16px;justify-content:center;position:relative;margin-top:24px}.btn-yes{background-color:var(--accent-pink);color:white;border:none;border-radius:24px;cursor:pointer;box-shadow:0 4px 12px rgba(219,39,119,.4)}.btn-no,.btn-yes{padding:12px 32px;font-weight:600}.btn-no{background-color:white;color:var(--accent-pink);border:2px solid var(--accent-pink);border-radius:24px;position:absolute;transition:all .15s ease-out}.balloon-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;padding:20px}.balloon{cursor:pointer;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.balloon:hover{transform:translateY(-5px) scale(1.05)}.balloon.popped{animation:popScale .3s forwards}@keyframes popScale{0%{transform:scale(1)}50%{transform:scale(1.3);opacity:.8}to{transform:scale(0);opacity:0}}.revealed-text{font-family:var(--font-handwriting);font-size:2rem;color:var(--text-primary);text-align:center;animation:fadeIn .5s ease-in}.candle-wrapper{position:relative;display:flex;flex-direction:column;align-items:center}.flame{width:16px;height:28px;background:linear-gradient(0deg,#f97316,#facc15);border-radius:50% 50% 20% 20%;box-shadow:0 0 20px #f97316;animation:flicker .1s infinite alternate}@keyframes flicker{0%{transform:scale(1) rotate(-2deg)}to{transform:scale(1.1) rotate(2deg)}}.flame.extinguished{display:none}.smoke{width:8px;height:20px;background:rgba(200,200,200,.6);border-radius:10px;animation:smokeRise 2s forwards}@keyframes smokeRise{0%{opacity:.8;transform:translateY(0) scaleX(1)}to{opacity:0;transform:translateY(-40px) scaleX(3);filter:blur(4px)}}.overlay-dark{position:absolute;inset:0;background:rgba(0,0,0,.65);transition:opacity 1s ease-in-out;pointer-events:none}.rose-container{position:relative;display:flex;justify-content:center;align-items:center;height:350px}.message-pill{position:absolute;background:white;color:var(--text-primary);padding:8px 16px;border-radius:20px;font-size:.85rem;box-shadow:0 4px 15px rgba(0,0,0,.06);animation:floatPill 3s ease-in-out infinite alternate;cursor:pointer}@keyframes floatPill{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.letter-card{background:#fffbf0;border-radius:16px;padding:24px;border:1px solid #fef08a;box-shadow:0 10px 30px rgba(0,0,0,.05);width:90%;margin:0 auto}.typewriter-text{font-family:var(--font-handwriting);font-size:1.35rem;line-height:1.6;color:#451a03;white-space:pre-wrap;border-right:2px solid var(--accent-pink);animation:blinkCursor .75s step-end infinite}@keyframes blinkCursor{0%,to{border-color:transparent}50%{border-color:var(--accent-pink)}}.phone{border-radius:38px;border:3px solid rgba(255,190,220,.75);box-shadow:0 0 35px rgba(255,100,180,.15),inset 0 0 20px rgba(255,255,255,.15)}.phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:32%;height:38px;background:#fdf2f8;border-radius:0 0 26px 26px;z-index:20;box-shadow:0 2px 10px rgba(0,0,0,.05)}.heart{position:absolute;opacity:.12;animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-18px) rotate(8deg)}}.font-handwritten{font-family:Dancing Script,cursive}.primary-button{border:none;padding:16px 44px;border-radius:999px;background:linear-gradient(180deg,#e72b77,#c91c68);color:white;font-weight:700;box-shadow:0 12px 25px rgba(200,30,100,.25);cursor:pointer;transition:transform .2s}.primary-button:hover{transform:translateY(-2px)}.primary-button:active{transform:scale(.96)}.message-bubble{background:rgba(255,255,255,.92);border-radius:24px;padding:12px 18px;box-shadow:0 8px 24px rgba(150,80,100,.12);color:#831843;font-weight:500}.letter{background:#fffaf0;border-radius:22px;border:1px solid rgba(190,160,120,.3);box-shadow:0 18px 45px rgba(100,60,70,.13);padding:36px 28px}.letter:before{content:"";position:absolute;inset:10px;border:1px solid rgba(180,150,110,.25);border-radius:16px;pointer-events:none}@media (min-width:480px){.bd-notch{display:block!important}}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}to{transform:translateY(110vh) rotate(2turn);opacity:0}}