---
title: GINI Brand Guide
brand: GINI
locale: en-US
version: 1.7
updated: 2026-09
primary_color: #F05D25
font_family: Rubik
canonical: https://gini.iq/en/brand
json_manifest: https://gini.iq/en/brand.json
---

# GINI Brand Guide

> **GINI** — The Iraqi gateway to global brands.

GINI is an Iraqi market automation and digital commerce company founded in 2023, connecting merchants, service providers, delivery networks, and payment systems within a unified digital ecosystem. GINI provides tools for business management, product and service display, payment processing, and order management — enabling businesses and merchants to grow and reach millions of users efficiently. Headquartered in Baghdad, GINI serves merchants and consumers across every Iraqi province.

This page is the authoritative source for everything about representing GINI visually and verbally. For programmatic use, the JSON manifest lives at: `https://gini.iq/en/brand.json`.

## About

- **Legal name:** GINI
- **Localised name:** GINI (جنّي)
- **Headquarters:** Baghdad, Iraq
- **Founded:** 2023
- **Industry:** E-commerce & platform services
- **Website:** https://gini.iq
- **Press:** info@gini.iq

## Identity

### Principles

#### Mission — We build Iraq's digital commerce infrastructure.

We connect merchants, service providers, delivery networks, and payment systems within a unified digital ecosystem — providing tools for business management, payments, and order handling so every merchant can reach millions efficiently.

#### Vision — To empower every merchant to grow digitally.

A digital ecosystem that small merchants adopt as readily as large ones — easing the transition to the digital economy and unlocking broader markets with smart tools and ready-made infrastructure.

#### Positioning — Iraq's market automation and digital commerce company.

Not just an online store. We're an integrated ecosystem that fuses payments, logistics, and business management — serving consumers and merchants alike within a transparent, efficient experience.

#### Promise — Empower merchants. Simplify commerce.

Advanced digital tools for merchants of every size, strategic partnerships in payments and delivery, and an ecosystem that creates growth opportunities for all.

### What we are

- Digital commerce infrastructure
- Enablers for merchants of all sizes
- An integrated payments and delivery ecosystem
- Partners in business growth

### What we are not

- Just an online store
- Disconnected, siloed solutions
- A consumer-only platform
- A copy of foreign models

## Visual system

### Colour palette

| ID | Name | HEX | RGB | CMYK | Pantone | Role |
|---|---|---|---|---|---|---|
| `gini-orange` | GINI Orange | `#F05D25` | `rgb(240, 93, 37)` | `0, 70, 95, 0` | PANTONE 1655 C | Primary brand colour — logo, buttons, interactive elements. |
| `gini-ember` | Ember | `#D94E1A` | `rgb(217, 78, 26)` | `0, 76, 99, 10` | PANTONE 1665 C | Darker shade for hover states and type on light fills. |
| `gini-ink` | Night Ink | `#1A1A1A` | `rgb(26, 26, 26)` | `0, 0, 0, 90` | — | Primary text and headlines on light surfaces. |
| `gini-cream` | Warm Cream | `#FBF6F0` | `rgb(251, 246, 240)` | `0, 2, 4, 2` | — | Primary surface across the site and marketing material. |
| `gini-sand` | Quiet Sand | `#EFE6DB` | `rgb(239, 230, 219)` | `0, 4, 8, 6` | — | Secondary surfaces for cards and section dividers. |

### Accessibility

| Foreground | Background | Ratio | WCAG | Use |
|---|---|---|---|---|
| `#1A1A1A` | `#FBF6F0` | 16.2 : 1 | AAA | Default pairing for long-form body copy. |
| `#1A1A1A` | `#EFE6DB` | 14.1 : 1 | AAA | Copy set on sand-toned cards. |
| `#FFFFFF` | `#F05D25` | 3.3 : 1 | AA-large | Large headings and buttons only (18px+). Avoid body copy. |
| `#D94E1A` | `#FBF6F0` | 3.9 : 1 | AA-large | Ember for headings and display numbers (18px+) on cream. For body-size text use the text-safe orange #B8410F (5.1 : 1). |
| `#FFFFFF` | `#1A1A1A` | 17.4 : 1 | AAA | Dark mode for product pages and video thumbnails. |
| `#FBF6F0` | `#1A1A1A` | 16.2 : 1 | AAA | Warm accent on dark surfaces. |

## Typography

### Font family

- **Primary:** Rubik (Sans-serif)
- **Weights:** 400, 500, 700, 800
- **Specimen:** https://fonts.google.com/specimen/Rubik
- **Fallback:** `Rubik, ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans Arabic", "Noto Sans", sans-serif`

### Type scale

| Token | Size | Weight | Line-height | Usage |
|---|---|---|---|---|
| **Display** | 32–48 / 1.15 | 800 | 115% | Hero titles on marketing pages and campaigns. |
| **Heading** | 36–48 / 1.15 | 700 | 115% | Section titles within pages. |
| **Subheading** | 20–24 / 1.25 | 600 | 125% | Card titles and mid-level components. |
| **Body** | 16–18 / 1.6 | 400 | 160% | Paragraphs and general reading copy. |
| **Caption** | 12–14 / 1.4 | 600 | tracked 0.18em | Section labels and small eyebrow tags. |

## Logo

- **Download (SVG):** https://gini.iq/logo.svg

### Variants

- **Primary wordmark** — Default use on light surfaces — marketing and print material.
  - background: `light`, mode: `color`, SVG: https://gini.iq/brand/gini-logo-black.svg
- **On cream surface** — The default surface across the website and official collateral.
  - background: `cream`, mode: `color`, SVG: https://gini.iq/brand/gini-logo-black.svg
- **On brand fill** — For campaigns and high-emphasis collateral — we use the all-white wordmark (no orange accent) so the brand colour doesn't repeat on top of itself.
  - background: `brand`, mode: `mono`, SVG: https://gini.iq/brand/gini-wordmark-mono-white.svg
- **On dark surface** — Video thumbnails and dark-mode collateral.
  - background: `dark`, mode: `white`, SVG: https://gini.iq/brand/gini-logo-white.svg
- **One-colour — on pure white** — For one-colour print, or whenever surrounding colours might clash with GINI Orange.
  - background: `pure-white`, mode: `mono`, SVG: https://gini.iq/brand/gini-wordmark-mono-black.svg
- **One-colour — on pure black** — Pure black surfaces — or any loud colour that would fight the brand orange.
  - background: `pure-black`, mode: `mono`, SVG: https://gini.iq/brand/gini-wordmark-mono-white.svg
- **Monogram** — The condensed GINI mark — watermarks, avatars, and square icons on light surfaces.
  - background: `cream`, mode: `monogram`, SVG: https://gini.iq/brand/gini-monogram-black.svg
- **Monogram on brand fill** — Preferred treatment for the app icon and social avatars — we use the all-white monogram (no orange accent) so the brand colour doesn't repeat on top of itself.
  - background: `brand`, mode: `mono`, SVG: https://gini.iq/brand/gini-monogram-mono-white.svg
- **Monogram — one-colour on pure white** — Single-ink G on pure white — and any surface where the orange accent would clash.
  - background: `pure-white`, mode: `mono`, SVG: https://gini.iq/brand/gini-monogram-mono-black.svg
- **Monogram — one-colour on pure black** — Single-ink G on pure black — and any saturated colour that would fight the brand orange.
  - background: `pure-black`, mode: `mono`, SVG: https://gini.iq/brand/gini-monogram-mono-white.svg

### Anatomy

- **Clear space (= 1× G)** — Maintain a clear space equal to the G-height on every side.
- **Min. digital size (24 px)** — Smallest on-screen width where the wordmark stays legible.
- **Min. print size (16 mm)** — Any printed medium: cards, envelopes, signage.
- **Aspect ratio (≈ 3.1 : 1)** — Don't alter the ratio — no stretching or squashing.

### Do

- Keep a clear space around the mark equal to the height of the G at minimum.
- Don't render the logo narrower than 24px on screen or 16mm in print.
- Only use the original orange or the white knocked-out version.
- On any orange surface — or any tint of it — use only the white version of the logo.
- Verify background contrast before exporting — check the accessibility table.

### Don't

- Don't rotate or change the orientation of the logo.
- Never place the black or full-colour logo on an orange surface.
- Don't replace the colours with anything outside the official palette.
- Don't stretch or squash the logo — preserve its native proportions.
- Don't add strokes, shadows, or any effects around the logo.

## Design system — modern skeuomorphism (v1.0.0)

> Every element is built as if it were a real physical object — raised, pressed, engraved or lit — with the restraint of a contemporary digital product.

GINI's interface takes its cues from premium precision equipment: a matte polymer base, raised ceramic panels, anodized-orange controls with visible thickness, and graphite instrument surfaces. The goal is not the leather-and-wood mimicry of 2010 skeuomorphism but an instinctive understanding of what can be pressed and what sits above what — communicated through light, depth and material, never decoration. It is not neumorphism (grey blobs with two shadows), not glassmorphism, and not "just shadows".

### Principles

- **Real-world physical logic** — Before designing any element we ask: if this were a real object, how would it behave? Buttons press, switches slide, fields are recessed, cards sit on the surface, the selected tab is seated in its rail.
- **One light source** — Light always comes from the upper-left, slightly frontal. Every shadow and every highlight respects that direction, so the whole interface reads as one object.
- **Restraint over spectacle** — Only four material families, only eight elevation levels, grain that is felt rather than noticed. Depth hierarchy matters more than the quantity of shadows.
- **A clear depth hierarchy** — Base → recessed functional areas → raised content surfaces → physical controls → floating overlays. Users understand it without thinking.
- **Clarity always wins** — Typography stays modern and clean with no text shadows, and information density is preserved. When beauty and legibility conflict, legibility wins — with a premium physical touch.
- **Accessibility is non-negotiable** — State is never communicated by shadow alone: a visible focus rim on every control, ARIA on segmented controls and menus, touch targets ≥ 44px, and reduced-motion respected.

### Lighting model

A single virtual light, upper-left. Raised surfaces get an inner top highlight (inset 0 1px 0 white), a short contact shadow beneath, and a softer ambient shadow further out. Recessed surfaces invert the logic: a dark inner shadow at the top and a light lip at the bottom.

- Every shadow is offset downward (positive y); horizontal offsets are negligible.
- Shadow ink is warm (rgb 37 22 10), never neutral black — it harmonises with the cream base.
- The lit top edge is mandatory on every raised surface; the bottom edge is slightly darker to reveal thickness.
- Gradients are allowed only when they describe curvature, light or material — never decorative gradients.

### Materials

| Material | Class | Used for | Recipe |
|---|---|---|---|
| Matte polymer | `body / .skeu-well` | Page base, recessed trays and wells, input fields | Warm cream (oklch 0.962 0.012 72) with a radial light from the upper-left, a faint tonal drift toward the bottom, and a fixed grain layer at 4.5% opacity. |
| Raised ceramic | `.skeu-panel / .skeu-panel-2 / .skeu-rail / .skeu-dialog` | Cards, panels, the navigation rail, dialogs, secondary buttons | Vertical gradient from white to warm white, a 1px edge border, an inner top highlight, and contact + ambient shadows according to the elevation level. |
| Anodized orange | `.skeu-btn-primary / .skeu-tile / .skeu-tab-active / .skeu-chip-solid` | The primary button, icon tiles, the active tab, solid badges, the ON switch | Gradient from #cc4914 at the top through #c4461a to #b83f16 at the bottom (a slight dome, ≥4.6:1 under white text), #a83c15 border, a 38% white top gloss, a 2px darker bottom band that reveals thickness, and a soft orange outer glow. The pressed state is darker and recessed. |
| Graphite | `.skeu-dark / .skeu-btn-dark` | The footer, code windows, dark CTA blocks and the controls on them | Gradient from #2a2624 to #171412 with 1.2% horizontal brush lines, a 10% lit top edge, a dark bottom edge, and a deep far shadow. |

