/* PLAY SCHOOL V4.1 | Unified public sidebar & document scroll.
 * Normal site pages: same member roster geometry as the home page.
 * Station pages: preserve member-channel drawer and its separate private menu.
 * Mobile (<=700px): preserve the intended collapsible overlay.
 */
@media (min-width: 701px) {
  body.psui-all-skin:not(.ps-station-v4) {
    position: relative !important;
    min-height: 100vh;
    overflow-y: visible !important;
  }
  body.psui-all-skin:not(.ps-station-v4) .psui-all-sidebar {
    position: absolute !important;
    top: 74px !important;
    bottom: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
    overscroll-behavior-y: auto !important;
    box-sizing: border-box !important;
    padding: 19px 15px 25px !important;
  }
}
/* The home template uses 47px rows without any gap; other tabs used +5px gaps. */
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  row-gap: 0 !important;
}
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-item {
  display: flex !important;
  align-items: center !important;
  height: 47px !important;
  min-height: 47px !important;
  max-height: 47px !important;
  box-sizing: border-box !important;
  gap: 10px !important;
  padding: 5px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-item strong {
  flex: 1 1 auto;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  min-width: 0;
}
body.psui-all-skin:not(.ps-station-v4) .psui-all-avatar-small {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  flex: 0 0 34px !important;
  border: 2px solid #f5edf8 !important;
  box-sizing: border-box !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}
body.psui-all-skin:not(.ps-station-v4) .psui-all-avatar-small img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-head {
  margin: 0 !important;
  padding: 18px 7px 9px !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
/* Mobile stays a temporary, independently scrollable drawer by design. */
@media (max-width: 700px) {
  body.psui-all-skin:not(.ps-station-v4) .psui-all-sidebar {
    position: fixed !important;
    top: 66px !important;
    bottom: 0 !important;
    overflow-y: auto !important;
  }
}
