.district-album { color: var(--ink); }
.album-heading { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) 0; }
.album-heading > span { font-size: 40px; }
.album-heading small { color: var(--muted); font-size: var(--text-xs); letter-spacing: .09em; }
.album-heading h3 { margin: 0; }
.album-heading p { margin: var(--space-1) 0 0; line-height: 1.4; }
.album-progress { padding: var(--space-2) var(--space-3); border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface-inset); }
.album-progress b { font-size: var(--text-lg); }
.album-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); gap: var(--space-3); }
#panel .postcard { min-width: 0; padding: 0; overflow: hidden; border: 1px solid var(--border-soft); background: var(--surface-raised); box-shadow: var(--shadow-sm); }
.postcard-art { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 130px; padding: var(--space-3); color: #fff8e7; background: linear-gradient(155deg, #2d6672, #669c91 62%, #d2b77c); }
.postcard:nth-child(3n+2) .postcard-art { background: linear-gradient(155deg, #58688c, #a58c87 62%, #d6b882); }
.postcard:nth-child(3n) .postcard-art { background: linear-gradient(155deg, #67784a, #97a375 62%, #ddba82); }
.postcard-number { font-size: var(--text-xs); letter-spacing: .13em; font-weight: 700; }
.postcard-motif { align-self: center; font-size: 44px; line-height: 1; filter: drop-shadow(0 2px 3px #27343466); }
.postcard-wave { text-align: right; letter-spacing: .15em; opacity: .8; }
.postcard-copy { min-height: 144px; display: flex; flex-direction: column; padding: var(--space-3); }
.postcard-copy h4 { margin: var(--space-1) 0; font-size: var(--text-lg); }
.postcard-copy p { flex: 1; margin: 0 0 var(--space-2); line-height: 1.4; }
.postcard-copy small, .postcard-stamp { color: var(--muted); font-size: var(--text-xs); }
.postcard-stamp { letter-spacing: .06em; font-weight: 700; }
.postcard.is-locked .postcard-art { filter: saturate(.4); }
.postcard.is-locked .postcard-copy { background: var(--surface-inset); }
@media (max-width: 760px) { .album-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); } .postcard-art { min-height: 100px; } .postcard-copy { min-height: 158px; } }
@media (max-width: 420px) { .album-grid { grid-template-columns: 1fr; } .postcard-copy { min-height: 0; } }
