:root{--birthday-pink-deep:#ff6584;--birthday-pink-light:#fff0f3;--birthday-pink-soft:#ffb8c6;--birthday-gold:#e5b96f;--birthday-gold-light:#faf0d7;--birthday-cream:#fdfaf6;--birthday-text-dark:#3a2e31;--birthday-text-muted:#857277}.birthday-theme{color:var(--birthday-text-dark);-webkit-font-smoothing:antialiased;background-color:#fce7f3;font-family:Quicksand,sans-serif;overflow-x:hidden}.font-script{font-family:Great Vibes,cursive!important}.font-serif-elegant{font-family:Playfair Display,serif!important}.font-sans{font-family:Quicksand,sans-serif!important}.mobile-viewport-wrapper{background-color:var(--birthday-cream);border-left:1px solid #ff65841a;border-right:1px solid #ff65841a;width:100%;max-width:480px;min-height:100vh;margin:0 auto;position:relative;overflow-x:hidden;box-shadow:0 0 30px #00000014}.doors-gateway-overlay{z-index:100;pointer-events:none;background:0 0;position:fixed;inset:0;overflow:hidden}.door-panel{z-index:10;pointer-events:auto;background:linear-gradient(135deg,#ff6584 0%,#ff8da1 50%,#ffa6c0 100%);align-items:center;width:50%;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.door-left{border-right:2px solid var(--birthday-gold);justify-content:flex-end;left:0;box-shadow:10px 0 30px #0000002e}.door-right{border-left:2px solid var(--birthday-gold);justify-content:flex-start;right:0;box-shadow:-10px 0 30px #0000002e}.door-frame{border:2px solid var(--birthday-gold);pointer-events:none;position:absolute;inset:16px}.door-left .door-frame{border-right:none;border-radius:24px 0 0 24px}.door-right .door-frame{border-left:none;border-radius:0 24px 24px 0}.door-frame-dashed{border:1px dashed #fff6;position:absolute;inset:6px}.door-left .door-frame-dashed{border-right:none;border-radius:16px 0 0 16px}.door-right .door-frame-dashed{border-left:none;border-radius:0 16px 16px 0}.door-hanging-decor{color:var(--birthday-gold);flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:36px}.door-left .door-hanging-decor{left:36px}.door-right .door-hanging-decor{right:36px}.decor-line{background:linear-gradient(to bottom, var(--birthday-gold), transparent);width:1px;height:50px}.doors-lock-circle{background:var(--birthday-gold-light);border:4px solid var(--birthday-gold);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;display:flex;box-shadow:0 10px 25px #0003}.birthday-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd9;border:2px solid #ff65841a;border-radius:36px;position:relative;box-shadow:0 12px 30px #ff65840a,inset 0 0 15px #ffffff80}.birthday-card:after{content:"";pointer-events:none;border:1px dashed #e5b96f59;border-radius:31px;position:absolute;inset:5px}@keyframes floatBubble{0%{opacity:0;transform:translateY(110vh)translate(0)scale(.6)}10%{opacity:.6}90%{opacity:.6}to{opacity:0;transform:translateY(-10vh)translate(30px)scale(1)}}@keyframes fallConfetti{0%{opacity:1;transform:translateY(-50px)rotate(0)}to{opacity:.3;transform:translateY(105vh)rotate(360deg)}}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.animate-bubble{animation:floatBubble var(--duration,12s) ease-in-out infinite}.animate-confetti{animation:fallConfetti var(--duration,8s) linear infinite}.animate-twinkle{animation:twinkle var(--duration,3s) ease-in-out infinite}.gold-divider-stars{justify-content:center;align-items:center;gap:.75rem;margin:1rem 0;display:flex}.gold-divider-stars:before,.gold-divider-stars:after{content:"";background:linear-gradient(to var(--dir,right), transparent, var(--birthday-gold) 50%, var(--birthday-gold) 100%);flex:1;height:1px}.gold-divider-stars:before{--dir:right}.gold-divider-stars:after{--dir:left}
