spirewise 1.7.0 → 1.8.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 +0 -15
- package/bin/cli.js +65 -37
- package/install.sh +3 -3
- package/package.json +2 -4
- package/skills/README.md +0 -1
- package/skills/ai-agent-os-design-system/README.md +105 -0
- package/skills/ai-agent-os-design-system/SKILL.md +195 -0
- package/skills/ai-agent-os-design-system/accessibility-system.md +67 -0
- package/skills/ai-agent-os-design-system/color-system.md +102 -0
- package/skills/ai-agent-os-design-system/component-library.md +147 -0
- package/skills/ai-agent-os-design-system/design-principles.md +79 -0
- package/skills/ai-agent-os-design-system/example-page-structures.md +93 -0
- package/skills/ai-agent-os-design-system/layout-system.md +74 -0
- package/skills/ai-agent-os-design-system/motion-system.md +85 -0
- package/skills/ai-agent-os-design-system/spacing-system.md +87 -0
- package/skills/ai-agent-os-design-system/typography-system.md +91 -0
- package/skills/ai-agent-os-design-system/website-generation-rules.md +192 -0
- package/skills/ai-dark-futuristic-design-system/README.md +91 -0
- package/skills/ai-dark-futuristic-design-system/SKILL.md +179 -0
- package/skills/ai-dark-futuristic-design-system/accessibility-system.md +61 -0
- package/skills/ai-dark-futuristic-design-system/color-system.md +99 -0
- package/skills/ai-dark-futuristic-design-system/component-library.md +140 -0
- package/skills/ai-dark-futuristic-design-system/design-principles.md +66 -0
- package/skills/ai-dark-futuristic-design-system/example-page-structures.md +124 -0
- package/skills/ai-dark-futuristic-design-system/layout-system.md +85 -0
- package/skills/ai-dark-futuristic-design-system/motion-system.md +76 -0
- package/skills/ai-dark-futuristic-design-system/spacing-system.md +73 -0
- package/skills/ai-dark-futuristic-design-system/typography-system.md +89 -0
- package/skills/ai-dark-futuristic-design-system/website-generation-rules.md +220 -0
- package/skills/apple-premium-minimal-design-system/README.md +95 -0
- package/skills/apple-premium-minimal-design-system/SKILL.md +166 -0
- package/skills/apple-premium-minimal-design-system/accessibility-system.md +60 -0
- package/skills/apple-premium-minimal-design-system/color-system.md +100 -0
- package/skills/apple-premium-minimal-design-system/component-library.md +136 -0
- package/skills/apple-premium-minimal-design-system/design-principles.md +65 -0
- package/skills/apple-premium-minimal-design-system/example-page-structures.md +90 -0
- package/skills/apple-premium-minimal-design-system/layout-system.md +89 -0
- package/skills/apple-premium-minimal-design-system/motion-system.md +75 -0
- package/skills/apple-premium-minimal-design-system/spacing-system.md +73 -0
- package/skills/apple-premium-minimal-design-system/typography-system.md +86 -0
- package/skills/apple-premium-minimal-design-system/website-generation-rules.md +207 -0
- package/skills/bento-grid-design-system/README.md +97 -0
- package/skills/bento-grid-design-system/SKILL.md +185 -0
- package/skills/bento-grid-design-system/accessibility-system.md +54 -0
- package/skills/bento-grid-design-system/color-system.md +98 -0
- package/skills/bento-grid-design-system/component-library.md +138 -0
- package/skills/bento-grid-design-system/design-principles.md +72 -0
- package/skills/bento-grid-design-system/example-page-structures.md +91 -0
- package/skills/bento-grid-design-system/layout-system.md +93 -0
- package/skills/bento-grid-design-system/motion-system.md +81 -0
- package/skills/bento-grid-design-system/spacing-system.md +77 -0
- package/skills/bento-grid-design-system/typography-system.md +85 -0
- package/skills/bento-grid-design-system/website-generation-rules.md +193 -0
- package/skills/brutalist-tech-design-system/README.md +100 -0
- package/skills/brutalist-tech-design-system/SKILL.md +185 -0
- package/skills/brutalist-tech-design-system/accessibility-system.md +61 -0
- package/skills/brutalist-tech-design-system/color-system.md +101 -0
- package/skills/brutalist-tech-design-system/component-library.md +117 -0
- package/skills/brutalist-tech-design-system/design-principles.md +73 -0
- package/skills/brutalist-tech-design-system/example-page-structures.md +92 -0
- package/skills/brutalist-tech-design-system/layout-system.md +74 -0
- package/skills/brutalist-tech-design-system/motion-system.md +80 -0
- package/skills/brutalist-tech-design-system/spacing-system.md +86 -0
- package/skills/brutalist-tech-design-system/typography-system.md +94 -0
- package/skills/brutalist-tech-design-system/website-generation-rules.md +195 -0
- package/skills/crunchbase-profile-generator/README.md +64 -0
- package/skills/crunchbase-profile-generator/SKILL.md +189 -0
- package/skills/editorial-luxury-design-system/README.md +98 -0
- package/skills/editorial-luxury-design-system/SKILL.md +187 -0
- package/skills/editorial-luxury-design-system/accessibility-system.md +63 -0
- package/skills/editorial-luxury-design-system/color-system.md +95 -0
- package/skills/editorial-luxury-design-system/component-library.md +131 -0
- package/skills/editorial-luxury-design-system/design-principles.md +77 -0
- package/skills/editorial-luxury-design-system/example-page-structures.md +94 -0
- package/skills/editorial-luxury-design-system/layout-system.md +80 -0
- package/skills/editorial-luxury-design-system/motion-system.md +82 -0
- package/skills/editorial-luxury-design-system/spacing-system.md +77 -0
- package/skills/editorial-luxury-design-system/typography-system.md +107 -0
- package/skills/editorial-luxury-design-system/website-generation-rules.md +194 -0
- package/skills/enterprise-data-viz-design-system/README.md +98 -0
- package/skills/enterprise-data-viz-design-system/SKILL.md +195 -0
- package/skills/enterprise-data-viz-design-system/accessibility-system.md +68 -0
- package/skills/enterprise-data-viz-design-system/color-system.md +112 -0
- package/skills/enterprise-data-viz-design-system/component-library.md +142 -0
- package/skills/enterprise-data-viz-design-system/design-principles.md +75 -0
- package/skills/enterprise-data-viz-design-system/example-page-structures.md +89 -0
- package/skills/enterprise-data-viz-design-system/layout-system.md +75 -0
- package/skills/enterprise-data-viz-design-system/motion-system.md +86 -0
- package/skills/enterprise-data-viz-design-system/spacing-system.md +85 -0
- package/skills/enterprise-data-viz-design-system/typography-system.md +100 -0
- package/skills/enterprise-data-viz-design-system/website-generation-rules.md +196 -0
- package/skills/f6s-copywriting/README.md +16 -6
- package/skills/f6s-copywriting/SKILL.md +162 -46
- package/skills/glassmorphism-design-system/README.md +98 -0
- package/skills/glassmorphism-design-system/SKILL.md +190 -0
- package/skills/glassmorphism-design-system/accessibility-system.md +62 -0
- package/skills/glassmorphism-design-system/color-system.md +128 -0
- package/skills/glassmorphism-design-system/component-library.md +120 -0
- package/skills/glassmorphism-design-system/design-principles.md +77 -0
- package/skills/glassmorphism-design-system/example-page-structures.md +92 -0
- package/skills/glassmorphism-design-system/layout-system.md +81 -0
- package/skills/glassmorphism-design-system/motion-system.md +86 -0
- package/skills/glassmorphism-design-system/spacing-system.md +73 -0
- package/skills/glassmorphism-design-system/typography-system.md +90 -0
- package/skills/glassmorphism-design-system/website-generation-rules.md +195 -0
- package/skills/linkedin-copywriting/README.md +15 -8
- package/skills/linkedin-copywriting/SKILL.md +129 -51
- package/skills/motion-storytelling-design-system/README.md +100 -0
- package/skills/motion-storytelling-design-system/SKILL.md +191 -0
- package/skills/motion-storytelling-design-system/accessibility-system.md +71 -0
- package/skills/motion-storytelling-design-system/color-system.md +101 -0
- package/skills/motion-storytelling-design-system/component-library.md +122 -0
- package/skills/motion-storytelling-design-system/design-principles.md +81 -0
- package/skills/motion-storytelling-design-system/example-page-structures.md +91 -0
- package/skills/motion-storytelling-design-system/layout-system.md +79 -0
- package/skills/motion-storytelling-design-system/motion-system.md +116 -0
- package/skills/motion-storytelling-design-system/spacing-system.md +83 -0
- package/skills/motion-storytelling-design-system/typography-system.md +89 -0
- package/skills/motion-storytelling-design-system/website-generation-rules.md +200 -0
- package/skills/nvidia-inception-idea-booster/README.md +43 -24
- package/skills/nvidia-inception-idea-booster/SKILL.md +260 -116
- package/skills/nvidia-inception-starter/README.md +6 -5
- package/skills/nvidia-inception-starter/SKILL.md +80 -43
- package/skills/nvidia-product-inventor/README.md +44 -37
- package/skills/nvidia-product-inventor/SKILL.md +265 -227
- package/skills/nvidia-startup-idea-founder/README.md +66 -26
- package/skills/nvidia-startup-idea-founder/SKILL.md +245 -189
- package/skills/product-demo-first-design-system/README.md +96 -0
- package/skills/product-demo-first-design-system/SKILL.md +185 -0
- package/skills/product-demo-first-design-system/accessibility-system.md +58 -0
- package/skills/product-demo-first-design-system/color-system.md +109 -0
- package/skills/product-demo-first-design-system/component-library.md +142 -0
- package/skills/product-demo-first-design-system/design-principles.md +66 -0
- package/skills/product-demo-first-design-system/example-page-structures.md +95 -0
- package/skills/product-demo-first-design-system/layout-system.md +76 -0
- package/skills/product-demo-first-design-system/motion-system.md +82 -0
- package/skills/product-demo-first-design-system/spacing-system.md +74 -0
- package/skills/product-demo-first-design-system/typography-system.md +87 -0
- package/skills/product-demo-first-design-system/website-generation-rules.md +194 -0
- package/skills/website-design-skills/01-proof/README.md +0 -47
- package/skills/website-design-skills/01-proof/SKILL.md +0 -303
- package/skills/website-design-skills/02-kajabi/README.md +0 -42
- package/skills/website-design-skills/02-kajabi/SKILL.md +0 -272
- package/skills/website-design-skills/03-lattice/README.md +0 -42
- package/skills/website-design-skills/03-lattice/SKILL.md +0 -271
- package/skills/website-design-skills/04-petal/README.md +0 -42
- package/skills/website-design-skills/04-petal/SKILL.md +0 -271
- package/skills/website-design-skills/05-dropbox-sign/README.md +0 -42
- package/skills/website-design-skills/05-dropbox-sign/SKILL.md +0 -271
- package/skills/website-design-skills/06-distributional/README.md +0 -42
- package/skills/website-design-skills/06-distributional/SKILL.md +0 -271
- package/skills/website-design-skills/07-appcues/README.md +0 -42
- package/skills/website-design-skills/07-appcues/SKILL.md +0 -271
- package/skills/website-design-skills/08-memberstack/README.md +0 -42
- package/skills/website-design-skills/08-memberstack/SKILL.md +0 -271
- package/skills/website-design-skills/09-flank/README.md +0 -42
- package/skills/website-design-skills/09-flank/SKILL.md +0 -275
- package/skills/website-design-skills/10-slidebean/README.md +0 -42
- package/skills/website-design-skills/10-slidebean/SKILL.md +0 -275
- package/skills/website-design-skills/11-formstack/README.md +0 -42
- package/skills/website-design-skills/11-formstack/SKILL.md +0 -275
- package/skills/website-design-skills/12-thalamus/README.md +0 -42
- package/skills/website-design-skills/12-thalamus/SKILL.md +0 -275
- package/skills/website-design-skills/13-grow/README.md +0 -42
- package/skills/website-design-skills/13-grow/SKILL.md +0 -275
- package/skills/website-design-skills/14-gemnote/README.md +0 -42
- package/skills/website-design-skills/14-gemnote/SKILL.md +0 -275
- package/skills/website-design-skills/15-draftbit/README.md +0 -42
- package/skills/website-design-skills/15-draftbit/SKILL.md +0 -275
- package/skills/website-design-skills/16-payman/README.md +0 -42
- package/skills/website-design-skills/16-payman/SKILL.md +0 -273
- package/skills/website-design-skills/17-effortel/README.md +0 -42
- package/skills/website-design-skills/17-effortel/SKILL.md +0 -272
- package/skills/website-design-skills/18-adopt/README.md +0 -42
- package/skills/website-design-skills/18-adopt/SKILL.md +0 -273
- package/skills/website-design-skills/19-kraftful/README.md +0 -42
- package/skills/website-design-skills/19-kraftful/SKILL.md +0 -273
- package/skills/website-design-skills/20-greenhouse/README.md +0 -42
- package/skills/website-design-skills/20-greenhouse/SKILL.md +0 -273
- package/skills/website-design-skills/21-weavy/README.md +0 -42
- package/skills/website-design-skills/21-weavy/SKILL.md +0 -273
- package/skills/website-design-skills/22-safetykit/README.md +0 -42
- package/skills/website-design-skills/22-safetykit/SKILL.md +0 -273
- package/skills/website-design-skills/23-modulify/README.md +0 -42
- package/skills/website-design-skills/23-modulify/SKILL.md +0 -270
- package/skills/website-design-skills/24-realm/README.md +0 -42
- package/skills/website-design-skills/24-realm/SKILL.md +0 -270
- package/skills/website-design-skills/25-modyfi/README.md +0 -42
- package/skills/website-design-skills/25-modyfi/SKILL.md +0 -269
- package/skills/website-design-skills/26-altitude/README.md +0 -42
- package/skills/website-design-skills/26-altitude/SKILL.md +0 -270
- package/skills/website-design-skills/27-way/README.md +0 -42
- package/skills/website-design-skills/27-way/SKILL.md +0 -270
- package/skills/website-design-skills/28-zentail/README.md +0 -42
- package/skills/website-design-skills/28-zentail/SKILL.md +0 -270
- package/skills/website-design-skills/29-zams/README.md +0 -42
- package/skills/website-design-skills/29-zams/SKILL.md +0 -270
- package/skills/website-design-skills/30-user-interviews/README.md +0 -44
- package/skills/website-design-skills/30-user-interviews/SKILL.md +0 -273
- package/skills/website-design-skills/31-bland/README.md +0 -44
- package/skills/website-design-skills/31-bland/SKILL.md +0 -273
- package/skills/website-design-skills/32-nauto/README.md +0 -44
- package/skills/website-design-skills/32-nauto/SKILL.md +0 -273
- package/skills/website-design-skills/33-bill/README.md +0 -44
- package/skills/website-design-skills/33-bill/SKILL.md +0 -273
- package/skills/website-design-skills/34-localyzer/README.md +0 -44
- package/skills/website-design-skills/34-localyzer/SKILL.md +0 -273
- package/skills/website-design-skills/35-jasper/README.md +0 -44
- package/skills/website-design-skills/35-jasper/SKILL.md +0 -273
- package/skills/website-design-skills/README.md +0 -108
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Accessibility System — Apple Premium Minimal
|
|
2
|
+
|
|
3
|
+
Light, minimal UIs fail accessibility most often on **low-contrast gray text** and
|
|
4
|
+
**invisible focus**. This system bakes WCAG 2.1 AA into the look. Accessible *is* the
|
|
5
|
+
premium standard here.
|
|
6
|
+
|
|
7
|
+
## Color & contrast
|
|
8
|
+
- **Body text ≥ 4.5:1**, large text (≥24px or ≥19px bold) and UI text **≥ 3:1**,
|
|
9
|
+
against its actual panel (white or `--bg-muted`). Use `--text-secondary`/
|
|
10
|
+
`--text-muted` for content — never `--text-faint` for real text (it's decorative).
|
|
11
|
+
- **Non-text contrast ≥ 3:1** for interactive borders, icons, focus rings, controls.
|
|
12
|
+
- **Don't encode meaning in color alone** — pair status color with an icon/label.
|
|
13
|
+
Links are the accent color **and** carry an affordance (underline on hover/in body).
|
|
14
|
+
- **Gradient/low-contrast text is banned for body**; `--grad-text` only on large hero
|
|
15
|
+
display where it still clears 4.5:1 at its lightest stop.
|
|
16
|
+
- Beware "premium light gray on white" — verify every gray meets AA before shipping.
|
|
17
|
+
|
|
18
|
+
## Focus & keyboard
|
|
19
|
+
- **Always-visible focus:** `:focus-visible { outline:2px solid var(--ring);
|
|
20
|
+
outline-offset:2px }` on every interactive element. Never `outline:none` without a
|
|
21
|
+
replacement.
|
|
22
|
+
- **Full keyboard operability:** all actions reachable/triggerable by keyboard; logical
|
|
23
|
+
tab order matches visual order; no keyboard traps (except intended modal focus-trap
|
|
24
|
+
with ESC to exit).
|
|
25
|
+
- **Skip link** first in the DOM: "Skip to content" jumping to `#main`.
|
|
26
|
+
- Menus, dropdowns, accordions, tabs, carousels support arrow keys where appropriate
|
|
27
|
+
with `aria-expanded`/`aria-selected`.
|
|
28
|
+
|
|
29
|
+
## Semantics & structure
|
|
30
|
+
- One `<h1>` per page; headings nest in order (size with CSS, don't skip levels).
|
|
31
|
+
Landmarks: `<header><nav><main id="main"><section><footer>`.
|
|
32
|
+
- Buttons vs links: `<button>` for actions, `<a href>` for navigation.
|
|
33
|
+
- Lists `<ul>/<ol>`; quotes `<blockquote><cite>`; code `<pre><code>`.
|
|
34
|
+
- Accordions/tabs/toggles/menus use correct ARIA; prefer native elements over ARIA.
|
|
35
|
+
|
|
36
|
+
## Media & motion
|
|
37
|
+
- Every informative image has meaningful `alt`; decorative visuals (glows, mock chrome,
|
|
38
|
+
product parallax layers) are `aria-hidden="true"` / `alt=""`.
|
|
39
|
+
- Honor `prefers-reduced-motion` (see motion-system): no essential info conveyed only
|
|
40
|
+
through animation; provide text equivalents for animated workflows/terminals.
|
|
41
|
+
- No autoplaying audio/video with sound; provide controls; avoid flashing > 3x/sec.
|
|
42
|
+
|
|
43
|
+
## Forms
|
|
44
|
+
- Every input has a programmatic `<label>` (or `aria-label`); placeholders aren't
|
|
45
|
+
labels. Group related fields with `<fieldset><legend>`.
|
|
46
|
+
- Errors described in text and linked via `aria-describedby`; focus moves to first
|
|
47
|
+
error. Required fields marked in text, not color alone.
|
|
48
|
+
|
|
49
|
+
## Touch & responsive
|
|
50
|
+
- **Tap targets ≥ 44×44px** with adequate spacing.
|
|
51
|
+
- Content reflows to 320px with no horizontal scroll; respects 200% zoom.
|
|
52
|
+
- Don't disable pinch-zoom (`user-scalable=no` is banned).
|
|
53
|
+
|
|
54
|
+
## Checklist (run before finishing)
|
|
55
|
+
1. All text/icons meet AA contrast on their real panel (check every gray).
|
|
56
|
+
2. Visible focus on every interactive element; keyboard-complete; skip link present.
|
|
57
|
+
3. Correct landmarks, one H1, ordered headings, native elements + minimal ARIA.
|
|
58
|
+
4. Alt text on informative media; decorative media hidden; reduced-motion honored.
|
|
59
|
+
5. Labelled, error-accessible forms.
|
|
60
|
+
6. 44px targets, reflow to 320px, 200% zoom OK, zoom not disabled.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Color System — Apple Premium Minimal
|
|
2
|
+
|
|
3
|
+
A light, premium, high-contrast palette with one restrained accent (default **Apple
|
|
4
|
+
blue**). Sections separate via soft white↔gray panels + whitespace — **never borders**.
|
|
5
|
+
All values are CSS custom properties; override only `--accent-*` to rebrand. Contrast
|
|
6
|
+
targets: body text ≥ 4.5:1, large/secondary ≥ 3:1. An optional dark theme is included.
|
|
7
|
+
|
|
8
|
+
## Tokens (`:root`)
|
|
9
|
+
|
|
10
|
+
```css
|
|
11
|
+
:root {
|
|
12
|
+
/* ---- Background panels (page + section alternation) ---- */
|
|
13
|
+
--bg-canvas: #fbfbfd; /* default page background (Apple off-white) */
|
|
14
|
+
--bg-white: #ffffff; /* white section panel */
|
|
15
|
+
--bg-muted: #f5f5f7; /* light-gray section panel (alternate with white) */
|
|
16
|
+
--bg-tint: #f2f5ff; /* very faint accent-tinted panel (rare) */
|
|
17
|
+
|
|
18
|
+
/* ---- Surfaces (cards on top of panels) ---- */
|
|
19
|
+
--surface: #ffffff; /* cards */
|
|
20
|
+
--surface-muted: #f5f5f7; /* subtle card / hover */
|
|
21
|
+
--surface-raised: #ffffff; /* elevated card (with shadow) */
|
|
22
|
+
--surface-glass: rgba(255,255,255,0.72); /* sticky nav glass (sparingly) */
|
|
23
|
+
|
|
24
|
+
/* ---- Text ramp (near-black → light gray) ---- */
|
|
25
|
+
--text-primary: #1d1d1f; /* headings + key text (Apple near-black) */
|
|
26
|
+
--text-secondary: #424245; /* body */
|
|
27
|
+
--text-muted: #6e6e73; /* captions, meta (AA on white) */
|
|
28
|
+
--text-faint: #86868b; /* decorative/disabled — non-essential only */
|
|
29
|
+
--text-on-accent: #ffffff; /* text on accent fills */
|
|
30
|
+
|
|
31
|
+
/* ---- Borders / hairlines (used on cards/inputs/dividers — NOT between sections) ---- */
|
|
32
|
+
--border-subtle: rgba(0,0,0,0.06);
|
|
33
|
+
--border-default: rgba(0,0,0,0.10);
|
|
34
|
+
--border-strong: rgba(0,0,0,0.16);
|
|
35
|
+
--ring: #0071e3; /* focus ring */
|
|
36
|
+
|
|
37
|
+
/* ---- Accent (the only brand color, used sparingly) ---- */
|
|
38
|
+
--accent: #0071e3; /* Apple blue — primary actions */
|
|
39
|
+
--accent-hover: #0077ed;
|
|
40
|
+
--accent-press: #006edb;
|
|
41
|
+
--accent-link: #0066cc; /* text links */
|
|
42
|
+
--accent-soft: rgba(0,113,227,0.10); /* tinted backgrounds */
|
|
43
|
+
|
|
44
|
+
/* ---- Semantic (Apple system colors) ---- */
|
|
45
|
+
--success: #1d9d57; --success-soft: rgba(29,157,87,0.12);
|
|
46
|
+
--warning: #b25e00; --warning-soft: rgba(178,94,0,0.12);
|
|
47
|
+
--error: #d70015; --error-soft: rgba(215,0,21,0.12);
|
|
48
|
+
--info: #0071e3; --info-soft: rgba(0,113,227,0.12);
|
|
49
|
+
|
|
50
|
+
/* ---- Gradients (subtle, premium; rare) ---- */
|
|
51
|
+
--grad-soft: linear-gradient(180deg, #ffffff 0%, #f5f5f7 100%);
|
|
52
|
+
--grad-accent: linear-gradient(135deg, #0071e3 0%, #42a5ff 100%);
|
|
53
|
+
--grad-hero: radial-gradient(60% 70% at 50% 0%, rgba(0,113,227,0.10) 0%, transparent 60%);
|
|
54
|
+
--grad-text: linear-gradient(90deg, #1d1d1f 0%, #0071e3 100%);
|
|
55
|
+
|
|
56
|
+
/* ---- Elevation (soft, light-friendly) ---- */
|
|
57
|
+
--shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
|
|
58
|
+
--shadow-md: 0 6px 20px rgba(0,0,0,0.08);
|
|
59
|
+
--shadow-lg: 0 20px 50px rgba(0,0,0,0.12);
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Palette roles
|
|
64
|
+
|
|
65
|
+
- **Background palette** (`--bg-*`): full-bleed page/section fills. **Alternate
|
|
66
|
+
`--bg-white` and `--bg-muted`** between sections to separate them by color — but
|
|
67
|
+
**never put a border/line between sections.** `--bg-canvas` is the page root.
|
|
68
|
+
- **Surface palette** (`--surface-*`): cards/panels raised on a section, with soft
|
|
69
|
+
shadow + large radius (Apple cards float on light gray). `--surface-glass` only for
|
|
70
|
+
the sticky nav.
|
|
71
|
+
- **Text palette** (`--text-*`): keep the ramp — primary for headings, secondary for
|
|
72
|
+
body, muted for meta. Never use `--text-faint` for content that must be read.
|
|
73
|
+
- **Border palette** (`--border-*`): hairlines for card/input edges and in-component
|
|
74
|
+
dividers only. Do **not** use borders to divide page sections.
|
|
75
|
+
- **Accent palette** (`--accent*`): primary CTA, active states, links. One accent per
|
|
76
|
+
section as the "look here" signal; links use `--accent-link`.
|
|
77
|
+
- **Gradient palette** (`--grad-*`): `--grad-hero` behind a hero; `--grad-soft` for a
|
|
78
|
+
gentle panel; `--grad-text` on one hero phrase — never whole paragraphs. Keep subtle.
|
|
79
|
+
- **Success / Warning / Error / Info**: status, toasts, validation, badges only.
|
|
80
|
+
|
|
81
|
+
## Usage rules
|
|
82
|
+
|
|
83
|
+
1. **Light & calm.** White and `--bg-muted` dominate; the accent is a small spark.
|
|
84
|
+
2. **Separate sections with color + space, not lines.** Alternate white/gray panels and
|
|
85
|
+
use big `--section-y` padding. No `border-top/bottom`, `<hr>`, or divider between
|
|
86
|
+
sections (mandatory).
|
|
87
|
+
3. **Gradients are rare and soft.** At most one subtle gradient per section; never
|
|
88
|
+
rainbow or hard-stop (anti-pattern).
|
|
89
|
+
4. **Hairlines, used sparingly.** Card/input borders use `--border-subtle/default`;
|
|
90
|
+
never heavy.
|
|
91
|
+
5. **Always check contrast.** Body on white/`--bg-muted` ≥ 4.5:1 (`--text-secondary`+).
|
|
92
|
+
Accent fills pair with `--text-on-accent`.
|
|
93
|
+
|
|
94
|
+
## Optional dark theme
|
|
95
|
+
|
|
96
|
+
Apple ships dark too. Provide a `[data-theme="dark"]` block: `--bg-canvas:#000;
|
|
97
|
+
--bg-white:#0b0b0d; --bg-muted:#1c1c1e; --text-primary:#f5f5f7;
|
|
98
|
+
--text-secondary:#d2d2d7; --text-muted:#a1a1a6; --accent:#0a84ff;` and re-verify
|
|
99
|
+
contrast. **Light is the default identity** for this system. (For a fully dark
|
|
100
|
+
identity, use the `ai-dark-futuristic-design-system` skill instead.)
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Component Library — Apple Premium Minimal
|
|
2
|
+
|
|
3
|
+
Specs for the 17 required components in the Apple premium-minimal idiom. Each: purpose,
|
|
4
|
+
anatomy, tokens, states, responsive + a11y notes. Semantic HTML; shared tokens; **no
|
|
5
|
+
borders between sections** (hairlines only inside cards/inputs).
|
|
6
|
+
|
|
7
|
+
Shared button + card primitives used throughout:
|
|
8
|
+
|
|
9
|
+
```css
|
|
10
|
+
.btn { display:inline-flex; align-items:center; gap: var(--space-2);
|
|
11
|
+
font-weight:500; font-size:1rem; padding: var(--space-3) var(--space-6);
|
|
12
|
+
border-radius: var(--radius-pill); border:1px solid transparent; cursor:pointer;
|
|
13
|
+
transition: transform .2s ease, background .2s ease, opacity .2s ease; }
|
|
14
|
+
.btn:active { transform: scale(0.98); }
|
|
15
|
+
.btn-primary { background: var(--accent); color: var(--text-on-accent); }
|
|
16
|
+
.btn-primary:hover { background: var(--accent-hover); }
|
|
17
|
+
.btn-secondary { background: var(--surface-muted); color: var(--text-primary);
|
|
18
|
+
border-color: var(--border-default); }
|
|
19
|
+
.btn-secondary:hover { background: #ececef; }
|
|
20
|
+
.btn-text { background: transparent; color: var(--accent-link); padding-inline: 0;
|
|
21
|
+
border-radius: var(--radius-sm); }
|
|
22
|
+
.btn-text::after { content: " ›"; } /* Apple-style text link */
|
|
23
|
+
.card { background: var(--surface); border:1px solid var(--border-subtle);
|
|
24
|
+
border-radius: var(--radius-xl); padding: var(--space-8); box-shadow: var(--shadow-sm); }
|
|
25
|
+
.card:hover { box-shadow: var(--shadow-md); }
|
|
26
|
+
:where(a,button,input,[tabindex]):focus-visible { outline:2px solid var(--ring);
|
|
27
|
+
outline-offset:2px; border-radius: var(--radius-sm); }
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 1. Navbar (+ dropdown/mega-menu + breadcrumb)
|
|
33
|
+
Sticky top bar, **glass** (`--surface-glass` + `backdrop-filter: blur(20px)`) — Apple's
|
|
34
|
+
translucent nav. Anatomy: logo (left) · nav links (center) · primary CTA + "Sign in"
|
|
35
|
+
text link (right) · mobile hamburger. Slim height; hairline at the very bottom edge
|
|
36
|
+
only (optional). Links use **extensionless hrefs** (`/platform`, `/pricing`).
|
|
37
|
+
**Dropdown/mega-menu:** top items open a clean multi-column panel of grouped links +
|
|
38
|
+
short descriptions (white panel, soft shadow, large radius), built in **vanilla JS** —
|
|
39
|
+
hover on desktop, click/tap to toggle, ESC + click-outside to close, `aria-haspopup`/
|
|
40
|
+
`aria-expanded`, arrow-key nav. States: link hover muted→primary; active link
|
|
41
|
+
`aria-current="page"`. Mobile: full-screen overlay, accordion sub-menus, focus-trap,
|
|
42
|
+
ESC. **Breadcrumb** (docs/blog/case studies): `<nav aria-label="Breadcrumb"><ol>` of
|
|
43
|
+
extensionless links, muted text, current page not linked.
|
|
44
|
+
|
|
45
|
+
## 2. Hero
|
|
46
|
+
Layout H-A (centered, default) or H-B split. Anatomy: eyebrow · big display H1
|
|
47
|
+
(optional `--grad-text` on one word) · short `.lead` · CTA pair (primary + text link)
|
|
48
|
+
· large centered product image/preview, optional soft `--grad-hero` glow + gentle
|
|
49
|
+
scroll parallax. One H1, one primary CTA. a11y: real `<h1>`; decorative glow `aria-hidden`.
|
|
50
|
+
|
|
51
|
+
## 3. Feature Grid
|
|
52
|
+
`.grid.cols-3` (→2→1) of soft `.card`s: icon (simple line/duotone, no AI clichés) · H3
|
|
53
|
+
· body. Optional `.btn-text` "Learn more". Hover: gentle shadow lift. Generous gaps.
|
|
54
|
+
|
|
55
|
+
## 4. Bento Grid
|
|
56
|
+
Asymmetric soft-card grid. `display:grid; grid-auto-rows: minmax(200px,auto)` with
|
|
57
|
+
tiles spanning 1–2 cols/rows. Mix: one large product/preview tile + smaller stat/
|
|
58
|
+
feature tiles. Large radii, soft shadows, plenty of internal padding. Collapse to one
|
|
59
|
+
column on mobile. ≤ one subtle gradient across the whole grid.
|
|
60
|
+
|
|
61
|
+
## 5. Testimonials
|
|
62
|
+
Either a 3-up quote-card grid or a single large featured quote + author. Anatomy:
|
|
63
|
+
quote (H3-ish, `--text-primary`) · avatar · name · role/company · optional logo.
|
|
64
|
+
Optional carousel. a11y: `<blockquote>` + `<cite>`; carousel prev/next + `aria-roledescription`.
|
|
65
|
+
|
|
66
|
+
## 6. Logos Section (social proof)
|
|
67
|
+
"Trusted by" eyebrow + a clean row/grid of customer logos in neutral gray
|
|
68
|
+
(`opacity:.55; filter: grayscale(1)`), darkening on hover. Optional slow pausable
|
|
69
|
+
marquee. Lots of whitespace. a11y: each logo `<img alt="Company">`.
|
|
70
|
+
|
|
71
|
+
## 7. Pricing
|
|
72
|
+
Layout P-A/P-B. Tier `.card`: name · price (tabular-nums, large, semibold) · period ·
|
|
73
|
+
feature list (check icons) · CTA. Highlighted tier: accent ring + soft shadow + "Most
|
|
74
|
+
popular" pill. Monthly/annual toggle updates amounts. Enterprise = "Contact sales".
|
|
75
|
+
a11y: toggle is a real `role="switch"`/radio; lists are `<ul>`.
|
|
76
|
+
|
|
77
|
+
## 8. FAQ
|
|
78
|
+
Layout Q-A accordion. Each item: `<button>` question (full-width, chevron) controlling
|
|
79
|
+
a collapsible answer. Animate height/opacity. Hairline divider **within** the list is
|
|
80
|
+
fine (this is a component, not a section break). a11y: `aria-expanded`, `aria-controls`.
|
|
81
|
+
|
|
82
|
+
## 9. CTA
|
|
83
|
+
Layout C-A: soft `--bg-muted` or white panel (no border), big centered H2, supporting
|
|
84
|
+
line, primary + text-link CTA, generous air. Use `--section-y-lg`.
|
|
85
|
+
|
|
86
|
+
## 10. Footer
|
|
87
|
+
Layout FT-A: brand · 4–6 link columns (Product, Developers, Company, Resources, Legal)
|
|
88
|
+
· locale + social · bottom legal row. Small gray text (`--text-muted`), generous space,
|
|
89
|
+
white or `--bg-muted` panel; optional hairline at the very top edge only. a11y:
|
|
90
|
+
`<footer>`, link lists in `<nav>`.
|
|
91
|
+
|
|
92
|
+
## 11. Dashboard Preview
|
|
93
|
+
A framed product screenshot/mock in a clean browser/app chrome (Layout D-A): light top
|
|
94
|
+
bar, sidebar, content. Large radius, `--shadow-lg`, subtle float; often inside Hero or
|
|
95
|
+
a feature section, sometimes with soft parallax. Real-looking data, not lorem.
|
|
96
|
+
Decorative → `aria-hidden`; informative → alt text.
|
|
97
|
+
|
|
98
|
+
## 12. Agent Workflow Section
|
|
99
|
+
A clean step pipeline: nodes (steps) connected by thin connectors, each a soft `.card`
|
|
100
|
+
with simple icon + label (e.g. Plan → Retrieve → Act → Verify). Animate sequential
|
|
101
|
+
reveal on scroll. a11y: ordered `<ol>` text equivalent.
|
|
102
|
+
|
|
103
|
+
## 13. Code Preview
|
|
104
|
+
Mono code block in a `.card` with a light window header (filename tab, copy button).
|
|
105
|
+
Subtle, low-saturation syntax tint (don't over-color). `--font-mono`, `--fs-small`,
|
|
106
|
+
line-height 1.55, horizontal scroll on mobile. a11y: `<pre><code>`; copy button `aria-label`.
|
|
107
|
+
|
|
108
|
+
## 14. Terminal Preview
|
|
109
|
+
Clean terminal `.card` (light or near-white, Apple-Terminal-on-light feel): header with
|
|
110
|
+
title, body with prompt lines; optional typewriter. Reduced-motion: show final state.
|
|
111
|
+
a11y: real text, not an image.
|
|
112
|
+
|
|
113
|
+
## 15. Trust Section
|
|
114
|
+
Metrics band: 3–4 big numbers (tabular-nums, large semibold) + muted labels (uptime,
|
|
115
|
+
customers, requests, latency). Lots of whitespace; accent on the numbers only. Animate
|
|
116
|
+
count-up on reveal but render final value in DOM. a11y: numbers + labels as text.
|
|
117
|
+
|
|
118
|
+
## 16. Security Section
|
|
119
|
+
Enterprise security/compliance: badges (SOC 2, ISO 27001, GDPR, HIPAA) + short
|
|
120
|
+
assurances (encryption, SSO/SAML, data residency, audit logs) in a clean icon list +
|
|
121
|
+
`.btn-text` "Read our security docs". Calm, factual. a11y: badges have alt text.
|
|
122
|
+
|
|
123
|
+
## 17. Enterprise Section
|
|
124
|
+
"Built for enterprise" panel: value props (SSO, RBAC, SLAs, dedicated support,
|
|
125
|
+
on-prem/VPC) in 2–3 columns + "Talk to sales" CTA and optional logo wall. Pairs with
|
|
126
|
+
Security + Trust to close enterprise buyers. Soft panel, no border.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Component rules
|
|
131
|
+
- Compose from shared `.btn`/`.card`/tokens — no bespoke colors or radii per component.
|
|
132
|
+
- Every interactive element has hover **and** `:focus-visible` states.
|
|
133
|
+
- Every component is responsive to single-column by `md`/`sm`.
|
|
134
|
+
- Decorative visuals are `aria-hidden`; informative ones have text equivalents.
|
|
135
|
+
- Restraint: ≤ one subtle gradient per component; hairlines only inside cards/inputs/
|
|
136
|
+
in-component dividers — **never between page sections**.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Design Principles — Apple Premium Minimal
|
|
2
|
+
|
|
3
|
+
The philosophy distilled from Apple plus premium-minimal peers (Linear, Stripe,
|
|
4
|
+
Vercel, Notion) and modern AI sites (OpenAI, Anthropic, Perplexity).
|
|
5
|
+
|
|
6
|
+
## The one-sentence philosophy
|
|
7
|
+
|
|
8
|
+
**Clarity through restraint:** a light, calm canvas, enormous whitespace, big
|
|
9
|
+
confident type, and one quiet accent — so the product and the message are the only
|
|
10
|
+
things that matter on screen.
|
|
11
|
+
|
|
12
|
+
## Core principles (Apple's lineage: clarity · deference · depth)
|
|
13
|
+
|
|
14
|
+
1. **Clarity first.** Content is legible at every size; function drives the design.
|
|
15
|
+
Nothing decorative competes with the message.
|
|
16
|
+
2. **Deference.** The UI gets out of the way — light backgrounds, minimal chrome,
|
|
17
|
+
subtle motion. The product imagery and copy are the heroes.
|
|
18
|
+
3. **Depth without weight.** Convey hierarchy with **whitespace, scale, soft elevation,
|
|
19
|
+
and gentle background panels**, not boxes and borders.
|
|
20
|
+
4. **Whitespace is the design.** Generous section padding and roomy line-height make
|
|
21
|
+
the page feel premium and effortless. Crowding reads as cheap.
|
|
22
|
+
5. **Typography carries it.** Large, tight, semibold headlines + a clean body ramp do
|
|
23
|
+
most of the visual work. Most "interest" is type scale and air, not graphics.
|
|
24
|
+
6. **One accent, used sparingly.** A single accent (default Apple blue) marks the
|
|
25
|
+
primary action and links. Everything else is neutral.
|
|
26
|
+
7. **Hairlines, not boxes.** Use thin hairline borders only on cards/inputs/dividers
|
|
27
|
+
within a component — **never to separate sections**. Prefer space and a soft panel
|
|
28
|
+
color change.
|
|
29
|
+
8. **Quiet, precise motion.** Smooth scroll reveals and subtle product parallax; short,
|
|
30
|
+
eased transitions. Nothing bounces or shouts. Always honor `prefers-reduced-motion`.
|
|
31
|
+
9. **Centered, product-first layouts.** Big centered hero with the product front and
|
|
32
|
+
center; alternating focused sections below. Symmetry feels calm and premium.
|
|
33
|
+
10. **Consistency over novelty.** Reuse tokens and components everywhere; restraint and
|
|
34
|
+
coherence beat clever one-offs.
|
|
35
|
+
|
|
36
|
+
## Visual-hierarchy laws
|
|
37
|
+
|
|
38
|
+
- **One H1 per page**, the largest thing on screen; everything steps down clearly.
|
|
39
|
+
- **Contrast ladder:** primary text near-black, secondary mid-gray, tertiary lighter —
|
|
40
|
+
never three near-equal grays competing. Keep grays readable (AA).
|
|
41
|
+
- **One primary CTA per viewport.** Secondary actions are quiet text/ghost links.
|
|
42
|
+
- **Group by space + a soft panel**, not by drawing boxes around everything.
|
|
43
|
+
- **Accent = importance.** Reserve the accent color for the single most important
|
|
44
|
+
action/link in a section.
|
|
45
|
+
- **Center the key moment.** Heroes and big statements are centered; supporting detail
|
|
46
|
+
can use split or grid layouts.
|
|
47
|
+
|
|
48
|
+
## Reference cues (what each does well)
|
|
49
|
+
|
|
50
|
+
- **Apple:** giant bold headlines, huge whitespace, alternating white/gray panels,
|
|
51
|
+
product-centered heroes, smooth scroll/parallax, near-zero borders.
|
|
52
|
+
- **Linear:** crisp minimal type, subtle gradients on dark/light, precise spacing.
|
|
53
|
+
- **Stripe:** elegant light gradients, clean docs/dev aesthetic, refined motion.
|
|
54
|
+
- **Vercel / Notion:** clean black-on-white minimalism, generous space, calm tone.
|
|
55
|
+
- **OpenAI / Anthropic / Perplexity:** restraint, clarity, trust through simplicity.
|
|
56
|
+
|
|
57
|
+
## Do / Don't
|
|
58
|
+
|
|
59
|
+
**Do:** light airy canvas · soft white↔gray section panels · huge bold tight headlines ·
|
|
60
|
+
one accent · hairline borders on cards only · generous spacing · smooth quiet motion ·
|
|
61
|
+
big rounded buttons · real product imagery · visible focus states.
|
|
62
|
+
|
|
63
|
+
**Don't:** borders/lines between sections · heavy gradients everywhere · glass
|
|
64
|
+
overload · tiny low-contrast gray text · five competing CTAs · drop-shadow Bootstrap
|
|
65
|
+
cards · clutter · stock "AI brain" clichés · motion that bounces or autoplays loudly.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Example Page Structures — Apple Premium Minimal
|
|
2
|
+
|
|
3
|
+
Ready-to-assemble, section-by-section blueprints. Each section names a layout (see
|
|
4
|
+
`layout-system.md`) and components (see `component-library.md`). Use them as skeletons;
|
|
5
|
+
swap copy/data for the brand. Premium minimal: centered moments, alternating white ↔
|
|
6
|
+
`--bg-muted` panels, generous space, **no borders between sections**.
|
|
7
|
+
|
|
8
|
+
Legend: layout codes `H-*, F-*, P-*, C-*, Q-*, FT-*` · components by name.
|
|
9
|
+
|
|
10
|
+
## MANDATORY: 15+ page site map (≈20), 10+ sections/page, clean URLs
|
|
11
|
+
|
|
12
|
+
Always ship a **full multipage website with 15+ pages (≈20)** — never a single landing
|
|
13
|
+
page. Every page carries **at least 10 sections (≈12)**, with **no borders/dividers
|
|
14
|
+
between sections** (separate by whitespace + alternating white/muted panels). Pure
|
|
15
|
+
HTML/CSS/vanilla JS, **extensionless URLs**. The required 20-page map:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
/ Home /customers Customers
|
|
19
|
+
/platform Platform /case-studies Case Studies
|
|
20
|
+
/solutions Solutions /developers Developers
|
|
21
|
+
/products Products /docs Documentation ← + DOC-A subpages
|
|
22
|
+
/features Features /about About
|
|
23
|
+
/ai-agents AI Agents /careers Careers
|
|
24
|
+
/enterprise Enterprise /blog Blog ← + article pages
|
|
25
|
+
/security Security /contact Contact
|
|
26
|
+
/pricing Pricing /partners Partners
|
|
27
|
+
/resources Resources /faq FAQ
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Add product/solution/blog/doc subpages freely. Each blueprint below is a **10-section**
|
|
31
|
+
skeleton — extend toward 12 per page, never fewer than 10. Every page must include:
|
|
32
|
+
**Hero · Feature Sections · Product Highlights · Trust Signals · Testimonials · Use
|
|
33
|
+
Cases · Statistics · Integrations · CTA · Footer.**
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 1. Home (default)
|
|
38
|
+
1. **Navbar** (glass, sticky) — logo · Product/Solutions/Pricing/Docs · "Sign in" text link + "Get started" primary
|
|
39
|
+
2. **Hero** `H-A` (centered) — eyebrow · big display H1 · short lead · primary + text-link CTA · large centered **Dashboard Preview**
|
|
40
|
+
3. **Logos Section** — "Trusted by" neutral-gray logo row
|
|
41
|
+
4. **Feature Sections** `F-B` alternating — 2–3 product stories (copy ↔ media), white/muted panels
|
|
42
|
+
5. **Product Highlights** `F-C` bento — capabilities in soft tiles
|
|
43
|
+
6. **Use Cases** `F-A` — 3-up audience/use-case cards
|
|
44
|
+
7. **Statistics** — Trust Section metrics (count-up)
|
|
45
|
+
8. **Testimonials** — featured quote + 3-up grid
|
|
46
|
+
9. **Integrations** — logo/app grid + "See all integrations" text link
|
|
47
|
+
10. **CTA** `C-A` + **Footer** `FT-A`
|
|
48
|
+
|
|
49
|
+
## 2. Platform / Product pages
|
|
50
|
+
1. Navbar · 2. **Hero** `H-A/H-B` (product centered) · 3. Feature story `F-B` · 4.
|
|
51
|
+
**Product Highlights** bento · 5. **Dashboard/Code Preview** · 6. Use Cases · 7.
|
|
52
|
+
Integrations · 8. **Statistics** · 9. Testimonials · 10. CTA + Footer
|
|
53
|
+
|
|
54
|
+
## 3. Enterprise / Security
|
|
55
|
+
1. Navbar · 2. **Hero** (outcome-led, "Book a demo") · 3. Logos · 4. Feature Sections
|
|
56
|
+
`F-B` · 5. **Enterprise Section** (SSO/RBAC/SLAs/VPC) · 6. **Security Section** (SOC 2/
|
|
57
|
+
ISO/GDPR/HIPAA) · 7. **Statistics**/ROI · 8. Testimonials (exec quotes) · 9. CTA `C-B`
|
|
58
|
+
(contact form) · 10. Footer
|
|
59
|
+
|
|
60
|
+
## 4. Developers / Documentation
|
|
61
|
+
- **Developers:** Navbar · Hero `H-B` (copy + **Code/Terminal Preview**) · Logos ·
|
|
62
|
+
**Code Preview** (tabbed) · Product Highlights bento · Use Cases · Integrations ·
|
|
63
|
+
Statistics · CTA ("Read the docs" + "Get API key") · Footer (≥10).
|
|
64
|
+
- **Docs:** Layout `DOC-A` three-pane (left nav · prose `--container-md` · right TOC),
|
|
65
|
+
sticky glass top bar with search, mono Code Previews, callouts, breadcrumb, prev/next.
|
|
66
|
+
|
|
67
|
+
## 5. Pricing
|
|
68
|
+
1. Navbar · 2. **Hero** (short, value-led) + monthly/annual toggle · 3. **Pricing**
|
|
69
|
+
`P-A/P-B` · 4. Feature comparison grid · 5. **Enterprise** band · 6. Trust Signals
|
|
70
|
+
(logos) · 7. **Statistics** · 8. Testimonials · 9. **FAQ** `Q-A` · 10. CTA + Footer
|
|
71
|
+
|
|
72
|
+
## 6. Content pages (About, Careers, Customers, Case Studies, Blog, Partners, Resources, Contact, FAQ)
|
|
73
|
+
Each still reaches **≥10 sections** by composing: Hero → relevant body sections
|
|
74
|
+
(values/timeline, open roles, customer grid, story bento, article list, partner tiers,
|
|
75
|
+
resource cards, contact form) → Trust Signals → Testimonials → Statistics →
|
|
76
|
+
Integrations/partners → CTA → Footer. Pad with genuinely useful sections, never filler.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Assembly notes
|
|
81
|
+
- **Scale is mandatory:** 15+ pages, **≥10 sections each**. Never a single page or a thin page.
|
|
82
|
+
- Keep the **rhythm**: hero → proof → feature stories → product/dev proof → trust →
|
|
83
|
+
social proof → pricing → FAQ → CTA → footer. Open with a strong centered hero, close
|
|
84
|
+
with one clear CTA.
|
|
85
|
+
- **No borders/dividers between sections** — separate with whitespace + alternating
|
|
86
|
+
white ↔ `--bg-muted` panels. One layout + one idea per section.
|
|
87
|
+
- Choose hero variant by content: product-centric → `H-A` centered; copy+preview →
|
|
88
|
+
`H-B` split; big visual → `H-C`.
|
|
89
|
+
- Prefer real content; reach ≥10 sections with useful additions (FAQ, trust, security,
|
|
90
|
+
integrations, resources), never filler.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Layout & Grid System — Apple Premium Minimal
|
|
2
|
+
|
|
3
|
+
A 12-column fluid grid + a set of canonical, reusable section layouts in the Apple
|
|
4
|
+
premium-minimal idiom: centered heroes, focused alternating sections, soft panels,
|
|
5
|
+
**no borders between sections**.
|
|
6
|
+
|
|
7
|
+
## Grid
|
|
8
|
+
|
|
9
|
+
```css
|
|
10
|
+
:root { --grid-cols: 12; --grid-gap: clamp(20px, 2.4vw, 32px); }
|
|
11
|
+
|
|
12
|
+
.grid { display: grid; gap: var(--grid-gap);
|
|
13
|
+
grid-template-columns: repeat(var(--grid-cols), 1fr); }
|
|
14
|
+
|
|
15
|
+
/* Responsive helpers (mobile-first) */
|
|
16
|
+
.cols-1 { grid-template-columns: 1fr; }
|
|
17
|
+
.cols-2 { grid-template-columns: repeat(2, 1fr); }
|
|
18
|
+
.cols-3 { grid-template-columns: repeat(3, 1fr); }
|
|
19
|
+
.cols-4 { grid-template-columns: repeat(4, 1fr); }
|
|
20
|
+
@media (max-width: 900px){ .cols-3,.cols-4 { grid-template-columns: repeat(2,1fr); } }
|
|
21
|
+
@media (max-width: 600px){ .cols-2,.cols-3,.cols-4 { grid-template-columns: 1fr; } }
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Breakpoints: `sm 480` · `md 768` · `lg 1024` · `xl 1280` · `2xl 1440`. Design
|
|
25
|
+
mobile-first; collapse multi-column layouts to a single column by `md`.
|
|
26
|
+
|
|
27
|
+
## Canonical section layouts
|
|
28
|
+
|
|
29
|
+
### Hero layouts
|
|
30
|
+
- **H-A Center stage (default, Apple signature):** centered eyebrow → big display H1 →
|
|
31
|
+
short lead → CTA pair (often text links "Learn more ›" + "Buy"/"Get started") →
|
|
32
|
+
large product image/preview centered below, optionally with soft parallax.
|
|
33
|
+
- **H-B Split:** left = copy + CTAs (6 cols), right = product UI/preview (6 cols).
|
|
34
|
+
Collapses to stacked on `md`.
|
|
35
|
+
- **H-C Full-bleed media:** short centered copy over/above a large full-width product
|
|
36
|
+
visual on a `--bg-muted` panel.
|
|
37
|
+
|
|
38
|
+
### Feature layouts
|
|
39
|
+
- **F-A 3-up cards:** `.grid.cols-3` of icon/title/text on soft cards.
|
|
40
|
+
- **F-B Alternating rows:** copy ↔ media, flipping sides each row (Apple "feature
|
|
41
|
+
story" rhythm) — lots of whitespace between.
|
|
42
|
+
- **F-C Bento grid:** asymmetric soft-card tiles of varying span (modern minimal).
|
|
43
|
+
- **F-D Big statement:** one centered oversized headline + short line, minimal else
|
|
44
|
+
(Apple's full-viewport statement moments).
|
|
45
|
+
|
|
46
|
+
### Pricing layouts
|
|
47
|
+
- **P-A 3-tier:** `.grid.cols-3`, middle tier highlighted (accent + soft shadow,
|
|
48
|
+
"Most popular"). Monthly/annual toggle above.
|
|
49
|
+
- **P-B 2-tier + enterprise:** two cards + a wide "Contact sales" enterprise panel.
|
|
50
|
+
|
|
51
|
+
### CTA layouts
|
|
52
|
+
- **C-A Centered band:** soft `--bg-muted` (or white) panel, big H2, one primary + one
|
|
53
|
+
text-link CTA, lots of air. Use `--section-y-lg`. No border.
|
|
54
|
+
- **C-B Split CTA:** copy left, single action/form right.
|
|
55
|
+
|
|
56
|
+
### FAQ layouts
|
|
57
|
+
- **Q-A Accordion list** (single column, `--container-md`) — most common.
|
|
58
|
+
- **Q-B Two-column** Q/A grid for many short items.
|
|
59
|
+
|
|
60
|
+
### Footer layouts
|
|
61
|
+
- **FT-A Mega footer:** brand + 4–6 link columns + legal row + locale/social. Apple-
|
|
62
|
+
style: small gray text, hairline only at the very top edge (optional), generous space.
|
|
63
|
+
- **FT-B Minimal:** brand + condensed links + legal.
|
|
64
|
+
|
|
65
|
+
### Dashboard / app layouts (for product/preview pages)
|
|
66
|
+
- **D-A Shell:** left sidebar + top bar + content grid (inside Dashboard Preview and
|
|
67
|
+
product screenshots).
|
|
68
|
+
|
|
69
|
+
### Documentation layouts
|
|
70
|
+
- **DOC-A Three-pane:** left nav tree + center prose (`--container-md`) + right TOC;
|
|
71
|
+
mono code blocks; sticky nav; hairline dividers allowed *within* docs (not between
|
|
72
|
+
marketing sections).
|
|
73
|
+
|
|
74
|
+
## Composition rules
|
|
75
|
+
|
|
76
|
+
1. **Separate sections by panel color + space, NEVER borders.** Alternate `--bg-white`
|
|
77
|
+
and `--bg-muted` (add `.section--muted`) and rely on `--section-y` padding. No
|
|
78
|
+
`border-top/bottom`, `<hr>`, or divider element between sections.
|
|
79
|
+
2. **Full-bleed panel, contained content:** sections span edge-to-edge with their panel
|
|
80
|
+
color; inner `.container` constrains content (often `--container-lg`/`xl`).
|
|
81
|
+
3. **One layout + one idea per section.** Don't nest two complex layouts.
|
|
82
|
+
4. **At least 10 sections per page**, and the **site has 15+ pages** — compose richly;
|
|
83
|
+
never a thin page or single-page site.
|
|
84
|
+
5. **Rhythm:** Hero → social proof (logos) → feature stories (F-B/F-A) → product/dev
|
|
85
|
+
proof → testimonials/metrics → pricing → FAQ → final CTA → footer (extend to ≥10).
|
|
86
|
+
6. **Vertical rhythm** comes from `--section-y`; horizontal from the 12-col grid +
|
|
87
|
+
`--gutter`. Never hand-tune one-off margins.
|
|
88
|
+
7. **Center the key moments.** Heroes and big statements centered; detail can be split
|
|
89
|
+
or grid. Symmetry reads premium and calm.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Motion System — Apple Premium Minimal
|
|
2
|
+
|
|
3
|
+
Smooth, quiet, precise. Motion in the Apple idiom is subtle scroll reveals, gentle
|
|
4
|
+
product parallax, and short eased transitions — it elevates without distracting.
|
|
5
|
+
Everything degrades gracefully under `prefers-reduced-motion`.
|
|
6
|
+
|
|
7
|
+
Distilled from Apple (scroll-driven product reveals/parallax), Linear/Stripe (precise
|
|
8
|
+
micro-interactions), and OpenAI/Anthropic/Perplexity (restraint).
|
|
9
|
+
|
|
10
|
+
## Tokens
|
|
11
|
+
|
|
12
|
+
```css
|
|
13
|
+
:root {
|
|
14
|
+
--dur-fast: 150ms; --dur-base: 250ms; --dur-slow: 400ms; --dur-slower: 700ms;
|
|
15
|
+
--ease-out: cubic-bezier(0.22, 1, 0.36, 1); /* primary — soft decelerate */
|
|
16
|
+
--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
|
|
17
|
+
--ease-apple: cubic-bezier(0.28, 0.11, 0.32, 1); /* Apple-like ease */
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Principles
|
|
22
|
+
1. **Smooth + eased.** Most transitions 150–400ms with `--ease-out`/`--ease-apple`.
|
|
23
|
+
Reserve 700ms for large scroll reveals/parallax.
|
|
24
|
+
2. **Move a little.** Translate 8–24px, scale 1.0→1.02. Apple's product moves are
|
|
25
|
+
gentle and graceful, never snappy or bouncy.
|
|
26
|
+
3. **Animate cheap properties:** `transform` + `opacity` only (GPU-friendly).
|
|
27
|
+
4. **Purposeful + premium.** Motion reveals content, adds depth, or confirms an action.
|
|
28
|
+
No looping decoration.
|
|
29
|
+
5. **One focal animation per viewport.** Calm, not busy.
|
|
30
|
+
|
|
31
|
+
## Patterns
|
|
32
|
+
|
|
33
|
+
- **Scroll reveal (signature):** elements start `opacity:0; translateY(20px)`, animate
|
|
34
|
+
to visible via `IntersectionObserver` adding `.in`, `--dur-slow`/`--dur-slower`
|
|
35
|
+
`--ease-out`, gentle **stagger** ~80–100ms. Reveal once.
|
|
36
|
+
- **Product parallax:** hero/feature product image translates a few px slower than
|
|
37
|
+
scroll (subtle), or scales slightly as it enters. Disable for reduced motion/touch.
|
|
38
|
+
- **Hover (cards/links):** soft shadow lift (`--shadow-sm`→`--shadow-md`) + optional
|
|
39
|
+
`translateY(-2px)` over `--dur-base`. Buttons: bg shift, `scale(0.98)` on press.
|
|
40
|
+
- **Nav on scroll:** glass blur + faint bottom hairline appear after ~24px scroll.
|
|
41
|
+
- **Section/page transitions:** soft cross-fade + small rise; no harsh wipes.
|
|
42
|
+
- **Micro-interactions:** copy-button check swap, toggle slide, accordion height +
|
|
43
|
+
chevron rotate (`--dur-base`), tab underline slide.
|
|
44
|
+
- **Count-up / typewriter:** Trust metrics count up on reveal; terminal types a
|
|
45
|
+
command. Always render the final value/text in the DOM.
|
|
46
|
+
- **Marquee (logos):** slow, linear, infinite, **pausable on hover**; duplicate track.
|
|
47
|
+
|
|
48
|
+
## Reduced motion (required)
|
|
49
|
+
|
|
50
|
+
```css
|
|
51
|
+
@media (prefers-reduced-motion: reduce) {
|
|
52
|
+
*, *::before, *::after { animation-duration:.001ms !important;
|
|
53
|
+
animation-iteration-count:1 !important; transition-duration:.001ms !important;
|
|
54
|
+
scroll-behavior:auto !important; }
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
Under reduced motion: reveal elements in their final state immediately, stop
|
|
58
|
+
parallax/marquees/typewriters/count-ups at final values.
|
|
59
|
+
|
|
60
|
+
## Minimal reveal JS (vanilla)
|
|
61
|
+
|
|
62
|
+
```js
|
|
63
|
+
const io = new IntersectionObserver((entries) => {
|
|
64
|
+
entries.forEach((e,i) => { if(e.isIntersecting){
|
|
65
|
+
e.target.style.transitionDelay = `${Math.min(i*90, 360)}ms`;
|
|
66
|
+
e.target.classList.add('in'); io.unobserve(e.target);
|
|
67
|
+
}});
|
|
68
|
+
}, { threshold: 0.15 });
|
|
69
|
+
document.querySelectorAll('[data-reveal]').forEach(el => io.observe(el));
|
|
70
|
+
```
|
|
71
|
+
```css
|
|
72
|
+
[data-reveal]{ opacity:0; transform: translateY(20px);
|
|
73
|
+
transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out); }
|
|
74
|
+
[data-reveal].in{ opacity:1; transform:none; }
|
|
75
|
+
```
|