### Elevation ladder

| Level | Token | Class | Used for |
|---|---|---|---|
| Recessed | `--skeu-shadow-recessed` | `.skeu-well` | Functional content trays, progress tracks, the soft selected tab |
| Well | `--skeu-shadow-well` | `.skeu-input / .skeu-well-soft` | Inputs, checkboxes and switches, row lists |
| Flush | `--skeu-shadow-flush` | `.skeu-btn-ghost / .skeu-list-item` | Menu rows and ghost buttons at rest — they rise on interaction |
| Raised 1 | `--skeu-shadow-raised-1` | `.skeu-panel` | Standard cards, large chips, alerts |
| Raised 2 | `--skeu-shadow-raised-2` | `.skeu-panel-2 / .skeu-rail` | Hero panels, major containers, the header rail, any card on hover |
| Floating | `--skeu-shadow-floating` | `.skeu-floating` | Dropdowns, floating pills, popovers |
| Overlay | `--skeu-shadow-overlay` | `.skeu-dialog` | Dialogs above a lightly dimmed backdrop |
| Pressed | `--skeu-shadow-pressed` | `:active / .skeu-tab-active` | The instant any control is pressed, and the selected tab |

### Radii

- `--skeu-radius-xs` = 6px — Tiny chips and tags
- `--skeu-radius-sm` = 10px — Standard buttons, inputs, small controls
- `--skeu-radius-md` = 14px — Tiles and tabs
- `--skeu-radius-lg` = 20px — Cards and panels
- `--skeu-radius-xl` = 26px — Dialogs and the navigation rail

### Motion

- **Button press — 80ms** — Drops 1px as the outer shadow turns into an inset; returns within 150ms.
- **Card hover — 260ms** — Rises 2px from Raised-1 to Raised-2 on cubic-bezier(0.22, 1, 0.36, 1).
- **Tab selection** — The new tab sinks 1px with a deeper fill; the previous one springs back.
- **Switch** — The thumb slides 20px mechanically over 260ms while the track illuminates.
- **Dropdown — 180ms** — Appears with a small lift and fade (animate-skeu-pop).
- **Dialog — 260ms** — Rises from the base with a controlled 0.97 → 1 scale (animate-skeu-dialog).
- **Reduced motion** — All motion is disabled under prefers-reduced-motion; states remain readable through shape and colour.

### Component catalog

**Surfaces**

- `skeu-panel` — Raised panel: The standard card
- `skeu-panel-2` — Raised panel 2: Major containers and heroes
- `skeu-panel-interactive` — Interactive panel: A clickable card that rises and seats
- `skeu-panel-selected` — Selected panel: A locked/selected card pressed in with an accent rim
- `skeu-floating` — Floating surface: Dropdowns and pills
- `skeu-dialog + skeu-backdrop` — Dialog: The overlay and its backdrop
- `skeu-rail` — Navigation rail: The header and sticky toolbars
- `skeu-well / -soft / -accent` — Recessed well: Functional trays and highlighted rows
- `skeu-dark` — Graphite surface: Footer and code windows

**Controls**

- `skeu-btn-primary` — Primary button: The main action — anodized orange
- `skeu-btn-secondary` — Secondary button: Matte ceramic button
- `skeu-btn-tint` — Tinted button: A secondary action with accent identity
- `skeu-btn-ghost` — Ghost button: Flush until hovered, then rises
- `skeu-btn-destructive` — Destructive button: Machined red
- `skeu-input` — Input: A recessed well with an illuminated focus rim
- `skeu-check / skeu-radio` — Checkbox / radio: An engraved well that lights when set
- `skeu-toggle` — Switch: Recessed track and physical thumb
- `skeu-tab / skeu-tab-active` — Segmented tab: A raised key; the active one seated in a deeper fill

**Small elements**

- `skeu-tile / -soft / -ceramic` — Icon tile: Anodized / tinted well / white ceramic
- `skeu-chip / -solid / -neutral / -success` — Chip / badge: Embossed pills with a hairline edge
- `skeu-meter` — Instrument readout: Stats and KPIs
- `skeu-table / skeu-row` — Table / row: Raised header, recessed body, tactile rows
- `skeu-alert-*` — Alert: Elevated system objects with a semantic edge
- `skeu-skeleton` — Skeleton: Recessed blocks with a light sweep
- `skeu-track / skeu-fill` — Progress track: Recessed track and anodized fill
- `skeu-divider` — Engraved divider: A dark line over a light line

### Component library (64)

64 copy-ready components built only from the `skeu-*` classes served at `https://gini.iq/skeu.css` plus Tailwind layout utilities. Install:

```html
<link rel="stylesheet" href="https://gini.iq/skeu.css">
```

or `@import url("https://gini.iq/skeu.css");` — pair with `https://gini.iq/brand.css` for the palette. The classes work with plain HTML, React, Vue, Svelte or any framework — zero dependencies. RTL is supported automatically via dir="rtl". Layout utilities (h-10, px-4, gap-2…) are Tailwind and can be swapped for your own CSS.

#### Actions

**Primary button — three sizes** — `skeu-btn`, `skeu-btn-primary`

The anodized button at 32 / 40 / 44px. Size is layout only — the material is the same.

```html
<button class="skeu-btn skeu-btn-primary h-8 px-3 rounded-[var(--skeu-radius-sm)] text-xs font-semibold">Small</button>
<button class="skeu-btn skeu-btn-primary h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Medium</button>
<button class="skeu-btn skeu-btn-primary h-11 px-5 rounded-[var(--skeu-radius-sm)] text-base font-semibold">Large</button>
```

**Button family** — `skeu-btn-secondary`, `skeu-btn-tint`, `skeu-btn-ghost`, `skeu-btn-destructive`, `skeu-btn-dark`

Ceramic secondary, tinted, ghost, destructive, and dark for graphite surfaces.

```html
<button class="skeu-btn skeu-btn-secondary h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Secondary</button>
<button class="skeu-btn skeu-btn-tint h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Tinted</button>
<button class="skeu-btn skeu-btn-ghost h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Ghost</button>
<button class="skeu-btn skeu-btn-destructive h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Delete</button>
<div class="skeu-dark inline-flex p-2 rounded-[var(--skeu-radius-md)]">
  <button class="skeu-btn skeu-btn-dark h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Dark</button>
</div>
```

**Icon button** — `skeu-btn`, `skeu-btn-secondary`, `skeu-btn-primary`

A 40px square with only an icon — never without aria-label.

```html
<button class="skeu-btn skeu-btn-secondary inline-flex items-center justify-center w-10 h-10 rounded-[var(--skeu-radius-sm)]" aria-label="Search"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></svg></button>
<button class="skeu-btn skeu-btn-primary inline-flex items-center justify-center w-10 h-10 rounded-[var(--skeu-radius-sm)]" aria-label="Add"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M12 5v14M5 12h14"/></svg></button>
<button class="skeu-btn skeu-btn-ghost inline-flex items-center justify-center w-10 h-10 rounded-full" aria-label="More"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><circle cx="5" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="19" cy="12" r="2"/></svg></button>
```

**Button with leading icon** — `skeu-btn`, `skeu-btn-primary`

Icon at the start edge, label after it — flips automatically in RTL.

```html
<button class="skeu-btn skeu-btn-primary inline-flex items-center justify-center gap-2 h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="9" cy="20" r="1.5"/><circle cx="18" cy="20" r="1.5"/><path d="M2 3h3l2.7 11.3a2 2 0 0 0 2 1.7h8.6a2 2 0 0 0 2-1.6L22 8H6"/></svg> Add to cart</button>
<button class="skeu-btn skeu-btn-secondary inline-flex items-center gap-2 h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Continue <svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></button>
```

**Loading button** — `skeu-btn`, `skeu-btn-primary`

A spinner inside the control with aria-busy and pointer disabled.

```html
<button class="skeu-btn skeu-btn-primary inline-flex items-center justify-center gap-2 h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold" aria-busy="true" disabled><svg class="w-4 h-4 animate-spin" viewBox="0 0 24 24" fill="none" aria-hidden="true"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-opacity=".3" stroke-width="3"/><path d="M22 12a10 10 0 0 1-10 10" stroke="currentColor" stroke-width="3" stroke-linecap="round"/></svg> Saving…</button>
```

**Disabled button** — `skeu-btn`

55% opacity, desaturated, no motion — the disabled attribute is enough.

```html
<button class="skeu-btn skeu-btn-primary inline-flex items-center justify-center gap-2 h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold" disabled>Unavailable</button>
<button class="skeu-btn skeu-btn-secondary h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold" disabled>Unavailable</button>
```

**Button group / split button** — `skeu-btn-secondary`, `skeu-btn-primary`

Adjoining keys sharing one radius; the split button separates the main action from its menu.

```html
<div class="inline-flex rounded-[var(--skeu-radius-sm)]" role="group" aria-label="View">
  <button class="skeu-btn skeu-btn-secondary h-10 px-4 text-sm font-semibold rounded-s-[var(--skeu-radius-sm)] rounded-e-none" aria-pressed="true">Day</button>
  <button class="skeu-btn skeu-btn-secondary h-10 px-4 text-sm font-semibold rounded-none -ms-px">Week</button>
  <button class="skeu-btn skeu-btn-secondary h-10 px-4 text-sm font-semibold rounded-e-[var(--skeu-radius-sm)] rounded-s-none -ms-px">Month</button>
</div>
<div class="inline-flex">
  <button class="skeu-btn skeu-btn-primary h-10 px-4 text-sm font-semibold rounded-s-[var(--skeu-radius-sm)] rounded-e-none">Publish</button>
  <button class="skeu-btn skeu-btn-primary h-10 w-10 inline-flex items-center justify-center rounded-e-[var(--skeu-radius-sm)] rounded-s-none border-s-white/30" aria-label="More publish options" aria-haspopup="menu"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button>
</div>
```

**Floating action button** — `skeu-btn`, `skeu-btn-primary`, `shadow-floating`

A raised round button for the screen's main action — lives at the floating level.

```html
<button class="skeu-btn skeu-btn-primary inline-flex items-center justify-center w-14 h-14 rounded-full shadow-floating" aria-label="New order"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M12 5v14M5 12h14"/></svg></button>
<button class="skeu-btn skeu-btn-primary inline-flex items-center gap-2 h-12 px-5 rounded-full text-sm font-semibold shadow-floating"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M12 5v14M5 12h14"/></svg> New order</button>
```

#### Forms

**Text field with label, help and error** — `skeu-input`, `is-invalid`

The field is a recessed well; the error state adds is-invalid and a message linked via aria-describedby.

```html
<div class="grid gap-1.5">
  <label for="name" class="text-sm font-semibold">Full name</label>
  <input id="name" class="skeu-input h-10 px-3 rounded-[var(--skeu-radius-sm)] text-sm" placeholder="Ali Hassan" aria-describedby="name-help">
  <p id="name-help" class="text-xs text-muted-foreground">As printed on your ID.</p>
</div>
<div class="grid gap-1.5">
  <label for="email" class="text-sm font-semibold">Email</label>
  <input id="email" type="email" value="ali@" class="skeu-input is-invalid h-10 px-3 rounded-[var(--skeu-radius-sm)] text-sm" aria-invalid="true" aria-describedby="email-err">
  <p id="email-err" class="text-xs font-medium text-[var(--skeu-error)]">Enter a valid email address.</p>
</div>
```

**Input with leading icon** — `skeu-input`

The icon is pinned to the start edge with logical properties (start-3 / ps-9).

