/* Tasks lead the pupil view; colour identifies an action or subject. */
.child-portal{background:#f5f8f7}.child-portal .sidebar{background:#fff;border-right:1px solid #d9e3dd}.child-portal .content{max-width:1180px}.child-portal .btn,.child-portal .nav a.active{box-shadow:none}.child-portal .school-footer{display:none}
.pupil-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.pupil-heading p{color:var(--muted);font-size:1.05rem;margin:0 0 5px}.pupil-heading h1{margin:0;font-size:2rem}
.pupil-tasks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}
.pupil-task{display:flex;flex-direction:column;gap:16px;padding:22px;background:#fff;border:1px solid #ceded5;border-radius:16px;min-width:0}.pupil-task h2{font-size:1.15rem;line-height:1.4;overflow-wrap:anywhere}.pupil-task>.btn{margin-top:auto}.pupil-task .badge svg{width:18px;height:18px}.pupil-task .mini-progress{margin:0}.pupil-task .row{gap:7px}.pupil-task .small svg{width:16px;height:16px;vertical-align:middle}
.pupil-progress{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 0;margin:14px 0;color:var(--muted);font-size:.9rem}.pupil-progress progress{flex:1;max-width:260px;min-width:110px;height:10px}
.child-portal .wf-child-help{background:#fff;border:1px solid #d9e3dd;padding:14px 18px}.child-portal .wf-child-help p:empty{display:none}.pupil-extras{margin-top:18px}.pupil-extras summary,.child-result summary{cursor:pointer;font-weight:700;padding:8px 0}.child-portal .result-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.child-result{border:1px solid #d9e3dd;box-shadow:none}.child-result details{margin-top:16px}
.emoji-welcome{background:#eef6f0!important}.emoji-welcome h1{font-size:2rem}.emoji-welcome p{max-width:220px}.login-status{min-height:26px;text-align:center;margin:12px 0}.login-steps{font-size:.85rem}.emoji-code{margin-top:15px}
@media(max-width:1100px){.pupil-tasks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.pupil-tasks,.child-portal .result-gallery{grid-template-columns:1fr}.pupil-task{padding:18px}.pupil-heading h1{font-size:1.7rem}.pupil-progress{gap:10px}.emoji-welcome{padding:18px!important}.emoji-welcome .school-logo{max-width:90px}.emoji-welcome p{display:none}}
.emoji-login{display:block}.emoji-welcome{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:20px;padding:20px}.emoji-welcome .school-logo{width:85px}.emoji-welcome h1{font-size:1.8rem;margin:0}.emoji-welcome p{font-size:1rem;margin:0}.emoji-panel{max-width:850px;padding:26px}.login-choices button{box-shadow:none;border-radius:14px}.login-choices button:hover{transform:none}.login-choices .class-choice{background:white!important}.emoji-panel h2{font-size:1.65rem}.login-steps{margin:22px 0}
@media(prefers-reduced-motion:reduce){.child-portal *,.emoji-login *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.question-example{padding:14px 18px;border:1px solid #d5dfd8;border-radius:12px;background:#f6faf7;margin:12px 0}.question-example summary{cursor:pointer;font-weight:700;min-height:32px}.question-example p{white-space:pre-wrap;margin:12px 0}.pupil-task a[aria-disabled=true]{opacity:.55;cursor:not-allowed}
.day-task-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #e4eae6}.day-task-row>span:first-child{flex:1}.day-task-row input{flex:none}

/* One welcoming Snappie with a short, purposeful greeting. */
.emoji-welcome{background:#e5f3e9!important;gap:30px;padding:26px max(24px,calc((100vw - 1000px)/2));justify-content:space-between}
.emoji-welcome .school-logo{width:145px;max-width:none;flex-shrink:0}
.emoji-welcome .welcome-copy{max-width:410px}.emoji-welcome h1{font-size:clamp(24px,3vw,36px);margin-bottom:12px}.emoji-welcome p{display:block;max-width:none;font-size:20px;line-height:1.5}
.emoji-welcome .welcome-snappie{display:block;width:150px;height:175px;object-fit:contain;animation:none;flex-shrink:0}
.login-choices .class-choice:nth-child(3n+1){background:#eaf5ee!important;border-color:#44AC6C}.login-choices .class-choice:nth-child(3n+2){background:#edf5fc!important;border-color:#116CAB}.login-choices .class-choice:nth-child(3n){background:#fcf0ea!important;border-color:#C46044}
@media(max-width:680px){.emoji-welcome{display:grid;grid-template-columns:1fr 90px;gap:12px}.emoji-welcome .school-logo{grid-column:1;width:120px}.emoji-welcome .welcome-copy{grid-column:1}.emoji-welcome .welcome-snappie{grid-column:2;grid-row:1/span 2;width:90px;height:125px}.emoji-welcome h1{font-size:23px}.emoji-welcome p{display:block;font-size:16px}.emoji-panel{padding:20px}}
