/* Page navigation only; ContentTabs (.page-subtabs, role=tab) stay in page CSS. */
.section-tabs { position:sticky; top:var(--frame-height); z-index:20; background:var(--surface); }
.section-tabs-row { display:flex; align-items:stretch; gap:calc(var(--frame-page-tabs-gap) - 8px); max-width:100%; border-bottom:1px solid var(--line); overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; }
.section-tabs-row > a { position:relative; flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; min-width:max-content; height:calc(var(--frame-page-tabs-height) - 1px); padding:0 4px 2px; color:var(--ink-2); font-size:var(--frame-page-tabs-text); font-weight:500; line-height:1.5; letter-spacing:-.02em; white-space:nowrap; }
.section-tabs-row > a::before { content:''; position:absolute; left:4px; right:4px; bottom:0; height:2px; background:transparent; }
.section-tabs-row > a[aria-current="page"] { color:var(--ink); font-weight:600; }
.section-tabs-row > a[aria-current="page"]::before { background:var(--navy); }
.section-tabs-row > a:focus-visible { outline:var(--focus-width) solid var(--focus-ring); outline-offset:-4px; border-radius:var(--r-tag); }
.reading-page:has([data-page-tabs],[data-cond-page]) .section-tabs { position:static; }
@media (hover:hover) {
  .section-tabs-row > a:not([aria-current="page"]):hover { color:var(--ink); }
  .section-tabs-row > a:not([aria-current="page"]):hover::before { background:var(--faint); }
}
.section-tabs-row > a:first-child { padding-left:0; }
.section-tabs-row > a:first-child::before { left:0; }
.section-tabs-row > a:last-child { padding-right:0; }
.section-tabs-row > a:last-child::before { right:0; }
