.keepsake-wall{display:grid;gap:25px;margin:32px auto 0;max-width:1000px;position:relative}
.day-cycle .reflection-invitation{font:14px/1.6 Arial,sans-serif!important;letter-spacing:0;word-spacing:normal}
.keepsake-wall>h3{text-align:center;margin:10px 0 0;font:28px/1.2 Mansalva,sans-serif}
.reflection-comment-group{padding:20px 0;border-top:1px solid var(--day-line);min-width:0}
.reflection-comment-heading{display:flex;align-items:center;gap:18px}
.reflection-comment-heading img{width:72px;height:72px;object-fit:contain;flex:none}
.reflection-comment-heading h4{font:20px/1.3 Mansalva,sans-serif;margin:0;letter-spacing:-.015em}
.reflection-comments{list-style:none;margin:5px 0 0 90px;padding:0}
.reflection-comment{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--day-line)}
.reflection-comment:last-child{border-bottom:0}
.reflection-comment blockquote{flex:1;min-width:0;margin:0;padding:0;background:none;font:14px/1.7 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}
.reflection-comment-remove{border:0;background:none;color:inherit;min-width:44px;min-height:44px;font:20px Arial;opacity:.6}
.reflection-reward .keepsake-actions{justify-content:center;margin:14px 0 0}
.reflection-reward .keepsake-actions>.keepsake-caption{width:100%}
@media(max-width:680px){.reflection-comment-heading{gap:14px}.reflection-comment-heading img{width:56px;height:56px}.reflection-comment-heading h4{font-size:18px}.reflection-comments{margin-left:0}.reflection-comment-group{padding:16px 0}}
.day-cycle .keepsake-caption{font:13px/1.5 Arial,sans-serif!important;margin:0}
.keepsake-wall>.keepsake-caption{text-align:center}
.earlier-reflection{margin:0;padding:20px;background:#eadbe9;color:#344836;font:15px/1.6 Arial,sans-serif;overflow-wrap:anywhere;white-space:pre-wrap}
.keepsake-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:30px;background:#f7efe4;color:#344836;padding:28px;border:1px solid #426b3b30;border-radius:3px 12px 5px 14px}
.keepsake-card img{width:100%;height:270px;object-fit:contain}
.keepsake-card.legacy-keepsake{display:block}
.keepsake-card blockquote{margin:0 0 20px;padding:20px;background:#eadbe9;font:16px/1.6 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:9px 3px 12px 4px}
.day-cycle .keepsake-art-title{font:13px/1.5 Arial,sans-serif!important}
.keepsake-stamp{display:inline-block;margin:12px 0 15px;padding:5px 12px;border:1px solid #8d668a;color:#775675;font:18px/1.4 Mansalva,sans-serif;transform:rotate(-3deg)}
.keepsake-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.keepsake-actions .text-link{font:14px/1.4 Arial,sans-serif!important;min-height:44px;letter-spacing:0}
.keepsake-remove{background:none;border:0;color:#53614d;font:12px Arial;min-height:44px;text-decoration:underline}
.prints-vignette{transform:translateY(var(--keepsake-lift,0px)) rotate(calc(-4deg + var(--keepsake-tilt,0deg)))}
.mango-art{transform:translateY(var(--keepsake-lift,0px)) rotate(var(--keepsake-tilt,0deg))}
.gallery .showcase-card .painting-stage{transform:translateY(var(--showcase-lift,0px)) rotate(var(--showcase-settle,0deg)) scale(var(--showcase-zoom,1));transform-origin:50% 60%}
.day-cycle #commissions .commission-stage>p:not(.eyebrow):not(.commission-poem){font:14px/1.6 Arial,sans-serif!important;letter-spacing:0;word-spacing:normal}
footer{gap:16px;flex-wrap:wrap}
.footer-socials{display:flex;gap:8px;align-items:center}
.footer-socials a{width:44px;height:44px;display:grid;place-items:center;border-radius:10px}
.footer-socials svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-3deg)}
.footer-socials a:nth-child(2) svg{transform:rotate(4deg)}
.footer-socials a:hover{background:#e2c5e322}
@media(max-width:680px){.keepsake-card{grid-template-columns:1fr;gap:18px;padding:20px}.keepsake-card img{height:240px}.keepsake-card blockquote{font-size:15px}.keepsake-stamp{font-size:16px}}
@media(prefers-reduced-motion:reduce){.prints-vignette,.mango-art,.gallery .showcase-card .painting-stage{transform:none}}

/* A shared, painted wall: centered beneath the invitation, never a side list. */
.day-cycle .graffiti-wall{display:block;width:100%;max-width:1120px;margin:48px auto 0;padding:36px clamp(18px,4vw,44px) 30px;border:1px solid #84765d2b;border-radius:7px 15px 9px 5px;background:radial-gradient(ellipse at 8% 5%,#d9dfb538,transparent 42%),radial-gradient(ellipse at 95% 96%,#d8b8d533,transparent 44%),repeating-linear-gradient(0deg,transparent 0 83px,#9d8f7420 84px,transparent 86px),#f4ede0;color:#293d33;isolation:isolate}
.day-cycle .graffiti-wall>h3{text-align:center;margin:0 0 8px;font:34px/1.25 Mansalva,sans-serif;color:#344d43;letter-spacing:-.025em}
.day-cycle .graffiti-wall .wall-confirmation{min-height:1.6em;margin:0 0 24px;text-align:center;font:14px/1.6 Arial,sans-serif!important;letter-spacing:0;color:#366556}
.graffiti-wall .wall-confirmation:empty{min-height:0;margin:0 0 24px}
.reflection-mural{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:30px 24px;align-items:start;width:100%;margin:0 auto}
.mural-note{position:relative;min-width:0;width:100%;max-width:440px;margin:0 auto;padding:22px 18px 16px;transform:rotate(var(--note-turn,0deg));isolation:isolate;scroll-margin-top:140px;outline:none}
.mural-note::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 10% 10%,#ffffff80,transparent 70%),#fff9ed95;border:1px solid #9a8b7040;border-radius:6px 18px 8px 14px;transform:skewY(-.6deg)}
.mural-note::after{content:'';position:absolute;left:20px;bottom:7px;width:64px;height:4px;border-radius:60% 35% 80% 30%;background:var(--note-ink,#366556);opacity:.5;transform:rotate(-3deg)}
.mural-art{display:flex;align-items:center;gap:12px;margin-bottom:18px;min-width:0}
.mural-art img{display:block;width:58px;height:58px;object-fit:contain;flex:none;background:#fff8e8;border-radius:3px}
.mural-art span{font:12px/1.4 Arial,sans-serif;letter-spacing:0;overflow-wrap:anywhere;color:#5c6052}
.day-cycle .reflection-mural .mural-note blockquote,.day-cycle .private-reflection-list .mural-note blockquote{margin:0 0 10px;padding:0;border:0;background:none;font:22px/1.45 Mansalva,sans-serif;color:var(--note-ink,#366556);letter-spacing:-.015em;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:1px 1px 0 #fff8ee}
.mural-remove{display:block;margin:14px 0 0;border:0;background:none;padding:7px 0;min-height:36px;color:#626454;font:11px/1.4 Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.mural-remove:disabled{opacity:.5;cursor:wait}
.day-cycle .wall-shared-badge{font:12px/1.5 Arial,sans-serif!important;letter-spacing:0;color:#345d45;margin:0 0 16px}
.mural-note.just-shared{outline:3px solid #a3b86b;outline-offset:7px;animation:reflection-land .65s cubic-bezier(.2,.8,.3,1) both;box-shadow:0 8px 28px #516b3722}
@keyframes reflection-land{from{opacity:.2;transform:translateY(-18px) rotate(-3deg) scale(.97)}to{opacity:1;transform:translateY(0) rotate(var(--note-turn,0deg)) scale(1)}}
.day-cycle .wall-empty{grid-column:1/-1;padding:28px 12px;text-align:center;font:14px/1.7 Arial,sans-serif!important;letter-spacing:0;color:#5b6659}
.graffiti-wall .wall-more,.graffiti-wall .wall-retry{display:flex;width:fit-content;min-height:44px;margin:28px auto 0;color:#344d43;font:14px/1.5 Arial,sans-serif!important}
.private-reflection-archive{margin:34px 0 0;padding:20px 0 0;border-top:1px solid #9a8b7040}
.private-reflection-archive summary{font:16px/1.4 Mansalva,sans-serif;cursor:pointer;text-align:center}
.day-cycle .private-reflection-caption{font:12px/1.5 Arial,sans-serif!important;letter-spacing:0;text-align:center;margin:12px 0 22px;color:#626454}
.private-reflection-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px;opacity:.85}
.day-cycle .reflection-public-intent{margin:8px 0 0;font:12px/1.5 Arial,sans-serif!important;letter-spacing:0;color:inherit;opacity:.8}
.reflection-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;padding:0!important;opacity:0!important;pointer-events:none!important}
@media(max-width:680px){.day-cycle .graffiti-wall{padding:28px 18px 24px;margin-top:36px}.day-cycle .graffiti-wall>h3{font-size:29px}.reflection-mural{gap:24px}.mural-note{padding:18px 16px 14px}.mural-art img{width:52px;height:52px}.day-cycle .reflection-mural .mural-note blockquote{font-size:21px}.mural-note.just-shared{outline-offset:3px}}
@media(prefers-reduced-motion:reduce){.mural-note,.mural-note.just-shared{animation:none;transform:none}.mural-note::before,.mural-note::after{transform:none}}
