BrandToPrompt

Opera Design System: Confident Minimalism & Rounded Precision

Visit Site

Explore Opera's design system - bold violet-blue palette, precise typography, and rounded UI elements. Learn how Opera crafts confident digital design.

5 min read988 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
Be Vietnam Pro
Secondary Font
Space Mono

Design Style

Style
modern minimalist with bold color accents and soft rounded corners
Visual Density
precisely spaced layout with generous padding and modular rhythm
Border Style
mixed radii up to 89.9px for pill-shaped buttons and 44.9px for cards

Full Analysis

Opera Brand Design System Deep-Dive

1. Brand Overview

Opera’s design system feels like it’s built for a brand that already knows who it is. This isn’t a browser company trying to look like every other tech player. The tone is unapologetically clean, but they’re not afraid of a punch of color. There’s restraint in the palette—lots of black, white, and deep neutrals—but then they drop this saturated violet-blue (#5021ff) for their primary actions. It’s confident.

Typography is modern without being sterile. They’ve committed to Be Vietnam Pro for basically everything, with a secondary monospace (Space Mono) creeping in for certain uppercase link and heading contexts. This mix gives them a tech-meets-humanist vibe—sans-serif for clarity, monospace for “developer cred.” The weights go heavy (900) for hero headings, which makes the brand voice feel loud and direct.

Layout decisions suggest they care about modularity. The spacing scale isn’t the generic 4px/8px—it’s custom values like 14.0544px and 22.487px. That precision signals a design team that tunes things until they look right, not just until they fit a grid formula.

Border radii are generous. Rounded corners everywhere, with 44.9741px showing up a lot—enough to make cards feel approachable. Buttons range from slightly rounded (22.487px) to extremely pill-shaped (89.9482px). Shadows are minimal and soft—mostly rgba(0,0,0,0.1)—used sparingly for subtle depth.

This system is for a modern, tech-savvy audience who expects clean UI but appreciates small personality injections. Opera’s visual language says: “We’re serious about performance, but we’re not boring.” It’s a design system that could easily extend beyond browsers into any consumer-facing tech product.


2. Color System

2.1 Primary Colors

The primary brand color is #5021ff—a bold, saturated violet-blue. It’s used for primary buttons, hover/focus states, and brand surfaces (--surface-brand). This color pops hard against their mostly monochrome base, which is exactly the point: CTAs stand out instantly.

Psychologically, this hue sits between trust-inducing blue and creative purple. It’s more energetic than the blues used by Chrome (#4285F4) or Firefox (#0055AA). It suggests Opera wants to be seen as both reliable and innovative.

2.2 Complete Palette

Color NameHexRoleUsage
Black#000000Primary text, backgroundsHeaders, body text, UI outlines
Dark Gray-Blue#252836Secondary text, buttonsDownload button wrapper, secondary links
Medium Gray-Blue#666f88Border colorLinkedIn link borders, subtle dividers
White#ffffffBackgrounds, text on darkButton text, page background
Gray#808080NeutralRare, possibly placeholder
Light Gray-Blue#f2f5f8BackgroundPanels, cards
Pale Blue-Gray#d0dbe3DividerBorders in lists, subtle lines
Brand Violet-Blue#5021ffPrimary brandCTAs, hover/focus, brand surfaces
Off-White Blue#e7edf1Hover/focus backgroundsLight hover states

2.3 Color Relationships

Contrast is strong between #5021ff and #ffffff—easily WCAG AA for large text. Black text on white backgrounds is classic and fully accessible. The secondary dark gray-blue (#252836) on white is fine for body copy but would need careful sizing for small text.

Dark mode isn’t explicitly defined here, but --bg-bw-100-reversed: #000 and reversed text colors (hsla(0,0%,100%,0.5)) suggest they have a dark theme variant.

2.4 Usage Guide

Works well:

  • #5021ff buttons on white backgrounds—maximum pop.
  • #252836 secondary links on white—subtle but readable.
  • White text on #5021ff—clean, high contrast.

Avoid:

  • #5021ff on #252836—low contrast, not accessible.
  • #666f88 for body text—it’s too faint for primary content.

3. Typography

3.1 Font Families

Primary: Be Vietnam Pro, fallback roboto.
Secondary (monospace contexts): Space Mono, fallback Roboto Mono, Courier New.
No Google/Adobe font imports detected—likely self-hosted.

3.2 Type Scale

ElementFontSizeWeightLine Height
H1 largeBe Vietnam Pro78.7046px9001.00
H1 mediumBe Vietnam Pro67.4611px900
H1 smallBe Vietnam Pro44.9741px9001.00
Link largeBe Vietnam Pro44.9741px9001.00
H1 small boldBe Vietnam Pro44.9741px7001.00
H1 regularBe Vietnam Pro33.7306px4001.00
H1 boldBe Vietnam Pro33.7306px7001.00
Link regularBe Vietnam Pro33.7306px400
Link monospaceSpace Mono33.7306px4001.50
H1 xsmallBe Vietnam Pro28.1088px400
H1 uppercase boldBe Vietnam Pro28.1088px9001.00
Button textBe Vietnam Pro25.2979px4001.50
Monospace boldSpace Mono25.2979px7001.50
Body largeBe Vietnam Pro22.487px400
Body boldBe Vietnam Pro22.487px700
Button mediumBe Vietnam Pro19.6762px4001.20
Button medium boldBe Vietnam Pro19.6762px7001.20
Link mediumBe Vietnam Pro19.6762px7001.20
Small boldBe Vietnam Pro16.8653px7001.00
Monospace small uppercaseSpace Mono16.8653px7001.50
Small regularBe Vietnam Pro16.8653px4001.50
Caption uppercase boldBe Vietnam Pro14.8414px7001.50
Caption regularBe Vietnam Pro14.0544px4001.50

3.3 Hierarchy

Weights go extreme—900 for hero headings, 700 for section headings, 400 for body. The monospace uppercase styles are used sparingly, keeping them special. There’s a tight line height for big headings (1.00) making them compact, while buttons and body text get more breathing room (1.20–1.50).


4. Spacing & Layout

4.1 Spacing Scale

Opera’s spacing tokens:

pxremCount
10.06rem18
2.810880.18rem4
5.621760.35rem3
7.02720.44rem4
8.432640.53rem4
11.24350.70rem20
14.05440.88rem60
16.86531.05rem4
19.67621.23rem8
22.4871.41rem30
28.10881.76rem10
33.73062.11rem31
44.97412.81rem31
56.21763.51rem7
67.46114.22rem13
106.8136.68rem2
134.9228.43rem18
238.92514.93rem2

4.2 Layout

Breakpoints cover a full range: 320px up to 1924px, with multiple mid-range points (640px, 1024px, 1366px). This suggests tailored layouts for small phones, tablets, laptops, and large desktops.


5. Visual Elements

Border Radius System

ValueCountElements
0px 0px 22.487px 22.487px2Links, blog thumbnails
0px 0px 44.9741px 44.9741px4Images
0px 44.9741px 44.9741px 0px2Images
5.62176px3Badges
14.0544px1Span
16.8653px8Links, badges, language selector, buttons
22.487px5Buttons, divs
22.487px 22.487px 0px 0px2Links
44.9741px24Images, divs
44.9741px 44.9741px 0px 0px4Images
89.9482px1Button

Shadows

Minimal, soft:

  • rgba(0, 0, 0, 0.1) 0px 4px 4px
  • rgba(0, 0, 0, 0.1) 0px 14.0544px 42.1632px
  • rgba(0, 0, 0, 0.15) 0px 21.0816px 70.272px

Borders

Mostly 1px solid #666f88 for links, 1px solid #d0dbe3 for dividers. Rarely 2px solid #5021ff for focus or active elements.


6. Components

6.1 Buttons

Primary Button (button os-mac):

  • Default: bg #5021ff, text #ffffff, padding 16.8653px 33.7306px, radius 22.487px, no border, font-weight 700, size 19.6762px.
  • Hover: box-shadow rgba(214, 214, 214, 0.8) 0px 0.8rem 8rem -1.2rem, bg rgba(255, 255, 255, 0.5), text var(--text-brand).
  • Active: text var(--text-brand).
  • Focus: text var(--text-brand), bg var(--surface-primary).

Secondary Button (button-component small button-component__v-basic-a):

  • Default: bg #2c5e4e, text #ffffff, padding 0px, radius 89.9482px, font-weight 400, size 25.2979px.
  • Hover: bg rgba(255, 255, 255, 0.5), text #ffffff.

Three styles:

  1. #252836 with underline; hover → var(--text-brand).
  2. #000000 bold, underline; hover → var(--text-brand).
  3. #ffffff bold, no underline; hover → var(--text-brand).

6.3 Forms

Select: bg transparent, text black, border 1px solid #000000, radius 16.8653px, padding 14.0544px 56.2176px 14.0544px 28.1088px.

Checkboxes are bare—transparent bg, no border.

6.4 Cards

No explicit card component extracted, but large radii (44.9741px) and soft shadows imply rounded, approachable surfaces.


7. Design Tokens

:root {
  /* Colors */
  --color-black: #000000;
  --color-dark-gray-blue: #252836;
  --color-medium-gray-blue: #666f88;
  --color-white: #ffffff;
  --color-gray: #808080;
  --color-light-gray-blue: #f2f5f8;
  --color-pale-blue-gray: #d0dbe3;
  --color-brand-violet-blue: #5021ff;
  --color-off-white-blue: #e7edf1;

  /* Typography */
  --font-primary: "Be Vietnam Pro", roboto;
  --font-secondary-mono: "Space Mono", "Roboto Mono", "Courier New";
  --font-size-h1-lg: 78.7046px;
  --font-size-h1-md: 67.4611px;
  --font-size-h1-sm: 44.9741px;
  --font-size-body-lg: 22.487px;
  --font-size-body-md: 19.6762px;
  --font-size-body-sm: 16.8653px;
  --font-size-caption: 14.0544px;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --line-height-tight: 1.00;
  --line-height-normal: 1.20;
  --line-height-loose: 1.50;

  /* Spacing */
  --space-1: 1px;
  --space-2.81: 2.81088px;
  --space-5.62: 5.62176px;
  --space-7.02: 7.0272px;
  --space-8.43: 8.43264px;
  --space-11.24: 11.2435px;
  --space-14.05: 14.0544px;
  --space-16.86: 16.8653px;
  --space-19.67: 19.6762px;
  --space-22.48: 22.487px;
  --space-28.10: 28.1088px;
  --space-33.73: 33.7306px;
  --space-44.97: 44.9741px;
  --space-56.21: 56.2176px;
  --space-67.46: 67.4611px;
  --space-106.81: 106.813px;
  --space-134.92: 134.922px;
  --space-238.92: 238.925px;

  /* Border Radius */
  --radius-sm: 5.62176px;
  --radius-md: 16.8653px;
  --radius-lg: 22.487px;
  --radius-xl: 44.9741px;
  --radius-full: 89.9482px;

  /* Shadows */
  --shadow-sm: rgba(0,0,0,0.1) 0px 4px 4px;
  --shadow-md: rgba(0,0,0,0.1) 0px 14.0544px 42.1632px;
  --shadow-lg: rgba(0,0,0,0.15) 0px 21.0816px 70.272px;
}

8. AI Coding Assistant Prompt

# Opera Design System Specification

You are an Opera design expert. Build UIs matching their visual language exactly.

## Brand Context
Opera’s design philosophy blends clean, high-contrast layouts with bold color accents. It balances tech precision with approachable shapes. Heavy typography and generous radii make interfaces feel confident and user-friendly.

## Color Palette
- Black: #000000 — Primary text, dark backgrounds
- Dark Gray-Blue: #252836 — Secondary text, buttons
- Medium Gray-Blue: #666f88 — Borders, subtle dividers
- White: #ffffff — Backgrounds, text on dark
- Gray: #808080 — Neutral placeholder
- Light Gray-Blue: #f2f5f8 — Card and panel backgrounds
- Pale Blue-Gray: #d0dbe3 — Divider lines
- Brand Violet-Blue: #5021ff — CTAs, primary buttons, brand surfaces
- Off-White Blue: #e7edf1 — Hover/focus backgrounds

## Typography
- Primary: "Be Vietnam Pro", roboto
- Secondary monospace: "Space Mono", "Roboto Mono", "Courier New"

| Level | Size | Weight | Line Height | Use |
|-------|------|--------|-------------|-----|
| H1 large | 78.7046px | 900 | 1.00 | Hero titles |
| H1 medium | 67.4611px | 900 | — | Large section titles |
| H1 small | 44.9741px | 900 | 1.00 | Headings |
| Body large | 22.487px | 400 | — | Paragraphs |
| Body medium | 19.6762px | 400 | 1.20 | UI text |
| Small | 16.8653px | 400 | 1.50 | Captions |
| Caption | 14.0544px | 400 | 1.50 | Labels |

## Spacing & Grid
Base: custom scale. Use multiples of: 1px, 2.81px, 5.62px, 7.02px, 8.43px, 11.24px, 14.05px, 16.86px, 19.67px, 22.48px, 28.10px, 33.73px, 44.97px, 56.21px, 67.46px, 106.81px, 134.92px, 238.92px.

## Border Radius
- sm: 5.62176px — badges
- md: 16.8653px — inputs, small buttons
- lg: 22.487px — buttons, medium cards
- xl: 44.9741px — large cards, images
- full: 89.9482px — pill buttons

## Shadows & Depth
- sm: rgba(0,0,0,0.1) 0px 4px 4px
- md: rgba(0,0,0,0.1) 0px 14.0544px 42.1632px
- lg: rgba(0,0,0,0.15) 0px 21.0816px 70.272px

## Component Specifications

### Primary Button
Default:
- background: #5021ff
- color: #ffffff
- padding: 16.8653px 33.7306px
- border-radius: 22.487px
- font-size: 19.6762px
- font-weight: 700
Hover:
- box-shadow: rgba(214,214,214,0.8) 0px 0.8rem 8rem -1.2rem
- background: rgba(255,255,255,0.5)
- color: var(--text-brand)
Active:
- color: var(--text-brand)
Focus:
- background: var(--surface-primary)
- color: var(--text-brand)

### Secondary Button
Default:
- background: #2c5e4e
- color: #ffffff
- padding: 0px
- border-radius: 89.9482px
- font-size: 25.2979px
Hover:
- background: rgba(255,255,255,0.5)

### Navigation Links
Style 1:
- color: #252836
- underline
Hover:
- color: var(--text-brand)

### Input Fields
Select:
- border: 1px solid #000000
- border-radius: 16.8653px
- padding: 14.0544px 56.2176px 14.0544px 28.1088px
- background: transparent
- color: #000000

## Layout & Responsive Rules
Breakpoints:
- 320px
- 640px
- 1024px
- 1366px
- 1924px

## Interaction Rules
- Transitions: 150ms ease for hover/focus states
- Focus indicators: border-color change or background shift
- No harsh shadows; keep depth subtle

## DO List
- Use only palette colors
- Keep border radii consistent per component type
- Respect custom spacing values
- Heavy headings for emphasis
- Use monospace only for designated contexts

## DON'T List
- Don't invent new colors
- Don't mix sharp and rounded corners
- Don't apply heavy shadows
- Don't shrink font sizes below defined scale

## Code Examples

Primary Button:
```css
.btn-primary {
  background: #5021ff;
  color: #ffffff;
  padding: 16.8653px 33.7306px;
  border-radius: 22.487px;
  font-weight: 700;
  font-size: 19.6762px;
  border: none;
  transition: all 150ms ease;
}
.btn-primary:hover {
  box-shadow: rgba(214,214,214,0.8) 0px 0.8rem 8rem -1.2rem;
  background: rgba(255,255,255,0.5);
  color: var(--text-brand);
}
```

Card:
```css
.card {
  background: #ffffff;
  border-radius: 44.9741px;
  padding: 22.487px;
  box-shadow: rgba(0,0,0,0.1) 0px 4px 4px;
}
```

Input:
```css
.select {
  border: 1px solid #000000;
  border-radius: 16.8653px;
  padding: 14.0544px 56.2176px 14.0544px 28.1088px;
  background: transparent;
  font-size: 16.8653px;
}
```

9. Summary

TL;DR — Opera’s design system is crisp, confident, and tuned for visibility. Heavy typography, bold violet-blue CTAs, and generous rounded corners make it approachable without losing its tech edge.

Brand Keywords:

  • bold-minimalist
  • tech-humanist
  • high-contrast
  • precision-rounded