```html
<label class="relative block">
  <span class="sr-only">Phone</span>
  <span class="pointer-events-none absolute inset-y-0 start-3 flex items-center text-muted-foreground"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0"/></svg></span>
  <input type="tel" class="skeu-input w-full h-10 ps-10 pe-3 rounded-[var(--skeu-radius-sm)] text-sm" placeholder="07xx xxx xxxx" dir="ltr">
</label>
```

**Search field** — `skeu-input`, `skeu-chip-neutral`

A pill-shaped input with a search icon and a keyboard shortcut hint on the end edge.

```html
<form role="search" class="relative">
  <span class="pointer-events-none absolute inset-y-0 start-3.5 flex items-center text-muted-foreground"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></svg></span>
  <input type="search" class="skeu-input w-full h-11 ps-10 pe-14 rounded-full text-sm" placeholder="Search products, merchants…" aria-label="Search">
  <kbd class="skeu-chip-neutral absolute inset-y-0 my-auto end-2 h-6 px-2 rounded-[var(--skeu-radius-xs)] text-[10px] font-mono inline-flex items-center">⌘K</kbd>
</form>
```

**Select** — `skeu-input`

A native select inside a recessed well with a hand-drawn chevron on the end edge.

```html
<label class="grid gap-1.5">
  <span class="text-sm font-semibold">Governorate</span>
  <span class="relative">
    <select class="skeu-input appearance-none w-full h-10 ps-3 pe-9 rounded-[var(--skeu-radius-sm)] text-sm">
      <option>Baghdad</option><option>Basra</option><option>Erbil</option><option>Najaf</option>
    </select>
    <span class="pointer-events-none absolute inset-y-0 end-3 flex items-center text-muted-foreground"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></span>
  </span>
</label>
```

**Textarea** — `skeu-input`

The same well with free height and a character counter below.

```html
<label class="grid gap-1.5">
  <span class="text-sm font-semibold">Delivery notes</span>
  <textarea class="skeu-input min-h-24 p-3 rounded-[var(--skeu-radius-sm)] text-sm resize-y" placeholder="Leave at the reception…" maxlength="200"></textarea>
  <span class="text-xs text-muted-foreground text-end tabular-nums">0 / 200</span>
</label>
```

**Checkbox list** — `skeu-check`, `skeu-well-soft`

Soft recessed rows; each row is a full label so the touch target is ≥ 44px.

```html
<fieldset class="skeu-well-soft rounded-[var(--skeu-radius-md)] divide-y divide-[var(--skeu-edge)]">
  <legend class="sr-only">Notifications</legend>
  <label class="flex items-center gap-3 px-4 min-h-11 text-sm cursor-pointer"><input type="checkbox" class="skeu-check" checked> Order updates</label>
  <label class="flex items-center gap-3 px-4 min-h-11 text-sm cursor-pointer"><input type="checkbox" class="skeu-check" checked> Promotions</label>
  <label class="flex items-center gap-3 px-4 min-h-11 text-sm cursor-pointer"><input type="checkbox" class="skeu-check"> Weekly digest</label>
</fieldset>
```

**Radio group** — `skeu-check`, `skeu-radio`, `skeu-panel`, `skeu-panel-selected`

Options as cards; the chosen card is pressed in with an accent rim (skeu-panel-selected).

```html
<fieldset class="grid gap-2">
  <legend class="text-sm font-semibold mb-1">Delivery speed</legend>
  <label class="skeu-panel skeu-panel-selected flex items-center gap-3 p-3 rounded-[var(--skeu-radius-md)] cursor-pointer">
    <input type="radio" name="speed" class="skeu-check skeu-radio" checked>
    <span class="flex-1 text-sm font-semibold">Same day <span class="block text-xs font-normal text-muted-foreground">Baghdad only · before 2 pm</span></span>
    <span class="text-sm font-bold tabular-nums">5,000 IQD</span>
  </label>
  <label class="skeu-panel flex items-center gap-3 p-3 rounded-[var(--skeu-radius-md)] cursor-pointer">
    <input type="radio" name="speed" class="skeu-check skeu-radio">
    <span class="flex-1 text-sm font-semibold">Standard <span class="block text-xs font-normal text-muted-foreground">2–3 days</span></span>
    <span class="text-sm font-bold tabular-nums">3,000 IQD</span>
  </label>
</fieldset>
```

**Switch row** — `skeu-toggle`, `skeu-panel`

A mechanical role=switch with aria-checked; the thumb slides 20px.

```html
<div class="skeu-panel rounded-[var(--skeu-radius-md)] divide-y divide-[var(--skeu-edge)]">
  <div class="flex items-center justify-between gap-4 px-4 py-3">
    <span class="text-sm"><span class="font-semibold block">Push notifications</span><span class="text-xs text-muted-foreground">Order status on your phone</span></span>
    <button type="button" role="switch" aria-checked="true" class="skeu-toggle" aria-label="Push notifications"></button>
  </div>
  <div class="flex items-center justify-between gap-4 px-4 py-3">
    <span class="text-sm"><span class="font-semibold block">Marketing emails</span><span class="text-xs text-muted-foreground">Offers and new merchants</span></span>
    <button type="button" role="switch" aria-checked="false" class="skeu-toggle" aria-label="Marketing emails"></button>
  </div>
</div>
```

**Segmented control** — `skeu-well`, `skeu-tab`, `skeu-tab-active`

Raised keys inside a well; the active key is seated in a deeper fill (skeu-tab-active).

```html
<div role="tablist" aria-label="Period" class="skeu-well inline-flex gap-1 p-1 rounded-[var(--skeu-radius-md)]">
  <button role="tab" aria-selected="true" class="skeu-tab skeu-tab-active h-8 px-3.5 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Today</button>
  <button role="tab" aria-selected="false" class="skeu-tab h-8 px-3.5 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Week</button>
  <button role="tab" aria-selected="false" class="skeu-tab h-8 px-3.5 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Month</button>
</div>
```

**Slider** — `skeu-well`, `skeu-meter`

A native range with accent-color inside a well, with a value readout in a meter.

```html
<div class="skeu-well rounded-[var(--skeu-radius-md)] p-4 flex items-center gap-4">
  <label for="budget" class="text-sm font-semibold shrink-0">Budget</label>
  <input id="budget" type="range" min="0" max="500" value="320" step="10" class="flex-1 h-2 cursor-pointer" style="accent-color: var(--skeu-accent)">
  <output for="budget" class="skeu-meter rounded-[var(--skeu-radius-sm)] px-2.5 py-1 text-sm font-bold tabular-nums text-primary">320K</output>
</div>
```

**File drop zone** — `skeu-well`, `skeu-tile-soft`, `skeu-btn-secondary`

A recessed well with an inner dashed border and an icon tile; the real input is visually hidden.

```html
<label class="skeu-well block rounded-[var(--skeu-radius-lg)] p-2 cursor-pointer">
  <span class="flex flex-col items-center gap-2 rounded-[calc(var(--skeu-radius-lg)-6px)] border border-dashed border-[var(--skeu-edge-strong)] px-4 py-6 text-center">
    <span class="skeu-tile-soft inline-flex items-center justify-center w-11 h-11 rounded-[var(--skeu-radius-md)]"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 16V4m0 0 4 4m-4-4-4 4M4 16v3a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-3"/></svg></span>
    <span class="text-sm font-semibold">Drop product photos here</span>
    <span class="text-xs text-muted-foreground">PNG or JPG · up to 5 MB</span>
    <span class="skeu-btn skeu-btn-secondary mt-1 h-8 px-3 rounded-[var(--skeu-radius-sm)] text-xs font-semibold inline-flex items-center">Browse files</span>
  </span>
  <input type="file" accept="image/*" multiple class="sr-only">
</label>
```

**OTP / code row** — `skeu-input`

Six recessed one-character cells, always LTR for digits.

```html
<div class="flex gap-2" dir="ltr" role="group" aria-label="Verification code">
  <input class="skeu-input w-11 h-12 text-center text-lg font-bold rounded-[var(--skeu-radius-sm)]" inputmode="numeric" maxlength="1" value="4" aria-label="Digit 1">
  <input class="skeu-input w-11 h-12 text-center text-lg font-bold rounded-[var(--skeu-radius-sm)]" inputmode="numeric" maxlength="1" value="8" aria-label="Digit 2">
  <input class="skeu-input w-11 h-12 text-center text-lg font-bold rounded-[var(--skeu-radius-sm)]" inputmode="numeric" maxlength="1" value="2" aria-label="Digit 3">
  <input class="skeu-input w-11 h-12 text-center text-lg font-bold rounded-[var(--skeu-radius-sm)]" inputmode="numeric" maxlength="1" aria-label="Digit 4">
  <input class="skeu-input w-11 h-12 text-center text-lg font-bold rounded-[var(--skeu-radius-sm)]" inputmode="numeric" maxlength="1" aria-label="Digit 5">
  <input class="skeu-input w-11 h-12 text-center text-lg font-bold rounded-[var(--skeu-radius-sm)]" inputmode="numeric" maxlength="1" aria-label="Digit 6">
</div>
```

**Date input** — `skeu-input`

A native input[type=date] in the same well — you get the browser picker for free.

```html
<div class="grid grid-cols-2 gap-3">
  <label class="grid gap-1.5"><span class="text-sm font-semibold">Pickup date</span><input type="date" value="2026-09-12" class="skeu-input h-10 px-3 rounded-[var(--skeu-radius-sm)] text-sm"></label>
  <label class="grid gap-1.5"><span class="text-sm font-semibold">Time</span><input type="time" value="14:30" class="skeu-input h-10 px-3 rounded-[var(--skeu-radius-sm)] text-sm"></label>
</div>
```

**Two-column form layout** — `skeu-panel`, `skeu-input`, `skeu-btn-primary`, `skeu-btn-ghost`

A raised panel, one column on phones and two from sm, with the actions in a bottom row.

```html
<form class="skeu-panel rounded-[var(--skeu-radius-lg)] p-5 grid gap-4">
  <h3 class="font-bold">Shipping address</h3>
  <div class="grid grid-cols-1 sm:grid-cols-2 gap-3">
    <label class="grid gap-1.5"><span class="text-sm font-semibold">First name</span><input class="skeu-input h-10 px-3 rounded-[var(--skeu-radius-sm)] text-sm"></label>
    <label class="grid gap-1.5"><span class="text-sm font-semibold">Last name</span><input class="skeu-input h-10 px-3 rounded-[var(--skeu-radius-sm)] text-sm"></label>
    <label class="grid gap-1.5 sm:col-span-2"><span class="text-sm font-semibold">Street</span><input class="skeu-input h-10 px-3 rounded-[var(--skeu-radius-sm)] text-sm"></label>
    <label class="grid gap-1.5"><span class="text-sm font-semibold">City</span><input class="skeu-input h-10 px-3 rounded-[var(--skeu-radius-sm)] text-sm" value="Baghdad"></label>
    <label class="grid gap-1.5"><span class="text-sm font-semibold">Phone</span><input type="tel" class="skeu-input h-10 px-3 rounded-[var(--skeu-radius-sm)] text-sm" dir="ltr"></label>
  </div>
  <div class="flex items-center justify-end gap-2 pt-1">
    <button type="button" class="skeu-btn skeu-btn-ghost h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Cancel</button>
    <button type="submit" class="skeu-btn skeu-btn-primary inline-flex items-center justify-center gap-2 h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Save address</button>
  </div>
</form>
```

**Inline validation summary** — `skeu-alert`, `skeu-alert-error`

A raised error alert above the form listing the failing fields with jump links.

