Sotanghon
Real transparency. You see what is behind. Sotanghon are Filipino mung-bean noodles: in the bowl you see the broth through them rather than the noodle. Sotanghon is glass with real transparency: surfaces are about a third opaque, they blur and brighten whatever is behind them, a line of light runs along the top edge, and the backdrop is part of the design.
Design language
Sotanghon is glass you can actually see through. Surfaces are about a third opaque and sit over a soft, colourful backdrop, which they blur and brighten so that text on them stays readable. A thin line of light along the top edge and a hairline all round are what draw each pane; there are no solid fills except the ink primary. The backdrop is not optional: without something behind it, glass is just grey.
Principles
- Three opacities only: 18% for wells, 34% for panes, 68% for anything that floats above panes.
- Every pane has the rim: inset 0 1px 0 light, plus a 1px inner hairline. No opaque borders.
- Blur and saturate behind (22px, 170%), so the backdrop becomes soft colour, never detail.
- Ink is the only solid: primary buttons, the switch when on, progress fills.
- Design the backdrop: two or three large soft colours, warm and cool, behind everything.
Shape
14px fields, 24px panes, pill badges.
Surface
Translucent white (dark: translucent slate) with backdrop-filter. Panes inside panes drop the blur and use the 18% well.
Colour
Ink primary on glass, a teal accent. Colour comes from the backdrop: sky, peach and mint in light, deep blue, ember and forest in dark.
Type
The system font, headings at 650 tracked −0.03em.
Motion
sotanghon-in: rises 6px, scales from .985 and sharpens from a 6px blur in 320ms.
Data
Bars are 16% ink glass with the highlighted bar in solid ink; a 2px ink line over a 16% area.
Designing new components in Sotanghon
MIAN does not ship every component you will need. To make a new one that belongs in Sotanghon, build it from --mn-* tokens inside [data-noodle="sotanghon"] and follow these rules.
Do
- Background: color-mix(in srgb, var(--mn-surface) 34%, transparent) with backdrop-filter: var(--mn-backdrop). Border: transparent.
- Edge: box-shadow: var(--st-rim), var(--st-drop).
- Hover raises opacity to 68%; it does not move or tint.
- Selected: a 68% pane inside an 18% track, or solid ink for a single chosen item.
- Place it over the noodle’s backdrop (the page already has it); inside another pane, drop the blur.
- Honour prefers-reduced-transparency by raising the opacity to 94%.
Avoid
- Opaque cards
- Glass over a plain white or plain black page
- Purple and blue blobs as the backdrop
- Body text on a pane with no blur behind it
- More than two layers of glass on top of each other
Recipe: a selectable tile
[data-noodle="sotanghon"] .tile {
padding: 18px; border: 0; border-radius: 24px;
background: color-mix(in srgb, var(--mn-surface) 34%, transparent); color: var(--mn-fg);
-webkit-backdrop-filter: blur(22px) saturate(1.7); backdrop-filter: blur(22px) saturate(1.7);
box-shadow: inset 0 1px 0 light-dark(rgb(255 255 255 / .7), rgb(255 255 255 / .14)), inset 0 0 0 1px light-dark(rgb(15 23 42 / .1), rgb(255 255 255 / .1));
transition: background-color 200ms cubic-bezier(.16, 1, .3, 1);
}
[data-noodle="sotanghon"] .tile:hover { background: color-mix(in srgb, var(--mn-surface) 68%, transparent); }
[data-noodle="sotanghon"] .tile[aria-selected="true"] { background: var(--mn-fg); color: var(--mn-bg); }The same guide, for AI tools: /ai/noodles/sotanghon.md · MCP tool get_design_language.
Colour, type and brand
What Sotanghon says before anyone reads a word, and what kind of brand it suits. Tendencies, not laws: see the guides on colour, type, branding and logos.
Primary · Blue
Trust, competence, calm, distance. The world’s most-liked colour and the default of banks, software and social networks.
Watch for: The safest choice is also the least memorable. A blue brand is told apart by its typography, shape and tone of voice, not by its blue.
Accent · Teal and cyan
Clarity, cleanliness, calm technology. Cooler than green, softer than blue.
Watch for: Very common in medical and SaaS products, so it needs a distinctive neutral or typeface to be remembered.
Page · Blue
Trust, competence, calm, distance. The world’s most-liked colour and the default of banks, software and social networks.
Watch for: The safest choice is also the least memorable. A blue brand is told apart by its typography, shape and tone of voice, not by its blue.
Blue with its neighbour teal and cyan: an analogous pair, harmonious and natural. The page itself is cool.
Type
One voice throughout: system sans (the device’s own typeface). Headings are semibold, which reads as confident without shouting. Native, familiar, efficient. It disappears, which is the point: the product feels like part of the device.
Personality
Reads as glass, transparent, airy, premium, modern. Intensity 3 of 5.
Suits
consumer apps, media apps, product launches, weather, music. Less suited to dense admin, financial data, print.
Tone of voice
Lively. A point of view in the headline, concrete verbs, a little humour where it is true.
Logo
Round marks fit: a circular symbol or a soft, lowercase wordmark.
Inspired by the noodle
- You see the broth through the noodle→surfaces at 34% opacity over a coloured backdrop
- Clear strands catch the light→a thin bright rim on the top edge of every pane
- Soaked until soft→heavy blur and saturation behind each pane, so text stays readable
- Served in a golden broth→a warm and cool backdrop of sky, peach and mint, never one flat colour
Specimen
The same markup as every other noodle. Press, hover, open the menu and the dialog: shape, depth, texture and motion all change.
Buttons
Fields
Choices
Status
Tabs
Bars
Line & donut
Table
| Invoice | Status | Amount |
|---|---|---|
| INV-001 | Paid | €250.00 |
| INV-002 | Pending | €150.00 |
| INV-003 | Overdue | €350.00 |
Feedback & motion
Deployed
Your site is live.
- Cart
- Pay
- Done
Buttons
Fields
Choices
Status
Tabs
Bars
Line & donut
Table
| Invoice | Status | Amount |
|---|---|---|
| INV-001 | Paid | €250.00 |
| INV-002 | Pending | €150.00 |
| INV-003 | Overdue | €350.00 |
Feedback & motion
Deployed
Your site is live.
- Cart
- Pay
- Done
This palette on Sotanghon. Load it after mian.css and put data-brand on the same element as data-noodle.
Use it
<!-- everything -->
<link rel="stylesheet" href="https://mian.ro/dist/mian.css">
<html data-noodle="sotanghon">
<!-- or only this noodle -->
<link rel="stylesheet" href="https://mian.ro/dist/mian-core.css">
<link rel="stylesheet" href="https://mian.ro/dist/noodles/sotanghon.css">
<!-- or scope it to one element -->
<section data-noodle="sotanghon" data-mode="dark">…</section>Palette
Left half light, right half dark. Every text pair is verified for WCAG AA contrast when the site is built.
Typography & shape
| --mn-font | -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif |
| --mn-font-heading | -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif |
| --mn-radius-field / box / badge | 14px · 24px · 999px |
| density | comfortable |
| shadows | none |