// ───────────────────────────────────────────────────────────────────────────── // Page: Blame viewer (.blm-* layout) // File: src/scss/pages/_blame.scss // // STRUCTURAL LAYOUT ONLY — zero colors, zero typography here. // Visual rules live in components/_blame.scss. // ───────────────────────────────────────────────────────────────────────────── // ── Two-column layout ───────────────────────────────────────────────────────── // Bounded-height, independently-scrolling columns — not position: sticky. // See _layout.scss's .layout-two-col/.layout-sidebar comment for why. .blm-layout { display: grid; grid-template-columns: 256px 1fr; gap: var(--space-4); align-items: start; min-height: 0; height: calc(100dvh - var(--sticky-offset, var(--header-height)) - var(--space-4)); @media (max-width: 900px) { grid-template-columns: 1fr; height: auto; } } // ── Legend (left) ───────────────────────────────────────────────────────────── .blm-legend { min-height: 0; overflow-y: auto; display: flex; flex-direction: column; scrollbar-width: thin; scrollbar-color: var(--border-default) transparent; @media (max-width: 900px) { overflow-y: visible; } } // ── Content (right) ─────────────────────────────────────────────────────────── .blm-content { min-width: 0; min-height: 0; display: flex; flex-direction: column; gap: var(--space-3); overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--border-default) transparent; @media (max-width: 900px) { overflow-y: visible; } } // ── Symbol list ─────────────────────────────────────────────────────────────── .blm-symbol-list { display: flex; flex-direction: column; gap: var(--space-2); } // ── Card summary ────────────────────────────────────────────────────────────── .blm-card-summary { display: flex; align-items: center; gap: var(--space-3); } .blm-card-main { flex: 1; min-width: 0; } .blm-card-top { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-1); flex-wrap: wrap; } .blm-card-bottom { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; } // ── Code table ──────────────────────────────────────────────────────────────── .blm-code-table { table-layout: fixed; } .blm-gutter { width: 56px; } .blm-code-cell { width: calc(100% - 56px); overflow-x: auto; } // ── History table ───────────────────────────────────────────────────────────── .blm-history-table { th:nth-child(1) { width: 28px; } // # th:nth-child(2) { width: 80px; } // Commit th:nth-child(3) { width: 64px; } // Op th:nth-child(4) { width: auto; } // Message th:nth-child(5) { width: 100px; } // Author th:nth-child(6) { width: 80px; } // When }