```html
<div class="skeu-alert skeu-alert-error rounded-[var(--skeu-radius-md)] px-4 py-3" role="alert">
  <p class="text-sm font-bold text-[var(--skeu-error)]">Please fix 2 fields before continuing</p>
  <ul class="mt-1.5 text-sm text-muted-foreground list-disc ps-5 space-y-0.5">
    <li><a href="#email" class="underline underline-offset-2">Email</a> — not a valid address</li>
    <li><a href="#phone" class="underline underline-offset-2">Phone</a> — required</li>
  </ul>
</div>
```

#### Navigation

**Navbar (rail)** — `skeu-rail`, `skeu-tab`, `skeu-tab-active`, `skeu-btn-primary`

A frosted ceramic rail: logo, links, and the primary action on the end edge.

```html
<nav class="skeu-rail flex items-center gap-3 px-4 h-14 rounded-[var(--skeu-radius-xl)]" aria-label="Main">
  <a href="#" class="font-extrabold tracking-tight text-lg">GINI<span class="text-primary">.</span></a>
  <ul class="hidden sm:flex items-center gap-1 ms-4">
    <li><a href="#" class="skeu-tab skeu-tab-active inline-flex h-8 px-3 rounded-full text-sm font-semibold items-center" aria-current="page">Home</a></li>
    <li><a href="#" class="skeu-tab inline-flex h-8 px-3 rounded-full text-sm font-semibold items-center">Shop</a></li>
    <li><a href="#" class="skeu-tab inline-flex h-8 px-3 rounded-full text-sm font-semibold items-center">Orders</a></li>
  </ul>
  <a href="#" class="skeu-btn skeu-btn-primary ms-auto inline-flex items-center h-9 px-4 rounded-full text-sm font-semibold">Sign in</a>
</nav>
```

**Breadcrumb** — `skeu-chip-neutral`, `skeu-chip`

Ceramic chips separated by chevrons; the current page carries aria-current.

```html
<nav aria-label="Breadcrumb">
  <ol class="flex items-center gap-1.5 text-sm flex-wrap">
    <li><a href="#" class="skeu-chip-neutral inline-flex items-center h-7 px-2.5 rounded-full text-xs font-semibold">Home</a></li>
    <li aria-hidden="true" class="text-muted-foreground [[dir=rtl]_&]:-scale-x-100"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 6 6 6-6 6"/></svg></li>
    <li><a href="#" class="skeu-chip-neutral inline-flex items-center h-7 px-2.5 rounded-full text-xs font-semibold">Electronics</a></li>
    <li aria-hidden="true" class="text-muted-foreground [[dir=rtl]_&]:-scale-x-100"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 6 6 6-6 6"/></svg></li>
    <li><span aria-current="page" class="skeu-chip inline-flex items-center h-7 px-2.5 rounded-full text-xs font-semibold">Headphones</span></li>
  </ol>
</nav>
```

**Tabs — underline and segmented** — `skeu-divider`, `skeu-tab`, `skeu-tab-soft-active`

Underline for pages (a lit line under the active tab), segmented for filters.

```html
<div role="tablist" aria-label="Product" class="flex gap-6 border-b border-[var(--skeu-edge)]">
  <button role="tab" aria-selected="true" class="relative pb-3 text-sm font-semibold text-primary after:absolute after:inset-x-0 after:-bottom-px after:h-0.5 after:rounded-full after:bg-primary">Overview</button>
  <button role="tab" aria-selected="false" class="pb-3 text-sm font-semibold text-muted-foreground hover:text-foreground">Specs</button>
  <button role="tab" aria-selected="false" class="pb-3 text-sm font-semibold text-muted-foreground hover:text-foreground">Reviews <span class="skeu-chip-neutral ms-1 px-1.5 py-0.5 rounded-full text-[10px]">12</span></button>
</div>
<div role="tablist" aria-label="Filter" class="mt-4 flex flex-wrap gap-1.5">
  <button role="tab" aria-selected="true" class="skeu-tab skeu-tab-soft-active h-8 px-3 rounded-full text-xs font-semibold">All</button>
  <button role="tab" aria-selected="false" class="skeu-tab h-8 px-3 rounded-full text-xs font-semibold">Phones</button>
  <button role="tab" aria-selected="false" class="skeu-tab h-8 px-3 rounded-full text-xs font-semibold">Laptops</button>
</div>
```

**Pagination** — `skeu-tab`, `skeu-tab-active`, `skeu-btn-secondary`

36px square keys; the current page is seated, previous/next are icon buttons.

```html
<nav aria-label="Pagination" class="flex items-center gap-1.5">
  <button class="skeu-btn skeu-btn-secondary inline-flex items-center justify-center w-9 h-9 rounded-[var(--skeu-radius-sm)] [[dir=rtl]_&]:-scale-x-100" aria-label="Previous page" disabled><svg class="w-4 h-4 rotate-180" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 6 6 6-6 6"/></svg></button>
  <button class="skeu-tab skeu-tab-active w-9 h-9 rounded-[var(--skeu-radius-sm)] text-sm font-semibold" aria-current="page">1</button>
  <button class="skeu-tab w-9 h-9 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">2</button>
  <button class="skeu-tab w-9 h-9 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">3</button>
  <span class="px-1 text-muted-foreground">…</span>
  <button class="skeu-tab w-9 h-9 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">12</button>
  <button class="skeu-btn skeu-btn-secondary inline-flex items-center justify-center w-9 h-9 rounded-[var(--skeu-radius-sm)] [[dir=rtl]_&]:-scale-x-100" aria-label="Next page"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 6 6 6-6 6"/></svg></button>
</nav>
```

**Stepper / progress steps** — `skeu-chip-success`, `skeu-tile`, `skeu-tile-soft`, `skeu-track`, `skeu-fill`

Done steps are green tiles, the current one anodized, upcoming ones recessed wells — the connector is a progress track.

```html
<ol class="flex items-center gap-2 text-xs font-semibold">
  <li class="flex items-center gap-2"><span class="skeu-chip-success inline-flex items-center justify-center w-8 h-8 rounded-full"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 4 4L19 7"/></svg></span><span class="hidden sm:inline">Cart</span></li>
  <li class="flex-1 skeu-track h-1.5 rounded-full overflow-hidden" aria-hidden="true"><div class="skeu-fill h-full w-full"></div></li>
  <li class="flex items-center gap-2" aria-current="step"><span class="skeu-tile inline-flex items-center justify-center w-8 h-8 rounded-full tabular-nums">2</span><span class="hidden sm:inline">Address</span></li>
  <li class="flex-1 skeu-track h-1.5 rounded-full overflow-hidden" aria-hidden="true"><div class="skeu-fill h-full w-1/3"></div></li>
  <li class="flex items-center gap-2 text-muted-foreground"><span class="skeu-tile-soft inline-flex items-center justify-center w-8 h-8 rounded-full tabular-nums">3</span><span class="hidden sm:inline">Payment</span></li>
</ol>
```

**Sidebar list** — `skeu-panel`, `skeu-list-item`, `skeu-well-accent`

Flush rows that rise on hover (skeu-list-item); the active item is an accent well.

```html
<nav class="skeu-panel w-full max-w-64 rounded-[var(--skeu-radius-lg)] p-2" aria-label="Account">
  <a href="#" class="skeu-well-accent flex items-center gap-3 px-3 h-10 rounded-[var(--skeu-radius-sm)] text-sm font-semibold text-primary" aria-current="page"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 11 12 3l9 8v10a1 1 0 0 1-1 1h-5v-7H9v7H4a1 1 0 0 1-1-1z"/></svg> Dashboard</a>
  <a href="#" class="skeu-list-item flex items-center gap-3 px-3 h-10 rounded-[var(--skeu-radius-sm)] text-sm font-medium"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="9" cy="20" r="1.5"/><circle cx="18" cy="20" r="1.5"/><path d="M2 3h3l2.7 11.3a2 2 0 0 0 2 1.7h8.6a2 2 0 0 0 2-1.6L22 8H6"/></svg> Orders <span class="skeu-chip-solid ms-auto px-1.5 py-0.5 rounded-full text-[10px] font-bold">3</span></a>
  <a href="#" class="skeu-list-item flex items-center gap-3 px-3 h-10 rounded-[var(--skeu-radius-sm)] text-sm font-medium"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 10h18"/></svg> Payments</a>
  <a href="#" class="skeu-list-item flex items-center gap-3 px-3 h-10 rounded-[var(--skeu-radius-sm)] text-sm font-medium"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0"/></svg> Profile</a>
</nav>
```

**Bottom mobile tab bar** — `skeu-rail`, `skeu-tile`, `skeu-tile-soft`

A rail fixed to the bottom with four destinations; the active one is an anodized tile.

```html
<nav class="skeu-rail grid grid-cols-4 rounded-[var(--skeu-radius-xl)] px-2 py-1.5" aria-label="Primary">
  <a href="#" class="flex flex-col items-center gap-1 py-1 text-[11px] font-semibold text-primary" aria-current="page"><span class="skeu-tile inline-flex items-center justify-center w-9 h-7 rounded-full"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 11 12 3l9 8v10a1 1 0 0 1-1 1h-5v-7H9v7H4a1 1 0 0 1-1-1z"/></svg></span>Home</a>
  <a href="#" class="flex flex-col items-center gap-1 py-1 text-[11px] font-medium text-muted-foreground"><span class="inline-flex items-center justify-center w-9 h-7"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></svg></span>Search</a>
  <a href="#" class="flex flex-col items-center gap-1 py-1 text-[11px] font-medium text-muted-foreground"><span class="relative inline-flex items-center justify-center w-9 h-7"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="9" cy="20" r="1.5"/><circle cx="18" cy="20" r="1.5"/><path d="M2 3h3l2.7 11.3a2 2 0 0 0 2 1.7h8.6a2 2 0 0 0 2-1.6L22 8H6"/></svg><span class="skeu-chip-solid absolute -top-1 -end-1 min-w-4 h-4 px-1 rounded-full text-[9px] font-bold inline-flex items-center justify-center">2</span></span>Cart</a>
  <a href="#" class="flex flex-col items-center gap-1 py-1 text-[11px] font-medium text-muted-foreground"><span class="inline-flex items-center justify-center w-9 h-7"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0"/></svg></span>Me</a>
</nav>
```

**Back button** — `skeu-btn`, `skeu-btn-ghost`

A ghost button whose arrow mirrors in RTL through -scale-x-100 under [dir=rtl].

```html
<a href="#" class="skeu-btn skeu-btn-ghost inline-flex items-center gap-1.5 h-9 ps-2 pe-3 rounded-full text-sm font-semibold text-muted-foreground hover:text-foreground">
  <svg class="w-4 h-4 [[dir=rtl]_&]:-scale-x-100" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M19 12H5M11 6l-6 6 6 6"/></svg>
  Back to orders
</a>
```

#### Data display

**KPI tile** — `skeu-meter`

An instrument readout (skeu-meter): small label, big tabular number, helper line.

```html
<div class="skeu-meter rounded-[var(--skeu-radius-lg)] p-4">
  <div class="text-[10px] font-bold uppercase tracking-[0.18em] text-muted-foreground">Orders today</div>
  <div class="mt-1.5 text-3xl font-extrabold tabular-nums text-primary">1,284</div>
  <div class="mt-1 text-xs text-muted-foreground">Updated 2 min ago</div>
</div>
```

**Stat row with delta chip** — `skeu-meter`, `skeu-chip-success`, `skeu-chip-neutral`

Three readouts in a grid, each with a green or neutral delta chip.

