/* stamp-album · 详情页：首日封，右上角贴邮票、盖波浪邮戳 */
.ps-detail { max-width: 960px; margin: 0 auto; }
.ps-detail .detail-breadcrumb { padding: 4px 0 12px; color: var(--ps-soft); }
.ps-detail .detail-breadcrumb a { color: #234e8c; font-weight: 600; }
.ps-detail .detail-top-ad:has(.ad) { margin: 4px 0 24px; }

.ps-cover { --ps-hole: #fff; background: #fff; border: 1px solid var(--ps-rule); box-shadow: 0 3px 0 var(--ps-rule); }
.ps-cover-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "kicker corner" "title corner" "meta meta"; gap: 12px 24px; padding: 26px 30px 20px; border-top: 6px solid var(--ps-frame); border-bottom: 1px dashed var(--ps-rule); }
.ps-cover-corner { grid-area: corner; display: flex; align-items: center; gap: 0; }
.ps-cover-corner .ps-postmark { margin-right: -28px; position: relative; z-index: 1; }
.ps-perf-mini { width: 96px; padding: 6px; }
.ps-perf-mini .ps-face-type { min-height: 108px; padding: 8px; place-content: center; text-align: center; font-family: var(--ps-display); font-size: 1.4rem; color: var(--ps-frame); }
.ps-cover-kicker { grid-area: kicker; margin: 0; font-size: .84rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ps-soft); }
.ps-cover-head h1 { grid-area: title; margin: 0; font-family: var(--ps-display); font-weight: 400; font-size: clamp(1.9rem, 4vw, 2.7rem); line-height: 1.14; }
.ps-cover-meta { grid-area: meta; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; margin: 0; font-size: .9rem; color: var(--ps-soft); }
.ps-cover-meta > * { min-width: 0; }
.ps-cover-body { padding: 24px 30px 18px; }
.ps-cover-body .detail-summary { padding: 14px 18px; border-left: 6px solid var(--ps-frame); background: var(--ps-album); line-height: 1.6; }
.ps-cover-body .detail-prose { max-width: 70ch; font-size: 1.08rem; line-height: 1.75; }
.ps-cover-body .detail-prose a { color: #234e8c; }

.ps-turn { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 28px 0 8px; }
.ps-turn-link { display: grid; gap: 6px; padding: 14px 18px; background: #fff; border: 1px solid var(--ps-rule); }
.ps-turn-link:hover .ps-turn-title { text-decoration: underline; }
.ps-turn-dir { font-size: .76rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ps-soft); }
.ps-turn-title { font-weight: 600; line-height: 1.35; }
.ps-turn-next { grid-column: 2; text-align: right; }

@media (max-width: 767px) {
    .ps-cover-head { grid-template-columns: minmax(0, 1fr); grid-template-areas: "kicker" "title" "meta"; gap: 10px; padding: 16px 14px 14px; }
    .ps-cover-corner { display: none; }
    .ps-cover-head h1 { font-size: 1.65rem; }
    .ps-cover-body { padding: 16px 14px 8px; }
    .ps-turn { grid-template-columns: minmax(0, 1fr); }
    .ps-turn-next { grid-column: auto; text-align: left; }
}
