{
  "version": 8,
  "name": "Questra Dark v1 — Тёмное золото",
  "metadata": {
    "lorebound:comment": "WP-03: тёмная база; WP-60: перекраска под палитру «Тёмное золото» (docs/04_design_concept.md §5): фон --void #070a14, кварталы #0f1424, улицы #242c45 / крупные #303a5c, вода #0f2a3a со свечением по кромке, парки #12241c, подписи --parchment-dim #b3ae9d, шрифт подписей PT Sans Regular / город — Philosopher Bold (glyphs собраны из self-hosted woff2: infra/tiles/glyphs/build-glyphs.mjs). URL относительные (/tiles/…) — клиент абсолютизирует их на свой origin (см. apps/web/src/map/absolutizeStyle.ts); внешних доменов в стиле нет и быть не должно (ADR-001). Спрайт маркеров — lorebound-v3 (WP-66, концепция часть II §II.7: щиты «!»/«?», свиток-беседа, кристаллы стражей, кружка таверны; infra/tiles/sprites/src-v3), имя версионируется из-за CacheFirst в SW (ADR-007)."
  },
  "sources": {
    "openmaptiles": {
      "type": "vector",
      "tiles": ["/tiles/ekb/{z}/{x}/{y}.mvt"],
      "minzoom": 0,
      "maxzoom": 14,
      "attribution": "© OpenMapTiles © OpenStreetMap contributors"
    }
  },
  "sprite": "/tiles/sprites/lorebound-v3",
  "glyphs": "/tiles/glyphs/{fontstack}/{range}.pbf",
  "layers": [
    {
      "id": "background",
      "type": "background",
      "paint": {
        "background-color": "#070a14"
      }
    },
    {
      "id": "landcover-wood",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "landcover",
      "filter": ["match", ["get", "class"], ["wood", "grass"], true, false],
      "paint": {
        "fill-color": "#12241c",
        "fill-opacity": 0.55
      }
    },
    {
      "id": "park",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "park",
      "paint": {
        "fill-color": "#12241c",
        "fill-opacity": 0.6
      }
    },
    {
      "id": "landuse-residential",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "landuse",
      "filter": ["match", ["get", "class"], ["residential", "suburb"], true, false],
      "paint": {
        "fill-color": "#0f1424",
        "fill-opacity": 0.85
      }
    },
    {
      "id": "water",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "water",
      "paint": {
        "fill-color": "#0f2a3a"
      }
    },
    {
      "id": "waterway",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "waterway",
      "paint": {
        "line-color": "#1a4256",
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 8, 0.5, 14, 2, 18, 6]
      }
    },
    {
      "id": "water-edge",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "water",
      "minzoom": 11,
      "paint": {
        "line-color": "#2b6a86",
        "line-opacity": 0.55,
        "line-blur": 1.5,
        "line-width": ["interpolate", ["exponential", 1.4], ["zoom"], 11, 0.8, 16, 2.5]
      }
    },
    {
      "id": "building",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "building",
      "minzoom": 13,
      "paint": {
        "fill-color": "#131a2e",
        "fill-outline-color": "#1c2540"
      }
    },
    {
      "id": "road-path",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 14,
      "filter": ["match", ["get", "class"], ["path", "track"], true, false],
      "paint": {
        "line-color": "#1c2439",
        "line-dasharray": [2, 2],
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 14, 1, 18, 3]
      }
    },
    {
      "id": "road-minor",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 12,
      "filter": ["match", ["get", "class"], ["minor", "service", "busway"], true, false],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#242c45",
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 12, 0.5, 14, 1.5, 18, 8]
      }
    },
    {
      "id": "road-secondary",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 10,
      "filter": ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#2a3350",
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 10, 0.8, 14, 2.5, 18, 12]
      }
    },
    {
      "id": "road-primary",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 8,
      "filter": ["match", ["get", "class"], ["primary", "trunk"], true, false],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#303a5c",
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 8, 1, 14, 3.5, 18, 16]
      }
    },
    {
      "id": "road-motorway",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 7,
      "filter": ["==", ["get", "class"], "motorway"],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#38446a",
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 7, 1, 14, 4, 18, 18]
      }
    },
    {
      "id": "railway",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 12,
      "filter": ["==", ["get", "class"], "rail"],
      "paint": {
        "line-color": "#232c44",
        "line-dasharray": [3, 3],
        "line-width": ["interpolate", ["exponential", 1.6], ["zoom"], 12, 0.8, 18, 2.5]
      }
    },
    {
      "id": "boundary-admin",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "boundary",
      "minzoom": 4,
      "filter": ["<=", ["get", "admin_level"], 6],
      "paint": {
        "line-color": "#3a3554",
        "line-dasharray": [3, 2],
        "line-width": 1
      }
    },
    {
      "id": "road-label",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "transportation_name",
      "minzoom": 13,
      "layout": {
        "symbol-placement": "line",
        "text-field": ["coalesce", ["get", "name:ru"], ["get", "name"]],
        "text-font": ["PT Sans Regular"],
        "text-size": ["interpolate", ["linear"], ["zoom"], 13, 10.5, 18, 14]
      },
      "paint": {
        "text-color": "#b3ae9d",
        "text-halo-color": "#070a14",
        "text-halo-width": 1.2
      }
    },
    {
      "id": "water-name",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "water_name",
      "layout": {
        "symbol-placement": "line",
        "text-field": ["coalesce", ["get", "name:ru"], ["get", "name"]],
        "text-font": ["PT Sans Regular"],
        "text-size": 12,
        "text-letter-spacing": 0.1
      },
      "paint": {
        "text-color": "#6f9ab8",
        "text-halo-color": "#070a14",
        "text-halo-width": 1
      }
    },
    {
      "id": "place-neighbourhood",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "place",
      "minzoom": 11,
      "filter": [
        "match",
        ["get", "class"],
        ["suburb", "quarter", "neighbourhood", "village", "hamlet"],
        true,
        false
      ],
      "layout": {
        "text-field": ["coalesce", ["get", "name:ru"], ["get", "name"]],
        "text-font": ["PT Sans Regular"],
        "text-size": 11.5,
        "text-letter-spacing": 0.05
      },
      "paint": {
        "text-color": "#b3ae9d",
        "text-halo-color": "#070a14",
        "text-halo-width": 1.2
      }
    },
    {
      "id": "place-town",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "place",
      "minzoom": 8,
      "filter": ["==", ["get", "class"], "town"],
      "layout": {
        "text-field": ["coalesce", ["get", "name:ru"], ["get", "name"]],
        "text-font": ["PT Sans Regular"],
        "text-size": 13
      },
      "paint": {
        "text-color": "#c9c3b0",
        "text-halo-color": "#070a14",
        "text-halo-width": 1.3
      }
    },
    {
      "id": "place-city",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "place",
      "minzoom": 5,
      "filter": ["==", ["get", "class"], "city"],
      "layout": {
        "text-field": ["coalesce", ["get", "name:ru"], ["get", "name"]],
        "text-font": ["Philosopher Bold"],
        "text-size": ["interpolate", ["linear"], ["zoom"], 5, 12, 12, 17]
      },
      "paint": {
        "text-color": "#e8e2d0",
        "text-halo-color": "#070a14",
        "text-halo-width": 1.5
      }
    }
  ]
}
