Library

Build Assets

Reusable design artifacts extracted from the library - UI components, checklists, hero patterns, and brand guidelines ready to apply.

101 assets across 5 types

Primary Button

UI Component

Main call-to-action button for the single most important action on a surface.

States
• Default: solid brand background, white/dark label
• Hover: 10% darker background (use HSB brightness -10)
• Active/Pressed: 20% darker background
button · ctadesign systems →

Text Input

UI Component

Single-line text field for user-entered data with label, placeholder, and validation states.

States
• Default: border var(--color-border)
• Focus: border var(--color-accent), focus ring
• Filled: same as default, content visible
form · inputux psychology →

Content Card

UI Component

Container for a discrete piece of content with optional action - the most reusable pattern in any product.

States
• Default: white background, 1px border
• Hover (if interactive): border accent color, slight elevation
• Selected: accent border, light accent background tint
card · contentdesign systems →

Modal / Dialog

UI Component

Focused overlay for decisions, confirmations, or short forms that require immediate attention.

States
• Open: scrim visible, container centered with entrance animation
• Closing: fade out scrim + slide down container (150ms)
• Scroll: body scrolls independently when content exceeds max-height
modal · dialogpractical ui →

Toast Notification

UI Component

Non-blocking feedback message that appears briefly after a user action.

States
• Entering: slide up from bottom-right + fade in (200ms)
• Visible: static, 3–5s auto-dismiss timer
• Exiting: fade out + slide down (150ms)
toast · notificationux psychology →

Empty State

UI Component

Designed placeholder when a list, table, or view has no content yet.

States
• First-use: user has never added content - focus on value promise
• No results: filtered/searched view returned nothing - show clear filter path
• Error: failed to load - show retry action
empty-state · zero-statepractical ui →

Navigation Sidebar

UI Component

Persistent vertical navigation for multi-section products with 5+ destinations.

States
• Default: all items visible, active item highlighted
• Hover: background color shift (--color-bg-hover)
• Active: accent left border or filled pill background
navigation · sidebarux psychology →

Badge / Tag

UI Component

Compact label for status, category, count, or metadata.

States
• Default: static, read-only label
• Interactive (clickable): hover background shift, cursor pointer
• Removable: × button visible on hover or always
badge · tagux psychology →

Toggle Switch

UI Component

Binary on/off control for settings that take immediate effect.

States
• Off: grey track, left-positioned thumb
• On: accent-color track, right-positioned thumb, smooth slide transition (200ms)
• Focused: visible focus ring around track
toggle · switchpractical ui →

Tabs

UI Component

Horizontal navigation between related content sections within the same context.

States
• Default: grey text, no underline
• Active: dark text, accent underline
• Hover: darker text, subtle background
tabs · navigationux psychology →

Skeleton Loader

UI Component

Animated placeholder that mirrors the shape of loading content.

States
• Loading: shimmer animation active
• Loaded: replaced by real content (no transition needed)
• Error: replaced by error state
skeleton · loadingux psychology →

Pagination

UI Component

Navigation control for moving through paged content sets.

States
• Current page: filled accent background, not clickable
• Adjacent pages: text only, hover background
• Prev/Next disabled: 40% opacity, not clickable
pagination · navigationux psychology →

Dropdown / Select

UI Component

Single-choice selector for 5–15 options that would clutter the layout as radio buttons.

States
• Closed: trigger button with current value or placeholder
• Open: panel visible below (or above if near viewport bottom), trigger focused
• Option hover: background highlight
dropdown · selectux psychology →

Tooltip

UI Component

Contextual label that appears on hover/focus to clarify a UI element.

States
• Hidden: invisible, no space reserved
• Visible: fade in (150ms) after 300ms hover delay
• Focus-visible: shown immediately on keyboard focus (no delay)
tooltip · hintpractical ui →

Radio Button Group

UI Component

Mutually exclusive single-choice selector where all options are visible simultaneously.

States
• Unselected: empty circle with grey border
• Selected: outer circle accent border, filled inner disc
• Focused: visible focus ring around the radio + label
radio · formux psychology →

Data Table

UI Component

Structured rows and columns for comparing, scanning, and acting on multiple records.

States
• Default: clean rows, no hover
• Row hover: subtle background shift
• Row selected: accent left border or checkbox checked
table · datadesign systems →

Breadcrumb

UI Component

