Design System

Brand & Design
Guidelines

Everything you need to build, extend, and represent Porashona consistently. Tokens, components, patterns, and principles from our design system.

Color System

Our palette is warm and approachable, pairing earthy neutrals with vibrant accents. Every color is referenced by token name throughout the codebase.

Primary Accent

accentOrange
#EB4C1C
Buttons, links, icons, CTA
accentOrangeHover
#D43E12
Pressed/hover states

Accent Colors

accentGreen
#4CAF50
Correct answers, success
accentGreenDark
#3D7D58
Dark green text on green bg
accentBlue
#2196F3
Info, links on dark
accentPurple
#9C27B0
Decorative, avatars
indigo
#6366F1
Multiplayer gradient start
indigoEnd
#8B5CF6
Multiplayer gradient end

Backgrounds

background
#FFFFFF
Scaffold, primary bg
backgroundWarmLight
#FAF8F6
Alternate sections
backgroundWarm
#CDC3BB
Headers, warm surfaces
backgroundGradient
#D5CCC4 → #C4B9B0
Gradient headers
cardGrey
#F9F9F9
Input fills, shimmer base
cardSecondary
#F7F5F3
Secondary card bg

Soft Tints

Used as feature card backgrounds, chip fills, and gentle highlights. Each pairs with a matching accent for text and icons.

softPink
#F8F2F5
AI Tutor, wrong answer
softGreen
#E4EFE9
Correct answer, selected
orangeSoft
#FFF3ED
Track Progress feature
blueSoft
#EDF4FD
All Exams feature
purpleSoft
#EDE9F8
Avatars, decorative

Text Colors

Aa
textMain
#111111
Headings, primary labels
Aa
textPrimary
#1A1A1A
Body text, paragraphs
Aa
textSecondary
#666666
Descriptions, subtitles
Aa
textTertiary
#999999
Timestamps, placeholders
Aa
textGreen
#2D523E
Text on green soft bg

Status Colors

success
#28A745
error
#DC3545
warning
#FFC107

Borders & Glows

borderLight
#EAEAEA
borderMedium
#DDDDDD
pinkGlow / greenGlow
25% / 20% opacity

Gradients

Gradients are a core part of the Porashona visual identity. We layer animated multi-color gradients with floating soft-color blobs to create depth and warmth. Every gradient uses our brand accent and soft tint palettes.

Hero Background Gradient

The primary background gradient flows through five colors at a 160-degree angle. It animates over a 20-second cycle, creating a gentle, living canvas.

Property Value Notes
direction 160deg Diagonal, top-left to bottom-right
colors beige-lighter, white, orange-soft, purple-soft, blue-soft Five-stop gradient using soft tints
background-size 400% 400% Oversized for animation travel
animation heroGradient 20s ease-in-out infinite Slowest layer, sets the base tempo
background: linear-gradient(160deg,
  var(--beige-lighter),
  var(--white),
  var(--orange-soft),
  var(--purple-soft),
  var(--blue-soft)
);
background-size: 400% 400%;
animation: heroGradient 20s ease-in-out infinite;

@keyframes heroGradient {
  0%, 100% { background-position: 0% 0%; }
  25%      { background-position: 100% 0%; }
  50%      { background-position: 100% 100%; }
  75%      { background-position: 0% 100%; }
}

Accent Text Gradient

Applied to headline accent words using background-clip: text. Uses the four primary accent colors and cycles over 12 seconds. This is the most vibrant gradient in the system.

Study Smart
Property Value Notes
colors orange, purple, blue, green, orange Full accent palette, wraps back to start
background-size 300% 300% Moderately oversized
animation accentShift 12s ease-in-out infinite Medium tempo for readable text
background: linear-gradient(135deg,
  var(--orange), var(--purple),
  var(--blue), var(--green),
  var(--orange)
);
background-size: 300% 300%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: accentShift 12s ease-in-out infinite;

@keyframes accentShift {
  0%, 100% { background-position: 0% 50%; }
  25%      { background-position: 50% 0%; }
  50%      { background-position: 100% 50%; }
  75%      { background-position: 50% 100%; }
}

Button Gradient

Primary CTA buttons use a three-color gradient with a faster 8-second cycle. This creates visual energy and draws attention to key actions.

