.memory-keepsake,.doodle-keepsake{position:relative;margin:26px auto 18px;border:1px solid #ddcba1;border-radius:3px;background:radial-gradient(ellipse at top right,#ead9b740,transparent 70%),#fffaf0;box-shadow:0 6px 25px #3b281414;color:#4c513b;text-align:left;overflow-wrap:anywhere}
.memory-keepsake{padding:22px 26px 24px}.memory-archive{display:flex;align-items:center;justify-content:space-between;color:#a48a56;font-size:8px;letter-spacing:2px;border-bottom:1px solid #e7dbc0;padding-bottom:13px;margin-bottom:20px}.memory-archive>span:last-child{font:28px/1 Georgia;letter-spacing:0}
.memory-photo{position:relative;margin:0 0 23px;transform:rotate(-1.2deg);padding:8px;background:#fffdf8;box-shadow:0 3px 12px #57492c22}.memory-photo:before{content:'';position:absolute;left:calc(50% - 30px);top:-8px;z-index:1;width:60px;height:17px;background:#c6b28066;transform:rotate(-3deg);pointer-events:none}.memory-photo .keepsake-photo{display:block;width:100%}.memory-photo .keepsake-photo img{display:block;width:100%;max-height:290px;object-fit:contain;background:#fffdf8}
.memory-metadata{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;font:10px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.25px;color:#927947;margin-bottom:20px}.memory-metadata>span,.memory-metadata time{display:flex;align-items:center;gap:6px;max-width:100%}.memory-metadata svg{width:13px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}.memory-story{font:29px/1.4 'Atelier Handwriting',cursive;white-space:pre-wrap;margin:0;text-align:left;color:#354d3c}.memory-signature{margin:25px 0 0;padding-top:16px;border-top:1px solid #e7dbc0;font:italic 12px/1.6 Georgia,serif;color:#8c8065}.memory-signature span{display:block;font:27px/1.3 'Atelier Handwriting',cursive;color:#5b6648;margin-top:4px}
.doodle-keepsake{padding:18px 16px 15px;transform:rotate(-1deg);max-width:490px}.doodle-archive{font:8px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:2px;color:#9d8659;text-align:center;margin-bottom:13px}.doodle-keepsake .keepsake-photo{display:block;width:100%;background:#fffaf0;border:1px solid #e6dcc4;border-radius:1px}.doodle-keepsake img{display:block;width:100%;height:auto}.doodle-keepsake figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:12px;font:26px/1.1 'Atelier Handwriting',cursive;color:#67724f}.doodle-keepsake figcaption span{font-size:20px;text-align:right}.doodle-keepsake~.draft-caption{font:27px/1.4 'Atelier Handwriting',cursive;color:#475b41;white-space:pre-wrap}
@media(max-width:600px){.memory-keepsake{padding:16px 18px 20px;margin-top:20px}.memory-story{font-size:26px}.memory-photo .keepsake-photo img{max-height:235px}.doodle-keepsake{padding:14px 11px}.doodle-keepsake figcaption{font-size:23px}.doodle-keepsake figcaption span{font-size:18px}}
@media(prefers-reduced-motion:no-preference){body:not([data-motion=off]) .memory-keepsake{animation:memory-keepsake-in .7s cubic-bezier(.2,.7,.3,1) both}body:not([data-motion=off]) .doodle-keepsake{animation:doodle-keepsake-in .8s cubic-bezier(.2,.7,.3,1) both}@keyframes memory-keepsake-in{from{opacity:0;transform:translateY(20px) rotate(-2deg)}to{opacity:1;transform:none}}@keyframes doodle-keepsake-in{from{opacity:0;transform:translateY(24px) rotate(3deg) scale(.96)}to{opacity:1;transform:rotate(-1deg)}}}
/* The original image holds the layout and accessible description while ink appears above it. */
.doodle-replay-canvas{position:absolute;inset:0;width:100%;height:100%;background:#fffaf0;border-radius:inherit;pointer-events:none}.doodle-keepsake.is-drawing img{opacity:0}.doodle-pen-tip{position:absolute;width:9px;height:9px;transform:translate(-50%,-50%);border:1px solid #fff8dc;border-radius:50%;background:var(--ink,#af9052);box-shadow:0 0 0 4px #d6bb7130,0 0 15px #d3ad6990;pointer-events:none}.doodle-pen-tip.is-erasing{width:15px;height:15px;background:#fffaf0aa;border:1px dashed #b6a478;box-shadow:none}.doodle-replay-controls{text-align:center;margin:14px auto 0}.doodle-replay-controls p{font:23px/1.3 'Atelier Handwriting',cursive;color:#8a7d58;margin:0 0 10px}.doodle-replay-controls .secondary-button{min-height:40px;padding:9px 17px;font-size:11px}.doodle-replay-controls~.keepsake-zoom-hint{margin-top:16px}
@media(prefers-reduced-motion:no-preference){body:not([data-motion=off]) .doodle-unplayed img{opacity:0}}
