oh-my-design-cli 1.6.7 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/data/reference-fingerprints.json +1318 -10
- package/package.json +1 -1
- package/web/references/11st/DESIGN.md +400 -0
- package/web/references/17live/DESIGN.md +43 -0
- package/web/references/29cm/DESIGN.md +41 -0
- package/web/references/91app/DESIGN.md +31 -0
- package/web/references/ably/DESIGN.md +54 -0
- package/web/references/airbnb/DESIGN.md +58 -0
- package/web/references/airtable/DESIGN.md +39 -0
- package/web/references/alipay/DESIGN.md +50 -0
- package/web/references/amazingtalker/DESIGN.md +434 -0
- package/web/references/appier/DESIGN.md +45 -0
- package/web/references/apple/DESIGN.md +47 -0
- package/web/references/baemin/DESIGN.md +142 -43
- package/web/references/banksalad/DESIGN.md +67 -0
- package/web/references/bilibili/DESIGN.md +45 -0
- package/web/references/bithumb/DESIGN.md +38 -0
- package/web/references/bmw/DESIGN.md +37 -0
- package/web/references/brandi/DESIGN.md +414 -0
- package/web/references/bunjang/DESIGN.md +47 -0
- package/web/references/cakeresume/DESIGN.md +29 -0
- package/web/references/cal/DESIGN.md +52 -0
- package/web/references/catchtable/DESIGN.md +79 -19
- package/web/references/cathay/DESIGN.md +432 -0
- package/web/references/channeltalk/DESIGN.md +48 -0
- package/web/references/class101/DESIGN.md +51 -0
- package/web/references/classting/DESIGN.md +41 -0
- package/web/references/classum/DESIGN.md +43 -0
- package/web/references/claude/DESIGN.md +157 -70
- package/web/references/clay/DESIGN.md +56 -0
- package/web/references/clickhouse/DESIGN.md +50 -0
- package/web/references/cloudflare/DESIGN.md +637 -0
- package/web/references/cohere/DESIGN.md +48 -0
- package/web/references/coinbase/DESIGN.md +139 -5
- package/web/references/coinone/DESIGN.md +39 -0
- package/web/references/composio/DESIGN.md +46 -0
- package/web/references/cookpad/DESIGN.md +37 -0
- package/web/references/coupang/DESIGN.md +57 -2
- package/web/references/cursor/DESIGN.md +44 -0
- package/web/references/dabang/DESIGN.md +57 -19
- package/web/references/dcard/DESIGN.md +57 -0
- package/web/references/dell/DESIGN.md +636 -0
- package/web/references/devsisters/DESIGN.md +29 -0
- package/web/references/discord/DESIGN.md +604 -0
- package/web/references/dji/DESIGN.md +39 -0
- package/web/references/drnow/DESIGN.md +52 -0
- package/web/references/duolingo/DESIGN.md +563 -0
- package/web/references/elevenlabs/DESIGN.md +39 -0
- package/web/references/expo/DESIGN.md +39 -0
- package/web/references/fastcampus/DESIGN.md +50 -0
- package/web/references/ferrari/DESIGN.md +47 -0
- package/web/references/figma/DESIGN.md +44 -0
- package/web/references/finda/DESIGN.md +413 -0
- package/web/references/flex/DESIGN.md +28 -0
- package/web/references/flo/DESIGN.md +43 -0
- package/web/references/framer/DESIGN.md +38 -0
- package/web/references/freee/DESIGN.md +48 -0
- package/web/references/fugle/DESIGN.md +41 -1
- package/web/references/gangnamunni/DESIGN.md +57 -1
- package/web/references/genie/DESIGN.md +415 -0
- package/web/references/github/DESIGN.md +727 -0
- package/web/references/gmarket/DESIGN.md +51 -0
- package/web/references/gogolook/DESIGN.md +25 -1
- package/web/references/gogoro/DESIGN.md +38 -0
- package/web/references/grip/DESIGN.md +39 -0
- package/web/references/hahow/DESIGN.md +26 -0
- package/web/references/hashicorp/DESIGN.md +42 -0
- package/web/references/hogangnono/DESIGN.md +41 -0
- package/web/references/hp/DESIGN.md +563 -0
- package/web/references/hyperconnect/DESIGN.md +393 -0
- package/web/references/hyundaicard/DESIGN.md +24 -0
- package/web/references/ibm/DESIGN.md +44 -0
- package/web/references/ichef/DESIGN.md +44 -0
- package/web/references/ikala/DESIGN.md +400 -0
- package/web/references/inflearn/DESIGN.md +38 -0
- package/web/references/intercom/DESIGN.md +38 -0
- package/web/references/jandi/DESIGN.md +382 -0
- package/web/references/jkopay/DESIGN.md +35 -1
- package/web/references/jobkorea/DESIGN.md +39 -0
- package/web/references/jumpit/DESIGN.md +37 -0
- package/web/references/kakao/DESIGN.md +64 -0
- package/web/references/kakaobank/DESIGN.md +55 -1
- package/web/references/kakaopay/DESIGN.md +59 -0
- package/web/references/kakaot/DESIGN.md +53 -0
- package/web/references/karrot/DESIGN.md +49 -0
- package/web/references/kbank/DESIGN.md +39 -0
- package/web/references/kdan/DESIGN.md +34 -1
- package/web/references/kintone/DESIGN.md +586 -0
- package/web/references/kkbox/DESIGN.md +22 -0
- package/web/references/kkday/DESIGN.md +47 -0
- package/web/references/kmong/DESIGN.md +427 -0
- package/web/references/krafton/DESIGN.md +37 -0
- package/web/references/kraken/DESIGN.md +44 -0
- package/web/references/krds/DESIGN.md +63 -0
- package/web/references/kream/DESIGN.md +32 -0
- package/web/references/kurly/DESIGN.md +38 -1
- package/web/references/laftel/DESIGN.md +40 -0
- package/web/references/lamborghini/DESIGN.md +54 -0
- package/web/references/layerx/DESIGN.md +615 -0
- package/web/references/lezhin/DESIGN.md +47 -0
- package/web/references/line/DESIGN.md +36 -0
- package/web/references/linear.app/DESIGN.md +182 -88
- package/web/references/loom/DESIGN.md +396 -0
- package/web/references/lovable/DESIGN.md +38 -0
- package/web/references/lunit/DESIGN.md +47 -19
- package/web/references/mastercard/DESIGN.md +587 -0
- package/web/references/meituan/DESIGN.md +42 -0
- package/web/references/melon/DESIGN.md +26 -0
- package/web/references/mercari/DESIGN.md +41 -0
- package/web/references/mercury/DESIGN.md +589 -0
- package/web/references/meta/DESIGN.md +615 -0
- package/web/references/millie/DESIGN.md +51 -0
- package/web/references/minimax/DESIGN.md +53 -0
- package/web/references/mintlify/DESIGN.md +45 -0
- package/web/references/miro/DESIGN.md +47 -0
- package/web/references/mistral.ai/DESIGN.md +37 -0
- package/web/references/momoshop/DESIGN.md +43 -0
- package/web/references/money-forward/DESIGN.md +42 -0
- package/web/references/mongodb/DESIGN.md +44 -0
- package/web/references/muji/DESIGN.md +605 -0
- package/web/references/musinsa/DESIGN.md +48 -0
- package/web/references/mustit/DESIGN.md +47 -1
- package/web/references/myrealtrip/DESIGN.md +49 -0
- package/web/references/naver/DESIGN.md +50 -1
- package/web/references/naverwebtoon/DESIGN.md +48 -0
- package/web/references/netflix/DESIGN.md +572 -0
- package/web/references/nexon/DESIGN.md +389 -0
- package/web/references/nhncloud/DESIGN.md +33 -0
- package/web/references/nike/DESIGN.md +588 -0
- package/web/references/note/DESIGN.md +28 -0
- package/web/references/notion/DESIGN.md +48 -0
- package/web/references/nvidia/DESIGN.md +50 -0
- package/web/references/ohouse/DESIGN.md +56 -0
- package/web/references/oliveyoung/DESIGN.md +47 -1
- package/web/references/ollama/DESIGN.md +40 -0
- package/web/references/openai/DESIGN.md +641 -0
- package/web/references/opencode.ai/DESIGN.md +37 -0
- package/web/references/payco/DESIGN.md +40 -0
- package/web/references/paypay/DESIGN.md +656 -0
- package/web/references/pchome/DESIGN.md +439 -0
- package/web/references/perplexity/DESIGN.md +546 -0
- package/web/references/piccollage/DESIGN.md +43 -0
- package/web/references/pinkoi/DESIGN.md +55 -0
- package/web/references/pinterest/DESIGN.md +44 -0
- package/web/references/pixiv/DESIGN.md +613 -0
- package/web/references/pixnet/DESIGN.md +430 -0
- package/web/references/posthog/DESIGN.md +50 -0
- package/web/references/publy/DESIGN.md +52 -0
- package/web/references/qanda/DESIGN.md +49 -1
- package/web/references/ragic/DESIGN.md +444 -0
- package/web/references/ramp/DESIGN.md +634 -0
- package/web/references/rayark/DESIGN.md +22 -0
- package/web/references/raycast/DESIGN.md +45 -0
- package/web/references/remember/DESIGN.md +44 -0
- package/web/references/renault/DESIGN.md +42 -0
- package/web/references/replicate/DESIGN.md +39 -0
- package/web/references/resend/DESIGN.md +44 -0
- package/web/references/retool/DESIGN.md +645 -0
- package/web/references/revolut/DESIGN.md +46 -0
- package/web/references/richart/DESIGN.md +465 -0
- package/web/references/ridi/DESIGN.md +47 -0
- package/web/references/riiid/DESIGN.md +32 -0
- package/web/references/robinhood/DESIGN.md +604 -0
- package/web/references/runwayml/DESIGN.md +45 -0
- package/web/references/sanity/DESIGN.md +50 -0
- package/web/references/sansan/DESIGN.md +631 -0
- package/web/references/sendbird/DESIGN.md +46 -0
- package/web/references/sentry/DESIGN.md +48 -0
- package/web/references/shinhancard/DESIGN.md +421 -0
- package/web/references/shopline/DESIGN.md +431 -0
- package/web/references/slack/DESIGN.md +635 -0
- package/web/references/smarthr/DESIGN.md +48 -0
- package/web/references/smartnews/DESIGN.md +29 -0
- package/web/references/socar/DESIGN.md +35 -0
- package/web/references/soomgo/DESIGN.md +326 -0
- package/web/references/spacex/DESIGN.md +27 -0
- package/web/references/spoon/DESIGN.md +46 -0
- package/web/references/spotify/DESIGN.md +49 -0
- package/web/references/starbucks/DESIGN.md +597 -0
- package/web/references/stripe/DESIGN.md +46 -0
- package/web/references/studio/DESIGN.md +602 -0
- package/web/references/supabase/DESIGN.md +41 -0
- package/web/references/superhuman/DESIGN.md +39 -0
- package/web/references/surveycake/DESIGN.md +442 -0
- package/web/references/tada/DESIGN.md +51 -0
- package/web/references/tesla/DESIGN.md +36 -0
- package/web/references/theverge/DESIGN.md +500 -0
- package/web/references/together.ai/DESIGN.md +33 -0
- package/web/references/toss/DESIGN.md +43 -0
- package/web/references/toss-securities/DESIGN.md +54 -19
- package/web/references/tossbank/DESIGN.md +57 -0
- package/web/references/trenbe/DESIGN.md +41 -0
- package/web/references/triple/DESIGN.md +47 -0
- package/web/references/tumblbug/DESIGN.md +48 -0
- package/web/references/tving/DESIGN.md +40 -0
- package/web/references/uber/DESIGN.md +36 -0
- package/web/references/ubie/DESIGN.md +615 -0
- package/web/references/uniqlo/DESIGN.md +575 -0
- package/web/references/upbit/DESIGN.md +42 -0
- package/web/references/upstage/DESIGN.md +38 -0
- package/web/references/velog/DESIGN.md +28 -0
- package/web/references/vercel/DESIGN.md +44 -0
- package/web/references/voicetube/DESIGN.md +39 -0
- package/web/references/voltagent/DESIGN.md +44 -0
- package/web/references/wadiz/DESIGN.md +71 -19
- package/web/references/wanted/DESIGN.md +46 -0
- package/web/references/warp/DESIGN.md +37 -0
- package/web/references/watcha/DESIGN.md +40 -0
- package/web/references/wavve/DESIGN.md +43 -1
- package/web/references/wconcept/DESIGN.md +45 -0
- package/web/references/webflow/DESIGN.md +49 -0
- package/web/references/wired/DESIGN.md +572 -0
- package/web/references/wise/DESIGN.md +41 -0
- package/web/references/x.ai/DESIGN.md +31 -0
- package/web/references/xiaohongshu/DESIGN.md +39 -0
- package/web/references/yanolja/DESIGN.md +45 -0
- package/web/references/yeogiotte/DESIGN.md +42 -1
- package/web/references/yogiyo/DESIGN.md +50 -0
- package/web/references/yourator/DESIGN.md +453 -0
- package/web/references/zapier/DESIGN.md +41 -0
- package/web/references/zigbang/DESIGN.md +33 -0
- package/web/references/zigzag/DESIGN.md +62 -0
- package/web/references/zozotown/DESIGN.md +578 -0
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: shopline
|
|
3
|
+
name: SHOPLINE
|
|
4
|
+
country: TW
|
|
5
|
+
category: e-commerce
|
|
6
|
+
homepage: "https://shopline.tw"
|
|
7
|
+
primary_color: "#356dff"
|
|
8
|
+
logo:
|
|
9
|
+
type: favicon
|
|
10
|
+
slug: "https://www.google.com/s2/favicons?domain=shopline.tw&sz=128"
|
|
11
|
+
verified: "2026-06-08"
|
|
12
|
+
added: "2026-06-08"
|
|
13
|
+
omd: "0.1"
|
|
14
|
+
tokens:
|
|
15
|
+
source: live-extract
|
|
16
|
+
extracted: "2026-06-08"
|
|
17
|
+
note: "primary = live CTA blue (#356dff); ink = navy text/dark-section (#00142d); shadows are neutral soft-gray, alpha kept in shadow strings only"
|
|
18
|
+
colors:
|
|
19
|
+
primary: "#356dff"
|
|
20
|
+
primary-ink: "#ffffff"
|
|
21
|
+
ink: "#00142d"
|
|
22
|
+
canvas: "#ffffff"
|
|
23
|
+
surface-tint: "#edf4fd"
|
|
24
|
+
surface-mist: "#f2f7fc"
|
|
25
|
+
dark-section: "#00142d"
|
|
26
|
+
heading: "#00142d"
|
|
27
|
+
body: "#00142d"
|
|
28
|
+
on-dark: "#ffffff"
|
|
29
|
+
cta-black: "#000000"
|
|
30
|
+
hairline: "#d6d6d6"
|
|
31
|
+
typography:
|
|
32
|
+
family: { sans: "Noto Sans TC", fallback: "-apple-system, system-ui, Segoe UI, Roboto" }
|
|
33
|
+
display-hero: { size: 48, weight: 700, lineHeight: 1.33, tracking: 0, use: "Hero headline (h1), white-on-navy" }
|
|
34
|
+
section: { size: 40, weight: 700, lineHeight: 1.37, tracking: 0, use: "Section titles (h2)" }
|
|
35
|
+
subheading: { size: 24, weight: 700, lineHeight: 1.40, use: "Card / feature heads" }
|
|
36
|
+
cta-lg: { size: 18, weight: 700, lineHeight: 1.00, use: "Primary pill CTA label" }
|
|
37
|
+
cta-sm: { size: 14, weight: 700, lineHeight: 1.00, use: "Nav header CTA label" }
|
|
38
|
+
nav: { size: 16, weight: 400, lineHeight: 1.50, use: "Top navigation links" }
|
|
39
|
+
body: { size: 16, weight: 400, lineHeight: 1.50, use: "Standard reading text" }
|
|
40
|
+
caption: { size: 13, weight: 400, lineHeight: 1.85, use: "Small descriptions, metadata" }
|
|
41
|
+
spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, section: 80 }
|
|
42
|
+
rounded: { sm: 3, md: 6, lg: 9, pill: 30, full: 9999 }
|
|
43
|
+
shadow:
|
|
44
|
+
soft: "rgba(200,200,200,0.27) 2px 2px 6px 0px"
|
|
45
|
+
card: "rgba(0,0,0,0.08) 0px 8px 16px 0px"
|
|
46
|
+
float: "rgba(0,0,0,0.08) 0px 4px 24px 0px"
|
|
47
|
+
components_harvested: true
|
|
48
|
+
components:
|
|
49
|
+
button-primary: { type: button, bg: "#356dff", fg: "#ffffff", radius: "30px", height: "45px", padding: "0 24px", font: "18px / 700", use: "Primary marketing CTA" }
|
|
50
|
+
button-outline: { type: button, bg: "#ffffff", fg: "#356dff", border: "1px solid #356dff", radius: "30px", height: "45px", font: "18px / 700", use: "Secondary action beside primary" }
|
|
51
|
+
button-dark: { type: button, bg: "#00142d", fg: "#ffffff", radius: "30px", height: "44px", padding: "8px 24px", font: "16px / 700", use: "High-emphasis booking/conversion CTA" }
|
|
52
|
+
button-nav: { type: button, bg: "#000000", fg: "#ffffff", radius: "30px", height: "38px", padding: "0 24px", font: "14px / 700", use: "Always-visible free-trial CTA in sticky nav" }
|
|
53
|
+
card: { type: card, bg: "#ffffff", radius: "8px", shadow: "rgba(0,0,0,0.08) 0px 8px 16px 0px", use: "Standard elevated card; elevation from soft shadow not hairlines" }
|
|
54
|
+
input: { type: input, bg: "#ffffff", fg: "#00142d", border: "1px solid #d6d6d6", radius: "6px", focus: "#356dff blue ring/border", use: "Form input" }
|
|
55
|
+
section-band: { type: card, bg: "#edf4fd", use: "Light-blue wash band (#edf4fd / #f2f7fc) alternating with white; navy #00142d for immersive sections" }
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
# Design System Inspiration of SHOPLINE
|
|
59
|
+
|
|
60
|
+
## 1. Visual Theme & Atmosphere
|
|
61
|
+
|
|
62
|
+
SHOPLINE presents itself as a bright, optimistic, merchant-friendly commerce platform built for the Taiwan and Hong Kong markets — its homepage opens on a clean white canvas (`#ffffff`) with a confident, saturated royal blue (`#356dff`) doing almost all of the brand work. Where Stripe whispers in light-weight type, SHOPLINE speaks in bold weight-700 Traditional-Chinese headlines, fully-rounded pill buttons, and gentle light-blue section washes. The atmosphere is approachable SaaS-for-shopkeepers: trustworthy enough that a small business owner believes their store and money are safe, friendly enough that a first-time entrepreneur feels invited in. The tagline "全方位零售整合專家" (all-in-one retail integration expert) sets the register — capable, comprehensive, but never intimidating.
|
|
63
|
+
|
|
64
|
+
The defining typographic choice is `Noto Sans TC`, Google's Traditional-Chinese sans-serif, run at weight 700 for every headline and CTA. This is the opposite of the boutique custom-font approach: SHOPLINE deliberately uses a free, ubiquitous, perfectly-legible CJK typeface because legibility across thousands of merchant-uploaded product names, in 繁體中文, at every screen size, matters more than a bespoke letterform. Headlines run large (48px hero, 40px sections) and heavy, with normal letter-spacing — Chinese characters do not benefit from the negative tracking that Latin display type uses.
|
|
65
|
+
|
|
66
|
+
The color story is two-note and disciplined: SHOPLINE Blue (`#356dff`) as the single hero/interactive accent, and a deep ink navy (`#00142d`) that does triple duty as heading color, body text color, and the background of immersive dark sections. Between them sit two barely-there light-blue surface tints (`#edf4fd`, `#f2f7fc`) that segment the long marketing page into rhythmic bands without ever introducing a competing hue. Shadows are soft, neutral, and low-contrast (`rgba(0,0,0,0.08)`), keeping the page feeling light and airy rather than heavily layered.
|
|
67
|
+
|
|
68
|
+
**Key Characteristics:**
|
|
69
|
+
- `Noto Sans TC` at weight 700 for all headlines and CTAs — legibility-first CJK typography
|
|
70
|
+
- A single saturated brand blue (`#356dff`) carries every CTA, link, and interactive accent
|
|
71
|
+
- Fully-rounded **30px pill buttons** everywhere — the signature shape of the system
|
|
72
|
+
- Deep ink navy (`#00142d`) used for headings, body, and dark immersive sections alike
|
|
73
|
+
- Light-blue surface tints (`#edf4fd`, `#f2f7fc`) band the page into calm rhythmic sections
|
|
74
|
+
- Soft, neutral, low-alpha shadows (`rgba(0,0,0,0.08)`) — airy, not heavy
|
|
75
|
+
- Bright white canvas (`#ffffff`) as the default ground; navy as the dramatic counterpoint
|
|
76
|
+
|
|
77
|
+
## 2. Color Palette & Roles
|
|
78
|
+
|
|
79
|
+
### Primary
|
|
80
|
+
- **SHOPLINE Blue** (`#356dff`): The primary brand color. Fills primary CTA buttons, colors outlined-button text and borders, and marks links and interactive accents. A saturated royal blue that reads energetic and trustworthy.
|
|
81
|
+
- **Ink Navy** (`#00142d`): The workhorse dark. Heading text, body text, dark-section backgrounds, and the navy CTA variant. Not pure black — a very deep desaturated blue-navy that feels softer and more premium than `#000000`.
|
|
82
|
+
- **Pure White** (`#ffffff`): Page background, card surfaces, primary-CTA text, and the fill of outlined buttons.
|
|
83
|
+
|
|
84
|
+
### Surface & Section Tints
|
|
85
|
+
- **Surface Tint** (`#edf4fd`): A pale blue wash used for alternating section backgrounds and feature bands — keeps the page on-brand without a second hue.
|
|
86
|
+
- **Surface Mist** (`#f2f7fc`): An even lighter blue-gray surface for subtle cards and secondary bands.
|
|
87
|
+
- **Dark Section** (`#00142d`): Full-bleed navy sections (hero band, footer, immersive feature blocks) with white text reversed out.
|
|
88
|
+
|
|
89
|
+
### Text
|
|
90
|
+
- **Heading** (`#00142d`): All headings on light backgrounds.
|
|
91
|
+
- **Body** (`#00142d`): Standard reading text and captions share the same ink navy.
|
|
92
|
+
- **On Dark** (`#ffffff`): Headings and body text reversed out on navy sections.
|
|
93
|
+
|
|
94
|
+
### CTA & Accent Variants
|
|
95
|
+
- **Primary Ink** (`#ffffff`): Text color on the blue primary button.
|
|
96
|
+
- **CTA Black** (`#000000`): A pure-black pill variant used for the compact header "免費試用" (free trial) button — higher contrast against the white sticky nav.
|
|
97
|
+
|
|
98
|
+
### Borders & Hairlines
|
|
99
|
+
- **Hairline** (`#d6d6d6`): Neutral gray for dividers, input borders, and subtle separators.
|
|
100
|
+
|
|
101
|
+
### Shadow Colors
|
|
102
|
+
- **Card Shadow** (`rgba(0,0,0,0.08)`): The standard soft neutral shadow for elevated cards.
|
|
103
|
+
- **Float Shadow** (`rgba(0,0,0,0.08)`): Same alpha, wider blur (24px) for floating/popover elements.
|
|
104
|
+
- **Soft Shadow** (`rgba(200,200,200,0.27)`): A tiny offset gray shadow for low-lift chips and small elements.
|
|
105
|
+
|
|
106
|
+
## 3. Typography Rules
|
|
107
|
+
|
|
108
|
+
### Font Family
|
|
109
|
+
- **Primary**: `Noto Sans TC`, with fallback stack `-apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`
|
|
110
|
+
- **Script coverage**: Traditional Chinese (繁體中文) first-class, Latin secondary. Both share the Noto Sans TC family for visual consistency between Chinese product/marketing copy and Latin numerals or brand names.
|
|
111
|
+
- **No custom font**: SHOPLINE intentionally uses a free, broadly-available CJK font — the priority is universal legibility of merchant-supplied content, not a proprietary letterform.
|
|
112
|
+
|
|
113
|
+
### Hierarchy
|
|
114
|
+
|
|
115
|
+
| Role | Font | Size | Weight | Line Height | Notes |
|
|
116
|
+
|------|------|------|--------|-------------|-------|
|
|
117
|
+
| Display Hero (h1) | Noto Sans TC | 48px (3.00rem) | 700 | 1.33 | Hero headline, usually white-on-navy |
|
|
118
|
+
| Section Title (h2) | Noto Sans TC | 40px (2.50rem) | 700 | 1.37 | Feature section titles |
|
|
119
|
+
| Sub-heading | Noto Sans TC | 24px (1.50rem) | 700 | 1.40 | Card heads, feature names |
|
|
120
|
+
| CTA Large | Noto Sans TC | 18px (1.13rem) | 700 | 1.00 | Primary pill button label |
|
|
121
|
+
| CTA Small | Noto Sans TC | 14px (0.88rem) | 700 | 1.00 | Compact header CTA label |
|
|
122
|
+
| Nav Link | Noto Sans TC | 16px (1.00rem) | 400 | 1.50 | Top navigation links |
|
|
123
|
+
| Body | Noto Sans TC | 16px (1.00rem) | 400 | 1.50 | Standard reading text |
|
|
124
|
+
| Caption | Noto Sans TC | 13px (0.81rem) | 400 | 1.85 | Small descriptions, metadata |
|
|
125
|
+
|
|
126
|
+
### Principles
|
|
127
|
+
- **Bold weight as authority**: Weight 700 on every headline and CTA is SHOPLINE's signature — the opposite of the light-weight luxury convention. Heavy type reads as clear, confident, and reassuring to merchants.
|
|
128
|
+
- **Two-weight system**: 700 for everything that should command attention (headings, CTAs), 400 for everything readable (nav, body, captions). There is no in-between medium weight in the marketing chrome.
|
|
129
|
+
- **Normal tracking for CJK**: Letter-spacing stays `normal` — Traditional-Chinese glyphs are designed on a fixed em square and do not take the negative tracking Latin display type uses.
|
|
130
|
+
- **Generous CJK line-height**: Body runs at 1.5 and captions at ~1.85 line-height, giving dense Chinese characters room to breathe and stay legible.
|
|
131
|
+
- **Legibility over personality**: The deliberate choice of Noto Sans TC means the brand personality lives in color, shape (pills), and weight — never in exotic letterforms.
|
|
132
|
+
|
|
133
|
+
## 4. Component Stylings
|
|
134
|
+
|
|
135
|
+
### Buttons
|
|
136
|
+
|
|
137
|
+
All SHOPLINE buttons share one geometry: a **30px fully-rounded pill** with weight-700 labels. The system differentiates by fill color and size, not by shape.
|
|
138
|
+
|
|
139
|
+
**Primary (Blue)**
|
|
140
|
+
- Background: `#356dff`
|
|
141
|
+
- Text: `#ffffff`
|
|
142
|
+
- Radius: 30px (pill)
|
|
143
|
+
- Height: 45px
|
|
144
|
+
- Padding: 0 24px
|
|
145
|
+
- Font: 18px Noto Sans TC weight 700
|
|
146
|
+
- Use: Primary marketing CTA — "了解所有方案" (see all plans), "免費試用 14 天" (14-day free trial)
|
|
147
|
+
|
|
148
|
+
**Outlined (Blue-on-White)**
|
|
149
|
+
- Background: `#ffffff`
|
|
150
|
+
- Text: `#356dff`
|
|
151
|
+
- Border: 1px solid `#356dff`
|
|
152
|
+
- Radius: 30px (pill)
|
|
153
|
+
- Height: 45px
|
|
154
|
+
- Font: 18px Noto Sans TC weight 700
|
|
155
|
+
- Use: Secondary action beside a primary blue CTA — "了解更多" (learn more)
|
|
156
|
+
|
|
157
|
+
**Dark (Navy)**
|
|
158
|
+
- Background: `#00142d`
|
|
159
|
+
- Text: `#ffffff`
|
|
160
|
+
- Radius: 30px (pill)
|
|
161
|
+
- Height: ~44px
|
|
162
|
+
- Padding: 8px 24px
|
|
163
|
+
- Font: 16px Noto Sans TC weight 700
|
|
164
|
+
- Use: High-emphasis booking/conversion CTA — "立即預約 GO!" (book now)
|
|
165
|
+
|
|
166
|
+
**Header CTA (Black)**
|
|
167
|
+
- Background: `#000000`
|
|
168
|
+
- Text: `#ffffff`
|
|
169
|
+
- Radius: 30px (pill)
|
|
170
|
+
- Height: 38px (compact)
|
|
171
|
+
- Padding: 0 24px
|
|
172
|
+
- Font: 14px Noto Sans TC weight 700
|
|
173
|
+
- Use: Always-visible free-trial CTA in the sticky white nav — "免費試用"
|
|
174
|
+
|
|
175
|
+
### Cards & Containers
|
|
176
|
+
- Background: `#ffffff` (or `#edf4fd` / `#f2f7fc` on tinted bands)
|
|
177
|
+
- Radius: 8px (standard), 6px and 9px also observed for smaller/larger elements
|
|
178
|
+
- Shadow (standard): `rgba(0,0,0,0.08) 0px 8px 16px 0px`
|
|
179
|
+
- Shadow (floating): `rgba(0,0,0,0.08) 0px 4px 24px 0px`
|
|
180
|
+
- Shadow (low-lift chip): `rgba(200,200,200,0.27) 2px 2px 6px 0px`
|
|
181
|
+
- Borders kept minimal — elevation comes from soft shadow, not hairlines
|
|
182
|
+
|
|
183
|
+
### Section Bands
|
|
184
|
+
- White (`#ffffff`) is the default ground
|
|
185
|
+
- Light-blue washes (`#edf4fd`, `#f2f7fc`) alternate to segment the long marketing page
|
|
186
|
+
- Navy (`#00142d`) full-bleed sections for hero and immersive feature blocks, white text reversed out
|
|
187
|
+
|
|
188
|
+
### Navigation
|
|
189
|
+
- White (`#ffffff`) sticky header
|
|
190
|
+
- Links: 16px Noto Sans TC weight 400, `#00142d` ink navy
|
|
191
|
+
- Always-visible black pill CTA "免費試用" right-aligned (`#000000` fill, 38px tall, 30px radius)
|
|
192
|
+
- Clean, horizontal, generous spacing
|
|
193
|
+
|
|
194
|
+
### Inputs & Forms
|
|
195
|
+
- Border: 1px solid `#d6d6d6` hairline
|
|
196
|
+
- Radius: 6px–8px
|
|
197
|
+
- Focus: `#356dff` blue ring/border
|
|
198
|
+
- Text & label: `#00142d`
|
|
199
|
+
|
|
200
|
+
### Avatars & Icons
|
|
201
|
+
- Circular (`50%` radius / `9999` full) for avatars and round icon chips
|
|
202
|
+
- Small rounding (3px) for tags and inline chips
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
**Verified:** 2026-06-08 (omd:add-reference — Tier 1 live inspect)
|
|
207
|
+
**Tier 1 sources:** https://shopline.tw, https://blog.shopline.tw (homepage, live DOM getComputedStyle — body, h1, h2, primary/outline/dark/nav CTA buttons, nav links, paragraph text, section backgrounds, shadows)
|
|
208
|
+
**Country sources:** https://shopline.tw (official TW site, zh-TW), https://blog.shopline.tw (official TW blog), https://shopline.hk (HK regional sibling), Apple App Store TW listing
|
|
209
|
+
**`.verification.md`:** `web/references/shopline/.verification.md`
|
|
210
|
+
|
|
211
|
+
## 5. Layout Principles
|
|
212
|
+
|
|
213
|
+
### Spacing System
|
|
214
|
+
- Base unit: 8px
|
|
215
|
+
- Scale: 4px, 8px, 12px, 16px, 24px, 32px, 48px, with ~80px between major marketing sections
|
|
216
|
+
- Generous vertical rhythm between bands keeps the long homepage scannable
|
|
217
|
+
|
|
218
|
+
### Grid & Container
|
|
219
|
+
- Centered single-column hero with large bold headline and a pair of pill CTAs
|
|
220
|
+
- Feature sections use 2–3 column card grids on light-blue washes
|
|
221
|
+
- Full-bleed navy sections for immersive hero/feature moments
|
|
222
|
+
- Comfortable max content width with generous side gutters
|
|
223
|
+
|
|
224
|
+
### Whitespace Philosophy
|
|
225
|
+
- **Airy and calm**: Low-alpha shadows and pale tints keep the page feeling light, never heavy or dense.
|
|
226
|
+
- **Banded rhythm**: White / light-blue / navy bands alternate down the page, giving a clear visual cadence that helps a long sales page stay legible.
|
|
227
|
+
- **Breathing room for CJK**: Generous line-height and padding give Traditional-Chinese text room, since dense characters need more air than Latin.
|
|
228
|
+
|
|
229
|
+
### Border Radius Scale
|
|
230
|
+
- Pill (30px): every button — the defining shape
|
|
231
|
+
- Small (3px): tags, inline chips
|
|
232
|
+
- Standard (6px–8px): cards, inputs
|
|
233
|
+
- Large (9px): larger panels
|
|
234
|
+
- Full (50% / 9999): avatars, circular icon chips
|
|
235
|
+
|
|
236
|
+
## 6. Depth & Elevation
|
|
237
|
+
|
|
238
|
+
| Level | Treatment | Use |
|
|
239
|
+
|-------|-----------|-----|
|
|
240
|
+
| Flat (Level 0) | No shadow | Page background, section bands, inline text |
|
|
241
|
+
| Low-lift (Level 1) | `rgba(200,200,200,0.27) 2px 2px 6px 0px` | Chips, small floating tags |
|
|
242
|
+
| Card (Level 2) | `rgba(0,0,0,0.08) 0px 8px 16px 0px` | Standard feature cards, panels |
|
|
243
|
+
| Float (Level 3) | `rgba(0,0,0,0.08) 0px 4px 24px 0px` | Popovers, floating CTAs, dropdowns |
|
|
244
|
+
| Focus ring | `#356dff` border/ring | Keyboard focus, active inputs |
|
|
245
|
+
|
|
246
|
+
**Shadow Philosophy**: SHOPLINE keeps elevation deliberately gentle. Shadows are neutral (gray/black at only 0.08 alpha), never tinted or dramatic. The intent is an airy, trustworthy, low-friction feel — depth exists to lift interactive cards just enough to read as tappable, never to create heavy visual drama. Where Stripe makes shadows a branded chromatic signature, SHOPLINE deliberately makes them recede, letting the blue accent and pill shapes carry the brand.
|
|
247
|
+
|
|
248
|
+
### Decorative Depth
|
|
249
|
+
- Navy (`#00142d`) full-bleed sections create depth through color contrast rather than shadow
|
|
250
|
+
- Light-blue washes (`#edf4fd`, `#f2f7fc`) provide subtle layering between bands
|
|
251
|
+
|
|
252
|
+
## 7. Do's and Don'ts
|
|
253
|
+
|
|
254
|
+
### Do
|
|
255
|
+
- Use `Noto Sans TC` at weight 700 for every headline and CTA — bold legibility is the voice
|
|
256
|
+
- Make every button a 30px pill — the fully-rounded shape is the signature
|
|
257
|
+
- Use SHOPLINE Blue (`#356dff`) as the single interactive/CTA accent
|
|
258
|
+
- Use ink navy (`#00142d`) for headings, body, and dark sections — never pure black for text
|
|
259
|
+
- Band the page with light-blue washes (`#edf4fd`, `#f2f7fc`) alternating with white
|
|
260
|
+
- Keep shadows soft and neutral (`rgba(0,0,0,0.08)`) — airy elevation only
|
|
261
|
+
- Reverse white text out of `#00142d` navy for immersive sections
|
|
262
|
+
- Give Traditional-Chinese text generous line-height (1.5+) and padding
|
|
263
|
+
|
|
264
|
+
### Don't
|
|
265
|
+
- Don't use light/thin font weights for headlines — SHOPLINE is weight 700, bold and clear
|
|
266
|
+
- Don't use sharp-cornered or small-radius buttons — pills (30px) are non-negotiable
|
|
267
|
+
- Don't introduce a second accent hue — blue is the only brand color, navy and tints support it
|
|
268
|
+
- Don't apply heavy, dark, or chromatic shadows — elevation stays soft and neutral
|
|
269
|
+
- Don't use pure `#000000` for body/heading text — use ink navy `#00142d` (the black pill is the one exception, reserved for the nav CTA)
|
|
270
|
+
- Don't apply negative letter-spacing to Chinese text — CJK glyphs use normal tracking
|
|
271
|
+
- Don't crowd CJK type — dense Traditional-Chinese needs breathing room
|
|
272
|
+
|
|
273
|
+
## 8. Responsive Behavior
|
|
274
|
+
|
|
275
|
+
### Breakpoints
|
|
276
|
+
| Name | Width | Key Changes |
|
|
277
|
+
|------|-------|-------------|
|
|
278
|
+
| Mobile | <640px | Single column, reduced heading sizes, stacked cards, hamburger nav |
|
|
279
|
+
| Tablet | 640–1024px | 2-column grids, moderate padding |
|
|
280
|
+
| Desktop | 1024–1280px | Full layout, 3-column feature grids |
|
|
281
|
+
| Large Desktop | >1280px | Centered content with generous side gutters |
|
|
282
|
+
|
|
283
|
+
### Touch Targets
|
|
284
|
+
- Pill CTAs are 38px–45px tall — comfortably tappable
|
|
285
|
+
- Nav links at 16px with generous spacing
|
|
286
|
+
- Header free-trial pill always reachable in the sticky nav
|
|
287
|
+
|
|
288
|
+
### Collapsing Strategy
|
|
289
|
+
- Hero: 48px headline scales down on mobile, weight 700 maintained
|
|
290
|
+
- Navigation: horizontal links → hamburger toggle, header CTA pill persists
|
|
291
|
+
- Feature cards: 3-column → 2-column → single stacked column
|
|
292
|
+
- Navy/tinted bands keep full-bleed treatment, reduce internal padding on mobile
|
|
293
|
+
- Section spacing compresses (~80px → ~40px) on mobile
|
|
294
|
+
|
|
295
|
+
### Image Behavior
|
|
296
|
+
- Product/dashboard screenshots maintain soft card shadow at all sizes
|
|
297
|
+
- Cards keep consistent 8px radius
|
|
298
|
+
- Pill buttons keep 30px radius regardless of width
|
|
299
|
+
|
|
300
|
+
## 9. Agent Prompt Guide
|
|
301
|
+
|
|
302
|
+
### Quick Color Reference
|
|
303
|
+
- Primary CTA: SHOPLINE Blue (`#356dff`)
|
|
304
|
+
- CTA text: White (`#ffffff`)
|
|
305
|
+
- Outlined CTA text/border: SHOPLINE Blue (`#356dff`)
|
|
306
|
+
- Dark CTA / dark section: Ink Navy (`#00142d`)
|
|
307
|
+
- Header CTA: Black (`#000000`)
|
|
308
|
+
- Background: Pure White (`#ffffff`)
|
|
309
|
+
- Section tint: Pale Blue (`#edf4fd`) / Mist (`#f2f7fc`)
|
|
310
|
+
- Heading & body text: Ink Navy (`#00142d`)
|
|
311
|
+
- Border: Hairline Gray (`#d6d6d6`)
|
|
312
|
+
|
|
313
|
+
### Example Component Prompts
|
|
314
|
+
- "Create a hero section on a `#00142d` navy background with white text. Headline at 48px Noto Sans TC weight 700, line-height 1.33, color `#ffffff`. Below it, two 30px-pill CTAs: a primary blue button (`#356dff` fill, white 18px/700 text, 45px tall, 0 24px padding) and an outlined button (white fill, `#356dff` text + border)."
|
|
315
|
+
- "Design a feature card on a `#edf4fd` band: white background, 8px radius, shadow `rgba(0,0,0,0.08) 0px 8px 16px 0px`. Title 24px Noto Sans TC weight 700 `#00142d`; body 16px weight 400 `#00142d` at line-height 1.5."
|
|
316
|
+
- "Build a sticky white nav: `#ffffff` background, links 16px Noto Sans TC weight 400 `#00142d`, and a right-aligned black pill CTA (`#000000` fill, white 14px/700 text, 38px tall, 30px radius) labeled '免費試用'."
|
|
317
|
+
- "Create a dark conversion band: `#00142d` background, white 40px/700 headline, and a `#00142d`-vs-white navy pill CTA '立即預約 GO!' (or a white-on-blue `#356dff` pill) at 16px weight 700."
|
|
318
|
+
|
|
319
|
+
### Iteration Guide
|
|
320
|
+
1. Every button is a 30px pill — check radius first
|
|
321
|
+
2. Headlines and CTAs are weight 700; nav/body/captions are weight 400
|
|
322
|
+
3. Blue (`#356dff`) is the only accent — do not add a second hue
|
|
323
|
+
4. Text is ink navy (`#00142d`), not black — except the nav header pill which is `#000000`
|
|
324
|
+
5. Shadows stay soft and neutral at 0.08 alpha — never heavy or tinted
|
|
325
|
+
6. Band the page: white / `#edf4fd` / `#f2f7fc` / `#00142d`
|
|
326
|
+
7. Give Traditional-Chinese type generous line-height (1.5+) and normal tracking
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## 10. Voice & Tone
|
|
331
|
+
|
|
332
|
+
SHOPLINE's voice (in 繁體中文) is encouraging, practical, and merchant-empowering — it speaks to small-business owners and aspiring entrepreneurs as capable partners, not as targets. The positioning line "全方位零售整合專家" (all-in-one retail integration expert) and copy like "讓你的生意不斷成長" (keep your business growing) set a tone that is confident about the platform's breadth while staying warm and accessible. CTAs are direct and action-oriented: "免費試用" (free trial), "了解所有方案" (see all plans), "立即預約 GO!" (book now). The voice avoids hype-laden superlatives in favor of concrete capability and reassurance.
|
|
333
|
+
|
|
334
|
+
| Context | Tone |
|
|
335
|
+
|---|---|
|
|
336
|
+
| Hero headlines | Confident, comprehensive. "全方位…專家" — capable without arrogance. |
|
|
337
|
+
| Feature descriptions | Practical, benefit-led. Concrete merchant outcomes, not abstract promises. |
|
|
338
|
+
| CTAs | Direct imperatives. "免費試用", "了解所有方案", "立即預約". |
|
|
339
|
+
| Pricing / plans | Transparent, reassuring. Emphasis on free trial and flexible scale. |
|
|
340
|
+
| Support / help | Patient, plain-language, merchant-first. |
|
|
341
|
+
| Marketing / blog | Educational — how-to-open-a-store guidance, e-commerce know-how. |
|
|
342
|
+
|
|
343
|
+
**Forbidden register.** Cold enterprise jargon that alienates small merchants; hype superlatives that undercut trust; anything that makes a first-time店主 feel the platform is "too advanced" for them. The brand wins by feeling attainable.
|
|
344
|
+
|
|
345
|
+
## 11. Brand Narrative
|
|
346
|
+
|
|
347
|
+
SHOPLINE is a commerce / online-store SaaS platform serving the Greater China region, with a strong presence in **Taiwan (台灣)** and **Hong Kong (香港)** and across Southeast Asia. It gives merchants — from solo creators to established brands — an all-in-one toolkit to open and run an online store: storefront building, product and inventory management, payments, marketing, and increasingly omni-channel (online + physical retail, social commerce) integration. The Taiwan-facing brand promise, "全方位零售整合專家" (all-in-one retail integration expert) and "完整開店功能讓你的生意不斷成長" (complete store-opening features to keep your business growing), positions SHOPLINE as the partner that handles the technical complexity so the merchant can focus on selling.
|
|
348
|
+
|
|
349
|
+
What SHOPLINE embraces: accessibility for first-time店主, breadth of features under one roof, and a bright, trustworthy, friendly design language. What it rejects: the intimidating, developer-first or enterprise-procurement feel of platforms built for engineers — SHOPLINE's audience is shopkeepers, not staff engineers, and the design reflects that through bold legible type, friendly pill shapes, and a single calm blue.
|
|
350
|
+
|
|
351
|
+
The design system encodes this positioning directly: weight-700 Noto Sans TC for maximum legibility across merchant content in 繁體中文, fully-rounded pill buttons that read as friendly and approachable, a single confident blue (`#356dff`) that signals trust, and soft airy shadows that keep the experience light rather than heavy. Light-blue washes and navy immersive bands give the long marketing page rhythm without ever introducing a competing color.
|
|
352
|
+
|
|
353
|
+
*Note: brand-history specifics beyond the publicly observable TW/HK commerce-SaaS positioning are not independently verified here; claims above are grounded in the live zh-TW homepage and regional brand-owned sources.*
|
|
354
|
+
|
|
355
|
+
## 12. Principles
|
|
356
|
+
|
|
357
|
+
1. **Legibility before personality.** A free, ubiquitous CJK font (Noto Sans TC) at bold weight 700 means merchant-supplied product names and marketing copy are always perfectly readable. The brand's personality lives in color and shape, not exotic letterforms.
|
|
358
|
+
2. **One blue, used decisively.** A single accent (`#356dff`) carries every CTA, link, and highlight. Restraint reads as trustworthy; a rainbow of accents would read as cheap.
|
|
359
|
+
3. **Friendly geometry.** The 30px pill is a deliberate emotional choice — rounded shapes feel approachable and safe to a small-business owner trusting the platform with their livelihood.
|
|
360
|
+
4. **Airy, never heavy.** Soft 0.08-alpha shadows and pale tints keep the interface light. Heaviness would feel like enterprise software; lightness feels attainable.
|
|
361
|
+
5. **Bands give rhythm.** Alternating white / light-blue / navy sections turn a long sales page into a scannable, paced experience.
|
|
362
|
+
6. **Navy, not black, for text.** Ink navy (`#00142d`) is softer and warmer than pure black, reinforcing the friendly-but-trustworthy register.
|
|
363
|
+
7. **Merchant-first, not engineer-first.** Every design decision favors the non-technical store owner: clear CTAs, big readable type, no intimidating density.
|
|
364
|
+
|
|
365
|
+
## 13. Personas
|
|
366
|
+
|
|
367
|
+
*Personas below are fictional archetypes informed by publicly observable SHOPLINE user segments (first-time online sellers, established TW/HK retail brands, social-commerce sellers, omni-channel merchants), not individual people.*
|
|
368
|
+
|
|
369
|
+
**陳怡君 (Chen Yi-Chun), 29, Taipei.** Runs a handmade-accessories side business on Instagram and wants a real online store. Not technical. Chose SHOPLINE because the free trial let her open a storefront in an afternoon and the bold, clear Chinese interface never made her feel lost. The friendly pill buttons and "免費試用" everywhere lowered her fear of committing.
|
|
370
|
+
|
|
371
|
+
**Marcus Wong, 41, Hong Kong.** Operations lead at an established apparel brand expanding from physical retail into omni-channel. Values SHOPLINE's integration breadth — inventory synced across online and in-store. Trusts the calm, professional blue-and-navy design as a signal that the platform is serious infrastructure, not a toy.
|
|
372
|
+
|
|
373
|
+
**林家豪 (Lin Chia-Hao), 34, Taichung.** Sells specialty coffee equipment and runs marketing campaigns himself. Reads SHOPLINE's blog (blog.shopline.tw) for e-commerce how-tos. Appreciates that the dashboard's readable weight-700 headings and generous spacing make managing hundreds of SKUs in 繁體中文 painless.
|
|
374
|
+
|
|
375
|
+
**Priya Nair, 27, Singapore.** Social-commerce seller scaling a beauty brand across Southeast Asia. Picked SHOPLINE for its regional reach and the approachable onboarding. The bright, trustworthy visual language reassured her customers at checkout.
|
|
376
|
+
|
|
377
|
+
## 14. States
|
|
378
|
+
|
|
379
|
+
| State | Treatment |
|
|
380
|
+
|---|---|
|
|
381
|
+
| **Empty (store, no products)** | White canvas. A single encouraging line in ink navy (`#00142d`) at 18px Noto Sans TC weight 700, plus one blue pill CTA ("新增商品" / add product). Friendly, action-oriented — not a dead end. |
|
|
382
|
+
| **Empty (orders, none yet)** | Light line at 16px `#00142d`: "尚無訂單" (no orders yet), with guidance toward sharing the store. Encouraging, never discouraging. |
|
|
383
|
+
| **Loading** | Soft skeleton blocks in hairline gray (`#d6d6d6`) at final dimensions, gentle shimmer. Keeps the airy feel. |
|
|
384
|
+
| **Error (form validation)** | Field-level message below the input describing what's invalid, in a warm tone. Border shifts to an error color; the blue focus ring is the calm default. |
|
|
385
|
+
| **Error (action failed)** | Inline banner with plain-language explanation and a retry CTA. No cold error codes for merchant-facing flows. |
|
|
386
|
+
| **Success (saved / published)** | Brief confirmation, often a toast with the blue accent. Sentence-case, encouraging ("商品已上架" / product is live). |
|
|
387
|
+
| **Disabled** | Reduced opacity on the pill; blue actions fade rather than turn gray, preserving the brand read. |
|
|
388
|
+
|
|
389
|
+
## 15. Motion & Easing
|
|
390
|
+
|
|
391
|
+
**Durations**:
|
|
392
|
+
|
|
393
|
+
| Token | Value | Use |
|
|
394
|
+
|---|---|---|
|
|
395
|
+
| `motion-instant` | 0ms | Selection ticks, focus rings |
|
|
396
|
+
| `motion-fast` | 150ms | Hover, button press, pill state changes |
|
|
397
|
+
| `motion-standard` | 250ms | Dropdowns, modals, card reveals |
|
|
398
|
+
| `motion-slow` | 400ms | Section reveals on scroll, hero transitions |
|
|
399
|
+
|
|
400
|
+
**Easings**:
|
|
401
|
+
|
|
402
|
+
| Token | Curve | Use |
|
|
403
|
+
|---|---|---|
|
|
404
|
+
| `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — dropdowns, cards, sheets |
|
|
405
|
+
| `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
|
|
406
|
+
| `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
|
|
407
|
+
|
|
408
|
+
**Character.** Motion is smooth, gentle, and reassuring — in keeping with the airy, friendly atmosphere. Hover states on pill buttons lift subtly (soft shadow grows, slight darken of the blue). Scroll-reveal on marketing bands fades content in gently. No aggressive springs or bounces that would undercut the trustworthy register.
|
|
409
|
+
|
|
410
|
+
**Signature motions.**
|
|
411
|
+
1. **Pill hover.** Primary blue pills darken slightly and the soft card shadow grows on hover — a gentle invitation to tap.
|
|
412
|
+
2. **Band scroll-reveal.** As each white/tinted/navy section enters the viewport, its content fades and rises a few pixels using `motion-standard / ease-enter`.
|
|
413
|
+
3. **Reduce motion.** Under `prefers-reduced-motion: reduce`, reveals become instant and hover transitions collapse to `motion-instant`. The interface stays fully functional and calm.
|
|
414
|
+
|
|
415
|
+
## 16. Do's and Don'ts
|
|
416
|
+
|
|
417
|
+
### Do
|
|
418
|
+
- Lead with bold weight-700 Noto Sans TC headlines and a single SHOPLINE Blue (`#356dff`) accent
|
|
419
|
+
- Make every button a friendly 30px pill
|
|
420
|
+
- Use ink navy (`#00142d`) for text and dark sections; band the page with `#edf4fd` / `#f2f7fc`
|
|
421
|
+
- Keep shadows soft and neutral (`rgba(0,0,0,0.08)`); keep the page airy
|
|
422
|
+
- Write merchant-first, encouraging copy with direct CTAs ("免費試用", "了解所有方案")
|
|
423
|
+
- Give Traditional-Chinese text generous line-height and normal tracking
|
|
424
|
+
|
|
425
|
+
### Don't
|
|
426
|
+
- Don't use thin/light headline weights — SHOPLINE is bold (700)
|
|
427
|
+
- Don't use sharp or small-radius buttons — pills only
|
|
428
|
+
- Don't add a second brand hue or use heavy/tinted shadows
|
|
429
|
+
- Don't use pure black for text (`#00142d` instead) — the black pill nav CTA is the sole exception
|
|
430
|
+
- Don't crowd CJK type or apply negative letter-spacing
|
|
431
|
+
- Don't adopt cold enterprise/developer-first tone — the audience is shopkeepers
|