/* PLAY SCHOOL V4.2 - Main-home sidebar geometry shared by public pages.
 * Canonical reference: static/psui_home.css .psui-layout/.psui-sidebar.
 * Member-station drawer is deliberately excluded.
 */
:root {--psui-shared-sidebar-width:240px;--psui-shared-header-height:74px}
@media (min-width:701px) and (max-width:1230px){:root{--psui-shared-sidebar-width:214px}}
@media (min-width:701px) {
 body.psui-all-skin:not(.ps-station-v4){position:relative!important;box-sizing:border-box!important;margin:0 auto!important;max-width:none!important;width:100%!important;min-height:100vh!important;overflow-x:clip!important;overflow-y:visible!important;background:#faf9fc!important}
 body.psui-all-skin:not(.ps-station-v4) .psui-all-header{position:sticky!important;left:auto!important;right:auto!important;top:0!important;width:100%!important;height:74px!important;min-height:74px!important;padding:10px 13px!important;gap:25px!important;z-index:7002!important;background:#fff!important;border-bottom:1px solid #eee6f0!important;box-shadow:none!important}
 body.psui-all-skin:not(.ps-station-v4) .psui-all-sidebar{position:absolute!important;left:0!important;top:74px!important;bottom:0!important;width:var(--psui-shared-sidebar-width)!important;height:auto!important;max-height:none!important;overflow:visible!important;overflow-y:visible!important;padding:19px 15px 25px!important;background:#fff!important;border-right:1px solid #eee6f0!important;z-index:1!important;transform:none!important;box-shadow:none!important}
 body.psui-all-skin:not(.ps-station-v4) main.ps-subpage,
 body.psui-all-skin:not(.ps-station-v4) main.ps-simple-page,
 body.psui-all-skin:not(.ps-station-v4) main.psui-all-main{margin:0 0 0 var(--psui-shared-sidebar-width)!important;min-height:calc(100vh - 74px)!important;max-width:none!important;width:auto!important;box-sizing:border-box!important}
 body.psui-all-skin:not(.ps-station-v4) .psui-all-root{display:contents!important}
}
/* Identical home dimensions: 40px menu rows + 4px gap; 47px roster rows. */
body.psui-all-skin:not(.ps-station-v4) .psui-all-nav{display:flex!important;flex-direction:column!important;gap:4px!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-nav-link,
body.psui-all-skin:not(.ps-station-v4) .psui-all-admin-link{display:flex!important;align-items:center!important;gap:13px!important;min-height:40px!important;margin:0!important;padding:8px 13px!important;box-sizing:border-box!important;border-radius:10px!important;color:#726b7f!important;font-size:13px!important;font-weight:680!important;line-height:1.45!important;text-decoration:none!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-nav-link:hover,
body.psui-all-skin:not(.ps-station-v4) .psui-all-admin-link:hover{background:#faf4fb!important;color:#a65a88!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-nav-link.active{color:#c24a80!important;background:#fff0f5!important;font-weight:680!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-nav-icon{width:21px!important;flex:0 0 21px!important;display:inline-flex!important;justify-content:center!important;font-size:18px!important;font-weight:400!important;line-height:1.45!important;color:#9c91ac!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-nav-link.active .psui-all-nav-icon{color:#c24a80!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-nav-label{border-top:1px solid #f0ebf2!important;margin:11px 0 0!important;padding:15px 13px 4px!important;font-size:10px!important;letter-spacing:.5px!important;text-transform:none!important;color:#aaa3b0!important;font-weight:850!important;line-height:1.45!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-admin-nav{display:flex!important;flex-direction:column!important;gap:4px!important;border:0!important;margin:0!important;padding:0!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-admin-nav[hidden]{display:none!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster{margin-top:17px!important;border-top:1px solid #eee9ef!important;padding:0!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0!important;padding:18px 7px 9px!important;font-size:12px!important;font-weight:700!important;line-height:1.45!important;color:#403a4c!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-head strong{font-size:12px!important;font-weight:700!important;white-space:nowrap!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-head a{font-size:11px!important;color:#a29ba8!important;text-decoration:none!important;white-space:nowrap!important;font-weight:400!important}
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;gap:10px!important;box-sizing:border-box!important;margin:0!important;padding:5px!important;width:100%!important;height:47px!important;min-height:47px!important;max-height:47px!important;border-radius:8px!important;color:#403a4c!important;font-size:12px!important;line-height:1.45!important;text-decoration:none!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-item:hover{background:#fcf6fa!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-item strong{flex:1 1 auto!important;min-width:0!important;font-size:12px!important;line-height:1.45!important;font-weight:700!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-avatar-small{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important;box-sizing:border-box!important;border:2px solid #f5edf8!important;border-radius:50%!important;overflow:hidden!important;background:linear-gradient(145deg,#e8d8ee,#c4bedb)!important;color:#796a9a!important;font-size:15px!important;font-weight:850!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-avatar-small img{display:block!important;width:100%!important;height:100%!important;border-radius:50%!important;object-fit:cover!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-on,
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-off{flex:0 0 auto!important;font-size:12px!important;font-weight:400!important;color:#c2bac9!important;line-height:1!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-on{color:#d84666!important;font-size:10px!important;font-weight:900!important}
body.psui-all-skin:not(.ps-station-v4) .psui-all-roster-on::before{content:'● ';font-size:8px}
/* Header brand matches home: image + 21px word. */
@media (min-width:701px){
 body.psui-all-skin:not(.ps-station-v4) .psui-all-brand{display:flex!important;align-items:center!important;gap:12px!important;min-width:235px!important}
 body.psui-all-skin:not(.ps-station-v4) .psui-all-brand-image{width:48px!important;height:48px!important}
 body.psui-all-skin:not(.ps-station-v4) .psui-all-brand-word strong{font-size:21px!important;letter-spacing:-.7px!important;line-height:1.1!important;font-weight:850!important;color:#554465!important}
 body.psui-all-skin:not(.ps-station-v4) .psui-all-search{max-width:430px!important;width:100%!important;height:40px!important;background:#f9f6fb!important;border:1px solid #e9e1ec!important;gap:10px!important;padding:0 14px!important}
 body.psui-all-skin:not(.ps-station-v4) .psui-all-account{padding:10px 17px!important;background:#8e679c!important;color:#fff!important;border:0!important;border-radius:11px!important;font-size:12px!important;font-weight:800!important}
}
/* Mobile stays a temporary menu. It must not add a second desktop scrollbar. */
@media (max-width:700px){
 body.psui-all-skin:not(.ps-station-v4) .psui-all-sidebar{position:fixed!important;top:66px!important;bottom:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;width:min(280px,85vw)!important;padding:19px 15px 25px!important}
 body.psui-all-skin:not(.ps-station-v4) .psui-all-header{position:sticky!important}
 body.psui-all-skin:not(.ps-station-v4) main.ps-subpage,
 body.psui-all-skin:not(.ps-station-v4) main.ps-simple-page,
 body.psui-all-skin:not(.ps-station-v4) main.psui-all-main{margin:0!important;padding-top:18px!important}
}
