Skip to content

Latest commit

 

History

History
173 lines (149 loc) · 7 KB

File metadata and controls

173 lines (149 loc) · 7 KB
name The 2026 Collector System
colors
surface surface-dim surface-bright surface-container-lowest surface-container-low surface-container surface-container-high surface-container-highest on-surface on-surface-variant inverse-surface inverse-on-surface outline outline-variant surface-tint primary on-primary primary-container on-primary-container inverse-primary secondary on-secondary secondary-container on-secondary-container tertiary on-tertiary tertiary-container on-tertiary-container error on-error error-container on-error-container primary-fixed primary-fixed-dim on-primary-fixed on-primary-fixed-variant secondary-fixed secondary-fixed-dim on-secondary-fixed on-secondary-fixed-variant tertiary-fixed tertiary-fixed-dim on-tertiary-fixed on-tertiary-fixed-variant background on-background surface-variant
#f8f9ff
#cbdbf5
#f8f9ff
#ffffff
#eff4ff
#e5eeff
#dce9ff
#d3e4fe
#0b1c30
#45464d
#213145
#eaf1ff
#76777d
#c6c6cd
#565e74
#000000
#ffffff
#131b2e
#7c839b
#bec6e0
#006e2f
#ffffff
#6bff8f
#007432
#000000
#ffffff
#2a1700
#b87500
#ba1a1a
#ffffff
#ffdad6
#93000a
#dae2fd
#bec6e0
#131b2e
#3f465c
#6bff8f
#4ae176
#002109
#005321
#ffddb8
#ffb95f
#2a1700
#653e00
#f8f9ff
#0b1c30
#d3e4fe
typography
display h1 h2 body-base body-sm label-caps number-heavy
fontFamily fontSize fontWeight lineHeight letterSpacing
Inter
24px
700
32px
-0.02em
fontFamily fontSize fontWeight lineHeight letterSpacing
Inter
20px
600
28px
-0.01em
fontFamily fontSize fontWeight lineHeight
Inter
18px
600
24px
fontFamily fontSize fontWeight lineHeight
Inter
16px
400
24px
fontFamily fontSize fontWeight lineHeight
Inter
14px
400
20px
fontFamily fontSize fontWeight lineHeight letterSpacing
Geist
12px
600
16px
0.05em
fontFamily fontSize fontWeight lineHeight
Geist
14px
700
14px
rounded
sm DEFAULT md lg xl full
0.25rem
0.5rem
0.75rem
1rem
1.5rem
9999px
spacing
base xs sm md lg xl container-padding grid-gutter
4px
4px
8px
16px
24px
32px
16px
12px

Brand & Style

The design system is engineered for the high-velocity environment of a global sporting event. It prioritizes utility, speed, and the "collector's dopamine hit" through a Minimalist / Corporate Modern aesthetic. The focus is entirely on the digital stickers, using the UI as a transparent, high-performance scaffolding.

The emotional response should be one of organized completion and professional clarity. By stripping away decorative clutter, the system ensures that the vibrant colors of the stickers and the status indicators (Owned vs. Repeated) remain the primary focus. It adopts a mobile-first, PWA-centric philosophy where every interaction feels tactile yet lightweight, mimicking the efficiency of a high-end fintech app but applied to sports memorabilia.

Colors

The palette is functional and semantic. The background is a stark, clean white to provide maximum contrast for the content.

  • Primary (Slate 900): Used for primary actions, heavy text, and structural UI elements to ground the design.
  • Success Green (#22c55e): Reserved for "Owned" states. When a user acquires a sticker, this color signals completion.
  • Warning Orange (#f59e0b): Specifically for "Repeats." It acts as a vibrant visual hook to encourage trading.
  • Neutral Slate (Slate 500/600): Used for secondary text, borders, and "Missing" item placeholders to maintain a professional, de-emphasized tone.

Typography

This design system utilizes Inter for its primary interface language due to its exceptional legibility on small mobile screens. Geist is introduced for labels and technical data (sticker numbers, counts) to provide a slightly more "engineered" feel.

The hierarchy is tight and compact. We avoid oversized headings to maximize vertical screen real estate for the sticker grid. "Label-caps" is used for metadata like "Group A" or "Team Totals," while "Number-heavy" ensures sticker IDs are instantly recognizable during physical-to-digital trading workflows.

Layout & Spacing

The layout utilizes a Fluid Grid optimized for a 2-column or 3-column sticker view on mobile devices. A strict 4px baseline shift (Tailwind-style) governs all spatial relationships.

  • Margins: Standard 16px lateral margins for mobile views.
  • Gaps: 12px gutters between sticker cards to balance density and touch targets.
  • Safe Areas: Strict adherence to bottom-screen safe areas to ensure navigation remains accessible on gesture-based mobile OSs.
  • Density: The "Album View" uses a compact grid, while the "Detail View" uses generous 24px-32px vertical stacking for readability.

Elevation & Depth

To maintain a high-performance feel, the system avoids complex blurs and heavy shadows. Instead, it uses Low-contrast outlines and Tonal layers.

  • Surface Level 0: Pure white (#ffffff) for the main page background.
  • Surface Level 1: Slate 50 (#f8fafc) for card backgrounds and container areas.
  • Borders: 1px solid borders using Slate 200 for unearned items, shifting to Success Green for owned items.
  • Shadows: A single "Soft Drop" (0px 2px 4px rgba(15, 23, 42, 0.05)) is applied only to active, tappable primary cards to indicate interactivity.

Shapes

The design system adopts a Rounded shape language to soften the professional tone and make the "collecting" experience feel more approachable and modern.

  • Sticker Cards: Use rounded-lg (1rem) to mimic the slightly rounded corners of physical stickers.
  • Buttons & Inputs: Use rounded-md (0.5rem) for a precise, functional look.
  • Badges: Use "Full Pill" for repeat counts and status tags to differentiate them from structural card elements.

Components

Sticker Cards

The core component.

  • Missing: Grayscale, 40% opacity, dashed Slate 200 border.
  • Owned: Full color, 100% opacity, 1px solid Success Green border. Subtle "check" icon in top right.
  • Repeated: Same as Owned, but featuring a vibrant Warning Orange badge in the top right corner displaying the count (e.g., "+2").

Primary Buttons

High-contrast Slate 900 background with white Inter Bold text. Use a slight scale-down transform (0.98) on active tap states for tactile feedback.

Progress Bars

Thin 4px height tracks. Background in Slate 100, fill in Success Green. Placed at the top of Team sections.

Search & Filters

Input fields use a Slate 50 background with a Slate 200 border. Use Lucide icons (Search, Filter, Scan) at 18px size with a stroke weight of 2px for clarity.

Bottom Navigation

A fixed-position PWA bar. Glassmorphism is permitted here (Backdrop Blur 8px) with 90% opacity white background to allow sticker colors to peek through as the user scrolls. Use 24px Lucide icons.