Get Started
Property Value Notes
colors orange, purple, blue, orange Three accent colors, wrapping
background-size 300% 300% Same as accent text
animation btnGradient 8s ease-in-out infinite Fastest layer, draws attention
background: linear-gradient(135deg,
  var(--orange), var(--purple),
  var(--blue), var(--orange)
);
background-size: 300% 300%;
animation: btnGradient 8s ease-in-out infinite;

@keyframes btnGradient {
  0%, 100% { background-position: 0% 50%; }
  33%      { background-position: 50% 100%; }
  66%      { background-position: 100% 0%; }
}

Eyebrow Badge Gradient

The eyebrow badge above the hero title uses all four soft tints in a gentle shifting gradient. This is the subtlest animated gradient, designed for small UI elements.

NOW IN BETA
Property Value Notes
colors orange-soft, purple-soft, blue-soft, green-soft, orange-soft Soft tints only, wrapping
animation eyebrowShift 16s ease-in-out infinite Slow, gentle pace

Floating Blobs

The hero background includes four circular shapes with heavy blur (80px) that float and shift colors. Each blob has its own animation with different timing to prevent synchronization.

Blob Size / Position Animation
shape-1 550px, top-right glowDrift1, 10s. orange-soft to pink-soft to purple-soft
shape-2 450px, bottom-left glowDrift2, 13s. green-soft to blue-soft
shape-3 350px, right glowDrift3, 16s. purple-soft to blue-soft to orange-soft
shape-4 400px, bottom-right glowDrift4, 14s. blue-soft to green-soft to pink-soft

Animation Timing Hierarchy

All gradient animations use ease-in-out easing. Timing is deliberately staggered to create layered movement where no two elements sync up.

8s Button gradient. Fastest, draws attention
10s Blob 1. Fast drift
12s Accent text. Medium tempo for readability
13s Blob 2
14s Blob 4
16s Eyebrow badge and Blob 3
20s Hero background. Slowest, anchors the scene

Usage Guidelines

Do

Use soft tints (orange-soft, purple-soft, blue-soft, green-soft) for background gradients. Reserve full accent colors for text and buttons.

Do

Keep animation durations between 8s and 20s. Stagger timing across layers so nothing syncs up.

Don't

Use gradients on body text or small UI elements where they reduce readability.

Don't

Animate gradients faster than 8s. Quick animations feel jarring and distract from content.

OG Image

The OG image uses the same multi-color gradient system as the homepage hero, with the logo and wordmark in black. This keeps social media previews visually consistent with the live site experience.

Typography

We use two font families. Playfair Display brings scholarly character to headings, while Inter provides clean readability for everything else.

Headings

Playfair Display

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789

Body & UI

Inter

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789

Type Scale

Heading 1
heading1 Playfair Display / 32px / Regular / -0.5 tracking
Heading Medium
headingMedium Inter / 22px / SemiBold
Heading 2
heading2 Playfair Display / 20px / Regular / 1.3 height
Heading Small
headingSmall Inter / 18px / SemiBold
Question text goes here
questionText Inter / 18px / SemiBold / -0.01em / 1.3 height
Body large paragraph text for longer reading content.
bodyLarge Inter / 15px / Regular / 1.5 height
Body medium for labels and UI text
bodyMedium Inter / 14px / Medium
Body small for secondary info
bodySmall Inter / 12px / Medium / textSecondary
Label large text
labelLarge Inter / 14px / Medium / textSecondary
Label Tag
labelTag Inter / 11px / SemiBold / 0.5 tracking / uppercase / textTertiary
EYEBROW TEXT
eyebrow Inter / 11px / SemiBold / 0.05em tracking / textMain
Button Label
button Inter / 14px / SemiBold / white

Tone of Voice

Porashona speaks like a smart friend, not a textbook. Our voice is encouraging, conversational, and clear.

Friendly, not childish

We respect our users as serious students while keeping things approachable and warm.

Confident, not arrogant

We know our product is great. We let the experience speak for itself.

Clear, not oversimplified

We explain things directly without dumbing them down.

Brand Rules

Do

Refer to the product as "PorashonaOnline" or "PO" in abbreviation.

Do

Use Playfair Display for headings and Inter for body text in all materials.

Don't

Use formal or corporate language in user-facing copy.

Don't

Use off-brand fonts, colors, or icon styles.

For press inquiries, partnership assets, or questions about brand usage, reach out at [email protected].