/* Motion uses opacity and transforms; no continuous shadow/layout animation. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.envelope{animation:none;transition:transform .5s var(--motion-ease)}
.envelope-screen.opening{animation:envelope-depart 1.05s both}
@keyframes envelope-depart{0%,72%{opacity:1}100%{opacity:0}}
.gift-content:not(.hidden){animation:story-arrive .8s var(--motion-ease) both}
@keyframes story-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.editor-main{animation:none}
.motion-reveal{opacity:0;transform:translateY(20px);transition:opacity .65s var(--motion-ease) var(--arrival-delay,0ms),transform .65s var(--motion-ease) var(--arrival-delay,0ms)}
.motion-visible,.motion-reveal:focus-within{opacity:1;transform:none}
.gift-section.motion-visible .love-item{animation:story-arrive .6s var(--motion-ease) both}
.gift-section.motion-visible .love-item:nth-child(2){animation-delay:.07s}
.gift-section.motion-visible .love-item:nth-child(3){animation-delay:.14s}
.love-letter[open] summary{margin-bottom:0}
.love-letter .letter-paper{margin-top:24px}
.love-letter{overflow-anchor:none}
.gallery-hint{font:12px/1.6 Arial,sans-serif;opacity:.8;margin:0 0 24px;text-align:center;letter-spacing:.03em}
button.polaroid{border:0;cursor:zoom-in;min-width:0;width:100%;text-align:center;position:relative;transition:transform .45s var(--motion-ease)}
button.polaroid:focus-visible{outline:3px solid #efcbaa;outline-offset:7px}
button.polaroid:active{transform:rotate(0) scale(.98)}
.gift-chapters{position:relative;margin:0 -10px 16px;border:1px solid #ffe1bd35;border-radius:22px;background:#ffffff09;padding:7px}
.gift-chapters>div{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#f2cda455 transparent}
.gift-chapters a{flex-shrink:0;text-decoration:none;white-space:nowrap;border-radius:16px;padding:13px 15px;color:inherit;font:12px/1.4 Arial,sans-serif;transition:background .2s;min-height:44px}
.gift-chapters a:hover,.gift-chapters a[aria-current]{background:#ffffff20}
.gift-section{scroll-margin-top:24px}
.memory-gallery{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:20px;background:#21151ef5;color:#fff1df;overflow-y:auto;overscroll-behavior:contain}
.memory-gallery::backdrop{background:#21151e}
.gallery-shell{width:min(100%,1000px);min-height:100%;margin:auto;display:flex;flex-direction:column;justify-content:center;gap:12px}
.gallery-header{display:flex;align-items:center;justify-content:space-between;gap:16px;font:italic 28px var(--romantic-font,Georgia)}
.memory-gallery button{border:1px solid #ffe9d440;border-radius:50%;background:#ffffff0c;color:#fff1df;cursor:pointer;min-width:48px;min-height:48px;font:28px/1 Arial,sans-serif;touch-action:manipulation;transition:background .2s,transform .2s}
.memory-gallery button:hover{background:#ffffff20}.memory-gallery button:active{transform:scale(.94)}
.memory-gallery button:focus-visible{outline:3px solid #efcbaa;outline-offset:3px}
.gallery-stage{margin:0;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;touch-action:pan-y pinch-zoom}
.gallery-stage img{display:block;width:100%;height:min(65vh,650px);object-fit:contain;user-select:none;border-radius:6px}
.gallery-stage figcaption{font:italic 18px/1.5 var(--romantic-font,Georgia);text-align:center;min-height:27px}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:16px}.gallery-dots{display:flex;gap:0;align-items:center}
.gallery-dots button{min-width:32px;min-height:44px;border:0;background:transparent;border-radius:12px;position:relative}
.gallery-dots button:after{content:'';position:absolute;width:6px;height:6px;left:13px;top:19px;background:#fff5;border-radius:50%;transition:transform .2s,background .2s}
.gallery-dots button[aria-pressed=true]:after{background:#f6d1a5;transform:scale(1.5)}
.gallery-help{font:11px/1.6 Arial,sans-serif;text-align:center;color:#e3cdbb;margin:0}
.memory-burst{position:fixed;pointer-events:none;z-index:10000;width:0;height:0}
.memory-burst i{position:absolute;width:8px;height:13px;background:#eac49c;border-radius:80% 0 80% 0;animation:memory-confetti .9s var(--motion-ease) both}
.memory-burst i:nth-child(even){background:#db8a9e}
@keyframes memory-confetti{0%{opacity:0;transform:translate(0,0) scale(.3)}15%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--turn)) scale(.5)}}
.motion-paused .petal,.motion-paused .record{animation-play-state:paused!important}
@media(hover:hover){button.polaroid:hover{transform:rotate(0) translateY(-6px)}.btn:hover,.primary:hover{transform:translateY(-2px)}}
@media(max-width:700px){.memory-gallery{padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.gallery-header{font-size:25px}.gallery-stage img{height:58svh}.gallery-dots button{min-width:28px}.gallery-dots button:after{left:11px}.gallery-controls{gap:8px}.gift-chapters{margin:0 -6px 8px}.gift-chapters a{font-size:11px;padding:13px 12px}.petal:nth-child(n+6){display:none}}
@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1;transform:none;transition:none}.memory-burst{display:none}.envelope-screen.opening,.gift-content:not(.hidden),.gift-section.motion-visible .love-item{animation:none}.memory-gallery *{animation:none!important;transition:none!important}}
