main.wrap:has(.res-page),body:has(.res-page) .res-foot-note {
  max-width:1200px;
}



.res-layout {
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:28px;
}
.res-directory {
  align-self:start;
  position:sticky;
  top:24px;
}
.res-page .res-toc {
  display:block;
}
.res-page .res-toc-row {
  display:block;
}
.res-page .res-toc summary {
  cursor:pointer;
  padding-block:10px;
  min-height:44px;
  box-sizing:border-box;
  font-weight:600;
}
.res-page .res-toc a {
  display:flex;
  align-items:center;
  min-height:44px;
  padding:8px 12px;
  box-sizing:border-box;
}
.res-page .res-lab-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.res-page .res-lab-card {
  min-width:0;
}
.res-page .res-tag {
  white-space:normal;
}
.res-page .res-lab-title {
  font-size:18px;
  line-height:28px;
  font-weight:600;
}
.res-page .res-lab-sum {
  font-size:14px;
  line-height:22px;
  color:var(--color-text-secondary);
}
.res-page .res-lab-meta {
  font-size:13px;
  line-height:20px;
  color:var(--color-text-secondary);
}
.res-page .res-tag.warn {
  color:var(--color-text-warning);
}
.res-page .res-lab-body {
  min-width:0;
  overflow-wrap:anywhere;
}
.res-page [id] {
  scroll-margin-top:24px;
}
.res-page [hidden] {
  display:none!important;
}
.res-menu-button {
  display:none;
}
.res-menu {
  max-width:calc(100% - 32px);
  width:420px;
  max-height:70dvh;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  box-sizing:border-box;
}
.res-menu::backdrop {
  background:#0008;
}
.res-menu-close,.res-reset,.res-menu-button {
  min-height:44px;
  padding:8px 16px;
  background:var(--card);
  color:var(--color-text-link);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  font:inherit;
}
.res-foot-note a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
}
.res-filter-status:empty {
  display:none;
}
@media(max-width:1000px) {
  .res-page .res-lab-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .res-layout {
    grid-template-columns:180px minmax(0,1fr);
    gap:20px;
  }
}
@media(max-width:640px) {
  .res-layout {
    display:block;
  }
  .res-directory {
    position:static;
  }

  .res-page .res-lab-grid {
    grid-template-columns:minmax(0,1fr);
  }
  .res-page .res-lab-card {
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:12px;
    padding:12px;
  }
  .res-page .res-lab-thumb {
    aspect-ratio:4/3;
    height:auto;
  }
  .res-page .res-lab-thumb img {
    height:100%;
    width:100%;
    object-fit:cover;
  }
  .res-page .res-lab-body {
    padding:0;
  }
  .res-page .res-lab-title {
    font-size:16px;
    line-height:24px;
  }
  .res-page .res-lab-sum {
    font-size:15px;
    line-height:24px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .res-page .res-lab-card:has(.warn) .res-lab-sum {
    display:block;
    overflow:visible;
  }
  .res-menu-button {
    display:block;
    position:fixed;
    right:18px;
    bottom:calc(var(--tabbar-height,61px) + env(safe-area-inset-bottom) + 12px);
    z-index:25;
    background:var(--card);
    box-shadow:var(--shadow);
  }
  .res-page {
    padding-bottom:60px;
  }
}
