// ───────────────────────────────────────────────────────────────────────────── // Page: Mists (.ms-* layout) // File: src/scss/pages/_mists.scss // // STRUCTURAL LAYOUT ONLY — zero colors, zero typography here. // Visual rules live in components/_mists.scss. // Covers: mist_explore, mist_list, mist_detail, fragments/mist_rows // ───────────────────────────────────────────────────────────────────────────── // ── Shared page wrapper ─────────────────────────────────────────────────────── .ms-page { display: flex; flex-direction: column; gap: var(--space-4); } // ── Shared primitives (structural only) ────────────────────────────────────── .ms-btn { display: inline-flex; align-items: center; gap: 5px; padding: 5px 12px; &--sm { padding: 3px 8px; } } .ms-type-chip { display: inline-flex; align-items: center; padding: 2px 7px; } .ms-lang-badge { padding: 1px 6px; } .ms-agent-badge { padding: 1px 6px; } .ms-signed-badge { padding: 1px 6px; } .ms-mist-id-badge { padding: 1px 6px; } .ms-tag { display: inline-flex; align-items: center; padding: 2px 8px; } // ── Explore header ──────────────────────────────────────────────────────────── .ms-explore-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); } .ms-explore-sub { margin-top: var(--space-1); max-width: 60ch; } // ── List header ─────────────────────────────────────────────────────────────── .ms-list-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; } .ms-list-title { display: flex; align-items: center; gap: 6px; } .ms-list-sub { margin-top: var(--space-1); } .ms-list-header-actions { display: flex; align-items: center; gap: var(--space-2); } // ── Filter bar ──────────────────────────────────────────────────────────────── .ms-filter-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; } .ms-filter-types { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; } .ms-type-filter { display: inline-flex; align-items: center; padding: 4px 12px; } .ms-filter-right { display: flex; align-items: center; gap: var(--space-2); } // ── Pagination ──────────────────────────────────────────────────────────────── .ms-pagination { display: flex; justify-content: center; padding: var(--space-4) 0; } // ── Mist rows list ──────────────────────────────────────────────────────────── .ms-list { display: flex; flex-direction: column; } .ms-row { display: flex; align-items: center; gap: var(--space-3); padding: 12px 16px; } .ms-row-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; } .ms-row-title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .ms-row-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; } .ms-meta-owner { display: inline-flex; align-items: center; gap: 4px; } .ms-row-right { display: flex; align-items: center; gap: var(--space-3); flex-shrink: 0; } .ms-row-count { display: inline-flex; align-items: center; gap: 4px; } .ms-row-chevron { display: flex; align-items: center; } // ── Empty state ─────────────────────────────────────────────────────────────── .ms-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-3); padding: var(--space-12) var(--space-6); text-align: center; } .ms-empty-desc { max-width: 44ch; } // ── Detail page ─────────────────────────────────────────────────────────────── .ms-detail-page { display: flex; flex-direction: column; gap: var(--space-4); } // ── Detail header ───────────────────────────────────────────────────────────── .ms-detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-6); flex-wrap: wrap; padding-bottom: var(--space-4); } .ms-detail-header-left { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-2); } .ms-detail-header-right { display: flex; flex-direction: column; gap: var(--space-3); align-items: flex-end; } .ms-detail-breadcrumb { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; } .ms-detail-title { margin-top: var(--space-1); } .ms-detail-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .ms-detail-description { max-width: 72ch; } .ms-detail-tags { display: flex; flex-wrap: wrap; gap: var(--space-2); } // ── Stats + actions ─────────────────────────────────────────────────────────── .ms-detail-stats { display: flex; gap: var(--space-4); } .ms-stat { display: flex; flex-direction: column; align-items: center; gap: 2px; } .ms-detail-actions { display: flex; gap: var(--space-2); } // ── Two-column body ─────────────────────────────────────────────────────────── .ms-detail-body { display: grid; grid-template-columns: 1fr 280px; gap: var(--space-4); align-items: start; @media (max-width: 900px) { grid-template-columns: 1fr; } } .ms-detail-main { min-width: 0; } // ── Content card ────────────────────────────────────────────────────────────── .ms-content-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 8px 14px; } .ms-content-actions { display: flex; gap: var(--space-2); } .ms-content-pre { max-height: 640px; overflow: auto; } .ms-midi-placeholder { display: flex; flex-direction: column; align-items: center; gap: var(--space-3); padding: var(--space-10); } // ── Sidebar ─────────────────────────────────────────────────────────────────── .ms-detail-sidebar { display: flex; flex-direction: column; gap: var(--space-3); } .ms-sidebar-card { padding: 14px; display: flex; flex-direction: column; gap: 10px; &--embed { gap: 8px; } } .ms-sidebar-card-title { display: flex; align-items: center; gap: 7px; } .ms-sidebar-count { padding: 1px 5px; } .ms-sidebar-link { display: flex; align-items: center; gap: 6px; } // ── Anchor + forks lists ────────────────────────────────────────────────────── .ms-anchor-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 5px; } .ms-anchor-item { display: flex; align-items: center; gap: 6px; } .ms-forks-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; li { display: flex; align-items: center; justify-content: space-between; gap: 8px; } } .ms-mini-avatar { width: 16px; height: 16px; flex-shrink: 0; } // ── Embed snippets ──────────────────────────────────────────────────────────── .ms-embed-label { margin-top: 4px; &:first-of-type { margin-top: 0; } } .ms-embed-snippet { position: relative; padding: 8px 32px 8px 10px; overflow: hidden; } .ms-embed-copy { position: absolute; top: 6px; right: 6px; padding: 3px 5px; display: flex; align-items: center; } // ── Agent provenance rows ───────────────────────────────────────────────────── .ms-prov-row { display: flex; gap: 8px; align-items: baseline; }