{
  "version": 8,
  "name": "MurphyMia Europa (hell)",
  "metadata": {
    "mm:source": "Protomaps basemap v4 tiles (OpenStreetMap, ODbL) extracted to /data/maps/europe.pmtiles - see SOURCE.md",
    "mm:design": "Own calm light style for the Protomaps v4 schema; brand teal is reserved for MurphyMia markers.",
    "mm:label-language": "de - text fields prefer name:de (countries, regions, water, places visible at zoom <= 6); other places keep their local name; non-Latin names fall back to name:de / name:en.",
    "mm:client-note": "MapLibre needs: addProtocol('pmtiles', new pmtiles.Protocol().tile) from /vendor/pmtiles/; and an ABSOLUTE sprite URL (MapLibre 6 rejects relative sprite URLs) - resolve 'sprite' against window.location.origin before passing the style object to the map."
  },
  "center": [10.0, 51.0],
  "zoom": 5,
  "sources": {
    "protomaps": {"type": "vector", "url": "pmtiles:///data/maps/europe.pmtiles", "attribution": "<a href=\"https://www.openstreetmap.org/copyright\">© OpenStreetMap</a> · <a href=\"https://github.com/protomaps/basemaps\">Protomaps</a>"}
  },
  "glyphs": "/data/maps/fonts/{fontstack}/{range}.pbf",
  "sprite": "/data/maps/sprites/light",
  "layers": [
    {
      "id": "background",
      "type": "background",
      "paint": {
        "background-color": "#CBE1EA"
      }
    },
    {
      "id": "earth",
      "type": "fill",
      "source": "protomaps",
      "source-layer": "earth",
      "filter": ["in", ["geometry-type"], ["literal", ["Polygon", "MultiPolygon"]]],
      "paint": {
        "fill-color": "#F8F7F3"
      }
    },
    {
      "id": "landuse-green",
      "type": "fill",
      "source": "protomaps",
      "source-layer": "landuse",
      "filter": ["in", ["get", "kind"], ["literal", ["national_park", "park", "nature_reserve", "protected_area", "garden", "dog_park", "playground", "recreation_ground", "village_green", "allotments", "cemetery", "golf_course", "forest", "wood", "scrub", "grassland", "grass", "meadow", "glacier", "sand", "beach"]]],
      "paint": {
        "fill-color": ["match", ["get", "kind"], ["forest", "wood"], "#E1ECDA", ["scrub", "grassland", "grass", "meadow"], "#E7EFE0", "cemetery", "#E3EADD", ["sand", "beach"], "#F2EEE1", "glacier", "#FFFFFF", "#DCEBD4"],
        "fill-opacity": ["interpolate", ["linear"], ["zoom"], 6, 0, 9, 1]
      }
    },
    {
      "id": "landuse-civic",
      "type": "fill",
      "source": "protomaps",
      "source-layer": "landuse",
      "minzoom": 10,
      "filter": ["in", ["get", "kind"], ["literal", ["hospital", "school", "kindergarten", "university", "college", "industrial", "aerodrome", "pedestrian", "dam"]]],
      "paint": {
        "fill-color": ["match", ["get", "kind"], "industrial", "#F0F0EC", "aerodrome", "#EFEFEB", ["pedestrian", "dam"], "#F4F3EE", "#F2F0EA"],
        "fill-opacity": ["interpolate", ["linear"], ["zoom"], 10, 0, 12, 1]
      }
    },
    {
      "id": "water",
      "type": "fill",
      "source": "protomaps",
      "source-layer": "water",
      "filter": ["in", ["geometry-type"], ["literal", ["Polygon", "MultiPolygon"]]],
      "paint": {
        "fill-color": "#CBE1EA"
      }
    },
    {
      "id": "water-lines",
      "type": "line",
      "source": "protomaps",
      "source-layer": "water",
      "minzoom": 8,
      "filter": ["all", ["in", ["geometry-type"], ["literal", ["LineString", "MultiLineString"]]], ["in", ["get", "kind"], ["literal", ["river", "canal"]]]],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#CBE1EA",
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 8, 0.4, 10, 1, 13, 2.2, 15, 4]
      }
    },
    {
      "id": "water-streams",
      "type": "line",
      "source": "protomaps",
      "source-layer": "water",
      "minzoom": 13,
      "filter": ["all", ["in", ["geometry-type"], ["literal", ["LineString", "MultiLineString"]]], ["in", ["get", "kind"], ["literal", ["stream", "ditch", "drain"]]]],
      "paint": {
        "line-color": "#CBE1EA",
        "line-width": 0.7
      }
    },
    {
      "id": "buildings",
      "type": "fill",
      "source": "protomaps",
      "source-layer": "buildings",
      "minzoom": 12,
      "filter": ["in", ["get", "kind"], ["literal", ["building", "building_part"]]],
      "paint": {
        "fill-color": "#E9E6DF",
        "fill-opacity": ["interpolate", ["linear"], ["zoom"], 12, 0, 13, 0.85]
      }
    },
    {
      "id": "roads-tunnels",
      "type": "line",
      "source": "protomaps",
      "source-layer": "roads",
      "minzoom": 9,
      "filter": ["all", ["has", "is_tunnel"], ["in", ["get", "kind"], ["literal", ["highway", "major_road", "minor_road"]]]],
      "layout": {
        "line-join": "round"
      },
      "paint": {
        "line-color": "#ECECE7",
        "line-width": ["interpolate", ["linear"], ["zoom"], 9, 0.6, 13, 2.2],
        "line-dasharray": [2, 1]
      }
    },
    {
      "id": "roads-minor-casing",
      "type": "line",
      "source": "protomaps",
      "source-layer": "roads",
      "minzoom": 12,
      "filter": ["all", ["!", ["has", "is_tunnel"]], ["!", ["has", "is_link"]], ["==", ["get", "kind"], "minor_road"]],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#E2E3DD",
        "line-gap-width": ["interpolate", ["exponential", 1.6], ["zoom"], 11, 0, 12, 0.6, 13, 1.4, 15, 3.5],
        "line-width": ["interpolate", ["linear"], ["zoom"], 12, 0, 12.5, 0.8]
      }
    },
    {
      "id": "roads-link-casing",
      "type": "line",
      "source": "protomaps",
      "source-layer": "roads",
      "minzoom": 11,
      "filter": ["all", ["!", ["has", "is_tunnel"]], ["has", "is_link"], ["in", ["get", "kind"], ["literal", ["highway", "major_road"]]]],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#D9DBD4",
        "line-gap-width": ["interpolate", ["exponential", 1.6], ["zoom"], 11, 0.4, 13, 1.2, 15, 3],
        "line-width": ["interpolate", ["linear"], ["zoom"], 11, 0, 11.5, 0.8]
      }
    },
    {
      "id": "roads-major-casing",
      "type": "line",
      "source": "protomaps",
      "source-layer": "roads",
      "minzoom": 9,
      "filter": ["all", ["!", ["has", "is_tunnel"]], ["!", ["has", "is_link"]], ["==", ["get", "kind"], "major_road"]],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#D9DBD4",
        "line-gap-width": ["interpolate", ["exponential", 1.6], ["zoom"], 7, 0.4, 9, 0.9, 10, 1.3, 12, 2.2, 13, 3, 15, 6],
        "line-width": ["interpolate", ["linear"], ["zoom"], 9, 0, 9.5, 0.8, 13, 1]
      }
    },
    {
      "id": "roads-highway-casing",
      "type": "line",
      "source": "protomaps",
      "source-layer": "roads",
      "minzoom": 7.5,
      "filter": ["all", ["!", ["has", "is_tunnel"]], ["!", ["has", "is_link"]], ["==", ["get", "kind"], "highway"]],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#CDD0C8",
        "line-gap-width": ["interpolate", ["exponential", 1.6], ["zoom"], 5, 0.6, 8, 1.4, 10, 2.2, 12, 3.4, 13, 4.4, 15, 8],
        "line-width": ["interpolate", ["linear"], ["zoom"], 7.5, 0, 8, 0.8, 13, 1.1]
      }
    },
    {
      "id": "roads-paths",
      "type": "line",
      "source": "protomaps",
      "source-layer": "roads",
      "minzoom": 13,
      "filter": ["all", ["!", ["has", "is_tunnel"]], ["in", ["get", "kind"], ["literal", ["path", "other"]]], ["!=", ["coalesce", ["get", "kind_detail"], ""], "pier"]],
      "paint": {
        "line-color": "#E4E2DA",
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 13, 0.4, 15, 1],
        "line-dasharray": [2, 1]
      }
    },
    {
      "id": "roads-minor",
      "type": "line",
      "source": "protomaps",
      "source-layer": "roads",
      "minzoom": 11,
      "filter": ["all", ["!", ["has", "is_tunnel"]], ["!", ["has", "is_link"]], ["==", ["get", "kind"], "minor_road"]],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#FFFFFF",
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 11, 0, 12, 0.6, 13, 1.4, 15, 3.5]
      }
    },
    {
      "id": "roads-link",
      "type": "line",
      "source": "protomaps",
      "source-layer": "roads",
      "minzoom": 11,
      "filter": ["all", ["!", ["has", "is_tunnel"]], ["has", "is_link"], ["in", ["get", "kind"], ["literal", ["highway", "major_road"]]]],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#FFFFFF",
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 11, 0.4, 13, 1.2, 15, 3]
      }
    },
    {
      "id": "roads-major",
      "type": "line",
      "source": "protomaps",
      "source-layer": "roads",
      "minzoom": 7,
      "filter": ["all", ["!", ["has", "is_tunnel"]], ["!", ["has", "is_link"]], ["==", ["get", "kind"], "major_road"]],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": ["interpolate", ["linear"], ["zoom"], 7, "#E2E2DB", 9.5, "#FFFFFF"],
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 7, 0.4, 9, 0.9, 10, 1.3, 12, 2.2, 13, 3, 15, 6]
      }
    },
    {
      "id": "roads-highway",
      "type": "line",
      "source": "protomaps",
      "source-layer": "roads",
      "minzoom": 5,
      "filter": ["all", ["!", ["has", "is_tunnel"]], ["!", ["has", "is_link"]], ["==", ["get", "kind"], "highway"]],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": ["interpolate", ["linear"], ["zoom"], 5, "#D8D8D0", 8, "#FFFFFF"],
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 5, 0.6, 8, 1.4, 10, 2.2, 12, 3.4, 13, 4.4, 15, 8]
      }
    },
    {
      "id": "rail",
      "type": "line",
      "source": "protomaps",
      "source-layer": "roads",
      "minzoom": 9,
      "filter": ["all", ["==", ["get", "kind"], "rail"], ["!", ["has", "is_tunnel"]], ["!", ["in", ["coalesce", ["get", "kind_detail"], ""], ["literal", ["service", "turntable", "yard", "siding", "spur"]]]]],
      "paint": {
        "line-color": "#C6CAC4",
        "line-width": ["interpolate", ["linear"], ["zoom"], 9, 0.6, 13, 1.1],
        "line-dasharray": [3, 2]
      }
    },
    {
      "id": "boundaries-region",
      "type": "line",
      "source": "protomaps",
      "source-layer": "boundaries",
      "minzoom": 5,
      "filter": [">", ["to-number", ["coalesce", ["get", "kind_detail"], 4]], 2],
      "layout": {
        "line-join": "round"
      },
      "paint": {
        "line-color": "#C8CFCC",
        "line-width": ["interpolate", ["linear"], ["zoom"], 5, 0.5, 10, 1],
        "line-dasharray": [3, 2]
      }
    },
    {
      "id": "boundaries-country",
      "type": "line",
      "source": "protomaps",
      "source-layer": "boundaries",
      "filter": ["all", ["<=", ["to-number", ["coalesce", ["get", "kind_detail"], 4]], 2], ["!", ["has", "disputed"]]],
      "layout": {
        "line-join": "round"
      },
      "paint": {
        "line-color": "#A3AEAB",
        "line-width": ["interpolate", ["linear"], ["zoom"], 3, 0.6, 6, 0.9, 10, 1.5]
      }
    },
    {
      "id": "boundaries-disputed",
      "type": "line",
      "source": "protomaps",
      "source-layer": "boundaries",
      "filter": ["all", ["<=", ["to-number", ["coalesce", ["get", "kind_detail"], 4]], 2], ["has", "disputed"]],
      "layout": {
        "line-join": "round"
      },
      "paint": {
        "line-color": "#A3AEAB",
        "line-width": ["interpolate", ["linear"], ["zoom"], 3, 0.6, 6, 0.9, 10, 1.5],
        "line-dasharray": [2, 2]
      }
    },
    {
      "id": "label-water-lakes",
      "type": "symbol",
      "source": "protomaps",
      "source-layer": "water",
      "minzoom": 8,
      "filter": ["all", ["has", "name"], ["in", ["get", "kind"], ["literal", ["lake", "water", "reservoir"]]]],
      "layout": {
        "text-field": ["coalesce", ["get", "name:de"], ["case", ["has", "script"], ["coalesce", ["get", "name:de"], ["get", "name:en"], ["case", ["is-supported-script", ["to-string", ["get", "name"]]], ["get", "name"], ""]], ["get", "name"]]],
        "text-font": ["Noto Sans Regular"],
        "text-size": ["interpolate", ["linear"], ["zoom"], 8, 11, 13, 12.5],
        "text-max-width": 8,
        "text-letter-spacing": 0.05
      },
      "paint": {
        "text-color": "#5F8494",
        "text-halo-color": "#CBE1EA",
        "text-halo-width": 1
      }
    },
    {
      "id": "label-water-rivers",
      "type": "symbol",
      "source": "protomaps",
      "source-layer": "water",
      "minzoom": 10,
      "filter": ["all", ["has", "name"], ["in", ["geometry-type"], ["literal", ["LineString", "MultiLineString"]]], ["in", ["get", "kind"], ["literal", ["river", "canal"]]]],
      "layout": {
        "symbol-placement": "line",
        "text-field": ["coalesce", ["get", "name:de"], ["case", ["has", "script"], ["coalesce", ["get", "name:de"], ["get", "name:en"], ["case", ["is-supported-script", ["to-string", ["get", "name"]]], ["get", "name"], ""]], ["get", "name"]]],
        "text-font": ["Noto Sans Regular"],
        "text-size": 11,
        "text-letter-spacing": 0.05
      },
      "paint": {
        "text-color": "#5F8494",
        "text-halo-color": "#F8F7F3",
        "text-halo-width": 1
      }
    },
    {
      "id": "label-water-sea",
      "type": "symbol",
      "source": "protomaps",
      "source-layer": "water",
      "filter": ["all", ["has", "name"], ["in", ["get", "kind"], ["literal", ["ocean", "sea", "bay", "strait", "fjord"]]]],
      "layout": {
        "text-field": ["coalesce", ["get", "name:de"], ["case", ["has", "script"], ["coalesce", ["get", "name:de"], ["get", "name:en"], ["case", ["is-supported-script", ["to-string", ["get", "name"]]], ["get", "name"], ""]], ["get", "name"]]],
        "text-font": ["Noto Sans Regular"],
        "text-size": ["interpolate", ["linear"], ["zoom"], 3, 10, 10, 13],
        "text-max-width": 8,
        "text-letter-spacing": 0.1
      },
      "paint": {
        "text-color": "#5F8494",
        "text-halo-color": "#CBE1EA",
        "text-halo-width": 1
      }
    },
    {
      "id": "label-roads",
      "type": "symbol",
      "source": "protomaps",
      "source-layer": "roads",
      "minzoom": 12,
      "filter": ["all", ["has", "name"], ["in", ["get", "kind"], ["literal", ["highway", "major_road", "minor_road"]]]],
      "layout": {
        "symbol-placement": "line",
        "symbol-sort-key": ["coalesce", ["get", "min_zoom"], 99],
        "text-field": ["case", ["has", "script"], ["coalesce", ["get", "name:de"], ["get", "name:en"], ["case", ["is-supported-script", ["to-string", ["get", "name"]]], ["get", "name"], ""]], ["get", "name"]],
        "text-font": ["Noto Sans Regular"],
        "text-size": ["interpolate", ["linear"], ["zoom"], 12, 10.5, 13, 11.5],
        "text-max-angle": 30
      },
      "paint": {
        "text-color": "#6B7574",
        "text-halo-color": "rgba(255,255,255,0.95)",
        "text-halo-width": 1.2
      }
    },
    {
      "id": "label-subplaces",
      "type": "symbol",
      "source": "protomaps",
      "source-layer": "places",
      "minzoom": 12,
      "filter": ["all", ["has", "name"], ["in", ["get", "kind"], ["literal", ["neighbourhood", "macrohood"]]]],
      "layout": {
        "symbol-sort-key": ["coalesce", ["get", "sort_key"], ["get", "min_zoom"], 99],
        "text-field": ["case", ["has", "script"], ["coalesce", ["get", "name:de"], ["get", "name:en"], ["case", ["is-supported-script", ["to-string", ["get", "name"]]], ["get", "name"], ""]], ["get", "name"]],
        "text-font": ["Noto Sans Regular"],
        "text-size": ["interpolate", ["linear"], ["zoom"], 12, 9.5, 13, 10.5],
        "text-transform": "uppercase",
        "text-letter-spacing": 0.08,
        "text-max-width": 7,
        "text-padding": 12
      },
      "paint": {
        "text-color": "#7F8B8A",
        "text-halo-color": "rgba(248,247,243,0.92)",
        "text-halo-width": 1.2
      }
    },
    {
      "id": "label-regions",
      "type": "symbol",
      "source": "protomaps",
      "source-layer": "places",
      "minzoom": 5.5,
      "maxzoom": 8.5,
      "filter": ["all", ["has", "name"], ["==", ["get", "kind"], "region"]],
      "layout": {
        "symbol-sort-key": ["coalesce", ["get", "sort_key"], ["get", "min_zoom"], 99],
        "text-field": ["coalesce", ["get", "name:de"], ["case", ["has", "script"], ["coalesce", ["get", "name:de"], ["get", "name:en"], ["case", ["is-supported-script", ["to-string", ["get", "name"]]], ["get", "name"], ""]], ["get", "name"]]],
        "text-font": ["Noto Sans Regular"],
        "text-size": ["interpolate", ["linear"], ["zoom"], 5.5, 9, 8, 11],
        "text-transform": "uppercase",
        "text-letter-spacing": 0.1,
        "text-max-width": 8,
        "text-padding": 8
      },
      "paint": {
        "text-color": "#8E9997",
        "text-halo-color": "rgba(248,247,243,0.92)",
        "text-halo-width": 1
      }
    },
    {
      "id": "label-places",
      "type": "symbol",
      "source": "protomaps",
      "source-layer": "places",
      "filter": ["all", ["has", "name"], ["==", ["get", "kind"], "locality"]],
      "layout": {
        "symbol-sort-key": ["coalesce", ["get", "sort_key"], ["get", "min_zoom"], 99],
        "icon-image": ["step", ["zoom"], ["case", ["==", ["get", "capital"], "yes"], "capital", "townspot"], 8, ""],
        "icon-size": 0.7,
        "icon-padding": ["interpolate", ["linear"], ["zoom"], 0, 0, 8, 4, 10, 8],
        "text-field": ["case", ["<=", ["coalesce", ["get", "min_zoom"], 99], 6], ["coalesce", ["get", "name:de"], ["case", ["has", "script"], ["coalesce", ["get", "name:de"], ["get", "name:en"], ["case", ["is-supported-script", ["to-string", ["get", "name"]]], ["get", "name"], ""]], ["get", "name"]]], ["case", ["has", "script"], ["coalesce", ["get", "name:de"], ["get", "name:en"], ["case", ["is-supported-script", ["to-string", ["get", "name"]]], ["get", "name"], ""]], ["get", "name"]]],
        "text-font": ["case", ["<=", ["coalesce", ["get", "min_zoom"], 99], 5], ["literal", ["Noto Sans Medium"]], ["literal", ["Noto Sans Regular"]]],
        "text-size": ["interpolate", ["linear"], ["zoom"], 4, ["case", [">=", ["coalesce", ["get", "population_rank"], 0], 13], 14, [">=", ["coalesce", ["get", "population_rank"], 0], 11], 11.5, 10], 6, ["case", [">=", ["coalesce", ["get", "population_rank"], 0], 12], 16, [">=", ["coalesce", ["get", "population_rank"], 0], 10], 13, 11], 8, ["case", [">=", ["coalesce", ["get", "population_rank"], 0], 11], 17, [">=", ["coalesce", ["get", "population_rank"], 0], 9], 13.5, 11.5], 10, ["case", [">=", ["coalesce", ["get", "population_rank"], 0], 9], 18, [">=", ["coalesce", ["get", "population_rank"], 0], 7], 14, 12], 13, ["case", [">=", ["coalesce", ["get", "population_rank"], 0], 8], 20, [">=", ["coalesce", ["get", "population_rank"], 0], 6], 15, 12.5]],
        "text-padding": ["interpolate", ["linear"], ["zoom"], 5, 3, 8, 7, 12, 11],
        "text-max-width": 8,
        "text-justify": "auto",
        "text-variable-anchor": ["step", ["zoom"], ["literal", ["bottom", "left", "right", "top"]], 8, ["literal", ["center"]]],
        "text-radial-offset": 0.35
      },
      "paint": {
        "text-color": ["case", ["<=", ["coalesce", ["get", "min_zoom"], 99], 6], "#2F3D3C", ["<=", ["coalesce", ["get", "min_zoom"], 99], 9], "#475554", "#5E6B6A"],
        "text-halo-color": "rgba(248,247,243,0.92)",
        "text-halo-width": 1.3,
        "icon-opacity": 0.8
      }
    },
    {
      "id": "label-countries",
      "type": "symbol",
      "source": "protomaps",
      "source-layer": "places",
      "maxzoom": 8,
      "filter": ["all", ["has", "name"], ["==", ["get", "kind"], "country"]],
      "layout": {
        "symbol-sort-key": ["coalesce", ["get", "sort_key"], ["get", "min_zoom"], 99],
        "text-field": ["coalesce", ["get", "name:de"], ["get", "name:en"], ["get", "name"]],
        "text-font": ["Noto Sans Medium"],
        "text-size": ["interpolate", ["linear"], ["zoom"], 3, ["case", [">=", ["coalesce", ["get", "population_rank"], 0], 10], 11, 9], 6, ["case", [">=", ["coalesce", ["get", "population_rank"], 0], 8], 14, 11]],
        "text-transform": "uppercase",
        "text-letter-spacing": 0.12,
        "text-max-width": 6,
        "text-padding": 6
      },
      "paint": {
        "text-color": "#5F6C6B",
        "text-halo-color": "rgba(248,247,243,0.92)",
        "text-halo-width": 1.2
      }
    }
  ]
}
