/* V1.4: cast layout inspired by information hierarchy of the provided member page,
   implemented independently for PlaySchool. */
.ps-cast-directory{background:radial-gradient(65% 470px at 50% 0%,#372d46 0%,transparent 92%),#14141e;padding-top:43px}
.ps-cast-heading{text-align:center;margin:3px 0 26px}
.ps-cast-heading .ps-overline{color:#cfb3f4;letter-spacing:2.5px;font-size:11px;font-weight:850}
.ps-cast-heading h1{font-size:35px;font-weight:900;color:#fff;margin:11px 0 9px;letter-spacing:-1px}
.ps-cast-heading>p{color:#beb6cf;font-size:13px;line-height:1.9;margin:0 auto 19px;max-width:760px}
.ps-cast-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}
.ps-cast-stats span{border:1px solid #594a69;background:#272334;color:#ccc2da;border-radius:30px;padding:8px 15px;font-size:12px}
.ps-cast-stats strong{color:#f3d7f2;margin-left:6px;font-weight:900}
.ps-cast-search{max-width:920px;margin:0 auto 34px;background:#201e2b;border:1px solid #51485e;border-radius:13px;padding:11px;display:flex;align-items:center;gap:9px}
.ps-cast-search input,.ps-cast-search select{min-height:41px;border:1px solid #554b60;background:#181824;color:#f7f5fb;padding:10px 12px;border-radius:9px;min-width:0}
.ps-cast-search input{flex:1}.ps-cast-search select{width:166px}
.ps-cast-search button{min-height:41px;border:0;border-radius:9px;background:#ab83d2;color:#1a1027;padding:0 19px;cursor:pointer;font-weight:850}
.ps-cast-search>a{color:#d7c8e2;padding:10px;text-decoration:none;font-size:12px}
.ps-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ps-cast-section{margin:22px 0 45px}
.ps-cast-section-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #4b3d5a;margin-bottom:21px;padding-bottom:12px;gap:12px}
.ps-cast-section-title h2{font-size:22px;letter-spacing:-.6px;color:#fff;margin:0}
.ps-cast-section-title>span{font-size:12px;color:#c7a8e1;font-weight:750}
.ps-cast-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ps-cast-featured{min-height:265px;display:grid;grid-template-columns:42% 1fr;background:linear-gradient(145deg,#33273f,#252130);border:1px solid #8268a1;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px #09061233}
.ps-cast-featured-image{background:linear-gradient(135deg,#6a507d,#32283e);min-height:260px;display:grid;place-items:center;overflow:hidden}
.ps-cast-featured-image img{width:100%;height:100%;object-fit:cover;object-position:center top}
.ps-cast-featured-body{min-width:0;display:flex;flex-direction:column;padding:25px 20px 18px}
.ps-cast-featured-body h3{font-size:29px;color:#fff;margin:15px 0 8px}
.ps-cast-featured-body p{color:#cfc0d7;font-size:12px;line-height:1.85;margin:0 0 14px;overflow-wrap:anywhere}
.ps-cast-grade,.ps-cast-featured .ps-cast-grade{display:inline-block;border:1px solid #846a95;border-radius:8px;background:#51405f;color:#ffe2fa;padding:6px 11px;font-size:11px;font-weight:850}
.ps-cast-featured-body>.ps-cast-grade{align-self:flex-start}
.ps-cast-student-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.ps-cast-student-card{border:1px solid #4e455c;border-radius:17px;overflow:hidden;background:#23212f;min-width:0;display:flex;flex-direction:column;box-shadow:0 12px 26px #0b09141a;transition:transform .18s,border-color .18s}
.ps-cast-student-card:hover{transform:translateY(-3px);border-color:#d2a8ef}
.ps-cast-student-photo{height:235px;background:radial-gradient(ellipse at 50% 32%,#644f77,#2e293c 78%);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ps-cast-student-photo>img{width:100%;height:100%;object-fit:cover;object-position:center top}
.ps-cast-placeholder{font-size:74px;filter:drop-shadow(0 8px 12px #1d102555)}
.ps-cast-student-photo .ps-cast-grade{position:absolute;left:13px;bottom:12px;backdrop-filter:blur(5px);background:#30223edc}
.ps-cast-student-body{padding:16px 14px 13px;display:flex;flex-direction:column;flex:1;min-width:0}
.ps-cast-student-body h3{font-size:20px;color:#fff;margin:0 0 8px;letter-spacing:-.2px}
.ps-cast-student-body p{font-size:12px;color:#bcb2c9;line-height:1.7;min-height:41px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;margin:0 0 18px}
.ps-cast-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:auto}
.ps-cast-actions button{min-height:37px;background:#3b3148;border:1px solid #655172;border-radius:7px;color:#f4e2ff;cursor:pointer;font-size:12px;font-weight:800;padding:7px 2px}
.ps-cast-actions button:hover,.ps-cast-actions button:focus-visible{background:#8b60ab;color:#fff;border-color:#cda4e8}
.ps-admin-add-student{border:1px solid #decfe9;border-radius:15px;background:#f9f5ff;display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:13px;padding:18px;margin-bottom:18px;align-items:end}
.ps-admin-add-student h3{font-size:16px;margin:0 0 4px}.ps-admin-add-student p{margin:0}.ps-admin-add-student label{font-size:12px;color:#736485;display:flex;flex-direction:column;gap:6px}
.ps-admin-add-student input,.ps-admin-add-student select{width:100%;min-width:0;border:1px solid #dacde5;border-radius:8px;padding:11px;color:#4a3c5e;background:#fff}
.ps-admin-add-student .primarybtn{white-space:nowrap;min-height:41px}
.ps-global-sig-list{max-height:560px;overflow-y:auto}.ps-global-sig-item{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid #eee5f1;align-items:flex-start}
.ps-global-sig-item>img{width:90px;height:62px;object-fit:contain;border-radius:7px;background:#eee8f5;flex-shrink:0}
.ps-global-sig-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px;color:#4d435b}
.ps-global-sig-body strong{font-size:13px}.ps-global-sig-body small{color:#9173a6}
.ps-global-sig-body details{font-size:11px;color:#765791;margin-top:5px}.ps-global-sig-body details summary{cursor:pointer}
.ps-sig-edit-form{margin-top:12px}.ps-sig-edit-form label{font-size:12px}
.ps-sig-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ps-sig-assignment{border:1px solid #e3d4ed;border-radius:10px;padding:14px;min-width:0;background:#fff}
.ps-sig-assignment>summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none}
.ps-sig-assignment>summary::-webkit-details-marker{display:none}
.ps-sig-assignment summary>strong{font-size:13px;color:#483752;margin-right:auto}
.ps-sig-assignment summary>span{font-size:11px;color:#89749d}
.ps-sig-assignment form{padding-top:12px;display:flex;flex-direction:column;gap:10px}
.ps-sig-checklist{max-height:250px;overflow-y:auto;padding:8px;border-radius:8px;background:#f8f3fb;display:flex;flex-direction:column;gap:4px}
.ps-sig-checklist label{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px;border-bottom:1px solid #e9e2ee;color:#413751;cursor:pointer}
.ps-sig-checklist label input{accent-color:#9568b5}
@media(max-width:1150px){.ps-cast-student-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ps-admin-add-student{grid-template-columns:1fr 1fr}.ps-cast-featured-grid{grid-template-columns:1fr}}
@media(max-width:760px){.ps-cast-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.ps-cast-student-photo{height:195px}.ps-cast-heading h1{font-size:28px}.ps-cast-featured{min-height:220px}.ps-cast-featured-image{min-height:220px}.ps-cast-featured-body{padding:18px}.ps-cast-student-body{padding:12px}.ps-cast-student-body h3{font-size:17px}.ps-cast-search{flex-wrap:wrap}.ps-cast-search input{flex:1 1 55%}.ps-cast-search select{flex:1 1 30%;width:auto}.ps-sig-assignment-grid{grid-template-columns:1fr}}
@media(max-width:440px){.ps-cast-student-photo{height:155px}.ps-cast-featured{grid-template-columns:40% 60%}.ps-cast-featured-image{min-height:210px}.ps-cast-featured-body h3{font-size:23px}.ps-cast-featured-body p{font-size:11px}.ps-cast-student-body p{font-size:11px;min-height:40px}.ps-cast-actions{gap:3px}.ps-cast-actions button{font-size:10px;min-height:34px;padding:5px 1px}.ps-cast-student-photo .ps-cast-grade{font-size:10px;padding:4px 6px;left:7px;bottom:9px}.ps-admin-add-student{grid-template-columns:1fr}.ps-cast-stats span{font-size:11px;padding:6px 8px}}

.ps-cast-channel{color:#efbde6;text-decoration:none;font-size:11px;font-weight:800;display:inline-block;margin:-3px 0 9px}.ps-cast-channel:hover{text-decoration:underline}
