/* 三种主题共用的小屏布局；保留按钮和数据，宽表只在自身区域横向滚动。 */
@media (max-width: 900px) {
  .top { height: auto; min-height: 60px; padding: 10px 16px; gap: 8px; flex-wrap: wrap; }
  .top-title { flex: 1; }
  .top-title h1 { font-size: 17px; overflow: hidden; text-overflow: ellipsis; }
  .top-title .crumb { display: none; }
  .top .st-wrap { margin-left: auto; }
  .top .demo-ribbon { order: 4; font-size: 11px; }
  .top-actions { order: 5; flex-wrap: wrap; margin-left: auto; }
  .top-actions .btn { font-size: 12px; }
  .content > *, .content .grid > *, .content .card { min-width: 0; max-width: 100%; }
  .content .grid[style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
  .lb, .bh, .wh, .wbh, .ce-hero, .qz-cols, .rv, .cz-wrap, .dt-wrap, .wr-grid, .nb-grid,
  .vt-intro, .vt-stage, .sc-hero, .ps-top, .set-wrap, .tb-top, .up, .bt-grid,
  .r-21, .r-111, .r-11 { grid-template-columns: minmax(0, 1fr); }
  .lb > *, .bh > *, .wh > *, .wbh > *, .dt-wrap > *, .qz-cols > *, .set-wrap > * { min-width: 0; }
  .tb-books, .ps-list, .wb-grid, .wl, .shelf { grid-template-columns: minmax(0, 1fr); }
  .st-kpis, .g4, .g5, .g6, .qz-top, .nums, .mini-k, .tp-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f2, .f3, .steps3, .fit-grid, .lb-steps, .loop { grid-template-columns: minmax(0, 1fr); }
  .loop { gap: 12px; }
  .loop > div:not(:last-child)::after { display: none; }
  .bh .mini-cover { max-width: 180px; }
  .bh .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chl { grid-template-columns: 36px minmax(0, 1fr); }
  .chl.hd { display: none; }
  .chl .acts { grid-column: 1 / -1; }
  .c20, .rc .marks, .rv-acts, .vt-btns, .row, .page-head { flex-wrap: wrap; }
  .vt-btns { justify-content: center; gap: 10px; }
  .vt-btns .btn { min-width: 0; width: 100%; height: 46px; }
  .vt-card { padding: 28px 18px; }
  .vt-card .w { overflow-wrap: anywhere; }
  .dt-card { padding: 28px 18px; }
  .dt-in { max-width: 100%; min-width: 0; }
  .wd-bar form { flex-wrap: wrap; max-width: 100%; }
  .wd-bar .input, .filter-bar .input { max-width: 100%; }
  .content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; }
  .content .card:has(> table) { overflow-x: auto; }
  .content .input { min-width: 0; max-width: 100%; }
  .lv-row { grid-template-columns: 32px minmax(0, 1fr) 55px 55px; gap: 6px; }
  .lvbar, .cov-row { grid-template-columns: 82px minmax(0, 1fr) 80px; gap: 6px; }
  .tb-unit { grid-template-columns: 36px minmax(0, 1fr); }
  .tb-unit > :last-child { grid-column: 2; }
  .t20 { grid-template-columns: 28px minmax(0, 1fr); }
  .t20 > div:has(input), .t20 .ref { grid-column: 1 / -1; }
  .set-nav, .vt-side, .rail, .imp { position: static; }
  .flash-card .w { font-size: 38px; overflow-wrap: anywhere; }
  .flash-card .fc-face { padding: 22px 18px; }
  .content .heat { max-width: 100%; overflow-x: auto; }
  .section-title { flex-wrap: wrap; }
  .ref .ct, .ref a, .ref .rd { overflow-wrap: anywhere; }
}
