diff --git a/booth/templates/base.html b/booth/templates/base.html index 46e6e62..325d4cd 100644 --- a/booth/templates/base.html +++ b/booth/templates/base.html @@ -101,6 +101,9 @@ .empty{border:1.5px dashed var(--border-strong);border-radius:var(--radius-xl); padding:48px 24px;text-align:center;color:var(--text-muted);background:var(--surface-sunken); font-family:var(--font-mono);font-size:var(--size-sm)} + .empty b{color:var(--text-heading);font-weight:600} + .empty a{margin-left:6px} + .rail+.empty{margin-bottom:16px} /* ---- upload / pickup -------------------------------------------------- */ .uploader{display:flex;gap:var(--space-3);align-items:stretch;margin-bottom:28px;flex-wrap:wrap} @@ -339,6 +342,10 @@ /* THE RAIL. Sticky, opaque, and counted in mono because the counts are records. The active filter is a place you are, not an armed thing, so it is lifted rather than coloured. */ + /* A fragment jump or a cursor move must land its tile BELOW the stuck rail, + not under it (heid bug-hunt, 2026-09-23). The rail wraps, so its height is + not knowable in CSS: --rail-h is measured by the script at the foot of + this template, and the 120px fallback clears a three-line desktop rail with JS off. */ .rail{position:sticky;top:0;z-index:5;display:flex;gap:6px 8px;align-items:center;flex-wrap:wrap; padding:10px 0;margin:0 0 16px;background:var(--surface-base); border-bottom:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:var(--size-caption)} @@ -361,7 +368,7 @@ .gallery{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start} .item{position:relative;margin:0;background:var(--surface-card);border:1px solid var(--border-default); border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm); - scroll-margin-top:72px} + scroll-margin-top:calc(var(--rail-h, 120px) + 12px)} .item img,.item video{width:100%;height:auto;display:block;background:var(--surface-sunken)} .item audio{width:100%;margin:20px 14px 6px;max-width:calc(100% - 28px)} .item .dl{padding:22px 14px;font-family:var(--font-mono);font-size:var(--size-sm);word-break:break-all} @@ -631,6 +638,21 @@ ephemeral media · auto-wipes {{ ttl_hours }}h · kept boards don't
{% block content %}{% endblock %}
+