{
  "schemaVersion": "1.0.0",
  "revision": 1,
  "cityId": "polara",
  "name": "Polara / cooperative control panel",
  "source": {
    "briefPath": "../../city.md",
    "sha256": "98221dc826a4e74a35f20f0a3e694c7335af840da5f5b604bdb3c8f98f8d2389"
  },
  "rationale": "Avocado molded-plastic panels give Polara a recognizable everyday appliance surface; butter-colored lettering, persimmon action keys and tobacco seams come from its housing screens, service pipes and amber windows. Broad Unbounded headings suggest optimistic 1970s civic signage while Roboto Flex keeps dense instructions readable. Deep rounded panel corners and short solid shadows echo rolled shell edges and replaceable molded controls. Selected controls use a pale amber insert with dark lettering; warnings pair their warm color with explicit text and icons. Focus stays visibly outlined, disabled actions retain labels, and navigation order remains conventional. The tone is friendly, communal and practical, with short direct action labels.",
  "fonts": [
    {
      "id": "display",
      "family": "Polara Unbounded",
      "fallback": "sans-serif",
      "kind": "local",
      "assetPath": "../../../../app/static/fonts/typography/unbounded.ttf",
      "licensePath": "../../../../app/static/fonts/typography/unbounded-OFL.txt",
      "axes": {
        "wght": {
          "min": 200.0,
          "max": 900.0
        }
      }
    },
    {
      "id": "body",
      "family": "Polara Roboto Flex",
      "fallback": "sans-serif",
      "kind": "local",
      "assetPath": "../../../../app/static/fonts/typography/roboto-flex.ttf",
      "licensePath": "../../../../app/static/fonts/typography/robotoflex-OFL.txt",
      "axes": {
        "opsz": {
          "min": 8.0,
          "max": 144.0
        },
        "wght": {
          "min": 100.0,
          "max": 1000.0
        },
        "GRAD": {
          "min": -200.0,
          "max": 150.0
        },
        "wdth": {
          "min": 25.0,
          "max": 151.0
        },
        "slnt": {
          "min": -10.0,
          "max": 0.0
        },
        "XOPQ": {
          "min": 27.0,
          "max": 175.0
        },
        "YOPQ": {
          "min": 25.0,
          "max": 135.0
        },
        "XTRA": {
          "min": 323.0,
          "max": 603.0
        },
        "YTUC": {
          "min": 528.0,
          "max": 760.0
        },
        "YTLC": {
          "min": 416.0,
          "max": 570.0
        },
        "YTAS": {
          "min": 649.0,
          "max": 854.0
        },
        "YTDE": {
          "min": -305.0,
          "max": -98.0
        },
        "YTFI": {
          "min": 560.0,
          "max": 788.0
        }
      }
    }
  ],
  "typography": {
    "display": {
      "font": "display",
      "sizePx": 30,
      "lineHeight": 1.2,
      "weight": 650,
      "trackingPx": -0.7,
      "case": "none",
      "opticalSizing": "auto",
      "axes": {}
    },
    "heading": {
      "font": "display",
      "sizePx": 17,
      "lineHeight": 1.35,
      "weight": 550,
      "trackingPx": -0.2,
      "case": "none",
      "opticalSizing": "auto",
      "axes": {}
    },
    "body": {
      "font": "body",
      "sizePx": 15,
      "lineHeight": 1.55,
      "weight": 430,
      "trackingPx": 0,
      "case": "none",
      "opticalSizing": "auto",
      "axes": {}
    },
    "label": {
      "font": "body",
      "sizePx": 14,
      "lineHeight": 1.35,
      "weight": 650,
      "trackingPx": 0.15,
      "case": "none",
      "opticalSizing": "auto",
      "axes": {}
    },
    "small": {
      "font": "body",
      "sizePx": 12,
      "lineHeight": 1.45,
      "weight": 450,
      "trackingPx": 0,
      "case": "none",
      "opticalSizing": "auto",
      "axes": {}
    },
    "numeric": {
      "font": "body",
      "sizePx": 18,
      "lineHeight": 1.2,
      "weight": 650,
      "trackingPx": 0,
      "case": "none",
      "opticalSizing": "auto",
      "axes": {
        "wdth": 105
      }
    }
  },
  "colors": {
    "surface": "#3B482B",
    "text": "#FFF1CD",
    "muted": "#D8D3AF",
    "border": "#22291A",
    "accent": "#FFD38D",
    "warning": "#FFBC87",
    "button": "#E9D8AC",
    "buttonText": "#302718",
    "selected": "#FFD18A",
    "selectedText": "#302718",
    "primary": "#FF9B58",
    "primaryText": "#302116",
    "track": "#26301D",
    "focus": "#FFE6A4"
  },
  "layout": {
    "unitPx": 4,
    "panelPaddingPx": 24,
    "gapPx": 12
  },
  "components": {
    "panel": {
      "radiusPx": 28,
      "borderWidthPx": 2,
      "borderStyle": "solid",
      "shadow": {
        "xPx": 0,
        "yPx": 5,
        "blurPx": 0
      }
    },
    "button": {
      "radiusPx": 16,
      "borderWidthPx": 2,
      "borderStyle": "solid",
      "shadow": {
        "xPx": 0,
        "yPx": 3,
        "blurPx": 0
      }
    },
    "titleAlign": "left",
    "disabledOpacity": 0.55,
    "progressHeightPx": 12
  },
  "icons": {
    "status": "planned",
    "direction": "Chunky single-color molded pictograms with rounded ends and deep open counters: a three-leaf sprout for food, an interlocking loop for reclaimed polymer, a hooded window for homes and a shallow dome for civic life; use the same accessible labels and semantic meanings as the default interface, and accompany warning and confirmation colors with distinct symbols and text.",
    "assets": []
  },
  "guardrails": {
    "minBodyPx": 14,
    "minSmallPx": 12,
    "minTextContrast": 4.5,
    "minFocusContrast": 3
  }
}
