{
  "$schema": "https://mian.ro/schema/v2/registry.json",
  "schemaVersion": "2.0.0",
  "generatedAt": "2026-10-02T13:14:06.957Z",
  "id": "soba",
  "name": "Soba",
  "family": "Elegant",
  "origin": "Japan",
  "tagline": "Earthy, editorial, restrained.",
  "description": "Buckwheat neutrals with serif headings and small radii. Flat: borders instead of shadows. For publications, docs and calm tools.",
  "inspiration": [
    "Buckwheat speckle → a fine speckled texture on surfaces",
    "Served on a bamboo zaru → slatted stripes in tables, progress and charts",
    "Cut straight with a knife → square corners and segmented indicators",
    "Dipping ritual → calm, measured motion that settles without bounce"
  ],
  "traits": {
    "mood": [
      "editorial",
      "earthy",
      "restrained",
      "literary",
      "calm"
    ],
    "intensity": 1,
    "contrast": "medium",
    "geometry": "small radius, borders not shadows",
    "type": "serif headings",
    "surface": "buckwheat neutrals, flat",
    "motion": "calm",
    "goodFor": [
      "publications",
      "documentation",
      "law",
      "research",
      "calm tools"
    ],
    "lessFor": [
      "games",
      "campaigns"
    ],
    "density": "default"
  },
  "license": "LicenseRef-MIAN-1.0",
  "designLanguage": {
    "essence": "Soba is buckwheat: grey-brown, speckled, cut straight with a knife and served on a slatted bamboo zaru. The language is editorial and restrained: square corners, serif headings, a faint speckle in the paper, slatted stripes in tables, progress and charts, and its motion is calm and ceremonial.",
    "principles": [
      "Square and straight: corners of 4–6px at most, strict alignments.",
      "The zaru pattern: repeating vertical slats mark progress, stripes and charts.",
      "Speckle, not shine: a fine buckwheat texture on surfaces instead of gradients.",
      "Serif for headings, sans for reading; restrained earth colours.",
      "Unhurried: things unroll into place over 260ms without bounce."
    ],
    "aspects": {
      "Shape": "4px fields, 6px containers; radios become diamonds; segmented indicators.",
      "Surface": "Warm paper with the speckle texture, 1px borders, no shadows.",
      "Colour": "Buckwheat taupe primary, roasted brown accent, stone neutrals.",
      "Type": "Serif headings, small-caps style uppercase labels.",
      "Motion": "soba-unroll: reveal from the top edge, 260ms, cubic-bezier(.4,0,.2,1).",
      "Data": "Bars cut into slats, striped progress, tables with slatted headers."
    },
    "extend": [
      "Use var(--s-speckle) as a background-image on new surfaces and var(--s-slats) for anything that measures or fills.",
      "Keep corners square (≤6px) and use the serif heading font for titles.",
      "Selected = a solid taupe fill or a 2px straight underline."
    ],
    "avoid": [
      "Rounded pills",
      "Glossy gradients",
      "Bright saturated colours",
      "Springy motion"
    ],
    "recipe": "[data-noodle=\"soba\"] .tile {\n  padding: 12px 14px; border: 1px solid var(--mn-border); border-radius: 4px;\n  background: var(--mn-surface) var(--s-speckle);\n}\n[data-noodle=\"soba\"] .tile[aria-selected=\"true\"] { background-image: var(--s-slats); border-color: var(--mn-fg); }\n[data-noodle=\"soba\"] .tile h3 { font-family: var(--mn-font-heading); font-weight: 600; }"
  },
  "psychology": {
    "temperature": "warm",
    "colours": [
      {
        "role": "Primary",
        "hex": "#3f3a33",
        "family": "Black and ink",
        "depth": "deep, muted",
        "says": "Authority, precision, luxury. It makes everything next to it look more deliberate.",
        "use": "Fashion, editorial, developer tools, any brand that will let its content be the colour.",
        "risk": "Pure #000 on pure #fff is harsh on long text. Soften one of the two slightly, or warm both."
      },
      {
        "role": "Accent",
        "hex": "#7c5a2e",
        "family": "Brown and terracotta",
        "depth": "mid",
        "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": "#f7f6f3",
        "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": "A neutral primary with one brown and terracotta accent: the accent means “look here” precisely because nothing else is coloured.",
    "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": 650,
      "summary": "Two voices: book serif (old-style and transitional) for headings, neutral sans for the interface. Headings are semibold, which reads as confident without shouting."
    },
    "personality": {
      "reads": [
        "editorial",
        "earthy",
        "restrained",
        "literary",
        "calm"
      ],
      "intensity": 1,
      "dimensions": [
        "Sophistication"
      ],
      "suits": [
        "publications",
        "documentation",
        "law",
        "research",
        "calm tools"
      ],
      "lessFor": [
        "games",
        "campaigns"
      ],
      "tone": "Quiet. Plain statements in sentence case, no exclamation marks, numbers with their units. Let space do the persuading."
    },
    "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/soba",
  "markdownUrl": "https://mian.ro/ai/noodles/soba.md",
  "stylesheet": "https://mian.ro/dist/noodles/soba.css",
  "usage": "<html data-noodle=\"soba\">",
  "fonts": {
    "sans": "ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif",
    "heading": "ui-serif, \"New York\", \"Iowan Old Style\", \"Palatino Linotype\", Georgia, serif",
    "mono": "ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace"
  },
  "headingWeight": 650,
  "radius": {
    "field": "4px",
    "box": "6px",
    "badge": "4px"
  },
  "shadow": "none",
  "density": "default",
  "glass": false,
  "light": {
    "bg": "#f7f6f3",
    "surface": "#ffffff",
    "surface2": "#eeece6",
    "fg": "#1f1d1a",
    "muted": "#66615a",
    "border": "#e0ddd5",
    "input": "#cdc8bc",
    "primary": "#3f3a33",
    "primaryFg": "#faf9f6",
    "secondary": "#eeece6",
    "secondaryFg": "#1f1d1a",
    "accent": "#7c5a2e",
    "accentFg": "#ffffff",
    "ring": "#7c5a2e",
    "success": "#15803d",
    "successFg": "#ffffff",
    "warning": "#b45309",
    "warningFg": "#ffffff",
    "danger": "#dc2626",
    "dangerFg": "#ffffff",
    "info": "#0369a1",
    "infoFg": "#ffffff",
    "primaryText": "#3f3a33",
    "secondaryText": "#72706c",
    "accentText": "#7c5a2e",
    "successText": "#16783a",
    "warningText": "#a84f0a",
    "dangerText": "#c52525",
    "infoText": "#0369a1",
    "link": "#3f3a33"
  },
  "dark": {
    "bg": "#161513",
    "surface": "#1d1c19",
    "surface2": "#282622",
    "fg": "#eeebe4",
    "muted": "#a39d91",
    "border": "#33302b",
    "input": "#48443c",
    "primary": "#eeebe4",
    "primaryFg": "#1d1c19",
    "secondary": "#282622",
    "secondaryFg": "#eeebe4",
    "accent": "#d4a466",
    "accentFg": "#1d1407",
    "ring": "#d4a466",
    "success": "#4ade80",
    "successFg": "#052e16",
    "warning": "#fbbf24",
    "warningFg": "#1f1300",
    "danger": "#f87171",
    "dangerFg": "#210505",
    "info": "#38bdf8",
    "infoFg": "#03202d",
    "primaryText": "#eeebe4",
    "secondaryText": "#87857f",
    "accentText": "#d4a466",
    "successText": "#4ade80",
    "warningText": "#fbbf24",
    "dangerText": "#f87171",
    "infoText": "#38bdf8",
    "link": "#eeebe4"
  },
  "css": "[data-noodle=\"soba\"] {\n  --mn-bg: light-dark(#f7f6f3, #161513);\n  --mn-surface: light-dark(#ffffff, #1d1c19);\n  --mn-surface-2: light-dark(#eeece6, #282622);\n  --mn-fg: light-dark(#1f1d1a, #eeebe4);\n  --mn-muted: light-dark(#66615a, #a39d91);\n  --mn-border: light-dark(#e0ddd5, #33302b);\n  --mn-input: light-dark(#cdc8bc, #48443c);\n  --mn-primary: light-dark(#3f3a33, #eeebe4);\n  --mn-primary-fg: light-dark(#faf9f6, #1d1c19);\n  --mn-secondary: light-dark(#eeece6, #282622);\n  --mn-secondary-fg: light-dark(#1f1d1a, #eeebe4);\n  --mn-accent: light-dark(#7c5a2e, #d4a466);\n  --mn-accent-fg: light-dark(#ffffff, #1d1407);\n  --mn-ring: light-dark(#7c5a2e, #d4a466);\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(#3f3a33, #eeebe4);\n  --mn-secondary-text: light-dark(#72706c, #87857f);\n  --mn-accent-text: light-dark(#7c5a2e, #d4a466);\n  --mn-success-text: light-dark(#16783a, #4ade80);\n  --mn-warning-text: light-dark(#a84f0a, #fbbf24);\n  --mn-danger-text: light-dark(#c52525, #f87171);\n  --mn-info-text: light-dark(#0369a1, #38bdf8);\n  --mn-link: light-dark(#3f3a33, #eeebe4);\n  --mn-font: ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n  --mn-font-heading: ui-serif, \"New York\", \"Iowan Old Style\", \"Palatino Linotype\", Georgia, 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: 4px;\n  --mn-radius-box: 6px;\n  --mn-radius-badge: 4px;\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"
}
