@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;600;700&family=Outfit:wght@300;400;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--font-display:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-handwriting:"Caveat", cursive, sans-serif;--color-bg-primary:#09090e;--color-bg-secondary:#11111a;--device-bezel:#15151a;--device-border:#353540;--glass-bg:#ffffff14;--glass-border:#ffffff1f;--glass-text:#fff;--glass-text-muted:#fff9;--shadow-premium:0 30px 60px -15px #000000e6, 0 0 50px #6366f114}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}body{background-color:var(--color-bg-primary);color:#f3f4f6;font-family:var(--font-sans);background-image:radial-gradient(at 0 0,#6366f11f 0,#0000 50%),radial-gradient(at 100% 100%,#f43f5e14 0,#0000 50%);justify-content:center;align-items:center;min-height:100vh;display:flex;overflow:hidden}#root{justify-content:center;align-items:center;width:100%;height:100vh;display:flex}.btn-tap{transition:transform .1s,filter .2s}.btn-tap:active{transform:scale(.92)!important}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(25px);border:1px solid var(--glass-border);color:var(--glass-text)}.glass-dark{-webkit-backdrop-filter:blur(30px);color:var(--glass-text);background:#000000a6;border:1px solid #ffffff0f}.device-container{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.button-trigger-left{z-index:10;flex-direction:column;align-items:flex-end;gap:20px;display:flex;position:absolute;top:140px;left:-3px}.silent-switch{cursor:pointer;border:none;border-radius:3px 0 0 3px;width:3px;height:32px;transition:background-color .2s;box-shadow:-2px 0 5px #0000004d}.silent-switch.active{background-color:#f97316}.silent-switch.inactive{background-color:#52525b}.volume-btn{background-color:#52525b;border-radius:3px 0 0 3px;width:3px;height:55px;box-shadow:-2px 0 5px #0000004d}.button-trigger-right{z-index:10;position:absolute;top:200px;right:-3px}.power-btn{cursor:pointer;background-color:#52525b;border:none;border-radius:0 3px 3px 0;width:3px;height:85px;transition:background-color .15s;box-shadow:2px 0 5px #0000004d}.power-btn:hover{background-color:#71717a}.power-btn:active{background-color:#a1a1aa}.iphone-chassis{width:385px;height:800px;box-shadow:var(--shadow-premium);background:linear-gradient(#3f3f46,#27272a,#18181b);border:1px solid #ffffff1a;border-radius:56px;justify-content:center;align-items:center;padding:11px;display:flex;position:relative}.chrome-reflection{pointer-events:none;border:1px solid #ffffff14;border-radius:53px;position:absolute;inset:3px}.screen-bezel{background-color:#000;border:3.5px solid #09090b;border-radius:45px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.dynamic-island{z-index:50;background-color:#000;border-radius:9999px;justify-content:space-between;align-items:center;width:110px;height:29px;padding:0 14px;transition:width .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;top:13px;left:50%;transform:translate(-50%);box-shadow:inset 0 2px 4px #ffffff0d}.dynamic-island:hover{width:130px}.camera-lens{border:1px solid #6366f126;border-radius:50%;width:9px;height:9px}.island-sensor{background-color:#18181b;border-radius:50%;width:3px;height:3px}.island-glow{background-color:#020205;border-radius:50%;width:8px;height:8px}.screen-content-wrapper{flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.home-indicator{z-index:50;pointer-events:none;mix-blend-mode:difference;background-color:#ffffffbf;border-radius:9999px;width:125px;height:5px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.power-overlay{z-index:100;pointer-events:none;opacity:0;background-color:#000;transition:opacity .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.power-overlay.sleeping{opacity:1;pointer-events:all}.status-bar{z-index:40;color:#ffffffe6;justify-content:space-between;align-items:center;width:100%;padding:14px 24px 0;font-size:12px;font-weight:600;display:flex}.status-right{align-items:center;gap:6px;display:flex}.status-network-type{font-size:9px;font-weight:700}.wallpaper-parallax{z-index:1;will-change:transform;background-position:50%;background-size:cover;position:absolute;inset:-15px}.lockscreen-container{background:linear-gradient(135deg,#11111d 0%,#07070a 100%);flex-direction:column;justify-content:space-between;width:100%;height:100%;padding-bottom:48px;display:flex;position:relative;overflow:hidden}.lockscreen-tint{z-index:2;pointer-events:none;background:linear-gradient(#00000059 0%,#0000000d 30%,#0000001a 60%,#0000008c 100%);position:absolute;inset:0}.lock-info-group{z-index:10;flex-direction:column;align-items:center;width:100%;margin-top:24px;display:flex}.lock-date{color:#ffffffe6;text-shadow:0 1px 4px #00000080;margin-top:6px;font-size:14px;font-weight:600}.lock-clock{font-size:76px;font-weight:700;font-family:var(--font-display);letter-spacing:-.04em;color:#fff;text-shadow:0 6px 20px #0006;line-height:1}.lockscreen-notif-container{z-index:10;width:100%;margin-top:24px;margin-bottom:auto;padding:0 16px}.lockscreen-notif{-webkit-backdrop-filter:blur(30px);opacity:0;background:#000000a6;border:1px solid #ffffff14;border-radius:16px;gap:12px;width:100%;padding:14px;animation:.6s cubic-bezier(.16,1,.3,1) forwards slideUpFade;display:flex;transform:translateY(30px);box-shadow:0 10px 30px #0000004d}.notif-bumble-icon{background-color:#ffc629;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notif-body-group{flex-direction:column;flex-grow:1;display:flex}.notif-header-row{justify-content:space-between;align-items:center;display:flex}.notif-app-name{color:#fff;text-transform:lowercase;font-size:12px;font-weight:700}.notif-time-badge{color:#ffffff80;font-size:10px;font-weight:500}.notif-title-bold{color:#fff;margin-top:2px;font-size:12px;font-weight:600}.notif-desc{color:#ffffffbf;margin-top:1px;font-size:11px;font-weight:400}.lockscreen-footer{z-index:10;justify-content:space-between;align-items:center;width:100%;padding:0 32px;display:flex}.lock-action-btn{-webkit-backdrop-filter:blur(15px);color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .1s;display:flex}.lock-swipe-text-group{flex-direction:column;align-items:center;gap:4px;animation:2.5s ease-in-out infinite breathingOpacity;display:flex}.lock-swipe-text{letter-spacing:.05em;color:#fff;text-transform:uppercase;font-size:10px;font-weight:600}.passcode-container{z-index:10;background:linear-gradient(135deg,#11111d 0%,#07070a 100%);flex-direction:column;justify-content:space-between;width:100%;height:100%;padding-bottom:64px;display:flex}.passcode-header-group{flex-direction:column;align-items:center;margin-top:96px;display:flex}.passcode-title{color:#fff;letter-spacing:.02em;margin-top:12px;font-size:18px;font-weight:600}.passcode-dots-row{gap:18px;margin-top:28px;display:flex}.passcode-dot{background:0 0;border:2px solid #fff6;border-radius:50%;width:13px;height:13px;transition:background-color .15s,border-color .15s,transform .15s}.passcode-dot.filled{background-color:#fff;border-color:#fff;transform:scale(1.15)}.passcode-dot.wrong{background-color:#ef4444!important;border-color:#ef4444!important}.passcode-dot.correct{background-color:#34d399!important;border-color:#34d399!important}.passcode-dot-shake{animation:.5s ease-in-out shakeHoriz}.passcode-hint-text{text-align:center;color:#ffffff80;height:18px;margin-top:16px;font-size:12px;font-weight:500;transition:opacity .3s}.passcode-hint-text.yellow{color:#fbbf24}.faceid-banner{color:#fff;text-align:center;margin-top:24px;font-size:15px;font-weight:600;animation:.4s ease-out fadeIn}.passcode-keypad{grid-template-columns:repeat(3,auto);justify-content:center;gap:16px 20px;margin-top:auto;display:grid}.keypad-btn{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:72px;height:72px;transition:background-color .15s,transform .1s;display:flex}.keypad-btn:hover{background:#ffffff38}.keypad-btn:active{background:#ffffff59;transform:scale(.92)}.keypad-num{font-size:28px;font-weight:400;font-family:var(--font-display);line-height:1}.keypad-letters{letter-spacing:.08em;color:#fff6;text-transform:uppercase;margin-top:2px;font-size:9px;font-weight:700}.keypad-btn.empty{cursor:default;pointer-events:none;background:0 0}.keypad-btn.action{color:#fffc;background:0 0;font-size:13px;font-weight:600}.keypad-btn.action:hover{background:0 0}.keypad-btn.action:active{transform:scale(.92)}.homescreen-container{z-index:10;background:linear-gradient(135deg,#11111d 0%,#07070a 100%);flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:20px 16px 48px;display:flex;position:relative}.homescreen-blur-bg{filter:brightness(.75);z-index:1;background-position:50%;background-size:cover;position:absolute;inset:0}.homescreen-content{z-index:2;flex-direction:column;width:100%;height:100%;display:flex;position:relative}.homescreen-widgets-row{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;display:grid}.homescreen-widget{-webkit-backdrop-filter:blur(20px);cursor:pointer;background:#00000080;border:1px solid #ffffff14;border-radius:20px;flex-direction:column;justify-content:space-between;height:80px;padding:12px;display:flex;box-shadow:0 4px 15px #00000040}.widget-lbl-red{color:#f87171;font-size:10px;font-weight:700}.widget-lbl-green{color:#34d399;font-size:10px;font-weight:700}.widget-title-lg{color:#fff;font-size:22px;font-weight:700;line-height:1.1}.widget-bottom-desc{color:#fff9;align-items:center;gap:4px;font-size:10px;font-weight:500;display:flex}.widget-battery-row{align-items:center;gap:8px;margin-top:4px;display:flex}.battery-circle-ring{border:2px solid #10b981;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.battery-circle-dot{background-color:#10b981;border-radius:50%;width:6px;height:6px}.homescreen-app-grid{grid-template-columns:repeat(4,1fr);gap:16px 12px;margin-top:32px;padding:0 8px;display:grid}.app-icon-item{cursor:pointer;flex-direction:column;align-items:center;gap:5px;display:flex;position:relative}.app-icon-box{color:#fff;border-radius:13px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative;box-shadow:0 4px 12px #0000004d}.app-icon-box.disabled{filter:brightness(.4)grayscale(.6)}.app-icon-box.active-glow{animation:2s infinite appPulseGlow,2s ease-in-out infinite appBounce;box-shadow:0 0 #ffc62980}.app-icon-wiggle{animation:.5s ease-out appWiggle}.app-lbl-name{color:#fff;text-align:center;font-size:10px;font-weight:500}.homescreen-toast{-webkit-backdrop-filter:blur(15px);color:#fff;z-index:100;opacity:0;background:#000000d9;border-radius:9999px;padding:8px 20px;font-size:12px;font-weight:600;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s;position:absolute;bottom:80px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 8px 25px #00000059}.homescreen-toast.visible{opacity:1;transform:translate(-50%)translateY(0)}.homescreen-modal-overlay{z-index:150;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.homescreen-modal-card{color:#fff;background:#18181b;border-top:1px solid #ffffff1a;border-radius:32px 32px 0 0;flex-direction:column;width:100%;height:80%;padding:24px;animation:.4s cubic-bezier(.16,1,.3,1) forwards slideUpModal;display:flex;position:relative}.modal-close-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:absolute;top:20px;right:20px}.modal-close-btn:hover{background:#fff3}.modal-header-title{align-items:center;gap:8px;margin-bottom:20px;font-size:18px;font-weight:700;display:flex}.modal-scroll-area{flex-grow:1;padding-bottom:32px;overflow-y:auto}.memory-photo-item{border-radius:16px;width:100%;margin-bottom:16px;overflow:hidden;box-shadow:0 4px 15px #0003}.memory-photo-item img{width:100%;height:auto;display:block}.mini-calendar-widget{background:#ffffff0d;border-radius:16px;margin-top:8px;padding:12px}.calendar-grid-header{text-align:center;color:#fff6;grid-template-columns:repeat(7,1fr);margin-bottom:8px;font-size:9px;font-weight:700;display:grid}.calendar-grid-days{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;font-size:11px;display:grid}.calendar-grid-cell{color:#fffc;border-radius:6px;padding:6px 0;position:relative}.calendar-grid-cell.active-heart{color:#ef4444;background:#ef444433;font-weight:700}.calendar-heart-label{font-size:6px;position:absolute;top:1px;right:1px}.note-item-pad{color:#92400e;background:#fef3c7;border-radius:16px;min-height:180px;padding:20px;box-shadow:0 4px 15px #00000026}.note-title{border-bottom:1px solid #92400e26;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;font-size:16px;font-weight:700;display:flex}.note-lock-msg{text-align:center;margin-top:40px;font-size:13px;font-weight:600;animation:2s ease-in-out infinite heartbeatPulse}.battery-details-pad{background:#ffffff0d;border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.battery-detail-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;padding-bottom:8px;font-size:13px;display:flex}.app-zoom-transition-overlay{z-index:1000;transform-origin:50%;background:#ffc629;border-radius:13px;animation:.4s cubic-bezier(.16,1,.3,1) forwards appZoomIn;position:absolute}.bumble-profile-container{color:#fff;background-color:#1a1a1a;flex-direction:column;justify-content:space-between;width:100%;height:100%;display:flex;overflow:hidden}.bumble-header-bar{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.bumble-logo{color:#ffc629;font-size:18px;font-weight:700}.bumble-carousel-wrap{border-radius:20px;width:calc(100% - 32px);height:380px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 8px 25px #0006}.bumble-photo-slide{background-position:50%;background-size:cover;width:100%;height:100%;transition:transform .3s}.bumble-dots-row{z-index:5;gap:4px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.bumble-dot{background-color:#fff6;border-radius:2px;height:4px;transition:width .25s,background-color .25s}.bumble-dot.active{background-color:#fff;width:24px}.bumble-dot.inactive{width:8px}.bumble-profile-details{flex-direction:column;flex-grow:1;padding:16px 20px;display:flex}.bumble-name-age{color:#fff;font-size:22px;font-weight:700}.bumble-location{color:#ffffff80;margin-top:4px;font-size:12px;font-weight:500}.bumble-divider{background:#ffffff14;height:1px;margin:12px 0}.bumble-bio-heading{color:#ffc629;letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600}.bumble-bio-text{color:#ffffffd9;margin-top:8px;font-size:13px;font-weight:400;line-height:1.5}.bumble-action-row{justify-content:center;align-items:center;gap:40px;padding-bottom:24px;display:flex}.bumble-btn{cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .1s,border-color .2s;display:flex}.bumble-btn.pass{color:#ef4444;background:0 0;border:2.5px solid #ffffff26;width:60px;height:60px}.bumble-btn.pass:hover{border-color:#ef4444}.bumble-btn.like{color:#fff;background-color:#ffc629;border:none;width:68px;height:68px;animation:2s infinite bumbleGlowPulse;box-shadow:0 4px 20px #ffc62966}.bumble-card-flyaway-left{animation:.4s ease-out forwards flyawayLeft}.bumble-card-flyaway-right{animation:.4s ease-out forwards flyawayRight}.reject-overlay{z-index:200;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.reject-card{text-align:center;flex-direction:column;align-items:center;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideUpFade;display:flex}.reject-title{color:#fff;font-size:24px;font-weight:700}.reject-subtitle{color:#fff9;margin-top:8px;margin-bottom:24px;font-size:13px}.reject-dismiss-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:9999px;padding:10px 28px;font-size:12px;font-weight:600;transition:background-color .2s}.reject-dismiss-btn:hover{background:#fff3}.profile-card-rubber-band{animation:.4s forwards rubberBand}.match-container{background:linear-gradient(135deg,#ffc629 0%,#ff8a00 50%,#ffc629 100%) 0 0/200% 200%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;animation:3s ease-in-out infinite alternate bgGradientMove;display:flex;position:relative;overflow:hidden}.match-white-flash{z-index:100;opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.match-white-flash.flashing{animation:.15s ease-out whiteFlashAnim}.match-confetti-wrap{z-index:50;pointer-events:none;position:absolute;inset:0}.confetti-particle{will-change:transform, opacity;animation:linear forwards particleFallAnim;position:absolute;top:50%;left:50%}.match-title{color:#fff;text-align:center;text-shadow:0 4px 20px #0000004d;z-index:10;opacity:0;font-size:32px;font-weight:700;animation:.5s cubic-bezier(.16,1,.3,1) forwards scalePopIn}.match-hearts{z-index:10;opacity:0;margin-top:8px;font-size:24px;animation:.4s .4s forwards fadeIn}.match-profiles-wrap{z-index:10;justify-content:center;align-items:center;margin-top:48px;display:flex;position:relative}.match-profile-circle{background-position:50%;background-size:cover;border:3px solid #fff;border-radius:50%;width:80px;height:80px;box-shadow:0 4px 15px #0003}.match-profile-circle.left-avatar{margin-right:-10px;animation:.5s cubic-bezier(.16,1,.3,1) forwards avatarSlideLeft}.match-profile-circle.right-avatar{margin-left:-10px;animation:.5s cubic-bezier(.16,1,.3,1) forwards avatarSlideRight}.match-heart-seal{z-index:20;color:#fff;animation:.4s cubic-bezier(.175,.885,.32,1.275) .5s forwards heartScalePop;position:absolute;transform:scale(0)}.match-label-names{color:#fff;z-index:10;opacity:0;margin-top:16px;font-size:14px;font-weight:600;animation:.3s .7s forwards fadeIn}.chat-container{color:#fff;background-color:#1a1a1a;flex-direction:column;justify-content:space-between;width:100%;height:100%;display:flex}.chat-banner-row{justify-content:center;padding:8px 16px 0;display:flex}.chat-badge{color:#ffc629;background:#ffc6291a;border:1px solid #ffc62933;border-radius:9999px;padding:6px 16px;font-size:11px;font-weight:600}.chat-messages-scroll{flex-direction:column;flex-grow:1;gap:8px;padding:16px;display:flex;overflow-y:auto}.chat-bubble{word-break:break-word;max-width:75%;padding:10px 14px;font-size:13px;line-height:1.4;animation:.3s ease-out forwards chatSlideIn}.chat-bubble.them{color:#fff;background:#2a2a2a;border-radius:18px 18px 18px 4px;align-self:flex-start}.chat-bubble.you{color:#1a1a1a;background:#ffc629;border-radius:18px 18px 4px;align-self:flex-end;font-weight:500}.chat-typing-dots{align-items:center;gap:3.5px;padding:4px 0;display:flex}.typing-dot{background:#ffffff80;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite dotBouncing}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}.chat-choices-panel{background:#00000040;border-top:1px solid #ffffff0d;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.chat-choice-pill{color:#ffc629;text-align:left;cursor:pointer;background:#ffc6291a;border:1px solid #ffc62940;border-radius:16px;width:100%;padding:12px 16px;font-size:13px;font-weight:600;transition:background-color .2s,transform .1s}.chat-choice-pill:hover{background:#ffc62938}.chat-choice-pill:active{transform:scale(.97)}.chat-input-fake-bar{align-items:center;padding:12px 16px 20px;display:flex}.chat-input-box{color:#ffffff4d;background:#2a2a2a;border-radius:24px;width:100%;padding:12px 16px;font-size:13px}.chat-link-card{cursor:pointer;background:#ffc62926;border:1px solid #ffc6294d;border-radius:16px;justify-content:space-between;align-items:center;width:100%;padding:14px;animation:1.5s ease-in-out infinite alternate linkBorderGlow;display:flex}.chat-link-left{align-items:center;gap:12px;display:flex}.chat-link-emoji{font-size:20px}.chat-link-title{color:#ffc629;font-size:14px;font-weight:700}.chat-link-sub{color:#fff9;margin-top:1px;font-size:11px}.loadscreen-container{background:linear-gradient(#1a1a1a,#0a0a0a);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.loadscreen-app-icon{background:linear-gradient(135deg,#ffc629,#ff8a00);border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:0 4px 15px #ff8a004d}.loadscreen-app-title{color:#fff;margin-top:16px;font-size:20px;font-weight:700}.loadscreen-msg{color:#fff9;text-align:center;height:20px;margin-top:32px;font-size:13px;font-weight:500;transition:opacity .25s}.loadscreen-bar-wrap{background:#ffffff1a;border-radius:2px;width:200px;height:4px;margin-top:20px;position:relative;overflow:hidden}.loadscreen-bar-fill{background:linear-gradient(90deg,#ffc629,#ff8a00);border-radius:2px;height:100%;transition:width .4s ease-out;animation:2s ease-in-out infinite progressFillGlow}.loadscreen-pct{color:#ffc629;margin-top:8px;font-size:11px;font-weight:600}.planner-container{color:#fff;background-color:#0a0a0a;flex-direction:column;width:100%;height:100%;padding:24px 0 48px;display:flex}.planner-header-dots{justify-content:center;gap:12px;margin-top:12px;display:flex}.planner-dot{background-color:#fff3;border-radius:50%;width:8px;height:8px;transition:background-color .3s,box-shadow .3s}.planner-dot.active{background-color:#ffc629;box-shadow:0 0 8px #ffc62980}.planner-dot.completed{background-color:#ffc629}.planner-title-block{flex-direction:column;align-items:center;margin-top:24px;padding:0 24px;display:flex}.planner-step-title{color:#fff;text-align:center;font-size:18px;font-weight:700}.planner-step-sub{color:#ffffff80;margin-top:4px;font-size:12px}.planner-cards-scroller{scroll-snap-type:x mandatory;flex-grow:1;align-items:center;gap:14px;margin-top:24px;padding:0 24px;display:flex;overflow-x:auto}.planner-cards-scroller::-webkit-scrollbar{display:none}.flip-card{perspective:600px;cursor:pointer;scroll-snap-align:center;flex-shrink:0;width:130px;height:170px}.flip-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.16,1,.3,1);position:relative}.flip-card.flipped .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{backface-visibility:hidden;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;display:flex;position:absolute}.flip-card-front{color:#fff;background:#ffffff0f;border:1px solid #ffffff14}.flip-card-back{color:#1a1a1a;text-align:center;background-color:#ffc629;font-size:14px;font-weight:700;transform:rotateY(180deg)}.card-emoji{font-size:48px}.card-name{text-align:center;margin-top:8px;font-size:13px;font-weight:600}.card-joke{color:#ffffff80;text-align:center;margin-top:4px;font-size:10px;font-style:italic}.netflix-scroller-wrap{scroll-snap-type:x mandatory;flex-grow:1;align-items:center;gap:16px;padding:0 32px;display:flex;overflow-x:auto}.netflix-scroller-wrap::-webkit-scrollbar{display:none}.movie-poster-card{scroll-snap-align:center;cursor:pointer;filter:brightness(.6);border-radius:12px;flex-shrink:0;align-items:flex-end;width:100px;height:150px;padding:10px;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,filter .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #0006}.movie-poster-card.selected{filter:brightness();border:2px solid #ffc629;transform:scale(1.15);box-shadow:0 0 20px #ffc6294d}.movie-poster-tint{z-index:1;background:linear-gradient(#0000 40%,#000000d9 100%);position:absolute;inset:0}.movie-poster-title{color:#fff;z-index:2;font-size:10px;font-weight:700}.movie-confirm-panel{flex-direction:column;align-items:center;gap:12px;margin-top:auto;padding:0 24px;animation:.4s ease-out fadeIn;display:flex}.movie-confirm-lbl{color:#fff;font-size:15px;font-weight:700}.movie-confirm-btn{color:#1a1a1a;cursor:pointer;background:#ffc629;border:none;border-radius:9999px;padding:12px 36px;font-size:14px;font-weight:700;transition:transform .1s;box-shadow:0 4px 15px #ffc6294d}.itinerary-container{color:#fff;background-color:#0a0a0a;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:24px;animation:.5s ease-out forwards slideUpFade;display:flex}.itinerary-card{background:#ffffff0d;border:1px solid #ffffff14;border-radius:24px;width:100%;margin-top:24px;padding:24px;box-shadow:0 10px 30px #0006}.itinerary-row-item{opacity:0;border-bottom:1px solid #ffffff0f;align-items:center;gap:12px;padding:14px 0;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(12px)}.itinerary-row-item:last-child{border-bottom:none}.itinerary-item-emoji{font-size:20px}.itinerary-item-text{color:#fff;font-size:14px;font-weight:500}.itinerary-btn-accept{color:#1a1a1a;cursor:pointer;background:#ffc629;border:none;border-radius:16px;width:100%;height:52px;margin-top:32px;font-size:15px;font-weight:700;transition:transform .1s,background-color .3s;box-shadow:0 8px 30px #ffc62966}.itinerary-btn-accept.accepted{color:#fff;background-color:#34d399}.loveletter-container{background:#0a0a0a;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.envelope-wrapper{flex-direction:column;justify-content:center;align-items:center;animation:.6s ease-out forwards slideUpFade;display:flex}.envelope-body{cursor:pointer;background:#fef3c7;border-radius:4px;width:200px;height:130px;position:relative;box-shadow:0 10px 40px #00000080}.envelope-flap{transform-origin:top;z-index:10;border:100px solid #0000;border-top:65px solid #fde68a;border-bottom-width:0;width:0;height:0;transition:transform .5s;position:absolute;top:0;left:0}.envelope-flap.opened{z-index:1;transform:rotateX(180deg)}.envelope-heart-seal{z-index:15;filter:drop-shadow(0 2px 5px #00000040);font-size:24px;position:absolute;top:52px;left:88px}.envelope-letter-sheet{z-index:5;color:#1a1a1a;background:#fff;justify-content:center;align-items:center;width:180px;height:110px;font-size:11px;font-weight:600;transition:transform .5s .3s;display:flex;position:absolute;bottom:10px;left:10px;box-shadow:0 2px 10px #0000001a}.envelope-letter-sheet.raised{transform:translateY(-80px)}.full-letter-sheet{z-index:100;background:linear-gradient(#1a1510 0%,#0a0a0a 100%);flex-direction:column;align-items:center;padding:60px 24px 24px;animation:.4s ease-out forwards fadeIn;display:flex;position:absolute;inset:0}.letter-content-body{flex-direction:column;gap:12px;width:100%;max-width:280px;display:flex}.letter-text-line{font-family:var(--font-handwriting);color:#ffffffe6;opacity:0;line-height:1.2;animation:.4s forwards slideUpFade;transform:translateY(8px)}.countdown-container{background:#0a0a0a;flex-direction:column;align-items:center;width:100%;height:100%;padding:24px 16px 48px;display:flex;position:relative;overflow:hidden}.calendar-invite-card{z-index:10;background:#ffffff14;border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;gap:8px;width:100%;margin-top:16px;padding:20px;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards dropBounceAnim;display:flex;box-shadow:0 10px 25px #0000004d}.invite-tag{color:#ffffff80;text-transform:uppercase;font-size:11px;font-weight:600}.invite-title{color:#fff;font-size:16px;font-weight:700}.invite-time-str{color:#ffffffb3;font-size:13px;font-weight:500}.invite-status-pill{color:#34d399;background:#34d39926;border-radius:9999px;align-self:flex-start;margin-top:4px;padding:4px 12px;font-size:11px;font-weight:600}.countdown-main-content{z-index:10;opacity:0;flex-direction:column;align-items:center;margin-top:auto;margin-bottom:auto;animation:.5s .5s forwards fadeIn;display:flex}.countdown-confirmed-title{color:#fff;text-align:center;font-size:26px;font-weight:700}.countdown-label-small{color:#fff9;margin-top:32px;font-size:14px;font-weight:500}.countdown-timer-digits{font-size:36px;font-weight:700;font-family:var(--font-display);color:#ffc629;margin-top:12px}.countdown-footer-msg{color:#ffffff4d;text-align:center;z-index:10;opacity:0;font-size:11px;font-weight:400;animation:.5s 1s forwards fadeIn}.floating-heart{z-index:2;will-change:transform, opacity;pointer-events:none;animation:linear infinite floatUpAnim;position:absolute}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpModal{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes breathingOpacity{0%,to{opacity:.5}50%{opacity:.9}}@keyframes shakeHoriz{0%,to{transform:translate(0)}15%{transform:translate(-8px)}30%{transform:translate(8px)}45%{transform:translate(-6px)}60%{transform:translate(6px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}@keyframes appPulseGlow{0%{box-shadow:0 0 #ffc62980}to{box-shadow:0 0 0 14px #ffc62900}}@keyframes appBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes appWiggle{0%,to{transform:rotate(0)}15%{transform:rotate(-8deg)}30%{transform:rotate(8deg)}45%{transform:rotate(-5deg)}60%{transform:rotate(5deg)}75%{transform:rotate(-2deg)}90%{transform:rotate(2deg)}}@keyframes heartbeatPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes appZoomIn{0%{opacity:.2;transform:scale(.1)}to{opacity:1;border-radius:0;transform:scale(1)}}@keyframes bumbleGlowPulse{0%,to{box-shadow:0 4px 20px #ffc62966}50%{box-shadow:0 4px 30px #ffc629cc}}@keyframes flyawayLeft{to{opacity:0;transform:translate(-120%)rotate(-15deg)}}@keyframes flyawayRight{to{opacity:0;transform:translate(120%)rotate(15deg)}}@keyframes rubberBand{0%{transform:scale(1)}30%{transform:scaleX(1.25)scaleY(.75)}40%{transform:scaleX(.75)scaleY(1.25)}50%{transform:scaleX(1.15)scaleY(.85)}65%{transform:scaleX(.95)scaleY(1.05)}75%{transform:scaleX(1.05)scaleY(.95)}to{transform:scale(1)}}@keyframes bgGradientMove{0%{background-position:0 0}to{background-position:100% 100%}}@keyframes whiteFlashAnim{0%{opacity:0}50%{opacity:.8}to{opacity:0}}@keyframes particleFallAnim{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{transform:translate(var(--tx), var(--ty)) rotate(var(--tr)) scale(var(--ts));opacity:0}}@keyframes scalePopIn{0%{opacity:0;transform:scale(.3)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes avatarSlideLeft{0%{opacity:0;transform:translate(-120px)rotate(-30deg)}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes avatarSlideRight{0%{opacity:0;transform:translate(120px)rotate(30deg)}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes heartScalePop{0%{opacity:0;transform:scale(0)translate(-50%,-50%)}70%{opacity:1;transform:scale(1.3)translate(-50%,-50%)}to{opacity:1;transform:scale(1)translate(-50%,-50%)}}@keyframes chatSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes dotBouncing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}@keyframes linkBorderGlow{0%{border-color:#ffc6294d}to{border-color:#ffc629a6}}@keyframes progressFillGlow{0%,to{box-shadow:0 0 8px #ffc6294d}50%{box-shadow:0 0 16px #ffc62999}}@keyframes dropBounceAnim{0%{transform:translateY(-100%)}60%{transform:translateY(5%)}80%{transform:translateY(-2%)}to{transform:translateY(0)}}@keyframes floatUpAnim{0%{opacity:0;transform:translateY(100%)scale(1)}10%{opacity:var(--float-opacity)}90%{opacity:var(--float-opacity)}to{opacity:0;transform:translateY(-120vh)scale(1.2)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes flyBackIn{0%{opacity:0;transform:translate(120%)rotate(15deg)}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes likeBurst{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}@keyframes pulseGlowButton{0%,to{box-shadow:0 8px 30px #ffc62966}50%{box-shadow:0 8px 40px #ffc629cc}}@keyframes digitPulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes slideStepIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideStepOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.homescreen-dock{-webkit-backdrop-filter:blur(25px);z-index:10;background:#ffffff29;border:1.5px solid #ffffff26;border-radius:28px;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:auto;padding:12px 14px;display:grid;box-shadow:0 10px 30px #0000004d}.bumble-card-flyaway-back-in{animation:.4s ease-out forwards flyBackIn}.like-burst-active{animation:.3s cubic-bezier(.175,.885,.32,1.275) forwards likeBurst}.itinerary-btn-accept.pulsing-glow{animation:2s ease-in-out infinite pulseGlowButton}.planner-step-content{flex-direction:column;align-items:center;width:100%;display:flex}.planner-step-content.slide-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards slideStepIn}.planner-step-content.slide-out{animation:.4s cubic-bezier(.16,1,.3,1) forwards slideStepOut}.digit-pulse-active{animation:.2s ease-out digitPulse;display:inline-block}.planner-cards-grid{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-height:480px;padding:16px 20px 30px;display:grid;overflow-y:auto}.planner-cards-grid::-webkit-scrollbar{display:none}.planner-cards-grid .flip-card{flex-shrink:initial;scroll-snap-align:initial;width:100%;height:120px}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 0;display:grid}.gallery-photo-item{aspect-ratio:1;cursor:pointer;border:1px solid #ffffff0d;border-radius:12px;width:100%;transition:transform .2s cubic-bezier(.16,1,.3,1);overflow:hidden;box-shadow:0 2px 8px #00000026}.gallery-photo-item:hover{transform:scale(.96)}.gallery-photo-item img{object-fit:cover;width:100%;height:100%;display:block}.app-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}
