.sw-memorial-tool{margin:1.25rem 0;padding:1rem;border:1px solid var(--oat-deep);border-radius:12px;background:var(--paper);color:var(--ink)}
.sw-memorial-tool__fields{display:grid;gap:.55rem;margin:0;padding:0;border:0}
.sw-memorial-tool__fields>legend{margin-bottom:.35rem;font-weight:700}
.sw-memorial-tool__field{display:grid;gap:.35rem;font-weight:650}
.sw-memorial-tool__field input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:.55rem .65rem;border:1px solid var(--moss);border-radius:6px;background:var(--linen);color:var(--ink);font:inherit}
.sw-memorial-tool__field input[aria-invalid="true"]{border-color:var(--cranberry);box-shadow:0 0 0 1px var(--cranberry)}
.sw-memorial-tool__field input:focus-visible,.sw-memorial-tool__preview:focus-visible,.sw-memorial-tool button:focus-visible{outline:3px solid var(--cranberry);outline-offset:2px}
.sw-memorial-tool__hint,.sw-memorial-tool__privacy,.sw-memorial-tool__caveat{margin:.1rem 0;color:var(--moss);font-size:.95rem}
.sw-memorial-tool__preview-wrap{margin-top:1rem}
.sw-memorial-tool__preview-label{margin:0 0 .35rem;font-weight:700}
.sw-memorial-tool__preview{box-sizing:border-box;min-height:4.5rem;margin:0;padding:.75rem;border-radius:6px;background:var(--oat);color:var(--ink);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}
.sw-memorial-tool__counts{min-height:1.5em;margin:.4rem 0;color:var(--moss);font-size:.95rem}
.sw-memorial-tool__actions{display:flex;flex-wrap:wrap;gap:.6rem}
.sw-memorial-tool .sw-memorial-tool__copy,.sw-memorial-tool .sw-memorial-tool__reset{min-height:44px;margin-top:.25rem;padding:.6rem 1rem;border:0;border-radius:6px;background:var(--pine);color:var(--paper);font:inherit;font-weight:700;cursor:pointer}
.sw-memorial-tool .sw-memorial-tool__reset{border:1px solid var(--oat-deep);background:var(--linen);color:var(--ink)}
.sw-memorial-tool button:disabled{opacity:.6;cursor:not-allowed}
.sw-memorial-tool__status{min-height:1.5em;margin:.55rem 0 0;color:var(--moss);overflow-wrap:anywhere}
.sw-memorial-tool__caveat{margin-top:.8rem}
