Imgsmail Brand Design System Deep Dive
1. Brand Overview
Imgsmail, operating via mail.ru, feels like a legacy internet giant that’s kept its core identity while polishing its visual language for modern UI expectations. The site is built for mass daily use — fast-loading, no-nonsense, but with enough design structure to feel cohesive across an ecosystem of products. This isn't a "wow" design; it's a "trust me, I work every day" design.
The vibe is utilitarian with a splash of corporate friendliness. Blue is everywhere — a bright, saturated blue (#0070f0 and variants) that screams "click me" in an interface full of neutrals. It’s an action color, used for links, CTAs, and login buttons. White and gray backgrounds dominate the canvas, giving the blue the contrast it needs.
Typography is clean and sans-serif, with a clear preference for the custom VKSansDisplay family. Even fallback stacks are considered — MailSans, Helvetica, Arial — meaning the system degrades gracefully across environments. The type scale is tight, no ornamental giant headers. This is about density and efficiency — you can see they’re optimizing for screen real estate over drama.
Spacing is mostly on an 8px grid, but they sneak in smaller increments (2px, 4px, 6px) for micro-alignment. This is a sign of a design team that’s balancing pixel-perfect precision with the reality of dense content. Border radii are consistent — 8px for most interactive elements, 12px and 20px for larger cards and modules.
The shadow system is subtle: low-opacity, large-blur shadows (rgba(0, 16, 61, 0.06) 0px 6px 20px) for depth without screaming skeuomorphism. Components are practical: blue-filled buttons, blue-outlined secondary buttons, white tertiary buttons. Link styles are stripped of underlines, relying solely on color to signal interactivity — fine in a controlled UI, but risky for accessibility.
Overall: Imgsmail's design system is built for speed, clarity, and familiarity. It’s not chasing trends; it’s refining a well-oiled machine.
2. Color System
2.1 Primary Colors
The main brand blue is #0070f0 (rgb(0, 112, 240)), supported by close cousins like #0077ff and #0073f7 for hover/focus. This blue is saturated, leaning slightly toward cyan, which keeps it friendly and energetic without tipping into pure corporate navy.
Psychologically, this blue signals trust, reliability, and immediacy. Compared to Gmail’s red or Outlook’s deeper blue, Imgsmail’s choice stands out as brighter and more clickable — more consumer-facing than enterprise.
White (#ffffff) is the semantic primary background, keeping the interface bright. Neutrals like #87898f, #a5a7ad, and #797a80 handle secondary text, icons, and disabled states. Green (#0dc268) and red (#ed330a) are reserved for status — success and error.
2.2 Complete Palette
| Color Name | Hex | Role | Usage |
|---|---|---|---|
| Brand Blue | #0070f0 | Primary | Links, CTAs, buttons |
| Action Blue Hover | #0077ff | Primary hover | Login button hover |
| Action Blue Focus | #0073f7 | Focus state | Hover/focus outlines |
| Black | #000000 | Text | Rare solid text, icons |
| Gray 1 | #87898f | Secondary text | Item content |
| Gray 2 | #a5a7ad | Neutral | UI chrome |
| Gray 3 | #797a80 | Neutral | Medium-confidence elements |
| Green | #0dc268 | Status | Success states |
| Teal | #087c6d | Accent | Occasional accent |
| Red | #ed330a | Status | Error states |
| Midnight Overlay | #00103d (rgba 0.04 alpha) | Overlay | Hover/focus effects |
| Deep Gray | #2c2d2e | Text primary | Invariably primary text |
| Transparent Blue Active | #005ff9 (rgba 0.14 alpha) | Overlay | Hover/focus effects |
| White | #ffffff | Background | Main page, buttons |
| Portal Lime | #97E946 | Accent | Lime palette |
| Purple Accent | #8C64FF | Accent | Purple-themed text |
| Accent Orange | #FF9E00 | Status | Alternative accent |
| Accent Orange Hover | #F59802 | Status hover | Alternative hover |
| Accent Yellow | #FFEFE6 / rgba(255, 199, 0, 1) | Accent | Backgrounds |
| Purple Sweet | #F2E8FF | Accent | Soft background |
| Tooltip Blue Tint | #DDE9FF | Tooltip bg | Info tooltips |
| Tooltip Text Blue | #1C4479 | Tooltip text | Info tooltips |
| Background Secondary | #F0F1F3 | Surface | Secondary BG |
| Background Secondary Hover | #E6E8EC | Surface hover | Hovered cards |
| Background Positive Tint | #ECFAF3 | Status | Positive BG |
| Background Negative Tint | #FEEFEB | Status | Negative BG |
| Background Sky | #CCE4FF | Accent BG | Sky background |
| Background Dark | #19191A | Dark mode surfaces | Dark containers |
(Only listed once here, but note many more semantic tokens in CSS variables.)
2.3 Color Relationships
Blue and white form the high-contrast core. Blue buttons on white backgrounds meet WCAG AA easily — lightness contrast is strong. Blue text on white is fine, but low-weight gray text (#87898f) on white is borderline for small sizes — risk for accessibility in captions.
Dark mode tokens exist (#19191A background, rgba(48,48,48,1) modal inverse), but the site defaults to light mode.
2.4 Usage Guide
- Use brand blue only for interactive elements. Don't drown static UI in blue — it loses clickability.
- Pair blue text with white background for clarity.
- Status colors (green/red) should not be used for decorative accents — keep them functional.
- Avoid low-contrast gray on white for body copy; reserve for labels or metadata.
3. Typography
3.1 Font Families
Primary: VKSansDisplay — custom, clean sans-serif.
Fallbacks: MailSans, Helvetica, Arial — safe web fonts.
Secondary usage: Helvetica direct for some link/caption contexts.
No Google or Adobe Fonts — this is a custom stack.
3.2 Type Scale
| Element | Font | Size | Weight | Line Height |
|---|---|---|---|---|
| Heading 1 | VKSansDisplay | 28px | 500 | 1.29 |
| Heading 1 | VKSansDisplay | 24px | 700 | 1.17 |
| Heading 1 | VKSansDisplay | 20px | 500 | 1.30 |
| Button | VKSansDisplay | 17px | 500 | - |
| Heading 1 | VKSansDisplay | 17px | 500 | 1.18 |
| Link | VKSansDisplay | 17px | 500 | 1.29 |
| Heading 1 | VKSansDisplay | 16px | 400 | 1.38 |
| Link | VKSansDisplay | 15px | 400 | 1.33 |
| Link | VKSansDisplay | 15px | 500 | 1.33 |
| Button | VKSansDisplay | 15px | 500 | 1.33 |
| Heading 1 | VKSansDisplay | 15px | 500 | 1.33 |
| Link | Helvetica | 15px | 400 | 1.33 |
| Heading 1 | VKSansDisplay | 15px | 500 | 1.33 |
| Heading 1 | Helvetica | 15px | 400 | 1.33 |
| Button | Helvetica | 15px | 400 | 1.33 |
| Link | VKSansDisplay | 14px | 500 | 1.29 |
| Caption | VKSansDisplay | 14px | 400 | 1.29 |
| Button | Helvetica | 13.3333px | 400 | - |
| Caption | Helvetica | 13px | 400 | 1.38 |
| Link | Helvetica | 13px | 400 | 1.38 |
| Caption | VKSansDisplay | 13px | 400 | 1.38 |
| Caption | VKSansDisplay | 11px | 400 | 1.27 |
3.3 Hierarchy
They use small increments between type sizes — 28px down to 24px down to 20px for headings. This keeps hierarchy subtle but efficient. Buttons and links sit at 15–17px, making them readable without overpowering the layout. Captions drop to 11–14px, clearly differentiated.
Weights shift between 400 and 500 frequently — bold is rare outside key headings. This maintains a calm visual tone.
4. Spacing & Layout
4.1 Spacing Scale
Base: 8px grid, but with micro-increments.
| Value | Count | Notes |
|---|---|---|
| 2px | 45 | Hairline gaps, icon offsets |
| 3px | 3 | Rare fine-tune spacing |
| 4px | 41 | Small padding, inline gaps |
| 6px | 47 | Button vertical padding |
| 8px | 36 | Default small padding |
| 9px | 14 | Specific component fit |
| 10px | 6 | Input/button padding |
| 12px | 17 | Medium padding |
| 14px | 3 | Specific layout |
| 15px | 1 | Rare |
| 16px | 11 | Card padding |
| 20px | 5 | Section gaps |
| 24px | 1 | Large spacing |
| 32px | 1 | Hero sections |
| 70.5px | 2 | Odd — probably image heights |
4.2 Layout
Breakpoint: 1100px — likely main container width.
Responsive approach: One large breakpoint, with mobile adjustments below 1100px.
5. Visual Elements
Border Radius
| Value | Count | Elements |
|---|---|---|
| 6px | 4 | div |
| 8px | 61 | a, button, div, image |
| 10px | 3 | div, a |
| 12px | 17 | div, image, a, button |
| 20px | 11 | a, div |
| 50% | 3 | div (avatars) |
Pills? No full 9999px, but 50% for circular avatars.
Shadows
Main: rgba(0, 16, 61, 0.06) 0px 6px 20px — soft, large blur.
Others: Slightly darker, tighter shadows for modals or overlays.
Borders
Few borders — mostly 1px solid #0077ff for outlined buttons.
6. Components
6.1 Buttons
Primary (Login)
Default: bg #0077ff, text #ffffff, padding 0px 20px, radius 8px, no border.
Hover: bg initial — odd, probably overridden by script/state.
Secondary (Outlined)
Default: transparent bg, text #0070f0, padding 8px 16px, radius 8px, border 1px solid #0077ff.
Hover: text #005bd1, bg rgba(39, 43, 55, 0.3) — semi-transparent overlay.
Tertiary (Gray)
Default: bg rgba(0, 16, 61, 0.06), text #2c2d2e, padding 6px 14px, radius 8px.
White Button
Default: bg #ffffff, text #2c2d2e, padding 8px 16px, radius 8px.
6.2 Links
No underlines. Color signals only.
Variants:
- Dark gray text (
#2c2d2e) — body links - Blue (
#0070f0) — primary links - White (
#ffffff) — dark background links - Light gray (
#87898f) — secondary links
6.3 Forms
No data on inputs — likely standard Vuetify with custom colors.
6.4 Cards
Shadows: main shadow rgba(0, 16, 61, 0.06).
Radius: 8–12px.
Padding: multiples of 8px.
7. Design Tokens (CSS Custom Properties)
:root {
/* Colors */
--color-primary: #0070f0;
--color-primary-hover: #0077ff;
--color-primary-focus: #0073f7;
--color-black: #000000;
--color-gray-1: #87898f;
--color-gray-2: #a5a7ad;
--color-gray-3: #797a80;
--color-green: #0dc268;
--color-teal: #087c6d;
--color-red: #ed330a;
--color-midnight-overlay: rgba(0, 16, 61, 0.04);
--color-deep-gray: #2c2d2e;
--color-transparent-blue-active: rgba(0,95,249,0.14);
--color-white: #ffffff;
--color-lime: #97E946;
--color-purple: #8C64FF;
--color-orange: #FF9E00;
--color-orange-hover: #F59802;
--color-yellow: #FFEFE6;
--color-yellow-accent: rgba(255, 199, 0, 1);
--color-purple-sweet: #F2E8FF;
--color-tooltip-blue-tint: #DDE9FF;
--color-tooltip-text-blue: #1C4479;
--color-bg-secondary: #F0F1F3;
--color-bg-secondary-hover: #E6E8EC;
--color-bg-positive-tint: #ECFAF3;
--color-bg-negative-tint: #FEEFEB;
--color-bg-sky: #CCE4FF;
--color-bg-dark: #19191A;
/* Typography */
--font-primary: 'VKSansDisplay', 'MailSans', 'Helvetica', 'Arial';
--font-secondary: 'Helvetica', 'Arial';
/* Spacing */
--space-2: 2px;
--space-3: 3px;
--space-4: 4px;
--space-6: 6px;
--space-8: 8px;
--space-9: 9px;
--space-10: 10px;
--space-12: 12px;
--space-14: 14px;
--space-15: 15px;
--space-16: 16px;
--space-20: 20px;
--space-24: 24px;
--space-32: 32px;
--space-70_5: 70.5px;
/* Radius */
--radius-6: 6px;
--radius-8: 8px;
--radius-10: 10px;
--radius-12: 12px;
--radius-20: 20px;
--radius-full: 50%;
/* Shadows */
--shadow-lg: rgba(0, 16, 61, 0.06) 0px 6px 20px 0px;
--shadow-md: rgba(18, 25, 43, 0.12) 0px 4px 12px 0px;
--shadow-deep: rgba(0, 16, 61, 0.12) 0px 10px 24px 0px;
--shadow-xdeep: rgba(0, 16, 61, 0.28) 0px 16px 48px 0px;
}8. AI Coding Assistant Prompt
# Imgsmail Design System Specification
You are an Imgsmail design expert. Build UIs matching their visual language exactly.
## Brand Context
Imgsmail's design system is functional, dense, and optimized for daily high-frequency use. Bright saturated blues drive interaction, supported by clean sans-serif typography and subtle shadows. White backgrounds and controlled neutrals keep the interface calm.
## Color Palette
- Primary Blue: #0070f0 — Links, CTAs, primary buttons
- Action Blue Hover: #0077ff — Login button hover
- Action Blue Focus: #0073f7 — Focus outlines
- Black: #000000 — Strong text/icons
- Gray 1: #87898f — Secondary text
- Gray 2: #a5a7ad — Neutral UI elements
- Gray 3: #797a80 — Medium emphasis neutrals
- Green: #0dc268 — Success states
- Teal: #087c6d — Accent
- Red: #ed330a — Errors
- Midnight Overlay: rgba(0, 16, 61, 0.04) — Hover/focus overlay
- Deep Gray: #2c2d2e — Primary text
- Transparent Blue Active: rgba(0,95,249,0.14) — Hover/focus overlay
- White: #ffffff — Backgrounds
- Lime: #97E946 — Accent
- Purple: #8C64FF — Accent purple
- Orange: #FF9E00 — Alternative accent
- Orange Hover: #F59802 — Alternative hover
- Yellow: #FFEFE6 — Accent background
- Yellow Accent: rgba(255, 199, 0, 1) — Accent
- Purple Sweet: #F2E8FF — Soft background
- Tooltip Blue Tint: #DDE9FF — Tooltip bg
- Tooltip Text Blue: #1C4479 — Tooltip text
- Background Secondary: #F0F1F3 — Secondary surfaces
- Background Secondary Hover: #E6E8EC — Hovered cards
- Background Positive Tint: #ECFAF3 — Positive bg
- Background Negative Tint: #FEEFEB — Negative bg
- Background Sky: #CCE4FF — Sky bg
- Background Dark: #19191A — Dark mode surfaces
## Typography
Fonts:
- Primary: 'VKSansDisplay', 'MailSans', 'Helvetica', 'Arial'
- Secondary: 'Helvetica', 'Arial'
Type Sizes:
| Level | Size | Weight | Line Height | Use For |
|-------|------|--------|-------------|---------|
| H1 | 28px | 500 | 1.29 | Page titles |
| H1 | 24px | 700 | 1.17 | Section headings |
| H1 | 20px | 500 | 1.30 | Smaller headings |
| Button | 17px | 500 | - | Primary actions |
| Link | 17px | 500 | 1.29 | Navigation |
| Body | 16px | 400 | 1.38 | Text |
| Link | 15px | 400 | 1.33 | Secondary links |
| Button | 15px | 500 | 1.33 | Secondary actions |
| Caption | 14px | 400 | 1.29 | Metadata |
| Caption | 13px | 400 | 1.38 | Meta text |
| Caption Small | 11px | 400 | 1.27 | Tiny labels |
## Spacing & Grid
Base: 8px grid
Scale: 2px, 3px, 4px, 6px, 8px, 9px, 10px, 12px, 14px, 15px, 16px, 20px, 24px, 32px, 70.5px
Use for: button padding, card spacing, section gaps
## Border Radius
- sm: 6px — small divs
- md: 8px — buttons, cards
- lg: 12px — modals, large cards
- xl: 20px — larger modules
- full: 50% — avatars
## Shadows & Depth
- Main: rgba(0, 16, 61, 0.06) 0px 6px 20px
- Medium: rgba(18, 25, 43, 0.12) 0px 4px 12px
- Deep: rgba(0, 16, 61, 0.12) 0px 10px 24px
- Extra Deep: rgba(0, 16, 61, 0.28) 0px 16px 48px
## Component Specifications
### Primary Button
```css
.btn-primary {
background: #0077ff;
color: #ffffff;
padding: 0px 20px;
border-radius: 8px;
border: none;
font-weight: 500;
font-size: 15px;
transition: background 150ms ease;
}
.btn-primary:hover { background: initial; }
```
### Secondary Button
```css
.btn-secondary {
background: transparent;
color: #0070f0;
padding: 8px 16px;
border-radius: 8px;
border: 1px solid #0077ff;
font-weight: 500;
font-size: 15px;
}
.btn-secondary:hover {
color: #005bd1;
background-color: rgba(39, 43, 55, 0.3);
}
```
### Card
```css
.card {
background: #ffffff;
border-radius: 12px;
padding: 16px;
box-shadow: rgba(0, 16, 61, 0.06) 0px 6px 20px;
}
```
## Layout & Responsive Rules
Max content width: 1100px
Page padding: 16px (mobile) / 32px (desktop)
Grid gap: multiples of 8px
## Interaction Rules
- Transitions: 150ms ease for state changes
- Focus indicators: use brand blue outlines
- Loading states: dim opacity
## DO List
- Use only colors from palette
- Maintain 8px grid
- Use VKSansDisplay for headings
- Keep button radii at 8px
- Reserve status colors for functional states
## DON'T List
- Don't invent new colors
- Don't mix sharp and rounded corners
- Don't drop underlines without color contrast
- Don't overuse shadows — keep subtle
## Code Examples
```css
/* Primary Button */
.btn-primary { background: #0077ff; color: #ffffff; padding: 0 20px; border-radius: 8px; }
/* Secondary Button */
.btn-secondary { background: transparent; color: #0070f0; border: 1px solid #0077ff; }
/* Card */
.card { background: #fff; border-radius: 12px; padding: 16px; box-shadow: rgba(0,16,61,0.06) 0px 6px 20px; }
```9. Summary
TL;DR — Imgsmail's design system is a workhorse: bright blue for action, white and gray for calm, tight sans-serif typography, and an 8px grid for consistency. Nothing ornamental, everything functional.
Brand Keywords
- utilitarian-corporate
- blue-driven
- density-optimized
- functional-minimalist
- trust-first