{
  "$schema": "https://mian.ro/schema/v2/registry.json",
  "schemaVersion": "2.0.0",
  "generatedAt": "2026-10-02T13:14:06.957Z",
  "id": "pho",
  "name": "Pho",
  "family": "Rounded",
  "origin": "Vietnam",
  "tagline": "Fresh, herbal, clean.",
  "description": "Herb green on a crisp white, chilli-orange accent. Clean and optimistic: health, food, finance and sustainability.",
  "inspiration": [
    "Flat rice ribbons → flat, borderless, ribbon-like bands",
    "The herb plate → leaf-shaped corners on buttons, badges and knobs",
    "Clear broth → lightly tinted, transparent-feeling surfaces",
    "Fresh → brisk motion, leaves that unfurl into view"
  ],
  "traits": {
    "mood": [
      "fresh",
      "herbal",
      "clean",
      "optimistic",
      "healthy"
    ],
    "intensity": 2,
    "contrast": "medium",
    "geometry": "medium radius",
    "type": "clean sans",
    "surface": "crisp white, herb green",
    "motion": "fresh",
    "goodFor": [
      "health",
      "food",
      "sustainability",
      "finance for consumers"
    ],
    "lessFor": [
      "nightlife",
      "luxury"
    ],
    "density": "default"
  },
  "license": "LicenseRef-MIAN-1.0",
  "designLanguage": {
    "essence": "Pho is flat rice ribbons in a clear broth, served with a plate of fresh herbs. The language is fresh and light: flat borderless surfaces lightly tinted like clear broth, leaf-shaped corners (two round, two sharp), ribbon bands, and brisk motion where things unfurl like a leaf.",
    "principles": [
      "The leaf corner: opposite corners round (16px) and sharp (3px), on buttons, cards, alerts and table wraps.",
      "Flat and clear: tinted surfaces, no borders where a tint will do.",
      "Herb green for action, chilli orange for accent.",
      "Unfurl, don’t drop: entrances rotate slightly open from a corner."
    ],
    "aspects": {
      "Shape": "Leaf radii (16px 3px), leaf-shaped radios rotated 45°, leaf-tipped bars.",
      "Surface": "White with a 3% herb tint; flat ribbon bands for headers.",
      "Colour": "Herb green primary, chilli orange accent, crisp white.",
      "Type": "Clean sans, fresh and open.",
      "Motion": "pho-unfurl: rotate from −4° with fade, 260ms. Switch knobs turn into leaves when on.",
      "Data": "Leaf-tipped bars, a spinning-leaf spinner, 2.5px lines."
    },
    "extend": [
      "Give containers border-radius: 16px 3px (or 10px 2px when small), no border, a light primary tint.",
      "Rotate small indicators 45° to read as leaves (and give them margin so the tips stay in their box).",
      "Enter with a small rotation from the top-left corner."
    ],
    "avoid": [
      "Uniform radii",
      "Heavy borders",
      "Dark, muddy colours"
    ],
    "recipe": "[data-noodle=\"pho\"] .tile {\n  padding: 12px 16px; border: 0; border-radius: 16px 3px;\n  background: color-mix(in oklab, var(--mn-primary) 4%, var(--mn-surface));\n}\n[data-noodle=\"pho\"] .tile[aria-selected=\"true\"] { background: var(--mn-primary); color: var(--mn-primary-fg); }"
  },
  "psychology": {
    "temperature": "neutral",
    "colours": [
      {
        "role": "Primary",
        "hex": "#15803d",
        "family": "Green",
        "depth": "deep, saturated",
        "says": "Growth, health, permission, money. The easiest colour to look at for a long time.",
        "use": "Finance, health, food, sustainability, and “go” or success states.",
        "risk": "Success messages are green too: a green brand needs a success state that is clearly a status (icon, words). Claims of sustainability made with green alone read as greenwashing."
      },
      {
        "role": "Accent",
        "hex": "#c2410c",
        "family": "Brown and terracotta",
        "depth": "mid, saturated",
        "says": "Earth, craft, reliability, age. Feels made by hand and unhurried.",
        "use": "Food, coffee, leather, ceramics, heritage brands, anything artisanal.",
        "risk": "Looks dull on screens unless the neutrals around it are warm too."
      },
      {
        "role": "Page",
        "hex": "#fbfdfb",
        "family": "White and paper",
        "depth": "pale, muted",
        "says": "Space, honesty, simplicity. Warm whites feel human, cool whites feel clinical.",
        "use": "Almost everything. The page colour sets the temperature of the whole brand.",
        "risk": "Empty is not the same as calm: white space needs a grid behind it."
      }
    ],
    "relation": "Green with brown and terracotta: a contrasting pair that needs one of the two to dominate.",
    "type": {
      "body": {
        "class": "neutral",
        "name": "Neutral sans",
        "says": "Clear, modern, impartial. The voice of software and signage.",
        "use": "Interfaces, documentation, most product marketing.",
        "risk": "The same few neutral sans typefaces set every generated page. Without a distinct weight, size or pairing it reads as a template."
      },
      "heading": {
        "class": "neutral",
        "name": "Neutral sans",
        "says": "Clear, modern, impartial. The voice of software and signage.",
        "use": "Interfaces, documentation, most product marketing.",
        "risk": "The same few neutral sans typefaces set every generated page. Without a distinct weight, size or pairing it reads as a template."
      },
      "weight": 650,
      "summary": "One voice throughout: neutral sans. Headings are semibold, which reads as confident without shouting."
    },
    "personality": {
      "reads": [
        "fresh",
        "herbal",
        "clean",
        "optimistic",
        "healthy"
      ],
      "intensity": 2,
      "dimensions": [],
      "suits": [
        "health",
        "food",
        "sustainability",
        "finance for consumers"
      ],
      "lessFor": [
        "nightlife",
        "luxury"
      ],
      "tone": "Calm and clear. Short sentences, one idea each, a friendly but not chatty register."
    },
    "logo": "A simple geometric mark with slightly softened corners fits; avoid both hard spikes and full circles."
  },
  "url": "https://mian.ro/noodles/pho",
  "markdownUrl": "https://mian.ro/ai/noodles/pho.md",
  "stylesheet": "https://mian.ro/dist/noodles/pho.css",
  "usage": "<html data-noodle=\"pho\">",
  "fonts": {
    "sans": "ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif",
    "heading": "ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif",
    "mono": "ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace"
  },
  "headingWeight": 650,
  "radius": {
    "field": "8px",
    "box": "14px",
    "badge": "999px"
  },
  "shadow": "subtle",
  "density": "default",
  "glass": false,
  "light": {
    "bg": "#fbfdfb",
    "surface": "#ffffff",
    "surface2": "#eef5ef",
    "fg": "#0f1f14",
    "muted": "#54665a",
    "border": "#dce8de",
    "input": "#c2d4c6",
    "primary": "#15803d",
    "primaryFg": "#ffffff",
    "secondary": "#e6f2e8",
    "secondaryFg": "#14532d",
    "accent": "#c2410c",
    "accentFg": "#ffffff",
    "ring": "#15803d",
    "success": "#15803d",
    "successFg": "#ffffff",
    "warning": "#b45309",
    "warningFg": "#ffffff",
    "danger": "#dc2626",
    "dangerFg": "#ffffff",
    "info": "#0369a1",
    "infoFg": "#ffffff",
    "primaryText": "#15783a",
    "secondaryText": "#69786d",
    "accentText": "#b73f0c",
    "successText": "#15783a",
    "warningText": "#a74f0a",
    "dangerText": "#c82524",
    "infoText": "#0369a1",
    "link": "#15803d"
  },
  "dark": {
    "bg": "#0a130d",
    "surface": "#0f1b13",
    "surface2": "#17271c",
    "fg": "#e7f3ea",
    "muted": "#93aa99",
    "border": "#20362a",
    "input": "#30503d",
    "primary": "#4ade80",
    "primaryFg": "#052e16",
    "secondary": "#17271c",
    "secondaryFg": "#e7f3ea",
    "accent": "#fb923c",
    "accentFg": "#1a0d03",
    "ring": "#4ade80",
    "success": "#4ade80",
    "successFg": "#052e16",
    "warning": "#fbbf24",
    "warningFg": "#1f1300",
    "danger": "#f87171",
    "dangerFg": "#210505",
    "info": "#38bdf8",
    "infoFg": "#03202d",
    "primaryText": "#4ade80",
    "secondaryText": "#7b897f",
    "accentText": "#fb923c",
    "successText": "#4ade80",
    "warningText": "#fbbf24",
    "dangerText": "#f87171",
    "infoText": "#38bdf8",
    "link": "#4ade80"
  },
  "css": "[data-noodle=\"pho\"] {\n  --mn-bg: light-dark(#fbfdfb, #0a130d);\n  --mn-surface: light-dark(#ffffff, #0f1b13);\n  --mn-surface-2: light-dark(#eef5ef, #17271c);\n  --mn-fg: light-dark(#0f1f14, #e7f3ea);\n  --mn-muted: light-dark(#54665a, #93aa99);\n  --mn-border: light-dark(#dce8de, #20362a);\n  --mn-input: light-dark(#c2d4c6, #30503d);\n  --mn-primary: light-dark(#15803d, #4ade80);\n  --mn-primary-fg: light-dark(#ffffff, #052e16);\n  --mn-secondary: light-dark(#e6f2e8, #17271c);\n  --mn-secondary-fg: light-dark(#14532d, #e7f3ea);\n  --mn-accent: light-dark(#c2410c, #fb923c);\n  --mn-accent-fg: light-dark(#ffffff, #1a0d03);\n  --mn-ring: light-dark(#15803d, #4ade80);\n  --mn-success: light-dark(#15803d, #4ade80);\n  --mn-success-fg: light-dark(#ffffff, #052e16);\n  --mn-warning: light-dark(#b45309, #fbbf24);\n  --mn-warning-fg: light-dark(#ffffff, #1f1300);\n  --mn-danger: light-dark(#dc2626, #f87171);\n  --mn-danger-fg: light-dark(#ffffff, #210505);\n  --mn-info: light-dark(#0369a1, #38bdf8);\n  --mn-info-fg: light-dark(#ffffff, #03202d);\n  --mn-primary-text: light-dark(#15783a, #4ade80);\n  --mn-secondary-text: light-dark(#69786d, #7b897f);\n  --mn-accent-text: light-dark(#b73f0c, #fb923c);\n  --mn-success-text: light-dark(#15783a, #4ade80);\n  --mn-warning-text: light-dark(#a74f0a, #fbbf24);\n  --mn-danger-text: light-dark(#c82524, #f87171);\n  --mn-info-text: light-dark(#0369a1, #38bdf8);\n  --mn-link: light-dark(#15803d, #4ade80);\n  --mn-font: ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n  --mn-font-heading: ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n  --mn-font-mono: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace;\n  --mn-heading-weight: 650;\n  --mn-radius-field: 8px;\n  --mn-radius-box: 14px;\n  --mn-radius-badge: 999px;\n  --mn-shadow-sm: 0 1px 2px rgb(0 0 0 / .05);\n  --mn-shadow-md: 0 2px 6px -1px rgb(0 0 0 / .08), 0 1px 2px rgb(0 0 0 / .04);\n  --mn-shadow-lg: 0 12px 32px -8px rgb(0 0 0 / .18), 0 4px 8px -4px rgb(0 0 0 / .08);\n  --mn-size-xs: 26px;\n  --mn-size-sm: 32px;\n  --mn-size-md: 38px;\n  --mn-size-lg: 46px;\n  --mn-text-sm: 14px;\n  --mn-surface-alpha: 100%;\n  --mn-backdrop: none;\n  --mn-bg-image: none;\n}\n"
}