```html
<div class="grid grid-cols-1 sm:grid-cols-3 gap-3">
  <div class="skeu-meter rounded-[var(--skeu-radius-md)] p-4"><div class="text-xs text-muted-foreground">Revenue</div><div class="mt-1 flex items-baseline gap-2"><span class="text-2xl font-extrabold tabular-nums">48.2M</span><span class="skeu-chip-success px-1.5 py-0.5 rounded-full text-[10px] font-bold">+12%</span></div></div>
  <div class="skeu-meter rounded-[var(--skeu-radius-md)] p-4"><div class="text-xs text-muted-foreground">Orders</div><div class="mt-1 flex items-baseline gap-2"><span class="text-2xl font-extrabold tabular-nums">3,410</span><span class="skeu-chip-success px-1.5 py-0.5 rounded-full text-[10px] font-bold">+4%</span></div></div>
  <div class="skeu-meter rounded-[var(--skeu-radius-md)] p-4"><div class="text-xs text-muted-foreground">Returns</div><div class="mt-1 flex items-baseline gap-2"><span class="text-2xl font-extrabold tabular-nums">1.8%</span><span class="skeu-chip-neutral px-1.5 py-0.5 rounded-full text-[10px] font-bold">±0</span></div></div>
</div>
```

**Product card** — `skeu-panel`, `skeu-panel-interactive`, `skeu-tile-ceramic`, `skeu-chip-solid`, `skeu-btn-primary`

An interactive panel: image in a ceramic tile, badge, IQD price, add-to-cart.

```html
<article class="skeu-panel skeu-panel-interactive w-full max-w-64 rounded-[var(--skeu-radius-lg)] p-3">
  <div class="skeu-tile-ceramic relative aspect-square rounded-[var(--skeu-radius-md)] overflow-hidden flex items-center justify-center text-muted-foreground">
    <img src="/product.jpg" alt="Wireless headphones" class="object-cover w-full h-full">
    <span class="skeu-chip-solid absolute top-2 start-2 px-2 py-0.5 rounded-full text-[10px] font-bold">-20%</span>
  </div>
  <h3 class="mt-3 text-sm font-semibold leading-snug line-clamp-2">Wireless headphones ANC</h3>
  <div class="mt-1 flex items-baseline gap-2"><span class="text-base font-extrabold tabular-nums">89,000 IQD</span><s class="text-xs text-muted-foreground tabular-nums">112,000</s></div>
  <button class="skeu-btn skeu-btn-primary mt-3 w-full inline-flex items-center justify-center gap-2 h-9 rounded-[var(--skeu-radius-sm)] text-sm font-semibold"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="9" cy="20" r="1.5"/><circle cx="18" cy="20" r="1.5"/><path d="M2 3h3l2.7 11.3a2 2 0 0 0 2 1.7h8.6a2 2 0 0 0 2-1.6L22 8H6"/></svg> Add to cart</button>
</article>
```

**Pricing card** — `skeu-panel-2`, `skeu-chip-solid`, `skeu-btn-primary`

A raised-2 panel with a “Most popular” chip, big price, feature list and a primary button.

```html
<div class="skeu-panel-2 relative w-full max-w-72 rounded-[var(--skeu-radius-lg)] p-5">
  <span class="skeu-chip-solid absolute -top-3 start-5 px-2.5 py-0.5 rounded-full text-[10px] font-bold uppercase tracking-wider">Most popular</span>
  <div class="text-sm font-bold text-muted-foreground">GINI Plus</div>
  <div class="mt-1 flex items-baseline gap-1"><span class="text-3xl font-extrabold tabular-nums">15,000</span><span class="text-sm text-muted-foreground">IQD / month</span></div>
  <ul class="mt-4 space-y-2 text-sm">
    <li class="flex items-center gap-2"><span class="text-[var(--skeu-success)]"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 4 4L19 7"/></svg></span>Free delivery on every order</li>
    <li class="flex items-center gap-2"><span class="text-[var(--skeu-success)]"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 4 4L19 7"/></svg></span>Priority support</li>
    <li class="flex items-center gap-2"><span class="text-[var(--skeu-success)]"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 4 4L19 7"/></svg></span>2× loyalty points</li>
  </ul>
  <button class="skeu-btn skeu-btn-primary mt-5 w-full h-10 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Subscribe</button>
</div>
```

**Feature card** — `skeu-panel`, `skeu-tile`

An anodized icon tile, title, short body — the basic unit of any features grid.

```html
<div class="skeu-panel w-full max-w-72 rounded-[var(--skeu-radius-lg)] p-5">
  <span class="skeu-tile inline-flex items-center justify-center w-11 h-11 rounded-[var(--skeu-radius-md)]"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 6h11v10H3zM14 10h4l3 3v3h-7z"/><circle cx="7" cy="18" r="2"/><circle cx="17" cy="18" r="2"/></svg></span>
  <h3 class="mt-4 font-bold">Same-day delivery</h3>
  <p class="mt-1.5 text-sm text-muted-foreground leading-relaxed">Order before 2 pm and receive it tonight anywhere in Baghdad.</p>
</div>
```

**Testimonial card** — `skeu-panel`, `skeu-tile-ceramic`

Quote, stars, and the speaker row with a ceramic avatar.

```html
<figure class="skeu-panel w-full max-w-sm rounded-[var(--skeu-radius-lg)] p-5">
  <div class="flex gap-0.5 text-primary" aria-label="5 out of 5 stars"><svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8L18.2 21 12 17.5 5.8 21 7.2 14.2 2 9.4l7-.8z"/></svg><svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8L18.2 21 12 17.5 5.8 21 7.2 14.2 2 9.4l7-.8z"/></svg><svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8L18.2 21 12 17.5 5.8 21 7.2 14.2 2 9.4l7-.8z"/></svg><svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8L18.2 21 12 17.5 5.8 21 7.2 14.2 2 9.4l7-.8z"/></svg><svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8L18.2 21 12 17.5 5.8 21 7.2 14.2 2 9.4l7-.8z"/></svg></div>
  <blockquote class="mt-3 text-sm leading-relaxed">“Ordered at noon, it was at my door by seven. Never using another app.”</blockquote>
  <figcaption class="mt-4 flex items-center gap-3">
    <span class="skeu-tile-ceramic inline-flex items-center justify-center w-10 h-10 rounded-full text-sm font-bold text-primary">SA</span>
    <span class="text-sm"><span class="block font-semibold">Sara A.</span><span class="text-xs text-muted-foreground">Basra · verified buyer</span></span>
  </figcaption>
</figure>
```

**User card + avatar group** — `skeu-panel`, `skeu-tile`, `skeu-tile-ceramic`, `skeu-chip-neutral`

A two-letter avatar, name and role, and a stacked avatar group with white rings.

```html
<div class="skeu-panel flex items-center gap-3 p-3 rounded-[var(--skeu-radius-md)] max-w-sm">
  <span class="skeu-tile inline-flex items-center justify-center w-11 h-11 rounded-full text-sm font-bold">AH</span>
  <span class="flex-1 min-w-0 text-sm"><span class="block font-semibold truncate">Ali Hassan</span><span class="text-xs text-muted-foreground">Merchant · Karrada</span></span>
  <span class="skeu-chip-neutral px-2 py-0.5 rounded-full text-[10px] font-bold">Admin</span>
</div>
<div class="mt-3 flex items-center">
  <span class="skeu-tile-ceramic inline-flex items-center justify-center w-8 h-8 rounded-full text-[10px] font-bold ring-2 ring-white">MK</span>
  <span class="skeu-tile-ceramic inline-flex items-center justify-center w-8 h-8 rounded-full text-[10px] font-bold ring-2 ring-white -ms-2">RS</span>
  <span class="skeu-tile inline-flex items-center justify-center w-8 h-8 rounded-full text-[10px] font-bold ring-2 ring-white -ms-2">ZA</span>
  <span class="skeu-chip-neutral inline-flex items-center justify-center h-8 px-2 rounded-full text-[10px] font-bold -ms-2 ring-2 ring-white">+6</span>
</div>
```

**Table with header, rows and actions** — `skeu-table`, `skeu-chip-success`, `skeu-chip`, `skeu-btn-ghost`

skeu-table: a raised sticky header, recessed body, rows that light up on hover with an accent edge.

```html
<div class="skeu-panel rounded-[var(--skeu-radius-lg)] overflow-hidden overflow-x-auto">
  <table class="skeu-table text-sm min-w-[480px]">
    <thead><tr><th class="text-start">Order</th><th class="text-start">Customer</th><th class="text-start">Status</th><th class="text-end">Total</th><th></th></tr></thead>
    <tbody>
      <tr><td class="font-mono text-xs">#48213</td><td>Sara A.</td><td><span class="skeu-chip-success px-2 py-0.5 rounded-full text-[10px] font-bold">Delivered</span></td><td class="text-end tabular-nums font-semibold">89,000</td><td class="text-end"><button class="skeu-btn skeu-btn-ghost inline-flex items-center justify-center w-8 h-8 rounded-full" aria-label="Row actions"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><circle cx="5" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="19" cy="12" r="2"/></svg></button></td></tr>
      <tr><td class="font-mono text-xs">#48212</td><td>Omar K.</td><td><span class="skeu-chip px-2 py-0.5 rounded-full text-[10px] font-bold">Shipping</span></td><td class="text-end tabular-nums font-semibold">142,500</td><td class="text-end"><button class="skeu-btn skeu-btn-ghost inline-flex items-center justify-center w-8 h-8 rounded-full" aria-label="Row actions"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><circle cx="5" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="19" cy="12" r="2"/></svg></button></td></tr>
    </tbody>
  </table>
</div>
```

**Description list** — `skeu-well-soft`

Key/value pairs in a soft well with engraved dividers — for order details and invoices.

```html
<dl class="skeu-well-soft rounded-[var(--skeu-radius-md)] divide-y divide-[var(--skeu-edge)] text-sm">
  <div class="flex justify-between gap-4 px-4 py-2.5"><dt class="text-muted-foreground">Order</dt><dd class="font-mono">#48213</dd></div>
  <div class="flex justify-between gap-4 px-4 py-2.5"><dt class="text-muted-foreground">Placed</dt><dd>12 Sep 2026, 14:02</dd></div>
  <div class="flex justify-between gap-4 px-4 py-2.5"><dt class="text-muted-foreground">Payment</dt><dd>Qi Card •• 4821</dd></div>
  <div class="flex justify-between gap-4 px-4 py-2.5"><dt class="font-semibold">Total</dt><dd class="font-extrabold tabular-nums">89,000 IQD</dd></div>
</dl>
```

**Timeline** — `skeu-chip-success`, `skeu-tile`, `skeu-tile-soft`, `skeu-divider`

A column of nodes: done (green), current (anodized), upcoming (well).

```html
<ol class="relative ps-8 space-y-5 text-sm before:absolute before:top-2 before:bottom-2 before:start-[11px] before:w-px before:bg-[var(--skeu-edge-strong)]">
  <li class="relative"><span class="skeu-chip-success absolute -start-8 top-0 inline-flex items-center justify-center w-6 h-6 rounded-full"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 4 4L19 7"/></svg></span><div class="font-semibold">Order confirmed</div><div class="text-xs text-muted-foreground">14:02</div></li>
  <li class="relative"><span class="skeu-tile absolute -start-8 top-0 inline-flex items-center justify-center w-6 h-6 rounded-full"><span class="w-2 h-2 rounded-full bg-white"></span></span><div class="font-semibold">Being packed</div><div class="text-xs text-muted-foreground">Now · Merchant: TechZone</div></li>
  <li class="relative text-muted-foreground"><span class="skeu-tile-soft absolute -start-8 top-0 inline-flex w-6 h-6 rounded-full"></span><div class="font-semibold">Out for delivery</div></li>
</ol>
```

**Badges and chips** — `skeu-chip`, `skeu-chip-solid`, `skeu-chip-neutral`, `skeu-chip-success`

Four materials: tinted, solid, neutral, success — plus a counter chip and a dismissible chip.