Navigation trail showing the user's location within a hierarchy.

States
• Default: secondary color links, dividers, non-linked current page
• Link hover: underline or accent color
• Truncated: middle items collapsed to "…" on mobile with expand tap
breadcrumb · navigationux psychology →

Stepper / Wizard

UI Component

Multi-step flow indicator that shows progress through a sequential process.

States
• Completed: filled accent circle, checkmark icon
• Current: accent border circle, accent number, animated entrance
• Upcoming: grey empty circle, grey number/icon
stepper · wizardux psychology →

Checkbox Group

UI Component

Multi-select input where users can choose any number of options simultaneously.

States
• Unchecked: empty square with grey border
• Checked: accent fill, white ✓
• Indeterminate: accent fill, white - (dash)
checkbox · formux psychology →

Search Input

UI Component

Specialized text input for querying content with clear, loading, and results feedback.

States
• Empty: magnifier icon, placeholder text, optional shortcut hint
• Focused: border accent, placeholder dimmed
• Has value: text + clear × button visible
search · inputux psychology →

Accordion

UI Component

Collapsible sections for progressive disclosure of related content groups.

States
• Collapsed: header visible, panel hidden, chevron pointing down
• Expanded: header active (slight bg tint), panel visible, chevron pointing up
• Focused: visible focus ring on header
accordion · collapsepractical ui →

Notification Bell

UI Component

Icon button with unread count badge that opens a notification dropdown.

States
• No unread: bell icon only, no badge
• Unread 1–9: red circle badge with number
• Unread 10+: "9+" or "99+" pill badge
notifications · bellux psychology →

Progress Bar

UI Component

Linear indicator of completion for determinate and indeterminate processes.

States
• Determinate: fill width = % complete, transitions smoothly
• Indeterminate: animated sweep from left to right, loops
• Complete: 100% fill, optional color change to success green
progress · loadingux psychology →

Avatar

UI Component

User or entity representation - image, initials fallback, and group stack.

States
• Image loaded: circular photo
• Image error/missing: initials on colored background
• No name: generic user icon on grey background
avatar · userdesigning brand identity →

File Upload

UI Component

Drag-and-drop + click file selection with progress, validation, and error states.

States
• Idle: dashed border, grey icon, instruction text
• Drag over: solid accent border, light accent background
• File selected: file preview rows below zone
file-upload · drag-droppractical ui →

Date Picker

UI Component

Calendar overlay for selecting single dates or date ranges.

States
• Trigger closed: input shows formatted date or placeholder
• Open: calendar panel below (or above near viewport bottom)
• Day hover: light accent background
date-picker · calendarux psychology →

Slider

UI Component

Draggable control for selecting a value from a continuous or stepped range.

States
• Default: neutral track, accent fill, resting thumb
• Hover: thumb grows slightly, cursor grab
• Focus: 2px focus ring around the thumb for keyboard users
form · inputpractical ui →

Alert

UI Component

Inline, persistent message that communicates the status of a task or the state of the system.

States
• Info: neutral/blue tint, informational icon
• Success: green tint, check icon
• Warning: amber tint, triangle icon
feedback · statusux psychology →

Popover

UI Component

Floating panel anchored to a trigger, holding rich content or controls without leaving the page.

States
• Closed: not rendered / display none
• Open: panel visible, focus moved inside (or to first focusable)
• Repositioned: flips side when the preferred placement overflows the viewport
overlay · floatingdesign systems →

Chip

UI Component

Compact, interactive token representing an input, attribute, filter, or selection.

States
• Default: neutral background, resting
• Hover: slightly darker background (if interactive)
• Selected: accent background + accent text (filter chips)
token · filterdesign systems →

Segmented Control

UI Component

A linear set of mutually exclusive options shown together for quick switching between views or modes.

States
• Default: all segments neutral, one selected
• Selected: raised/filled segment, stronger text color
• Hover (unselected): text color strengthens
control · toggleux psychology →

Single Document Upload

UI Component

One-file drag-and-drop + click picker with a type-aware preview, validation, progress and error states.

States
• Idle: dashed border, grey icon
• Drag over: solid accent border, light accent background
• Selected: preview replaces the zone
file-upload · drag-droppractical ui →

Multiple Documents Upload

UI Component

Drag-and-drop + click picker for many files, each row with its own preview, progress and error.

