/* 区域结构性伸展（PB-16 / UI-4.5 第三手段，2026-08-09）
   适用面：条目数不定的「区域滚动列表」页——条目少时列表只有内容那么高，页面底部大片留白。
   做法：给该页标 data-stretch，让**列表区按可用高度伸展**占满；条目多时仍在区域内滚动（UI-2.3 不变）。
   恒形保证：不改列宽/列数/字号，只让容器吃掉剩余高度；空白从"页面底部"移到"列表内部"，
   与 fillPass/gapPass 自动互斥（页面被撑满后 slack≈0，两道填充自然不再介入）。
   回退：删除本文件的 <link> 即完全复原（页面回到 max-height 上限行为）。 */
.outlet > .page[data-stretch] {
  display: flex;
  flex-direction: column;
  height: 100%;
}
/* 伸展骨架：中间列（含列表的那一列/那张卡）吃掉剩余高度 */
.outlet > .page[data-stretch] > .stretch-row { flex: 1; min-height: 0; }
.outlet > .page[data-stretch] .stretch-host {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
/* 列表本体：撑满宿主并把 max-height 上限解除（上限已由 flex 容器给出） */
.outlet > .page[data-stretch] .stretch-host > .list {
  flex: 1;
  min-height: 0;
  max-height: none !important;
}
/* 侧栏（详情/筛选）同高，避免一边到底一边悬空 */
.outlet > .page[data-stretch] .stretch-aside { align-self: stretch; min-height: 0; overflow: auto; }
