@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Playfair+Display:ital,wght@0,500;1,500;1,600&display=swap";:root{color:#f5f5f5;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#080808;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:#080808;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.opening-screen{background:#080808;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.opening-backdrop{filter:saturate(.55);background:linear-gradient(90deg,#080808 0%,#080808ad 45%,#08080833),linear-gradient(#0000 35%,#080808 100%),url(https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=1400&q=85) 50%/cover;position:absolute;inset:0}.opening-content{text-align:center;padding:32px;position:relative}.eyebrow{letter-spacing:2.5px;color:#b4b4b4;font-size:10px;font-weight:700}.brand{color:#e50914;letter-spacing:-1px;font-size:20px;font-weight:700}.brand i{vertical-align:-2px;background:#e50914;width:5px;height:18px;margin-right:3px;display:inline-block;transform:skew(-14deg)}.opening-content .brand{margin:22px 0 70px;font-size:31px}.opening-kicker{color:#ddd;font-size:14px}.guest-name{color:#fff;margin:5px 0 18px;font:500 28px Playfair Display,serif}.story-kicker{color:#aaa;font-size:12px}.opening-content h1{margin:12px 0;font-family:Playfair Display,serif;font-size:64px;font-weight:500;line-height:1}.opening-content h1 span{color:#e50914;font-style:italic}.opening-date{color:#bbb}.play-button,.primary-button{color:#101010;background:#f5f5f5;border:0;border-radius:4px;padding:13px 18px;font-weight:700}.play-button{margin-top:30px}.play-button span{color:#e50914;margin-right:8px}.swipe-note{color:#777;margin-top:80px;font-size:11px}.app-shell{-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;scrollbar-width:none;-ms-overflow-style:none;background:#0b0b0b;width:100%;max-width:480px;min-height:100svh;max-height:100svh;margin:auto;padding-bottom:80px;overflow:hidden auto}.app-shell::-webkit-scrollbar{display:none}.topbar{z-index:2;background:linear-gradient(#090909,#0000);justify-content:space-between;align-items:center;height:62px;padding:0 22px;animation:1.1s cubic-bezier(.22,1,.36,1) both topbar-in;display:flex;position:relative}.hero-panel{animation:1.45s cubic-bezier(.22,1,.36,1) both hero-in}.content-section{animation:1.15s cubic-bezier(.22,1,.36,1) both content-in}.content-section:nth-of-type(3){animation-delay:.22s}.page-content{animation:1.15s cubic-bezier(.22,1,.36,1) both page-in}@keyframes topbar-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes hero-in{0%{opacity:0;filter:brightness(.5);transform:scale(1.04)}to{opacity:1;filter:none;transform:none}}@keyframes content-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes page-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.sound-button{color:#eee;background:0 0;border:0;font-size:27px}.hero-panel{background:linear-gradient(#0000 28%,#0b0b0ba8 64%,#0b0b0b 97%),url(/home-cover.jpeg) 50%/cover,#351418;height:500px;padding:275px 24px 24px}.hero-copy h1{margin:10px 0 8px;font-family:Playfair Display,serif;font-size:44px;font-weight:500}.hero-copy h1 small{color:#ddd;font:italic 17px Playfair Display}.meta{color:#bbb;align-items:center;gap:13px;font-size:12px;display:flex}.meta b:first-child{color:#fff}.rating{border:1px solid #777;padding:1px 3px;font-size:10px}.description{color:#ddd;max-width:310px;margin:15px 0;font-size:13px;line-height:1.5}.hero-actions{align-items:center;gap:10px;display:flex}.icon-button{color:#fff;background:#333;border:0;border-radius:4px;width:52px;height:44px;font-size:22px}.icon-button small{font-size:8px;display:block}.content-section{padding:8px 22px 20px}.section-heading{justify-content:space-between;align-items:center;display:flex}.section-heading span{color:#a7a7a7;font-size:12px}.content-section h2{margin:10px 0 12px;font-size:16px}.continue-card{background:#171717;border-radius:4px;align-items:center;gap:12px;padding:9px;display:flex}.mini-poster{background:url(https://images.unsplash.com/photo-1507504031003-b417219a0fde?auto=format&fit=crop&w=300&q=80) 50%/cover;width:74px;height:48px}.continue-card strong{font-size:12px}.continue-card p{color:#999;margin:3px 0 7px;font-size:10px}.progress{background:#555;width:180px;height:3px}.progress i{background:#e50914;width:48%;height:100%;display:block}.play-small{margin-left:auto}.profile-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.profile-grid>div{flex-direction:column;gap:3px;display:flex}.profile-grid b{margin-top:7px;font-size:13px}.profile-grid span{color:#aaa;letter-spacing:.15px;min-height:31px;font-size:10.5px;line-height:1.45}.avatar{aspect-ratio:2/3;background-color:#1a1a1a;background-position:50%;background-size:cover;border-radius:6px;box-shadow:0 6px 18px #00000059}.fani{background-image:url(/groom.jpg)}.ella{background-image:url(/bride.jpg)}.page-content{padding:48px 24px 30px}.page-content h1{margin:14px 0 18px;font:500 45px/1.05 Playfair Display,serif}.page-content h1 em{color:#e50914}.lead{color:#aaa;font-size:14px;line-height:1.6}.story-image{background:linear-gradient(#0000,#0006),url(https://images.unsplash.com/photo-1523438885200-e635ba2c371e?auto=format&fit=crop&w=700&q=85) 50%/cover;border-radius:3px;height:270px;margin:28px 0}.gallery-page{padding-left:0;padding-right:0;position:relative}.gallery-page>.eyebrow,.gallery-page>.lead{margin-left:132px;margin-right:28px}.gallery-page>h1{margin:14px 28px 18px 132px}.gallery-page>.quote{margin-left:50px;margin-right:50px}.gallery-page>.eyebrow,.gallery-page>h1,.gallery-page>.lead{max-width:calc(100% - 160px)}.flower-gate{z-index:5;text-align:center;background:radial-gradient(circle at 50% 38%,#5c1d264d,#0000 42%),#0b0b0b;min-height:600px;padding:105px 24px 30px;transition:opacity .65s,transform .65s;animation:1s both gate-in;position:absolute;inset:0}.flower-gate.leaving{opacity:0;pointer-events:none;transform:scale(1.04)}.flower-gate h1{margin:14px 0;font:500 40px Playfair Display,serif}.flower-stage{justify-content:center;align-items:center;max-width:390px;height:230px;margin:15px auto 10px;display:flex;position:relative}.flower-glow{opacity:.12;filter:blur(40px);background:#e50914;border-radius:50%;width:240px;height:150px;position:absolute}.flower-rail{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff21;border:1px solid #ffffff38;border-radius:40px;height:64px;position:absolute;left:24px;right:24px;box-shadow:inset 0 1px #fff3}.flower-fill{background:linear-gradient(90deg,#e5091440,#ffa0aa6b);border-radius:40px;height:100%;transition:width .12s linear}.flower-handle{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;width:126px;height:126px;box-shadow:none;z-index:2;background:0 0;border:0;place-items:center;transition:transform .18s;display:grid;position:absolute;left:0}.flower-handle:active{cursor:grabbing}.flower-handle img{object-fit:contain;filter:drop-shadow(0 10px 10px #00000073);pointer-events:none;width:150px;height:126px}.glass-hint{color:#eee;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff14;border:1px solid #ffffff40;border-radius:30px;align-items:center;gap:8px;margin:0;padding:13px 20px;font-size:13px;animation:2.4s ease-in-out infinite hint-pulse;display:inline-flex;box-shadow:0 8px 25px #00000040}.glass-hint b{color:#ff9da5;font-size:18px}@keyframes hint-pulse{0%,to{opacity:.7;transform:translate(0)}50%{opacity:1;transform:translate(4px)}}.gallery-reveal{transition:opacity 1.2s,transform 1.2s}.gallery-page:not(.is-unlocked) .gallery-reveal{opacity:0;pointer-events:none;transform:translateY(20px)}.gallery-page.is-unlocked .gallery-reveal{opacity:1;transform:none}@keyframes gate-in{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}.gallery-stage{background-position:50%;background-size:cover;align-items:center;height:540px;margin:30px 0 25px;transition:background-image 1.8s ease-in-out;display:flex;position:relative;overflow:hidden}.gallery-stage:before{z-index:0}.gallery-card span{z-index:4;text-shadow:0 2px 8px #000;padding:8px 0;bottom:32px;left:28px;right:28px}.gallery-stage:after{content:"";pointer-events:none;z-index:3;border-radius:0;position:absolute;inset:0}.gallery-card{transform-origin:50%}.gallery-card span{white-space:nowrap;text-overflow:clip;font-size:14px;line-height:1.2;bottom:22px;left:24px;right:24px;overflow:visible}.gallery-stage:before{content:"";-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:0;background:#000000bd;position:absolute;inset:0}.gallery-track{z-index:1;scroll-behavior:smooth;scroll-snap-type:none;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain;overscroll-behavior-y:none;cursor:grab;scroll-behavior:auto;align-items:center;gap:100px;width:100%;padding:0 calc(50% - 145px);display:flex;position:relative;overflow:auto hidden}.gallery-track:active{cursor:grabbing}.gallery-track::-webkit-scrollbar{display:none}.gallery-card{opacity:.78;scroll-snap-align:center;background:#222;border:0;border-radius:12px;flex:0 0 290px;height:232px;padding:0;transition:transform 1.05s cubic-bezier(.16,1,.3,1),opacity .8s,box-shadow .8s;position:relative;overflow:hidden;transform:scale(.97)}.gallery-card.selected{opacity:1;z-index:2;transform:scale(1.25);box-shadow:0 24px 55px #000000ad}.gallery-card img{object-fit:cover;width:100%;height:100%;display:block}.gallery-card:after{content:"";background:linear-gradient(#0000 55%,#000000d9);position:absolute;inset:0}.gallery-card{isolation:isolate}.gallery-card span{text-align:left;z-index:5;color:#fff;white-space:nowrap;text-shadow:0 2px 8px #000000f2;font-size:14px;font-weight:700;line-height:1.2;position:absolute;bottom:24px;left:24px;right:24px;overflow:visible}.gallery-card.selected span{bottom:42px}.gallery-arrow{z-index:2;color:#fff;background:#0000008c;border:0;border-radius:50%;width:34px;height:34px;font-size:28px;line-height:20px;transition:background .3s,transform .3s;position:absolute;top:50%;transform:translateY(-50%)}.gallery-arrow:hover{background:#e50914;transform:translateY(-50%)scale(1.1)}.gallery-arrow.previous{left:14px}.gallery-arrow.next{right:14px}.gallery-dots{z-index:2;justify-content:center;gap:6px;display:flex;position:absolute;bottom:14px;left:0;right:0}.gallery-dots button{background:#888;border:0;border-radius:50%;width:6px;height:6px;padding:0;transition:all .4s}.gallery-dots button.active{background:#e50914;border-radius:5px;width:20px}.quote{color:#ddd;text-align:center;font:italic 20px Playfair Display,serif}.verse-card{text-align:center;opacity:0;background:linear-gradient(145deg,#300f12b8,#121212eb);border:1px solid #e5091473;border-radius:8px;margin:48px 24px 20px;padding:26px 20px;transition:opacity 1.2s cubic-bezier(.22,1,.36,1),transform 1.2s cubic-bezier(.22,1,.36,1);transform:translateY(32px)scale(.94);box-shadow:0 18px 45px #00000047}.verse-card.verse-visible{opacity:1;transform:translateY(0)scale(1)}.verse-card h2{color:#fff;opacity:0;margin:12px 0 22px;font:24px Playfair Display,serif;transform:translateY(14px)}.arabic,.latin,.translation{opacity:0;transform:translateY(14px)}.verse-visible h2{animation:.8s cubic-bezier(.22,1,.36,1) .25s forwards text-reveal}.verse-visible .arabic{animation:1s cubic-bezier(.22,1,.36,1) .45s forwards text-reveal}.verse-visible .latin{animation:.9s cubic-bezier(.22,1,.36,1) .7s forwards text-reveal}.verse-visible .translation{animation:.9s cubic-bezier(.22,1,.36,1) .95s forwards text-reveal}.latin,.translation{color:#bbb;text-align:left;font-size:12px;line-height:1.8}.translation{color:#eee;margin-bottom:0}.verse-card:before{content:"❦";color:#e50914;opacity:0;margin-bottom:4px;font-size:24px;display:block;transform:scale(.7)}.verse-visible:before{animation:.8s .1s forwards ornament-reveal}@keyframes text-reveal{to{opacity:1;transform:none}}@keyframes ornament-reveal{to{opacity:1;transform:scale(1)}}.countdown{gap:8px;margin:28px 0;display:flex}.countdown div{text-align:center;background:#191919;border-radius:4px;flex:1;padding:12px 8px}.countdown strong{font-size:24px;display:block}.countdown span{color:#888;text-transform:uppercase;font-size:9px}.event-card{background:linear-gradient(135deg,#2a1113,#171717);border-left:3px solid #e50914;padding:20px}.event-card>span{letter-spacing:1px;color:#999;font-size:9px}.event-card h2{margin:12px 0;font:24px Playfair Display}.event-card p{color:#ccc;font-size:13px;line-height:1.8}.map-link{color:#ddd;margin-top:18px;font-size:12px;text-decoration:none;display:block}.emoji-picker-label{letter-spacing:1px;color:#888;text-transform:uppercase;font-size:10px}.emoji-picker{gap:8px;margin-top:-2px;display:flex}.emoji-button{background:#1b1b1b;border:1px solid #3a3a3a;border-radius:50%;width:42px;height:42px;padding:0;font-size:22px;line-height:1;transition:transform .2s,background .2s,border-color .2s}.emoji-button:hover{background:#351418;border-color:#e50914;transform:translateY(-2px)}.emoji-button.is-popping{animation:.42s cubic-bezier(.22,1,.36,1) emoji-pop}@keyframes emoji-pop{0%{transform:scale(1)}40%{background:#e50914;transform:scale(1.45)rotate(-8deg);box-shadow:0 0 24px #e509148c}75%{transform:scale(.92)rotate(5deg)}to{transform:scale(1)rotate(0)}}.floating-emoji-layer{z-index:30;pointer-events:none;position:fixed;inset:0;overflow:hidden}.floating-emoji{filter:drop-shadow(0 6px 10px #e5091473);font-size:clamp(22px,7vw,42px);animation:1.5s cubic-bezier(.22,1,.36,1) both floating-emoji-pop;position:absolute}@keyframes floating-emoji-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(0)}14%{opacity:.9;transform:translate(-50%,-50%) scale(1.12) rotate(var(--emoji-rotate))}28%{opacity:1;transform:translate(-50%,-54%) scale(1) rotate(calc(var(--emoji-rotate) * .7))}68%{opacity:.92;transform:translate(-50%,-76%) scale(.98) rotate(calc(var(--emoji-rotate) * -.6))}84%{opacity:.55;transform:translate(-50%,-98%) scale(.9) rotate(calc(var(--emoji-rotate) * .8))}to{opacity:0;transform:translate(-50%,-125%) scale(.72) rotate(var(--emoji-rotate))}}form{gap:18px;display:grid}label{color:#aaa;gap:8px;font-size:12px;display:grid}input,select,textarea{color:#fff;background:#151515;border:1px solid #333;border-radius:3px;outline:none;padding:13px}textarea{resize:vertical;min-height:110px}.success-box{text-align:center;background:#161616;margin-top:25px;padding:32px}.success-box span{color:#e50914;font-size:40px}.success-box h2{margin:10px;font:25px Playfair Display}.success-box p{color:#aaa}.gift-section{margin-top:44px;animation:1.15s cubic-bezier(.22,1,.36,1) both content-in}.gift-section h2{margin:10px 0 8px;font:26px Playfair Display,serif}.gift-note{color:#999;margin-bottom:18px;font-size:12px;line-height:1.7}.gift-list{gap:12px;display:grid}.gift-card{text-align:left;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;background:#ffffff0f;border:1px solid #ffffff24;border-radius:22px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:transform .5s cubic-bezier(.22,1,.36,1),background .4s,border-color .4s;display:flex}.gift-card:hover{background:#e5091429;border-color:#e5091480;transform:translateY(-3px)}.gift-logo{background:#ffffffeb;border-radius:10px;flex:0 0 56px;place-items:center;width:56px;height:38px;display:grid;overflow:hidden}.gift-logo img{object-fit:contain;max-width:46px;max-height:28px}.gift-logo.large{border-radius:14px;flex:none;width:88px;height:56px;margin:0 auto 14px}.gift-logo.large img{max-width:72px;max-height:42px}.gift-info{gap:3px;display:grid}.gift-info b{font-size:13px}.gift-info small{color:#aaa;font-size:11px}.gift-arrow{color:#bbb;margin-left:auto;font-size:22px}.gift-modal{z-index:9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b8;place-items:center;padding:24px;animation:.35s both fade-in;display:grid;position:fixed;inset:0}.gift-dialog{text-align:center;background:linear-gradient(150deg,#300f12f2,#121212f7);border:1px solid #ffffff29;border-radius:24px;width:100%;max-width:330px;padding:30px 24px 26px;animation:.5s cubic-bezier(.22,1,.36,1) both dialog-in;position:relative;box-shadow:0 25px 60px #0000008c}.gift-close{color:#bbb;background:0 0;border:0;font-size:26px;position:absolute;top:12px;right:16px}.gift-dialog h3{margin:12px 0 14px;font:24px Playfair Display,serif}.gift-number{letter-spacing:2px;margin:0 0 6px;font-size:23px;font-weight:700}.gift-holder{color:#aaa;margin-bottom:20px;font-size:12px}.gift-copy{border-radius:22px;width:100%}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(24px)scale(.94)}to{opacity:1;transform:none}}.bottom-nav{z-index:4;background:#0c0c0cf5;border-top:1px solid #252525;justify-content:space-around;width:min(480px,100%);padding:10px 4px 9px;display:flex;position:fixed;bottom:0}.bottom-nav button{color:#777;background:0 0;border:0;justify-items:center;gap:4px;font-size:10px;transition:color .3s,transform .3s;display:grid}.bottom-nav button span{font-size:19px;transition:transform .35s cubic-bezier(.22,1,.36,1),color .3s}.bottom-nav button:hover{color:#ddd;transform:translateY(-2px)}.bottom-nav button.active{color:#fff}.bottom-nav button.active span{color:#e50914;transform:translateY(-3px)scale(1.12)}.primary-button,.play-button,.icon-button,.sound-button{transition:transform .5s cubic-bezier(.22,1,.36,1),filter .5s,background-color .5s}.primary-button:hover,.play-button:hover{filter:brightness(1.12);transform:translateY(-2px)}.icon-button:hover{background:#444;transform:scale(1.06)}.continue-card,.profile-grid>div,.event-card{transition:transform .35s,box-shadow .35s}.continue-card:hover,.profile-grid>div:hover,.event-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000004d}@media (width>=481px){.opening-screen{max-width:480px;margin:auto}.opening-screen:after{content:"";pointer-events:none;border:1px solid #222;position:fixed;inset:0}.app-shell{box-shadow:0 0 80px #000}}#root{min-height:100svh}.story-reel{gap:12px;margin:34px 24px 40px;display:grid;box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:0!important}.story-reel .reel-item,.story-reel .reel-inner{box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:0!important}.reel-play,.reel-download,.reel-title{border:0;border-radius:6px;width:100%;padding:14px;font-size:15px;font-weight:700;transition:transform .25s,filter .25s}.reel-play:active,.reel-download:active,.reel-title:active{transform:scale(.985)}.reel-play{color:#111;transform-origin:50%;background:#e5e5e5;border:0}.stage-0 .reel-play{animation:1.8s ease-in-out infinite playPulse}.reel-play span{margin-right:5px;display:inline-block}@keyframes playPulse{0%,to{transform:scale(1);box-shadow:0 0 #e5e5e547}50%{transform:scale(1.025);box-shadow:0 0 0 7px #e5e5e500}}.reel-play:hover{background:#f4f4f4}.reel-play:focus-visible{outline-offset:3px;outline:2px solid #e50914}.reel-download{color:#fff;background:#2b2b2b}.reel-screen{gap:16px;display:grid;position:relative}.episodes-locked .reel-screen>.reel-title{filter:none;opacity:1;pointer-events:auto;z-index:2;position:relative;transform:none}.episodes-locked .reel-screen>.reel-intro,.episodes-locked .reel-screen>.reel-tabs,.episodes-locked .reel-screen>.reel-list{filter:blur(10px);pointer-events:none;-webkit-user-select:none;user-select:none}.episodes-lock{z-index:6;text-align:center;color:#fff;-webkit-backdrop-filter:blur(14px);cursor:pointer;background:#121212b8;border:1px solid #ffffff2e;border-radius:14px;place-content:center;gap:6px;min-height:150px;padding:28px 20px;transition:transform .35s,background .35s;display:grid;position:absolute;inset:72px 0 auto;box-shadow:0 20px 45px #00000059}.episodes-lock:hover,.episodes-lock:focus-visible{background:#e50914c7;outline:0;transform:scale(1.02)}.episodes-lock-icon{color:#fff;background:#e50914;border-radius:50%;place-items:center;width:38px;height:38px;margin:0 auto 4px;display:grid}.episodes-lock strong{font-size:18px}.episodes-lock small{color:#ddd;font-size:12px}.episodes-unlocked .episodes-lock{display:none}.reel-title{color:#fff;opacity:1;pointer-events:auto;z-index:2;background:#e50914;font-size:19px;display:block;position:relative;transform:none}.reel-title.is-pressed{animation:.42s cubic-bezier(.22,1,.36,1) storyButtonClick}@keyframes storyButtonClick{0%{transform:scale(1);box-shadow:0 0 #ff5aaa00}45%{transform:scale(.96);box-shadow:0 0 20px #ff5aaacc}to{transform:scale(1);box-shadow:0 0 8px #ff5aaa4d}}.reel-intro{color:#d8d8d8;opacity:0;margin:0;font-size:13.5px;line-height:1.85;transform:translateY(26px)}.reel-tabs{gap:10px;display:flex}.reel-tabs button{color:#fff;opacity:0;background:#2b2b2b;border:0;border-radius:6px;padding:12px 16px;font-size:14px;font-weight:700;transition:background .35s,color .35s,transform .25s;transform:translateY(14px)}.reel-tabs button.active{background:#e50914}.reel-list{gap:0;display:grid}.reel-item{opacity:0;grid-template-rows:0fr;margin:0;transition:grid-template-rows 1.15s cubic-bezier(.16,1,.3,1),opacity .85s,margin .95s cubic-bezier(.16,1,.3,1);display:grid}.reel-item.open{opacity:1;grid-template-rows:1fr;margin:8px 0 28px}.reel-inner{grid-template-columns:132px 1fr;align-items:start;gap:16px;min-height:0;display:grid;overflow:hidden}.reel-frame{opacity:0;background:#333;border-radius:8px;height:112px;overflow:hidden;transform:translate(-38px)}.reel-frame img{object-fit:cover;width:100%;height:100%;display:block}.reel-copy h3{color:#fff;opacity:0;margin:0 0 8px;font-size:17px;line-height:1.3;transform:translate(-30px)}.reel-copy p{color:#c4c4c4;opacity:0;margin:0;font-size:13px;line-height:1.75;transform:translateY(14px)}.reel-item.open .reel-frame{animation:1.15s cubic-bezier(.16,1,.3,1) .18s both reel-slide}.reel-item.open .reel-copy h3{animation:1.05s cubic-bezier(.16,1,.3,1) .36s both reel-slide}.reel-item.open .reel-copy p{animation:1.1s cubic-bezier(.16,1,.3,1) .56s both reel-rise}.story-reel.stage-1 .reel-title,.story-reel.stage-2 .reel-title,.story-reel.stage-3 .reel-title{pointer-events:auto;animation:1s cubic-bezier(.22,1,.36,1) forwards reel-pop}.story-reel.stage-2 .reel-intro,.story-reel.stage-3 .reel-intro{animation:1.35s cubic-bezier(.22,1,.36,1) forwards reel-rise}.story-reel.stage-3 .reel-tabs button{animation:.85s cubic-bezier(.22,1,.36,1) forwards reel-rise}@keyframes reel-pop{to{opacity:1;transform:none}}@keyframes reel-rise{to{opacity:1;transform:none}}@keyframes reel-slide{to{opacity:1;transform:none}}@media (width<=400px){.reel-inner{grid-template-columns:108px 1fr;gap:13px}.reel-frame{height:96px}}@media (prefers-reduced-motion:reduce){.story-reel *{transition-duration:.01ms!important;animation-duration:.01ms!important}}.gallery-stage{isolation:isolate;touch-action:pan-y;background:#111;border-radius:18px;height:420px;margin:28px 24px 24px;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000059}.gallery-bg{filter:blur(42px);opacity:.14;z-index:-2;background-position:50%;background-size:cover;position:absolute;inset:-12%;transform:scale(1.16)}.gallery-stage:after{content:"";z-index:-1;background:linear-gradient(#0000001f,#00000094);position:absolute;inset:0}.gallery-frame{will-change:transform;border-radius:16px;position:absolute;inset:30px 40px 48px;overflow:hidden;box-shadow:0 20px 45px #00000073}.gallery-hero-image{object-fit:cover;will-change:transform,opacity;width:100%;height:100%;display:block;position:absolute;inset:0}.gallery-hero-image.next-photo,.gallery-caption.next-caption{opacity:0}.gallery-arrow{z-index:3}.gallery-progress{z-index:3;letter-spacing:2px;align-items:center;gap:10px;font-size:11px;display:flex;position:absolute;bottom:17px;left:50%;transform:translate(-50%)}.gallery-progress i{background:#ffffff8c;width:58px;height:1px;display:block}.gallery-progress b{color:#fff}.gallery-progress span{color:#aaa}@media (width<=480px){.gallery-stage{height:370px;margin-left:16px;margin-right:16px}.gallery-frame{inset:24px 28px 48px}.gallery-caption{left:14px}}.event-actions{align-items:stretch;gap:10px;display:flex}.event-actions .primary-button{flex:1}.event-card>.primary-button{width:100%;display:block}.event-card .gift-action-button{width:100%;margin-top:14px;display:block}.gift-action-button{color:#fff;background:#e50914;animation:2.4s ease-in-out infinite giftGlow;box-shadow:0 0 8px #ff469659}@keyframes giftGlow{0%,to{box-shadow:0 0 6px #ff37914d,0 0 14px #e509142e}50%{box-shadow:0 0 13px #ff5fb4b8,0 0 28px #e509146b}}@media (width<=380px){.event-actions{flex-direction:column}}.portrait-event-button{text-align:center;width:100%;margin:24px auto 0;display:block}.portrait-gallery h2{color:#f5f5f5;margin:0 0 20px;font:500 32px Playfair Display,serif}.portrait-gallery-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.portrait-gallery-card{appearance:none;aspect-ratio:3/4;opacity:0;filter:blur(4px);cursor:pointer;background:#242424;border:0;border-radius:14px;width:100%;padding:0;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s;overflow:hidden;transform:scale(.97)}.portrait-gallery-card img{object-fit:cover;width:100%;height:100%;transition:transform .32s cubic-bezier(.22,1,.36,1),filter .32s;display:block}.portrait-gallery-card:hover,.portrait-gallery-card:focus-visible,.portrait-gallery-card.is-active{z-index:1;transform:scale(1.045);box-shadow:0 12px 26px #00000061}.portrait-gallery-card:hover img,.portrait-gallery-card:active img,.portrait-gallery-card:focus-visible img,.portrait-gallery-card.is-active img{filter:brightness(1.08);transform:scale(1.035)}.portrait-gallery-card:focus-visible{outline-offset:3px;outline:2px solid #e50914cc}.portrait-gallery.is-visible .portrait-gallery-card{animation:1.15s cubic-bezier(.16,1,.3,1) both portraitReveal}.portrait-gallery.is-visible .portrait-gallery-card:nth-child(2){animation-delay:.5s}.portrait-gallery.is-visible .portrait-gallery-card:nth-child(3){animation-delay:1s}.portrait-gallery.is-visible .portrait-gallery-card:nth-child(4){animation-delay:1.5s}.portrait-gallery-card img{object-fit:cover;filter:blur(2px);width:100%;height:100%;display:block;transform:scale(1.02)}.portrait-gallery.is-visible .portrait-gallery-card img{animation:1.15s cubic-bezier(.16,1,.3,1) both portraitImage}.portrait-gallery.is-visible .portrait-gallery-card:nth-child(2) img{animation-delay:.5s}.portrait-gallery.is-visible .portrait-gallery-card:nth-child(3) img{animation-delay:1s}.portrait-gallery.is-visible .portrait-gallery-card:nth-child(4) img{animation-delay:1.5s}@keyframes portraitReveal{0%{opacity:0;filter:blur(4px);transform:scale(.97)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes portraitImage{0%{filter:blur(2px);transform:scale(1.02)}to{filter:blur();transform:scale(1)}}.wish-list{border-top:1px solid #2b2b2b;margin:42px 0 30px;padding-top:28px}.wish-list h2{margin:10px 0 18px;font:500 25px Playfair Display,serif}.wish-empty{color:#888;font-size:12px}.wish-item{border-bottom:1px solid #292929;padding:14px 0}.wish-item div{align-items:center;gap:10px;display:flex}.wish-item b{font-size:13px}.wish-item small{color:#e50914;font-size:10px}.wish-item p{color:#c5c5c5;margin:5px 0 0;font-size:12px;line-height:1.65}.map-embed{background:#171717;border:1px solid #292929;border-radius:8px;height:260px;margin-top:22px;overflow:hidden}.map-embed iframe{filter:saturate(.8);border:0;width:100%;height:100%;display:block}.family-locations{margin-top:34px}.family-locations h2{margin:8px 0 14px;font-family:Playfair Display,serif;font-weight:500}.family-location-wrap{margin-top:10px}.family-location{color:#fff;text-align:left;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:16px 18px;text-decoration:none;display:flex}.family-location.selected{background:#e509141f;border-color:#e509148c}.family-location b{color:#e50914;font-size:20px}.family-map-card{background:#ffffff0b;border:1px solid #ffffff1f;border-radius:8px;margin-top:8px;padding:10px;animation:.35s both family-map-in}.family-map-preview{background:#171717;border-radius:6px;height:180px;overflow:hidden}.family-map-preview iframe{filter:saturate(.85);border:0;width:100%;height:100%;display:block}.family-map-button{text-align:center;margin-top:10px;text-decoration:none;display:block}@keyframes family-map-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.sound-button{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(105deg,#4b0a13eb,#20070ce6);border:1px solid #e5091429;border-radius:24px;align-items:center;gap:9px;min-width:190px;min-height:42px;padding:5px 9px;transition:transform .3s,background .3s;display:flex;position:relative}.sound-button:hover{background:linear-gradient(105deg,#5f0c18f5,#2a080ff0);transform:scale(1.03)}.music-island{text-align:left;grid-template-columns:8px 1fr;align-items:center;column-gap:8px;min-width:0;display:grid}.music-island i{background:#e50914;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #e5091426}.sound-button.is-playing .music-island i{animation:1.4s ease-in-out infinite music-pulse}.music-island span{gap:1px;min-width:0;display:grid}.music-island b{white-space:nowrap;font-size:11px;font-weight:700;line-height:1.1}.music-island small{color:#aaa;white-space:nowrap;text-overflow:ellipsis;font-size:8px;line-height:1.1;overflow:hidden}.music-cassette{background:radial-gradient(circle,#e50914 0 3px,#292929 4px 7px,#111 8px 11px,#3a3a3a 12px 13px,#151515 14px);border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;margin-left:auto;display:grid;position:relative;box-shadow:inset 0 0 0 2px #555,0 2px 8px #00000080}.sound-button.is-playing .music-cassette{animation:3.5s linear infinite cassette-spin}.sound-button.is-paused .music-cassette{animation-play-state:paused}.cassette-reel{background:#d9d9d9;border-radius:50%;width:6px;height:6px;position:absolute;top:8px;box-shadow:inset 0 0 0 2px #777}.cassette-reel-left{left:6px}.cassette-reel-right{right:6px}.cassette-label{text-align:center;color:#fff;font-size:5px;font-weight:700;position:absolute;inset:12px 0 auto}@keyframes music-pulse{50%{transform:scale(1.35);box-shadow:0 0 0 6px #e509140a}}@keyframes cassette-spin{to{transform:rotate(360deg)}}.topbar{-webkit-backdrop-filter:blur(18px);z-index:20;background:linear-gradient(#070707e6,#07070759);width:min(480px,100%);height:62px;position:fixed;top:0;left:max(50% - 240px,0px);transform:none}.app-shell{-webkit-overflow-scrolling:touch;scroll-padding-top:0;overflow-x:hidden}.sound-button{-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 24px #00000038,inset 0 1px #ffffff1f;background:linear-gradient(135deg,#ffffff29,#e5091433)!important;border:1px solid #ffffff21!important}.continue-card,.event-card,.gift-card,.success-box,.profile-grid>div,.gallery-card,.verse-card,.story-reel,.wish-item{-webkit-backdrop-filter:blur(18px);border:1px solid #ffffff1f;box-shadow:0 14px 34px #00000038,inset 0 1px #ffffff1a;background:linear-gradient(135deg,#ffffff1a,#ffffff09)!important}.profile-grid>div{border-radius:10px;padding-bottom:12px;overflow:hidden}.profile-grid>div b,.profile-grid>div span{padding-left:10px;padding-right:10px}.bottom-nav{-webkit-backdrop-filter:blur(22px);z-index:20;left:max(50% - 240px,0px);background:#0c0c0cb8!important;border-top:1px solid #ffffff21!important}.primary-button,.play-button{box-shadow:0 8px 22px #e5091426}@media (width<=480px){.topbar{width:100%}}