States
• Idle / drag over (accent border)
• At limit: zone disabled once max files reached
• Per file: uploading (progress), complete (check), error (red + reason)
file-upload · drag-dropux psychology →

Photo Upload

UI Component

Image-only picker with a live thumbnail preview in a square, circular avatar, or wide cover frame.

States
• Empty: placeholder icon inside a dashed frame
• Drag over: accent border + light accent background
• Preview: image fills the frame (solid border)
image-upload · avatarux psychology →

Documents Table

UI Component

A data-table preset for stored files: type icon + name, type, size, uploader/date, status, and row actions.

States
• Loading: skeleton rows
• Empty: blank state ("Uploaded files will appear here")
• Per row: status shown as icon + text + color
table · documentsdesign systems →

Document Request List

UI Component

A predefined checklist of required documents, each row with its own upload control, status, and preview.

States
• Missing: neutral status, Upload button
• Uploading: progress + spinner
• Uploaded: check status, View/Replace/Remove
upload · checklistux psychology →

Document Viewer

UI Component

A responsive, type-aware preview: images, PDFs, CSV & Excel spreadsheets as a table, text, and video/audio, with a download fallback.

States
• Loading: spinner while text/CSV is read
• Rendered: image, PDF, spreadsheet table, or text by type
• Unsupported: file card with a Download action
preview · viewerpractical ui →

Multi-Step Form

UI Component

A wizard that splits a long form into ordered steps with a progress indicator and Back/Next/Finish navigation.

States
• Per step: upcoming, current (highlighted), completed (check)
• Next/Finish disabled until the current step is valid
• Completed steps can be revisited by clicking the indicator
form · wizardux psychology →

Color Contrast Check

ChecklistCritical

Verify all text meets WCAG AA contrast minimums before shipping.

All body text meets 4.5:1 contrast ratio; large text (18pt+ or 14pt bold) meets 3:1; UI components and focus indicators meet 3:1.
accessibility · colorpractical ui →

Touch Target Size

ChecklistCritical

All interactive elements are large enough to tap accurately on mobile.

Every tappable element has a minimum 44×44px touch target. Small visual elements (icons, links) use invisible padding to meet the minimum.
accessibility · mobileux psychology →

Color Is Not the Only Signal

ChecklistCritical

Every meaning conveyed by color is also conveyed by a second signal (icon, label, pattern).

Error states use icon + color + text (never color alone). Status indicators use icon or label alongside color. Charts use pattern or shape in addition to color.
accessibility · color-blindnesspractical ui →

Empty States Defined

ChecklistImportant

Every list, table, and data view has a designed empty state.

Every view that can be empty (no data, no results, first-time user) has a designed empty state with: an explanation of why it's empty, and a clear next action.
empty-state · contentpractical ui →

Keyboard Navigation

ChecklistCritical

All interactive functionality is reachable and operable with keyboard alone.

Tab order follows visual reading order. All interactive elements receive visible focus. No keyboard traps (except intentional modal dialogs). Escape closes modals and dropdowns.
accessibility · keyboardux psychology →

Form Validation UX

ChecklistCritical

Validation errors are shown inline, immediately, with clear corrective guidance.

Validation errors appear inline below the field (not in a summary banner), trigger on blur (not on submit only), use red border + icon + specific message ("Email must include @" not "Invalid email"), and disappear as soon as the user corrects the input.
forms · validationux psychology →

Loading States

ChecklistImportant

Every async operation has a loading state that appears within 400ms.

Every data-fetching view shows a skeleton or spinner within 400ms. Buttons that trigger async actions show a loading state immediately on click. No UI ever appears frozen without feedback.
loading · performanceux psychology →

Error Recovery Paths

ChecklistImportant

Every error state tells users what went wrong and provides a specific next action.

Every error message: (1) states what went wrong in plain language, (2) explains why if not obvious, (3) provides a specific action button (Retry, Go back, Contact support). No error shows only a code or generic "Something went wrong".
errors · recoverypractical ui →

Responsive Breakpoints

ChecklistCritical

All layouts tested and functional at mobile (375px), tablet (768px), and desktop (1280px+).

Every page tested at 375px (iPhone SE), 768px (iPad), and 1280px+. No horizontal scroll at any breakpoint. Touch targets ≥ 44px on mobile. Navigation accessible on all sizes.
responsive · mobilepractical ui →

Image Alt Text

