/* v25.9.4 Mokomoko World Entry & Map */
.v2594MokoEntry{
  position:relative;
  margin:12px 0;
  padding:0;
  border:0;
  background:transparent;
  width:100%;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(21,61,40,.24);
}
.v2594MokoEntry img{
  display:block;
  width:100%;
  max-height:118px;
  object-fit:cover;
}
.v2594MokoEntryText{
  position:absolute;
  inset:auto 12px 10px 12px;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:10px;
  color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.55);
  pointer-events:none;
}
.v2594MokoEntryText b{font-size:17px;line-height:1.15}
.v2594MokoEntryText span{font-size:11px;line-height:1.25;text-align:right}
.v2594MokoMap{
  position:fixed;
  inset:0;
  z-index:9998;
  display:none;
  background:linear-gradient(180deg,rgba(8,35,24,.88),rgba(16,54,38,.96));
  color:#17351f;
}
.v2594MokoMap.show{display:block}
.v2594MokoPanel{
  position:absolute;
  inset:env(safe-area-inset-top) 0 env(safe-area-inset-bottom) 0;
  max-width:520px;
  margin:auto;
  background:
    radial-gradient(circle at 18% 10%,rgba(203,255,218,.42),transparent 28%),
    linear-gradient(180deg,#f8fff0,#d8f0c8);
  overflow:auto;
  padding:14px 14px 22px;
}
.v2594MokoTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.v2594MokoTop b{font-size:17px}
.v2594MokoClose,
.v2594MokoPrep{
  border:0;
  border-radius:12px;
  padding:9px 12px;
  font-weight:800;
  color:#174025;
  background:#fff8d3;
  box-shadow:0 4px 10px rgba(47,83,35,.18);
}
.v2594MokoHero{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  min-height:116px;
  margin-bottom:12px;
  background:#d8efd0;
}
.v2594MokoHero img{
  display:block;
  width:100%;
  height:138px;
  object-fit:cover;
}
.v2594MokoHeroText{
  position:absolute;
  left:14px;
  right:14px;
  bottom:12px;
  color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.55);
}
.v2594MokoHeroText b{display:block;font-size:20px}
.v2594MokoHeroText span{display:block;font-size:12px;margin-top:3px}
.v2594MokoGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.v2594MokoStage{
  position:relative;
  min-height:176px;
  border:0;
  border-radius:14px;
  padding:10px;
  overflow:hidden;
  background:linear-gradient(180deg,#fffdf6,#e6f6dc);
  color:#20331c;
  box-shadow:0 6px 16px rgba(32,70,35,.18);
  text-align:left;
}
.v2594MokoStage.locked{filter:saturate(.72);opacity:.72}
.v2594MokoFrame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.55;
  pointer-events:none;
}
.v2594MokoBoss{
  position:relative;
  display:block;
  width:86px;
  height:86px;
  object-fit:contain;
  margin:2px auto 6px;
  filter:drop-shadow(0 4px 8px rgba(32,54,28,.25));
}
.v2594MokoStage b,
.v2594MokoStage span,
.v2594MokoStage em{
  position:relative;
  z-index:1;
  display:block;
}
.v2594MokoStage b{font-size:13px;line-height:1.2}
.v2594MokoStage span{font-size:11px;line-height:1.25;margin-top:4px}
.v2594MokoStage em{font-style:normal;font-size:10px;margin-top:5px;color:#446239}
.v2594MokoMark{
  position:absolute;
  right:6px;
  top:6px;
  width:36px;
  height:36px;
  z-index:2;
}
.v2594MokoStatus{
  margin:10px 2px 0;
  font-size:12px;
  color:#33502a;
  line-height:1.45;
}
@media (max-width:380px){
  .v2594MokoGrid{grid-template-columns:1fr}
  .v2594MokoStage{min-height:156px}
}
