Style LibraryNew · weekly review
SodaPup-inspired
Brand-inspiredToysSodaPup is a Shopify-based DTC storefront for durable dog-enrichment
Inspired by a public brand’s design language. Use it for the look only — the prompt tells the assistant not to copy the brand’s name, logo, wording or trademarks, and neither should your app.
#121212#ffffff#333333#7b7b7b#dedede#f3f3f3#f9f9f9#2f7594FontsMurecho headingsMurecho body
Preview
A sample page drawn from this style’s tokens — a guide to the look, not the exact output.
Plan the week in ten minutes
Pull in every task, see what matters, and share one clear plan with the team.
Get startedSee how it worksDocs
Tasks done1,284+12% this week
Sign in
Emailyou@example.com
Remember meContinueToday
Review roadmapDone
Ship onboardingIn progress
Team sync3 pm
Prompt
Paste into any AI assistant before describing what to build — or attach it to a project below.
# Visual style inspired by SodaPup's storefront (Toys)
A full style reference in DESIGN.md format: tokens in the front matter, then type scale, components, layout, do's and don'ts. Use it for colour, type, spacing and components only — never SodaPup's name, logo, product photos, copy or trademarks.
---
version: alpha
name: "SodaPup"
description: |-
SodaPup is a Shopify-based DTC storefront for durable dog-enrichment
products (lick mats, chew toys, treat dispensers) sold under several
house brands. The extracted CSS is Shopify Dawn-derived: a neutral
near-black/white base (--color-foreground: 18,18,18 on
--color-background: 255,255,255) drives text, buttons, and links,
with no distinct brand hue defined at the theme-variable level. The
one recurring accent, #2f7594 (a muted teal-blue), appears only in
the Judge.me review-widget variables (star color, review CTA,
reviewer name), so it is treated here as an inferred secondary/accent
color for ratings and trust signals rather than a confirmed primary
brand color. #1990c6/#136f99 come from the Shopify accelerated
checkout button and are proposed as an interactive-blue for
wallet/CTA states. Grays (#f3f3f3, #f9f9f9, #dedede, #cccccc,
#7b7b7b) supply surfaces, hairlines, and muted text. Typography uses
the observed font-family token pointing to Murecho with system
sans-serif fallback; JudgemeStar is an icon font for review stars,
not body/heading text. Border-radius variables resolve toward 0 in
the sampled rules (Judge.me, payment button default), so the
interpretation leans toward a squared, utilitarian retail aesthetic.
colors:
primary: "#121212"
ink: "#121212"
canvas: "#ffffff"
body: "#333333"
muted: "#7b7b7b"
hairline: "#dedede"
surface-soft: "#f3f3f3"
surface-card: "#f9f9f9"
on-primary: "#ffffff"
accent: "#2f7594"
accent-hover: "#136f99"
interactive: "#1990c6"
border-strong: "#cccccc"
typography:
display-xl: {fontFamily: "Murecho, sans-serif", fontSize: 48px, fontWeight: 600, lineHeight: 1.1, letterSpacing: 0.5px}
display-md: {fontFamily: "Murecho, sans-serif", fontSize: 32px, fontWeight: 600, lineHeight: 1.2, letterSpacing: 0.4px}
title-md: {fontFamily: "Murecho, sans-serif", fontSize: 24px, fontWeight: 600, lineHeight: 1.3, letterSpacing: 0.3px}
body-md: {fontFamily: "Murecho, sans-serif", fontSize: 15px, fontWeight: 400, lineHeight: 1.44, letterSpacing: 0.6px}
body-sm: {fontFamily: "Murecho, sans-serif", fontSize: 13px, fontWeight: 400, lineHeight: 1.4, letterSpacing: 0.5px}
caption: {fontFamily: "Murecho, sans-serif", fontSize: 11px, fontWeight: 500, lineHeight: 1.3, letterSpacing: 0.5px}
button-md: {fontFamily: "Murecho, sans-serif", fontSize: 14px, fontWeight: 500, lineHeight: 1, letterSpacing: 0.6px}
rounded:
none: 0px
xs: 2px
sm: 4px
md: 8px
lg: 16px
full: 9999px
spacing:
none: 0px
xxs: 2px
xs: 4px
sm: 8px
md: 12px
base: 16px
lg: 24px
xl: 32px
xxl: 48px
section: 64px
components:
button-primary:
backgroundColor: "{colors.primary}"
textColor: "{colors.on-primary}"
typography: "{typography.button-md}"
rounded: "{rounded.none}"
padding: "{spacing.md} {spacing.lg}"
button-secondary:
backgroundColor: "{colors.canvas}"
textColor: "{colors.ink}"
border: "1px solid {colors.ink}"
typography: "{typography.button-md}"
rounded: "{rounded.none}"
padding: "{spacing.md} {spacing.lg}"
text-input:
backgroundColor: "{colors.canvas}"
textColor: "{colors.body}"
border: "1px solid {colors.hairline}"
focusBorder: "1px solid {colors.ink}"
typography: "{typography.body-md}"
rounded: "{rounded.xs}"
padding: "{spacing.sm} {spacing.md}"
nav-bar:
backgroundColor: "{colors.canvas}"
textColor: "{colors.ink}"
borderBottom: "1px solid {colors.hairline}"
typography: "{typography.body-sm}"
padding: "{spacing.sm} {spacing.lg}"
announcement-bar:
backgroundColor: "{colors.ink}"
textColor: "{colors.on-primary}"
typography: "{typography.caption}"
padding: "{spacing.xs} {spacing.base}"
product-card:
backgroundColor: "{colors.surface-card}"
border: "1px solid {colors.hairline}"
rounded: "{rounded.xs}"
titleTypography: "{typography.body-md}"
priceTypography: "{typography.body-sm}"
padding: "{spacing.base}"
review-rating:
starColor: "{colors.accent}"
linkColor: "{colors.accent}"
reviewerNameColor: "{colors.accent}"
ctaBackground: "{colors.accent}"
ctaTextColor: "{colors.on-primary}"
typography: "{typography.caption}"
hero:
backgroundColor: "{colors.surface-soft}"
headingTypography: "{typography.display-xl}"
bodyTypography: "{typography.body-md}"
ctaButton: "button-primary"
padding: "{spacing.section} {spacing.lg}"
footer:
backgroundColor: "{colors.surface-soft}"
textColor: "{colors.muted}"
borderTop: "1px solid {colors.hairline}"
typography: "{typography.body-sm}"
padding: "{spacing.xxl} {spacing.lg}"
badge:
backgroundColor: "{colors.canvas}"
textColor: "{colors.ink}"
border: "1px solid {colors.ink}"
rounded: "{rounded.full}"
typography: "{typography.caption}"
padding: "{spacing.xxs} {spacing.sm}"
search:
backgroundColor: "{colors.canvas}"
border: "1px solid {colors.hairline}"
resultSurface: "{colors.surface-card}"
typography: "{typography.body-md}"
rounded: "{rounded.xs}"
---
## Components
**button-primary** uses the theme's `--color-button` (near-black) and `--color-button-text` (white) variables directly observed in `:root`; this is the highest-confidence component since the values are explicit CSS custom properties rather than inference.
**button-secondary** mirrors the observed `--color-secondary-button`/`--color-secondary-button-text` pair (white fill, dark text/border) confirmed by the `.button--secondary,.button--tertiary` rule that swaps these variables in.
**text-input** is proposed: no explicit input-border rule was supplied, so hairline gray and an ink focus border are inferred from the general `--color-foreground`/border-token conventions in the Dawn base stylesheet, including the observed `.2rem solid rgba(foreground,.5)` focus-outline pattern.
**nav-bar** is inferred layout; only the presence of a large country/currency selector in the page text confirms a header-level localization control exists. Visual placement, sticky behavior, and icon set are not observed.
**announcement-bar** responds to the visible copy "Free Shipping On Orders Over $40" in the page excerpt, indicating a top utility bar exists; the ink-on-white inversion (dark bg, white text) is a proposed treatment, not a measured style.
**product-card** references the theme's card CSS variables (`--product-card-corner-radius`, shadow tokens) whose actual values were not resolved in the supplied evidence, so radius/shadow are treated as proposed defaults (square, flat) consistent with the 0-radius pattern seen elsewhere (Judge.me widget, payment button fallback).
**review-rating** is grounded in the Judge.me (`--jdgm-*`) variables, all set to `#2F7594`. Since this is the only distinct non-neutral color defined at the root level, it is promoted to the palette's `accent` role for star ratings, review CTAs, and reviewer-name text — a reasonable, evidence-based but inferred semantic assignment.
**hero** is a proposed compositional pattern (large heading, supporting copy, primary CTA) typical of Shopify home templates; no hero-specific selector was present in the supplied CSS, so background and spacing are proposed.
**footer** styling is unobserved at the color level (color-scheme-2 through -5 exist but their variable values were not supplied); a neutral light-gray surface with muted text is proposed rather than confirmed.
**badge** and **search** reuse the explicit `--color-badge-*` root variables and a proposed input/result-surface treatment consistent with the text-input component; search overlay behavior itself was not observed.
## Responsive Behavior
Recommended, not measured from live rendering:
| Breakpoint | Range | Notes (proposed) |
|---|---|---|
| mobile | <750px | single-column product grid, collapsed nav into a menu button, announcement bar text may truncate |
| tablet | 750–989px | 2-column product grid, condensed nav links |
| desktop | ≥990px | full horizontal nav, 3–4 column product grid |
Touch targets should be at least 44×44px for buttons and nav icons; the country/currency selector (very long list observed in page text) should collapse into a searchable dropdown on small screens rather than a full inline list. None of this reflow behavior was captured in the supplied static CSS/text and is a recommendation only.
## Known Gaps
- **Agent usage policy:** Only evidenced CSS values are reusable facts. Token roles, spacing, dimensions and responsive rules are proposals unless an attached measurement explicitly establishes them.
- **Evidence:** [SOURCE.json](./SOURCE.json) records capture time, URLs and per-token evidence status. CSS value matches do not establish semantic roles or visual fidelity; unmeasured values remain inferred or unverified.
- Evidence is static CSS/text extraction only; no rendered screenshots, computed layout, or interaction states (hover/focus/active, cart drawer, mobile menu) were observed.
- `--product-card-corner-radius`, `--buttons-radius`, `--inputs-radius`, and `--popup-corner-radius` are referenced but their resolved pixel values were not present in the supplied rules; the `rounded` scale is therefore largely proposed, leaning toward 0 based on the one confirmed 0-radius instance (Judge.me).
- The teal `#2f7594` accent is confirmed only for the third-party Judge.me review widget; treating it as a general site "accent" color is an inferred semantic extension, not a confirmed brand-color declaration.
- Several palette entries (`#eb001b`, `#f79e1b`, `#ff5f00`, `#0071ce`, `#334fb4`, `#142fbd`, `#1532cb`) closely resemble standard payment-network mark colors (e.g., card-brand icons) and were excluded from the design token set as they likely belong to third-party payment badges rather than brand styling.
- Font family "Murecho" is used per the observed `--font-body-family`/`--font-heading-family` token references; actual font-weight availability, licensing, and whether it is self-hosted or a Google Font were not verified. "JudgemeStar" is a third-party icon font for star ratings and is excluded from the typography scale.
- Root `font-size` (rem base) was not directly supplied; body-md pixel values assume a common Shopify Dawn 10px root convention and are labeled inferred.
- Footer, hero, and nav visual styling (background color, spacing, breakpoints) are proposed compositions based on typical Shopify theme structure, not confirmed by supplied selectors.
Use it in an app
Create a free account to attach this style to a project: the hub adds it to the prompt your AI assistant gets, so it builds every page in this look.
From Awesome DESIGN.md — e-commerce (MIT, commit e4dc419).View source