@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Pacifico&display=swap');
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#11101b;color:#fff;font-family:'DM Sans',sans-serif;display:grid;place-items:center;overflow:hidden}
.app{width:min(100%,480px);min-height:100vh;padding:18px 16px 90px;position:relative}.bar{height:5px;background:#ffffff22;border-radius:9px;overflow:hidden;margin-bottom:16px}.bar span{display:block;height:100%;width:10%;background:linear-gradient(90deg,#ff477e,#8d6cff);transition:.4s}
.screen{min-height:650px;border-radius:30px;padding:28px 22px;background:#fff8f4;color:#201d2c;box-shadow:0 25px 80px #0008;animation:in .4s ease}.dark{background:linear-gradient(145deg,#181529,#30284c);color:white}.lavender{background:linear-gradient(145deg,#eeeaff,#d9d0ff)}.sunset{background:linear-gradient(160deg,#4d426c,#b87988,#f0ad82);color:white}
@keyframes in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}.center{min-height:580px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#716a79;margin-bottom:12px}.dark .kicker,.sunset .kicker{color:#ffffffaa}
h1{font-size:clamp(42px,12vw,62px);line-height:1;margin:0 0 20px}h2{font-size:31px;line-height:1.08;margin:0 0 14px}p{font-size:17px;line-height:1.6;color:#716a79}.dark p,.sunset p{color:#ffffffcc}.accent{color:#ff477e}.script{font-family:Pacifico;font-weight:400}
.heart{font-size:82px;animation:beat 1.2s infinite}.gift{font-size:100px;animation:float 2s ease-in-out infinite}@keyframes beat{50%{transform:scale(1.12)}}@keyframes float{50%{transform:translateY(-12px)}}
.note{background:#fffdfb;padding:25px 20px;max-width:360px;box-shadow:0 12px 30px #0001;transform:rotate(-1deg)}.note p{margin:0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;width:100%;margin:20px 0}.memory{min-height:105px;border-radius:17px;padding:14px;display:flex;align-items:end;text-align:left;color:white;font-weight:700;background:#746c87}.memory:nth-child(2){background:#a77f76}.memory:nth-child(3){background:#71698e}.memory:nth-child(4){background:#8e7183}
.choices{display:grid;gap:11px;width:100%;margin-top:14px}.choice{border:1px solid #201d2c1f;background:#ffffffb8;border-radius:17px;padding:14px 16px;text-align:left;color:#201d2c;cursor:pointer}.choice.selected{border-color:#ff477e;box-shadow:0 7px 20px #ff477e22;transform:translateY(-2px)}.choice strong{display:block}.choice small{color:#716a79}
.wishes{text-align:left;width:100%;max-width:330px}.wishes div{padding:9px 0;border-bottom:1px solid #ffffff33}.share{margin-top:18px;border:0;border-radius:14px;padding:13px 20px;background:white;color:#2d2544;font-weight:700}
.controls{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(calc(100% - 32px),448px);display:flex;gap:9px;z-index:5}.controls button{border:0;border-radius:15px;padding:14px 15px;background:#ff477e;color:white;font-weight:700;cursor:pointer;flex:1}.controls #back{display:none;flex:0 0 88px;background:#ffffff18}.controls #back.show{display:block}
#count{position:fixed;right:13px;top:8px;color:#ffffff66;font-size:10px}.particle{position:fixed;bottom:-30px;pointer-events:none;animation:rise 4s linear forwards}@keyframes rise{to{transform:translateY(-110vh) rotate(360deg);opacity:0}}
@media(max-height:740px){.screen{min-height:560px}.center{min-height:490px}}

/* Updated two-memory layout */
.two-memory-grid{grid-template-columns:1fr 1fr;max-width:390px}.two-memory-grid .memory{min-height:170px;align-items:center;justify-content:center;text-align:center;font-size:17px;padding:20px}.memories-page p{max-width:350px;margin-top:4px}
