/* UI-02/UI-03 source candidate: reuse exact Nine Worlds portal art as decorative backdrops.
   Portal bytes are owner-locked; new placements, PK/K stickers and P 2.5D master remain review gates.
   Math manipulatives and grade 1-6 presentation are intentionally untouched. */
.zm-hero.stop-fishy-ocean,
.zm-hero.stop-sunny-beach,
.zm-hero.stop-wonder-garden {
  position:relative;isolation:isolate;overflow:hidden;
  min-height:10.2rem;padding:clamp(.95rem,2vw,1.35rem) var(--space-3);
  text-align:left;color:#153d45;
}
.zm-hero.stop-fishy-ocean {background:#e4faf6;}
.zm-hero.stop-sunny-beach {background:#e4fff5;}
.zm-hero.stop-wonder-garden {background:#eaf6dc;}
.zm-hero:is(.stop-fishy-ocean,.stop-sunny-beach,.stop-wonder-garden) > .wrap {
  position:relative;z-index:1;min-height:7rem;
  display:flex;flex-direction:column;justify-content:center;
  padding-right:clamp(5.7rem,16vw,10rem);
}
.zm-hero:is(.stop-fishy-ocean,.stop-sunny-beach,.stop-wonder-garden) .zm-hero-label {
  display:inline-flex;align-self:flex-start;margin:0 0 .35rem;padding:.3rem .7rem;
  max-width:100%;border-radius:999px;background:#ffffffe8;
  border:1px solid #bfd8c1;color:#285b45;
  font-size:clamp(.8rem,1.3vw,.95rem);line-height:1.3;
}
.zm-hero:is(.stop-fishy-ocean,.stop-sunny-beach,.stop-wonder-garden) h1 {
  margin:0;font-size:clamp(1.75rem,5vw,2.8rem);line-height:1.1;
  max-width:19ch;overflow-wrap:normal;
}
.zm-hero .zm-world-hero-art {
  position:absolute;inset:0;margin:0;overflow:hidden;pointer-events:none;z-index:-1;
}
.zm-world-hero-art .zm-world-hero-scene {
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.21;
}
.zm-world-hero-art::after {
  content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f3fffae8 0%,#f5fff4b8 65%,#ffffff00);
}
.zm-world-hero-art .zm-world-hero-zori {
  position:absolute;z-index:1;right:clamp(.5rem,3vw,2rem);bottom:.1rem;
  height:clamp(5.5rem,11vw,9rem);width:auto;object-fit:contain;
  filter:drop-shadow(0 3px 6px #183d3b29);
}
.zm-play.stop-fishy-ocean .zm-field {background:#f0fffc;border-color:#a5dfdc;}
.zm-play.stop-sunny-beach .zm-field {background:#fffaf0;border-color:#f4d5a1;}
.zm-play.stop-wonder-garden .zm-field {background:#f4fff1;border-color:#cae6b7;}
.journey-board.board-pre-k .board-cover,
.journey-board.board-k .board-cover {
  --map-cover:#24594c;
}
.journey-board.board-pre-k .board-cover::after {
  background:linear-gradient(90deg,#155c4f 0%,#155c4ff0 37%,#155c4f22 100%);
}
.journey-board.board-k .board-cover::after {
  background:linear-gradient(90deg,#235b45 0%,#235b45f0 37%,#235b4522 100%);
}
.journey-board.board-k {
  --sea-top:#d8f0bf;--sea-mid:#b5dea8;--sea-deep:#82b698;
  --board-ink:#244c41;--card-edge:#b3dbb4;--vehicle:#528961;
  --map-cover:#235b45;--map-accent:#3d7952;--map-highlight:#ffe49a;
  background:linear-gradient(180deg,#f2fff0,#dff1dd 50%,#f9fcf2);
}
.journey-board.board-k .board-wrap {
  background:linear-gradient(155deg,#dbf2c8,#b6debc 55%,#a8cebc);
}
.journey-board.board-k .board-sea,
.journey-board.board-k .tile-island,
.journey-board.board-k .tile-start,
.journey-board.board-k .tile-dock,
.journey-board.board-k .board-finish {
  display:none;
}
.journey-board.board-k .board-tile .map-node-link {
  position:relative;align-self:stretch;margin:1.35rem auto 1rem;
  background:#fffff4;min-height:7rem;max-width:20rem;
  border:3px solid #fff;box-shadow:0 5px 0 #9fcba7,0 12px 25px #24523b22;
}
.journey-board.board-k .board-tiles {gap:1.3rem;}
.journey-board.board-k .board-tile::after {opacity:.5;border-color:#568f67;}
.journey-selection.board-pre-k {
  background-image:linear-gradient(180deg,#edfff4e8,#f8f6e8d9),url(/assets/worlds/pre-k.webp);
}
.journey-selection.board-k {
  background-image:linear-gradient(180deg,#f1ffece8,#fcfbeded),url(/assets/worlds/k.webp);
}
.journey-selection:is(.board-pre-k,.board-k) .selection-cover::after {
  background:linear-gradient(90deg,#225b4bec,#225b4bd1 40%,#225b4b24 100%);
}
@media(max-width:479px){
  .zm-hero:is(.stop-fishy-ocean,.stop-sunny-beach,.stop-wonder-garden) {min-height:8rem;padding:.75rem 1rem;}
  .zm-hero:is(.stop-fishy-ocean,.stop-sunny-beach,.stop-wonder-garden) > .wrap {
    min-height:6.6rem;padding-right:5.7rem;
  }
  .zm-hero:is(.stop-fishy-ocean,.stop-sunny-beach,.stop-wonder-garden) h1 {
    font-size:clamp(1.5rem,7vw,2rem);
  }
  .zm-world-hero-art .zm-world-hero-zori {height:5.7rem;right:.55rem;}
}
@media(prefers-reduced-motion:reduce){
  .zm-world-hero-art *, .journey-board.board-k .board-tile * {
    animation:none!important;transition:none!important;
  }
}
