/* Sweet Shift Saga v4.2.1.6 — Map refinement / image-ready episode scenes */

/* Optional authored map art. Future compressed episode art can be supplied through
   episode.mapBackground or window.SWEET_SHIFT_MAP_BACKGROUNDS[episodeId]. */
.map4209-art-layer{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:var(--episode-map-image,none);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.map4208-scene.has-map-image{
  background:#79c9ef;
}
.map4208-scene.has-map-image .map4208-sky-glow,
.map4208-scene.has-map-image .map4208-distant-hills,
.map4208-scene.has-map-image .map4208-castle,
.map4208-scene.has-map-image .map4208-fountain,
.map4208-scene.has-map-image .map4208-tree,
.map4208-scene.has-map-image .map4208-character{
  display:none;
}
.map4208-scene.has-map-image::before{opacity:.14}

/* Richer lightweight fallback scene until compressed art is supplied. */
.map4208-scene{
  background:
    radial-gradient(circle at 18% 17%,rgba(255,252,213,.92) 0 5%,rgba(255,252,213,.26) 13%,transparent 22%),
    radial-gradient(ellipse at 74% 34%,rgba(255,255,255,.30) 0 12%,transparent 31%),
    linear-gradient(180deg,#7ed1ff 0 38%,#bceaff 39% 50%,#8ed777 51% 69%,#3b9c57 100%) !important;
}
.map4208-scene::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 8% 68%,rgba(255,111,185,.22) 0 3px,transparent 4px),
    radial-gradient(circle at 23% 76%,rgba(255,223,82,.20) 0 4px,transparent 5px),
    radial-gradient(circle at 66% 71%,rgba(255,132,200,.18) 0 3px,transparent 4px),
    radial-gradient(circle at 87% 63%,rgba(255,225,102,.17) 0 4px,transparent 5px),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(39,91,53,.08));
  background-size:auto,auto,auto,auto,100% 100%;
  box-shadow:inset 0 -70px 110px rgba(25,72,44,.15),inset 0 40px 80px rgba(255,255,255,.08);
}
.map4208-shell.world-2 .map4208-scene{background:linear-gradient(180deg,#8396ff 0 38%,#d8dbff 39% 50%,#7bcdb0 51%,#2d8d77 100%)!important}
.map4208-shell.world-3 .map4208-scene{background:linear-gradient(180deg,#79c8ef 0 37%,#eedbff 38% 49%,#a791e2 50%,#554290 100%)!important}
.map4208-shell.world-4 .map4208-scene{background:linear-gradient(180deg,#86d8ff 0 39%,#ffe2f1 40% 50%,#df85b7 51%,#9c447b 100%)!important}
.map4208-shell.world-5 .map4208-scene{background:linear-gradient(180deg,#f0c68e 0 37%,#ffe9c8 38% 49%,#b9825a 50%,#68402e 100%)!important}
.map4208-shell.world-6 .map4208-scene{background:linear-gradient(180deg,#6072b5 0 36%,#c7c8ef 37% 48%,#795a8d 49%,#39294f 100%)!important}

/* Curved confectionery path: dark grounding, cream ribbon, then individual stones. */
.map4208-route-shadow{
  stroke:rgba(92,66,50,.34)!important;
  stroke-width:35!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  filter:blur(.35px);
}
.map4209-route-ribbon{
  fill:none;
  stroke:#e4cfad;
  stroke-width:29;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 4px 0 rgba(100,72,51,.22));
}
.map4208-route-stones{
  stroke:#fff9e8!important;
  stroke-width:15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-dasharray:2 23!important;
  filter:drop-shadow(0 2px 0 rgba(116,85,60,.25))!important;
}

/* More polished circular level pedestals. */
.map4208-level-node{
  width:76px!important;
  height:94px!important;
}
.map4208-node-disc{
  top:0!important;
  width:62px!important;
  height:62px!important;
  border-radius:50%!important;
  border:4px solid rgba(255,244,255,.96)!important;
  background:linear-gradient(180deg,#d47af4 0%,#9850dc 48%,#7334bd 100%)!important;
  box-shadow:0 7px 0 #54258f,0 11px 18px rgba(55,34,83,.24),inset 0 6px 9px rgba(255,255,255,.34),inset 0 -5px 7px rgba(67,24,105,.16)!important;
}
.map4208-node-disc::before{
  content:"";
  position:absolute;
  left:12px;
  top:7px;
  width:25px;
  height:12px;
  border-radius:50%;
  background:rgba(255,255,255,.28);
  transform:rotate(-12deg);
}
.map4208-node-disc::after{
  left:4px!important;
  right:4px!important;
  bottom:-11px!important;
  height:15px!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#fff4df,#dfc7a3)!important;
  box-shadow:0 4px 0 #b89c7a,0 6px 8px rgba(80,56,39,.16)!important;
}
.map4208-node-disc strong{
  position:relative;
  z-index:2;
  font-size:1.28rem!important;
  letter-spacing:-.03em;
}
.map4208-level-node.passed .map4208-node-disc{
  background:linear-gradient(180deg,#fa78bc 0%,#e24ca2 50%,#bd267f 100%)!important;
  box-shadow:0 7px 0 #8a1c61,0 11px 18px rgba(72,31,62,.22),inset 0 6px 9px rgba(255,255,255,.36),inset 0 -5px 7px rgba(112,20,74,.14)!important;
}
.map4208-level-node.current .map4208-node-disc,
.map4208-level-node.finale .map4208-node-disc{
  width:68px!important;
  height:68px!important;
  margin-top:-3px;
  background:linear-gradient(180deg,#ffe26a 0%,#ffc13f 50%,#e59319 100%)!important;
  border-color:#fff8c9!important;
  box-shadow:0 8px 0 #b67314,0 13px 20px rgba(99,61,18,.25),inset 0 7px 10px rgba(255,255,255,.4),inset 0 -5px 8px rgba(161,96,12,.17)!important;
}
.map4208-level-node.locked .map4208-node-disc{
  background:linear-gradient(180deg,#b8bfd2,#848ba2)!important;
  border-color:#eef1f8!important;
  box-shadow:0 7px 0 #5e6578,0 10px 15px rgba(43,48,62,.18)!important;
}
.map4208-node-stars{
  top:69px!important;
  gap:0!important;
}
.map4208-node-stars span{
  font-size:16px!important;
  -webkit-text-stroke:1px rgba(113,74,18,.18);
}
.map4208-player-pin{bottom:88px!important}

/* Banner/card cleanup so the scenery and level road remain the focus. */
.map4208-world-banner{
  top:22px!important;
  border-radius:20px 20px 27px 27px!important;
  background:linear-gradient(180deg,#4385d7,#2454a4)!important;
  box-shadow:0 7px 0 #183f80,0 15px 30px rgba(31,52,111,.22),inset 0 2px 0 rgba(255,255,255,.28)!important;
}
.map4208-episode-card,
.map4208-world-progress{
  backdrop-filter:blur(5px);
  border:1px solid rgba(255,255,255,.36)!important;
}
.map4208-page-arrow{
  width:58px!important;
  height:74px!important;
  border-width:3px!important;
  background:linear-gradient(180deg,#65ceff,#2f83d5)!important;
}