ChecklistCritical

All meaningful images have descriptive alt text; decorative images are marked empty.

All <img> elements have an alt attribute. Meaningful images: alt describes what the image shows and why it matters in context. Decorative images: alt="" (empty string - not "image" or "photo"). Icon buttons: alt text or aria-label describes the action.
accessibility · imagesux psychology →

Focus Management

ChecklistCritical

Focus is managed correctly when UI changes - modals, navigation, dynamic content.

When a modal opens: focus moves to first focusable element inside. When a modal closes: focus returns to the trigger. When a route changes: focus moves to the page heading or skip link. Dynamic content added to DOM: announced via aria-live if important.
accessibility · focusux psychology →

Heading Hierarchy

ChecklistImportant

Page headings follow a logical h1→h2→h3 sequence with no skipped levels.

Every page has exactly one h1 (the page title). Subsections use h2. Sub-subsections use h3. No levels are skipped (no h1 → h3). Heading levels are not chosen for visual size - use CSS for size, HTML for structure.
accessibility · headingspractical ui →

Core Web Vitals

ChecklistImportant

LCP, FID/INP, and CLS scores meet Google's "Good" threshold before launch.

LCP < 2.5s, INP < 200ms, CLS < 0.1. Run Lighthouse in Chrome DevTools on the 3 most-visited pages. Test on throttled mobile (Moto G4 preset). All three scores in "Good" range.
performance · core-web-vitalsux psychology →

Design Handoff Completeness

ChecklistImportant

Developers have everything they need to implement without guessing.

Every design file includes: all interactive states (default, hover, focus, active, disabled, error, loading), exact spacing values (not "about 16px"), component names matching code, and annotation for non-obvious behaviors (animations, conditional visibility, validation logic).
handoff · design-systemdesign systems →

Reduced Motion Support

ChecklistImportant

All animations respect prefers-reduced-motion and have a no-motion fallback.

All CSS animations and transitions are wrapped in a @media (prefers-reduced-motion: no-preference) block, OR individually reduced/removed with @media (prefers-reduced-motion: reduce). Skeleton shimmer, loading spinners, and page transitions all have static fallbacks.
animation · accessibilitydesigning brand identity →

Launch Readiness Checklist

ChecklistCritical

Final verification sweep before shipping to production.

Verify all of: (1) favicon present and correct, (2) page titles and meta descriptions set, (3) 404 page designed, (4) error pages designed (500, offline), (5) no console errors in production build, (6) all external links open in new tab with rel="noopener", (7) forms have success and error states, (8) all images have alt text, (9) no placeholder copy (Lorem ipsum), (10) privacy policy and terms links present if required.
launch · productionpractical ui →

SEO Basics

ChecklistImportant

Essential on-page SEO requirements for public-facing pages.

Every public page has: (1) unique <title> under 60 chars, (2) meta description 120–160 chars, (3) one H1 matching the page intent, (4) descriptive URL slug (no /page?id=42), (5) Open Graph tags for social sharing (og:title, og:description, og:image), (6) canonical URL tag.
seo · metapractical ui →

Internationalisation Readiness

ChecklistImportant

Layouts and strings are ready for translation without breaking.

All UI strings use a translation function or key lookup (not hardcoded English). Layouts accommodate 30% text expansion (German, Finnish expand significantly). Date, time, number, and currency formats use locale-aware formatting. Text containers don't clip at fixed widths. RTL languages don't break layout.
i18n · l10nux psychology →

Content Strategy Basics

ChecklistImportant

UI copy is clear, consistent, and serves user goals - not internal jargon.

All UI strings: (1) use plain language (8th grade reading level for general audiences), (2) are consistent - same action always uses the same verb, (3) use active voice, (4) have no jargon unexplained to new users, (5) use second person ("your") not third ("the user"), (6) button labels are verb-first ("Save changes" not "Changes saved").
content · copyux psychology →

Design System Adoption

ChecklistImportant

All UI elements use system components - no one-off implementations.

Every button, input, modal, toast, badge, and navigation element in production uses the design system component - not a one-off implementation. No hardcoded hex values outside the token file. No arbitrary spacing values. All component names match between Figma and code.
design-system · consistencydesign systems →

Security Basics

ChecklistCritical

Minimum security requirements before shipping a product to users.

