.keepsake-catalog>h3,.companion-memory>h3{font:28px/1.2 var(--serif);color:var(--cabinet-deep);margin:8px 0 14px}.keepsake-catalog>p{font-size:12px;line-height:1.8}.keepsake-count{color:var(--cabinet-accent);margin:17px 0!important}.keepsake-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.keepsake-card{border:1px solid var(--cabinet-outline);background:var(--cabinet-card);border-radius:14px;overflow:hidden;min-width:0}.keepsake-card.is-owned{border-color:var(--cabinet-gold)}.keepsake-card-body{padding:15px}.keepsake-card .sheet-kicker{font-size:8px;letter-spacing:.6px}.keepsake-card h3{font:23px/1.18 var(--serif);margin:7px 0 13px;color:var(--cabinet-deep)}.keepsake-card ul{list-style:none;padding:0;margin:12px 0 17px;font-size:10px;color:var(--cabinet-faint)}.keepsake-card li{display:flex;gap:7px;line-height:1.7;margin:5px 0}.keepsake-card li.is-owned{color:var(--cabinet-accent)}.keepsake-card .primary,.keepsake-card .secondary{width:100%;height:auto;min-height:39px;font:12px/1.4 var(--sans);padding:10px;margin:7px 0 0}.gift-set-complete{border:1px solid var(--cabinet-gold);border-radius:12px;padding:13px;margin:17px 0;background:var(--cabinet-soft)}.gift-set-complete p{font:16px/1.5 var(--serif);color:var(--cabinet-deep)}.gift-set-complete .primary{font-size:14px}.memory-counts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.memory-counts>div{border:1px solid var(--cabinet-outline);background:var(--cabinet-card);border-radius:12px;padding:17px 12px;text-align:center}.memory-counts strong{display:block;font:30px var(--serif);color:var(--cabinet-deep)}.memory-counts span{font-size:10px;color:var(--cabinet-accent)}.companion-memory>p{overflow-wrap:anywhere}.keepsake-save-note{display:block;min-height:20px;font:9px/1.5 var(--sans);color:var(--cabinet-faint);margin-top:10px}.keepsake-reader .story-copy{max-height:42%;overflow:auto}.keepsake-reader .story-art{min-height:100px}.keepsake-reader .story-nav{grid-template-columns:.8fr 1.5fr}.keepsake-reader .story-art img{object-position:50% 30%}
@media(max-width:480px){.keepsake-grid{grid-template-columns:1fr}.keepsake-card>.look-preview{aspect-ratio:1.6}}
@media(max-height:630px){.keepsake-reader .story-copy{max-height:45%}.keepsake-save-note{font-size:8px;margin-top:5px}}
