:root{--bg-deep:#030208;--bg-midnight:#090514;--bg-royal:#0e071c;--gold-primary:#e8c068;--gold-light:#fff5cc;--gold-dark:#b58c2a;--gold-gradient:linear-gradient(135deg, #fff3c4 0%, #e8c068 50%, #b58c2a 100%);--gold-shimmer:linear-gradient(90deg, #b58c2a 0%, #fff5cc 50%, #e8c068 100%);--rose-gold:#f5a3b5;--violet-glow:#b98eff;--glass-bg:#ffffff0a;--glass-bg-hover:#ffffff14;--glass-border:#e8c06847;--glass-shadow:0 24px 60px #000000bf, 0 0 35px #e8c06829;--glass-blur:blur(28px);--font-royal:"Cinzel Decorative", serif;--font-script:"Dancing Script", "Alex Brush", cursive;--font-serif:"Playfair Display", serif;--font-sans:"Outfit", sans-serif}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--bg-deep);color:#fff;width:100%;height:100dvh;max-height:100dvh;font-family:var(--font-sans);position:fixed;top:0;left:0;overflow:hidden!important}body{background:radial-gradient(circle at 50% 15%, var(--bg-royal) 0%, var(--bg-midnight) 60%, var(--bg-deep) 100%);background-attachment:fixed;flex-direction:column;justify-content:center;align-items:center;display:flex}#root{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100dvh;max-height:100dvh;display:flex;overflow:hidden!important}.bg-canvas{pointer-events:none;z-index:10;opacity:.45;width:100%;height:100%;position:fixed;top:0;left:0}.ambient-orb{filter:blur(95px);z-index:0;opacity:.1;pointer-events:none;border-radius:50%;animation:20s ease-in-out infinite alternate orbFloat;position:fixed}.ambient-orb-1{background:#e8c068;width:350px;height:350px;top:-10%;left:20%}.ambient-orb-2{background:#f5a3b5;width:300px;height:300px;animation-delay:-6s;bottom:10%;right:-5%}.ambient-orb-3{background:#b98eff;width:340px;height:340px;animation-delay:-12s;top:45%;left:-10%}@keyframes orbFloat{0%{transform:translate(0)scale(1)}50%{transform:translate(45px,-35px)scale(1.18)}to{transform:translate(-35px,45px)scale(.92)}}.app-container{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100dvh;max-height:100dvh;display:flex;position:relative;overflow:hidden!important}.main-celebration{z-index:20;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;width:100%;max-width:950px;height:100dvh;max-height:100dvh;padding:.6rem .8rem;display:flex;position:relative;overflow:hidden!important}.font-royal{font-family:var(--font-royal)}.font-script{font-family:var(--font-script)}.font-serif-luxury{font-family:var(--font-serif)}.font-sans-modern{font-family:var(--font-sans)}.text-gold-gradient{background:var(--gold-gradient);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 12px #e8c0684d);-webkit-background-clip:text}.text-rose-gradient{background:linear-gradient(135deg,#fff0f5 0%,#f5a3b5 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:28px;transition:all .4s cubic-bezier(.25,1,.5,1)}.glass-card-hover:hover{border-color:#e8c0688c;transform:translateY(-4px);box-shadow:0 28px 70px #000c,0 0 45px #e8c06838}.luxury-btn-primary{font-family:var(--font-sans);letter-spacing:.05em;cursor:pointer;background:var(--gold-gradient);color:#0f091e;-webkit-user-select:none;user-select:none;border:none;border-radius:50px;justify-content:center;align-items:center;gap:.6rem;padding:1rem 2.4rem;font-size:1.05rem;font-weight:700;transition:all .35s cubic-bezier(.34,1.56,.64,1);animation:2.5s ease-in-out infinite btnAutoHoverPulse;display:inline-flex;box-shadow:0 6px 18px #e8c06840}.luxury-btn-primary:hover{animation:none;transform:translateY(-3px)scale(1.04);box-shadow:0 14px 35px #e8c0688c}@keyframes btnAutoHoverPulse{0%,to{transform:translateY(0)scale(1);box-shadow:0 8px 20px #e8c06840}35%{transform:translateY(-3px)scale(1.035);box-shadow:0 12px 28px #e8c06873}60%{transform:translateY(-1px)scale(1.01);box-shadow:0 10px 24px #e8c06859}}.luxury-btn-secondary{font-family:var(--font-sans);color:var(--gold-light);cursor:pointer;background:#ffffff14;border:1px solid #e8c06866;border-radius:50px;justify-content:center;align-items:center;gap:.6rem;padding:.9rem 2rem;font-size:.95rem;font-weight:600;transition:all .3s;display:inline-flex}.luxury-btn-secondary:hover{border-color:var(--gold-primary);background:#ffffff26}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(20px);background:#070511e0;justify-content:center;align-items:center;width:100%;height:100%;padding:1.5rem;display:flex;position:fixed;top:0;left:0}.welcome-card{text-align:center;border-color:#e8c06873;width:100%;max-width:500px;padding:3rem 2.2rem;position:relative;overflow:hidden}.royal-badge{color:var(--gold-light);letter-spacing:.22em;text-transform:uppercase;background:#e8c06826;border:1px solid #e8c06866;border-radius:20px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.45rem 1.2rem;font-size:.78rem;font-weight:600;display:inline-flex}.crown-wrapper{justify-content:center;align-items:center;width:90px;height:90px;margin:0 auto 1.8rem;display:flex;position:relative}.crown-circle{background:radial-gradient(circle,#e8c06859 0%,#b58c2a26 100%);border:1px solid #e8c06880;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex;box-shadow:0 0 35px #e8c06866}.welcome-title{font-family:var(--font-royal);color:#fff;margin-bottom:.6rem;font-size:1.9rem;font-weight:700;line-height:1.3}.welcome-subtitle{font-family:var(--font-script);color:var(--gold-primary);margin-bottom:1.2rem;font-size:2.6rem}.welcome-desc{color:#ffffffc7;max-width:360px;margin:0 auto 2.2rem;font-size:.98rem;line-height:1.6}.countdown-overlay{z-index:1000;-webkit-backdrop-filter:blur(24px);-webkit-user-select:none;user-select:none;background:#070511ed;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.countdown-ring-wrap{justify-content:center;align-items:center;width:300px;height:300px;display:flex;position:relative}.countdown-ring-1{border:2px solid var(--gold-primary);border-radius:50%;position:absolute;inset:0}.countdown-ring-2{border:1px solid var(--rose-gold);border-radius:50%;position:absolute;inset:0}.countdown-num{font-family:var(--font-royal);text-align:center;font-size:8.5rem;font-weight:900;line-height:1}.countdown-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.3em;color:#fff5ccd9;margin-top:2rem;font-size:1rem;font-weight:600}.navbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:22px;justify-content:space-between;align-items:center;width:100%;max-width:900px;padding:.85rem 1.6rem;display:flex;box-shadow:0 10px 30px #0006;display:none!important}.navbar-status{color:var(--gold-light);align-items:center;gap:.65rem;font-size:.9rem;font-weight:500;display:flex}.navbar-pulse-dot{background:#4ef072;border-radius:50%;width:10px;height:10px;animation:1.8s infinite dotPulse;box-shadow:0 0 10px #4ef072}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}.navbar-music-btn{color:var(--gold-light);cursor:pointer;background:#e8c06826;border:1px solid #e8c06859;border-radius:50px;align-items:center;gap:.6rem;padding:.5rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .3s;display:flex}.navbar-music-btn:hover{background:#e8c06847}.floating-music-toggle{z-index:1000;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #e8c06859;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.15rem;transition:all .3s;display:flex;position:fixed;top:1.2rem;right:1.2rem;box-shadow:0 4px 15px #0006}.floating-music-toggle:hover{background:#e8c06833;transform:scale(1.08)}.equalizer-bars{align-items:flex-end;gap:2px;height:14px;display:flex}.equalizer-bars span{background:var(--gold-primary);border-radius:2px;width:3px;height:4px;transition:height .2s}.equalizer-bars.active span:first-child{animation:.6s infinite alternate waveDance}.equalizer-bars.active span:nth-child(2){animation:.4s .2s infinite alternate waveDance}.equalizer-bars.active span:nth-child(3){animation:.7s .1s infinite alternate waveDance}@keyframes waveDance{0%{height:4px}to{height:14px}}.hero-section{text-align:center;width:100%;max-width:900px;margin:.5rem auto 1.5rem;padding:0 1rem}.hero-script{font-family:var(--font-script);color:var(--gold-primary);text-shadow:0 2px 15px #e8c06859;margin-bottom:.3rem;font-size:clamp(1.4rem,3.2vw,1.85rem)}.hero-heading{font-family:var(--font-royal);color:#fff;text-shadow:0 6px 25px #000c;margin-bottom:1rem;font-size:clamp(1.5rem,4.2vw,2.3rem);font-weight:800;line-height:1.2}.hero-subtitle-badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff5cce6;letter-spacing:.03em;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:50px;align-items:center;gap:.6rem;padding:.6rem 1.6rem;font-size:.95rem;display:inline-flex}.cake-section{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;width:100%;max-width:600px;margin:1.5rem auto 3rem;display:flex}.cake-hint-badge{color:var(--gold-light);background:#ffffff0f;border:1px solid #e8c06859;border-radius:30px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.5rem 1.3rem;font-size:.9rem;display:inline-flex}.cake-stage{flex-direction:column;justify-content:flex-end;align-items:center;width:230px;height:250px;margin:0 auto;display:flex;position:relative}.candles-wrap{z-index:20;justify-content:center;align-items:flex-end;gap:1rem;margin-bottom:-10px;display:flex}.candle-item{cursor:pointer;flex-direction:column;align-items:center;display:flex;position:relative}.flame-el{filter:drop-shadow(0 0 8px #fc0);transform-origin:bottom;background:radial-gradient(at bottom,#fff 0%,#ffde59 40%,#f90 80%,#0000 100%);border-radius:50% 50% 20% 20%;width:12px;height:18px;margin-bottom:-2px;animation:1.1s ease-in-out infinite alternate flameFlicker}@keyframes flameFlicker{0%{opacity:1;filter:drop-shadow(0 0 8px #fc0);transform:scale(1)rotate(-2deg)}25%{opacity:.95;transform:scale(1.08,.95)rotate(3deg)}50%{filter:drop-shadow(0 0 14px #f90);transform:scale(.95,1.05)rotate(-3deg)}75%{opacity:1;transform:scale(1.05,.98)rotate(2deg)}to{opacity:.9;filter:drop-shadow(0 0 10px #ffde59);transform:scale(1)rotate(0)}}.smoke-el{filter:blur(2px);pointer-events:none;background:#fff6;border-radius:50%;width:12px;height:20px;position:absolute;top:-24px}.candle-body-el{border-radius:4px 4px 2px 2px;width:10px;height:30px;box-shadow:inset 0 -4px #00000026}.candle-pink{background:linear-gradient(90deg,#ff9bb6,#f76890,#ff9bb6)}.candle-gold{background:linear-gradient(90deg,#ffe17d,#e5b338,#ffe17d);height:38px}.cake-toppings{z-index:25;pointer-events:none;justify-content:space-around;align-items:center;width:140px;display:flex;position:absolute;top:-15px}.strawberry-item{filter:drop-shadow(0 4px 6px #0006);font-size:1.15rem;transform:rotate(-10deg)}.strawberry-item.s-2{margin-top:-6px;transform:rotate(15deg)scale(1.1)}.cream-rosette{background:radial-gradient(circle at 35% 30%,#fff 0%,#fff7e6 60%,#e2d2b5 100%);border-radius:50%;width:16px;height:14px;box-shadow:0 3px 6px #00000059,inset 0 -2px 3px #b496644d}.cake-tier-top{z-index:10;background:linear-gradient(135deg,#fffcf5 0%,#fcf3e1 45%,#f4dfb5 100%);border-radius:18px 18px 6px 6px;justify-content:center;width:150px;height:60px;display:flex;position:relative;box-shadow:inset 0 4px 10px #fffffff2,inset 0 -12px 20px #b48c502e,0 12px 30px #000000a6}.icing-drips{z-index:15;background:linear-gradient(#fff 0%,#fffbf2 100%);border-radius:18px 18px 0 0;justify-content:space-around;width:100%;height:24px;display:flex;position:absolute;top:0;left:0;box-shadow:0 4px 8px #00000029}.drip{background:linear-gradient(#fff 0%,#fff9ec 100%);border-radius:0 0 14px 14px;width:16px;height:22px;margin-top:10px;box-shadow:inset -2px -2px 4px #d2be9640,0 3px 6px #0000001f}.drip.d-1{height:26px}.drip.d-2{height:36px}.drip.d-3{height:20px}.drip.d-4{height:30px}.drip.d-5{height:38px}.drip.d-6{height:22px}.drip.d-7{height:32px}.drip.d-8{height:24px}.drip.d-9{height:34px}.cake-tier-bottom{z-index:5;background:linear-gradient(135deg,#fce1e8 0%,#f5a3b5 55%,#cb6b82 100%);border-radius:16px 16px 6px 6px;justify-content:center;align-items:center;width:220px;height:75px;margin-top:-8px;display:flex;position:relative;box-shadow:inset 0 5px 12px #ffffffd9,inset 0 -15px 25px #6e1e3252,0 18px 45px #000000bf}.chocolate-plaque{border:1.5px solid var(--gold-primary);z-index:18;white-space:nowrap;background:linear-gradient(135deg,#2b1704 0%,#46270b 55%,#1e1003 100%);border-radius:20px;padding:.35rem .9rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-45%);box-shadow:0 6px 16px #000000a6,inset 0 1px 3px #ffffff40}.chocolate-plaque span{font-family:var(--font-royal);color:#fff5cc;letter-spacing:.06em;text-shadow:0 1px 2px #000c;font-size:.72rem;font-weight:700}.gold-ribbon-band{background:var(--gold-shimmer);width:100%;height:14px;position:absolute;bottom:22px;box-shadow:0 2px 6px #00000059,inset 0 1px 2px #ffffff80}.pearl-trim{filter:drop-shadow(0 2px 4px #0000004d);background:radial-gradient(circle at 50% 40%,#fff 35%,#e2d2b5 70%,#0000 80%) 0 0/16px 16px repeat-x;width:100%;height:12px;position:absolute;bottom:0}.cake-stand-top{border-bottom:2px solid var(--gold-primary);z-index:2;background:linear-gradient(#fff 0%,#f7f3e8 55%,#dcd4b8 100%);border-radius:14px;width:270px;height:16px;box-shadow:0 8px 20px #0000008c}.cake-stand-base{z-index:1;background:linear-gradient(90deg,#b58c2a 0%,#e8c068 50%,#8c6716 100%);border-radius:0 0 28px 28px;width:130px;height:28px;box-shadow:0 12px 30px #000000a6}.cake-actions{justify-content:center;align-items:center;gap:1rem;margin-top:2.2rem;display:flex}.wish-banner{text-align:center;background:#e8c06833;border:1px solid #e8c06899;border-radius:20px;margin-top:1.8rem;padding:1rem 2rem;box-shadow:0 0 35px #e8c0684d}.typewriter-section{width:100%;max-width:760px;margin:0 auto 3.5rem;padding:0 1rem}.typewriter-card{border-color:#e8c06859;padding:2.5rem 2.8rem;position:relative;overflow:hidden}.card-accent-bar{background:var(--gold-gradient);width:140px;height:3px;box-shadow:0 0 15px var(--gold-primary);border-radius:0 0 10px 10px;position:absolute;top:0;left:50%;transform:translate(-50%)}.card-header{border-bottom:1px solid #ffffff17;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.hero-title-script{font-family:var(--font-script);background:linear-gradient(135deg,#fff5cc 0%,#e8c068 50%,#f5a3b5 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 18px #e8c06859);text-align:center;-webkit-background-clip:text;margin-bottom:.8rem;font-size:clamp(2.4rem,6vw,3.8rem);font-weight:700;line-height:1.15}.card-title{font-family:var(--font-script);background:linear-gradient(135deg,#fff5cc 0%,#e8c068 50%,#f5a3b5 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:.5rem;font-size:1.35rem;font-weight:700;display:flex}.card-actions{align-items:center;gap:.8rem;display:flex}.card-date-badge{color:#fff9;background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;padding:.3rem .8rem;font-size:.8rem}.replay-btn{color:var(--gold-primary);cursor:pointer;background:#ffffff0f;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.4rem;transition:all .3s;display:flex}.replay-btn:hover{background:#ffffff26}.card-body{min-height:100px;font-family:var(--font-sans);color:#fff;font-size:.98rem;font-weight:400;line-height:1.65}.card-cursor{color:var(--gold-primary);margin-left:3px;font-weight:700;animation:.9s infinite cursorBlink;display:inline-block}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.gift-section{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;width:100%;max-width:600px;margin:1rem auto 4rem;display:flex}.gift-badge{border:1px solid var(--gold-primary);color:#fff;background:linear-gradient(135deg,#e8c06833,#f5a3b533);border-radius:30px;align-items:center;gap:.5rem;margin-bottom:2.5rem;padding:.6rem 1.6rem;font-size:.95rem;font-weight:700;display:inline-flex;box-shadow:0 0 25px #e8c0684d}.gift-box-wrapper{cursor:pointer;justify-content:center;align-items:center;width:180px;height:180px;display:flex;position:relative}.gift-aura{filter:blur(25px);pointer-events:none;background:#e8c06838;border-radius:50%;position:absolute;inset:0}.gift-lid-el{z-index:20;background:linear-gradient(135deg,#f5a3b5 0%,#d86882 100%);border-radius:12px;justify-content:center;align-items:center;width:200px;height:44px;display:flex;position:absolute;top:10px;box-shadow:0 10px 25px #0006}.gift-body-el{z-index:10;background:linear-gradient(135deg,#e87e97 0%,#b84c67 100%);border-radius:0 0 14px 14px;width:180px;height:130px;position:absolute;bottom:10px;overflow:hidden;box-shadow:0 20px 45px #000000b3}.ribbon-horizontal{background:var(--gold-gradient);width:100%;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.ribbon-vertical{background:var(--gold-gradient);width:24px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.gift-bow-el{justify-content:center;width:70px;height:34px;display:flex;position:absolute;top:-28px;left:50%;transform:translate(-50%)}.bow-left{background:var(--gold-gradient);border-radius:50% 50% 10%;width:36px;height:26px;margin-right:-4px;transform:rotate(-20deg);box-shadow:0 3px 6px #00000040}.bow-center{background:var(--gold-dark);z-index:10;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 4px #0000004d}.bow-right{background:var(--gold-gradient);border-radius:50% 50% 50% 10%;width:36px;height:26px;margin-left:-4px;transform:rotate(20deg);box-shadow:0 3px 6px #00000040}.blessings-section{width:100%;max-width:950px;margin:0 auto 4rem;padding:0 1rem}.blessings-header{text-align:center;margin-bottom:2.2rem}.blessings-tag{text-transform:uppercase;letter-spacing:.25em;color:var(--gold-primary);font-size:.8rem;font-weight:600}.blessings-title{font-family:var(--font-royal);color:#fff;margin-top:.4rem;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:700}.blessings-desc{color:#ffffffb8;max-width:440px;margin:.5rem auto 0;font-size:.95rem}.blessings-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.2rem;width:100%;display:grid}.blessing-card{text-align:center;cursor:pointer;border-color:#ffffff1a;flex-direction:column;align-items:center;padding:1.8rem 1.4rem;transition:all .3s;display:flex}.blessing-card.selected{border-color:var(--gold-primary);background:#ffffff1c;box-shadow:0 0 35px #e8c06859}.blessing-icon-wrap{border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:1.1rem;display:flex}.blessing-card-title{font-family:var(--font-sans);color:#fff;margin-bottom:.6rem;font-size:1.05rem;font-weight:700}.blessing-card-text{color:#ffffffbf;font-size:.85rem;line-height:1.5}.blessing-status{text-transform:uppercase;letter-spacing:.08em;width:100%;color:var(--gold-primary);border-top:1px solid #ffffff14;justify-content:center;align-items:center;gap:.35rem;margin-top:1.2rem;padding-top:.8rem;font-size:.75rem;font-weight:600;display:flex}.surprise-card{text-align:center;border-color:#e8c0688c;width:100%;max-width:520px;padding:2.8rem 2.2rem;position:relative;overflow:hidden}.close-btn{color:#ffffffb3;cursor:pointer;background:#ffffff12;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:all .3s;display:flex;position:absolute;top:1.2rem;right:1.2rem}.close-btn:hover{color:#fff;background:#ffffff26}.surprise-badge{color:var(--gold-light);letter-spacing:.2em;text-transform:uppercase;background:#e8c06826;border:1px solid #e8c06866;border-radius:20px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.45rem 1.2rem;font-size:.78rem;font-weight:600;display:inline-flex}.surprise-title{font-family:var(--font-royal);color:#fff;margin-bottom:1.2rem;font-size:2rem;font-weight:700}.surprise-msg-box{text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:20px;margin-bottom:2rem;padding:1.6rem}.surprise-quote{font-family:var(--font-serif);color:#fff8e7;margin-bottom:1.2rem;font-size:1.15rem;font-style:italic;line-height:1.7}.signature-row{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.signature-name{font-family:var(--font-script);color:var(--gold-primary);font-size:2.2rem}.step-nav-bar{z-index:1000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0d0824d9;border:1px solid #e8c06859;border-radius:50px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:.35rem;max-width:96vw;padding:.4rem .65rem;display:flex;position:fixed;bottom:.8rem;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #000000bf;display:none!important}.step-nav-item{color:#ffffffb3;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:30px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .35s cubic-bezier(.25,1,.5,1);display:inline-flex}.step-nav-item:hover{color:var(--gold-light);background:#e8c06826;border-color:#e8c06866}.step-nav-item.active{background:var(--gold-gradient);color:#0f091e;border-color:#0000;transform:scale(1.05);box-shadow:0 4px 18px #e8c06866}.step-navigation-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.2rem;width:100%;margin-top:1.5rem;display:flex}.app-footer{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#0d0824bf;border:1px solid #e8c06840;border-radius:30px;justify-content:center;align-items:center;width:auto;max-width:94vw;margin:0;padding:.35rem 1rem;display:flex;position:fixed;bottom:.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #00000080}.footer-credit{font-family:var(--font-sans);color:#fff5cce6;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.75rem;overflow:hidden}@media screen and (width<=768px){.main-celebration{gap:1.1rem;padding:1rem 1rem 3.5rem}.hero-heading{font-size:1.8rem;line-height:1.2}.hero-script{font-size:1.4rem}.welcome-title{font-size:1.45rem}.welcome-subtitle{font-size:2rem}.countdown-num{font-size:6rem}.cake-stage{margin:-1rem 0;transform:scale(.9)}}@media screen and (width<=480px){.main-celebration{gap:1rem;padding:.8rem .7rem 3.5rem}.hero-heading{margin-bottom:.6rem;font-size:1.5rem;line-height:1.25}.hero-subtitle-badge{max-width:95%;padding:.4rem .9rem;font-size:.74rem}.welcome-card,.surprise-card{border-radius:20px;width:93%;padding:1.5rem 1.1rem}.welcome-title{margin-bottom:.4rem;font-size:1.3rem}.welcome-subtitle{margin-bottom:.8rem;font-size:1.7rem}.welcome-desc{margin-bottom:1.4rem;font-size:.84rem}.cake-stage{margin:-1.2rem 0;transform:scale(.82)}.cake-actions{flex-direction:column;gap:.6rem;width:100%;max-width:250px}.luxury-btn-primary,.luxury-btn-secondary{justify-content:center;width:100%;padding:.8rem 1.3rem;font-size:.88rem}.typewriter-card{border-radius:20px;padding:1.3rem 1rem}.card-header{flex-direction:column;align-items:flex-start;gap:.6rem;margin-bottom:1rem}.card-body p{font-size:.88rem;font-weight:400;line-height:1.55}.gift-box-wrapper{margin:-1rem 0;transform:scale(.8)}.gift-badge{max-width:92%;padding:.4rem .9rem;font-size:.76rem}.blessings-header{padding:0 .5rem}.blessings-title{font-size:1.45rem}.blessings-grid{grid-template-columns:1fr;gap:.9rem}.signature-name{font-size:1.65rem}.navbar{flex-wrap:wrap;justify-content:center;gap:.5rem;width:96%;padding:.55rem .8rem}.navbar-status{font-size:.75rem}.step-nav-bar{gap:.35rem;margin:.4rem 0 .8rem}.step-nav-item{padding:.38rem .68rem;font-size:.73rem}.step-navigation-actions{flex-direction:column;gap:.7rem;width:100%;max-width:270px}.hero-section{margin:.2rem auto .4rem}.hero-script{margin-bottom:.1rem;font-size:1.05rem}.hero-title-script{margin-bottom:.3rem;font-size:1.75rem}.hero-subtitle-badge{padding:.35rem .8rem;font-size:.75rem}.typewriter-section{margin:0 auto;padding:0 .4rem}.typewriter-card{max-height:52dvh;padding:1.1rem 1rem;overflow-y:auto}.typewriter-body{margin-bottom:.8rem;font-size:.95rem;line-height:1.5}.cake-section{margin:.2rem auto}.cake-hint-badge{margin-bottom:.6rem;padding:.35rem .9rem;font-size:.8rem}.cake-stage{transform:scale(.85)}.gift-section{margin:.2rem auto}.gift-box-stage{transform:scale(.85)}.blessings-section{margin:0 auto;padding:0 .3rem}.blessings-header{margin-bottom:.4rem}.blessings-tag{letter-spacing:.15em;font-size:.65rem}.blessings-title{margin-top:.15rem;font-size:1.3rem}.blessings-desc{max-width:320px;margin:.2rem auto 0;font-size:.72rem}.blessings-grid{grid-template-columns:1fr 1fr!important;gap:.45rem!important;display:grid!important}.blessing-card{padding:.55rem .45rem!important}.blessing-icon-wrap{border-radius:10px!important;width:34px!important;height:34px!important;margin-bottom:.35rem!important}.blessing-icon-wrap svg{width:18px!important;height:18px!important}.blessing-card-title{line-height:1.2;margin-bottom:.25rem!important;font-size:.78rem!important}.blessing-card-text{font-size:.68rem!important;line-height:1.25!important}.blessing-status{margin-top:.4rem!important;padding-top:.35rem!important;font-size:.65rem!important}.app-footer{max-width:96vw!important;padding:.25rem .65rem!important;bottom:.35rem!important}.footer-credit{font-size:.65rem!important}.chocolate-plaque{padding:.25rem .65rem!important}.chocolate-plaque span{font-size:.62rem!important}.strawberry-item{font-size:1.05rem!important}.card-title{font-size:1.25rem}}
