{
  "$schema": "https://mian.ro/schema/v2/registry.json",
  "schemaVersion": "2.0.0",
  "generatedAt": "2026-10-02T13:14:06.957Z",
  "id": "longxu",
  "name": "Longxu",
  "family": "Thin",
  "origin": "China · dragon’s beard noodles",
  "tagline": "Folded, pulled, doubled, engraved in hairlines.",
  "description": "Longxu mian, dragon’s beard noodles, are made by folding and pulling one rope of dough again and again; every fold doubles the strands, 2, 4, 8 … thousands of hair-fine threads. Longxu is an engraving system: fills are drawn with fine parallel hatching that doubles in density when something is active, on warm paper, in ink.",
  "inspiration": [
    "Every fold doubles the strands → hatched fills whose line spacing halves on hover and selection",
    "Hair-fine threads → 1px lines and hairline hatching instead of flat colour",
    "A craft shown to an audience → an engraved, printed look: ink on warm paper, a book serif",
    "Pulled with rhythm → steady, even motion"
  ],
  "traits": {
    "mood": [
      "engraved",
      "intricate",
      "crafted",
      "precise",
      "heritage"
    ],
    "intensity": 2,
    "contrast": "medium",
    "geometry": "engraved hairlines, doubled strands",
    "type": "sans with fine detail",
    "surface": "engraved lines",
    "motion": "doubling",
    "goodFor": [
      "banking",
      "certificates",
      "heritage brands",
      "premium tools"
    ],
    "lessFor": [
      "playful consumer"
    ],
    "density": "default"
  },
  "license": "LicenseRef-MIAN-1.0",
  "designLanguage": {
    "essence": "Longxu is an engraving. Dragon’s beard noodles are folded and pulled until one rope becomes thousands of hair-fine threads, each fold doubling the last, so fills are drawn, not painted: fine parallel hatching in ink on warm paper, which doubles in density when something is hovered, selected or on. Lines are 1px, headings are set in a book serif, and nothing is flat colour except the ink.",
    "principles": [
      "Hatching instead of fills: --lx-hatch (1px every 6px); active states use --lx-hatch-2 (every 3px), the fold doubles the strands.",
      "Cross-hatching (--lx-cross) marks the strongest state: checked, highlighted, the chosen bar.",
      "1px ink lines for every edge; text over hatching gets a paper-coloured halo (text-shadow).",
      "Book serif for headings and numbers; a small offset ink outline under floating panels, like a printed plate."
    ],
    "aspects": {
      "Shape": "3–4px corners; square knobs.",
      "Surface": "Warm paper, 1px ink-tinted frames, a hatched rule under card headings.",
      "Colour": "Ink on paper; seal-red accent used sparingly.",
      "Type": "Book serif (400) headings, sans body.",
      "Motion": "Steady and even; progress hatching slides along (longxu-pull).",
      "Data": "Hatched columns with a 1px outline; the highlight cross-hatched; hatched rings for radials and spinners."
    },
    "extend": [
      "Fill with background: var(--lx-hatch) and an inset 0 0 0 1px ink outline; on hover/selection switch to var(--lx-hatch-2).",
      "Put a paper halo behind any text over hatching: text-shadow: 0 0 3px var(--mn-surface).",
      "Keep every line 1px and every colour ink."
    ],
    "avoid": [
      "Solid colour fills for states",
      "Gradients and shadows",
      "Rounded pills"
    ],
    "recipe": "[data-noodle=\"longxu\"] .tile { padding: 12px 14px; border: 1px solid var(--mn-fg); border-radius: 3px; background: var(--mn-surface); }\n[data-noodle=\"longxu\"] .tile:hover { background: var(--mn-surface) var(--lx-hatch); }\n[data-noodle=\"longxu\"] .tile[aria-selected=\"true\"] { background: var(--mn-surface) var(--lx-hatch-2); }\n[data-noodle=\"longxu\"] .tile > * { text-shadow: 0 0 3px var(--mn-surface), 0 0 3px var(--mn-surface); }"
  },
  "psychology": {
    "temperature": "warm",
    "colours": [
      {
        "role": "Primary",
        "hex": "#1a1712",
        "family": "Brown and terracotta",
        "depth": "deep, muted",
        "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": "Accent",
        "hex": "#8a2a1c",
        "family": "Red",
        "depth": "mid",
        "says": "Urgency, energy, appetite, danger. It raises attention faster than any other hue and reads as the most forceful.",
        "use": "One action that must be seen, sale and limited-time states, food, sport, entertainment.",
        "risk": "It is also the colour of errors. A red primary button next to a red error message makes both ambiguous, so pair a red brand with a distinct danger treatment (icon and words)."
      },
      {
        "role": "Page",
        "hex": "#f8f5ee",
        "family": "Yellow and gold",
        "depth": "pale",
        "says": "Optimism, attention, caution. Gold tones add value and ceremony.",
        "use": "Highlights, warnings, playful consumer brands; gold for luxury and awards.",
        "risk": "The lightest hue: white text on yellow fails, so yellow always carries dark text. Large yellow areas tire the eye."
      }
    ],
    "relation": "Brown and terracotta with its neighbour red: an analogous pair, harmonious and natural.",
    "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": "serif",
        "name": "Book serif (old-style and transitional)",
        "says": "Considered, literate, established. The voice of books and long reading.",
        "use": "Editorial, publishing, research, thoughtful products, quotations.",
        "risk": "Needs size and good line spacing on screens; small serif text on low-resolution displays gets muddy."
      },
      "weight": 400,
      "summary": "Two voices: book serif (old-style and transitional) for headings, neutral sans for the interface. Headings are light to regular, which reads as delicate and unhurried."
    },
    "personality": {
      "reads": [
        "engraved",
        "intricate",
        "crafted",
        "precise",
        "heritage"
      ],
      "intensity": 2,
      "dimensions": [],
      "suits": [
        "banking",
        "certificates",
        "heritage brands",
        "premium tools"
      ],
      "lessFor": [
        "playful consumer"
      ],
      "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. Set the wordmark in a serif to match the headings."
  },
  "url": "https://mian.ro/noodles/longxu",
  "markdownUrl": "https://mian.ro/ai/noodles/longxu.md",
  "stylesheet": "https://mian.ro/dist/noodles/longxu.css",
  "usage": "<html data-noodle=\"longxu\">",
  "fonts": {
    "sans": "ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif",
    "heading": "\"Iowan Old Style\", \"Palatino Linotype\", Palatino, \"Book Antiqua\", ui-serif, Georgia, serif",
    "mono": "ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace"
  },
  "headingWeight": 400,
  "radius": {
    "field": "3px",
    "box": "4px",
    "badge": "2px"
  },
  "shadow": "none",
  "density": "default",
  "glass": false,
  "light": {
    "bg": "#f8f5ee",
    "surface": "#fffdf8",
    "surface2": "#f0ebe0",
    "fg": "#1a1712",
    "muted": "#625b50",
    "border": "#e3dccd",
    "input": "#b8ad97",
    "primary": "#1a1712",
    "primaryFg": "#fffdf8",
    "secondary": "#f0ebe0",
    "secondaryFg": "#1a1712",
    "accent": "#8a2a1c",
    "accentFg": "#ffffff",
    "ring": "#1a1712",
    "success": "#15803d",
    "successFg": "#ffffff",
    "warning": "#b45309",
    "warningFg": "#ffffff",
    "danger": "#dc2626",
    "dangerFg": "#ffffff",
    "info": "#0369a1",
    "infoFg": "#ffffff",
    "primaryText": "#1a1712",
    "secondaryText": "#747069",
    "accentText": "#8a2a1c",
    "successText": "#15783a",
    "warningText": "#a84e0a",
    "dangerText": "#c52424",
    "infoText": "#0369a1",
    "link": "#1a1712"
  },
  "dark": {
    "bg": "#11100d",
    "surface": "#181612",
    "surface2": "#221f1a",
    "fg": "#f2ede3",
    "muted": "#a79f92",
    "border": "#2f2b24",
    "input": "#5a5347",
    "primary": "#f2ede3",
    "primaryFg": "#1a1712",
    "secondary": "#221f1a",
    "secondaryFg": "#f2ede3",
    "accent": "#e59a8a",
    "accentFg": "#2a0a05",
    "ring": "#f2ede3",
    "success": "#4ade80",
    "successFg": "#052e16",
    "warning": "#fbbf24",
    "warningFg": "#1f1300",
    "danger": "#f87171",
    "dangerFg": "#210505",
    "info": "#38bdf8",
    "infoFg": "#03202d",
    "primaryText": "#f2ede3",
    "secondaryText": "#86827a",
    "accentText": "#e59a8a",
    "successText": "#4ade80",
    "warningText": "#fbbf24",
    "dangerText": "#f87171",
    "infoText": "#38bdf8",
    "link": "#f2ede3"
  },
  "css": "[data-noodle=\"longxu\"] {\n  --mn-bg: light-dark(#f8f5ee, #11100d);\n  --mn-surface: light-dark(#fffdf8, #181612);\n  --mn-surface-2: light-dark(#f0ebe0, #221f1a);\n  --mn-fg: light-dark(#1a1712, #f2ede3);\n  --mn-muted: light-dark(#625b50, #a79f92);\n  --mn-border: light-dark(#e3dccd, #2f2b24);\n  --mn-input: light-dark(#b8ad97, #5a5347);\n  --mn-primary: light-dark(#1a1712, #f2ede3);\n  --mn-primary-fg: light-dark(#fffdf8, #1a1712);\n  --mn-secondary: light-dark(#f0ebe0, #221f1a);\n  --mn-secondary-fg: light-dark(#1a1712, #f2ede3);\n  --mn-accent: light-dark(#8a2a1c, #e59a8a);\n  --mn-accent-fg: light-dark(#ffffff, #2a0a05);\n  --mn-ring: light-dark(#1a1712, #f2ede3);\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(#1a1712, #f2ede3);\n  --mn-secondary-text: light-dark(#747069, #86827a);\n  --mn-accent-text: light-dark(#8a2a1c, #e59a8a);\n  --mn-success-text: light-dark(#15783a, #4ade80);\n  --mn-warning-text: light-dark(#a84e0a, #fbbf24);\n  --mn-danger-text: light-dark(#c52424, #f87171);\n  --mn-info-text: light-dark(#0369a1, #38bdf8);\n  --mn-link: light-dark(#1a1712, #f2ede3);\n  --mn-font: ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n  --mn-font-heading: \"Iowan Old Style\", \"Palatino Linotype\", Palatino, \"Book Antiqua\", ui-serif, Georgia, serif;\n  --mn-font-mono: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace;\n  --mn-heading-weight: 400;\n  --mn-radius-field: 3px;\n  --mn-radius-box: 4px;\n  --mn-radius-badge: 2px;\n  --mn-shadow-sm: none;\n  --mn-shadow-md: none;\n  --mn-shadow-lg: none;\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"
}
