.memorial-portrait{width:min(100%,300px);margin:0 auto 40px}.memorial-photo{display:block;background:var(--white);padding:8px;border:1px solid var(--line);border-radius:4px;box-shadow:0 5px 18px #283e3509;transition:transform .18s}.memorial-photo:hover{transform:translateY(-2px)}.memorial-photo img{display:block;width:100%;height:auto;border-radius:2px}.memorial-gallery{padding:48px 0 12px;margin-top:45px;border-top:1px solid var(--line)}.memorial-gallery h2{margin:12px 0 16px}.memorial-grid{columns:3;column-gap:18px;margin-top:28px}.memorial-grid .memorial-photo{break-inside:avoid;margin-bottom:18px}#memorial-viewer{padding:18px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);width:max-content}#memorial-viewer::backdrop{background:#18261fee;backdrop-filter:blur(4px)}#memorial-large{display:block;max-height:calc(100dvh - 165px);max-width:calc(100vw - 64px);width:auto;height:auto;margin:auto}.memorial-tools,.memorial-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:14px}.memorial-tools{margin-bottom:12px}.memorial-controls{margin-top:12px}#memorial-viewer button{border:1px solid #bfc9b8;border-radius:3px;padding:8px 14px;background:var(--white);color:var(--ink);min-height:44px}#memorial-viewer button:hover{background:var(--green)}@media(max-width:600px){.memorial-grid{columns:2;column-gap:12px}.memorial-grid .memorial-photo{margin-bottom:12px;padding:5px}.memorial-portrait{max-width:260px}.memorial-gallery{padding-top:32px}}@media(prefers-reduced-motion:reduce){.memorial-photo{transition:none}}
