
/* Room 1B child-first mission polish — 23 Sep 2026 */

/* The picture must be clean before discovery. */
#room-1b .cp-room-target{
  opacity:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}

/* The quiet corner is the real leafy corner in the artwork; no extra leaf symbol. */
#room-1b .cp-prop-quiet{display:none !important;}

/* Keep the OLLIE name label small and directly on his chair. */
#room-1b .cp-prop-chair{
  left:56.4% !important;
  top:70.2% !important;
  transform:none !important;
  font-size:clamp(7px,.72vw,11px) !important;
  line-height:1 !important;
  padding:2px 5px !important;
  border-radius:4px !important;
  background:#fff8d8 !important;
  color:#4b2c63 !important;
  border:1px solid rgba(75,44,99,.22) !important;
  box-shadow:none !important;
}

/* A recognisable picture timetable, placed on the wall beside the doorway. */
#room-1b .cp-prop-timetable{
  left:34.1% !important;
  top:31.2% !important;
  width:9.5% !important;
  min-width:52px !important;
  padding:6px 5px !important;
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:3px !important;
  background:#fffdf4 !important;
  border:3px solid #6f4b82 !important;
  border-radius:7px !important;
  box-shadow:0 2px 5px rgba(67,43,77,.18) !important;
  transform:none !important;
}
#room-1b .cp-prop-timetable b{
  display:grid !important;
  place-items:center !important;
  aspect-ratio:1 !important;
  font-size:clamp(8px,1vw,14px) !important;
  background:#f7efd9 !important;
  border-radius:3px !important;
}

/* Only a found target gets the canonical cream/purple star/check marker.
   Existing find-game JS controls aria-pressed. */
#room-1b .cp-room-target[aria-pressed="true"]{
  opacity:1 !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  border-radius:50% !important;
  background:#fff8df !important;
  border:4px solid #68407d !important;
  box-shadow:0 2px 7px rgba(63,38,76,.18) !important;
  transform:translate(-50%,-50%) !important;
}
#room-1b .cp-room-target[aria-pressed="true"]::before{
  content:"★" !important;
  position:absolute !important;
  inset:0 !important;
  display:grid !important;
  place-items:center !important;
  color:#68407d !important;
  font-size:25px !important;
  line-height:1 !important;
}
#room-1b .cp-room-target[aria-pressed="true"]::after{
  content:"✓" !important;
  position:absolute !important;
  right:-8px !important;
  top:-9px !important;
  width:22px !important;
  height:22px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#68407d !important;
  border:2px solid #68407d !important;
  font-size:14px !important;
  font-weight:900 !important;
}

/* Show me a clue: briefly pulse only the actual target area, then disappear. */
#room-1b .cp-room-target.cp-room-clue:not([aria-pressed="true"]){
  opacity:1 !important;
  border:4px solid rgba(104,64,125,.88) !important;
  border-radius:18px !important;
  background:rgba(255,248,223,.24) !important;
  box-shadow:0 0 0 6px rgba(255,248,223,.75),0 0 0 10px rgba(104,64,125,.24) !important;
  animation:cpRoomCluePulse .75s ease-in-out 3 !important;
}
@keyframes cpRoomCluePulse{
  0%,100%{filter:none}
  50%{filter:brightness(1.12)}
}
@media (prefers-reduced-motion:reduce){
  #room-1b .cp-room-target.cp-room-clue{animation:none !important}
}
@media(max-width:600px){
  #room-1b .cp-prop-timetable{min-width:42px !important;padding:4px !important;border-width:2px !important}
  #room-1b .cp-room-target[aria-pressed="true"]{width:40px !important;height:40px !important;min-width:40px !important;min-height:40px !important}
  #room-1b .cp-room-target[aria-pressed="true"]::before{font-size:21px !important}
}


/* Room 1B mission targets v2 — approved objects */
#room-1b .cp-prop-timetable{display:none!important}
/* Larger child-friendly invisible tap zones. These deliberately extend around
   the objects so one natural tap works reliably on iPad, while the found
   markers below remain centred on the actual objects. */
/* Accurate child-friendly tap zones: closely follow each pictured object.
   First-tap reliability is handled by the Room 1B pointer controller, so the
   hit areas no longer need to spill far into neighbouring scenery. */