```html
<span class="skeu-chip px-3 py-1 rounded-full text-xs font-semibold">New</span>
<span class="skeu-chip-solid px-3 py-1 rounded-full text-xs font-semibold">Featured</span>
<span class="skeu-chip-neutral px-3 py-1 rounded-full text-xs font-semibold">Draft</span>
<span class="skeu-chip-success px-3 py-1 rounded-full text-xs font-semibold">Verified</span>
<span class="skeu-chip-solid inline-flex items-center justify-center min-w-6 h-6 px-1.5 rounded-full text-[11px] font-bold tabular-nums">99+</span>
<span class="skeu-chip-neutral inline-flex items-center gap-1 ps-3 pe-1 py-0.5 rounded-full text-xs font-semibold">Basra <button class="inline-flex items-center justify-center w-5 h-5 rounded-full hover:bg-black/5" aria-label="Remove Basra"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18"/></svg></button></span>
```

**Progress bar + circular progress** — `skeu-track`, `skeu-fill`

A recessed track with an anodized fill; the ring is an SVG in the same colour with a readout in the middle.

```html
<div class="flex items-center gap-5">
  <div class="flex-1">
    <div class="flex justify-between text-xs mb-1.5"><span class="font-semibold">Uploading</span><span class="tabular-nums text-muted-foreground">68%</span></div>
    <div class="skeu-track h-2.5 rounded-full overflow-hidden" role="progressbar" aria-valuenow="68" aria-valuemin="0" aria-valuemax="100"><div class="skeu-fill h-full rounded-full" style="width:68%"></div></div>
  </div>
  <div class="relative w-14 h-14 shrink-0" role="progressbar" aria-valuenow="68" aria-valuemin="0" aria-valuemax="100" aria-label="Storage">
    <svg viewBox="0 0 48 48" class="w-full h-full -rotate-90"><circle cx="24" cy="24" r="18" fill="none" stroke="var(--skeu-well-deep)" stroke-width="6"/><circle cx="24" cy="24" r="18" fill="none" stroke="var(--skeu-accent)" stroke-width="6" stroke-linecap="round" stroke-dasharray="113" stroke-dashoffset="36"/></svg>
    <span class="absolute inset-0 flex items-center justify-center text-xs font-bold tabular-nums">68%</span>
  </div>
</div>
```

**Meter / gauge** — `skeu-meter`

A semicircle inside an instrument readout — for satisfaction, capacity or quotas.

```html
<div class="skeu-meter rounded-[var(--skeu-radius-lg)] p-4 w-full max-w-56 text-center">
  <svg viewBox="0 0 100 56" class="w-full" role="meter" aria-valuenow="72" aria-valuemin="0" aria-valuemax="100" aria-label="Capacity"><path d="M10 50 A40 40 0 0 1 90 50" fill="none" stroke="var(--skeu-well-deep)" stroke-width="10" stroke-linecap="round"/><path d="M10 50 A40 40 0 0 1 90 50" fill="none" stroke="var(--skeu-accent)" stroke-width="10" stroke-linecap="round" stroke-dasharray="125.7" stroke-dashoffset="35.2"/></svg>
  <div class="-mt-6 text-2xl font-extrabold tabular-nums text-primary">72%</div>
  <div class="text-xs text-muted-foreground">Fleet capacity</div>
</div>
```

**Empty state** — `skeu-well`, `skeu-tile-soft`, `skeu-btn-primary`

A recessed well with a dashed inner border, a tinted icon tile, short copy and one action.

```html
<div class="skeu-well rounded-[var(--skeu-radius-lg)] p-2">
  <div class="rounded-[calc(var(--skeu-radius-lg)-6px)] border border-dashed border-[var(--skeu-edge-strong)] px-6 py-8 text-center">
    <span class="skeu-tile-soft inline-flex items-center justify-center w-12 h-12 rounded-2xl"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="9" cy="20" r="1.5"/><circle cx="18" cy="20" r="1.5"/><path d="M2 3h3l2.7 11.3a2 2 0 0 0 2 1.7h8.6a2 2 0 0 0 2-1.6L22 8H6"/></svg></span>
    <h3 class="mt-3 font-bold">Your cart is empty</h3>
    <p class="mt-1 text-sm text-muted-foreground">Browse 2,500+ merchants and add something you love.</p>
    <a href="#" class="skeu-btn skeu-btn-primary mt-4 inline-flex items-center h-9 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Start shopping</a>
  </div>
</div>
```

**Skeleton set** — `skeu-panel`, `skeu-skeleton`

Recessed blocks with a light sweep, in the same geometry as the card they stand in for.

```html
<div class="skeu-panel w-full max-w-64 rounded-[var(--skeu-radius-lg)] p-3" aria-busy="true" aria-label="Loading product">
  <div class="skeu-skeleton relative aspect-square rounded-[var(--skeu-radius-md)]"></div>
  <div class="skeu-skeleton relative mt-3 h-3.5 w-4/5 rounded-full"></div>
  <div class="skeu-skeleton relative mt-2 h-3.5 w-1/2 rounded-full"></div>
  <div class="skeu-skeleton relative mt-3 h-9 rounded-[var(--skeu-radius-sm)]"></div>
</div>
```

**List rows with chevrons** — `skeu-panel`, `skeu-list-item`, `skeu-tile-soft`

A panel of tappable rows with icon, title, subtitle, and a chevron that mirrors in RTL.

```html
<ul class="skeu-panel rounded-[var(--skeu-radius-lg)] p-1.5 max-w-sm">
  <li><a href="#" class="skeu-list-item flex items-center gap-3 px-3 py-2.5 rounded-[var(--skeu-radius-sm)]"><span class="skeu-tile-soft inline-flex items-center justify-center w-9 h-9 rounded-[var(--skeu-radius-sm)]"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 10h18"/></svg></span><span class="flex-1 min-w-0 text-sm"><span class="block font-semibold">Payment methods</span><span class="text-xs text-muted-foreground">Qi Card, ZainCash, cash</span></span><span class="text-muted-foreground [[dir=rtl]_&]:-scale-x-100"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 6 6 6-6 6"/></svg></span></a></li>
  <li><a href="#" class="skeu-list-item flex items-center gap-3 px-3 py-2.5 rounded-[var(--skeu-radius-sm)]"><span class="skeu-tile-soft inline-flex items-center justify-center w-9 h-9 rounded-[var(--skeu-radius-sm)]"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 6h11v10H3zM14 10h4l3 3v3h-7z"/><circle cx="7" cy="18" r="2"/><circle cx="17" cy="18" r="2"/></svg></span><span class="flex-1 min-w-0 text-sm"><span class="block font-semibold">Addresses</span><span class="text-xs text-muted-foreground">2 saved</span></span><span class="text-muted-foreground [[dir=rtl]_&]:-scale-x-100"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 6 6 6-6 6"/></svg></span></a></li>
</ul>
```

#### Feedback & overlays

**The four semantic alerts** — `skeu-alert`, `skeu-alert-success`, `skeu-alert-error`, `skeu-alert-warning`, `skeu-alert-info`

A raised system object with a coloured start edge — success, error, warning, info.

```html
<div class="skeu-alert skeu-alert-success rounded-[var(--skeu-radius-md)] px-4 py-3 text-sm" role="status"><strong class="text-[var(--skeu-success)]">Saved.</strong> Your address is now the default.</div>
<div class="skeu-alert skeu-alert-error rounded-[var(--skeu-radius-md)] px-4 py-3 text-sm" role="alert"><strong class="text-[var(--skeu-error)]">Payment failed.</strong> The card was declined — try another method.</div>
<div class="skeu-alert skeu-alert-warning rounded-[var(--skeu-radius-md)] px-4 py-3 text-sm" role="status"><strong class="text-[var(--skeu-warning)]">Low stock.</strong> Only 3 left at this price.</div>
<div class="skeu-alert skeu-alert-info rounded-[var(--skeu-radius-md)] px-4 py-3 text-sm" role="status"><strong class="text-primary">Heads up.</strong> Deliveries pause during Friday prayer.</div>
```

**Toast** — `skeu-floating`, `skeu-chip-success`, `animate-skeu-pop`

A short floating notice with icon, action and dismiss; enters with animate-skeu-pop.

```html
<div class="skeu-floating animate-skeu-pop flex items-center gap-3 ps-3 pe-2 py-2.5 rounded-[var(--skeu-radius-md)] max-w-sm text-sm" role="status" aria-live="polite">
  <span class="skeu-chip-success inline-flex items-center justify-center w-7 h-7 rounded-full shrink-0"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 4 4L19 7"/></svg></span>
  <span class="flex-1 min-w-0"><span class="block font-semibold">Added to cart</span><span class="text-xs text-muted-foreground">Wireless headphones ANC</span></span>
  <button class="skeu-btn skeu-btn-tint h-8 px-3 rounded-[var(--skeu-radius-sm)] text-xs font-semibold">View</button>
  <button class="skeu-btn skeu-btn-ghost inline-flex items-center justify-center w-8 h-8 rounded-full" aria-label="Dismiss"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18"/></svg></button>
</div>
```

**Inline banner** — `skeu-well-accent`

A full-width accent well for in-page announcements, with a link and dismiss.

```html
<div class="skeu-well-accent flex items-center gap-3 ps-4 pe-2 py-2.5 rounded-[var(--skeu-radius-md)] text-sm">
  <span class="text-primary shrink-0"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><circle cx="12" cy="12" r="9"/><path d="M12 8h.01M11 12h1v4h1"/></svg></span>
  <p class="flex-1"><strong>Free delivery</strong> on orders above 50,000 IQD until Friday. <a href="#" class="font-semibold text-primary underline underline-offset-2">Details</a></p>
  <button class="skeu-btn skeu-btn-ghost inline-flex items-center justify-center w-8 h-8 rounded-full" aria-label="Dismiss"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18"/></svg></button>
</div>
```

**Modal dialog (live)** — `skeu-backdrop`, `skeu-dialog`, `animate-skeu-dialog`, `skeu-btn-primary`, `skeu-btn-secondary`

A dimmed backdrop + overlay panel with animate-skeu-dialog; Escape closes and focus is trapped inside.

```html
<div class="skeu-backdrop fixed inset-0 z-50 flex items-center justify-center p-4">
  <div role="dialog" aria-modal="true" aria-labelledby="dlg-title" class="skeu-dialog animate-skeu-dialog w-full max-w-md p-6">
    <h2 id="dlg-title" class="text-lg font-extrabold">Change delivery address?</h2>
    <p class="mt-2 text-sm text-muted-foreground">Your order will be re-routed to the new address. Delivery time may change.</p>
    <div class="mt-6 flex justify-end gap-2">
      <button class="skeu-btn skeu-btn-secondary h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Keep current</button>
      <button class="skeu-btn skeu-btn-primary h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Change address</button>
    </div>
  </div>
</div>
```

**Dropdown menu (live)** — `skeu-floating`, `skeu-list-item`, `animate-skeu-pop`, `skeu-divider`

A floating surface with animate-skeu-pop, role=menuitem rows that rise on hover, and a red destructive item.

```html
<div class="relative inline-block">
  <button class="skeu-btn skeu-btn-secondary inline-flex items-center gap-2 h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold" aria-haspopup="menu" aria-expanded="true">Options <svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button>
  <div role="menu" class="skeu-floating animate-skeu-pop absolute start-0 top-full mt-2 w-52 p-1.5 rounded-[var(--skeu-radius-md)] z-20">
    <button role="menuitem" class="skeu-list-item w-full flex items-center gap-2 px-3 h-9 rounded-[var(--skeu-radius-sm)] text-sm text-start">Edit order</button>
    <button role="menuitem" class="skeu-list-item w-full flex items-center gap-2 px-3 h-9 rounded-[var(--skeu-radius-sm)] text-sm text-start">Duplicate</button>
    <hr class="skeu-divider my-1.5">
    <button role="menuitem" class="skeu-list-item w-full flex items-center gap-2 px-3 h-9 rounded-[var(--skeu-radius-sm)] text-sm text-start text-[var(--skeu-error)]">Cancel order</button>
  </div>
</div>
```

