Skip to content

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.

GlassPhilippines · glass noodlesradius 14px / 24pxcomfortable densitynone shadowstranslucent

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

#0b1220 · deep

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

#0e7490 · mid, saturated

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

#e9eef5 · pale

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 noodlesurfaces at 34% opacity over a coloured backdrop
  • Clear strands catch the lighta thin bright rim on the top edge of every pane
  • Soaked until softheavy blur and saturation behind each pane, so text stays readable
  • Served in a golden brotha 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.

Try your brand colour
Open in the studio
Light

Buttons

Fields

Choices

Status

NewPaidPendingDraftTag
72
AP

Tabs

Overview panel.
Activity panel.
Settings panel.

Bars

Line & donut

Table

InvoiceStatusAmount
INV-001Paid€250.00
INV-002Pending€150.00
INV-003Overdue€350.00

Feedback & motion

Deployed

Your site is live.


  1. Cart
  2. Pay
  3. Done

A dialog

Each noodle has its own entrance.
Dark

Buttons

Fields

Choices

Status

NewPaidPendingDraftTag
72
AP

Tabs

Overview panel.
Activity panel.
Settings panel.

Bars

Line & donut

Table

InvoiceStatusAmount
INV-001Paid€250.00
INV-002Pending€150.00
INV-003Overdue€350.00

Feedback & motion

Deployed

Your site is live.


  1. Cart
  2. Pay
  3. Done

A dialog

Each noodle has its own entrance.

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.

Background#e9eef5
Surface#ffffff
Muted surface#dfe6ee
Foreground#0b1220
Muted text#3d4858
Border#d5dde7
Input border#b3bfcd
Primary#0b1220
On primary#ffffff
Secondary#dfe6ee
Accent#0e7490
Success#15803d
Warning#b45309
Danger#dc2626
Info#0369a1
Focus ring#0e7490

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 / badge14px · 24px · 999px
densitycomfortable
shadowsnone
Choose a noodle

Minimal

Flat

Pixel

Linear

Thin

Glass

Textured

Bold

Elegant

Rounded

On this page