
/* Collyvale Primary — First Morning enhancement */
.cp-morning,.cp-pegs,.cp-classroom-extra,.cp-timetable,.cp-found-today,.cp-grownup-note{margin-top:2.2rem;margin-bottom:2.2rem}
.cp-story-card{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;background:#fff8df;border:2px solid #e6d08c;border-radius:22px;padding:1.1rem}.cp-story-icon{font-size:3rem}
.cp-pegs{text-align:center;background:#f7f0fb;border:2px solid #d9c8e5;border-radius:24px;padding:1.2rem}.cp-peg-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin:1rem 0}.cp-peg{background:#fffdf8;border:2px solid #6f4a86;border-radius:12px;padding:.75rem;font-weight:900}.cp-peg span{display:block;font-size:1.5rem;margin-top:.25rem}.cp-my-peg{max-width:520px;margin:1rem auto}.cp-my-peg label{display:block;font-weight:900;margin-bottom:.4rem}.cp-my-peg>div:first-of-type{display:flex;gap:.45rem}.cp-my-peg input{flex:1;min-height:46px;border:2px solid #9e83af;border-radius:12px;padding:.6rem;font:inherit}.cp-my-peg button{border:0;border-radius:12px;background:#6f4a86;color:#fff;padding:.6rem .9rem;font-weight:900}.cp-personal-peg{margin:.7rem auto;padding:1rem;background:#fff7d8;border:3px solid #d5b951;border-radius:16px;font-size:1.25rem;font-weight:900}
.cp-classroom-extra{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cp-quiet-card,.cp-loose-parts{border-radius:22px;padding:1.1rem;text-align:center}.cp-quiet-card{background:#eef8f5;border:2px solid #c8dfd6}.cp-loose-parts{background:#fff5e7;border:2px solid #ead2ae}.cp-breathe-orb{width:110px;height:110px;margin:.8rem auto;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:2.5rem;transition:transform 2.8s ease}.cp-breathe.breathing .cp-breathe-orb{transform:scale(1.35)}.cp-breathe-button{min-height:46px;border:2px solid #6f4a86;border-radius:999px;background:#fff;color:#4b315d;padding:.6rem 1rem;font-weight:900}.cp-parts{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem}.cp-parts button{border:2px solid #d5b991;border-radius:12px;background:#fffdf8;min-height:78px;font-size:1.4rem}.cp-parts button span{display:block;font-size:.7rem}.cp-parts button.chosen{outline:3px solid #6f4a86;background:#f3eafb}.cp-parts-result{margin-top:.7rem;font-weight:800}
.cp-volume-game{margin-top:1rem;background:#f5eff9;border:2px solid #d9c8e5;border-radius:22px;padding:1rem;text-align:center}.cp-sound-layers{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.cp-sound-layers button{min-height:78px;border:2px solid #a88ab8;border-radius:14px;background:#fff;color:#4b315d}.cp-sound-layers button.on{background:#eadcf3;box-shadow:0 0 0 3px #6f4a86 inset}.cp-sound-layers span{display:block;font-size:.75rem}.cp-volume-meter{display:flex;gap:.3rem;max-width:300px;margin:.8rem auto}.cp-volume-meter i{height:12px;flex:1;border-radius:99px;background:#ddd}.cp-volume-meter i.on{background:#6f4a86}.cp-kindness{margin:1rem 0 0;padding:1rem;background:#fff8df;border-radius:18px;text-align:center}.cp-kindness div{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.cp-kindness button{border:2px solid #d5b951;border-radius:999px;background:#fff;padding:.55rem .8rem;color:#4b315d;font-weight:800}
.cp-timetable{text-align:center}.cp-timetable-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin:1rem 0}.cp-timetable-strip button{min-height:90px;border:2px solid #d9c8e5;border-radius:15px;background:#fffdf8;color:#4b315d;font-size:1.5rem}.cp-timetable-strip strong{display:block;font-size:.8rem}.cp-timetable-strip button.active{background:#eef8f5;border-color:#7fa99a}.cp-time-reply{background:#f7f0fb;border-radius:14px;padding:.8rem;font-weight:800}
.cp-book-card{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;margin-top:1rem;background:#fff8df;border:2px solid #e6d08c;border-radius:18px;padding:.8rem}.cp-book-card>span{font-size:2rem}.cp-book-card p{margin:.15rem 0}.cp-found-today{text-align:center}.cp-grownup-note{background:#f3eafb;border-radius:22px;padding:1rem 1.2rem}.cp-grownup-links{display:flex;gap:.7rem;flex-wrap:wrap}.cp-grownup-links a{font-weight:800;color:#4b315d}
@media(max-width:900px){.cp-classroom-extra{grid-template-columns:1fr}.cp-timetable-strip{grid-template-columns:repeat(3,1fr)}.cp-sound-layers{grid-template-columns:repeat(2,1fr)}.cp-parts{grid-template-columns:repeat(3,1fr)}.cp-book-card{grid-template-columns:auto 1fr}.cp-book-card .button{grid-column:1/-1}.cp-peg-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cp-story-card{grid-template-columns:1fr;text-align:center}.cp-timetable-strip{grid-template-columns:repeat(2,1fr)}.cp-parts{grid-template-columns:repeat(2,1fr)}.cp-my-peg>div:first-of-type{flex-direction:column}}

/* First Morning refinement */
.cp-peg small{display:block;margin-top:.25rem;font-size:.68rem;font-weight:700;color:#755d83}
.cp-peg-waiting{background:#f8f4ed;border-style:dashed}
.cp-loose-wrap{max-width:760px;margin-top:1rem;margin-bottom:2rem}.cp-loose-wrap .cp-loose-parts{padding:.85rem}.cp-loose-wrap .cp-parts{max-width:520px;margin:auto;grid-template-columns:repeat(4,1fr)}.cp-loose-wrap .cp-parts button{min-height:66px}
.cp-quiet-wrap{margin-top:1rem;margin-bottom:1rem}.cp-quiet-wrap .cp-quiet-card{max-width:760px;margin:auto}
.cp-lilly{margin-top:1rem;margin-bottom:2.2rem}.cp-lilly .cp-kindness{max-width:820px;margin:auto}
.cp-stop-sounds{display:inline-block;margin:.75rem auto .15rem;min-height:44px;border:2px solid #6f4a86;border-radius:999px;background:#fff;color:#4b315d;padding:.55rem 1rem;font-weight:900}
.cp-brave-reward{width:118px;height:118px;margin:1rem 0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff2a8;border:5px solid #6f4a86;box-shadow:0 4px 0 #d5b951;color:#4b315d;text-align:center;line-height:1.02}.cp-brave-reward>span{font-size:1.8rem}.cp-brave-reward strong{font-size:.76rem;margin:.15rem 0}.cp-brave-reward small{font-size:.65rem;font-weight:800}
@media(max-width:560px){.cp-loose-wrap .cp-parts{grid-template-columns:repeat(2,1fr)}}

/* Final Primary findability + collectable polish */
.find-picture{position:relative}
.cp-scene-prop{position:absolute;z-index:2;pointer-events:none;transform:translate(-50%,-50%);box-shadow:0 2px 5px rgba(45,32,52,.18)}
.cp-prop-chair{left:58%;top:68%;padding:.18rem .32rem;border-radius:5px;background:#fff8dc;border:1px solid #8b6a46;color:#5b3f2b;font:800 .55rem/1 sans-serif;transform:translate(-50%,-50%) rotate(-3deg)}
.cp-prop-quiet{left:20%;top:63%;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eaf6e9;border:2px solid #6e9b75;font-size:1.15rem}
.cp-prop-timetable{left:38%;top:34%;display:grid;grid-template-columns:repeat(2,1fr);gap:2px;padding:4px;background:#fffdf6;border:2px solid #80658f;border-radius:5px;font-size:.62rem}
.cp-brave-collect{cursor:pointer;font:inherit}.cp-brave-collect.collected{background:#fff7c9;box-shadow:0 0 0 5px rgba(111,74,134,.16),0 4px 0 #d5b951;transform:scale(1.04)}.cp-brave-status{font-weight:900;color:#4b315d;min-height:1.4em}

/* CHANGE: visited timetable tiles remain visibly completed; active tile is still highlighted. */
.cp-timetable-strip button{position:relative;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.cp-timetable-strip button.cp-time-seen{background:#f3fbf7;border-color:#7fa99a}
.cp-timetable-strip button.cp-time-seen::after{
 content:"✓";position:absolute;right:8px;top:6px;width:24px;height:24px;border-radius:50%;
 display:grid;place-items:center;background:#7fa99a;color:#fff;font-size:.9rem;font-weight:900
}
.cp-timetable-strip button.active{background:#e8f7f1;border-color:#5f9582;transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.cp-timetable-strip button{transition:none}.cp-timetable-strip button.active{transform:none}}
