/* PATHWAY SCHOLARS ACADEMY // KID WORLD V7
   Fix the theme-variable cascade, kill microscopic type, show live family presence,
   and give Sound Lab a little extra voice-first energy. */

/* THEME: V5 put defaults on body.role-student, so :root changes were shadowed.
   V7 applies and consumes the live variables directly on the student body. */
body.role-student{color:var(--kid-font)!important}
body.role-student .app-shell{border-color:var(--kid-accent)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--kid-accent) 20%,transparent),0 0 42px color-mix(in srgb,var(--kid-accent) 12%,transparent)!important}
body.role-student .sidebar,
body.role-student .topbar,
body.role-student .panel,
body.role-student .kid-class-tile,
body.role-student .mission-line,
body.role-student .trophy-card,
body.role-student .kid-chat-dock,
body.role-student .kid-space-grid>article,
body.role-student input,
body.role-student textarea,
body.role-student select{background-color:var(--kid-panel)!important}
body.role-student .panel,
body.role-student .kid-class-tile,
body.role-student .mission-line,
body.role-student .trophy-card,
body.role-student .kid-space-grid>article,
body.role-student input,
body.role-student textarea,
body.role-student select{border-color:var(--kid-accent)!important}
body.role-student,
body.role-student h1,body.role-student h2,body.role-student h3,body.role-student h4,
body.role-student p,body.role-student label,body.role-student small,
body.role-student .side-link,body.role-student .sidebar-quote,body.role-student .sidebar-foot,
body.role-student .top-identity,body.role-student .kid-topbar-mark,
body.role-student .kid-class-copy h3,body.role-student .kid-class-copy p,
body.role-student .kid-space-page,body.role-student .kid-space-page *{color:var(--kid-font)}
body.role-student .eyebrow,body.role-student .rebel-kicker,body.role-student .green-dot,
body.role-student .kid-auto-status,body.role-student .kid-class-copy>b,
body.role-student .kid-family-label,body.role-student .kid-open-hallway,
body.role-student .kid-chat-peer-head small{color:var(--kid-accent)!important}
body.role-student .side-link.active,body.role-student .side-link:hover{border-color:var(--kid-accent)!important;color:var(--kid-font)!important;background:color-mix(in srgb,var(--kid-accent) 12%,var(--kid-panel))!important}
body.role-student .side-link.active .nav-icon,body.role-student .mobile-nav a.selected{color:var(--kid-accent)!important}
body.role-student .btn.primary,body.role-student .rebel-primary,
body.role-student .kid-chat-form button{background:var(--kid-accent)!important;border-color:var(--kid-accent)!important;color:#fff!important}
body.role-student .bar i,body.role-student .mission-mini-bar u,body.role-student .vault-progress i,
body.role-student .kid-class-copy i u{background:var(--kid-accent)!important}
body.role-student .avatar-choice.selected,body.role-student .theme-presets button:hover,
body.role-student .kid-color-grid label:focus-within{border-color:var(--kid-accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--kid-accent) 24%,transparent)!important}
body.role-student .kid-space-avatar,body.role-student .kid-hero-avatar,
body.role-student .top-identity .kid-avatar{border-color:var(--kid-accent)!important;box-shadow:0 0 30px color-mix(in srgb,var(--kid-accent) 24%,transparent)!important}

/* FONT MONSTER EXTERMINATION: My Space should be readable from a tablet at arm's length. */
body.role-student .kid-space-page{font-size:16px;line-height:1.5}
body.role-student .kid-space-head .eyebrow{font-size:12px!important;letter-spacing:1.8px}
body.role-student .kid-space-head p{font-size:16px!important;line-height:1.6;max-width:820px}
body.role-student .kid-space-preview small{font-size:12px!important;letter-spacing:1.2px}
body.role-student .kid-space-preview h2{font-size:34px!important;line-height:1}
body.role-student .kid-space-preview p{font-size:15px!important;line-height:1.45}
body.role-student .kid-auto-status{font-size:12px!important;letter-spacing:.8px}
body.role-student .kid-space-grid .section-head .eyebrow{font-size:11px!important}
body.role-student .kid-space-grid .section-head h2{font-size:clamp(24px,3vw,32px)!important;line-height:1}
body.role-student .kid-space-grid .section-head small{font-size:11px!important;letter-spacing:.8px}
body.role-student .kid-space-grid p{font-size:15px!important;line-height:1.6}
body.role-student .avatar-choice span{font-size:12px!important;line-height:1.2;letter-spacing:.3px}
body.role-student .kid-upload-form label{font-size:12px!important;line-height:1.45;letter-spacing:.6px}
body.role-student .kid-upload-form input[type=file]{font-size:14px!important;line-height:1.4}
body.role-student .kid-color-grid label{font-size:12px!important;line-height:1.35;letter-spacing:.6px}
body.role-student .theme-presets button{font-size:12px!important;line-height:1.15;letter-spacing:.35px;padding:10px 13px}
body.role-student .kid-space-page .form-feedback,
body.role-student .kid-space-page .text-button{font-size:12px!important;line-height:1.4}
body.role-student .kid-space-avatar{width:126px!important;height:126px!important;border-radius:30px!important}
body.role-student .avatar-choice{padding:10px}