#room-1b .cp-room-chair{left:53.9%!important;top:47.6%!important;width:16%!important;height:24%!important;min-width:52px;min-height:52px;touch-action:manipulation}
#room-1b .cp-room-manylegs{left:90.0%!important;top:44%!important;width:11.2%!important;height:20%!important;min-width:52px;min-height:52px;touch-action:manipulation}
#room-1b .cp-room-globe{left:40.6%!important;top:19%!important;width:13%!important;height:18%!important;min-width:52px;min-height:52px;touch-action:manipulation}

/* Once found, centre the canonical marker on the actual object in the
   1536 × 1024 Room 1B artwork. */
#room-1b .cp-room-chair[aria-pressed="true"]{left:56.4%!important;top:70.2%!important}
#room-1b .cp-room-manylegs[aria-pressed="true"]{left:91.0%!important;top:54.0%!important}
#room-1b .cp-room-globe[aria-pressed="true"]{left:42.2%!important;top:31.2%!important}


/* Room 1B found-marker de-duplication — 23 Sep 2026
   Force a single canonical cream circle + purple star + white tick. */
#room-1b .find-target.cp-room-target[aria-pressed="true"],
#room-1b .find-target.cp-room-target.is-found,
#room-1b .find-target.cp-room-target.found{
  background:#fff8df !important;
  background-image:none !important;
  border:4px solid #68407d !important;
  box-shadow:0 2px 7px rgba(63,38,76,.18) !important;
}
#room-1b .find-target.cp-room-target[aria-pressed="true"] > *,
#room-1b .find-target.cp-room-target.is-found > *,
#room-1b .find-target.cp-room-target.found > *{
  display:none !important;
}
/* Neutralise any generic nested/ring marker classes the shared game may add. */
#room-1b .cp-room-target .find-marker,
#room-1b .cp-room-target .found-marker,
#room-1b .cp-room-target .find-star,
#room-1b .cp-room-target .marker,
#room-1b .cp-room-target .check{
  display:none !important;
}
/* Keep exactly our one star and one tick pseudo-element. */
#room-1b .cp-room-target[aria-pressed="true"]::before{
  content:"★" !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}
#room-1b .cp-room-target[aria-pressed="true"]::after{
  content:"✓" !important;
  box-sizing:border-box !important;
}

/* Room 1B audit: fit the complete search scene comfortably on desktop.
   Tablet/phone sizing is intentionally left unchanged. */
@media (min-width:901px){
  #room-1b .find-picture{
    width:min(100%,81vh) !important;
    margin-inline:auto !important;
  }
  #room-1b .find-picture>img{
    width:100% !important;
    height:auto !important;
  }
}
/* Put Ollie's completed marker on the actual blue chair. */
#room-1b .cp-room-chair[aria-pressed="true"]{
  left:56.4% !important;
  top:62.5% !important;
}

/* User-confirmed object centres on the source artwork. */
#room-1b .cp-room-chair[aria-pressed="true"]{left:61.2%!important;top:55.8%!important}
#room-1b .cp-room-manylegs[aria-pressed="true"]{left:95.1%!important;top:49.7%!important}

/* Persistent label directly beneath Ollie's chair. */
#room-1b .find-picture::after{
  content:"Ollie’s chair";
  position:absolute;
  left:61.2%;
  top:64.2%;
  transform:translateX(-50%);
  z-index:4;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#4b2a68;
  font:700 clamp(10px,1vw,13px)/1.2 "Nunito",sans-serif;
  pointer-events:none;
  white-space:nowrap;
}

/* Final Room 1B positions supplied from the source artwork.
   Unpressed hit boxes above are deliberately larger and centred on these points.
   Found markers remain at the exact object centres. */
#room-1b .cp-room-chair[aria-pressed="true"]{left:61.9%!important;top:57.6%!important}
#room-1b .cp-room-manylegs[aria-pressed="true"]{left:94.4%!important;top:52%!important}
#room-1b .cp-room-globe[aria-pressed="true"]{left:45.9%!important;top:26%!important}
#room-1b .find-picture::after{left:61.9%!important;top:65.5%!important}

/* Room 1B mission checklist: mirror each successful picture find above. */
#room-1b .cp-clue-card.is-found{
  background:#eef8f1 !important;
  border-color:#8db89b !important;
}
#room-1b .cp-clue-card.is-found .find-star{
  color:#39764f !important;
  font-weight:900 !important;
}
