{% comment %} Shared page HEADER — the identity band rendered by BOTH top-level pages (board_v3.html and chat.html), from this one file. WHY IT IS A PARTIAL. Operator, 2026-07-29 (TG): the two pages' headers not lining up is uncomfortable. They did not line up because each page rolled its own header — the board's `.filterbar` was `padding: 8px 14px; min-height: 48px` while the DM page's `header` was `padding: 10px 14px` with no min-height, so the two bars were different heights and their contents sat on different baselines. Two numbers kept in sync by hand is HOW they drifted; the fix is structural, not a third number. This partial owns the band's markup and page-header.css owns its geometry, so there is nothing left to keep in sync. THE SWITCHER COMES FIRST — that is the operator's standing instruction (「スイッチャーは左にそろえてください」, restated 2026-07-29 after the board and the DM page had drifted to opposite sides). Its position is a property of THIS file now, so the two pages cannot disagree about it: there is only one file to read. Never give `.stx-cards-switcher` a `margin-left: auto` on a host page — that pushes it right while leaving this markup looking correct, which is the one way the instruction can silently come undone. `test__page_header_is_shared` fails on both the ordering and the auto margin. Callers pass the page they are on and the heading it wants: {% templatetag openblock %} include "scitex_cards/_page_header.html" with active="board" page_title="SciTeX Cards" {% templatetag closeblock %} `api_base` and `scitex_cards_version` are inherited from the page context — both views already provide them, and `api_base` is what `_page_switcher.html` builds its mount-aware hrefs from (read its header before touching a link). The `