/* Family Hallway: readable labels + true live-school pulse. */
body.role-student .kid-family-rail{padding:15px 7px 13px}
body.role-student .kid-family-label{font-size:11px!important;line-height:1.3;letter-spacing:1.3px;margin-bottom:12px}
body.role-student .kid-family-empty{font-size:12px!important;line-height:1.55;letter-spacing:.6px;padding:10px 6px}
body.role-student .kid-peer-button{min-height:64px;gap:10px;padding:7px 6px 7px 5px}
body.role-student .kid-peer-avatar{width:52px!important;height:52px!important;border-radius:16px!important}
body.role-student .kid-peer-button>span{font-size:12px!important;line-height:1.2;letter-spacing:.2px;padding-right:6px}
.kid-live-label{display:none;margin-left:auto;margin-right:22px;color:#63f19a!important;font:1000 9px/1 var(--mono)!important;letter-spacing:1px;text-shadow:0 0 10px #52ef8e}
.kid-peer-button.is-active .kid-live-label{display:block}
.kid-peer-button.is-active .kid-peer-avatar,.kid-chat-contact.is-active .kid-chat-contact-avatar{border-color:#63f19a!important;animation:kidLiveAvatar 1.45s ease-in-out infinite}
.kid-peer-button.is-active:before,.kid-chat-contact.is-active:before{content:"";position:absolute;z-index:3;width:12px;height:12px;border-radius:50%;background:#63f19a;border:2px solid var(--kid-panel);box-shadow:0 0 0 0 rgba(99,241,154,.65);animation:kidLiveDot 1.35s ease-out infinite}
.kid-peer-button.is-active:before{left:43px;top:47px}.kid-chat-contact.is-active:before{left:31px;top:30px;width:10px;height:10px}
@keyframes kidLiveAvatar{0%,100%{box-shadow:0 0 0 0 rgba(99,241,154,.12),0 0 10px rgba(99,241,154,.2)}50%{box-shadow:0 0 0 4px rgba(99,241,154,.18),0 0 25px rgba(99,241,154,.75);transform:scale(1.04)}}
@keyframes kidLiveDot{0%{box-shadow:0 0 0 0 rgba(99,241,154,.7)}75%,100%{box-shadow:0 0 0 10px rgba(99,241,154,0)}}

/* Messenger type should not fall back into micro-font territory either. */
body.role-student .kid-chat-contact>span{font-size:11px!important}
body.role-student .kid-chat-peer-head small{font-size:10px!important}
body.role-student .kid-chat-peer-head b{font-size:17px!important}
body.role-student .kid-chat-empty{font-size:12px!important;line-height:1.5}
body.role-student .kid-chat-bubble p{font-size:14px!important;line-height:1.5}
body.role-student .kid-chat-bubble small{font-size:10px!important}
body.role-student .kid-chat-form textarea{font-size:15px!important;line-height:1.45}
body.role-student .kid-chat-form button{font-size:11px!important}

/* SOUND LAB: make the letter + example connection unmistakable. */
.phonics-page .drill-display{letter-spacing:.04em;text-shadow:0 0 35px color-mix(in srgb,var(--kid-accent,#e11d2e) 22%,transparent)}
.phonics-page .drill-display-sub{font-size:clamp(16px,2.6vw,25px)!important;letter-spacing:1.4px;color:var(--kid-accent,#e11d2e)!important}
.phonics-page .drill-teach{font-size:clamp(17px,2.2vw,23px)!important;line-height:1.6;max-width:900px}
.phonics-page .drill-say{font-size:11px!important;letter-spacing:1.25px}
.phonics-page .speak-btn{box-shadow:0 0 24px color-mix(in srgb,var(--kid-accent,#e11d2e) 15%,transparent)}

@media(max-width:900px){
 body.role-student .kid-space-head p{font-size:15px!important}
 body.role-student .kid-space-avatar{width:112px!important;height:112px!important}
}
@media(max-width:680px){
 body.role-student .kid-space-page{font-size:15px}
 body.role-student .kid-space-head .eyebrow{font-size:11px!important}
 body.role-student .kid-space-preview h2{font-size:29px!important}
 body.role-student .kid-space-grid .section-head small{font-size:10px!important}
 body.role-student .theme-presets button{font-size:11px!important}
 body.role-student .kid-space-avatar{width:108px!important;height:108px!important}
}