**Tooltip** — `skeu-dark`

A small graphite surface above the trigger, linked via aria-describedby.

```html
<span class="relative inline-block group">
  <button class="skeu-btn skeu-btn-secondary inline-flex items-center justify-center w-10 h-10 rounded-full" aria-describedby="tip-1" aria-label="Help"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><circle cx="12" cy="12" r="9"/><path d="M12 8h.01M11 12h1v4h1"/></svg></button>
  <span id="tip-1" role="tooltip" class="skeu-dark absolute bottom-full start-1/2 -translate-x-1/2 mb-2 px-2.5 py-1.5 rounded-[var(--skeu-radius-xs)] text-xs whitespace-nowrap">Delivery fees explained</span>
</span>
```

**Popover** — `skeu-floating`, `animate-skeu-pop`, `skeu-btn-tint`

A floating surface with rich content (title, body, action) tied to a trigger with aria-expanded.

```html
<div class="relative inline-block">
  <button class="skeu-btn skeu-btn-tint h-9 px-3 rounded-full text-sm font-semibold" aria-expanded="true" aria-controls="pop-1">Loyalty points</button>
  <div id="pop-1" class="skeu-floating animate-skeu-pop absolute start-0 top-full mt-2 w-64 p-4 rounded-[var(--skeu-radius-md)] z-20">
    <div class="text-xs font-bold uppercase tracking-wider text-muted-foreground">Balance</div>
    <div class="mt-1 text-2xl font-extrabold tabular-nums text-primary">2,480 pts</div>
    <p class="mt-1.5 text-xs text-muted-foreground">Redeem 1,000 pts for 5,000 IQD off your next order.</p>
    <button class="skeu-btn skeu-btn-primary mt-3 w-full h-9 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Redeem</button>
  </div>
</div>
```

**Confirm dialog (live)** — `skeu-backdrop`, `skeu-dialog`, `animate-skeu-dialog`, `skeu-btn-destructive`

The same dialog with a warning tile and a red destructive button — for irreversible actions.

```html
<div class="skeu-backdrop fixed inset-0 z-50 flex items-center justify-center p-4">
  <div role="alertdialog" aria-modal="true" aria-labelledby="cf-title" aria-describedby="cf-body" class="skeu-dialog animate-skeu-dialog w-full max-w-sm p-6 text-center">
    <span class="skeu-alert skeu-alert-error inline-flex items-center justify-center w-12 h-12 rounded-full text-[var(--skeu-error)]"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18"/></svg></span>
    <h2 id="cf-title" class="mt-3 text-lg font-extrabold">Cancel this order?</h2>
    <p id="cf-body" class="mt-1.5 text-sm text-muted-foreground">The merchant has already started packing. This can’t be undone.</p>
    <div class="mt-6 grid grid-cols-2 gap-2">
      <button class="skeu-btn skeu-btn-secondary h-10 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Keep order</button>
      <button class="skeu-btn skeu-btn-destructive h-10 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Cancel order</button>
    </div>
  </div>
</div>
```

**Bottom sheet (live)** — `skeu-backdrop`, `skeu-dialog`, `animate-skeu-dialog`

A dialog pinned to the bottom of the screen with a drag handle — for phones.

```html
<div class="skeu-backdrop fixed inset-0 z-50 flex items-end sm:items-center justify-center">
  <div role="dialog" aria-modal="true" aria-labelledby="sheet-title" class="skeu-dialog animate-skeu-dialog w-full sm:max-w-md rounded-b-none sm:rounded-b-[var(--skeu-radius-xl)] p-5 pb-[max(1.25rem,env(safe-area-inset-bottom))]">
    <span class="block mx-auto w-10 h-1.5 rounded-full bg-[var(--skeu-edge-strong)] sm:hidden" aria-hidden="true"></span>
    <h2 id="sheet-title" class="mt-3 font-extrabold">Sort by</h2>
    <div class="mt-3 grid gap-1">
      <button class="skeu-well-accent flex items-center justify-between px-3 h-11 rounded-[var(--skeu-radius-sm)] text-sm font-semibold text-primary" aria-pressed="true">Recommended <span><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 4 4L19 7"/></svg></span></button>
      <button class="skeu-list-item flex items-center px-3 h-11 rounded-[var(--skeu-radius-sm)] text-sm font-medium">Price: low to high</button>
      <button class="skeu-list-item flex items-center px-3 h-11 rounded-[var(--skeu-radius-sm)] text-sm font-medium">Newest</button>
    </div>
  </div>
</div>
```

#### Commerce

**Order status pills** — `skeu-chip`, `skeu-chip-solid`, `skeu-chip-success`, `skeu-chip-neutral`

The four standard GINI states: preparing, out for delivery, delivered, cancelled.

```html
<span class="skeu-chip inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs font-semibold"><span class="w-1.5 h-1.5 rounded-full bg-current"></span>Preparing · قيد التجهيز</span>
<span class="skeu-chip-solid inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs font-semibold"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 6h11v10H3zM14 10h4l3 3v3h-7z"/><circle cx="7" cy="18" r="2"/><circle cx="17" cy="18" r="2"/></svg>Out for delivery · جاري التوصيل</span>
<span class="skeu-chip-success inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs font-semibold"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 4 4L19 7"/></svg>Delivered · تم التسليم</span>
<span class="skeu-chip-neutral inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs font-semibold text-muted-foreground line-through">Cancelled · ملغى</span>
```

**Cart line item** — `skeu-panel`, `skeu-tile-ceramic`, `skeu-btn-secondary`, `skeu-btn-ghost`

Thumbnail, name, variant, quantity stepper, line price and a ghost remove button.

```html
<div class="skeu-panel flex items-center gap-3 p-3 rounded-[var(--skeu-radius-md)]">
  <span class="skeu-tile-ceramic w-16 h-16 rounded-[var(--skeu-radius-sm)] overflow-hidden shrink-0"><img src="/product.jpg" alt="" class="w-full h-full object-cover"></span>
  <div class="flex-1 min-w-0">
    <div class="text-sm font-semibold truncate">Wireless headphones ANC</div>
    <div class="text-xs text-muted-foreground">Black · 1 year warranty</div>
    <div class="mt-2 inline-flex items-center" role="group" aria-label="Quantity">
      <button class="skeu-btn skeu-btn-secondary inline-flex items-center justify-center w-8 h-8 rounded-s-[var(--skeu-radius-sm)] rounded-e-none" aria-label="Decrease"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M5 12h14"/></svg></button>
      <span class="skeu-input h-8 w-10 inline-flex items-center justify-center text-sm font-bold tabular-nums rounded-none -mx-px">2</span>
      <button class="skeu-btn skeu-btn-secondary inline-flex items-center justify-center w-8 h-8 rounded-e-[var(--skeu-radius-sm)] rounded-s-none" aria-label="Increase"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M12 5v14M5 12h14"/></svg></button>
    </div>
  </div>
  <div class="text-end shrink-0">
    <div class="text-sm font-extrabold tabular-nums">178,000 IQD</div>
    <button class="skeu-btn skeu-btn-ghost mt-1 h-7 px-2 rounded-[var(--skeu-radius-xs)] text-xs text-muted-foreground hover:text-[var(--skeu-error)]">Remove</button>
  </div>
</div>
```

**Price + discount** — `skeu-chip-success`

The current price is bold, the old one struck through, and the discount lives in a success chip.

```html
<div class="flex items-baseline gap-2 flex-wrap">
  <span class="text-2xl font-extrabold tabular-nums">89,000 <span class="text-sm font-semibold text-muted-foreground">IQD</span></span>
  <s class="text-sm text-muted-foreground tabular-nums">112,000</s>
  <span class="skeu-chip-success px-2 py-0.5 rounded-full text-[11px] font-bold">Save 23,000</span>
</div>
<p class="mt-1 text-xs text-muted-foreground">Or 3 × 29,667 IQD with installments</p>
```

**Quantity stepper** — `skeu-btn-secondary`, `skeu-input`

Two ceramic keys around a readout well; the minimum disables the decrease key.

```html
<div class="inline-flex items-center" role="group" aria-label="Quantity">
  <button class="skeu-btn skeu-btn-secondary inline-flex items-center justify-center w-10 h-10 rounded-s-[var(--skeu-radius-sm)] rounded-e-none" aria-label="Decrease" disabled><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M5 12h14"/></svg></button>
  <input class="skeu-input h-10 w-14 text-center text-sm font-bold tabular-nums rounded-none -mx-px" value="1" inputmode="numeric" aria-label="Quantity">
  <button class="skeu-btn skeu-btn-secondary inline-flex items-center justify-center w-10 h-10 rounded-e-[var(--skeu-radius-sm)] rounded-s-none" aria-label="Increase"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M12 5v14M5 12h14"/></svg></button>
</div>
```

**Delivery timeline** — `skeu-panel`, `skeu-chip-success`, `skeu-tile`, `skeu-tile-soft`, `skeu-track`, `skeu-fill`

Three horizontal stops with a progress track between them — the mobile form of the timeline.

```html
<div class="skeu-panel rounded-[var(--skeu-radius-lg)] p-4">
  <div class="flex items-center justify-between text-sm"><span class="font-semibold">Order #48213</span><span class="skeu-chip-solid px-2 py-0.5 rounded-full text-[10px] font-bold">Arrives today</span></div>
  <ol class="mt-4 flex items-center gap-2">
    <li class="skeu-chip-success inline-flex items-center justify-center w-7 h-7 rounded-full shrink-0" aria-label="Confirmed"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 4 4L19 7"/></svg></li>
    <li class="flex-1 skeu-track h-1.5 rounded-full overflow-hidden"><div class="skeu-fill h-full w-full"></div></li>
    <li class="skeu-tile inline-flex items-center justify-center w-7 h-7 rounded-full shrink-0" aria-current="step" aria-label="On the way"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 6h11v10H3zM14 10h4l3 3v3h-7z"/><circle cx="7" cy="18" r="2"/><circle cx="17" cy="18" r="2"/></svg></li>
    <li class="flex-1 skeu-track h-1.5 rounded-full overflow-hidden"><div class="skeu-fill h-full w-2/5"></div></li>
    <li class="skeu-tile-soft inline-flex items-center justify-center w-7 h-7 rounded-full shrink-0" aria-label="Delivered"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 11 12 3l9 8v10a1 1 0 0 1-1 1h-5v-7H9v7H4a1 1 0 0 1-1-1z"/></svg></li>
  </ol>
  <div class="mt-2 flex justify-between text-[11px] text-muted-foreground"><span>Confirmed</span><span class="font-semibold text-primary">On the way</span><span>Delivered</span></div>
</div>
```

**Merchant header card** — `skeu-panel-2`, `skeu-tile-ceramic`, `skeu-chip-success`, `skeu-btn-primary`

Logo in a ceramic tile, name, verified chip, rating, and a follow button.

```html
<div class="skeu-panel-2 flex items-center gap-4 p-4 rounded-[var(--skeu-radius-lg)]">
  <span class="skeu-tile-ceramic inline-flex items-center justify-center w-14 h-14 rounded-[var(--skeu-radius-md)] text-lg font-extrabold text-primary shrink-0">TZ</span>
  <div class="flex-1 min-w-0">
    <div class="flex items-center gap-2 flex-wrap"><h3 class="font-extrabold truncate">TechZone</h3><span class="skeu-chip-success inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-[10px] font-bold"><svg class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 4 4L19 7"/></svg>Verified</span></div>
    <div class="mt-0.5 flex items-center gap-2 text-xs text-muted-foreground"><span class="inline-flex items-center gap-1 text-primary"><svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8L18.2 21 12 17.5 5.8 21 7.2 14.2 2 9.4l7-.8z"/></svg><span class="font-bold text-foreground">4.8</span></span><span>· 1.2K orders · Karrada</span></div>
  </div>
  <button class="skeu-btn skeu-btn-primary h-9 px-4 rounded-full text-sm font-semibold shrink-0">Follow</button>
</div>
```

