:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#17243c;background:#f7f9fc}*{box-sizing:border-box}body{margin:0}body > header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1040px)/2));background:#fff;border-bottom:1px solid #e6ebf1;color:#718096;font-size:13px}.brand{font-weight:800;color:#2349c9;text-decoration:none;font-size:23px}main{max-width:880px;margin:65px auto;padding:0 24px;min-height:65vh}footer{text-align:center;color:#98a2b3;font-size:12px;padding:40px 20px}.hero{text-align:center;padding:80px 10px}.eyebrow{color:#4265d5;letter-spacing:2px;font-weight:800;font-size:12px}.hero h1{font-size:clamp(36px,6vw,58px);line-height:1.15;letter-spacing:-2px;margin:24px 0}.hero em{font-style:normal;color:#4566d6}.hero p,.results p{color:#6b778c;font-size:17px;line-height:1.7}.facts{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;color:#52627c;margin:34px 0}.primary,.secondary{border:0;border-radius:10px;padding:16px 25px;font-size:15px;font-weight:700;cursor:pointer}.primary{background:#3156d4;color:white}.primary:hover{background:#2447c2}.secondary{background:#eef2fa;color:#385072}.secondary:disabled{opacity:.4;cursor:not-allowed}.topline,.meta,.actions{display:flex;justify-content:space-between;align-items:center;gap:15px}.topline{font-size:14px;color:#69768a;margin-bottom:16px}.progress{height:8px;background:#e4e9f4;border-radius:10px;overflow:hidden;margin-bottom:28px}.progress div{height:100%;background:#4a69dd;border-radius:10px}.panel,.review{background:#fff;border:1px solid #e7ebf3;border-radius:16px;padding:38px;box-shadow:0 8px 28px #1e3a8a08}.meta{color:#718096;font-size:13px}.meta span:first-child{background:#eff3ff;color:#4262c4;padding:7px 12px;border-radius:20px}.panel h1{font-size:28px;line-height:1.4;margin:40px 0 28px}.choices{display:grid;gap:13px}.choice{display:flex;align-items:center;gap:18px;border:1.5px solid #e3e8f0;padding:17px;border-radius:10px;cursor:pointer;font-size:17px}.choice:has(input:checked){border-color:#4165d6;background:#f1f5ff}.choice input{accent-color:#3156d4}.letter{color:#4764a3;font-weight:700}.actions{margin-top:36px}.results{text-align:center;margin-bottom:52px}.results h1{font-size:40px}.score{display:flex;align-items:center;justify-content:center;gap:25px;margin:28px}.score strong{font-size:60px;color:#3156d4}.score span{color:#6b778c}.review{margin:16px 0;padding:25px}.review h3{font-size:18px}.review p{color:#52627c}.explain{background:#f3f6fb;padding:15px;border-radius:8px}.good{color:#13845b}.bad{color:#c34d4d}@media(max-width:600px){main{margin:32px auto}.hero{padding:35px 0}.panel{padding:22px}.panel h1{font-size:23px}.actions{gap:8px}.primary,.secondary{padding:13px 14px}.score{flex-direction:column;gap:0}}
/* Homepage */
.landing{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:48px;padding:32px 0 60px}
.landing-intro h1{font-size:clamp(38px,4.8vw,58px);letter-spacing:-2.4px;line-height:1.12;margin:20px 0 22px}
.landing-intro h1 em{font-style:normal;color:#4164d7}
.landing-intro>p{font-size:16px;line-height:1.75;color:#66758d;max-width:500px}
.landing-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin:28px 0 12px}
.landing-actions form,.landing-end form{margin:0}
.landing-link{color:#3156d4;font-weight:700;text-decoration:none}
.landing-link:hover{text-decoration:underline}
.landing-intro .landing-note{font-size:12px;color:#8490a3}
.landing-preview{background:white;border:1px solid #e2e8f4;border-radius:22px;padding:25px;box-shadow:0 24px 70px #213e8614;transform:rotate(1deg)}
.preview-head,.preview-foot{display:flex;justify-content:space-between;gap:10px;align-items:center}
.preview-tag{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#4265d5}
.preview-dots{color:#c8d2e7;font-size:9px;letter-spacing:4px}
.preview-standard{margin:28px 0 10px;color:#76839c;font-size:11px;font-weight:800;letter-spacing:1.2px}
.preview-standard span{padding:0 5px}
.landing-preview h2{font-size:20px;line-height:1.45;margin:0 0 18px;letter-spacing:-.4px}
.preview-graph svg{width:100%;display:block;border-radius:12px}
.preview-options{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px}
.preview-options span{padding:10px;text-align:center;border:1px solid #e5eaf3;border-radius:9px;font-weight:700;color:#63718b}
.preview-options .preview-selected{background:#eef3ff;border-color:#5373dd;color:#3156d4}
.preview-foot{border-top:1px solid #edf0f6;margin-top:22px;padding-top:15px;font-size:10px;color:#8490a3}
.landing-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:30px 20px;border:1px solid #e5eaf3;border-radius:18px;background:white}
.landing-stats div{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.landing-stats strong{font-size:31px;color:#2448bb;letter-spacing:-1px}
.landing-stats span{font-size:12px;color:#738198}
.landing-how{padding:95px 0 70px}
.landing-section-heading{text-align:center}
.landing-section-heading h2,.landing-end h2{font-size:34px;letter-spacing:-1px;margin:13px 0}
.landing-section-heading p,.landing-end p{color:#738198}
.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.landing-features article{background:white;border:1px solid #e6ebf3;border-radius:16px;padding:26px}
.feature-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;background:#edf2ff;color:#365bd4;font-size:24px}
.landing-features h3{font-size:17px;margin:22px 0 10px}
.landing-features p{font-size:13px;line-height:1.7;color:#748199}
.landing-end{text-align:center;background:#edf2ff;border-radius:22px;padding:42px 20px;margin-bottom:20px}
.landing-end form{margin-top:22px}
@media(max-width:760px){.landing{grid-template-columns:1fr;gap:28px;padding:15px 0 35px}.landing-preview{transform:none;max-width:480px;width:100%;margin:auto}.landing-how{padding:65px 0 40px}.landing-features{grid-template-columns:1fr}.landing-stats{gap:6px;padding:20px 8px}.landing-stats strong{font-size:25px}.landing-stats span{font-size:11px}.landing-intro h1{letter-spacing:-1.5px}}

/* Zumi's soft lilac world */
:root{background:#faf8ff;color:#2f2850}
body > header{background:#fffaff;border-bottom-color:#eee5fc}
.brand{color:#7650c8;font-weight:900;letter-spacing:-1px}
.primary{background:#7956cf;border-radius:14px}
.primary:hover{background:#6841be}
.eyebrow,.landing-intro h1 em,.landing-link{color:#7956cf}
.landing-stats strong{color:#7956cf}
.landing-end{background:#f1e9ff}
.panel,.landing-preview,.landing-stats,.landing-features article{border-color:#eee6fa}
.progress div{background:#a17ae7}
.choice:has(input:checked){background:#f6efff;border-color:#9772dc}
.choice input{accent-color:#7956cf}
.zumi-home-stage{position:relative;padding-top:125px}
.zumi-home-stage .landing-preview{transform:rotate(1deg)}
.zumi-companion{display:flex;align-items:center;gap:16px;justify-content:center}
.zumi-svg{width:155px;max-width:100%;height:auto;overflow:visible;flex-shrink:0}
.zumi-hero{position:absolute;z-index:2;top:-20px;left:0;right:0;flex-direction:column;gap:0}
.zumi-hero .zumi-svg{width:190px}
.zumi-speech{background:white;border:1px solid #e8dafb;border-radius:16px;padding:11px 16px;box-shadow:0 10px 25px #7956cf13;font-size:13px;font-weight:700;color:#6441a3;max-width:270px;text-align:center}
.zumi-question{justify-content:flex-start;margin-bottom:18px}
.zumi-question .zumi-svg{width:105px}
.zumi-character{transform-origin:120px 183px;animation:zumi-float 3.1s ease-in-out infinite}
.zumi-body{transform-origin:120px 170px;animation:zumi-squish 3.1s ease-in-out infinite}
.zumi-blink{opacity:0;animation:zumi-blink 6s infinite}
.zumi-eyes{animation:zumi-eyes 6s infinite}
.zumi-thinking-mouth{display:none}
.zumi-sparkles{opacity:.3;transform-origin:120px 110px}
[data-mood="thinking"] .zumi-character{animation:zumi-think 1.7s ease-in-out infinite}
[data-mood="thinking"] .zumi-thinking-mouth{display:block}
[data-mood="thinking"] .zumi-mouth{display:none}
[data-mood="excited"] .zumi-character,[data-mood="celebrate"] .zumi-character{animation:zumi-hop .7s ease-in-out infinite}
[data-mood="excited"] .zumi-sparkles,[data-mood="celebrate"] .zumi-sparkles{opacity:1;animation:zumi-sparkle 1s ease-in-out infinite}
@keyframes zumi-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes zumi-squish{0%,100%{transform:scale(1,1)}50%{transform:scale(1.035,.97)}}
@keyframes zumi-blink{0%,45%,49%,100%{opacity:0}46%,48%{opacity:1}}
@keyframes zumi-eyes{0%,45%,49%,100%{opacity:1}46%,48%{opacity:0}}
@keyframes zumi-think{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg) translateY(-3px)}}
@keyframes zumi-hop{0%,100%{transform:translateY(0) scale(1,1)}40%{transform:translateY(-22px) scale(.95,1.07)}70%{transform:translateY(0) scale(1.12,.9)}}
@keyframes zumi-sparkle{0%,100%{transform:scale(.9) rotate(-12deg)}50%{transform:scale(1.2) rotate(12deg)}}
@media(max-width:760px){.zumi-home-stage{padding-top:115px}.zumi-hero .zumi-svg{width:160px}.zumi-question .zumi-svg{width:90px}.zumi-speech{font-size:12px}}
@media(prefers-reduced-motion:reduce){.zumi-character,.zumi-body,.zumi-blink,.zumi-eyes,.zumi-sparkles{animation:none!important}.zumi-blink{opacity:0}.zumi-eyes{opacity:1}}

/* Illustrated Zumi expressions; SVG remains as a fallback until assets are installed. */
.zumi-photo{width:155px;height:135px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 8px 12px #8c70d51c);animation:zumi-float 3.1s ease-in-out infinite}
.zumi-photo[hidden],.zumi-svg[hidden]{display:none!important}
.zumi-hero .zumi-photo{width:190px;height:155px}
.zumi-question .zumi-photo{width:112px;height:100px}
[data-mood="thinking"] .zumi-photo{animation:zumi-think 1.7s ease-in-out infinite}
[data-mood="excited"] .zumi-photo,[data-mood="celebrate"] .zumi-photo{animation:zumi-hop .7s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.zumi-photo{animation:none!important}}

/* Zumi 10x7 atlas: one image, 70 indexed expressions. */
.zumi-atlas{display:block;width:155px;height:155px;flex:0 0 auto;background-image:url('/static/mascots/zumi_atlas_10x7.png');background-repeat:no-repeat;background-size:1000% 700%;background-position:0 0;animation:zumi-float 3.1s ease-in-out infinite}
.zumi-atlas[hidden]{display:none!important}
.zumi-hero .zumi-atlas{width:190px;height:190px}
.zumi-question .zumi-atlas{width:112px;height:112px}
[data-mood="thinking"] .zumi-atlas{animation:zumi-think 1.7s ease-in-out infinite}
[data-mood="excited"] .zumi-atlas,[data-mood="celebrate"] .zumi-atlas{animation:zumi-hop .7s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.zumi-atlas{animation:none!important}}

/* Individual Zumi PNGs: preserve full square artwork; no sprite clipping. */
.zumi-photo{object-fit:contain;object-position:center;max-width:100%;overflow:visible}
[data-mood="idle"] .zumi-photo{animation:zumi-float 3.1s ease-in-out infinite}
[data-mood="thinking"] .zumi-photo{animation:zumi-think 1.7s ease-in-out infinite}
[data-mood="excited"] .zumi-photo,[data-mood="celebrate"] .zumi-photo{animation:zumi-hop .7s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.zumi-photo{animation:none!important}}

/* Calm, focused homepage */
body:has(.home-simple){background:radial-gradient(ellipse at 76% 24%,#f0e7ff 0%,#faf8ff 43%,#fcfbff 80%)}
main:has(.home-simple){max-width:1080px;margin:0 auto;min-height:0;padding:0 32px}
.home-simple{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:570px;gap:32px;padding:68px 0 34px}
.home-copy{position:relative;z-index:2}
.home-kicker{display:inline-flex;align-items:center;gap:9px;color:#7956bf;font-size:11px;letter-spacing:2px;font-weight:800}
.home-kicker-dot{width:8px;height:8px;border-radius:50%;background:#bda1f0}
.home-copy h1{font-size:clamp(44px,5.4vw,70px);line-height:1.08;letter-spacing:-3.4px;color:#302446;margin:25px 0 21px;font-weight:850}
.home-copy h1 em{font-style:normal;color:#8961d8}
.home-subtitle{font-size:18px;line-height:1.7;color:#746a88;max-width:385px;margin:0 0 30px}
.home-cta{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.home-cta form{margin:0}
.home-start{min-height:58px;padding:16px 26px;border-radius:16px;box-shadow:0 10px 22px #7956cf28;display:inline-flex;gap:25px;align-items:center;justify-content:space-between}
.home-start:hover{transform:translateY(-2px)}
.home-start:focus-visible,.home-other:focus-visible{outline:3px solid #a68bfa;outline-offset:4px}
.home-smallprint{font-size:12px;color:#8d839b}
.home-other{display:inline-block;margin-top:28px;color:#7550ba;font-size:13px;font-weight:700;text-decoration:none}
.home-other:hover{text-decoration:underline}
.home-mascot{height:435px;position:relative;display:grid;place-items:center;isolation:isolate}
.home-mascot:before{content:"";position:absolute;width:min(95%,390px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#e8d9ff 0%,#f1e8ff 55%,#f7f2ff00 72%);z-index:-1;animation:zumi-home-breathe 5.6s ease-in-out infinite;transform-origin:center}
@keyframes zumi-home-breathe{0%,100%{transform:scale(1);opacity:.82}50%{transform:scale(1.055);opacity:1}}
@media(prefers-reduced-motion:reduce){.home-mascot:before{animation:none;transform:none;opacity:1}}
.home-mascot .zumi-hero{position:relative;inset:auto;display:flex;gap:8px}
.home-mascot .zumi-hero .zumi-photo{width:min(340px,100%);height:310px;max-width:none;filter:drop-shadow(0 18px 20px #7654b52b)}
.home-mascot .zumi-hero .zumi-svg{width:280px}
.home-mascot .zumi-speech{font-size:13px;border-radius:22px;padding:10px 19px;box-shadow:0 8px 26px #7654b514;white-space:nowrap}
.home-orbit{position:absolute;border:1px solid #e5d8f7;border-radius:50%;width:340px;height:340px;z-index:-1}
.home-orbit-two{width:420px;height:420px;border-style:dashed;opacity:.5}
.home-star{position:absolute;color:#b79ae8;font-size:28px}
.home-star-one{top:55px;right:48px}.home-star-two{bottom:67px;left:38px;font-size:19px}






@media(max-width:760px){
main:has(.home-simple){padding:0 24px}
.home-simple{grid-template-columns:1fr;gap:0;padding:52px 0 25px;min-height:0}
.home-copy{text-align:center}.home-copy h1{font-size:clamp(40px,9vw,56px);letter-spacing:-2px;margin:20px 0}
.home-subtitle{margin:0 auto 26px;font-size:16px}
.home-cta{align-items:center}.home-other{margin-top:20px}
.home-mascot{height:340px;margin-top:12px}
.home-mascot .zumi-hero .zumi-photo{height:245px;width:260px}
.home-mascot .zumi-hero .zumi-svg{width:215px}
.home-orbit{width:270px;height:270px}.home-orbit-two{width:320px;height:320px}

}
@media(prefers-reduced-motion:reduce){.home-start:hover{transform:none}}

/* Practice and results: calm layout, always-accessible learning buddy */
main:has(.practice-buddy){max-width:1050px;position:relative;padding-right:238px;margin-top:36px}
.practice-buddy{position:fixed;z-index:10;top:112px;left:calc(50% + 290px);width:200px;pointer-events:none}
.practice-buddy .zumi-companion{display:flex;flex-direction:column;gap:8px}
.practice-buddy .zumi-photo{width:150px;height:150px}
.practice-buddy .zumi-svg{width:145px}
.practice-buddy .zumi-speech{font-size:12px;line-height:1.45;max-width:190px;box-shadow:0 6px 18px #7654b511}
.practice-panel{border-radius:22px;padding:30px 34px;box-shadow:0 8px 35px #5941850b}
.practice-panel h1{margin:27px 0 26px;font-size:clamp(21px,2.5vw,29px);line-height:1.45;letter-spacing:-.4px}
.practice-panel .choice{border-radius:14px;min-height:56px;transition:border-color .15s,background .15s}
.practice-panel .choice:hover{border-color:#aa8de2;background:#fcfaff}
.practice-panel .choice:focus-within{outline:2px solid #9c78dd;outline-offset:2px}
.practice-panel .actions{gap:12px;flex-wrap:wrap}
.practice-panel .meta{flex-wrap:wrap;gap:10px}
.practice-panel [data-question-visual],.practice-panel #interactive-question{max-width:100%;overflow-x:auto}
.practice-panel svg,.practice-panel canvas{max-width:100%}
.results .zumi-companion{margin-bottom:22px}
.results .zumi-photo{width:155px;height:145px}
.review{border-radius:17px;box-shadow:none}
.review .meta{flex-wrap:wrap}
@media(max-width:1050px){
main:has(.practice-buddy){max-width:850px;padding-right:195px}
.practice-buddy{left:auto;right:18px;width:165px}
.practice-buddy .zumi-photo{width:135px;height:135px}
.practice-buddy .zumi-speech{max-width:155px}
}
@media(max-width:700px){
main:has(.practice-buddy){padding:0 17px;margin-top:20px}
.practice-buddy{position:sticky;top:8px;left:auto;right:auto;width:100%;margin:0 0 12px;pointer-events:none}
.practice-buddy .zumi-companion{flex-direction:row;justify-content:flex-start;gap:8px;width:max-content;max-width:100%;padding:4px 12px 4px 5px;background:#fffafef2;border:1px solid #eee5fa;border-radius:18px;box-shadow:0 6px 18px #49316d12;backdrop-filter:blur(10px)}
.practice-buddy .zumi-photo{width:57px;height:57px}
.practice-buddy .zumi-svg{width:57px}
.practice-buddy .zumi-speech{max-width:190px;box-shadow:none;border:0;background:transparent;text-align:left;padding:4px;font-size:11px}
.practice-panel{padding:22px 17px;border-radius:17px}
.practice-panel h1{margin:22px 0;font-size:22px}
.practice-panel .choice{padding:13px 12px;gap:12px;font-size:15px}
.practice-panel .actions .primary{margin-left:auto}
.topline{align-items:flex-start;gap:10px}
}
@media(max-width:400px){.practice-panel .actions{flex-direction:column-reverse;align-items:stretch}.practice-panel .actions button{width:100%;margin:0}}


.home-grade-form{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%;max-width:570px}
.home-grade-form label{font-size:14px;font-weight:750;color:#443757}
.home-grade-controls{display:flex;align-items:stretch;gap:12px;width:100%}
.home-grade-select-wrap{position:relative;flex:1 1 230px;min-width:0}
.home-grade-form select{appearance:none;-webkit-appearance:none;width:100%;height:58px;border:2px solid #cbb4ee;border-radius:16px;background:#fff;color:#382b52;padding:0 62px 0 18px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 5px 15px #7956cf10}
.home-grade-form select:hover{border-color:#9d78dc;background:#fcfaff}
.home-grade-chevron{pointer-events:none;position:absolute;right:9px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#efe7ff;color:#7956cf}
.home-grade-form select:focus-visible{outline:3px solid #a68bfa;outline-offset:3px}
.home-grade-controls .home-start{flex:0 0 auto;white-space:nowrap;min-height:58px}
@media(max-width:760px){.home-grade-form{margin:0 auto;text-align:left}.home-grade-controls{gap:10px}}
@media(max-width:440px){.home-grade-controls{flex-direction:column}.home-grade-controls .home-start{width:100%;justify-content:center}}

/* Mobile homepage: Zumi first, followed by the buddy headline and grade picker. */
@media (max-width:760px){
  .home-simple{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:18px 0 32px}
  .home-mascot{order:0;height:auto;min-height:240px;margin:0 auto 8px;width:100%;max-width:380px}
  .home-mascot .zumi-hero{gap:4px}
  .home-mascot .zumi-hero .zumi-photo{width:220px;height:205px;object-fit:contain}
  .home-mascot .zumi-hero .zumi-svg{width:205px}
  .home-copy{order:1;text-align:center}
  .home-copy h1{margin:14px 0 16px}
  .home-cta{align-items:stretch}
  .home-grade-form{max-width:520px}
}
@media (max-width:440px){
  .home-mascot{min-height:220px}
  .home-mascot .zumi-hero .zumi-photo{width:195px;height:180px}
  .home-mascot .zumi-speech{max-width:290px}
}

/* Mobile only: headline, Zumi, description, then grade picker. */
@media(max-width:760px){
  .home-simple{display:grid;grid-template-columns:1fr;grid-template-rows:auto;position:relative;gap:0;padding:28px 0 32px}
  .home-copy{display:contents}
  .home-kicker{grid-row:1;justify-self:center}
  .home-copy h1{grid-row:2;text-align:center;margin:18px 0 6px}
  .home-mascot{grid-row:3;order:initial;min-height:0;height:auto;width:100%;max-width:330px;margin:0 auto 10px}
  .home-mascot .zumi-hero{gap:2px}
  .home-mascot .zumi-hero .zumi-photo{width:165px;height:154px;object-fit:contain}
  .home-mascot .zumi-hero .zumi-svg{width:154px}
  .home-mascot .zumi-speech{font-size:12px;padding:7px 13px}
  .home-subtitle{grid-row:4;text-align:center;margin:8px auto 22px;max-width:340px}
  .home-cta{grid-row:5;display:flex;justify-content:center;align-items:stretch;width:100%}
  .home-grade-form{width:100%;max-width:520px;margin:0 auto}
  .home-grade-controls{display:flex;flex-direction:row;align-items:stretch;gap:9px}
  .home-grade-select-wrap{min-width:0;flex:1 1 auto}
  .home-grade-form select{display:block;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none;width:100%;height:54px;padding:0 48px 0 13px;font-size:15px;border-radius:13px}
  .home-grade-chevron{right:7px;width:36px;height:36px;border-radius:10px}
  .home-grade-chevron svg{width:21px;height:21px}
  .home-grade-controls .home-start{flex:0 0 auto;width:auto;min-height:54px;padding:0 14px;font-size:14px}
}
@media(max-width:440px){
  .home-mascot{min-height:0}
  .home-mascot .zumi-hero .zumi-photo{width:146px;height:135px}
  .home-mascot .zumi-hero .zumi-svg{width:135px}
  .home-grade-controls{flex-direction:row}
  .home-grade-controls .home-start{width:auto;white-space:nowrap;padding:0 10px;font-size:13px}
  .home-grade-form select{font-size:14px;padding-left:11px;padding-right:42px}
  .home-grade-chevron{right:5px;width:32px;height:34px}
}

/* Hide the decorative Zumi circles only on mobile. */
@media(max-width:760px){
  .home-mascot::before,
  .home-mascot .home-orbit,
  .home-mascot .home-orbit-one,
  .home-mascot .home-orbit-two{display:none!important}
}


/* Assessment results: student encouragement, parent analytics, and answer review. */
body:has(.report-page){background:linear-gradient(180deg,#faf7ff 0,#fbfaff 360px,#f8f9fd 850px)}
main:has(.report-page){max-width:1110px;min-height:0;margin:32px auto 86px;padding:0 28px}
.report-page{--report-purple:#7652c9;--report-ink:#35294d;--report-muted:#756d86;color:var(--report-ink)}
.report-page *{box-sizing:border-box}
.report-page h1,.report-page h2,.report-page h3,.report-page p{margin-top:0}
.report-page p{line-height:1.55}
.report-page button,.report-page select{font:inherit}
.report-page button:focus-visible,.report-page a:focus-visible,.report-page select:focus-visible,.report-page summary:focus-visible{outline:3px solid #a58aef;outline-offset:3px}
.report-page [hidden]{display:none!important}
.report-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(185px,.65fr);gap:22px;align-items:center;min-height:292px;border:1px solid #e9defb;border-radius:28px;padding:30px 38px;background:radial-gradient(circle at 87% 25%,#e8d7ff 0,transparent 38%),linear-gradient(120deg,#fff 4%,#f7edff 100%);box-shadow:0 16px 45px #6644a00c}
.report-eyebrow,.report-section-kicker{display:inline-block;color:#7c58bd;font-size:11px;font-weight:850;letter-spacing:1.8px}
.report-hero h1{font-size:clamp(29px,3.8vw,44px);letter-spacing:-1.5px;line-height:1.12;margin:13px 0 11px}
.report-hero-copy>p{font-size:15px;max-width:530px;color:#716782;margin-bottom:18px}
.report-score-summary{display:flex;align-items:center;gap:20px}
.report-score-ring{width:116px;height:116px;padding:10px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#8a5fe0 var(--score-percent),#e8ddf4 0);flex-shrink:0}
.report-score-ring-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:white}
.report-score-ring-inner strong{font-size:30px;letter-spacing:-1px;line-height:1}
.report-score-ring-inner span{font-size:11px;color:#80738c;margin-top:6px}
.report-score-copy{display:flex;flex-direction:column;gap:5px}
.report-score-copy strong{font-size:24px;letter-spacing:-.5px}
.report-score-copy span{color:#615675;font-weight:650;font-size:14px}
.report-score-copy small{color:#897e94;font-size:12px}
.report-hero-zumi{display:flex;justify-content:center;align-items:center}
.report-hero-zumi .zumi-companion{flex-direction:column;gap:0}
.report-hero-zumi .zumi-photo{width:157px;height:148px;object-fit:contain}
.report-hero-zumi .zumi-svg{width:152px}
.report-hero-zumi .zumi-speech{font-size:12px;line-height:1.35;max-width:218px;margin-top:6px}
.report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:19px 0 32px}
.report-metric{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:19px 20px;background:white;border:1px solid #ece8f3;border-radius:18px}
.report-metric>span{font-size:12px;color:#7d7289;font-weight:650}
.report-metric>strong{font-size:30px;line-height:1.25;color:#382b54;font-variant-numeric:tabular-nums;letter-spacing:-.8px}
.report-metric>strong.report-metric-time{font-size:18px;letter-spacing:-.3px}
.report-metric>small{font-size:11px;color:#968ba2;line-height:1.4}
.report-tab-list{display:inline-flex;gap:5px;border:1px solid #eae1f7;background:#f0ecf7;border-radius:16px;padding:5px;margin-bottom:29px}
.report-tab-list button{min-width:175px;border:0;border-radius:11px;background:transparent;color:#6d5e7f;padding:12px 17px;font-size:14px;font-weight:800;cursor:pointer}
.report-tab-list button[aria-selected=true]{background:white;color:#5637a0;box-shadow:0 4px 13px #5e449917}
.report-panel[hidden]{display:none!important}
.report-intro{margin:0 0 23px}
.report-intro h2{font-size:clamp(24px,3vw,32px);letter-spacing:-1px;margin:8px 0}
.report-intro>p{max-width:700px;font-size:14px;color:var(--report-muted);margin-bottom:0}
.report-intro-compact{margin-bottom:18px}
.report-intro-compact h2{font-size:26px}
.report-student-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.report-feature-card{border:1px solid #e8e4ed;background:white;border-radius:22px;padding:24px;min-height:208px;box-shadow:0 9px 26px #35255a08}
.report-feature-strength{background:linear-gradient(150deg,#f2fff9,#fff 56%);border-color:#d9eee4}
.report-feature-focus{background:linear-gradient(150deg,#fff8ef,#fff 56%);border-color:#f1e3d6}
.report-feature-title{display:flex;gap:13px;align-items:center;margin-bottom:23px}
.report-feature-icon{flex-shrink:0;display:grid;place-items:center;height:44px;width:44px;border-radius:14px;background:#e1f7e9;color:#248453;font-size:25px;font-weight:850}
.report-feature-focus .report-feature-icon{background:#ffedd5;color:#a76c1e}
.report-feature-title h3{font-size:19px;margin:0 0 4px}
.report-feature-title p{font-size:12px;color:#84788d;margin:0}
.report-highlight-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e9e5e9;padding:13px 0 2px}
.report-highlight-item+ .report-highlight-item{margin-top:10px}
.report-highlight-item>div{display:flex;flex-direction:column;gap:4px}
.report-highlight-item strong{font-size:14px;line-height:1.4}
.report-highlight-item span{font-size:12px;color:#7e7588}
.report-highlight-item .report-highlight-percent{font-size:21px;font-weight:850;color:#397c5b;white-space:nowrap}
.report-feature-focus .report-highlight-percent{color:#b77b32}
.report-feature-card>p{font-size:14px;color:#716984}
.report-next-steps{margin-top:39px}
.report-priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.report-priority-card{position:relative;display:flex;flex-direction:column;gap:9px;padding:22px;background:#fff;border:1px solid #e9e3f1;border-radius:19px;min-height:200px}
.report-priority-number{font-size:25px;color:#b39dde;font-weight:850;line-height:1}
.report-priority-code{color:#8a6bb8;font-size:11px;font-weight:750}
.report-priority-card h3{font-size:17px;line-height:1.3;margin:0}
.report-priority-card p{font-size:13px;color:#665d75;margin:0}
.report-priority-card small{margin-top:auto;color:#9a879f;line-height:1.45}
.report-empty-positive{padding:21px;background:#f0fff7;border:1px solid #ccebd7;border-radius:18px;color:#436452}
.report-text-link{display:inline-block;color:#7953c3;font-size:14px;font-weight:800;text-decoration:none;margin-top:19px}
.report-text-link:hover{text-decoration:underline}
.report-parent-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:19px}
.report-parent-summary>div{display:flex;flex-direction:column;gap:5px;background:white;border:1px solid #eae5f0;border-radius:14px;padding:14px 17px;min-width:0}
.report-parent-summary span{font-size:12px;color:#80748d;font-weight:650}
.report-parent-summary strong{font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.report-card{border:1px solid #eae4f3;background:white;border-radius:21px;padding:24px;margin-bottom:17px;box-shadow:0 9px 24px #35255a06}
.report-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}
.report-card h3{font-size:20px;letter-spacing:-.4px;margin:0 0 5px}
.report-card-header p{color:#80748c;font-size:13px;margin:0}
.report-domain-bars{display:flex;flex-direction:column;gap:19px}
.report-domain-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}
.report-domain-heading strong{font-size:14px}
.report-domain-heading span{font-size:12px;color:#716783;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}
.report-bar-track{height:11px;width:100%;border-radius:99px;background:#f0ebf7;overflow:hidden}
.report-bar-fill{height:100%;border-radius:99px;background:#a688e0}
.report-bar-strong{background:#52b68c}
.report-bar-developing{background:#e2b25b}
.report-bar-focus{background:#df7e85}
.report-bar-limited{background:#aa95d7}
.report-domain-status{display:inline-block;margin-top:7px;font-size:11px;color:#776c83}
.report-status-strong{color:#2a8459}
.report-status-developing{color:#a57120}
.report-status-focus{color:#b4515c}
.report-method-note{font-size:12px;color:#8d8399;line-height:1.6;margin:22px 0 0}
.report-difficulty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.report-difficulty-item{border:1px solid #f0eaf5;border-radius:14px;padding:17px;background:#fdfcff;display:flex;flex-direction:column;gap:9px}
.report-difficulty-item>strong{font-size:14px}
.report-difficulty-item>span{font-size:24px;font-weight:850}
.report-difficulty-item>small{color:#81778e;font-size:11px}
.report-mini-bar{width:100%;height:8px;border-radius:8px;background:#eae4f3;overflow:hidden}
.report-mini-bar>div{height:100%;border-radius:8px;background:#9972d8}
.report-parent-priorities{padding:0 0 0 21px;margin:0}
.report-parent-priorities li{padding:0 0 15px 7px}
.report-parent-priorities li+li{border-top:1px solid #efebf3;padding-top:15px}
.report-parent-priorities li:last-child{padding-bottom:0}
.report-parent-priorities strong{display:block;font-size:15px}
.report-parent-priorities span{display:block;color:#7f7190;font-size:12px;margin-top:4px}
.report-parent-priorities p{color:#776d83;font-size:13px;margin:8px 0 0}
.report-standard-details{padding:0;overflow:hidden}
.report-standard-details>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:21px 24px}
.report-standard-details>summary::-webkit-details-marker{display:none}
.report-standard-details>summary>span:first-child{display:flex;flex-direction:column;gap:5px}
.report-standard-details>summary strong{font-size:17px}
.report-standard-details>summary small{font-size:12px;color:#82768e}
.report-expand-arrow{font-size:25px;color:#856bb7}
.report-standard-details[open] .report-expand-arrow{transform:rotate(180deg)}
.report-table-scroll{width:100%;overflow:auto;padding:0 23px 23px}
.report-standard-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}
.report-standard-table th{font-size:11px;color:#81758b;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}
.report-standard-table th,.report-standard-table td{padding:12px 10px;border-bottom:1px solid #eee9f4;vertical-align:top}
.report-standard-table tbody tr:nth-child(even){background:#fdfbff}
.report-standard-table td:first-child{min-width:205px}
.report-standard-table td strong{display:block;font-size:13px}
.report-standard-table td small{display:block;color:#8f829e;font-size:11px;margin-top:4px}
.report-parent-note{border-radius:15px;background:#f2eefb;border:1px solid #e6ddf7;padding:18px 20px;color:#62547a;margin:16px 0}
.report-parent-note strong{font-size:14px}
.report-parent-note p{font-size:12px;margin:7px 0 0}
.report-print{background:#eee5fb!important;color:#6946a8!important;border-radius:12px!important;margin-bottom:15px}
.report-answer-section{padding-top:43px;margin-top:44px;border-top:1px solid #e7dff1;scroll-margin-top:20px}
.report-review-controls{display:flex;align-items:flex-end;gap:11px;flex-wrap:wrap;margin-bottom:18px}
.report-review-controls label{display:flex;flex-direction:column;gap:7px;color:#655b75;font-size:12px;font-weight:750}
.report-review-controls select{appearance:auto;border:1px solid #ded4ec;border-radius:11px;background:white;min-width:190px;max-width:100%;height:43px;padding:0 12px;color:#4d4062;font-weight:600;font-size:13px}
.report-review-count{margin:0 0 11px auto;font-size:12px;color:#897d94;font-weight:750}
.report-answer-list{display:flex;flex-direction:column;gap:10px}
.report-answer{background:#fff;border:1px solid #eae5f1;border-radius:15px;overflow:hidden}
.report-answer[hidden]{display:none!important}
.report-answer summary{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:12px;align-items:center;cursor:pointer;padding:17px 19px;list-style:none}
.report-answer summary::-webkit-details-marker{display:none}
.report-answer-index{border-radius:10px;display:grid;place-items:center;width:40px;height:40px;background:#f1ebfc;color:#7c5baf;font-size:12px;font-weight:850}
.report-answer-label{display:flex;flex-direction:column;min-width:0;gap:5px}
.report-answer-label strong{font-size:14px;line-height:1.45;font-weight:700}
.report-answer-label small{font-size:11px;color:#897f91}
.report-answer-mark{font-size:12px;font-weight:850;white-space:nowrap;padding:7px 9px;border-radius:8px}
.report-answer-correct{color:#248451;background:#e9f9ef}
.report-answer-incorrect{color:#ad6840;background:#fff2e5}
.report-answer-body{padding:0 24px 22px 76px;border-top:1px solid #f1ecf6}
.report-answer-body>p{font-size:13px;margin:15px 0 8px}
.report-answer-explain{background:#f5f1fc;border-radius:12px;margin:17px 0;padding:15px}
.report-answer-explain strong{font-size:13px}
.report-answer-explain p{font-size:13px;color:#6b5e80;margin:6px 0 0}
.report-answer-body>a{font-size:12px;color:#7753bd;font-weight:750;text-decoration:none}
.report-review-empty{padding:20px;background:white;border:1px solid #e9e4f0;border-radius:15px;color:#766b85}
.report-finish-actions{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(110deg,#ede3fe,#f9f4ff);border:1px solid #e4d6f7;padding:25px 29px;border-radius:22px;margin:34px 0}
.report-finish-actions h2{font-size:21px;margin:0 0 6px}
.report-finish-actions p{color:#7a6e86;font-size:13px;margin:0}
.report-finish-actions form{flex-shrink:0}
.report-finish-actions .primary{background:#8056cd;border-radius:12px}
@media(max-width:800px){
  main:has(.report-page){padding:0 18px;margin-top:21px}
  .report-hero{grid-template-columns:minmax(0,1fr) 165px;padding:24px}
  .report-hero-zumi .zumi-photo{width:135px;height:122px}
  .report-hero-zumi .zumi-speech{font-size:11px;max-width:160px}
  .report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-student-columns{grid-template-columns:1fr}
  .report-priority-grid{grid-template-columns:1fr}
  .report-priority-card{min-height:unset}
}
@media(max-width:560px){
  .report-hero{grid-template-columns:1fr;padding:24px 19px;gap:0;border-radius:21px}
  .report-hero-copy{text-align:center}
  .report-hero h1{font-size:32px}
  .report-hero-copy>p{margin:0 auto 13px;font-size:13px}
  .report-score-summary{justify-content:center;gap:16px}
  .report-score-ring{width:98px;height:98px;padding:8px}
  .report-score-ring-inner strong{font-size:26px}
  .report-score-copy{text-align:left}
  .report-score-copy strong{font-size:20px}
  .report-score-copy span{font-size:12px}
  .report-hero-zumi{margin-top:13px}
  .report-hero-zumi .zumi-companion{flex-direction:row;gap:7px}
  .report-hero-zumi .zumi-photo{width:83px;height:76px}
  .report-hero-zumi .zumi-svg{width:83px}
  .report-hero-zumi .zumi-speech{max-width:180px;padding:9px;font-size:11px}
  .report-metrics{gap:9px;margin:11px 0 24px}
  .report-metric{padding:14px 13px;border-radius:14px}
  .report-metric>strong{font-size:25px}
  .report-metric>strong.report-metric-time{font-size:14px}
  .report-tab-list{display:flex;width:100%}
  .report-tab-list button{min-width:0;flex:1;padding:12px 7px;font-size:13px}
  .report-intro h2{font-size:25px}
  .report-feature-card{padding:18px}
  .report-parent-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-card{padding:18px}
  .report-difficulty-grid{gap:6px}
  .report-difficulty-item{padding:11px 9px}
  .report-difficulty-item>span{font-size:20px}
  .report-domain-heading{align-items:flex-start;gap:8px}
  .report-domain-heading strong{font-size:12px}
  .report-domain-heading span{font-size:11px}
  .report-standard-details{padding:0}
  .report-standard-details>summary{padding:18px}
  .report-table-scroll{padding:0 10px 16px}
  .report-review-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .report-review-controls label{min-width:0}
  .report-review-controls select{min-width:0;width:100%;font-size:12px}
  .report-review-count{grid-column:1 / -1;margin:5px 0 0}
  .report-answer summary{grid-template-columns:34px minmax(0,1fr);padding:13px;gap:9px}
  .report-answer-index{width:32px;height:32px;font-size:11px}
  .report-answer-label strong{font-size:13px}
  .report-answer-mark{grid-column:2;justify-self:start;padding:4px 8px;font-size:11px}
  .report-answer-body{padding:0 14px 16px}
  .report-finish-actions{align-items:stretch;flex-direction:column;padding:22px 19px}
  .report-finish-actions .primary{width:100%}
}
@media print{
  body:has(.report-page){background:white!important;color:#222}
  main:has(.report-page){max-width:none;margin:0;padding:0}
  header,footer,.report-hero-zumi,.report-tab-list,.report-answer-section,.report-finish-actions,.report-print,.report-next-steps{display:none!important}
  .report-hero{box-shadow:none;border:0;border-radius:0;padding:0 0 12px;min-height:unset;display:block;background:white}
  .report-hero h1{font-size:23px}
  .report-score-summary{display:none}
  .report-metrics{grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0 16px}
  .report-metric{padding:8px;border-radius:5px}
  .report-metric>strong{font-size:18px}
  .report-panel[data-report-panel=student]{display:none!important}
  .report-panel[data-report-panel=parent]{display:block!important}
  .report-intro{margin-bottom:12px}
  .report-intro h2{font-size:20px}
  .report-parent-summary{grid-template-columns:repeat(3,1fr)}
  .report-card{page-break-inside:avoid;box-shadow:none;border-radius:7px;margin-bottom:9px;padding:12px}
  .report-domain-bars{gap:10px}
  .report-domain-heading{margin-bottom:3px}
  .report-difficulty-item{padding:9px}
  .report-parent-note{page-break-inside:avoid;padding:10px}
  .report-standard-details{break-inside:auto}
  .report-standard-details>summary{padding:12px}
  .report-standard-table tr{break-inside:avoid}
  .report-page{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}


/* Dynamic home titles must stay exactly two lines at every supported viewport.
   The two headline segments are intentionally short and never wrap internally. */
.home-copy h1{
  font-size:clamp(32px,4.3vw,55px);
  letter-spacing:-.045em;
}
.home-copy h1 .home-headline-line{
  display:inline-block;
  white-space:nowrap;
}
@media(max-width:760px){
  .home-copy h1{
    font-size:clamp(23px,7.2vw,50px);
    letter-spacing:-.045em;
  }
}


/* Google OpenID Connect: replace the header tagline with a quiet sign-in slot. */
.header-account{display:flex;align-items:center;justify-content:flex-end;gap:11px;min-width:0}
.header-account a,.header-account button{font-family:inherit}
.google-login{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border:1px solid #dadce0;border-radius:11px;background:white;color:#3c4043;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap;min-height:40px;box-shadow:0 1px 3px #1e24440b;transition:border-color .15s,box-shadow .15s}
.google-login:hover{border-color:#a9a2b8;box-shadow:0 3px 10px #1e24441c}
.google-login:focus-visible,.auth-sign-out:focus-visible,.auth-return-home:focus-visible{outline:3px solid #9e80e4;outline-offset:3px}
.google-mark{display:block;flex:none}
.auth-user-name{font-size:13px;font-weight:700;color:#433259;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(40vw,255px)}
.auth-logout-form{margin:0;flex-shrink:0}
.auth-sign-out{background:#f4effb;border:1px solid #e4d6f4;color:#7047aa;font-weight:750;font-size:12px;border-radius:9px;padding:9px 12px;cursor:pointer;white-space:nowrap}
.auth-sign-out:hover{background:#ede2fb}
.auth-setup-pending{font-size:12px;color:#978b9f;text-align:right}
.auth-error-card{max-width:540px;margin:65px auto;padding:32px 35px;border:1px solid #e8ddf3;border-radius:22px;background:white;box-shadow:0 12px 35px #42325b0c}
.auth-error-eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:800;color:#865dc4}
.auth-error-card h1{font-size:29px;letter-spacing:-.5px;margin:12px 0;color:#38294e}
.auth-error-card p{line-height:1.65;font-size:15px;color:#6e647b;margin:0 0 24px}
.auth-return-home{display:inline-block;text-decoration:none;background:#8056cd}
@media(max-width:520px){
 body > header{padding:0 14px}
 header .brand{font-size:21px;white-space:nowrap}
 .header-account{gap:6px}
 .google-login{font-size:12px;padding:9px 10px;gap:6px;min-height:38px}
 .google-login .google-mark{width:16px;height:16px}
 .auth-user-name{max-width:38vw;font-size:12px}
 .auth-sign-out{padding:8px 9px;font-size:11px}
 .auth-setup-pending{font-size:11px;max-width:158px}
 .auth-error-card{margin:18px auto;padding:24px 21px}
}


/* Student-advisor credits: first names and existing Zumi illustrations only. */
footer.site-footer{
  margin-top:18px;
  padding:18px 16px 15px;
  border-top:1px solid #ebe4f4;
  background:linear-gradient(180deg,#fdfbff,#f9f5ff);
  text-align:center;
  color:#766b85;
}
.site-footer-brand{
  color:#46345e;
  font-size:13px;
  font-weight:800;
  letter-spacing:-.1px;
  margin-top:10px;
  padding-top:0;
}
.footer-advisors{
  max-width:440px;
  margin:0 auto;
  padding:5px 10px 0;
}
.footer-advisors h2{
  margin:0 0 9px;
  color:#574274;
  font-size:13px;
  font-weight:800;
  letter-spacing:.25px;
}
.footer-advisor-list{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:clamp(22px,5vw,46px);
  list-style:none;
  padding:0;
  margin:0;
}
.footer-advisor{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  min-width:78px;
}
.footer-avatar{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eee6fb;
  border:1px solid #e0d2f7;
  box-shadow:0 7px 20px #6e53a015;
  overflow:hidden;
}
.footer-avatar img{
  display:block;
  width:60px;
  height:60px;
  object-fit:contain;
}
.footer-advisor-name{
  color:#4e3a69;
  font-size:13px;
  font-weight:800;
}
.footer-advisors-note{
  margin:9px 0 0;
  font-size:11px;
  line-height:1.55;
  color:#80738e;
}
@media(max-width:440px){
  footer.site-footer{padding:15px 12px 12px;margin-top:16px}
  .footer-advisors{padding:9px 6px 0}
  .footer-advisor-list{gap:22px}
  .footer-avatar{width:60px;height:60px}
  .footer-avatar img{width:55px;height:55px}
  .footer-advisor{min-width:74px}
}

/* Sign-in-first practice experience, using the existing violet Zumi palette. */
.home-signin-notice{display:flex;align-items:flex-start;gap:11px;max-width:465px;padding:14px 16px;border:1px solid #e1d5f4;border-radius:15px;background:#f6f0ff;color:#503b72;text-align:left}
.home-signin-notice-icon{font-size:19px;line-height:1.2;flex:none}
.home-signin-notice strong{display:block;font-size:13px;font-weight:800}
.home-signin-notice p{margin:4px 0 0;font-size:12px;line-height:1.55;color:#78698d}
.home-google-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff!important;text-decoration:none;font-size:14px;text-align:center;white-space:normal}
.home-google-cta:hover{background:#6f45bf}
.home-google-cta:focus-visible{outline:3px solid #a68bfa;outline-offset:4px}
.home-signin-unavailable{display:block;max-width:370px;border:1px solid #e1d5f4;border-radius:11px;background:#faf6ff;padding:10px 12px;font-size:12px;line-height:1.5;color:#665476}
@media(max-width:760px){.home-signin-notice{margin:0 auto;text-align:left}.home-google-cta{width:100%}}

/* Larger home-page Zumi; scoped to the landing page only. */
@media (min-width:761px){
  .home-mascot .zumi-hero .zumi-photo{width:min(425px,100%);height:385px}
  .home-mascot .zumi-hero .zumi-svg{width:350px}
}
@media (max-width:760px){
  .home-mascot .zumi-hero .zumi-photo{width:206px;height:193px}
  .home-mascot .zumi-hero .zumi-svg{width:193px}
}
@media (max-width:440px){
  .home-mascot .zumi-hero .zumi-photo{width:183px;height:169px}
  .home-mascot .zumi-hero .zumi-svg{width:169px}
}


/* Minimal, single combined assessment picker. */
.home-grade-form {
  width: 100%;
  max-width: 570px;
  gap: 10px;
}
.home-grade-controls {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 12px;
  width: 100%;
}
.home-grade-select-wrap {
  position: relative;
  display: block;
  box-sizing: border-box;
  height: 58px;
  min-width: 0;
  flex: 1 1 auto;
}
.home-grade-form .home-grade-select-wrap select {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: none;
  padding: 0 53px 0 17px;
  font-size: 15px;
  line-height: normal;
}
.home-grade-chevron {
  position: absolute;
  top: 50%;
  right: 9px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  box-sizing: border-box;
  margin: 0;
  pointer-events: none;
}
.home-grade-chevron svg {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}
.home-grade-controls .home-start {
  min-height: 58px;
  white-space: nowrap;
  flex: 0 0 auto;
}
@media(max-width:760px) {
  .home-grade-select-wrap { height: 54px; }
  .home-grade-form .home-grade-select-wrap select { height: 100%; padding-right: 49px; font-size: 14px; }
  .home-grade-chevron { width: 36px; height: 36px; right: 7px; }
  .home-grade-controls .home-start { min-height: 54px; }
}
@media(max-width:440px) {
  .home-grade-controls { flex-direction: column; align-items: stretch; gap: 10px; }
  .home-grade-select-wrap { flex: none; width: 100%; height: 54px; }
  .home-grade-form .home-grade-select-wrap select { height: 100%; padding-left: 14px; padding-right: 50px; }
  .home-grade-chevron { right: 8px; }
  .home-grade-controls .home-start { width: 100%; min-height: 52px; justify-content: center; }
}

/* Rotating homepage encouragement always occupies a single, readable line.
   Keep the title itself in its existing two-line treatment. */
.home-subtitle {
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
  font-size: clamp(13px, 1.45vw, 16px);
  line-height: 1.45;
}
@media (max-width: 760px) {
  .home-subtitle {
    max-width: calc(100vw - 48px);
    font-size: clamp(12px, 3.3vw, 15px);
    line-height: 1.4;
  }
}

/* Compact branded Google sign-in CTA. Decorative logo; full name in aria-label. */
.home-google-cta { gap: 10px; white-space: nowrap; justify-content: center; }
.home-google-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 26px;
  height: 26px;
  padding: 4px;
  border-radius: 50%;
  background: #fff;
}
.home-google-icon .google-mark { display: block; width: 18px; height: 18px; }

/* Make the Zumi WORDMARK prominent only on the homepage.
   The mascot illustration, sign-in control, and other pages are unchanged. */
body:has(.home-simple) header .brand {
  font-size: clamp(30px, 3.4vw, 38px);
  line-height: 1;
  letter-spacing: -1.4px;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (max-width: 520px) {
  body:has(.home-simple) header .brand {
    font-size: 29px;
    letter-spacing: -1.1px;
  }
}
@media (max-width: 360px) {
  body:has(.home-simple) header .brand {
    font-size: 26px;
  }
}

/* Shared Zumi wordmark, matching the homepage on all screens. */
header .brand {
  font-size: clamp(30px, 3.4vw, 38px);
  line-height: 1;
  letter-spacing: -1.4px;
  white-space: nowrap;
  flex-shrink: 0;
}
/* Friendly violet game-pill navigation with subtle interaction. */
.header-account .header-games-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border: 1px solid #dfcff8;
  border-radius: 999px;
  background: linear-gradient(135deg, #f4ecff 0%, #e9f1ff 100%);
  color: #6642b5;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 3px 10px #6846bc12;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.header-games-icon {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 8px;
  background: #805bd5;
  color: #fff;
  font-size: 16px;
  line-height: 1;
}
.header-account .header-games-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 7px 16px #6846bc25;
  background: linear-gradient(135deg, #eadbff, #dce9ff);
}
.header-account .header-games-link:focus-visible {
  outline: 3px solid #9470e0;
  outline-offset: 3px;
}
@media (max-width: 520px) {
  header .brand {font-size:29px;letter-spacing:-1.1px}
  .header-account .header-games-link {padding:8px 10px;font-size:12px;gap:5px}
  .header-games-icon {width:19px;height:19px;font-size:13px}
}
@media (max-width: 360px) {
  header .brand {font-size:26px}
  .header-account .header-games-link {padding:7px 9px}
}
@media (prefers-reduced-motion:reduce) {
  .header-account .header-games-link {transition:none}
  .header-account .header-games-link:hover {transform:none}
}

/* Optional assessment history: private family pilot, hidden until consent review. */
.history-header-link{color:#6841be;text-decoration:none;font-weight:750;border:1px solid #dfd2f5;background:#f9f4ff;padding:9px 13px;border-radius:12px}
.history-header-link:hover,.history-header-link:focus-visible{background:#eee3ff}
.history-page{max-width:850px;margin:0 auto}
.history-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0 28px}
.history-heading h1{font-size:clamp(30px,5vw,43px);letter-spacing:-1.4px;margin:12px 0}
.history-heading p{font-size:15px;color:#6d647f;line-height:1.65;max-width:560px}
.history-back,.history-start{display:inline-block;text-decoration:none;white-space:nowrap}
.history-count{font-size:13px;color:#766b87;font-weight:750}
.history-list{display:grid;gap:15px}
.history-item,.history-empty,.history-privacy{background:#fff;border:1px solid #e9dff5;border-radius:20px;padding:24px;box-shadow:0 8px 26px #7854b00b}
.history-item-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.history-kind{font-size:12px;color:#7653b4;font-weight:800;letter-spacing:.2px}
.history-item h2{font-size:22px;margin:9px 0}
.history-item>p,.history-privacy p,.history-empty p{font-size:14px;line-height:1.7;color:#756b84}
.history-score{text-align:right;white-space:nowrap;display:flex;flex-direction:column;gap:4px}
.history-score strong{font-size:28px;color:#6841be}
.history-score span{font-size:12px;color:#817590}
.history-skills{border-top:1px solid #ede6f6;margin-top:18px;padding-top:15px;font-size:13px}
.history-skills>strong{color:#43305c}
.history-skills ul{padding-left:20px;margin:9px 0 0}
.history-skills li{line-height:1.7}
.history-skills li span{color:#887d97}
.history-empty{text-align:center;padding:45px 22px}
.history-empty h2{margin:0}
.history-privacy{margin-top:28px}
.history-privacy h2{font-size:18px;margin:0 0 10px}
.history-delete{background:#fff5f5;color:#a12f50;border:1px solid #edc9d1;border-radius:12px;padding:12px 15px;font-size:13px;font-weight:750;cursor:pointer}
.history-delete:hover{background:#fce6ec}
.history-notice,.history-result-notice{background:#f2ebfd;color:#58378f;border:1px solid #dfccf7;border-radius:12px;padding:13px 16px;font-size:14px;line-height:1.5}
.history-result-notice a{color:#57348d;font-weight:800}
@media(max-width:650px){.history-heading{align-items:flex-start;flex-direction:column}.history-item,.history-privacy{padding:17px}.history-item-head{align-items:flex-start}.history-score strong{font-size:24px}header .header-account{gap:6px}.history-header-link{padding:7px 9px}}


/* Stage 2 — family pilot (links are hidden unless explicitly enabled). */
.family-page{max-width:860px;margin:0 auto}
.family-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}
.family-hero h1{font-size:clamp(32px,5.4vw,44px);letter-spacing:-1.4px;margin:12px 0}
.family-hero p,.family-panel>p,.family-section-head p{color:#786c8b;font-size:14px;line-height:1.7}
.family-stage{white-space:nowrap;border:1px solid #e6d7fc;border-radius:99px;padding:9px 13px;background:#f4edff;color:#7950b7;font-size:12px;font-weight:800}
.family-panel{background:#fff;border:1px solid #e9dff5;border-radius:20px;padding:28px;margin:18px 0;box-shadow:0 10px 25px #7950b70b}
.family-panel h2{font-size:20px;margin:0 0 10px}
.family-warning,.family-notice{border:1px solid #ebd5a3;background:#fff8e8;color:#735520;padding:16px;border-radius:12px;line-height:1.6}
.family-notice{margin:14px 0}
.family-check{display:flex;gap:10px;align-items:flex-start;line-height:1.7;font-size:14px;margin:17px 0}
.family-check input{margin-top:5px}
.family-footnote{font-size:12px!important;color:#8c809e!important}
.family-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}
.family-active-pill{font-size:12px;color:#6743a5;background:#f4efff;padding:9px 12px;border-radius:99px;white-space:nowrap}
.family-learners{display:grid;gap:12px}
.family-learner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border:1px solid #ebe5f4;padding:16px;border-radius:16px;background:#fff}
.family-learner-selected{background:#f9f5ff;border-color:#b998ed}
.family-avatar{width:48px;height:48px;border-radius:16px;background:#ded0f5;color:#57358d;display:grid;place-items:center;font-size:24px;font-weight:900}
.family-learner-info{flex:1;min-width:100px}
.family-learner-info h3{font-size:16px;margin:0 0 5px}
.family-learner-info p{color:#887d98;font-size:12px;margin:0}
.family-action{font-weight:800;font-size:13px;color:#6540a2;background:#efe7fc;border:1px solid #dfd0f7;border-radius:12px;text-decoration:none;cursor:pointer;padding:11px 13px;display:inline-block}
.family-learner-controls{width:100%;font-size:13px;color:#6b5785}
.family-learner-controls summary{cursor:pointer;font-weight:750;margin-top:6px}
.family-edit-form,.family-add-form{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:18px 0}
.family-edit-form label,.family-add-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;color:#5f5475}
.family-edit-form input,.family-edit-form select,.family-add-form input,.family-add-form select{border:1px solid #ded5ee;border-radius:11px;font-size:15px;color:#372b50;padding:12px;background:#fff;max-width:100%;width:200px}
.family-add-form button{white-space:nowrap}
.family-danger{border:1px solid #edc7d0;background:#fff5f7;color:#a03b57;padding:10px 13px;border-radius:11px;font-size:13px;font-weight:750;cursor:pointer}
.family-danger:hover{background:#fce8ee}
.family-privacy-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.family-privacy-actions a{text-decoration:none;font-size:13px;display:inline-block}
.family-home-status{font-size:14px;color:#765a9c;background:#f5edff;border:1px solid #e8dbfb;padding:12px 14px;border-radius:12px}
.family-home-status a{font-weight:800;color:#6540a2}
@media(max-width:650px){.family-hero,.family-section-head{flex-direction:column;align-items:flex-start}.family-panel{padding:18px}.family-edit-form input,.family-add-form input{width:100%}.family-add-form label,.family-edit-form label{width:100%}.family-learner{gap:12px}.family-learner-controls{margin-top:6px}}


/* Stage 3: learner-specific, descriptive progress — private family pilot */
.progress-page{max-width:900px;margin:0 auto;color:#382b50}
.progress-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.progress-intro h1{font-size:clamp(30px,5vw,43px);line-height:1.12;letter-spacing:-1.3px;margin:12px 0}
.progress-intro p{font-size:14px;color:#776a8a;line-height:1.6;max-width:520px}
.progress-intro-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.progress-intro-links>a{font-size:13px;text-decoration:none;padding:12px 15px;display:inline-block;white-space:nowrap}
.progress-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;background:white;padding:17px;border:1px solid #e9e0f6;border-radius:18px;margin-bottom:18px}
.progress-filters label{display:flex;flex-direction:column;gap:7px;font-weight:750;color:#5a4a77;font-size:12px;flex:1;min-width:165px}
.progress-filters select{width:100%;max-width:100%;border:1px solid #ded3ed;border-radius:11px;background:#fff;color:#372b50;padding:12px;font-size:14px}
.progress-filters button{font-size:13px;padding:13px 17px}
.progress-method{padding:17px 20px;border:1px solid #ddd4ed;background:#f6f0ff;border-radius:15px;color:#655580;font-size:13px;line-height:1.65;margin-bottom:20px}
.progress-method strong{color:#4e3876}
.progress-method p{margin:7px 0 0}
.progress-empty{background:white;border:1px solid #e8dcf4;border-radius:20px;text-align:center;padding:40px 22px}
.progress-empty h2{font-size:20px}
.progress-empty p{font-size:14px;color:#746789;line-height:1.6;margin-bottom:24px}
.progress-empty a{text-decoration:none;display:inline-block}
.progress-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.progress-stats article{background:#fff;border:1px solid #eadff5;border-radius:18px;padding:19px;display:flex;flex-direction:column;gap:7px;min-width:0}
.progress-stats article>span{font-size:12px;color:#7c6c90;font-weight:750}
.progress-stats article>strong{font-size:clamp(24px,3.5vw,34px);color:#6d4aaa;line-height:1.15;font-variant-numeric:tabular-nums}
.progress-stats article>small{font-size:11px;color:#8b7d99;line-height:1.45}
.progress-section{border:1px solid #eadff5;background:#fff;border-radius:20px;padding:24px;margin:18px 0}
.progress-section-heading h2{font-size:21px;letter-spacing:-.4px;margin:0 0 8px}
.progress-section-heading p{font-size:13px;color:#847795;line-height:1.55;margin:0 0 20px}
.progress-chart{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:9px;height:210px;padding:12px 4px 0;border-bottom:1px solid #e4d9f1;align-items:end}
.progress-column{display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}
.progress-bar-num{font-size:11px;font-variant-numeric:tabular-nums;font-weight:800;color:#64449c;white-space:nowrap}
.progress-chart-track{height:164px;width:100%;max-width:45px;display:flex;align-items:flex-end;background:#f3eafb;border-radius:7px 7px 0 0;overflow:hidden;margin-top:6px}
.progress-chart-fill{width:100%;background:linear-gradient(180deg,#a587e7,#7952d1);border-radius:7px 7px 0 0}
.progress-chart-index{color:#776889;font-size:11px;margin-top:4px}
.progress-trend-table{font-size:13px;color:#634c85;margin-top:14px}
.progress-trend-table summary{cursor:pointer;font-weight:750}
.progress-scroll{overflow-x:auto;width:100%}
.progress-scroll table{border-collapse:collapse;width:100%;min-width:470px;text-align:left;font-size:13px}
.progress-scroll th,.progress-scroll td{padding:12px 10px;border-bottom:1px solid #eee7f6;vertical-align:top}
.progress-scroll th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#766488}
.progress-skills-table td small{display:block;font-size:11px;margin-top:4px;color:#867792}
.progress-caveat{background:#fbf9ff;color:#736482;border-radius:12px;padding:13px;font-size:12px;line-height:1.7}
.progress-areas{display:grid;gap:18px}
.progress-area-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:9px}
.progress-area-title span{color:#726487;white-space:nowrap;font-variant-numeric:tabular-nums}
.progress-area-track{height:10px;background:#eee7f8;border-radius:10px;overflow:hidden}
.progress-area-track span{display:block;height:100%;background:#8e69dc;border-radius:10px}
.progress-area small{display:block;margin-top:7px;color:#82758f;font-size:11px;line-height:1.5}
.progress-two-column{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}
.progress-two-column>.progress-section{margin:0}
.progress-recommendations{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.progress-recommendations li{padding:14px;border-radius:13px;border:1px solid #e9dff7;background:#fcfaff}
.progress-rec-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:13px}
.progress-rec-top span{color:#83679f;font-size:11px}
.progress-confidence{display:block;color:#7f6c94;font-size:11px;font-weight:700;margin-top:7px}
.progress-recommendations p{color:#756887;font-size:12px;line-height:1.65;margin:9px 0 0}
.progress-cta{font-weight:800;font-size:13px;display:inline-block;color:#6b42ad;text-decoration:none;margin-top:20px}
.progress-strength{padding:12px 0;border-bottom:1px solid #f0eafb;font-size:13px}
.progress-strength strong,.progress-strength span{display:block}
.progress-strength span{color:#857891;font-size:12px;margin-top:6px;line-height:1.45}
.family-learner-links{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
@media(max-width:780px){.progress-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-two-column{grid-template-columns:1fr}.progress-intro{align-items:flex-start;flex-direction:column}}
@media(max-width:490px){.progress-page{max-width:100%}.progress-section{padding:17px}.progress-filters{padding:13px}.progress-intro-links>a{font-size:12px;padding:10px}.progress-stats article{padding:13px}.progress-chart{gap:3px}.progress-bar-num{font-size:9px}.progress-area-title{align-items:flex-start;flex-direction:column;gap:4px}}
@media print{.progress-filters,.progress-intro-links,.progress-cta{display:none!important}.progress-section{break-inside:avoid;box-shadow:none}}


/* Stage 4 — private, evidence-informed targeted learning */
.learn-page{max-width:900px;margin:0 auto;color:#392d53}
.learn-top{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:20px}
.learn-top h1{font-size:clamp(30px,5vw,43px);letter-spacing:-1.25px;line-height:1.1;margin:10px 0 13px}
.learn-top p{color:#796d8b;font-size:14px;line-height:1.65;max-width:600px}
.learn-back{text-decoration:none;white-space:nowrap;display:inline-block}
.learn-note,.learn-discovery{border:1px solid #e5d7f8;border-radius:14px;background:#f7f1ff;padding:15px 18px;font-size:13px;line-height:1.7;color:#665580;margin:15px 0}
.learn-note strong{color:#503a75}
.learn-discovery a{color:#6544a1;font-weight:800}
.learn-grade-form{background:#fff;border:1px solid #eae0f4;border-radius:16px;padding:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0}
.learn-grade-form label{font-size:13px;font-weight:800;color:#68567f}
.learn-grade-form select{font-size:14px;padding:10px;border:1px solid #ded4ed;border-radius:11px;background:white;min-width:130px}
.learn-grade-form button{padding:11px}
.learn-cards{display:grid;gap:16px}
.learn-card,.learn-history,.learn-panel{border:1px solid #e9dff6;border-radius:20px;background:#fff;padding:23px;box-shadow:0 8px 20px #6b4aa60b}
.learn-card-focused{border:2px solid #9972dd}
.learn-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.learn-card-standard{font-size:11px;color:#8968b4;font-weight:800;letter-spacing:.5px}
.learn-card h2,.learn-history h2{font-size:21px;margin:7px 0 12px;line-height:1.3}
.learn-card-state{color:#6e5094;background:#f2eafd;border-radius:99px;font-size:11px;padding:8px 10px;white-space:nowrap}
.learn-card-reason{font-size:13px;color:#756487;margin-top:2px}
.learn-prereqs{background:#fbf9ff;border:1px solid #eee6f9;border-radius:13px;padding:16px;margin-top:17px;font-size:13px}
.learn-prereqs>p{font-size:12px;color:#827391;line-height:1.5}
.learn-prereq-row{border-top:1px solid #eee7f7;padding-top:11px;margin-top:10px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px;align-items:center}
.learn-prereq-row span small{color:#8d7c9c}
.learn-secondary-action{background:white;border:1px solid #dac9ef;color:#65449c;padding:9px 12px;border-radius:11px;font-weight:750;cursor:pointer;font-size:12px}
.learn-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.learn-actions form{margin:0}
.learn-actions button{padding:12px 15px;font-size:13px}
.learn-unavailable,.learn-card-footnote{font-size:12px;color:#8c809a;line-height:1.65}
.learn-check-result{font-size:13px;color:#634781;background:#f7f1ff;padding:11px;border-radius:11px}
.learn-history{margin-top:24px}
.learn-history>p{color:#827391;font-size:13px;line-height:1.6}
.learn-activity-list{display:grid;gap:8px}
.learn-activity{display:flex;justify-content:space-between;align-items:center;gap:14px;text-decoration:none;border:1px solid #efe8f7;border-radius:12px;padding:13px;color:#694797;font-size:12px}
.learn-activity:hover{background:#f7f1ff}
.learn-activity strong,.learn-activity small{display:block}
.learn-activity strong{font-size:13px;margin-bottom:5px}
.learn-activity small{color:#92859d}
.learn-empty{border:1px dashed #d9c9ec;border-radius:14px;padding:28px;background:#fff}
.learn-empty h2{font-size:18px}
.learn-session-progress{height:10px;background:#ece3f8;border-radius:99px;overflow:hidden}
.learn-session-progress span{display:block;height:100%;background:#9368df;border-radius:99px}
.learn-counter{font-size:12px;font-weight:700;color:#806d98;margin:10px 0 19px}
.learn-session-page .learn-question-panel{padding:25px}
.learn-question-panel h2{font-size:14px;color:#8767b3}
.learn-question-panel h3{font-size:23px;line-height:1.45;margin:15px 0 25px}
.learn-feedback{border:1px solid #e8daf8;border-radius:17px;background:#f7f1ff;padding:17px;margin-bottom:17px;color:#57457c;font-size:14px;line-height:1.6}
.learn-feedback-correct{background:#f1faf6;border-color:#b8e6d1;color:#346f56}
.learn-feedback-review{background:#fff9ee;border-color:#e8d4a4;color:#725a35}
.learn-finished{text-align:center;padding:32px}
.learn-finished h2{font-size:33px;color:#6d49a8}
.learn-finished p{font-size:14px;color:#837390;line-height:1.6}
.learn-finished .learn-actions{justify-content:center}
.learn-link{text-decoration:none;font-size:13px;display:inline-block}
.learn-review{margin-top:20px}
.learn-review h2{font-size:19px}
.learn-review details{border-top:1px solid #eee6f7;padding:13px 0;font-size:13px;line-height:1.6}
.learn-review summary{cursor:pointer;font-weight:800;color:#61468e}
@media(max-width:700px){.learn-top,.learn-card-head{flex-direction:column}.learn-card-state{white-space:normal}.learn-card,.learn-history,.learn-panel{padding:17px}.learn-activity{align-items:start;flex-direction:column}.learn-actions button,.learn-actions .learn-link{font-size:12px}}


/* Stage 5: first complete Grade 6 ratios learning strand */
.course-page{max-width:940px;margin:0 auto;color:#36294d}
.course-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:#8b7c9e;margin:4px 0 24px}
.course-breadcrumb a{color:#6746a3;font-weight:750}
.course-hero,.course-lesson-top{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:20px}
.course-hero h1,.course-lesson-top h1{font-size:clamp(31px,5.5vw,48px);letter-spacing:-1.7px;line-height:1.09;margin:14px 0}
.course-hero p,.course-lesson-top p{font-size:15px;color:#7a6b8e;line-height:1.65;max-width:610px}
.course-progress-summary{min-width:130px;border-radius:22px;background:#eee5fe;color:#624497;padding:20px;display:flex;align-items:center;flex-direction:column;gap:7px}
.course-progress-summary strong{font-size:30px;line-height:1.1}
.course-progress-summary span{font-size:11px;font-weight:750;text-align:center}
.course-disclaimer,.course-objective{padding:17px 20px;border:1px solid #e3d5f4;border-radius:15px;background:#f6f1ff;color:#65517f;font-size:13px;line-height:1.7}
.course-module-intro{padding:22px 0 12px}
.course-module-intro h2{font-size:23px;letter-spacing:-.5px;margin:0 0 10px}
.course-module-intro p{font-size:14px;color:#847494;line-height:1.6}
.course-lessons{list-style:none;padding:0;display:grid;gap:12px;counter-reset:mission}
.course-lesson{margin:0}
.course-lesson-link{display:flex;align-items:center;gap:17px;padding:20px;text-decoration:none;border:1px solid #e8dcf3;background:#fff;border-radius:19px;color:inherit;box-shadow:0 8px 30px #7858a010;transition:border-color .14s ease,transform .14s ease}
.course-lesson-link:hover{border-color:#ae8dde;transform:translateY(-1px)}
.course-lesson-link:focus-visible,.course-choice:focus-within{outline:3px solid #7b5bb6;outline-offset:3px}
.course-lesson-number{border-radius:15px;background:#efe6fe;color:#62439b;display:grid;place-items:center;min-width:49px;min-height:49px;font-weight:900;font-variant-numeric:tabular-nums}
.course-lesson-main{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
.course-lesson-main strong{font-size:17px;line-height:1.3}
.course-lesson-main small{font-size:11px;color:#856c9d}
.course-lesson-main>span{font-size:13px;line-height:1.55;color:#776b88}
.course-lesson-status{font-size:11px;font-weight:750;background:#f7f2ff;color:#614290;border-radius:30px;padding:9px 12px;max-width:138px;text-align:center}
.course-lesson-chevron{color:#7753a7;font-weight:900;font-size:21px}
.course-footer{padding:20px 0 34px;font-size:13px;color:#7e6e8e;line-height:1.7}
.course-footer a,.learn-guided-cta a{color:#69449e;font-weight:800}
.course-small{font-size:11px}
.course-minutes{font-size:12px;font-weight:750;color:#6c4d9a;background:#f1e9fc;border-radius:30px;padding:10px 13px;white-space:nowrap}
.course-objective{display:flex;align-items:center;gap:15px;margin:18px 0}
.course-objective>span{font-size:26px}
.course-objective strong{font-size:14px}
.course-objective p{margin:3px 0 0}
.course-section{border:1px solid #e9dff5;background:#fff;border-radius:22px;padding:27px;margin:19px 0;box-shadow:0 10px 22px #7750a50b}
.course-section-step{font-size:11px;font-weight:850;color:#815bb2;letter-spacing:1px;margin-bottom:12px}
.course-section h2{font-size:24px;letter-spacing:-.6px;margin:5px 0 15px}
.course-section>p{font-size:15px;line-height:1.8;color:#665b78}
.course-rule{background:#f3eeff;border-left:4px solid #8a66ca;padding:14px 16px;border-radius:5px}
.course-example-question{font-weight:750;color:#4a345e!important}
.course-worked-steps{margin:17px 0;padding-left:27px;display:grid;gap:11px;line-height:1.7;color:#5b4a74;font-size:14px}
.course-worked-steps li::marker{color:#8056b7;font-weight:900}
.course-example-answer{font-size:16px!important;font-weight:700;color:#57408e!important}
.course-misconception{padding:13px 15px;background:#fff8e9;border-radius:13px;border:1px solid #eddaa9;color:#795e36;font-size:13px;line-height:1.6}
.course-explorer{background:#faf7ff;border:1px solid #e8ddf6;border-radius:17px;padding:20px}
.course-explorer-controls{display:flex;flex-wrap:wrap;gap:22px;margin-bottom:16px}
.course-slider{min-width:160px;max-width:280px;flex:1;display:flex;flex-direction:column;gap:12px;color:#5e4880;font-size:13px;font-weight:700}
.course-slider input{accent-color:#8357c9;width:100%;height:20px;cursor:pointer}
.course-explorer-display{background:white;border:1px solid #ece5f9;border-radius:13px;padding:16px;color:#553a78;line-height:1.65;font-size:14px}
.course-explorer-display p{margin:5px 0}
.course-explorer-visual{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.course-counters{display:flex;flex-wrap:wrap;gap:4px;max-width:100%}
.course-counter{width:17px;height:17px;border-radius:50%;border:1px solid #89739b}
.course-counter-green{background:#8abca0}
.course-counter-blue{background:#7b8dd9}
.course-hundred-grid{display:grid;grid-template-columns:repeat(10,18px);gap:3px}
.course-hundred-cell{width:18px;height:18px;background:white;border:1px solid #cfc0e3;border-radius:3px}
.course-hundred-cell.filled{background:#9371d7}
.course-explorer-hint{font-size:12px!important;color:#8a799c!important}
.course-ticket-progress{margin:15px 0 20px}
.course-ticket-progress>span{font-weight:800;font-size:12px;color:#77559c}
.course-ticket-progress>div{height:9px;border-radius:99px;background:#f0e9f9;overflow:hidden;margin-top:9px}
.course-ticket-progress>div>span{display:block;background:#966edb;height:100%}
.course-ticket-question{border-top:1px solid #eee6f6;margin-top:20px;padding-top:23px}
.course-ticket-question>span{font-size:12px;font-weight:750;color:#7d65a1}
.course-ticket-question h3{font-size:20px;margin:13px 0 24px;line-height:1.55}
.course-ticket-question fieldset{border:0;margin:0 0 20px;padding:0;display:grid;gap:9px}
.course-choice{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #e5daf5;border-radius:12px;font-size:14px;cursor:pointer}
.course-choice:has(input:checked){border-color:#906bc7;background:#f5efff}
.course-choice input{accent-color:#8058bd}
.course-choice-letter{font-size:12px;font-weight:900;color:#714ca4;border-radius:8px;background:#f1e9fc;padding:6px 8px}
.course-feedback{padding:17px;border-radius:13px;font-size:13px;line-height:1.65;margin:16px 0}
.course-feedback p{margin:8px 0}
.course-feedback-right{background:#f0faf3;border:1px solid #c6e8cc;color:#356b49}
.course-feedback-next{background:#fff9ee;border:1px solid #edd6a4;color:#775a2f}
.course-complete{text-align:center;background:#f8f3ff;border-radius:16px;padding:21px}
.course-complete>span{font-size:28px;color:#805cbd}
.course-complete h3{font-size:24px;margin:8px}
.course-complete p{font-size:13px;line-height:1.65;color:#715b88}
.course-complete-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.course-complete-actions a{text-decoration:none;display:inline-block}
.course-complete-actions button{font-size:12px}
.course-review{margin-top:20px;color:#645274}
.course-review summary{font-weight:750;cursor:pointer}
.course-review li{padding:12px 0;border-bottom:1px solid #efe9f6;line-height:1.6;font-size:13px}
.course-review li span{display:block;font-size:12px;margin-top:4px}
.course-review li p{font-size:12px}
.course-alert{color:#814d32;background:#fff4e9;border:1px solid #efdabf;padding:11px;border-radius:12px}
.learn-guided-cta{background:#f5f0ff;padding:12px;border-radius:11px;font-size:13px}
@media(max-width:680px){.course-hero,.course-lesson-top{flex-direction:column;align-items:flex-start}.course-progress-summary{min-width:0;width:100%;align-items:flex-start}.course-section{padding:17px}.course-lesson-link{padding:14px;gap:10px;align-items:flex-start}.course-lesson-status{font-size:10px}.course-lesson-chevron{display:none}.course-lesson-number{min-width:35px;min-height:35px}.course-explorer{padding:13px}.course-hundred-grid{grid-template-columns:repeat(10,14px)}.course-hundred-cell{width:14px;height:14px}.course-complete-actions{flex-direction:column}.course-complete-actions a{display:block}}
@media(prefers-reduced-motion:reduce){.course-lesson-link{transition:none}}


/* Compact, keyboard-friendly account dropdown for the five learning pages. */
body > header{position:relative;z-index:50}
.account-menu{position:relative;flex:none}
.account-menu>summary{list-style:none}
.account-menu>summary::-webkit-details-marker{display:none}
.account-menu-trigger{display:inline-flex;align-items:center;gap:10px;min-height:43px;padding:5px 12px 5px 6px;border:1px solid #e7dcf5;background:#fff;border-radius:999px;color:#49345d;cursor:pointer;box-shadow:0 3px 10px #6c45970b}
.account-menu-trigger:hover,.account-menu[open]>.account-menu-trigger{border-color:#bd9ae9;background:#faf6ff}
.account-menu-trigger:focus-visible{outline:3px solid #9b7de2;outline-offset:3px}
.account-menu-avatar{width:32px;height:32px;flex:none;border-radius:50%;background:#ede0fb;color:#7449ac;display:grid;place-items:center;font-weight:850;font-size:14px}
.account-menu-chevron{flex:none;transition:transform .16s ease}
.account-menu[open] .account-menu-chevron{transform:rotate(180deg)}
.account-menu-panel{position:absolute;right:0;top:calc(100% + 9px);width:min(310px,calc(100vw - 26px));padding:10px;border:1px solid #e8def6;background:#fff;border-radius:18px;box-shadow:0 18px 60px #3b225622;z-index:90;text-align:left}
.account-menu-label{font-size:10px;letter-spacing:1.6px;font-weight:850;color:#9a82b4;padding:11px 13px 9px}
.account-menu-panel nav{display:grid;gap:3px}
.account-menu-panel .account-menu-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:#4d3b63;text-decoration:none;font-size:13px;font-weight:800;line-height:1.25}
.account-menu-link:hover,.account-menu-link:focus-visible{background:#f5efff;color:#6e41a9;outline-offset:0}
.account-menu-link small{display:block;margin-top:4px;color:#90809d;font-weight:500;font-size:11px}
.account-menu-icon{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:11px;background:#f2ebfd;color:#8056c2;font-size:19px}
.account-menu-footer{border-top:1px solid #eee7f6;margin-top:7px;padding:10px 8px 4px}
.account-menu-footer .auth-sign-out{width:100%;min-height:38px;background:#f8f5fc;border-radius:10px;text-align:center;font-size:12px}
@media(max-width:520px){body > header{padding:0 18px}.account-menu-trigger{padding:5px 9px 5px 5px;gap:6px}.account-menu-avatar{width:30px;height:30px}.account-menu-trigger .auth-user-name{max-width:114px;font-size:12px}.account-menu-panel{top:calc(100% + 8px)}}

/* Contextual onboarding: a clear reason, a short path, and automatic return. */
.family-setup-banner{display:flex;gap:16px;align-items:flex-start;margin:0 0 23px;padding:20px 22px;border:1px solid #d9c8f1;border-radius:18px;background:linear-gradient(110deg,#f4edff,#fdfbff);box-shadow:0 6px 25px #5d3aa808;color:#533d77}
.family-setup-icon{width:42px;height:42px;border-radius:13px;flex:none;display:grid;place-items:center;background:#e8dbfa;color:#7850bf;font-size:21px}
.family-setup-eyebrow{font-size:10px;font-weight:850;letter-spacing:1.3px;color:#8966b7}
.family-setup-banner h2{font-size:19px;line-height:1.3;margin:6px 0 7px}
.family-setup-banner p{font-size:13px;line-height:1.65;margin:0;color:#76618b}
.family-setup-steps{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.family-setup-steps span{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;background:#fff;border-radius:99px;color:#64517e;font-size:11px;font-weight:750}
.family-setup-steps strong{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;color:#fff;background:#8861cd;font-size:10px}
.family-setup-continue{display:inline-block;margin-top:12px;color:#6743a7;font-size:13px;font-weight:850}
.family-empty-state{padding:18px;background:#faf7ff;border:1px dashed #cdb6e8;border-radius:14px;color:#574076}
.family-empty-state strong{font-size:15px}
.family-empty-state p{font-size:13px;line-height:1.6;color:#81708f}
.family-empty-state a{font-size:13px;color:#7043aa;font-weight:750}
@media(max-width:480px){.family-setup-banner{padding:15px;gap:10px}.family-setup-icon{width:35px;height:35px}.family-setup-steps{gap:6px}}

/* Two-column Zumi footer: brand left, centered advisor card aligned right. */
footer.site-footer{margin-top:54px;padding:0;background:#f9f6ff;border-top:1px solid #eae0f4;text-align:left;color:#776888}
.footer-main{max-width:1090px;margin:0 auto;padding:36px 24px 31px;display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,380px);gap:40px;align-items:start}
.footer-identity .footer-wordmark{font-size:30px;letter-spacing:-1px;font-weight:900;text-decoration:none;color:#7752bc}
.footer-identity p{margin:13px 0 5px;color:#523e71;font-size:16px;font-weight:850;line-height:1.3}
.footer-identity>span{display:block;max-width:250px;color:#9184a0;font-size:12px;line-height:1.7}
.footer-explore{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:23px}
.footer-explore h2{margin:0 0 2px;font-size:12px;font-weight:850;letter-spacing:1.1px;text-transform:uppercase;color:#635079}
.footer-explore a{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:700;line-height:1.5;text-decoration:none;color:#65517b}
.footer-explore a:hover,.footer-explore a:focus-visible{text-decoration:underline;color:#7752bc}
.footer-games-tag{display:inline-block;border:1px solid #ddd1f4;border-radius:999px;padding:2px 8px;background:#f0e9fb;color:#7954b0;font-size:10px;font-weight:800;line-height:1.4;white-space:nowrap}
.footer-main .footer-advisors h2{margin:3px 0 9px;font-size:12px;text-transform:uppercase;letter-spacing:1.1px;font-weight:850;color:#635079}
.footer-main .footer-advisors{
  box-sizing:border-box;width:100%;max-width:380px;justify-self:end;
  margin:0;padding:20px 22px 18px;text-align:center;
  border:1px solid #e4d8f6;border-radius:20px;
  background:linear-gradient(145deg,#fff 0%,#f3ecff 100%);
  box-shadow:0 10px 25px #6e53a012;
}
.footer-main .footer-advisor-list{justify-content:center;gap:20px;margin:13px 0 3px}
.footer-main .footer-avatar{width:59px;height:59px;box-shadow:none}
.footer-main .footer-avatar img{width:55px;height:55px}
.footer-main .footer-advisor{min-width:72px;gap:5px}
.footer-main .footer-advisor-name{font-size:12px}
.footer-main .footer-advisors-note{margin:10px auto 0;max-width:290px;font-size:11px;line-height:1.6;color:#8b7d99}
.footer-bottom{border-top:1px solid #e9def4;max-width:1090px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px 21px;font-size:11px;color:#9587a4}
.footer-bottom .site-footer-brand{padding:0;margin:0;font-size:12px;color:#6e5c7e;font-weight:750}
@media(max-width:790px){.footer-main{grid-template-columns:minmax(0,1fr) minmax(260px,350px);gap:27px}.footer-main .footer-advisor-list{gap:21px}}
@media(max-width:510px){
  footer.site-footer{padding:0;margin-top:40px}
  .footer-main{padding:27px 23px;grid-template-columns:minmax(0,1fr);gap:25px}
  .footer-main .footer-advisors{max-width:420px;justify-self:center;margin:0 auto;padding:18px 15px}
  .footer-main .footer-avatar{width:57px;height:57px}
  .footer-main .footer-avatar img{width:53px;height:53px}
  .footer-bottom{padding:15px 23px 20px;align-items:flex-start;flex-direction:column;gap:5px}
}
@media(prefers-reduced-motion:reduce){.account-menu-chevron{transition:none}}


/* Homepage setup prompt is only shown without an active learner. */
.home-learner-setup{
  display:flex;align-items:center;gap:11px;width:100%;max-width:570px;
  padding:14px;border:1px solid #e4d7f4;border-radius:15px;background:#faf6ff;
}
.home-learner-setup-icon{
  display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;
  color:#7c56bc;background:#eee4fc;border-radius:10px;
}
.home-learner-setup>div{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.home-learner-setup strong{font-size:13px;color:#5b477a}
.home-learner-setup>div>span{font-size:12px;color:#8c799d;line-height:1.45}
.home-learner-setup>a{color:#6e49a7;font-weight:800;font-size:12px;white-space:nowrap;text-decoration:none}
.home-learner-setup>a:hover{text-decoration:underline}
.home-learner-setup>a:focus-visible{outline:3px solid #a68bfa;outline-offset:3px}
@media(max-width:760px){
  .home-learner-setup{max-width:520px;margin-inline:auto;text-align:left}
}
@media(max-width:400px){
  .home-learner-setup{flex-wrap:wrap}
  .home-learner-setup>a{margin-left:46px}
}

/* Keep advisor footer links understated. */
.site-footer .footer-advisors h2 a,
.site-footer .footer-advisor-name{
  color:inherit;
  text-decoration:none;
}
.site-footer .footer-advisors h2 a:hover,
.site-footer .footer-advisors h2 a:focus-visible,
.site-footer .footer-advisor-name:hover,
.site-footer .footer-advisor-name:focus-visible{
  color:#7148ab;
  text-decoration:underline;
}

/* Keep the learner setup link visually identical to the Start Practice button. */
a.primary.home-start,
a.primary.home-start:hover,
a.primary.home-start:focus-visible{
  text-decoration:none;
}

/* Course-selection landing page */
.zumi-course-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px;margin:30px 0 55px}
.zumi-course-card,.zumi-course-empty{background:#fff;border:1px solid #e5d9f5;border-radius:22px;padding:clamp(22px,4vw,36px);box-shadow:0 10px 26px #654b9a0c}
.zumi-course-card h2{font-size:clamp(22px,3vw,29px);margin:14px 0;color:#3d305e}
.zumi-course-card p,.zumi-course-empty p{color:#756887;line-height:1.7}
.zumi-course-open{display:inline-flex;align-items:center;gap:14px;padding:12px 20px;margin-top:14px;border-radius:12px;text-decoration:none!important}
.zumi-course-empty{margin-top:25px}.zumi-course-empty h2{margin-top:0}

/* Course catalog: scoped layout, responsive cards and accessible navigation. */
.courses-index{width:100%;max-width:940px;margin-inline:auto;padding-bottom:30px}
.courses-index .course-breadcrumb{align-items:center;margin-bottom:28px}
.courses-index .course-breadcrumb a{text-decoration:none}
.courses-index .course-breadcrumb a:hover{text-decoration:underline}
.courses-index .courses-index-hero{display:block;margin:0 0 28px}
.courses-index .courses-index-hero h1{margin:12px 0;font-size:clamp(2rem,5vw,3rem);line-height:1.15}
.courses-index .courses-index-hero>div{min-width:0}
.courses-index .courses-index-hero p{max-width:650px;margin:10px 0 0}
.courses-learner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:fit-content;max-width:100%;margin-top:22px;padding:12px 16px;border:1px solid #e5d9f5;border-radius:14px;background:#f8f4ff;color:#6c5a80;font-size:13px;line-height:1.5}
.courses-learner strong{color:#46325f}
.courses-learner-dot{color:#7956cf}
.courses-learner a{color:#6945a5;font-weight:750;text-decoration:none;margin-left:8px}
.courses-learner a:hover{text-decoration:underline}
.courses-index .zumi-course-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;margin:0 0 40px}
.courses-index .zumi-course-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:275px;padding:clamp(24px,4vw,34px);border:1px solid #e6d9f3;border-radius:22px;background:linear-gradient(145deg,#fff 55%,#faf7ff);box-shadow:0 12px 30px #654b9a10}
.courses-index .zumi-course-card .eyebrow{color:#7852b0;font-size:11px;letter-spacing:1.2px}
.courses-index .zumi-course-card h2{margin:15px 0 8px;font-size:clamp(22px,3vw,27px);line-height:1.25;letter-spacing:-.5px}
.courses-index .zumi-course-card>p{margin:4px 0 18px;font-size:14px;line-height:1.65}
.courses-progress{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#725b90;font-size:12px;font-weight:750}
.courses-progress span{display:inline-block;padding:6px 10px;border-radius:999px;background:#f2eafb}
.courses-index a.zumi-course-open{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 20px;border:0;border-radius:12px;background:#7956cf;color:#fff;font-size:14px;font-weight:800;line-height:1.3;text-decoration:none;box-shadow:0 6px 17px #7956cf26}
.courses-index a.zumi-course-open:hover{background:#6441b7;transform:translateY(-1px)}
.courses-index a.zumi-course-open:focus-visible,.courses-learner a:focus-visible{outline:3px solid #a68bfa;outline-offset:3px}
.courses-index .zumi-course-empty{max-width:650px;padding:28px;border-radius:20px}
.courses-index .zumi-course-empty a{color:#6846a3;font-weight:800;text-decoration:none}
.courses-index .zumi-course-empty a:hover{text-decoration:underline}
@media(max-width:600px){.courses-index .course-breadcrumb{margin-bottom:20px}.courses-index .courses-index-hero h1{font-size:2.1rem}.courses-index .zumi-course-card{min-height:0}.courses-learner{width:100%;padding:12px;gap:6px}.courses-learner a{margin-left:0}}
@media(prefers-reduced-motion:reduce){.courses-index a.zumi-course-open:hover{transform:none}}

/* Course headers are content sections, not the global site navigation bar. */
main .course-page > header.course-hero {
  position:static;
  height:auto;
  min-height:0;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:inherit;
  font-size:inherit;
  margin:0 0 26px;
  align-items:center;
}
main .course-page > header.course-hero > div:first-child {flex:1 1 auto;min-width:0;max-width:100%}
main .course-page > header.course-hero h1 {overflow-wrap:normal;word-break:normal}
main .course-page > header.course-hero p {margin:12px 0;max-width:660px}
main .course-page > header.course-hero .course-progress-summary {flex:0 0 145px}
main .courses-index > header.courses-index-hero {display:block}
main .courses-index > header.courses-index-hero > div:first-child {width:100%}
@media(max-width:680px){main .course-page > header.course-hero{align-items:stretch;gap:18px}main .course-page > header.course-hero .course-progress-summary{flex:0 0 auto;width:100%}}

/* Branded, accessible 403 error experience. */
.zumi-forbidden{max-width:680px;margin:24px auto 65px;padding:clamp(28px,6vw,55px);border:1px solid #e9dff7;border-radius:28px;background:linear-gradient(155deg,#fff 50%,#f7f1ff);text-align:center;box-shadow:0 18px 55px #7755b412;color:#372b52}
.zumi-forbidden-art{position:relative;width:210px;height:190px;margin:0 auto 20px;display:grid;place-items:center;background:radial-gradient(circle,#f2e7ff 20%,transparent 72%)}
.zumi-forbidden-art img{max-width:100%;height:180px;object-fit:contain}
.zumi-forbidden-sparkle{position:absolute;top:9px;right:16px;font-size:30px;color:#9a75df}
.zumi-forbidden-code{display:inline-block;font-size:12px;font-weight:850;letter-spacing:1.5px;text-transform:uppercase;color:#8057c6}
.zumi-forbidden h1{font-size:clamp(29px,5vw,41px);line-height:1.16;letter-spacing:-1.2px;margin:13px 0 15px}
.zumi-forbidden p{max-width:480px;margin:0 auto;color:#77698c;font-size:15px;line-height:1.75}
.zumi-forbidden-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:13px;margin-top:28px}
.zumi-forbidden-actions a{text-decoration:none}
.zumi-forbidden-primary{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:13px;padding:14px 20px}
.zumi-forbidden-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #dfd1f0;border-radius:13px;padding:12px 19px;color:#69469e;font-weight:800;background:#fff}
.zumi-forbidden-secondary:hover{background:#f7f1ff}
.zumi-forbidden-actions a:focus-visible{outline:3px solid #a68bfa;outline-offset:4px}
@media(max-width:480px){.zumi-forbidden{margin-top:0;padding:25px 18px}.zumi-forbidden-art{width:170px;height:155px}.zumi-forbidden-art img{height:150px}}


/* Compact alignment metadata on the expanded Grade 6 course catalog. */
.courses-index .course-card-alignment{display:flex;align-items:center;flex-wrap:wrap;gap:7px;width:100%;margin:2px 0 13px;color:#5b4979;font-size:12px;font-weight:700}
.courses-index .course-card-alignment span{padding:5px 9px;border-radius:8px;background:#f1ebfa;line-height:1.4}
.courses-index .course-standards-detail{width:100%;max-width:100%;margin:0 0 18px;font-size:12px;color:#665078}
.courses-index .course-standards-detail summary{display:list-item;cursor:pointer;min-height:28px;font-weight:700;color:#6845a2}
.courses-index .course-standards-detail summary:hover{text-decoration:underline}
.courses-index .course-standards-detail summary:focus-visible{outline:3px solid #9a80e6;outline-offset:3px}
.courses-index .course-standards-detail p{margin:10px 0 0;padding:12px;max-width:100%;overflow-wrap:anywhere;background:#f6f1fb;border-radius:9px;line-height:1.8}

/* Compact home Events discovery, replacing the old three-card benefits section. */
.home-signup-hint{font-size:12px;line-height:1.5;color:#78698d;margin:0;max-width:470px}
.home-events{padding:15px 0 42px;max-width:980px;margin:0 auto}
.home-events-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}
.home-events-kicker{display:block;font-size:10px;font-weight:850;letter-spacing:1.6px;color:#7956bf}
.home-events-header h2{font-size:clamp(21px,2.8vw,27px);font-weight:650;letter-spacing:-.6px;line-height:1.25;color:#302446;margin:7px 0 0}
.home-events-all{font-size:13px;font-weight:750;color:#7956bf!important;text-decoration:none;white-space:nowrap}
.home-events-all:hover{text-decoration:underline;text-underline-offset:4px}
.home-events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px}
.home-event-card{padding:19px 21px;border:1px solid #e7dcf6;border-radius:17px;background:linear-gradient(120deg,#fbf8ff,#fff);min-width:0}
.home-event-status{display:inline-flex;font-size:10px;letter-spacing:.7px;font-weight:850;color:#7956bf}
.home-event-card h3{font-size:17px;line-height:1.32;font-weight:750;color:#352746;margin:8px 0 6px}
.home-event-card p{font-size:12px;line-height:1.55;color:#746a88;margin:7px 0}
.home-event-join{display:inline-flex;align-items:center;gap:8px;margin-top:7px;color:#7047b9!important;font-size:13px;font-weight:750;text-decoration:none}
.home-event-join:hover{text-decoration:underline;text-underline-offset:4px}
.home-event-card-past{background:#fdfbff;border-color:#eee5f5}
.home-event-card-past .home-event-status{color:#857992}
.home-events-disclaimer{font-size:11px;line-height:1.5;color:#8b8197;margin:12px 0 0}
.home-event-join:focus-visible,.home-events-all:focus-visible{outline:3px solid #a68bfa;outline-offset:4px}
@media(max-width:760px){
  .home-signup-hint{text-align:center;margin:0 auto}
  .home-events{padding:12px 0 30px}
  .home-events-header{align-items:flex-start;flex-direction:column;gap:7px}
  .home-events-header h2{font-size:22px}
  .home-events-all{font-size:12px}
  .home-event-card{padding:16px 17px}
}

/* Consolidated signed-in navigation: quiet, consistent subsection tabs. */
.account-menu-footer .account-menu-secondary{margin:0 0 7px}
.account-menu-footer .account-menu-secondary .account-menu-icon{width:32px;height:32px;font-size:17px}
.learning-tabs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:0 0 23px;padding:6px;border:1px solid #e8def4;background:#fff;border-radius:16px;box-shadow:0 6px 18px #6940a108}
.learning-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 15px;border-radius:11px;color:#766687;font-size:13px;font-weight:800;text-decoration:none;line-height:1.25;white-space:nowrap}
.learning-tabs a:hover,.learning-tabs a:focus-visible{color:#65449b;background:#f8f4ff}
.learning-tabs a:focus-visible{outline:2px solid #9367ce;outline-offset:2px}
.learning-tabs a[aria-current="page"]{background:#eee4fb;color:#67419f}
.path-practice-invite{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px}
.path-practice-invite h2{font-size:19px;line-height:1.3;margin:6px 0 8px;color:#4d356e}
.path-practice-invite p{font-size:13px;line-height:1.55;max-width:580px;color:#77688b;margin:0}
.path-practice-invite a{flex:none;white-space:nowrap;text-decoration:none}
@media(max-width:620px){.learning-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;gap:2px;padding:5px}.learning-tabs a{font-size:12px;padding:9px 12px}.path-practice-invite{align-items:flex-start;flex-direction:column}.path-practice-invite a{white-space:normal}}


/* Parent + active-child header controls. Keep learner identity visible everywhere. */
.learner-menu{position:relative;flex:none}
.learner-menu>summary{list-style:none}
.learner-menu>summary::-webkit-details-marker{display:none}
.learner-menu-trigger{display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:5px 11px 5px 7px;border:1px solid #d8c3f1;background:#f6efff;border-radius:999px;color:#6943a4;cursor:pointer;box-shadow:0 3px 10px #6c45970b}
.learner-menu-trigger:hover,.learner-menu[open]>.learner-menu-trigger{border-color:#ac86da;background:#efe4ff}
.learner-menu-trigger:focus-visible,.learner-menu-panel :is(button,a):focus-visible{outline:3px solid #9b7de2;outline-offset:2px}
.learner-menu-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#e6d5fa;color:#7142ae}
.learner-menu-name{font-size:13px;font-weight:850;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.learner-menu-chevron{flex:none;transition:transform .16s ease}
.learner-menu[open] .learner-menu-chevron{transform:rotate(180deg)}
.learner-menu-panel{position:absolute;right:0;top:calc(100% + 9px);width:min(280px,calc(100vw - 24px));padding:10px;border:1px solid #e4d7f6;background:#fff;border-radius:18px;box-shadow:0 18px 60px #3b225622;z-index:90;text-align:left}
.learner-menu-label{font-size:10px;letter-spacing:1.2px;font-weight:850;color:#9681ac;padding:9px 10px;margin:0 0 3px}
.learner-menu-form{margin:0}
.learner-menu-option{display:flex;align-items:center;gap:10px;width:100%;min-height:51px;padding:9px 10px;border:0;border-radius:12px;background:transparent;color:#4d3b63;text-align:left;font-family:inherit;text-decoration:none;cursor:pointer}
.learner-menu-form .learner-menu-option:hover{background:#f7f1ff}
.learner-menu-selected{background:#f2eafb;color:#633d9c;cursor:default}
.learner-menu-avatar{display:grid;place-items:center;flex:none;width:33px;height:33px;border-radius:11px;background:#efe5fa;color:#7546b4;font-size:14px;font-weight:850}
.learner-menu-details{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}
.learner-menu-details strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:850;white-space:nowrap}
.learner-menu-details small{color:#89799a;font-size:11px}
.learner-menu-check{font-weight:850;color:#7751b5}
.learner-menu-empty{padding:6px 10px 12px;margin:0;color:#796a87;font-size:12px;line-height:1.5}
.learner-menu-manage{display:flex;align-items:center;gap:6px;padding:11px 12px;margin-top:5px;border-top:1px solid #eee7f6;color:#7242b5;text-decoration:none;font-size:12px;font-weight:800}
.learner-menu-manage:hover{background:#f7f1ff;border-radius:10px}
.learner-menu-manage-secondary{color:#857494;font-weight:650;margin-top:0;border-top:0}
.learner-switch-toast{position:fixed;right:22px;bottom:22px;z-index:1000;max-width:min(360px,calc(100vw - 32px));padding:13px 17px;border:1px solid #d9c4ef;border-radius:14px;background:#fff;color:#593b7a;box-shadow:0 12px 35px #3b22562c;font-size:13px;font-weight:750}
@media(max-width:620px){
  .header-account{gap:7px}
  .account-menu-trigger .auth-user-name{display:none}
  .account-menu-trigger{padding:5px 6px;gap:4px}
  .account-menu-avatar{width:29px;height:29px}
  .account-menu-chevron{width:13px}
  .learner-menu-trigger{gap:5px;padding:5px 8px 5px 5px}
  .learner-menu-icon{width:29px;height:29px}
  .learner-menu-name{max-width:min(27vw,110px);font-size:12px}
  .learner-switch-toast{right:16px;bottom:16px}
}
@media(max-width:380px){
  body > header{padding:0 12px}
  .header-account{gap:5px}
  .learner-menu-name{max-width:75px}
  .learner-menu-trigger{gap:3px}
  .account-menu-trigger .account-menu-chevron{display:none}
}
@media(prefers-reduced-motion:reduce){.learner-menu-chevron{transition:none}}


/* Optional mascot selection in family profiles. */
.family-avatar img,.learner-menu-icon img,.learner-menu-avatar img{display:block;width:100%;height:100%;object-fit:contain}
.family-avatar,.learner-menu-icon,.learner-menu-avatar{overflow:hidden}
.mascot-picker{flex-basis:100%;width:100%;min-width:0;max-width:100%;box-sizing:border-box;margin:8px 0 4px;padding:12px 16px 15px;border:1px solid #e5d8f5;border-radius:15px;background:#fcfaff}
.mascot-picker legend{font-size:13px;font-weight:850;color:#5d4087;padding:0 6px}
.mascot-picker legend span{font-weight:500;color:#8d7c9e}
.mascot-picker>p{font-size:12px;color:#867895;line-height:1.5;margin:3px 0 11px}
.mascot-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;max-width:530px;margin:8px 0 12px}
.mascot-picker-option{display:grid;place-items:center;min-width:0;aspect-ratio:1/1;min-height:0;padding:5px;border:2px solid #e8def4;border-radius:15px;background:#fff;cursor:pointer;transition:border-color .16s,background .16s,transform .16s}
.mascot-picker-option img{display:block;object-fit:contain;max-width:100%;width:100%;height:100%}
.mascot-picker-option:hover{border-color:#b594df;background:#f7f0ff;transform:translateY(-2px)}
.mascot-picker-option.is-selected{border-color:#8050c1;background:#f1e6ff;box-shadow:inset 0 0 0 1px #8050c1}
.mascot-picker-option:focus-visible,.mascot-picker-actions button:focus-visible{outline:3px solid #9670d6;outline-offset:3px}
.mascot-picker-current{display:flex;align-items:center;gap:10px;width:fit-content;margin:8px 0 12px;padding:5px 12px 5px 5px;border:1px solid #d8c5f3;border-radius:12px;background:#f3eafd;color:#654393;font-size:12px}
.mascot-picker-current[hidden]{display:none}
.mascot-picker-current img{display:block;width:52px;height:52px;object-fit:contain}
.mascot-picker-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mascot-picker-actions .secondary{font-size:12px;padding:9px 13px;border-radius:11px}
.mascot-picker-clear{border:0;background:transparent;color:#8059af;text-decoration:underline;cursor:pointer;font-size:12px;font-weight:750;padding:8px 2px}
.mascot-picker-clear[hidden]{display:none}
.mascot-picker .mascot-picker-status{margin:9px 0 0;font-size:11px;color:#827393}
@media(max-width:520px){
  .mascot-picker{padding:10px 11px 13px}
  .mascot-picker-grid{gap:5px}
  .mascot-picker-option{border-radius:10px;padding:3px}
}
@media(prefers-reduced-motion:reduce){.mascot-picker-option{transition:none}.mascot-picker-option:hover{transform:none}}


/* Keep both original header dropdowns; only the learner dropdown gains learning links. */
.learner-menu-panel{width:min(320px,calc(100vw - 24px));max-height:min(75vh,670px);overflow-y:auto}
.learner-menu-learning{margin-top:8px;padding-top:8px;border-top:1px solid #eee7f6}
.learner-menu-learning nav{display:grid;gap:3px}
.learner-menu-learning .account-menu-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:#4d3b63;text-decoration:none;font-size:13px;font-weight:800;line-height:1.25}
.learner-menu-learning .account-menu-link:hover,.learner-menu-learning .account-menu-link:focus-visible{background:#f5efff;color:#6e41a9}
.learner-menu-learning .account-menu-link:focus-visible{outline:3px solid #9b7de2;outline-offset:2px}
.learner-menu-learning .account-menu-icon{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:11px;background:#f2ebfd;color:#8056c2;font-size:19px}


/* Explicit, mascot-led confirmation for destructive family actions */
.family-delete-disclosure{border:1px solid #f0cbd3;border-radius:14px;background:#fffafb;padding:12px 15px;max-width:100%}
.family-delete-disclosure>summary{list-style:revert;color:#a03b57;font-weight:750;font-size:13px;cursor:pointer;line-height:1.5}
.family-delete-disclosure[open]>summary{margin-bottom:16px}
.family-delete-warning{display:flex;align-items:flex-start;gap:13px;padding:14px;border-radius:13px;background:#fff3f4;border:1px solid #f1cbd4;color:#493341}
.family-delete-warning img{width:70px;height:70px;object-fit:contain;flex-shrink:0}
.family-delete-warning strong{color:#8e2b49}
.family-delete-warning p{line-height:1.65;font-size:13px;margin:7px 0}
.family-confirm-form{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:16px}
.family-confirm-form>label:first-child{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#493341}
.family-confirm-form input[type=text]{width:min(100%,340px);padding:11px 12px;border-radius:10px;border:1px solid #cfafbc;font:inherit;background:#fff}
.family-confirm-form input[type=text]:focus{outline:2px solid #8661b6;outline-offset:2px}
.family-confirm-form .family-delete-ack{display:flex;align-items:flex-start;gap:9px;max-width:470px;font-size:13px;line-height:1.6;color:#5b4650}
.family-delete-ack input{margin-top:4px;accent-color:#8e2b49}
.family-delete-all{flex:1 1 340px}
.family-privacy-actions .family-delete-all{align-self:stretch}
@media(max-width:550px){.family-delete-warning{flex-direction:column}.family-delete-warning img{width:62px;height:62px}.family-delete-all{flex:1 1 100%}}

/* Student account controls use the existing family panels and header palette. */
.zumi-student-signin {font-size:.85rem;font-weight:650;color:inherit;text-decoration:none;white-space:nowrap;padding:.45rem .55rem}
.zumi-student-signin:hover {text-decoration:underline}
.zumi-student-credentials {margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border, #d7dee4)}
.zumi-student-credentials h4 {margin:0 0 .35rem}
.zumi-student-credentials .family-footnote {margin:.35rem 0 .7rem}
.zumi-student-panel {max-width:620px;margin-inline:auto}
@media (max-width:560px) {.zumi-student-signin {font-size:.76rem;padding:.25rem}}


/* Student sign-in: same lilac palette, typography and mascot as the homepage.
   Scoped so the existing family, learning and parent interfaces are untouched. */
body:has(.zumi-student-login){
  background:radial-gradient(ellipse at 22% 36%,#f0e8ff 0%,#faf8ff 43%,#fcfbff 83%);
}
main:has(.zumi-student-login){
  max-width:1120px;
  min-height:0;
  margin:0 auto;
  padding:58px 32px 80px;
}
.zumi-student-login{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,440px);
  align-items:center;
  gap:clamp(32px,6vw,90px);
  min-height:540px;
  color:#302446;
}
.zumi-student-login-intro{min-width:0}
.zumi-student-login-intro h1{
  font-size:clamp(36px,4.7vw,60px);
  line-height:1.12;
  letter-spacing:-.055em;
  font-weight:850;
  margin:23px 0 18px;
}
.zumi-student-login-intro h1 em{font-style:normal;color:#8961d8}
.zumi-student-login-intro>p{
  max-width:460px;
  font-size:16px;
  line-height:1.75;
  color:#746a88;
  margin:0;
}
.zumi-student-login-buddy{margin-top:27px}
.zumi-student-login-buddy .zumi-question{margin:0;gap:12px}
.zumi-student-login-buddy .zumi-question .zumi-photo{width:124px;height:116px}
.zumi-student-login-buddy .zumi-question .zumi-svg{width:112px}
.zumi-student-login-buddy .zumi-speech{max-width:240px;font-size:12px;white-space:normal}
.zumi-student-login-card{
  background:#fff;
  border:1px solid #e8def6;
  border-radius:24px;
  box-shadow:0 18px 52px #6745a417;
  padding:clamp(25px,4vw,38px);
  min-width:0;
}
.zumi-student-login-card-kicker{
  display:inline-block;
  font-size:11px;
  font-weight:850;
  color:#7956bf;
  letter-spacing:1.8px;
}
.zumi-student-login-card h2{
  color:#38294e;
  font-size:clamp(25px,3vw,30px);
  letter-spacing:-.8px;
  margin:11px 0 8px;
  line-height:1.22;
}
.zumi-student-login-description{font-size:13px;color:#786c8b;line-height:1.65;margin:0}
.zumi-student-login-form{display:grid;gap:17px;margin:25px 0 0}
.zumi-student-login-field{display:grid;gap:8px;min-width:0}
.zumi-student-login-field label{
  color:#524168;
  font-size:13px;
  font-weight:800;
}
.zumi-student-login-field input{
  display:block;
  width:100%;
  min-width:0;
  min-height:51px;
  padding:13px 15px;
  background:#fdfbff;
  border:1px solid #ded5ee;
  border-radius:13px;
  font:inherit;
  font-size:15px;
  color:#35294b;
  transition:border-color .15s,box-shadow .15s;
}
.zumi-student-login-field input::placeholder{color:#9488a6}
.zumi-student-login-field input:hover{border-color:#bba5df}
.zumi-student-login-field input:focus-visible{
  outline:0;
  border-color:#8962d0;
  box-shadow:0 0 0 3px #9b7de22b;
}
.zumi-student-login-submit{
  width:100%;
  min-height:53px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  border-radius:14px;
  font-family:inherit;
  font-size:15px;
  margin-top:4px;
  box-shadow:0 8px 20px #7956cf2a;
  transition:background .16s,transform .16s;
}
.zumi-student-login-submit span{font-size:21px;line-height:1}
.zumi-student-login-submit:hover{transform:translateY(-1px)}
.zumi-student-login-submit:focus-visible,
.zumi-student-login-parent a:focus-visible{
  outline:3px solid #a68bfa;
  outline-offset:3px;
}
.zumi-student-login-error{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 14px;
  margin-top:20px;
  border:1px solid #eed1d8;
  border-radius:12px;
  background:#fff5f7;
  color:#98384d;
  font-size:13px;
  line-height:1.55;
}
.zumi-student-login-error-icon{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  flex:0 0 20px;
  border-radius:50%;
  background:#b4536a;
  color:white;
  font-weight:900;
}
.zumi-student-login-help{
  margin:19px 0 0;
  font-size:12px;
  color:#8c809e;
  line-height:1.65;
}
.zumi-student-login-help strong{color:#5f4b7d;font-weight:750}
.zumi-student-login-parent{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:7px 14px;
  margin-top:24px;
  border-top:1px solid #efe8f7;
  padding-top:19px;
  font-size:12px;
  color:#81748f;
}
.zumi-student-login-parent a{
  color:#7145b7;
  text-decoration:none;
  font-weight:800;
  line-height:1.5;
}
.zumi-student-login-parent a:hover{text-decoration:underline}
@media(max-width:760px){
  main:has(.zumi-student-login){padding:37px 22px 55px}
  .zumi-student-login{grid-template-columns:1fr;min-height:0;gap:18px;max-width:500px;margin-inline:auto}
  .zumi-student-login-intro h1{font-size:clamp(30px,6.4vw,41px);margin:14px 0 11px}
  .zumi-student-login-intro>p{font-size:14px;line-height:1.6}
  .zumi-student-login-buddy{margin-top:9px}
  .zumi-student-login-buddy .zumi-question .zumi-photo{width:82px;height:78px}
  .zumi-student-login-buddy .zumi-question .zumi-svg{width:78px}
  .zumi-student-login-buddy .zumi-speech{padding:9px 12px;font-size:11px}
  .zumi-student-login-card{padding:25px 22px}
}
@media(max-width:380px){
  main:has(.zumi-student-login){padding:25px 16px 48px}
  .zumi-student-login-card{padding:22px 17px}
}
@media(prefers-reduced-motion:reduce){
  .zumi-student-login-submit,.zumi-student-login-field input{transition:none}
  .zumi-student-login-submit:hover{transform:none}
}


/* Parent workspace: reuse the established lilac family and account palette. */
.account-menu-panel{max-height:calc(100dvh - 110px);overflow-y:auto}
.family-dashboard-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px;margin:0 0 22px}
.family-dashboard-link{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;padding:17px;background:#fff;border:1px solid #e7dcf7;border-radius:16px;color:#4d3b63;text-decoration:none;box-shadow:0 8px 20px #7950b709}
.family-dashboard-link:hover,.family-dashboard-link:focus-visible{border-color:#bba2e6;background:#faf7ff;outline-offset:2px}
.family-dashboard-link>span{display:grid;place-items:center;width:35px;height:35px;margin-bottom:3px;border-radius:11px;background:#f2ebfd;color:#8056c2;font-size:20px;font-weight:800}
.family-dashboard-link strong{font-size:13px;line-height:1.3}
.family-dashboard-link small{font-size:11px;font-weight:550;line-height:1.45;color:#887c99}
.family-learner-login{margin-top:5px!important;line-height:1.5}
.family-learner-links{width:100%;margin-top:4px}
.family-learner-links form{margin:0}
.family-learner-links .family-action{font:inherit;font-size:13px;font-weight:800;line-height:1.4}
.family-learner-links .family-action:hover,.family-learner-links .family-action:focus-visible{background:#e7d9fa;border-color:#cdb4ed}
.family-learner-controls>summary{padding:9px 0;color:#684399}
.family-student-setup{width:100%;border:1px solid #e9dff5;background:#fbf8ff;border-radius:13px;padding:12px 15px;margin-top:5px}
.family-student-setup summary{font-size:13px;font-weight:800;color:#6743a5;cursor:pointer}
.family-student-setup .family-footnote{line-height:1.65;margin:12px 0}
.family-student-setup label{display:inline-flex;margin:4px 15px 8px 0;vertical-align:top}
.family-student-setup input{width:min(280px,100%)}
#manage-learners,#children-progress,#add-learner{scroll-margin-top:25px}
@media(max-width:600px){
  .family-dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .family-dashboard-link{padding:13px;gap:4px}
  .family-learner-links{align-items:stretch}
  .family-learner-links .family-action{padding:10px 11px}
}
@media(max-width:365px){.family-dashboard-actions{grid-template-columns:1fr}}

/* Parent-only read-only course summaries; never expose lesson actions here. */
.family-student-note{color:#796b90;font-size:12px;line-height:1.5;flex:1 1 160px}
.family-course-review{width:100%;border-top:1px solid #ece5f5;padding-top:10px;color:#604779}
.family-course-review summary{cursor:pointer;font-weight:800;font-size:13px;padding:6px 0}
.family-course-review ul{list-style:none;margin:7px 0;padding:0}
.family-course-review li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0;border-top:1px solid #f0eaf7;font-size:12px}
.family-course-review li span:first-child{font-weight:750;color:#463258}
.family-course-review li span:last-child{color:#7c6d92}
