diff --git a/ecosystem-explorer/DESIGN.md b/ecosystem-explorer/DESIGN.md
index 4a942c4..0ffabfc 100644
--- a/ecosystem-explorer/DESIGN.md
+++ b/ecosystem-explorer/DESIGN.md
@@ -68,6 +68,7 @@ All colors are defined using HSL values in `src/themes.ts`. They are applied via
--color-foreground: 210 45% 99%; /* Bright white with blue hint */
--color-card: 232 35% 19%; /* Card background */
--color-card-secondary: 232 32% 23%; /* Card hover state */
+--color-muted: 232 30% 17%; /* Darker background for code/badges */
--color-muted-foreground: 220 22% 65%; /* Muted text */
--color-border: 232 28% 26%; /* Borders */
```
@@ -93,6 +94,7 @@ All colors are defined using HSL values in `src/themes.ts`. They are applied via
* `background` - Page base
* `card` - Elevated surfaces (cards, panels)
* `card-secondary` - Hover states and nested cards
+* `muted` - Darker backgrounds for inline code, type badges, and subtle UI elements
* `border` - Dividers and outlines
#### Text Hierarchy
@@ -120,8 +122,8 @@ Shadows establish elevation and focus:
Glows create ambient lighting and highlight interactive elements:
```css
---glow-primary: 0 0 40px hsl(var(--color-primary) / 0.15);
---glow-secondary: 0 0 40px hsl(var(--color-secondary) / 0.15);
+--glow-primary: 0 0 40px hsl(var(--primary-hsl) / 0.15);
+--glow-secondary: 0 0 40px hsl(var(--secondary-hsl) / 0.15);
```
**Usage patterns:**
@@ -170,7 +172,7 @@ Standard card pattern for elevated content:
**Hover states:**
* Transition to `bg-card-secondary`
-* Add `shadow-[0_0_20px_hsl(var(--color-primary)/0.1)]`
+* Add `shadow-[0_0_20px_hsl(var(--primary-hsl)/0.1)]`
* Slight scale animation: `hover:scale-[1.02]`
### Buttons
@@ -202,6 +204,110 @@ Three button variants:
```
+### Type Badges
+
+Small badges used to display types, categories, or status indicators:
+
+```tsx
+
+ {type}
+
+```
+
+**Usage:**
+* Attribute types in tables (string, int, boolean, etc.)
+* Metric types
+* Span kinds
+* Other categorical indicators
+
+**Styling:**
+* `bg-muted/50` - Semi-transparent dark background for subtle contrast
+* `text-foreground/70` - Slightly dimmed text for readability on dark background
+* `text-xs font-bold` - Small, bold text for compact display
+* `rounded px-2 py-1` - Consistent padding and border radius
+
+**Color variants:**
+For semantic meaning with glowing effects, use GlowBadge component:
+* `variant="success"` - Green for metrics
+* `variant="info"` - Blue for spans
+* `variant="warning"` - Yellow for warnings
+* `variant="error"` - Red for errors
+
+### Inline Code Elements
+
+Code snippets and technical values displayed inline:
+
+```tsx
+
+ {value}
+
+```
+
+**Usage:**
+* Unit values (ms, bytes, etc.)
+* Configuration keys
+* API endpoints
+* Version numbers
+* Short code snippets
+
+**Styling:**
+* `bg-muted` - Full opacity dark background for strong contrast
+* `text-foreground/80` - Slightly dimmed bright text for comfortable reading
+* `text-sm` - Readable size for technical content
+* `rounded px-2 py-1` - Consistent padding matching type badges
+
+**Guidelines:**
+* Add `font-mono` class for actual code readability when needed
+* Use `break-all` for long technical strings that need to wrap
+* Maintain consistent padding (`px-2 py-1`) across all inline code elements
+
+### Striped Tables
+
+Alternating row backgrounds for improved readability in data tables:
+
+```tsx
+
| {item.content} | +
| + Column + | +
|---|
| {item.content} | +
| + Key + | ++ Type + | +
|---|---|
| {attr.name} | ++ + {attr.type} + + | +
+ {metric.name}
+
+ + {metric.description} +
+ + {/* Unit section with border */} +
+ {metric.unit}
+
+ + No metrics or spans defined for this configuration. +
+- {instrumentation.minimum_java_version} -
-+ {instrumentation.minimum_java_version} +
- {instrumentation.scope.name} -
-
- {instrumentation.scope.schema_url}
-
- + {instrumentation.scope.name} +
+ {instrumentation.scope.schema_url}
+
+ {telemetry.when}
-
- {metric.name}
-
- - {metric.description} -
- -
- {metric.unit}
-
-
- {attr.name}
-
-
- ({attr.type})
-
-
- {attr.name}
-
-
- ({attr.type})
-
- - No telemetry information available. -
+ + ++ No telemetry information available. +
+
- {config.name}
-
-
+ {config.name}
+
+ - {config.description} -
++ {config.description} +
-
- {typeof config.default === "boolean"
- ? config.default.toString()
- : config.default}
-
+
+ {typeof config.default === "boolean"
+ ? config.default.toString()
+ : config.default}
+
+ - No configuration options available. -
+ + ))}+ No configuration options available. +
+