/* Product detail, free archive and older-collection fixes. */
#product-detail .detail-cover:not(.bundle-collage):not(.sprite){max-height:min(48vh,520px);object-fit:contain}
.free-access-note{margin:14px 0 4px;padding:10px 12px;border-radius:10px;background:#fff1f3;color:#b02a3c;font-size:13px;line-height:1.55}
.free-access-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.free-access-actions>a{flex:1 1 180px;text-align:center}
#product-dialog .close,#supporter-dialog .close,#checkout-dialog .close{background:#fffffff2;box-shadow:0 1px 4px #1d1a2a26}
.art.archive-cover,.archive-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px;box-sizing:border-box;text-align:center;aspect-ratio:4/5;width:100%;color:#f4f2fb;background:radial-gradient(circle at 30% 20%,#5b5770 0,#2f2f33 62%);letter-spacing:.08em;line-height:1.15;overflow:hidden}
.archive-cover small{font-size:10px;opacity:.7}
.archive-cover b{font-size:clamp(13px,1.6vw,19px);font-weight:800;overflow-wrap:anywhere}
.archive-cover.archive-fanbox{background:radial-gradient(circle at 30% 20%,#4b6a8a 0,#25303d 62%)}
.detail-cover.archive-cover{aspect-ratio:16/9;border-radius:12px}
.detail-cover.archive-cover b{font-size:28px}
.catalog-thumb.archive-cover b,.catalog-preview.archive-cover b{font-size:11px}
.catalog-thumb.archive-cover small,.catalog-thumb
.archive-cover .archive-period{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.2px;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.16);white-space:nowrap}
.detail-cover.archive-cover .archive-period{font-size:14px;padding:4px 12px}
.catalog-thumb.archive-cover .archive-period,.catalog-preview.archive-cover .archive-period{font-size:8px;padding:2px 5px}
.archive-info{margin:12px 0 4px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.65;color:var(--text)}
.archive-info summary{cursor:pointer;font-weight:600;color:var(--accent)}
.archive-info p{margin:10px 0 0}

.owned-access{margin:14px 0 4px}
.owned-note{margin:0 0 10px;padding:10px 12px;border-radius:10px;background:#e9f6ef;color:#1d6b4c;font-size:13px;line-height:1.55}
.owned-actions{display:grid;gap:8px}
.owned-actions>*{width:100%;text-align:center}

.intro{flex-wrap:wrap;row-gap:12px}
.intro>div:not(.notice-guides){flex:1;min-width:0}
.intro>.section-edit{margin-left:0}
.notice-guides{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 0 auto}
.notice>[data-site-text=notice]{flex:1;min-width:0;max-width:none;overflow-wrap:anywhere}
@media(max-width:700px){.intro>.notice-guides{flex-basis:100%;justify-content:flex-start;margin:0}}
.notice-guide{border:1px solid var(--line);background:#fff;color:var(--accent);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer}
.notice-guide:hover{background:#f6f3fd}
#guide-dialog{width:560px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);overflow:auto;padding:30px 28px 24px;border-radius:20px;border:0}
#guide-dialog.guide-wide{width:940px}
.guide-head{position:absolute;top:14px;right:16px;display:flex;gap:6px;align-items:center}
.guide-edit{border:1px solid var(--line);background:#fff;border-radius:999px;width:32px;height:32px;cursor:pointer;color:var(--accent)}
.guide-body h2{font-size:21px;margin:0 32px 12px 0}
.guide-body p,.guide-body li{font-size:14px;line-height:1.7}
.guide-body ol{padding-left:20px;margin:12px 0}
.guide-body li{margin:8px 0}
.guide-tip{background:#f6f5fa;border-radius:12px;padding:10px 12px;color:var(--muted);font-size:13px}
.guide-discord{display:block;text-align:center;margin-top:14px}

.guide-body .rich-copy{font-size:14px;line-height:1.7;padding-right:28px}
.guide-columns{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}
.guide-columns>.rich-copy{padding-right:0}
.guide-warning{position:sticky;top:0;margin-top:34px;background:#fff3f1;border:1px solid #f1c4bd;border-radius:14px;padding:14px 16px!important;color:#5c2620}
.guide-more{display:block;margin:16px auto 0}
.guide-fields-title{font-size:15px;margin:22px 0 4px}
@media (max-width:760px){.guide-columns{grid-template-columns:1fr}.guide-warning{position:static;order:-1}}
