/* 全站页面外框。尺寸唯一源在 chrome.css；页面内容可窄排，不能扩大外框。 */
html { scrollbar-gutter: stable; }
@media (min-width: 761px) {
  body[data-page] > .nav { margin: 0; width: 100%; }
  body[data-page] > .nav .nav-in {
    box-sizing: border-box; width: 100%; max-width: var(--site-page-width);
    margin: 0 auto; padding: 0 var(--site-page-gutter); min-height: 60px;
  }
  body[data-page] main.wrap,
  body[data-page] .site-frame {
    box-sizing: border-box; width: 100%; max-width: var(--site-page-width);
    margin-left: auto; margin-right: auto;
    padding-left: var(--site-page-gutter); padding-right: var(--site-page-gutter);
    min-width: 0;
  }
  body[data-page="feiquan"] { padding: 0; }
  body[data-page="feiquan"] > .site-frame { padding-top: 40px; }
  .library-frame > .page-header,
  body[data-page="dangxiao"] main.wrap > .head {
    width: 100%; max-width: none; min-height: 160px; margin: 0 0 28px;
  }
  .library-frame > .tab-bar,
  .library-frame > .tab-panel,
  .library-frame > .fq-colophon { width: 100%; max-width: none; margin-left: 0; margin-right: 0; }
  body[data-page="feiquan"] .fq-top,
  body[data-page="dangxiao"] .head-top {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px 28px;
  }
  body[data-page="feiquan"] .page-header h1,
  body[data-page="dangxiao"] .head h1 { margin: 10px 0 4px; font-size: 48px; line-height: 1.25; }
  body[data-page="feiquan"] .fq-switch,
  body[data-page="dangxiao"] .switch { margin-top: 24px; }
  .library-frame .ranking-section { overflow: visible; }
  /* 只让密集列表使用更宽的阅读区，导航、页头、筛选和页脚继续共用外框。 */
  .library-frame .rank-board {
    position: relative; left: 50%; transform: translateX(-50%);
    width: min(calc(100vw - 64px), 1760px);
  }
  .library-frame .rank-scroll { overflow: auto; }
  .library-frame .rank-scroll-hint { margin: 0 0 10px; color: var(--meta); font-size: 12px; }
  .library-frame .rank-table { min-width: 1180px; width: 100%; table-layout: fixed; }
  .library-frame .rank-table th { white-space: normal; padding: 8px 3px; }
  .library-frame .rank-table td { padding: 8px 3px; overflow-wrap: anywhere; }
  .library-frame .rank-table tbody tr { cursor: pointer; }
  .library-frame .rank-table tbody tr:is(:hover, :focus-visible) td { background: var(--accent-soft); }
  .library-frame .rank-table tbody tr:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
  .library-frame .rank-table .school-name { min-width: 0; padding-left: 8px; white-space: normal; }
  .library-frame .rank-table .sub-tag {
    max-width: none; white-space: normal; overflow-wrap: anywhere;
  }
  .library-frame .rank-table :is(.area-tag, .level-tag) { white-space: nowrap; }
  .library-frame .rank-table .level-tag { padding: 0 5px; font-size: 12px; }
  .library-frame .rank-table .area-tag { padding: 0 5px; }
  .library-frame .rank-table .score-cell { min-width: 0; }
  .library-frame .rank-table .no-retest { font-size: 12px; }
  .library-frame .rank-table .yr-tag { white-space: nowrap; }
  .library-frame .rank-table td:last-child { min-width: 0; }
  body[data-page="legal"] > main.site-frame { padding-top: 40px; }
  .legal-reading { max-width: 780px; margin: 28px auto 0; }
  body[data-page] > .site-footer { width: 100%; margin-left: 0; margin-right: 0; box-sizing: border-box; }
  body[data-page] > .site-footer > p { max-width: var(--site-content-width); margin-left: auto; margin-right: auto; }
}