Verify all of: (1) HTTPS enforced everywhere with HSTS header, (2) auth tokens stored in httpOnly cookies (not localStorage), (3) all user inputs sanitized before rendering (XSS prevention), (4) CSRF tokens on state-changing forms, (5) sensitive data not logged or exposed in client-side JS, (6) rate limiting on auth endpoints, (7) dependency audit run (npm audit / Dependabot).
security · httpsux psychology →

Typography Audit

ChecklistImportant

Verify type scale, weights, and line lengths are consistent across the product.

Audit confirms: (1) only defined scale sizes in use (no one-off px values), (2) maximum 2 font weights used (regular + bold), (3) body text line-height ≥ 1.5, (4) no line longer than 680px for body text, (5) no pure black (#000) text - use near-black, (6) no light grey text failing 4.5:1 contrast on white.
typography · auditpractical ui →

Color System Audit

ChecklistImportant

Verify no hardcoded hex values exist outside the token file.

Search the codebase for hardcoded hex values (#[0-9a-fA-F]{3,6}) outside the token definition file. Zero should exist in component files. All colors must reference CSS custom properties (var(--color-*)). All color pairs used for text meet WCAG AA.
color · tokensinteraction of color →

Mobile Gesture Support

ChecklistCritical

Touch interactions work correctly and don't conflict with system gestures.

Verify: (1) all tappable elements ≥ 44×44px, (2) horizontal swipe in carousels/drawers doesn't conflict with browser back gesture, (3) no hover-only interactions (hover is unavailable on touch), (4) tap delay eliminated (touch-action: manipulation), (5) scroll areas work with one-finger scroll, (6) pinch-to-zoom not disabled on content pages.
mobile · touchux psychology →

Print Styles

ChecklistNice to have

Pages that users are likely to print render cleanly in print view.

Pages users might print (invoices, reports, reference content, tickets) have a @media print stylesheet that: hides navigation, sidebars, and CTAs; removes background colors; ensures text is black on white; includes the page URL in the footer; breaks pages logically (avoid breaking headings from their content).
print · cssux psychology →

Respect Reduced Motion

ChecklistImportant

Non-essential animation is disabled for users who request reduced motion.

All non-essential motion (parallax, auto-playing carousels, large transforms, bounce/zoom transitions) is removed or dampened when prefers-reduced-motion: reduce is set. Essential motion is reduced to a simple fade.
accessibility · motionux psychology →

Dark Mode Readiness

ChecklistNice to have

The interface is legible and correct in dark mode, not just inverted.

Colors are defined as semantic tokens (surface, text, border) not raw hex. Elevation uses lighter surfaces (not just shadows) in dark mode. Contrast still meets 4.5:1. Images/illustrations with baked-in white backgrounds are handled. Brand accent remains distinguishable.
color · theminginteraction of color →

Form Autofill & Input Semantics

ChecklistImportant

Form fields declare the right type and autocomplete so browsers and password managers assist correctly.

Every field sets the correct type (email, tel, url) and inputmode; personal-data fields set an autocomplete token (name, email, tel, one-time-code, etc.); password fields work with managers; numeric fields show the numeric keypad on mobile.
forms · inputux psychology →

Value Proposition Hero

Hero Pattern

Primary landing page hero communicating the core product value to new visitors.

Slots
Headline · required
Subheadline · required
Primary CTA · required
landing-page · heropractical ui →

Feature Section

Hero Pattern

Mid-page section showcasing a specific product feature with visual support.

Slots
Feature headline · required
Feature description · required
Feature visual · required
features · sectiondesign systems →

Pricing Table

Hero Pattern

Side-by-side plan comparison that makes the recommended option obvious.

Slots
Plan name · required
Price · required
Plan description · required
pricing · comparisonux psychology →

Testimonial Section

Hero Pattern

Social proof section using customer quotes to build trust mid-page.

Slots
Quote text · required
Author name · required
Author title + company · required
testimonials · social-proofdesigning brand identity →

Dashboard Layout

Hero Pattern

Metrics and activity overview for signed-in users - the product home screen.

Slots
Page heading · required
Primary metric cards · required
Primary chart · required
dashboard · metricsux psychology →

Auth Page (Sign In / Sign Up)

Hero Pattern

Minimal focused layout for authentication - the highest-friction point in onboarding.

Slots
Logo · required
Heading · required
Email + Password fields · required
auth · loginpractical ui →

Onboarding Flow

Hero Pattern

First-run experience that helps new users reach their first value moment quickly.

Slots
Progress indicator · required
Step heading · required
Primary input or choice · required
onboarding · first-runux psychology →

404 / Error Page

Hero Pattern

Designed error page that recovers users rather than abandoning them.

Slots
Error code · required
Headline · required
Explanation · required
404 · errorux psychology →

Site Footer

Hero Pattern

Page-level footer with navigation, legal, and brand elements.

Slots
Logo · required
Navigation columns · required
Legal bar · required
footer · navigationdesigning brand identity →

Notification Center / Activity Feed

Hero Pattern

Full-page inbox for user activity, mentions, and system notifications.

Slots
Filter sidebar · required
Notification list · required
Notification item · required
notifications · inboxux psychology →

Settings Page

Hero Pattern

Organized preferences with sidebar navigation and grouped form controls.

Slots
Settings nav · required
Section heading · required
Settings group · required
settings · preferencesux psychology →

Search Results Page

Hero Pattern

Full-page search with filters, result count, and sorted results.

Slots
Search bar · required
Result count + sort · required
Filter panel · required
search · resultsux psychology →

Profile / Account Page

Hero Pattern

User identity and account information overview page.

Slots
Avatar + name · required
Key metadata · required
Action buttons · required
profile · accountdesigning brand identity →

FAQ Section

Hero Pattern

Objection-handling section that answers the questions blocking a conversion decision.

Slots
Section headline · required
Question items · required
landing-page · faqpractical ui →

Waitlist / Coming Soon Hero

Hero Pattern

Pre-launch hero that captures interest with a single email-capture action.

Slots
Headline · required
Subheadline · required
Email capture · required
landing-page · waitlistux psychology →

Logo Clear Space

Brand Guideline

Minimum breathing room around the logo to maintain visual presence.

Maintain minimum clear space equal to the cap-height of the wordmark (or the x-height of the mark unit) on all four sides. Preferred clear space is 1.5× this value.
logo · spacingdesigning brand identity →

Brand Color Specification

Brand Guideline

How to specify brand color values correctly across all production media.

Every brand color must be specified in all four formats: Pantone (coated + uncoated), CMYK, RGB, and hex. Never specify a brand color as just a hex value - vendors producing print materials cannot use hex.
color · branddesigning brand identity →

Brand Typography Hierarchy

Brand Guideline

The approved typefaces and their roles in brand communications.

Maximum two typeface families in any brand communication: one for display/headlines, one for body/UI. Never substitute system fonts for licensed brand typefaces in customer-facing materials.
typography · branddesigning brand identity →

Voice and Tone

Brand Guideline

How the brand sounds across all written communications - consistent personality, adaptive tone.

Voice is constant across all channels; tone adapts to context. Define voice with 3–5 behavioral adjectives (not aspirational ones). For each, write what it means in practice and what it explicitly is not.
voice · tonedesigning brand identity →

Image and Photography Style

Brand Guideline

How imagery reinforces brand personality - subject matter, color treatment, and composition.

All brand photography must be consistent in: color temperature (warm or cool, never both), subject matter (people/product/abstract - pick a primary mode), treatment (natural light vs. studio, color vs. black-and-white), and composition (negative space proportion).
photography · imagerydesigning brand identity →

Spacing and Grid System

Brand Guideline

The base spacing unit and grid that creates visual rhythm across all surfaces.

All spacing values must be multiples of the base unit (8px). No arbitrary values (7px, 13px, 19px). Use a defined scale: 4, 8, 16, 24, 32, 48, 64, 96. Page layouts align to a 12-column grid with 24px gutters.
spacing · griddesign systems →

Motion Principles

Brand Guideline

How elements animate - timing, easing, and purpose - as an expression of brand character.

All motion must have purpose: guide attention, communicate state change, or confirm an action. Decorative animation is prohibited. Use standard durations: 100ms (micro), 200ms (standard), 300ms (complex), 500ms (page transitions).
motion · animationdesigning brand identity →

Icon Usage Rules

Brand Guideline

How to use, size, and apply the brand icon system consistently.

Use only the approved icon library (Lucide React). Never mix icon styles from different libraries. All icons must use currentColor inheritance - never hardcoded hex. Standard sizes: 12px (dense UI), 16px (default), 20px (prominent), 24px (large). Never scale icons between these sizes.
icons · iconographydesigning brand identity →

Social Media Specifications

Brand Guideline

Approved dimensions and brand treatments for social media assets.

All social media assets must use approved brand colors, the correct logo variant for the background, and the specified dimensions. Open Graph images must not contain text that becomes illegible at link preview size.
social-media · branddesigning brand identity →

Email Template Spec

Brand Guideline

Brand standards for transactional and marketing emails.

All brand emails use the standard template: white content card (600px wide) on light grey background (#F5F5F5), logo at top (120–160px wide), navy text (#0F172A), accent orange for primary CTAs, footer with legal text and unsubscribe. No custom fonts - use system fallbacks.
email · templatedesigning brand identity →

Presentation Template

Brand Guideline

Brand standards for slides, decks, and presentations.

All external presentations use the approved template: navy title slides, white content slides, logo bottom-right on every slide. One idea per slide. Headlines are complete sentences (the takeaway), not topic labels. Max 5 bullet points per slide. Fonts: Poppins (display) or Inter (body).
presentation · slidesux psychology →

Document and Wiki Style

Brand Guideline

Brand standards for internal documents, specs, and wikis.

Internal documents follow: one H1 per doc (the title), H2 for major sections, H3 for sub-sections. Bullet points for lists of 3+ items. Tables for comparisons. Code blocks for all code/values. Documents start with a TL;DR or summary section. Status labels: Draft / In Review / Final.
documentation · wikidesign systems →

Iconography Grid & Style

Brand Guideline

Rules that keep an icon set visually consistent - grid, stroke, and corner treatment.

All icons are drawn on a shared pixel grid (24×24 base) with a consistent 2px stroke, matching corner radius, and equal optical weight. Icons share one style (all outline OR all filled) - never mix within a context. Live area leaves a 2px keyline padding inside the bounding box.
icons · iconographydesigning brand identity →

Data Visualization Palette

Brand Guideline

A categorical + sequential color palette for charts that stays legible and accessible.

Charts use a defined categorical palette (max 6–8 hues, distinguishable by hue AND lightness) for discrete series, and a single-hue sequential ramp for continuous data. Series are also distinguished by a non-color channel (label, pattern, or direct annotation). Semantic colors (red = negative, green = positive) are reserved for meaning, not decoration.
color · data-vizinteraction of color →

Logo Minimum Size

Logo Rule

The smallest dimensions at which the logo remains legible in print and digital contexts.

The full lockup (mark + wordmark) must never appear smaller than 80px wide on screen or 25mm wide in print. The mark alone may be used at smaller sizes down to 16px (favicon/app icon).
logo · sizedesigning brand identity →

Logo Misuse Guidelines

Logo Rule

Common logo applications that damage brand equity and must be avoided.

The logo must never be altered, recolored, distorted, shadowed, or placed on insufficiently contrasting backgrounds.
logo · misusedesigning brand identity →

Co-branding and Partnerships

Logo Rule

How to display the Mathesis logo alongside partner or client logos.

When appearing alongside a partner logo: both logos must be equal in optical size (not bounding-box size), separated by a vertical divider or minimum 3× clear space, and neither logo may be modified to match the other's style.
co-branding · partnershipsdesigning brand identity →

Logo Background Rules

Logo Rule

Approved and prohibited background treatments for logo placement.

The logo may only appear on: white, light grey (>90% lightness), the brand navy (#0F172A), or solid accent orange (#F97316). On photographs, use a white or navy container with clear space. Never place the logo directly on a patterned, textured, or busy background without a container.
logo · backgroundinteraction of color →

Logo Animation Rules

Logo Rule

How and when the logo mark may be animated.

The logo mark may animate in loading screens and brand intro sequences only. Animation must be subtle: reveal (fade in or draw), not distortion (no morphing, bouncing, or spinning). The orange chevron element may pulse once on first load. Maximum animation duration: 800ms. All animations must respect prefers-reduced-motion.
logo · animationdesigning brand identity →

Favicon & App Icon Construction

Logo Rule

How to derive a legible favicon and app icon from the full logo.

Favicons and app icons use the logo MARK only - never the full wordmark, which is illegible at small sizes. The mark is optically centered in the icon canvas with its own padding (not the logo clear space). App icons fill their platform-required safe area and provide a solid background (no transparency) so the mark reads on any home screen.
logo · favicondesigning brand identity →