🍻Drinking Games Design System · v1.0

Design System

One locked foundation. Every game page inherits it automatically.

01

Color palette

Eight saturated brand hues — one assigned per game — over a lavender-white canvas. Each card, badge and icon pulls its accent from a single --card variable, so theming a game page is a one-line change.

Brand hues

Neutrals & surfaces

Gradients

Hero gradient
--grad-hero · pink → purple → blue → cyan → lime
Button gradient
--grad-btn · pink → purple → blue
02

Typography

Two families do all the work. Fredoka (rounded display) for anything loud — headings, buttons, labels, badges. Manrope for readable body copy. Sizes are fluid clamp() tokens that scale with the viewport.

Aa Bb Cc 123
Fredoka
Display · headings · buttons · labels · badges
--font-display · 400 / 500 / 600 / 700
Aa Bb Cc 123
Manrope
Body copy · descriptions · paragraphs
--font-body · 400 / 500 / 600 / 700 / 800
Drinking Games
Display / Fredoka 700
--fs-display · clamp(3.2 → 8.2rem)
Pick your poison
H2 section title / Fredoka 700
--fs-h2 · clamp(2 → 3.4rem)
Never Have I Ever
H3 card title / Fredoka 700
--fs-h3 · 1.5rem
Tap a card to start. Every game plays on one shared screen or a passed-around phone.
Lead / Manrope 500
--fs-lead · clamp(1 → 1.18rem)
Draw a card, obey its rule, and pray you don't pour the King's Cup. Follow the prompts and let the night write its own stories.
Body / Manrope 400
--fs-body · 1.0625rem (17px)
The line-up
Label / Fredoka 600 · uppercase
--fs-label · 0.82rem · tracking .14em
03

Buttons

Pill-shaped sticker buttons with a thick outline and hard offset shadow. On hover they lift toward you; on press they sink into the shadow. Variants share one .btn base.

default
translate(-2,-2) · shadow grows
translate(4,5) · shadow shrinks

Classes: .btn · .btn--primary · .btn--ghost · .btn--lg · .btn--block. Minimum tap target is 54px tall (62px for --lg).

Badges & stickers

🔥 Popular ✨ New 🌶️ Spicy 2–6 players 🍸 Eyebrow label
04

Game card

The core repeating component. Hover it (on desktop) to see the tilt-and-lift — odd and even cards tilt opposite ways, the shadow turns the card's accent color, and the icon kicks. The whole card is one clickable <a>.

Anatomy

  • .game-cardContainer — white surface, 3px outline, --r-lg (32px) radius, large sticker shadow.
  • --cardPer-card accent. Set inline (style="--card: var(--pink)") — drives icon, sub, hover shadow & badge.
  • __badgeRotated sticker, top-right. Optional.
  • __icon70×70 emoji tile in the accent color.
  • __titleFredoka 700, 1.5rem.
  • __subOne-line tagline in the accent color.
  • __descMuted one-liner describing play.
  • __cta"Play →" — arrow slides on hover. Pinned to the bottom.

Accent variations

The same component across all eight hues — this is the full game grid styling at a glance.

05

Spacing, radius & shadow

Spacing follows a 4px base scale. Corners use four radius tokens. Depth is never a soft blur — it's a hard, offset "sticker" shadow in ink (or the card's accent on hover).

Spacing scale --space-*

Border radius --r-*

--r-sm14px
--r-md22px
--r-lg32px
--r-pill999px

Shadows

--shadow-sticker5px 6px 0 ink
--shadow-sticker-lg8px 10px 0 ink
hover (accent)10px 14px 0 --card
--shadow-softambient blur

Borders & motion

Outlines: --bw 3px (standard) · --bw-thin 2px (badges) · --bw-thick 4px (hero features), always in --ink. Motion: --ease-bounce for playful lifts, --t-fast .12s / --t-med .18s for state changes.