Brand & design system
Slogan
Your media presented beautifully.
Short description
A lightweight, interactive gallery for browsing local images and videos.
A ShruggieTech project  Â·  Version 1.0.0  Â·  Canon 2.1.0  Â· 
Local Media Gallery | Brand System01
Brand essentials

Local Media Gallery

Approved name
Local Media Gallery

Relationship: A ShruggieTech project

Written form

Write Local Media Gallery as the name; use localmedia.gallery only as an address.

Parent
ShruggieTech
Register
plain-helpful
Approved words

The exact approved words and role labels appear on the cover.

Visual signatures

Use the exact delivered masters described on the Logo system sheet. Formal colors and their measured uses are on the Color sheet. Display Space Grotesk, body Geist, and mono Geist Mono are the declared type families.

Where each asset belongs: The Asset catalog lists verified marks, lockups, icons, and platform deliveries by intended surface and size.

Usage limits

Keep delivered artwork geometry unchanged. The Logo system sheet gives measured sizes and clear space.

Mark: Use the larger icon beside Local Media above Gallery. Preserve the supplied hierarchy and proportions. Keep the domain for address use.

Color: The formal identity uses Jade on dark surfaces and Deep Jade on light surfaces.

Local Media Gallery | Brand System02
Logo system

Marks and lockups

Use the larger icon beside Local Media above Gallery. Preserve the supplied hierarchy and proportions. Keep the domain for address use. Mark means symbol; wide and stacked lockups are separate. Clear means transparent; light and dark name the viewing surface. See Asset Language in the main manual.

Clear space

One clear-space unit on every side: 100 units on the 1000 × 1000 canvas, 12.9 percent of artwork width. No text, border, icon or crop enters that band.

Minimum size
mark16 px
horizontal200 px
stacked160 px
wordmark160 px

Below 32 px the reduced master takes over. It ships as its own file. Do not rasterize the full mark down at runtime.

Fixed lockup proportions

LockupMark heightGapAlignment
Horizontal160 units36 unitsOptical center
Stacked4.00C0.65CCentered on wordmark ink width

The horizontal row records its approved master composition. C is the outlined wordmark cap height used by the stacked lockup. X is the clear-space unit declared above. Keep one X clear around every master and never resize the mark and wordmark independently.

Horizontal, product surface
Mark
Light surface
Reduced master
Local Media Gallery | Brand System03
Color

Palette

The formal identity uses Jade on dark surfaces and Deep Jade on light surfaces.

Role colors on dark surfaces

primary
#69D4BB
brand-accent-deep
#08745F
brand-emphasis
#F2BE6E
destructive
#F39494

Neutrals, dark surfaces

background
#10151E
card
#161D29
secondary
#202B3B
border
#262626
Light reading surface
primary
#08745F
background
#F3F5FA
muted
#DFE5F0
muted-foreground
#526078
Light surfaces

The bright accent #69D4BB measures 1.64:1 on the light reading surface and is never text there. The light token block substitutes #08745F at 5.24:1 automatically. The legal foreground on an accent fill is #000000 at 11.74:1. Every fill token in brand.json carries its measured foreground.

Semantic use
ColorMeans
AccentPrimary value, selection, links, focus
EmphasisNeeds attention, threshold exceeded
DestructiveFailed or timed out. Always with text.
Color vision

The emphasis and failure colors may not be reliably separable under deuteranopia. That is acceptable only because state is never carried by color alone: every state ships a written label.

Local Media Gallery | Brand System04
Color

Chart colors

Chart colors serve data visualization. Brand applications use the identity accent and the neutral surfaces. Each chart color is derived from the identity accent and measured against its surface so every entry clears 4.5:1.

chart-1
#69D4BB
chart-2
#B0C982
chart-3
#75CAEF
chart-4
#E5B375
chart-5
#B1B7FC
Contrast checks

Lightness is calculated separately for dark and light surfaces. Data charts also use labels or shapes; hue alone does not carry meaning.

The same palette on the light reading surface
chart-1
#08745F
chart-2
#5B6B30
chart-3
#1C6D88
chart-4
#825A26
chart-5
#585E93
Derived values
SeriesDarkLight
chart-1#69D4BB#08745F
chart-2#B0C982#5B6B30
chart-3#75CAEF#1C6D88
chart-4#E5B375#825A26
chart-5#B1B7FC#585E93
Rules of use

Series order is fixed: chart-1 is always the primary measurement. Never reorder to make a chart look better. Never introduce a sixth color; past five series, switch to a form that does not depend on hue. A series never uses the semantic emphasis or failure colors, because those carry state.

Local Media Gallery | Brand System05
Typography

Display, interface, code

Local Media Gallery uses three approved type families. Space Grotesk handles display text, Geist handles interface and reading text, and Geist Mono is reserved for literal command blocks.

Your media presented beautifully.
A lightweight, interactive gallery for browsing local images and videos.
Roles
FunctionTypefaceWeights
Display, headingsSpace Grotesk500, 700
Body, interfaceGeist400, 500
Literal code blocksGeist Mono400
Geometry
AxisValue
Radii6 / 8 / 12 / 16 / pill
Spacing4 8 12 16 24 32 48 64 96 120
Focus2px ring at 2px offset
Available weights

