.world-sky{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;opacity:.65}main,nav{position:relative;z-index:1}nav{position:fixed}.sky-sun{position:absolute;right:-80px;top:-130px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#ffdca738,transparent 68%)}.sky-moon{display:none;position:absolute;right:5%;top:12%;width:37px;height:37px;border-radius:50%;box-shadow:-9px 4px 0 #eee4bd55;transform:rotate(-20deg)}.sky-star{display:none;position:absolute;left:var(--star-x);top:var(--star-y);font-size:9px;color:#e2e9ff88;font-style:normal;animation:sky-twinkle 7s ease-in-out var(--star-delay) infinite}html[data-appearance=night] .sky-sun{display:none}html[data-appearance=night] .sky-moon,html[data-appearance=night] .sky-star{display:block}
.character-greetings{position:absolute;right:18px;top:-105px;width:185px;height:145px;z-index:5;display:grid;grid-template-columns:1fr 1fr;pointer-events:none}.character-greetings button{background:transparent!important;border:0;box-shadow:none;pointer-events:auto;cursor:pointer;min-width:0;padding:0}.character-greetings button:focus-visible{outline:2px dashed currentColor;outline-offset:-10px}.greeting-heart{position:absolute;right:43%;top:15px;opacity:0;color:#e68dab;font-size:25px;pointer-events:none}.moment-react .greeting-heart{animation:moment-heart 1.2s ease-out}.moment-react :is(.hero-couple,.calendar-header-art img){animation:couple-cheer .75s ease-in-out}.moment-react.calendar-header-art img{animation:couple-cheer .75s ease-in-out}
.moment-announcement{position:fixed;top:18px;left:50%;transform:translate(-50%,-15px);width:max-content;max-width:calc(100vw - 28px);padding:12px 18px;border-radius:18px;background:#fff9ef;color:#5c3c46;box-shadow:0 7px 28px #21152f30;z-index:85;pointer-events:none;opacity:0;font-size:14px;transition:opacity .2s,transform .2s}.moment-announcement.is-visible{opacity:1;transform:translate(-50%,0)}.moment-announcement[data-kind=wave]:before{content:'👋 ';}.moment-announcement[data-kind=popcorn]:before{content:'🍿 ';}
.movie-couple-scene{position:relative;display:grid;grid-template-columns:minmax(100px,230px) minmax(0,1fr);align-items:center;gap:20px;margin:12px 0 26px;padding:15px 8px}.movie-couple-scene>img{display:block;width:100%;height:auto;max-height:220px;object-fit:contain;filter:drop-shadow(0 10px 12px #0002)}.movie-couple-scene h3{margin:10px 0;font-size:26px}.movie-couple-scene p{font-size:14px;line-height:1.5}.popcorn-kernel{position:absolute;left:23%;top:25%;opacity:0;pointer-events:none}.popcorn-offer .popcorn-kernel{animation:popcorn-share 1.5s ease-in-out}.movie-couple-scene.moment-react>img{animation:couple-cheer .8s ease}
.shared-countdown{margin:18px 0;padding:20px!important}.shared-countdown h3{margin:12px 0 6px;font-size:21px}.shared-countdown .row>div{flex:1}.shared-countdown img{width:90px;max-height:100px;object-fit:contain}.shared-countdown[data-soon=true] img{animation:ready-for-date .7s ease 1}.shared-countdown .text-button{padding-left:0}
.anniversary-banner{text-align:center;border:1px solid #c995714d;background:linear-gradient(130deg,#f6d5bd40,#e8b2d52b);padding:20px;border-radius:20px;margin:12px 0 25px}.anniversary-banner>span{display:block;color:#d18599;letter-spacing:15px;font-size:25px;animation:anniversary-love 1.2s ease-out 2}.anniversary-banner h3{font:italic 25px Georgia,serif;margin:12px 0}.anniversary-banner p{font-size:14px}
.souvenir-shelf{margin:20px 0}.souvenir-shelf summary{cursor:pointer;font-weight:700}.souvenir-shelf>p{line-height:1.5}.souvenir-shelf #souvenirCollection{display:flex;flex-wrap:wrap;gap:12px}.souvenir{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid #8884;border-radius:12px;padding:12px 8px;min-width:85px;max-width:125px;text-align:center}.souvenir b{font-size:25px}.souvenir small{font-size:10px}.souvenir.locked{opacity:.42;filter:grayscale(1)}.book-stickers{border:0;padding:8px 0;margin:4px 0;display:flex;gap:7px;flex-wrap:wrap}.book-stickers legend{font:11px Georgia,serif;color:#856445}.keepsake button.book-sticker-choice{min-width:36px;min-height:36px;padding:4px;background:#fbf4e8!important;color:#734d3b!important;border:1px solid #cdb492;border-radius:8px;font-size:20px}.book-sticker-choice[aria-pressed=true]{outline:2px solid #9b6651;outline-offset:2px}.page-sticker{position:absolute;left:20px;bottom:35px;padding:5px 10px;font-size:31px;transform:rotate(-13deg);filter:drop-shadow(1px 2px 1px #76543130)}.open-book.page-turn .left-paper{animation:paper-turn .55s ease;transform-origin:right center}.open-book.page-turn .right-paper{animation:paper-arrive .55s ease}.paper-date.date-written{animation:handwritten-date .8s ease both}.scrapbook-napping-cat{position:absolute;right:-9px;top:-35px;width:80px;height:80px;background-image:url('assets/fluffy-cat-poses.png');background-size:300% 200%;background-position:50% 100%;filter:drop-shadow(0 3px 2px #0002);pointer-events:none;animation:nap-breathe 4s ease-in-out infinite}.scrapbook-napping-cat>span{position:absolute;right:0;top:16px;font:11px system-ui;color:#dfceb9;animation:moment-heart 4s infinite}.cat-toy-heart{position:absolute;z-index:4;font-size:23px;line-height:1;pointer-events:none;color:#e99fbc;filter:drop-shadow(0 1px 2px #0002);animation:heart-drift 1s ease-in-out infinite}.cat-toy-heart[hidden]{display:none}.moments-settings label{display:block}.moments-settings input[type=date]{max-width:260px}
@keyframes sky-twinkle{0%,100%{opacity:.3}50%{opacity:.9}}@keyframes moment-heart{0%{opacity:0;transform:translateY(9px) scale(.8)}40%{opacity:1}100%{opacity:0;transform:translateY(-25px) scale(1.05)}}@keyframes couple-cheer{0%,100%{translate:0 0;rotate:0deg}35%{translate:0 -7px;rotate:-2deg}70%{translate:0 -3px;rotate:2deg}}@keyframes popcorn-share{0%{opacity:0;translate:0 10px}35%{opacity:1;translate:15px -12px}100%{opacity:0;translate:35px 0}}@keyframes ready-for-date{50%{transform:rotate(-4deg) translateY(-5px)}}@keyframes anniversary-love{0%{opacity:0;translate:0 7px}100%{opacity:1;translate:0 0}}@keyframes paper-turn{0%{transform:rotateY(0)}45%{transform:rotateY(12deg);filter:brightness(.93)}100%{transform:rotateY(0)}}@keyframes paper-arrive{0%{opacity:.6}100%{opacity:1}}@keyframes handwritten-date{0%{opacity:0;clip-path:inset(0 100% 0 0)}100%{opacity:1;clip-path:inset(0 0 0 0)}}@keyframes nap-breathe{50%{scale:1 1.025}}@keyframes heart-drift{50%{translate:0 -9px}}
html[data-motion=gentle] :is(.sky-star,.scrapbook-napping-cat,.scrapbook-napping-cat>span,.cat-toy-heart,.home-cat *){animation:none!important}html[data-motion=gentle] :is(.moment-react *,.open-book,.open-book.page-turn .paper,.anniversary-banner>span){animation:paper-arrive .18s ease!important}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion=off] .cat-toy-heart{display:none!important}
@media(max-width:520px){.movie-couple-scene{grid-template-columns:130px minmax(0,1fr);gap:12px}.movie-couple-scene h3{font-size:20px}.movie-couple-scene .eyebrow{font-size:8px}.shared-countdown img{width:70px}.shared-countdown h3{font-size:18px}.character-greetings{right:3px;top:-90px;width:145px;height:135px}.moment-announcement{font-size:12px;text-align:center}.anniversary-banner h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.world-sky *,.scrapbook-napping-cat,.cat-toy-heart{animation:none!important}}

.photo-settle{animation:photo-settle .55s ease-out}@keyframes photo-settle{from{translate:0 -10px;opacity:.3}to{translate:0 0;opacity:1}}

html[data-motion=gentle] :is(.photo-settle,.popcorn-offer .popcorn-kernel,.shared-countdown[data-soon=true] img){animation:paper-arrive .18s ease!important}
