.memory-subtitle { margin: 17px 0 0; color: var(--rust-deep); font-size: 14px; font-weight: 750; letter-spacing: .04em; }
.memory-subtitle + .intro { margin-top: 9px; }
.memory-heading { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 23px; }
.memory-heading p { margin: 10px 0 0; max-width: 42em; }
.memory-jump { color: var(--rust-deep); font-size: 14px; white-space: nowrap; padding-block: 11px; }
.memory-jump:hover, .memory-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.memory-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.memory-story { display: grid; grid-template-columns: minmax(102px,.55fr) minmax(0,1.45fr); border: 1px solid var(--line); background: var(--cream); }
.memory-art { display: grid; place-items: center; min-height: 140px; border-right: 1px solid var(--line); background: #e8e7d4; }
.memory-dragon .memory-art { background: #eee0d0; }
.memory-island .memory-art { background: #eddfd6; }
.memory-rebirth .memory-art { background: #e3e4d7; }
.memory-sea .memory-art { background: #dce9e3; }
.memory-pack .memory-art { background: #e8ddbf; }
.memory-art img { width: 75%; max-width: 114px; height: 135px; object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 6px 2px #32291930); }
.memory-pack .memory-art img { image-rendering: auto; }
.memory-copy { display: flex; flex-direction: column; align-items: start; padding: 16px 17px 12px; }
.memory-copy .memory-era { display: flex; align-items: baseline; gap: 8px; margin: 0 0 8px; color: var(--rust-deep); font: 700 14px/1.4 ui-monospace,monospace; }
.memory-era span { border-left: 1px solid var(--line); padding-left: 8px; color: var(--muted); font: 650 12px/1.4 system-ui,sans-serif; }
.memory-copy h3, .memory-shelf h3 { margin: 0; font: 700 clamp(19px,2.25vw,28px)/1.2 var(--display); }
.memory-copy p:not(.memory-era) { margin: 9px 0 6px; font-size: 14px; }
.memory-link { display: inline-flex; align-items: center; min-height: 42px; gap: 8px; padding: 0; margin-top: auto; border: 0; background: transparent; color: var(--rust-deep); font-weight: 750; text-align: left; }
.memory-source { padding-block: 5px; color: var(--muted); font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.memory-shelf { display: grid; grid-template-columns: minmax(155px,.33fr) minmax(0,1.67fr); gap: 14px; margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--line); }
.memory-reads { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.memory-reads a { display: flex; flex-direction: column; gap: 6px; padding-left: 12px; border-left: 1px solid var(--line); }
.memory-reads a:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.memory-reads strong { font-size: 14px; color: var(--green); }
.memory-reads span { color: var(--muted); font-size: 13px; line-height: 1.5; }
.memory-tool-links { display: flex; flex-wrap: wrap; gap: 8px; }
.memory-tool-links .outline { color: var(--rust-deep); }
@media(max-width: 820px) {
  .memory-grid { grid-template-columns: 1fr; }
  .memory-story { grid-template-columns: minmax(84px,.45fr) minmax(0,1.55fr); }
  .memory-shelf { grid-template-columns: 1fr; }
}
@media(max-width: 520px) {
  .memory-heading { display: block; margin-bottom: 13px; }
  .memory-jump { display: inline-flex; gap: 5px; }
  .memory-copy { padding: 14px 12px 11px; }
  .memory-art img { height: 102px; }
  .memory-reads { grid-template-columns: 1fr; }
  .memory-reads a { padding-block: 4px; }
}