Only the listed local faces are approved. Any other weight makes the renderer synthesize a faux bold, which prints badly and forces outlined glyphs into exported PDFs. Courier Prime is used only for literal command blocks.

Scale, display
TokenSizeTracking
display-xl72-0.030em
display-lg56-0.025em
display-md40-0.020em
display-sm28-0.015em
display-xs20-0.010em
Scale, reading
TokenSizeLeading
body-lg18.41.6
body-md161.7
body-sm141.6
body-xs121.5
eyebrow120.12em caps
Local Media Gallery | Brand System06
Parent

A ShruggieTech project

Local Media Gallery declares ShruggieTech parentage. Palette sharing and typography are separate explicit choices. The approved mark and colors remain this brand's own source decisions.

A ShruggieTech project

The approved mono family, uppercase, positive tracking. Visually subordinate and outside the logo clear space. Never a combined parent-product lockup.

Load the system

npx shadcn@4.21.0 registry add @localmedia-gallery=https://brand.shruggie.tech/localmedia-gallery/brand/r/{name}.json
npx shadcn@4.21.0 add @localmedia-gallery/theme
npm i next-themes

The catalog lists installable theme and component items. For offline fonts, copy nextjs/fonts.ts and fonts/ together from the kit.

What ships in the kit

PathContentsn
logos/svg/Vector masters, every lockup and colorway22
icons/Web, Android, Apple, macOS, and Windows application suites124
favicons/Compatibility aliases for the authoritative web suite20
fonts/woff2/Web faces plus OFL licences5
tokens/CSS and JSON with measured contrast6
PathContentsn
nextjs/globals.css, shadcn registry, fonts, provider9
enforcement/AGENTS.md, ESLint, stylelint21
qc/Contact sheets. Proof somebody looked.162
guidelines/The system rendered from itself2

Independent decisions

DecisionDeclaration
OwnershipShruggieTech owned
ParentShruggieTech
PaletteBrand-specific emphasis and action
TypographyHouse families
Local Media Gallery | Brand System07
Color roles

Interface color cues

Colors for actions and states are distinct from formal identity artwork. A shared HEX is a deliberate choice; meaning also uses words, icons, outlines, or state attributes.

Formal identity colors

ColorHEXSourceUse
Gallery Jade#69D4BBbrand.accent.brightIdentity artwork on dark surfaces
Deep Jade#08745Fbrand.accent.accessibleIdentity artwork and readable accent on light surfaces

Approved combinations and artwork

ApplicationColors and artworkUse
Contact sheetprimary in logo.fullFour equal gallery tiles with image and video cutouts

Correct: use Deep Jade (#08745F) in approved identity work; pair the Action cue (#08745F) with a descriptive button or link label. Misuse: a lone identity swatch as the only action signal.

CuePurposeDark and light pairingAdditional cue
ActionPrimary interactive actionDark: #08745F, #FFFFFF text 5.72:1; surface 3.20:1
Light: #08745F, #FFFFFF text 5.72:1; surface 5.24:1
Source: semantic.action / semantic.action
A descriptive button or link label
WarningAttention or recoverable riskDark: #F2BE6E, #000000 text 12.37:1; surface 10.77:1
Light: #805000, #FFFFFF text 6.85:1; surface 6.28:1
Source: brand.functional_colors.warning.dark / brand.functional_colors.warning.light
Warning text and icon
ErrorFailure or destructive actionDark: #F39494, #000000 text 9.47:1; surface 8.25:1
Light: #A03035, #FFFFFF text 7.07:1; surface 6.48:1
Source: brand.functional_colors.error.dark / brand.functional_colors.error.light
Error text and icon
SuccessCompleted operationDark: #77C9A8, #000000 text 10.70:1; surface 9.32:1
Light: #17654B, #FFFFFF text 7.00:1; surface 6.42:1
Source: brand.functional_colors.success.dark / brand.functional_colors.success.light
Success text and icon
InformationNeutral information or helpDark: #8EBBFF, #000000 text 10.70:1; surface 9.32:1
Light: #26549B, #FFFFFF text 7.44:1; surface 6.82:1
Source: brand.functional_colors.information.dark / brand.functional_colors.information.light
Information label and icon
FocusKeyboard focus ringDark: #69D4BB, #000000 text 11.74:1; surface 10.22:1
Light: #08745F, #FFFFFF text 5.72:1; surface 5.24:1
Source: brand.accent.bright / brand.accent.accessible
Visible outline and keyboard focus order
SelectionSelected control or itemDark: #69D4BB, #000000 text 11.74:1; surface 10.22:1
Light: #08745F, #FFFFFF text 5.72:1; surface 5.24:1
Source: brand.accent.bright / brand.accent.accessible
Selected label or checked state
DisabledUnavailable controlDark: #69D4BB, #000000 text 11.74:1; surface 10.22:1
Light: #69D4BB, #000000 text 11.74:1; surface 1.64:1
Source: brand.accent.dim / brand.accent.dim
Disabled attribute and text
Local Media Gallery | Brand System08