.cover-picker { max-width:950px; margin:24px auto; padding:24px; box-sizing:border-box; }
.cover-picker p { margin:.8rem 0; }
.cover-preview { position:relative; overflow:hidden; border-radius:12px; background:#174f40; max-height:none; }
.cover-preview img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.cover-preview-name { display:block; padding:12px 16px; overflow-wrap:anywhere; }
.cover-banner[data-proportional="true"] { box-sizing:content-box; min-height:0; }
.cover-banner[data-proportional="true"] > #space-cover-image { position:absolute; inset:0; }
.cover-banner + .cover-identity { display:flex; align-items:center; gap:1rem; padding:1rem 1.5rem; background:var(--green); color:white; }
.cover-identity > :first-child { flex-shrink:0; }
.cover-identity > :last-child { min-width:0; overflow-wrap:anywhere; }
@media(max-width:600px) { .cover-banner + .cover-identity { padding:.75rem; gap:.75rem; flex-wrap:wrap; } }
.cover-preview-controls { display:flex; justify-content:center; align-items:center; gap:1rem; margin:.4rem 0; }
.cover-preview-controls button { min-width:44px; min-height:44px; border:1px solid var(--border); border-radius:8px; cursor:pointer; }
.cover-sliders { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1rem 0; }
.cover-sliders label, .cover-picker details label { display:block; }
.cover-sliders input { display:block; width:100%; min-height:44px; padding:0; }
.cover-file-label { display:block; font-weight:700; margin-top:1.4rem; }
.cover-thumbnails { display:grid; grid-template-columns:repeat(auto-fill,minmax(135px,1fr)); gap:.7rem; border:0; padding:.5rem 0; }
.cover-choice { display:block; min-width:0; padding:.5rem; border:2px solid var(--border); border-radius:8px; cursor:pointer; overflow-wrap:anywhere; }
.cover-choice:has(input:checked) { border-color:#21634b; background:#eef7f0; }
.cover-choice img { display:block; width:100%; height:85px; object-fit:cover; border-radius:4px; }
.cover-choice input { width:auto; }
.cover-choice span { display:block; font-size:.85rem; margin-top:.4rem; }
.cover-picker details { margin:1rem 0; }
.cover-picker summary { min-height:44px; cursor:pointer; font-weight:600; }
.cover-save { display:flex; flex-wrap:wrap; gap:.5rem; }
#cover-feedback[data-error="true"] { color:#b42318; }
@media(max-width:600px) { .cover-picker { margin:12px 0; padding:16px; } .cover-sliders { grid-template-columns:1fr; gap:.4rem; } }
