diff --git a/css/style.css b/css/style.css index a6977d8..7d7f1f7 100644 --- a/css/style.css +++ b/css/style.css @@ -799,15 +799,17 @@ input[type="range"]::-webkit-slider-thumb { .dropdown-item:hover { background: var(--bg-elev-2); } .dropdown-item svg { color: var(--text-dim); } -.content { flex: 1; padding: 24px 32px; overflow-y: auto; } -/* Sticky title row. The negative top margin cancels .content's padding-top so - nothing scrolls through the gap above it. Everything else that sticks - (batch bar, pagination, table header) offsets by --hdr-h. */ +/* No padding-top: the sticky .content-header owns it, so its box starts flush + with the scrollport and nothing can scroll through above it. */ +.content { flex: 1; padding: 0 32px 24px; overflow-y: auto; } +/* Sticky title row — carries .content's top padding so its opaque box reaches + the scrollport edge. Everything else that sticks (batch bar, pagination, + table header) offsets by --hdr-h. */ .content-header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 20px; position: sticky; top: 0; z-index: 12; background: var(--bg); - padding-top: 24px; margin-top: -24px; + padding-top: 24px; } .content-header h2 { font-size: 22px; font-weight: 600; margin: 0; } .content-meta { color: var(--text-faint); font-size: 12px; } @@ -2588,8 +2590,8 @@ body[data-editor-position="center"]:has(#settingsPanel.is-open)::before { .sidebar-section-header { display: none; } .nav-item { justify-content: center; padding: 8px; } .topbar { padding: 12px 16px; } - .content { padding: 16px; } - .content-header { padding-top: 16px; margin-top: -16px; } + .content { padding: 0 16px 16px; } + .content-header { padding-top: 16px; } .slideover { width: 100%; } /* On a narrow viewport the slideover fills the screen — no point pushing the shell, the table isn't visible anyway. */