/* v6.6 — learner stars, system feedback and whole-class pledge signing */
.reward-card,.pledge-sidebar-card{display:flex;align-items:center;gap:12px;margin:13px 0;padding:14px;border:1px solid #ddc99c;border-radius:13px;background:linear-gradient(135deg,#fff9e9,#fff)}
.reward-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#f4b535,#d87921);font-size:28px;box-shadow:0 8px 22px #d9852745}
.reward-card p,.pledge-sidebar-card small{margin:4px 0 0;color:#667d87;font-size:12px}.reward-card strong{color:#c45e24;font-size:21px}
.pledge-sidebar-card{display:grid;grid-template-columns:1fr auto;background:linear-gradient(135deg,#edf8f4,#fff);border-color:#acd3c5}.pledge-sidebar-card>span{font-weight:700}.pledge-sidebar-card>strong{font-size:21px;color:#18745d}.pledge-sidebar-card>small{grid-column:1/3}
.student-missions,.student-pledge-page{max-width:1180px;margin:0 auto;min-height:calc(100dvh - 78px)}
.student-practice-nav{display:flex;gap:6px;flex-wrap:wrap}.student-practice-nav button{min-height:38px;padding:7px 12px}
.mission-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;margin:20px 0;padding:27px 30px;border-radius:21px;color:#f8f4e9;background:radial-gradient(circle at 82% 20%,#ce8a3c55,transparent 28%),linear-gradient(135deg,#183847,#285d62);box-shadow:0 18px 42px #17374724}
.mission-kicker{font-size:12px;letter-spacing:.15em;color:#e9c78e}.mission-hero h2{margin:10px 0 6px;font-size:clamp(21px,3vw,32px);color:#fff}.mission-hero p{margin:0;color:#d5e0dd;line-height:1.7}
.star-score{width:145px;height:125px;display:grid;grid-template-columns:1fr auto;place-content:center;border:1px solid #fff4;border-radius:18px;background:#ffffff12;text-align:center}.star-score strong{font-size:54px;line-height:1;color:#fff}.star-score span{font-size:38px;line-height:1;color:#ffc750}.star-score small{grid-column:1/3;margin-top:8px;color:#d5dfdc}
.hazard-mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.hazard-mission{min-height:145px;padding:17px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;border-radius:16px;background:linear-gradient(#fff,#f7faf9);box-shadow:0 8px 24px #17374710}.hazard-mission>span{font-size:12px;color:#6a828c}.hazard-mission>strong{font-size:18px;line-height:1.45}.hazard-mission>small{color:#8a9ba1}.hazard-mission.completed{border-color:#d79a36;background:linear-gradient(145deg,#fff9e9,#fff)}.hazard-mission.completed>small{color:#c16b21;font-weight:700}
.student-feedback-feed{margin-top:20px;padding:21px;border:1px solid #d8e2e3;border-radius:18px;background:#f9fbfa}.student-feedback-feed h2{font-size:20px}
.feedback-ticket{display:grid;grid-template-columns:44px 1fr;gap:12px;margin-top:10px;padding:14px;border:1px solid #dae4e4;border-radius:13px;background:#fff}.feedback-ticket p{margin:5px 0;line-height:1.65}.ticket-star{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff1c9;color:#d98520;font-size:25px}.feedback-ticket small{color:#69808a;line-height:1.55}
.earned-star{display:grid;grid-template-columns:66px 1fr;gap:14px;align-items:center;margin-top:15px;padding:16px;border:1px solid #e2c477;border-radius:16px;background:linear-gradient(135deg,#fff5d8,#fff)}.earned-star>span{font-size:55px;color:#efab26;text-align:center;filter:drop-shadow(0 6px 9px #d8792940)}.earned-star p{margin:5px 0;line-height:1.65}.earned-star small{color:#9a6a29}.earned-star.burst>span{animation:star-burst .55s cubic-bezier(.2,.8,.2,1)}
@keyframes star-burst{0%{transform:scale(.2) rotate(-25deg);opacity:0}65%{transform:scale(1.25) rotate(8deg)}100%{transform:scale(1) rotate(0)}}
.evaluation-overview{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:12px 0;padding:18px 22px;border-radius:17px;color:#fff;background:linear-gradient(135deg,#183b4b,#286466)}.evaluation-overview>div{display:grid;grid-template-columns:auto auto;align-items:end;gap:6px}.evaluation-overview strong{font-size:46px;line-height:1;color:#ffd36a}.evaluation-overview span{font-size:20px}.evaluation-overview small{grid-column:1/3;color:#d8e3df}.class-feedback{padding:17px 20px;border-left:5px solid #d7792f;border-radius:10px;background:#fff7e9;line-height:1.75}.class-feedback p{margin:7px 0 0}
.evaluation-roster{display:grid;grid-template-columns:repeat(8,minmax(72px,1fr));gap:8px;margin-top:18px}.evaluation-roster article{display:grid;gap:5px;padding:10px;border:1px solid #d7e2e3;border-radius:11px;background:#fff;text-align:center}.evaluation-roster article>span{min-height:20px;color:#e59d24;letter-spacing:1px}.evaluation-roster article>small{color:#7a8d94}
.evaluation-feed{max-height:45dvh;overflow:auto;padding-right:5px}
.pledge-intro{display:flex;justify-content:space-between;gap:15px;margin:18px 0 12px;padding:14px 18px;border-radius:13px;background:#e9f5f1;color:#246451}.pledge-intro small{color:#667f79}
#teacherPledgeMount{max-height:72dvh;overflow:auto;padding:2px 4px 18px}.student-pledge-page #studentPledgeMount{margin-top:12px}
@media(max-width:850px){.hazard-mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.evaluation-roster{grid-template-columns:repeat(5,minmax(65px,1fr))}}
@media(max-width:600px){.student-missions,.student-pledge-page{padding:12px}.mission-hero{grid-template-columns:1fr;padding:20px}.star-score{width:100%;height:auto;padding:15px;grid-template-columns:auto auto}.star-score small{grid-column:auto;margin:0 0 4px 8px}.hazard-mission-grid{grid-template-columns:1fr}.hazard-mission{min-height:120px}.evaluation-roster{grid-template-columns:repeat(3,minmax(62px,1fr))}.evaluation-overview{align-items:stretch;flex-direction:column}.evaluation-overview button{width:100%}.pledge-intro{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.earned-star.burst>span{animation:none}.sp-progress-bar{transition:none!important}}
