input,textarea{color:#052e16;background:#f0fdf4;border:1px solid #14532d;border-radius:10px;outline:none;width:100%;padding:12px;font-size:15px}input::placeholder,textarea::placeholder{color:#166534;opacity:.7}input:focus,textarea:focus{background:#ecfdf5;border-color:#166534;box-shadow:0 0 0 2px #16653426}*{box-sizing:border-box;margin:0;padding:0}html,body{margin:0;padding:0}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}html{scroll-behavior:smooth}.fade-in{opacity:0;transition:all 1.2s;transform:translateY(40px)}.fade-in.show{opacity:1;transform:translateY(0)}@keyframes timeMove{0%{opacity:0;transform:translate(100vw)}20%{opacity:1}to{opacity:0;transform:translate(-100vw)}}.loveHearts{font-size:20px;animation:4s linear infinite floatHeart;position:absolute}@keyframes floatHeart{0%{opacity:0;transform:translateY(50px)}50%{opacity:1}to{opacity:0;transform:translateY(-120px)}}@keyframes cakePop{0%{transform:scale(0)}70%{transform:scale(1.1)}to{transform:scale(1)}}.birthdayCake{animation:1.5s cakePop}.star{font-size:14px;animation:2s infinite alternate starTwinkle;position:absolute}@keyframes starTwinkle{0%{opacity:.3}to{opacity:1}}@keyframes bloom{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.flower{animation:2s forwards bloom}.memory-view-button,.memory-video-button{font:inherit;cursor:pointer}.memory-view-button{color:#fffdf7;letter-spacing:.01em;background:#2c4933;border:1px solid #2c4933;border-radius:999px;align-items:center;gap:13px;min-height:54px;padding:0 22px;font-size:14px;font-weight:650;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 10px 25px #2c49332e}.memory-view-button:hover{background:#203c28;transform:translateY(-2px);box-shadow:0 14px 30px #2c493340}.memory-view-button>span:first-child{border:1px solid #ffffff59;border-radius:50%;place-items:center;width:26px;height:26px;font-size:10px;display:grid}.memory-view-button-arrow{color:#d9bd82;margin-left:4px}.memory-video-button{color:#344936;text-align:left;background:#ffffff9e;border:1px solid #3f513b33;border-radius:16px;align-items:center;gap:12px;min-width:220px;min-height:54px;padding:8px 16px;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}.memory-video-button:hover{background:#fffefa;border-color:#3f513b73;transform:translateY(-2px)}.memory-video-icon{color:#fff;background:#83916f;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;padding-left:2px;font-size:11px;display:grid}.memory-video-button strong,.memory-video-button small{display:block}.memory-video-button strong{font-size:13px}.memory-video-button small{color:#838575;margin-top:3px;font-size:11px}.memory-video-arrow{color:#9e895d;margin-left:auto}.memory-overlay{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#141a14d1;justify-content:center;align-items:center;padding:20px;animation:.25s both memoryOverlayIn;display:flex;position:fixed;inset:0}.memory-modal{background:#f4f2e9;border:1px solid #fff6;border-radius:25px;flex-direction:column;width:min(980px,100%);height:min(900px,100dvh - 40px);animation:.3s both memoryModalIn;display:flex;overflow:hidden;box-shadow:0 30px 100px #00000061}.memory-modal-header{justify-content:space-between;align-items:center;gap:18px;min-height:78px;padding:16px 25px;display:flex}.memory-modal-kicker{color:#898269;letter-spacing:.18em;text-transform:uppercase;font-size:9px;font-weight:700}.memory-modal-title{color:#304334;margin-top:4px;font-family:Georgia,Times New Roman,serif;font-size:20px}.memory-close-button{color:#3b4c3a;cursor:pointer;background:#ffffff9e;border:1px solid #3a46332b;border-radius:50%;place-items:center;width:38px;height:38px;font-size:25px;line-height:1;transition:background .2s,transform .2s;display:grid}.memory-close-button:hover{background:#fff;transform:rotate(90deg)}.memory-image-frame{flex:1;min-height:0;padding:0 25px}.memory-modal-footer{color:#8c897b;text-align:center;padding:14px 20px 17px;font-family:Georgia,Times New Roman,serif;font-size:12px;font-style:italic}.memory-slideshow{flex-direction:column;gap:12px;height:100%;min-height:0;display:flex}.memory-photo-stage{background:radial-gradient(#fffefa 0%,#e7e5d9 100%);border:1px solid #5c634921;border-radius:18px;flex:1;place-items:center;min-height:200px;display:grid;position:relative;overflow:hidden}.memory-slide-image{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;animation:.55s cubic-bezier(.2,.8,.2,1) both memoryPhotoArrive}.memory-slide-arrow{z-index:1;color:#344936;cursor:pointer;background:#fffef9d6;border:1px solid #fff9;border-radius:50%;place-items:center;width:42px;height:42px;font-size:28px;line-height:1;transition:background .2s,transform .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 18px #0000001a}.memory-slide-arrow:hover{background:#fff}.memory-slide-previous{left:15px}.memory-slide-next{right:15px}.memory-photo-counter{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.08em;background:#1f2a219e;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:10px;display:flex;position:absolute;bottom:15px;right:16px}.memory-photo-counter span{color:#ffffff8c}.memory-slideshow-controls{flex:none;padding:1px 2px 0}.memory-progress{gap:5px;margin:0 1px 10px;display:flex}.memory-progress-segment{cursor:pointer;background:#d9d8cc;border:0;border-radius:9px;flex:1;min-width:6px;height:3px}.memory-progress-segment.is-active{background:#708061}.memory-control-row{align-items:center;gap:12px;min-height:43px;display:flex}.memory-play-button{color:#38513c;cursor:pointer;background:0 0;border:1px solid #38493636;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;display:grid}.memory-now-showing{flex-direction:column;gap:3px;display:flex}.memory-now-showing span{color:#99937f;letter-spacing:.14em;font-size:8px;font-weight:700}.memory-now-showing strong{color:#39493a;font-family:Georgia,Times New Roman,serif;font-size:13px;font-weight:500}.memory-audio-button{color:#68735d;cursor:pointer;background:0 0;border:1px solid #38493633;border-radius:999px;align-items:center;gap:7px;min-height:34px;margin-left:auto;padding:0 12px;font-size:10px;display:inline-flex}.memory-audio-button.is-playing{color:#35523b;background:#e5e9db;border-color:#859277}.memory-audio-button>span:first-child{font-size:14px}.memory-filmstrip{scrollbar-color:#c7c7b8 transparent;scrollbar-width:thin;gap:8px;padding:3px 1px 7px;display:flex;overflow-x:auto}.memory-filmstrip-item{opacity:.62;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:0 0 62px;width:62px;height:47px;padding:2px;transition:opacity .18s,border-color .18s,transform .18s;overflow:hidden}.memory-filmstrip-item img{object-fit:cover;border-radius:5px;width:100%;height:100%;display:block}.memory-filmstrip-item:hover{opacity:1;transform:translateY(-1px)}.memory-filmstrip-item.is-active{opacity:1;border-color:#657a5d}.memory-video-overlay{background:#0b0e0beb}.memory-video-modal{background:#111511;border:1px solid #ffffff24;border-radius:20px;width:min(1100px,100%);padding:14px;position:relative;box-shadow:0 30px 100px #0000008c}.memory-video-close{z-index:2;color:#fff;background:#0000008c;border-color:#ffffff59;position:absolute;top:22px;right:22px}.memory-video-player{background:#080908;border-radius:12px;width:100%;max-height:calc(100dvh - 68px);display:block}@keyframes memoryOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes memoryModalIn{0%{opacity:0;transform:translateY(12px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes memoryPhotoArrive{0%{opacity:.5;transform:translate(-28px)scale(.99)}to{opacity:1;transform:translate(0)scale(1)}}@media (max-width:600px){.memory-overlay{padding:10px}.memory-modal{border-radius:18px;height:calc(100dvh - 20px)}.memory-modal-header{min-height:68px;padding:12px 16px}.memory-modal-title{font-size:17px}.memory-image-frame{padding:0 12px}.memory-slideshow{gap:9px}.memory-photo-stage{border-radius:13px;min-height:180px}.memory-slide-arrow{width:35px;height:35px}.memory-slide-previous{left:8px}.memory-slide-next{right:8px}.memory-filmstrip-item{flex-basis:53px;width:53px;height:41px}.memory-modal-footer{padding:10px 15px 13px}}@media (prefers-reduced-motion:reduce){.memory-overlay,.memory-modal,.memory-slide-image{animation-duration:.01ms!important}}
