
/* Collyvale Primary — school-day sequence v2 */
.cp-countdown-strip{position:sticky;top:0;z-index:20;display:block;text-align:center;padding:.65rem 1rem;background:#fff2bd;color:#4e2d67;border-bottom:2px solid #d7b44a;text-decoration:none}
.cp-countdown-strip[hidden]{display:none!important}
.cp-register,.cp-lunch,.cp-about-me,.cp-countdown{padding-top:3.2rem;padding-bottom:3.2rem}
.cp-register-card,.cp-lunch-card,.cp-toilet-beat,.cp-about-controls,.cp-welcome-wall,.cp-countdown-card{background:#fffaf0;border:1px solid #e1ca88;border-radius:22px;padding:1.25rem;margin-top:1rem}
.cp-register-list{list-style:none;padding:0;margin:1rem auto;max-width:520px}.cp-register-list li{display:flex;justify-content:space-between;padding:.7rem .9rem;border-bottom:1px solid #eadfca;opacity:.3;transform:translateY(5px);transition:.3s}.cp-register-list li.cp-called{opacity:1;transform:none}.cp-register-list li b{visibility:hidden;color:#4e7a50}.cp-register-list li.cp-present b{visibility:visible}.cp-register-child{font-weight:900;color:#4e2d67}.cp-register-reply{font-weight:800;color:#4e2d67}
.cp-about-builder{display:grid;grid-template-columns:1fr 1.1fr;gap:1.2rem;margin-top:1rem}.cp-about-controls input{width:100%;max-width:22rem;padding:.75rem;border:1px solid #cdbdd6;border-radius:12px;margin:.45rem 0 1rem}.cp-about-controls fieldset{border:0;padding:0}.cp-favourite-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.cp-favourite-grid button,.cp-lunch-options button{padding:.7rem;border:1px solid #d7c9dd;border-radius:12px;background:#fff;color:#4e2d67;font:inherit;cursor:pointer}.cp-favourite-grid button[aria-pressed=true],.cp-lunch-options button[aria-pressed=true]{background:#eee5f4;border-color:#68407d;box-shadow:0 0 0 2px rgba(104,64,125,.12)}.cp-about-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.cp-print-star,.cp-reset-school-date{border:2px solid #68407d;background:#fff;color:#4e2d67;border-radius:999px;padding:.65rem .9rem;font-weight:800}.cp-print-tip,.cp-about-note{font-size:.9rem;color:#655a68}
.cp-wall-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.cp-wall-star{min-height:115px;display:grid;place-items:center;text-align:center;background:#fff;border-radius:16px;padding:.65rem;border:1px solid #ead9a7}.cp-mini-star{font-size:2rem;color:#e4b82f}.cp-wall-star small,.cp-child-star small{display:block}.cp-wall-gap{border:2px dashed #876b91;background:#faf6fc}.cp-child-star{margin:.8rem auto 0;max-width:240px;min-height:120px;place-items:center;text-align:center;background:#fff7d5;border:3px solid #68407d;border-radius:18px;padding:.8rem}.cp-child-star.cp-star-land{display:grid!important;animation:cpStarLand .65s ease both}@keyframes cpStarLand{0%{opacity:0;transform:translateY(-28px) scale(.75) rotate(-5deg)}70%{transform:translateY(4px) scale(1.04)}100%{opacity:1;transform:none}}.cp-shared-favourite{font-weight:900;color:#4e2d67}
.cp-lunch-options{display:flex;gap:.55rem;flex-wrap:wrap;margin:.55rem 0 1rem}.cp-lunch-card fieldset{border:0;padding:0}.cp-lunch-card legend{font-weight:900;color:#4e2d67}.cp-lunch-summary,.cp-help-note{font-weight:700}.cp-toilet-beat{background:#eef7f2}
.cp-date-setup{display:flex;gap:.65rem;align-items:end;flex-wrap:wrap}.cp-date-setup label{width:100%}.cp-date-setup input{padding:.7rem;border:1px solid #cdbdd6;border-radius:10px}.cp-sleeps-display{margin:1rem 0;padding:1rem;background:#efe7f4;border-radius:15px;color:#4e2d67}.cp-week-path{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}.cp-day{padding:.55rem .25rem;text-align:center;border:1px solid #ddd0df;border-radius:12px;background:#fff}.cp-day--today{border:3px solid #d3ac36;background:#fff8dc}.cp-day--open{background:#edf6ed}.cp-day--future{opacity:.5}.cp-daily-surprise{display:flex;gap:.8rem;align-items:center;margin-top:1rem;padding:1rem;background:#fff;border:1px solid #ddd0df;border-radius:15px}.cp-surprise-icon{font-size:2rem}.cp-privacy-note{padding:.8rem 1rem;background:#f3edf6;border-radius:12px}
@media(max-width:720px){.cp-about-builder{grid-template-columns:1fr}.cp-week-path{grid-template-columns:repeat(4,1fr)}}@media(max-width:460px){.cp-favourite-grid,.cp-wall-grid{grid-template-columns:1fr}.cp-week-path{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.cp-register-list li,.cp-child-star{transition:none!important;animation:none!important}}


/* Primary School privacy/reset/name controls */
.cp-privacy-reset{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.cp-privacy-reset .cp-privacy-note{margin:0;flex:1}
.cp-start-again,.cp-change-name,.cp-reset-cancel{
  border:2px solid #68407d;background:#fff;color:#4e2d67;border-radius:999px;
  padding:.52rem .82rem;font:inherit;font-weight:800;cursor:pointer
}
.cp-change-name{margin:.45rem 0 .15rem;font-size:.88rem;padding:.35rem .65rem}
.cp-change-name[hidden]{display:none!important}
.cp-reset-dialog{position:fixed;inset:0;z-index:9999;background:rgba(45,28,52,.48);display:grid;place-items:center;padding:1rem}
.cp-reset-dialog[hidden]{display:none!important}
.cp-reset-dialog-card{width:min(520px,100%);background:#fffaf0;border:3px solid #68407d;border-radius:22px;padding:1.35rem;box-shadow:0 18px 60px rgba(40,20,50,.28)}
.cp-reset-dialog-card h3{margin-top:0;color:#4e2d67}
.cp-reset-actions{display:flex;gap:.65rem;flex-wrap:wrap}
.cp-reset-toast{position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:9998;background:#4e2d67;color:#fff;padding:.8rem 1.1rem;border-radius:999px;box-shadow:0 6px 20px rgba(50,30,60,.22);font-weight:900;text-align:center}
.cp-reset-toast[hidden]{display:none!important}
.cp-countdown-card.cp-countdown-far .cp-week-path,
.cp-countdown-card.cp-countdown-far .cp-daily-surprise{display:none!important}

/* Chapter 3 audit — keep the Very Loud Hall scene visible without letting it
   dominate a desktop screen. Tablet/phone layouts keep their natural width. */
@media (min-width:901px){
  #hall .shop-artwork{
    width:min(100%,81vh) !important;
    margin-inline:auto !important;
  }
  #hall .shop-artwork>img{
    width:100% !important;
    height:auto !important;
    display:block !important;
  }
}

