/* PlaySchool V1.5 — Cloud Campus shared design system */
:root {--cloud-ink:#312744;--cloud-border:rgba(255,255,255,.52);--cloud-shadow:0 18px 50px rgba(57,43,94,.16);--cloud-glass:rgba(254,251,255,.81);--pink:#e9a5ce;--blue:#8cceec;--purple:#9876c9}
html{scroll-behavior:smooth}
body{background:#dad2f5 url('/static/playschool_clouds.webp') center center / cover fixed no-repeat;min-height:100vh}
.masthead{background:rgba(255,251,255,.78);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid rgba(255,255,255,.7);box-shadow:0 6px 30px #59457918}
.topnav a.is-active,.topnav a:hover{background:#e9d8faad;color:#674a92}
.nav-end{display:flex;align-items:center;gap:8px}.nav-end form{margin:0}.nav-end .smallbtn{white-space:nowrap;background:#ffffffb9;border-color:#d5bdea}.nav-end .register-btn{background:#e5caf9cf;border-color:#dbb9f1;color:#543d75}
.nav-member-name{font-size:12px;font-weight:750;color:#6a507d}
.mobile-nav{background:rgba(251,246,255,.72)!important;backdrop-filter:blur(15px)}
.footer{background:rgba(255,250,255,.46);backdrop-filter:blur(24px);color:#65517e;border-top:1px solid rgba(255,255,255,.72);box-shadow:0 -5px 20px #7652a314}
.footer p{color:#7b668b}
.ps-home,.ps-subpage,.ps-simple-page,.ps-rank-page,.ps-glass-auth,.login-shell{background:transparent!important}
.ps-home{padding:26px 0 85px;min-height:calc(100vh - 160px)}
.ps-home-wrap{gap:24px}
.ps-panel,.ps-simple-panel,.ps-calendar-panel,.ps-filter-panel,.ps-filter-box,.ps-glass-rank-panel{background:rgba(25,23,43,.82)!important;backdrop-filter:blur(19px);-webkit-backdrop-filter:blur(19px);border:1px solid rgba(230,211,250,.28);box-shadow:0 14px 40px rgba(32,24,66,.20)}
.ps-panel{border-radius:19px}
.ps-subpage,.ps-simple-page{min-height:calc(100vh - 160px);padding-top:36px}
.ps-subhead,.ps-cast-heading{color:#322547}
.ps-subhead h1,.ps-cast-heading h1,.ps-simple-header h1{color:#2d2446!important;text-shadow:0 1px 8px rgba(255,255,255,.8)}
.ps-subhead p,.ps-cast-heading p,.ps-simple-header p{color:#5d4a7d!important}
.ps-overline,.ps-eyebrow,.section-kicker{color:#8b62b9}
.ps-cast-heading{background:rgba(253,249,255,.61);border:1px solid rgba(255,255,255,.65);padding:20px 24px;border-radius:18px;backdrop-filter:blur(14px)}
.ps-cast-heading h1{font-size:30px}
.ps-cast-stats{margin-top:16px}
.ps-cast-stats span{background:#fffafaac;color:#68547d;border:1px solid #ffffffbd}
.ps-cast-section-title{display:flex;align-items:center;justify-content:space-between;color:#392c52;font-size:19px;margin:22px 0 16px;font-weight:850;text-shadow:0 1px 12px #fff}
.ps-cast-section-title small{font-size:12px;color:#6a5a83}
.ps-cast-search{background:rgba(255,255,255,.60);border:1px solid rgba(255,255,255,.7);padding:13px;border-radius:14px;backdrop-filter:blur(12px)}
.ps-cast-search input,.ps-cast-search select{background:#fffdf9dd!important;border:1px solid #e5d7ef;color:#55466c!important}
.ps-cast-staff-grid{display:flex;justify-content:center;gap:18px;margin:18px auto 26px}
.ps-glass-cast-card{position:relative;min-width:0;border-radius:19px;padding:31px 17px 16px;display:flex;align-items:center;flex-direction:column;text-align:center;min-height:330px;background:rgba(24,24,47,.83);border:1px solid rgba(243,224,255,.48);box-shadow:0 20px 30px rgba(32,18,62,.23);color:#fff;transition:transform .2s ease, box-shadow .2s ease}
.ps-glass-cast-card:hover{transform:translateY(-5px);box-shadow:0 24px 42px rgba(53,27,89,.36)}
.ps-glass-cast-card.ps-teacher-card{width:min(294px,100%);min-height:340px;outline:1px solid rgba(244,210,174,.23)}
.ps-cast-student-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.ps-cast-avatar-wrap{background:conic-gradient(from 15deg,#f79fd0,#fddeb6,#8fcdeb,#8d9af9,#f4aad3,#f79fd0);padding:4px;width:122px;height:122px;border-radius:50%;box-shadow:0 0 18px rgba(229,164,235,.38),0 0 0 3px rgba(255,255,255,.18);flex-shrink:0}
.ps-teacher-card .ps-cast-avatar-wrap{width:136px;height:136px}
.ps-cast-avatar{width:100%;height:100%;background:linear-gradient(130deg,#f9eaf5,#dceafd);border-radius:50%;overflow:hidden;display:grid;place-items:center;border:3px solid #282437}
.ps-cast-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.ps-cast-avatar-placeholder{font-size:47px}
.ps-profile-rank{font-size:11px;font-weight:850;background:linear-gradient(90deg,#ffd6f1,#e8d8ff,#cef0ff);color:#5d427c;border-radius:30px;padding:5px 14px;margin:17px auto 4px}
.ps-glass-cast-card h3{font-size:20px;font-weight:900;margin:3px 0 9px;color:#fff}
.ps-glass-cast-card p{font-size:12px;color:#d3cbde;line-height:1.65;min-height:39px;max-width:100%;margin:0 0 14px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ps-profile-youtube{color:#fec0d2;font-weight:850;font-size:11px;margin:-7px 0 9px}
.ps-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;margin-top:auto}
.ps-card-actions button{background:rgba(210,184,244,.16);border:1px solid rgba(255,217,251,.33);border-radius:9px;color:#f5eaff;font-size:11px;font-weight:850;padding:10px 3px;cursor:pointer;white-space:nowrap}
.ps-card-actions button:hover{background:#e5caf6;color:#443251}
/* Home: wide thumbnail-backed broadcast hero, no older welcome banner or fame widget */
.ps-broadcast-hero{min-height:290px;position:relative;background-image:linear-gradient(90deg,rgba(30,21,49,.88),rgba(30,23,50,.56) 43%,rgba(30,22,49,.16)),var(--live-thumb,linear-gradient(110deg,#3a315b,#a988bd));background-size:cover;background-position:center;display:flex;align-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.40);border-radius:22px;box-shadow:0 20px 42px #4a286e40;color:#fff}
.ps-live-hero-content{position:relative;z-index:1;padding:35px 40px;max-width:min(100%,790px)}
.ps-live-badges{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ps-live-red,.ps-live-off,.ps-live-brand{font-size:11px;font-weight:850;padding:8px 13px;border-radius:100px;background:#262032b5;color:white;border:1px solid #ffffff30}
.ps-live-red{background:#f13659;color:#fff}.ps-live-off{background:rgba(240,211,251,.25)}
.ps-broadcast-hero h1{font-size:clamp(25px,3vw,39px);font-weight:900;line-height:1.3;max-width:660px;margin:23px 0 8px;color:#fff;text-shadow:0 2px 8px #140e2c}
.ps-broadcast-hero p{color:#e9dcf0;font-size:13px}
.ps-live-watch{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(95deg,#f3b5cf,#b8bbff);color:#392447;padding:12px 18px;border-radius:30px;font-size:12px;font-weight:900;margin-top:11px;box-shadow:0 7px 22px #0005}
.ps-broadcast-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px;margin-top:-10px;border:1px solid rgba(255,255,255,.55);border-radius:16px;background:rgba(252,243,255,.72);backdrop-filter:blur(18px);color:#604d7f;font-size:12px;font-weight:800}
.ps-broadcast-status a{margin-left:auto;background:#e4d4f8;border-radius:100px;padding:8px 13px}
.ps-home .ps-panel{background:rgba(27,25,48,.83)!important}
/* Five signature cards wide, all listed in one vertical scrolling page */
.ps-signature-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:13px}
.ps-signature-card{background:rgba(26,25,44,.87);border-color:#ffffff55;box-shadow:0 9px 22px #37244f30}
.ps-signature-card>a{aspect-ratio:16/9}.ps-signature-card img{object-fit:contain}
.ps-signature-details{padding:11px}.ps-signature-amount{color:#ffcbe2;font-size:12px;background:#513d57;align-self:flex-start;padding:4px 9px;border-radius:30px}
.ps-filter-panel{padding:17px 19px}
.ps-calendar-panel{background:rgba(28,25,48,.74)!important}
.ps-day{background:rgba(255,255,255,.055);border-color:#ffffff25}.ps-day.outside{background:rgba(6,6,22,.23)}.ps-day.is-today{background:rgba(247,181,235,.25);box-shadow:inset 0 0 0 2px #f4c4ff}
.ps-month-weekdays{background:rgba(255,255,255,.10)}
/* Board: dense transparent rows, notices on top */
.board-surface{background:rgba(25,24,41,.84)!important;padding:0!important;overflow:hidden}
.board-table-row{min-height:49px!important;border-bottom:1px solid rgba(225,212,239,.19)!important}
.board-table-row:hover{background:rgba(220,190,247,.13)!important}
.board-search{flex:1}.board-search input{background:rgba(255,255,255,.94)!important}
.board-actions{gap:9px}.board-user-actions{margin-left:auto}
.board-subtitle{font-size:13px!important;color:#6f5887!important;margin:0 0 7px!important}
.board-simple-header h1{margin-bottom:0}
.board-table-head{background:rgba(9,9,24,.47)!important}
/* Hall of fame, contribution list and podium */
.ps-rank-page{background:transparent!important;padding:36px 0 75px}
.ps-rank-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:12px;background:rgba(252,247,255,.74);border:1px solid #ffffffb0;border-radius:15px;backdrop-filter:blur(18px);margin:0 0 28px}
.ps-rank-tabs a{border-radius:11px;padding:11px 18px;font-size:13px;font-weight:850;color:#775e96}
.ps-rank-tabs a.current{background:linear-gradient(90deg,#f2b8d7,#cfbdf7);color:#49346a}
.ps-glass-rank-panel{margin:18px 0;border-radius:18px;padding:18px;color:#fff}
.ps-rank-header,.ps-rank-row{display:grid;grid-template-columns:85px minmax(0,1fr);gap:16px;align-items:center;padding:14px 16px;border-bottom:1px solid #ffffff25}
.ps-rank-header{font-size:12px;color:#c5b5d8;background:rgba(255,255,255,.07);border-radius:9px 9px 0 0}
.ps-rank-row strong{font-size:15px;color:#fff;overflow-wrap:anywhere}
.ps-rank-pos{font-weight:900;font-size:15px;color:#f1cce8}
.ps-rank-row.rank-1{border-left:4px solid #ffc966}.ps-rank-row.rank-2{border-left:4px solid #c2c9e5}.ps-rank-row.rank-3{border-left:4px solid #e4a77e}
.ps-rank-row:last-child{border-bottom:none}
.ps-admin-amount{display:flex;gap:15px;align-items:center;justify-content:flex-end;text-align:right;flex-wrap:wrap;font-size:11px}
.ps-admin-amount span,.ps-admin-amount small{color:#c8baf1}.ps-admin-amount b{font-size:17px;color:#fff}
.ps-rank-page:has(.ps-admin-amount) .ps-rank-header,.ps-rank-page:has(.ps-admin-amount) .ps-rank-row{grid-template-columns:85px minmax(0,1fr) minmax(200px,.9fr)}
.ps-private-label{font-size:11px;color:#5d477c}
.ps-no-rank{padding:45px 15px;text-align:center;color:#d3c5e5;font-size:13px}
.ps-contrib-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:24px}
.ps-contrib-filters a{padding:9px 12px;background:rgba(28,25,48,.85);border:1px solid rgba(244,218,255,.45);border-radius:100px;font-size:11px;font-weight:700;color:#f1e7f8}
.ps-contrib-filters a.selected{background:#f4c4e6;color:#433158;border-color:#fff}
.ps-top-three h2{font-size:18px;text-align:center;margin:8px 0 17px}
.ps-podium{display:flex;align-items:end;justify-content:center;gap:45px;min-height:180px;padding:20px 10px}
.ps-podium-person{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;color:#f7eaff}
.ps-podium-person:nth-child(2){transform:translateY(-13px)}
.ps-podium-avatar{width:85px;height:85px;display:grid;place-items:center;background:linear-gradient(135deg,#b6bdf0,#f5bad7);border:3px solid #f3dbb9;border-radius:50%;font-size:32px}
.ps-podium-person strong{font-size:17px}.ps-podium-person small{font-size:12px;color:#ffdabf}
.ps-contrib-details h2{font-size:17px;margin:4px 0 20px}
.ps-admin-donor-list{max-height:520px;overflow:auto;border:1px solid #e3d3ed;border-radius:12px;background:#fff}
.ps-admin-donor-row{display:grid;grid-template-columns:1fr 1.3fr auto;gap:9px;align-items:center;padding:10px 15px;border-bottom:1px solid #eee4f2;font-size:12px;color:#5b4678}
.ps-admin-donor-row span{color:#8169a7}.ps-admin-donor-row b{font-size:14px}
/* Centered frosted authentication on the same site-wide cloud background */
.ps-glass-auth .login-card,.board-compose .board-form{background:rgba(255,250,255,.83)!important;backdrop-filter:blur(24px);border:1px solid #fff;box-shadow:0 22px 45px #6d5a8d37}
.ps-glass-auth .login-card label{color:#554765}
.ps-simple-header h1{color:#372c53}
.ps-simple-header p{color:#685785}
@media(max-width:1150px){.ps-signature-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}.ps-cast-student-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){body{background-attachment:scroll;background-position:50% 35%}.ps-cast-student-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ps-signature-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ps-broadcast-hero{min-height:255px}.ps-live-hero-content{padding:24px}.ps-admin-donor-row{grid-template-columns:1fr auto}.ps-admin-donor-row span{grid-column:1/-1;grid-row:2}}
@media(max-width:580px){.ps-cast-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.ps-cast-avatar-wrap{width:88px;height:88px}.ps-teacher-card .ps-cast-avatar-wrap{width:118px;height:118px}.ps-glass-cast-card{min-height:270px;padding:19px 9px 11px}.ps-glass-cast-card h3{font-size:17px}.ps-glass-cast-card p{font-size:11px;min-height:35px}.ps-card-actions{gap:3px}.ps-card-actions button{font-size:10px;padding:8px 2px}.ps-cast-heading{padding:16px}.ps-signature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}.ps-signature-details{padding:8px}.ps-rank-header,.ps-rank-row{padding:13px 8px;gap:5px;grid-template-columns:48px minmax(0,1fr)}.ps-rank-page:has(.ps-admin-amount) .ps-rank-header,.ps-rank-page:has(.ps-admin-amount) .ps-rank-row{grid-template-columns:42px minmax(0,1fr)}.ps-admin-amount{grid-column:2;justify-content:start;text-align:left}.ps-rank-header span:nth-child(3){display:none}.ps-podium{gap:9px;padding:10px 0}.ps-podium-avatar{width:65px;height:65px}.ps-podium-person strong{font-size:13px}.ps-broadcast-hero{min-height:235px}.ps-broadcast-hero h1{font-size:24px}.ps-live-hero-content{padding:18px}.ps-broadcast-status{padding:12px}.ps-broadcast-status a{margin-left:0}.ps-glass-rank-panel{padding:12px}}
@media(prefers-reduced-motion:reduce){.ps-glass-cast-card{transition:none}.ps-glass-cast-card:hover{transform:none}}