**Payment method row** — `skeu-panel`, `skeu-panel-selected`, `skeu-check`, `skeu-radio`, `skeu-tile-ceramic`

Payment options as radio cards: Qi Card, ZainCash, cash on delivery.

```html
<fieldset class="grid gap-2">
  <legend class="sr-only">Payment method</legend>
  <label class="skeu-panel skeu-panel-selected flex items-center gap-3 p-3 rounded-[var(--skeu-radius-md)] cursor-pointer">
    <input type="radio" name="pay" class="skeu-check skeu-radio" checked>
    <span class="skeu-tile-ceramic inline-flex items-center justify-center w-10 h-7 rounded-[var(--skeu-radius-xs)] text-[10px] font-extrabold text-primary">Qi</span>
    <span class="flex-1 text-sm font-semibold">Qi Card <span class="block text-xs font-normal text-muted-foreground" dir="ltr">•••• 4821</span></span>
    <span class="skeu-chip px-2 py-0.5 rounded-full text-[10px] font-bold">Default</span>
  </label>
  <label class="skeu-panel flex items-center gap-3 p-3 rounded-[var(--skeu-radius-md)] cursor-pointer">
    <input type="radio" name="pay" class="skeu-check skeu-radio">
    <span class="skeu-tile-ceramic inline-flex items-center justify-center w-10 h-7 rounded-[var(--skeu-radius-xs)] text-[10px] font-extrabold">Zain</span>
    <span class="flex-1 text-sm font-semibold">ZainCash</span>
  </label>
  <label class="skeu-panel flex items-center gap-3 p-3 rounded-[var(--skeu-radius-md)] cursor-pointer">
    <input type="radio" name="pay" class="skeu-check skeu-radio">
    <span class="skeu-tile-ceramic inline-flex items-center justify-center w-10 h-7 rounded-[var(--skeu-radius-xs)] text-muted-foreground"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 10h18"/></svg></span>
    <span class="flex-1 text-sm font-semibold">Cash on delivery</span>
  </label>
</fieldset>
```

**Coupon / loyalty points chip** — `skeu-input`, `skeu-btn-tint`, `skeu-chip-solid`, `skeu-chip`

A coupon field with an apply button, and an anodized loyalty chip with a tabular balance.

```html
<form class="flex gap-2">
  <input class="skeu-input flex-1 h-10 px-3 rounded-[var(--skeu-radius-sm)] text-sm font-mono uppercase" placeholder="PROMO CODE" aria-label="Promo code">
  <button class="skeu-btn skeu-btn-tint h-10 px-4 rounded-[var(--skeu-radius-sm)] text-sm font-semibold">Apply</button>
</form>
<div class="mt-3 flex flex-wrap gap-2">
  <span class="skeu-chip-solid inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs font-bold"><svg class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 3 6.6 7 .8-5.2 4.8L18.2 21 12 17.5 5.8 21 7.2 14.2 2 9.4l7-.8z"/></svg>2,480 pts</span>
  <span class="skeu-chip inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs font-semibold">WELCOME10 · -10%</span>
</div>
```

Live specimens: https://gini.iq/en/brand#components

### State rules

| State | Physical expression |
|---|---|
| Default | Raised in its natural material |
| Hover | Rises 1–2px with stronger highlight |
| Pressed | Drops 1px, inset shadow, deeper fill |
| Focus | A 3px orange illuminated rim — always visible |
| Selected | Seated in its rail with accent fill + ARIA attribute |
| Disabled | 55% opacity, desaturated, no motion |
| Loading | Recessed skeletons with a sweep, or a spinner inside the control |
| Error | Red edge + soft red rim + a text message |

### Methodology

1 — Audit: Inventory every route, component and repeated pattern before touching a page; understand the product as one system.
2 — Foundation: Tokens, materials, lighting model, shadows, borders, radii, motion — all centralised in globals.css.
3 — Primitives: Upgrade buttons, inputs, tabs, switches, chips and dialogs before any page.
4 — Global shell: The header as a rail, the base background, the graphite footer, the containers.
5 — Page by page: Migrate every route including loading, empty and error states, deleting no content and changing no logic.
6 — Responsive review: Check 1366px and 390px in Arabic and English: no horizontal overflow, comfortable touch targets, simplified shadows on mobile.
7 — Polish: A full consistency audit and a sweep of legacy fragments until everything reads as one team, one system.

### Do

- Start with the material class (skeu-panel, skeu-btn-primary…) then add Tailwind utilities for layout only.
- Let content (product imagery, numbers, copy) be the hero; surfaces support it.
- Use logical properties (start/end) and check both the Arabic and English versions.
- Give every state (hover, pressed, focus, disabled) a clear physical expression.
- Respect the elevation level that matches the element's role — don't raise everything.

### Don't

- No neumorphism: grey blobs with a light shadow top-left and a dark shadow bottom-right.
- No leather, wood or heavy image textures — materials are refined and restrained.
- No decorative gradients without a physical reason, and no ad-hoc shadows outside the tokens.
- Don't make everything a pill — each object type has its radius.
- No text shadows, and never trade contrast for softness.
- No Tailwind rtl:/ltr: variants — each locale has its own <html dir> root; use logical utilities (ps-/pe-/text-start) instead.

### Core tokens

| Token | Value | Meaning |
|---|---|---|
| `--skeu-bg` | `oklch(0.962 0.012 72)` | Polymer base |
| `--skeu-surface` | `oklch(0.993 0.004 80)` | Ceramic surface |
| `--skeu-well` | `oklch(0.955 0.01 72)` | Recessed well colour |
| `--skeu-accent` | `#f05d25` | GINI orange |
| `--skeu-accent-deep` | `#c9481a` | Anodized control edge |
| `--skeu-accent-text` | `#b8410f` | Text-safe orange (AA body text) |
| `--skeu-accent-text-strong` | `#8f3210` | Orange text on 13–16% accent tints |
| `--skeu-edge-control` | `oklch(0.62 0.02 66)` | Form-control boundary (≥3:1) |
| `--skeu-edge` | `oklch(0.86 0.018 68)` | Surface edge colour |
| `--skeu-highlight` | `rgba(255,255,255,0.92)` | Lit top edge |
| `--skeu-ink` | `37, 22, 10` | Warm shadow ink (RGB) |
| `--skeu-shadow-raised-1` | `inset 0 1px 0 highlight, 0 1px 1px, 0 2px 4px -1px, 0 10px 24px -14px` | Standard card stack |
| `--skeu-shadow-control` | `inset 0 1px 0 white/38, inset 0 -2px 0 dark/32, 0 1px 2px, 0 6px 14px -6px orange/55` | Primary control stack |
| `--skeu-focus-rim` | `0 0 0 2px #fff, 0 0 0 4px --skeu-accent-deep + inset` | Two-tone focus rim (≥3:1) |
| `--skeu-transition-fast / -normal` | `150ms / 260ms` | Press timing / lift timing |

Live implementation in `app/globals.css`, full variables at `https://gini.iq/brand.css`, live specimens at https://gini.iq/en/brand#design-system.

## Voice & tone

- **Warm** — We speak in plain language — close to our customers, true to the local culture.
- **Confident** — We make promises we keep, and are honest about what we do and don't know.
- **Sharp** — Short sentences, clear ideas. Every word earns its place.
- **Optimistic** — We see the opportunity before the obstacle, and build tools that unlock the next step.

### Writing examples

**Say:** We empower merchants to grow digitally — with integrated management, payments, and delivery tools.

**Don't say:** ~~The leading platform delivering an unparalleled shopping experience.~~

> **Why:** State what we do for merchants and consumers alike, don't claim leadership without proof.

**Say:** We couldn't complete the payment. Try another card or contact us.

**Don't say:** ~~An error occurred while processing your request. Please try again later.~~

> **Why:** Explain what happened, then offer the next step. Never leave the customer in limbo.

## Press

### Boilerplate

> GINI is an Iraqi market automation and digital commerce company founded in 2023, connecting merchants, service providers, delivery networks, and payment systems within a unified digital ecosystem. GINI provides tools for business management, product and service display, payment processing, and order management — enabling businesses and merchants to grow and reach millions of users efficiently. Headquartered in Baghdad, GINI serves merchants and consumers across every Iraqi province.

### Fact sheet

- **Legal name:** GINI
- **Founded:** 2023
- **Headquarters:** Baghdad, Iraq
- **Industry:** Market automation & digital commerce
- **Website:** gini.iq
- **Press contact:** info@gini.iq

**Contact:** `info@gini.iq`

## FAQ

### Can I use the GINI logo in an article or video about the company?

Yes. Editorial use (press, blogs, news) is permitted without prior approval, provided the logo is used as shown here — original proportions and colours.

### I'd like to do a co-branded piece with GINI — what's the next step?

Email info@gini.iq with project details and a timeline. We usually respond within 24 hours with additional guidelines and co-branding assets.

### Can I recolour the logo to match my own identity?

No. Only the official colours (GINI Orange or the white version) are permitted. Any recolouring is considered brand misuse.

### Do you have high-resolution press photos?

Yes. Email info@gini.iq and we'll send a curated pack including product shots, team imagery, and HQ photography.

### Are 'GINI' and the GINI wordmark registered trademarks?

Yes, both are trademarks owned by GINI. Avoid using either for similar product or company names that could create confusion.

## Usage terms

GINI brand assets on this page are available for editorial use (press, news, reviews) and approved partnerships. Do not alter the logo, its colours, or its proportions.

**Permitted:**
- `editorial-use`
- `news-coverage`
- `product-reviews`
- `partner-marketing`
- `conference-presentations`

**Restricted:**
- `logo-modification`
- `colour-substitution`
- `stretching-or-distortion`
- `outlines-shadows-effects`
- `merchandise-without-permission`
- `confusingly-similar-marks`

For exceptions or formal partnerships, contact `info@gini.iq`.

## For developers and AI agents

Everything a new project needs to adopt the GINI identity in a single import:

- **CSS** — `https://gini.iq/brand.css` (drop-in variables)
- **Component classes** — `https://gini.iq/skeu.css` (every skeu-* class + token — the component library)
- **Tailwind v4** — `https://gini.iq/brand.tailwind.css` (@theme block)
- **W3C Design Tokens** — `https://gini.iq/brand.tokens.json` (for Style Dictionary, Figma, etc.)
- **AI system prompt** — `https://gini.iq/en/brand-prompt.md`
- **`.cursorrules`** — `https://gini.iq/cursorrules`
- **`AGENTS.md`** — `https://gini.iq/AGENTS.md`
- **JSON Schema** — `https://gini.iq/schemas/brand-manifest.json`

## Version

**1.7** — 2026-09

### Changelog

- **v1.7** (2026-09) — Design system (modern skeuomorphism): materials, lighting, elevation ladder, motion, component catalog and methodology — with live specimens.
- **v1.6** (2026-04) — One-colour monogram (G-mark, no orange accent).
- **v1.5** (2026-04) — One-colour wordmark — black and white.
- **v1.4** (2026-04) — Official logo files and trademark section.
- **v1.3** (2026-04) — Refinements to logo cards, pattern surfaces, and the hero.
- **v1.2** (2026-04) — Expanded guide: foundation, anatomy, accessibility, FAQ.
- **v1.1** (2026-03) — Dark-surface logo variant and Pantone values.
- **v1.0** (2026-02) — First public release.
