.space-page { max-width: 1480px; }
.space-banner { display:block; width:100%; height:clamp(10rem,22vw,21rem); object-fit:cover; border-radius:1rem 1rem 0 0; }
.space-banner--default { background:linear-gradient(120deg,var(--site-accent,#0f766e),#183e59); display:flex; align-items:center; justify-content:flex-end; padding:2rem; color:#ffffff40; font-size:8rem; }
.space-avatar { position:relative; margin-top:-4rem; object-fit:cover; background:var(--bs-body-bg); box-shadow:0 0 0 5px var(--bs-body-bg); }
.space-welcome { white-space:pre-wrap; overflow-wrap:anywhere; }
.space-article-image { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.space-collection-image { display:block; width:100%; height:auto; aspect-ratio:8 / 3; object-fit:cover; }
.space-directory-banner { width:100%; height:10rem; object-fit:cover; }
.space-card-footer { border-top:1px solid var(--bs-border-color); }
.space-directory-card { overflow:hidden; }
.space-directory-card .card-body > p:last-child { margin-bottom:0; }
.space-directory-footer { padding:1.25rem 1.5rem; background:var(--bs-tertiary-bg); border-top:1px solid var(--bs-border-color); }
.space-directory-metrics { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; }
.space-directory-metrics > div { display:flex; flex-direction:column; gap:.15rem; }
.space-directory-metrics strong { font-size:1.5rem; line-height:1.2; font-weight:600; color:var(--bs-emphasis-color); }
.space-directory-metrics span { font-size:.75rem; color:var(--bs-secondary-color); }
.space-directory-latest { margin-left:auto; }
.space-directory-latest time { font-size:.8125rem; font-weight:500; }
@media(max-width:575px) { .space-directory-footer { padding:1rem; } }
.space-page .card { min-width:0; border-radius:1rem; }
.space-page input[type=number] { max-width:6rem; }
.space-selection-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:1rem; align-items:center; }
@media(max-width:575px) { .space-selection-row { grid-template-columns:minmax(0,1fr); gap:.5rem; } .space-page .card-body { padding:1rem; } }
