7k-design-system 1.1.0 → 1.2.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/CHANGELOG.md +34 -0
- package/CONSUMER_GUIDE.md +109 -50
- package/DESIGN.md +631 -439
- package/README.md +76 -75
- package/SKILL.md +107 -78
- package/build/icons/icon-7kgroup-light.svg +10 -0
- package/build/icons/icon-7kgroup.svg +10 -0
- package/build/icons/icon-7kminato-light.svg +10 -0
- package/build/icons/icon-7kminato.svg +10 -0
- package/build/icons/icon-base.svg +10 -0
- package/build/icons/icon-inari-light.svg +10 -0
- package/build/icons/icon-inari.svg +10 -0
- package/dist/7k-design-system.css +1 -1
- package/dist/animations.css +1 -1
- package/dist/build/icons/icon-7kgroup-light.svg +10 -0
- package/dist/build/icons/icon-7kgroup.svg +10 -0
- package/dist/build/icons/icon-7kminato-light.svg +10 -0
- package/dist/build/icons/icon-7kminato.svg +10 -0
- package/dist/build/icons/icon-base.svg +10 -0
- package/dist/build/icons/icon-inari-light.svg +10 -0
- package/dist/build/icons/icon-inari.svg +10 -0
- package/dist/components.css +1 -1
- package/dist/mockServiceWorker.js +361 -0
- package/dist/projects.css +1 -0
- package/dist/react/components/Alert.d.ts +2 -0
- package/dist/react/components/Avatar.d.ts +2 -0
- package/dist/react/{react/components → components}/Badge.d.ts +0 -1
- package/dist/react/{react/components → components}/Button.d.ts +0 -1
- package/dist/react/components/Card.d.ts +4 -0
- package/dist/react/components/Checkbox.d.ts +2 -0
- package/dist/react/components/Drawer.d.ts +2 -0
- package/dist/react/components/Icon.d.ts +2 -0
- package/dist/react/{react/components → components}/Input.d.ts +0 -1
- package/dist/react/components/IsometricBackground.d.ts +2 -0
- package/dist/react/components/Listbox.d.ts +2 -0
- package/dist/react/components/Modal.d.ts +4 -0
- package/dist/react/components/Nav.d.ts +3 -0
- package/dist/react/components/Progress.d.ts +2 -0
- package/dist/react/components/ProjectIcon.d.ts +6 -0
- package/dist/react/components/Radio.d.ts +2 -0
- package/dist/react/components/Select.d.ts +3 -0
- package/dist/react/components/Skeleton.d.ts +2 -0
- package/dist/react/components/Spinner.d.ts +2 -0
- package/dist/react/components/Tabs.d.ts +8 -0
- package/dist/react/components/TextureOverlay.d.ts +2 -0
- package/dist/react/components/Toast.d.ts +2 -0
- package/dist/react/components/Toggle.d.ts +2 -0
- package/dist/react/components/Tooltip.d.ts +2 -0
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.d.ts +32 -0
- package/dist/react/index.js +1188 -128
- package/dist/react/mockServiceWorker.js +361 -0
- package/dist/react/theme/ProjectProvider.d.ts +14 -0
- package/dist/react/{react/theme → theme}/ThemeContext.d.ts +0 -1
- package/dist/react/{react/theme → theme}/ThemeProvider.d.ts +0 -1
- package/dist/react/theme/projects.d.ts +4 -0
- package/dist/react/theme/useProject.d.ts +2 -0
- package/dist/react/{react/theme → theme}/useTheme.d.ts +0 -1
- package/dist/react/types.d.ts +160 -0
- package/dist/textures.css +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +49 -35
- package/dist/preview/brand-assets.html +0 -83
- package/dist/preview/colors-primary.html +0 -101
- package/dist/preview/components-buttons.html +0 -84
- package/dist/preview/spacing-tokens.html +0 -79
- package/dist/preview/textures-backgrounds.html +0 -102
- package/dist/preview/typography-specimens.html +0 -73
- package/dist/react/react/components/Badge.stories.d.ts +0 -12
- package/dist/react/react/components/Button.stories.d.ts +0 -16
- package/dist/react/react/components/Input.stories.d.ts +0 -11
- package/dist/react/react/components/ThemeToggle.stories.d.ts +0 -7
- package/dist/react/react/index.d.ts +0 -8
- package/dist/react/react/types.d.ts +0 -33
- package/dist/react/stories/Components.stories.d.ts +0 -10
- package/dist/react/stories/Textures.stories.d.ts +0 -11
- package/preview/brand-assets.html +0 -83
- package/preview/colors-primary.html +0 -101
- package/preview/components-buttons.html +0 -84
- package/preview/spacing-tokens.html +0 -79
- package/preview/textures-backgrounds.html +0 -102
- package/preview/typography-specimens.html +0 -73
- /package/build/{icon.svg → icons/icon.svg} +0 -0
- /package/build/{logo-7k-light.svg → logos/logo-7k-light.svg} +0 -0
- /package/build/{logo-7k.svg → logos/logo-7k.svg} +0 -0
- /package/dist/build/{icon.svg → icons/icon.svg} +0 -0
- /package/dist/build/{logo-7k-light.svg → logos/logo-7k-light.svg} +0 -0
- /package/dist/build/{logo-7k.svg → logos/logo-7k.svg} +0 -0
- /package/dist/react/{react/components → components}/ThemeToggle.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# 7k-design-system
|
|
2
2
|
|
|
3
|
-
> Dark-first, neon-accented
|
|
4
|
-
> Built for midnight. Three-font system.
|
|
3
|
+
> Dark-first, neon-accented design system for multi-project tech company 7K.
|
|
4
|
+
> Built for midnight. Three-font system. Major neon #FF0FF. Secondary neon cyan (thematic per project). Background textures on components. Callouts & surfaces. Isometric animations.
|
|
5
5
|
|
|
6
6
|
## Product Overview
|
|
7
7
|
|
|
8
|
-
**7k-design-system** is a dark-first dual-theme design system created for 7K, a technology holding company with multiple sub-projects. The system embodies a Tokyo neon atmosphere — high contrast, nocturnal canvas, electric accents — combined with
|
|
8
|
+
**7k-design-system** is a dark-first dual-theme design system created for 7K, a technology holding company with multiple sub-projects. The system embodies a Tokyo neon atmosphere — high contrast, nocturnal canvas, electric accents — combined with high-contrast visual language using pure black and white textures.
|
|
9
9
|
|
|
10
10
|
**Source product:** 7K is a technology holding company that builds infrastructure, AI pipelines, and digital products across multiple sub-projects. This design system serves as the visual foundation for 7K and all its child projects, providing a unified design language that differentiates sub-projects through accent color overrides while maintaining consistent typography, spacing, component patterns, and animation systems across all surfaces.
|
|
11
11
|
|
|
@@ -13,48 +13,51 @@
|
|
|
13
13
|
|
|
14
14
|
The design system supports five primary surfaces:
|
|
15
15
|
|
|
16
|
-
| Surface
|
|
17
|
-
|
|
18
|
-
| **Company Website**
|
|
19
|
-
| **Product Dashboard**
|
|
20
|
-
| **Sub-project Landing** |
|
|
21
|
-
| **Internal Tools**
|
|
22
|
-
| **Mobile App**
|
|
16
|
+
| Surface | Description | Key Files |
|
|
17
|
+
| ----------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------- |
|
|
18
|
+
| **Company Website** | Dark landing pages with scanline heroes, project showcases, stats grids | `DESIGN.md` §1–5, `src/stories/Components.stories.tsx` |
|
|
19
|
+
| **Product Dashboard** | Data-dense admin interfaces with sidebar nav, tables, status cards | `src/react/components/`, `src/stories/Components.stories.tsx` |
|
|
20
|
+
| **Sub-project Landing** | Project pages with accent hue overrides (magenta = 7KGroup, cyan = 7KMinato, inari = Inari) | `DESIGN.md` §2 (accent tokens), `src/css/projects.css` |
|
|
21
|
+
| **Internal Tools** | CLI-like interfaces, monitoring panels, resource dashboards | `DESIGN.md` §3 (mono labels), `src/stories/Tokens.mdx` |
|
|
22
|
+
| **Mobile App** | Responsive adaptations with bottom tab nav, touch-friendly targets | `DESIGN.md` §5 (responsive grid), `src/stories/Components.stories.tsx` |
|
|
23
23
|
|
|
24
24
|
### Core Capabilities
|
|
25
25
|
|
|
26
26
|
The system provides these core capabilities:
|
|
27
27
|
|
|
28
28
|
- **Dark-first theming** with opt-in light mode via `data-theme="light"`
|
|
29
|
-
- **
|
|
29
|
+
- **Major neon accent** (#FF0FF magenta) + **secondary neon accent** (cyan by default, thematic per project)
|
|
30
30
|
- **Three-font system**: Geist Sans (display/body), Geist Mono (labels/code), Geist Pixel (5 geometric variants for ornamental use)
|
|
31
|
-
- **
|
|
32
|
-
- **40+
|
|
31
|
+
- **Texture categories**: scanline, halftone, dot matrix, stripes, crosshatch, checkerboard, noise, vignette, isometric, surfaces & callouts
|
|
32
|
+
- **40+ components**: sharp geometry, high-contrast borders, invert-on-hover, thin accent modifiers
|
|
33
|
+
- **Textured component variants**: halftone, scanline, noise, dots, crosshatch on cards, panels, modals, drawers, toasts, buttons
|
|
33
34
|
- **20+ animations**: ambient (scanline scroll, CRT flicker, neon pulse) and trigger (glitch, pixel-dots, invert-flash)
|
|
35
|
+
- **Isometric geometry animations**: combined animated background classes (`.isometric-grid-animated`, etc.)
|
|
34
36
|
- **Engineering-blueprint aesthetic**: mono labels as "connective tissue" throughout all surfaces
|
|
37
|
+
- **React UI kit**: 20+ TypeScript components wrapping the CSS system
|
|
35
38
|
|
|
36
39
|
## Source & Context References
|
|
37
40
|
|
|
38
41
|
Every design rule is grounded in the original brand brief (quoted inline in `DESIGN.md`):
|
|
39
42
|
|
|
40
|
-
| Evidence from Brief
|
|
41
|
-
|
|
42
|
-
| "We only have 1 font and it's Geist"
|
|
43
|
-
| "Our logo is just '7K'"
|
|
44
|
-
| "Our main brand color is #FF0FF"
|
|
45
|
-
| "Tech company with different projects" | Sub-project accent overrides
|
|
46
|
-
| "Tokyo's neon atmosphere"
|
|
47
|
-
| "
|
|
48
|
-
| "
|
|
49
|
-
| "Dark theme for websites"
|
|
43
|
+
| Evidence from Brief | Design Rule |
|
|
44
|
+
| -------------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
45
|
+
| "We only have 1 font and it's Geist" | Three-font system: Geist Sans + Geist Mono + Geist Pixel (5 variants) |
|
|
46
|
+
| "Our logo is just '7K'" | Star-burst pattern SVG logo with #FF0FF accent tones |
|
|
47
|
+
| "Our main brand color is #FF0FF" | Major magenta accent; cyan secondary (thematic per project) |
|
|
48
|
+
| "Tech company with different projects" | Sub-project accent overrides via `--brand-secondary` and `--accent-*` tokens |
|
|
49
|
+
| "Tokyo's neon atmosphere" | Dark near-black canvas (`#0A0A0D`), electric accents, no warm/beige tones |
|
|
50
|
+
| "High-contrast textures" | Pure black/white elements, texture patterns, surface & callout utilities, zero radius, 2px borders |
|
|
51
|
+
| "Stepped animations" | 20+ keyframes with step timing for retro digital feel |
|
|
52
|
+
| "Dark theme for websites" | Dark-first: `--bg-void: #000000`, `--bg-base: #0A0A0D`; light is opt-in |
|
|
50
53
|
|
|
51
54
|
## Package Contents
|
|
52
55
|
|
|
53
56
|
```
|
|
54
57
|
7k-design-system/
|
|
55
|
-
├── DESIGN.md # Canonical design system documentation
|
|
58
|
+
├── DESIGN.md # Canonical design system documentation
|
|
56
59
|
├── SKILL.md # Agent-facing usage guide with surface mapping
|
|
57
|
-
├──
|
|
60
|
+
├── CONSUMER_GUIDE.md # End-user integration guide
|
|
58
61
|
├── README.md # This file
|
|
59
62
|
├── package.json # npm package manifest
|
|
60
63
|
│
|
|
@@ -66,70 +69,64 @@ Every design rule is grounded in the original brand brief (quoted inline in `DES
|
|
|
66
69
|
├── fonts/ # Geist Pixel font files (preserved originals)
|
|
67
70
|
│ ├── GeistPixel-Square.ttf # 400 weight · pairs with magenta (7K parent)
|
|
68
71
|
│ ├── GeistPixel-Circle.ttf # 500 weight · pairs with cyan
|
|
69
|
-
│ ├── GeistPixel-Grid.ttf # 600 weight ·
|
|
70
|
-
│ ├── GeistPixel-Line.ttf # 700 weight ·
|
|
71
|
-
│ └── GeistPixel-Triangle.ttf # 800 weight · pairs with
|
|
72
|
+
│ ├── GeistPixel-Grid.ttf # 600 weight · neutral
|
|
73
|
+
│ ├── GeistPixel-Line.ttf # 700 weight · neutral
|
|
74
|
+
│ └── GeistPixel-Triangle.ttf # 800 weight · pairs with Inari
|
|
72
75
|
│
|
|
73
|
-
├──
|
|
74
|
-
│ ├──
|
|
75
|
-
│
|
|
76
|
-
│
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
│ └── brand-assets.html
|
|
76
|
+
├── src/ # Source code
|
|
77
|
+
│ ├── css/ # Modular CSS source files
|
|
78
|
+
│ └── react/ # TypeScript React UI kit
|
|
79
|
+
│
|
|
80
|
+
├── tests/ # Vitest test suite
|
|
81
|
+
├── src/stories/ # Storybook documentation
|
|
80
82
|
│
|
|
81
83
|
├── examples/legacy/ # Legacy UI kit (deprecated)
|
|
82
84
|
│ └── ui_kits/app/ # Applied React interface kit
|
|
83
|
-
│ ├── index.html # Runnable entry point (loads React 18 + CSS)
|
|
84
|
-
│ ├── README.md # UI kit documentation
|
|
85
|
-
│ └── components/ # 11 modular React components (plain JS, no JSX)
|
|
86
|
-
│ ├── Icon7k.js
|
|
87
|
-
│ ├── Navbar.js
|
|
88
|
-
│ ├── HeroSection.js
|
|
89
|
-
│ ├── PhilosophySection.js
|
|
90
|
-
│ ├── ProjectsSection.js
|
|
91
|
-
│ ├── StatsSection.js
|
|
92
|
-
│ ├── InteractiveSection.js
|
|
93
|
-
│ ├── DataSection.js
|
|
94
|
-
│ ├── EffectsSection.js
|
|
95
|
-
│ ├── OverlaySection.js
|
|
96
|
-
│ ├── CtaSection.js
|
|
97
|
-
│ ├── FooterSection.js
|
|
98
|
-
│ └── ThemeToggle.js
|
|
99
85
|
│
|
|
100
86
|
└── dist/ # Distribution build
|
|
101
|
-
├── 7k-design-system.css # Self-contained CSS
|
|
102
|
-
├──
|
|
87
|
+
├── 7k-design-system.css # Self-contained CSS bundle
|
|
88
|
+
├── tokens.css # Standalone tokens
|
|
89
|
+
├── components.css # Standalone components
|
|
90
|
+
├── textures.css # Standalone textures
|
|
91
|
+
├── animations.css # Standalone animations
|
|
92
|
+
├── projects.css # Standalone project overrides
|
|
103
93
|
├── fonts/ # Copied Geist Pixel files for distribution
|
|
104
|
-
|
|
105
|
-
└── preview/ # Copied preview cards for distribution
|
|
94
|
+
└── build/ # Copied brand assets for distribution
|
|
106
95
|
```
|
|
107
96
|
|
|
108
|
-
##
|
|
97
|
+
## Storybook
|
|
98
|
+
|
|
99
|
+
Run Storybook to preview components, textures, tokens, and themes interactively.
|
|
109
100
|
|
|
110
|
-
|
|
101
|
+
```bash
|
|
102
|
+
npm run storybook # Dev server at http://localhost:6006
|
|
103
|
+
npm run build-storybook # Static build for deployment
|
|
104
|
+
```
|
|
111
105
|
|
|
112
|
-
|
|
|
113
|
-
|
|
114
|
-
| **Colors
|
|
115
|
-
| **
|
|
116
|
-
| **
|
|
117
|
-
| **
|
|
118
|
-
| **
|
|
119
|
-
| **
|
|
106
|
+
| Story | Path | What It Demonstrates | Source-Backed Components |
|
|
107
|
+
| -------------------- | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
|
|
108
|
+
| **Colors & Tokens** | `src/stories/Tokens.mdx` | Magenta/cyan brand ramps, semantic brand tokens, neutral/status colors, typography scale, spacing, radii, shadows | `src/css/tokens.css`; `DESIGN.md` §2–4 |
|
|
109
|
+
| **Components** | `src/stories/Components.stories.tsx` | Modern neon button system (primary, glow, secondary, ghost, danger), cards, modals, drawers, toasts, tooltips, alerts, tabs, nav, inputs, toggles, selects, textareas, texture overlays | `src/react/components/`; `src/css/components.css` |
|
|
110
|
+
| **Textures** | `src/stories/Textures.stories.tsx` | All texture categories with density variants: scanline, halftone, dot matrix, stripes, crosshatch, checkerboard, noise, vignette, separators, surfaces & callouts | `src/css/textures.css`; `src/css/callouts.css`; `DESIGN.md` |
|
|
111
|
+
| **Icons & Logos** | `src/stories/Icons.stories.tsx` | Curated icon set, logo variants, brand application rules, contextual previews | `build/` directory; `src/react/components/Icon.tsx` |
|
|
112
|
+
| **Theme / Projects** | `src/stories/ThemeToggle.stories.tsx` | Light/dark/system theme switching and project accent overrides | `src/react/theme/`; `src/css/projects.css` |
|
|
113
|
+
| **Overview** | `src/stories/Overview.mdx` | Design principles, voice/tone, anti-patterns, reuse workflow | `DESIGN.md`; `SKILL.md`; `CONSUMER_GUIDE.md` |
|
|
120
114
|
|
|
121
115
|
## Quick Start
|
|
122
116
|
|
|
123
117
|
### Option 1: CDN (when published)
|
|
124
118
|
|
|
125
119
|
```html
|
|
126
|
-
<link
|
|
120
|
+
<link
|
|
121
|
+
rel="stylesheet"
|
|
122
|
+
href="https://cdn.jsdelivr.net/npm/7k-design-system@latest/dist/7k-design-system.css"
|
|
123
|
+
/>
|
|
127
124
|
```
|
|
128
125
|
|
|
129
126
|
### Option 2: Self-hosted
|
|
130
127
|
|
|
131
128
|
```html
|
|
132
|
-
<link rel="stylesheet" href="dist/7k-design-system.css"
|
|
129
|
+
<link rel="stylesheet" href="dist/7k-design-system.css" />
|
|
133
130
|
```
|
|
134
131
|
|
|
135
132
|
Copy the `dist/` folder to your project. Geist Pixel fonts will load from `dist/fonts/`.
|
|
@@ -137,7 +134,7 @@ Copy the `dist/` folder to your project. Geist Pixel fonts will load from `dist/
|
|
|
137
134
|
### Option 3: Source CSS
|
|
138
135
|
|
|
139
136
|
```html
|
|
140
|
-
<link rel="stylesheet" href="colors_and_type.css"
|
|
137
|
+
<link rel="stylesheet" href="colors_and_type.css" />
|
|
141
138
|
```
|
|
142
139
|
|
|
143
140
|
Requires self-hosting the `fonts/` directory for Geist Pixel variants.
|
|
@@ -150,12 +147,16 @@ Requires self-hosting the `fonts/` directory for Geist Pixel variants.
|
|
|
150
147
|
2. **Bind tokens** — Import `colors_and_type.css` (or `dist/7k-design-system.css` for external use)
|
|
151
148
|
3. **Override accent** — For child projects, set the appropriate `--accent-*` token:
|
|
152
149
|
```css
|
|
153
|
-
.project-
|
|
154
|
-
|
|
150
|
+
.project-7kminato {
|
|
151
|
+
--accent-7kminato: var(--cyan-500);
|
|
152
|
+
}
|
|
153
|
+
.project-inari {
|
|
154
|
+
--accent-inari: var(--inari-500);
|
|
155
|
+
}
|
|
155
156
|
```
|
|
156
|
-
4. **Preview tokens** —
|
|
157
|
-
5. **Reference UI kit** — Study `ui_kits/app/components/` for composition patterns; copy components into your project
|
|
158
|
-
6. **Use build assets** — Reference `build/logo-7k.svg` (dark), `build/logo-7k-light.svg` (light), `build/icon.svg` (app)
|
|
157
|
+
4. **Preview tokens** — Run `npm run storybook` and open the Colors, Tokens, Textures, and Components stories to verify values render correctly
|
|
158
|
+
5. **Reference UI kit** — Study `examples/legacy/ui_kits/app/components/` for composition patterns; copy React components from `src/react/components/` into your project
|
|
159
|
+
6. **Use build assets** — Reference `build/logos/logo-7k.svg` (dark), `build/logos/logo-7k-light.svg` (light), `build/icons/icon.svg` (app)
|
|
159
160
|
|
|
160
161
|
### For Developers
|
|
161
162
|
|
|
@@ -171,11 +172,11 @@ Requires self-hosting the `fonts/` directory for Geist Pixel variants.
|
|
|
171
172
|
}
|
|
172
173
|
```
|
|
173
174
|
4. **Apply textures** — Add classes like `.scanline`, `.halftone-md`, `.noise` to sections
|
|
174
|
-
5. **Use components** — Apply classes like `.btn-
|
|
175
|
+
5. **Use components** — Apply classes like `.btn-primary`, `.badge-success`, `.input`
|
|
175
176
|
|
|
176
177
|
## File Structure Notes
|
|
177
178
|
|
|
178
|
-
- **`build/`** — Preserved original brand assets. These are the source-of-truth SVGs referenced by `DESIGN.md` and
|
|
179
|
+
- **`build/`** — Preserved original brand assets. These are the source-of-truth SVGs referenced by `DESIGN.md` and Storybook. Do not modify.
|
|
179
180
|
- **`fonts/`** — Preserved original Geist Pixel TTF files. These are loaded via `@font-face` in `colors_and_type.css`. The files are also copied to `dist/fonts/` for distribution.
|
|
180
181
|
- **`source_examples/`** — Preserved high-signal component snapshots from the original dashboard UI kit. `App.js` and `Sidebar.js` demonstrate the app-shell layout pattern with state management, project cards, and accent-colored navigation.
|
|
181
182
|
- **`ui_kits/app/`** — Applied interface kit demonstrating a complete company landing page. Components use plain React (`React.createElement`, no JSX) for zero-build-step compatibility. Each component exposes `window.ComponentName` for cross-file composition.
|
package/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 7k-design-system
|
|
3
|
-
description: Dark, neon-accented
|
|
3
|
+
description: Dark-first, neon-accented design system for multi-project tech company 7K. Three-font system (Geist sans + Geist Mono + Geist Pixel 5 geometric variants), #FF0FF major neon + cyan secondary (thematic per project), Tokyo neon atmosphere with high-contrast texture punctuation. Background textures on components, surface & callout utilities, isometric geometry animations, 40+ components, 20+ animation keyframes. React TypeScript UI kit (Button, Input, Badge, Card, Modal, Drawer, Toast, Tooltip, Alert, Tabs, Nav, Checkbox, Radio, Toggle, Select, Textarea, ThemeToggle, ThemeProvider, ProjectProvider, useTheme, useProject). Production-ready npm package with Vite + PostCSS build, Vitest test suite, Storybook documentation.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -10,54 +10,51 @@ user-invocable: true
|
|
|
10
10
|
|
|
11
11
|
This package is organized as a Claude Design-style reusable skill. Each file below serves a specific role:
|
|
12
12
|
|
|
13
|
-
| File / dir
|
|
14
|
-
|
|
15
|
-
| `DESIGN.md`
|
|
16
|
-
| `src/css/index.css`
|
|
17
|
-
| `src/css/tokens.css`
|
|
18
|
-
| `src/css/components.css` | 40+
|
|
19
|
-
| `src/
|
|
20
|
-
| `
|
|
21
|
-
| `
|
|
22
|
-
| `build/` | Brand runtime assets — logo-7k.svg, logo-7k-light.svg, icon.svg | Star-burst pattern SVG logo with color and light-background variants |
|
|
23
|
-
| `fonts/` | GeistPixel-{Square,Circle,Grid,Line,Triangle}.ttf | Geist Pixel loaded via `@font-face` — 5 geometric variant TTF files |
|
|
24
|
-
| `tests/` | Vitest test suite — Button, Input, Badge, ThemeProvider, ThemeToggle, a11y | @testing-library/react + jsdom + jest-axe |
|
|
25
|
-
| `src/stories/` | Storybook documentation — Overview, Tokens, Components, Textures | MDX + CSF stories for interactive documentation |
|
|
13
|
+
| File / dir | Role | Evidence basis |
|
|
14
|
+
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
|
|
15
|
+
| `DESIGN.md` | Canonical rules — visual foundations, color, type, spacing, components, motion, voice, anti-patterns, React UI kit, modular CSS architecture, build system, testing | Each section opens with `Source context reference:` citing the brand brief |
|
|
16
|
+
| `src/css/index.css` | Modular CSS entry point — imports source files (fonts, tokens, themes, projects, base, textures, isometric, callouts, components, modifiers, animations, accessibility) | Compiled to `dist/7k-design-system.css` via Vite + PostCSS |
|
|
17
|
+
| `src/css/tokens.css` | All design tokens: 11-step color ramps, semantic role mapping, typography, spacing, motion, layout | Single source of truth for all token values |
|
|
18
|
+
| `src/css/components.css` | 40+ component classes + modern neon button system + textured component variants | Zero radius, 2px borders, invert hover, accent modifiers, texture overlays |
|
|
19
|
+
| `src/css/callouts.css` | Surface & callout system — outlined surfaces, gutters, motion lines, callouts, screentone overlays | High-contrast layout primitives |
|
|
20
|
+
| `src/react/` | TypeScript React UI kit — Button, Input, Badge, Card, Modal, Drawer, Toast, Tooltip, Alert, Tabs, Nav, Checkbox, Radio, Toggle, Select, Textarea, ThemeToggle, ThemeProvider, ProjectProvider, useTheme, useProject | Thin wrappers over CSS classes with ref forwarding and ARIA attributes |
|
|
21
|
+
| `src/stories/` | Storybook documentation — Overview, Tokens, Components, Textures | MDX + CSF stories for interactive documentation |
|
|
26
22
|
|
|
27
23
|
## Source context
|
|
28
24
|
|
|
29
25
|
Every design rule in this system is grounded in evidence from the brand brief (quoted inline in `DESIGN.md §1`):
|
|
30
26
|
|
|
31
|
-
| Evidence from brief
|
|
32
|
-
|
|
33
|
-
| #FF00FF brand color
|
|
34
|
-
| "1 font and it's Geist" (Geist superfamily) | Three-font system: Geist (sans) for headings/body, Geist Mono (monospace) for labels/code/tabular data, Geist Pixel (5 geometric variants) for ornamental display. Mono labels as "connective tissue"
|
|
35
|
-
| "Logo is just '7K'"
|
|
36
|
-
| "Tokyo's neon atmosphere"
|
|
37
|
-
| "Manga-influenced 1-bit"
|
|
38
|
-
| "Abstract 1-bit animations"
|
|
39
|
-
| "Dark theme for website"
|
|
40
|
-
| "Differentiate main company with projects"
|
|
41
|
-
| "Very complete and detailed"
|
|
27
|
+
| Evidence from brief | Design rule |
|
|
28
|
+
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
29
|
+
| #FF00FF brand color | `--brand-primary: var(--magenta-500)` — single brand accent for CTAs, focus rings, active borders |
|
|
30
|
+
| "1 font and it's Geist" (Geist superfamily) | Three-font system: Geist (sans) for headings/body, Geist Mono (monospace) for labels/code/tabular data, Geist Pixel (5 geometric variants) for ornamental display. Mono labels as "connective tissue" |
|
|
31
|
+
| "Logo is just '7K'" | Star-burst pattern SVG logo. Color variant (magenta accents) or light variant (black polygons for light backgrounds) |
|
|
32
|
+
| "Tokyo's neon atmosphere" | Dark near-black canvas (`--bg-base: #0A0A0D`), electric accent, nocturnal high contrast |
|
|
33
|
+
| "Manga-influenced 1-bit" | Pure black/white elements with zero radius, 10 texture patterns (scanline, halftone, dot matrix, stripes, crosshatch, checkerboard, noise, vignette), 40+ components |
|
|
34
|
+
| "Abstract 1-bit animations" | 20+ keyframes: scanline-scroll, glitch (basic + complex), pixel-dots, flicker, blink, neon-pulse, typewriter, pixel-fade-in, invert-flash, scan-reveal, shimmer, noise-shift, slide-up-reveal, matrix-rain, frame-step |
|
|
35
|
+
| "Dark theme for website" | Dark-first: `--bg-void: #000000`, `--bg-base: #0A0A0D` — near-black, not navy, not grey. Toggle via `html[data-theme="light"]` or `@media (prefers-color-scheme: light)` |
|
|
36
|
+
| "Differentiate main company with projects" | Project accent tokens (`--accent-7kgroup` magenta, `--accent-7kminato` cyan, `--accent-inari` burnt orange) — each project has one canonical hue, and within its scope that hue overrides the whole `--brand-primary` chain, not just secondary |
|
|
37
|
+
| "Very complete and detailed" | 4px spacing grid in rem, 14-step scale, fluid type `clamp()`, 7-step radius, 4-level shadow, component specs for 5 button variants, 3 card types, 3 badge styles, inputs with focus/error, tables, tabs |
|
|
42
38
|
|
|
43
39
|
## When to use
|
|
44
40
|
|
|
45
41
|
Use when generating artifacts for any 7k-design-system branded surface. The following table maps common surfaces to the relevant package files:
|
|
46
42
|
|
|
47
|
-
| Surface
|
|
48
|
-
|
|
49
|
-
| Company website
|
|
50
|
-
| Product dashboard
|
|
51
|
-
| Sub-project landing
|
|
52
|
-
| Internal tool
|
|
53
|
-
| Mobile app
|
|
54
|
-
| Pitch deck / slides
|
|
55
|
-
| React application
|
|
56
|
-
| CSS-only static site | DESIGN.md §6, §9, CONSUMER_GUIDE.md §2
|
|
43
|
+
| Surface | Read these files | Key rules to follow |
|
|
44
|
+
| -------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------- |
|
|
45
|
+
| Company website | DESIGN.md §1–5, src/stories/Icons.stories.tsx | Dark bg, neon accent, scanline hero sections, "7K" logo |
|
|
46
|
+
| Product dashboard | DESIGN.md §5–7, src/stories/Components.stories.tsx | Sidebar nav, card grids, tabular data, stepped trigger animations on buttons |
|
|
47
|
+
| Sub-project landing | DESIGN.md §2, src/css/tokens.css, src/css/projects.css | Override `--brand-secondary` per child project, keep all other tokens unchanged |
|
|
48
|
+
| Internal tool | DESIGN.md §3, §5, §9, src/stories/Tokens.mdx | Mono numerics, dense tables, minimum decoration |
|
|
49
|
+
| Mobile app | DESIGN.md §5 (responsive), src/stories/ThemeToggle.stories.tsx | 4-column grid at 480px, bottom tab nav |
|
|
50
|
+
| Pitch deck / slides | DESIGN.md §7–9 | Scanline/glitch used sparingly, no warm tones |
|
|
51
|
+
| React application | DESIGN.md §8 (React UI kit), CONSUMER_GUIDE.md | Import from `7k-design-system/react`, wrap with `ThemeProvider` |
|
|
52
|
+
| CSS-only static site | DESIGN.md §6, §9, CONSUMER_GUIDE.md §2 | Import `7k-design-system/css`, use component classes directly |
|
|
57
53
|
|
|
58
54
|
## How to use
|
|
59
55
|
|
|
60
56
|
### Step 1 — Read the source
|
|
57
|
+
|
|
61
58
|
Open `DESIGN.md §1` for the source context first. Then read `DESIGN.md` sections §1–2 (visual theme + color), §8 (voice), and §9 (anti-patterns) for the posture and constraints.
|
|
62
59
|
|
|
63
60
|
### Step 2 — Choose your integration path
|
|
@@ -67,19 +64,21 @@ Open `DESIGN.md §1` for the source context first. Then read `DESIGN.md` section
|
|
|
67
64
|
Import the compiled CSS bundle:
|
|
68
65
|
|
|
69
66
|
```html
|
|
70
|
-
<link rel="stylesheet" href="node_modules/7k-design-system/dist/7k-design-system.css"
|
|
67
|
+
<link rel="stylesheet" href="node_modules/7k-design-system/dist/7k-design-system.css" />
|
|
71
68
|
```
|
|
72
69
|
|
|
73
70
|
Or via ES module import:
|
|
71
|
+
|
|
74
72
|
```typescript
|
|
75
73
|
import '7k-design-system/css';
|
|
76
74
|
```
|
|
77
75
|
|
|
78
76
|
Or import modular CSS for tree-shaking:
|
|
77
|
+
|
|
79
78
|
```typescript
|
|
80
|
-
import '7k-design-system/css/tokens';
|
|
79
|
+
import '7k-design-system/css/tokens'; // Tokens only
|
|
81
80
|
import '7k-design-system/css/components'; // Components only
|
|
82
|
-
import '7k-design-system/css/textures';
|
|
81
|
+
import '7k-design-system/css/textures'; // Textures only
|
|
83
82
|
import '7k-design-system/css/animations'; // Animations only
|
|
84
83
|
```
|
|
85
84
|
|
|
@@ -102,6 +101,7 @@ function App() {
|
|
|
102
101
|
```
|
|
103
102
|
|
|
104
103
|
Use components:
|
|
104
|
+
|
|
105
105
|
```tsx
|
|
106
106
|
import { Button, Input, Badge, ThemeToggle, useTheme } from '7k-design-system/react';
|
|
107
107
|
|
|
@@ -111,7 +111,9 @@ function Header() {
|
|
|
111
111
|
<header>
|
|
112
112
|
<ThemeToggle />
|
|
113
113
|
<Badge variant="success">Online</Badge>
|
|
114
|
-
<Button variant="primary" onClick={handleClick}>
|
|
114
|
+
<Button variant="primary" onClick={handleClick}>
|
|
115
|
+
Submit
|
|
116
|
+
</Button>
|
|
115
117
|
<Input placeholder="Search..." value={query} onChange={setQuery} />
|
|
116
118
|
</header>
|
|
117
119
|
);
|
|
@@ -120,62 +122,87 @@ function Header() {
|
|
|
120
122
|
|
|
121
123
|
### Step 3 — Override accent for sub-projects
|
|
122
124
|
|
|
123
|
-
Set the project's assigned
|
|
125
|
+
Set the project's assigned secondary brand color at the scope:
|
|
124
126
|
|
|
125
127
|
```css
|
|
126
|
-
|
|
127
|
-
--
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
[data-project='7kminato'] {
|
|
129
|
+
--brand-secondary: var(--cyan-500); /* cyan accent */
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
[data-project='inari'] {
|
|
133
|
+
--brand-secondary: var(--inari-500); /* burnt orange accent */
|
|
130
134
|
}
|
|
131
135
|
```
|
|
132
136
|
|
|
133
|
-
Parent 7K
|
|
137
|
+
Parent 7K keeps the default `--brand-secondary: var(--cyan-500)`. Use `--accent-square`, `--accent-circle`, `--accent-grid`, `--accent-line`, `--accent-triangle` only when pairing a specific Geist Pixel variant with a hue.
|
|
138
|
+
|
|
139
|
+
Alternatively, use the React provider:
|
|
140
|
+
|
|
141
|
+
```tsx
|
|
142
|
+
import { ProjectProvider } from '7k-design-system/react';
|
|
143
|
+
|
|
144
|
+
<ProjectProvider project="flow">
|
|
145
|
+
<App />
|
|
146
|
+
</ProjectProvider>;
|
|
147
|
+
```
|
|
134
148
|
|
|
135
149
|
### Step 4 — Preview token groups
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
150
|
+
|
|
151
|
+
Run Storybook to inspect tokens, components, textures, and themes interactively:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npm run storybook
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Key stories:
|
|
158
|
+
|
|
159
|
+
- `src/stories/Tokens.mdx` — accent swatches, ramps, typography, spacing
|
|
160
|
+
- `src/stories/Components.stories.tsx` — product component states
|
|
161
|
+
- `src/stories/Textures.stories.tsx` — texture categories with composition demos
|
|
162
|
+
- `src/stories/Icons.stories.tsx` — logo variants + brand in context
|
|
163
|
+
- `src/stories/ThemeToggle.stories.tsx` — light/dark/system themes and project overrides
|
|
143
164
|
|
|
144
165
|
### Step 5 — Reference the legacy UI kit
|
|
166
|
+
|
|
145
167
|
Open `examples/legacy/ui_kits/app/index.html` in a browser. Components under `examples/legacy/ui_kits/app/components/` demonstrate landing page patterns with React (plain JS, `React.createElement`). Each component exposes `window.ComponentName` per Claude Design conventions. **Note:** This is legacy code preserved for reference. New work should use the React UI kit in `src/react/`.
|
|
146
168
|
|
|
147
169
|
### Step 6 — Use build assets
|
|
148
|
-
|
|
170
|
+
|
|
171
|
+
Reference `build/logos/logo-7k.svg` (color, default), `build/logos/logo-7k-light.svg` (light backgrounds), or `build/icons/icon.svg` (app icon).
|
|
149
172
|
|
|
150
173
|
## Design system highlights
|
|
151
174
|
|
|
152
|
-
| Feature
|
|
153
|
-
|
|
154
|
-
| Theme
|
|
155
|
-
| Brand accent
|
|
156
|
-
| Secondary accents |
|
|
157
|
-
| Type
|
|
158
|
-
|
|
|
159
|
-
|
|
|
160
|
-
|
|
|
161
|
-
| React UI kit
|
|
162
|
-
| Modular CSS
|
|
163
|
-
| Sub-projects
|
|
164
|
-
| Spacing
|
|
165
|
-
| Reduced motion
|
|
166
|
-
| Testing
|
|
167
|
-
| Documentation
|
|
175
|
+
| Feature | Detail | Source |
|
|
176
|
+
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------ | ------ | ---- | ------------------------------- | ------------------------------------------ |
|
|
177
|
+
| Theme | Dark-first — `--bg-void: #000000`, `--bg-base: #0A0A0D` near-black canvas, toggle to light via `data-theme="light"` | "dark theme for website" |
|
|
178
|
+
| Brand accent | Magenta `--magenta-500: #FF00FF` with neon glow | #FF0FF brand hex |
|
|
179
|
+
| Secondary accents | Cyan 7KMinato (`--cyan-500: #00E5FF`), Inari (`--inari-500: #EE560D`) | Tokyo neon atmosphere |
|
|
180
|
+
| Type | Three-font Geist system: Geist (sans) for headings/body, Geist Mono for labels/code/tabular data, Geist Pixel (5 variants: Square/Circle/Grid/Line/Triangle) for ornamental display | "only 1 font and it's Geist" (Geist Pixel) |
|
|
181
|
+
| Textures | 10 pattern categories: scanline, halftone (3 densities), dot matrix (3 densities), diagonal stripes (3 variants), horizontal/vertical stripes, crosshatch (2 densities), checkerboard, noise (2 opacities), vignette (2 sharpnesses) | "Manga-influenced 1-bit" |
|
|
182
|
+
| Animations | 20+ keyframes organized as ambient (flicker, blink, neon-pulse, shimmer, accent-flicker, frame-step) and trigger (glitch, glitch-complex, pixel-dots, invert-flash, typewriter, pixel-fade, scan-reveal, slide-up-reveal) | "abstract 1-bit animations" |
|
|
183
|
+
| Components | 40+ unified components with zero radius, 2px borders, invert hover, thin accent layer modifiers (accent-border-top, accent-bar, accent-dot, glow-mod, accent-corner) | "Manga-influenced 1-bit" |
|
|
184
|
+
| React UI kit | Button, Input, Badge, ThemeToggle, ThemeProvider, useTheme — TypeScript components with ref forwarding | Production-ready component library |
|
|
185
|
+
| Modular CSS | 10 source files compiled via Vite + PostCSS; standalone exports for tokens, components, textures, animations | Tree-shakeable, performant |
|
|
186
|
+
| Sub-projects | Accent token override via `--accent-square | triangle | circle | grid | line` — parent 7K stays magenta | "differentiate main company with projects" |
|
|
187
|
+
| Spacing | 4px grid in rem, 14-step scale (0–128px) | "very complete and detailed" |
|
|
188
|
+
| Reduced motion | All animations disabled at `prefers-reduced-motion: reduce` | System accessibility policy |
|
|
189
|
+
| Testing | Vitest + @testing-library/react + jest-axe — 9 test files (incl. a11y and component-state suites) | Production quality assurance |
|
|
190
|
+
| Documentation | Storybook with Overview, Tokens, Components, and Textures stories | Interactive component documentation |
|
|
168
191
|
|
|
169
192
|
## Quick reference — exact class names and tokens
|
|
170
193
|
|
|
171
|
-
### Modern button classes (use these, not legacy .btn
|
|
194
|
+
### Modern button classes (use these, not legacy .btn-\*)
|
|
195
|
+
|
|
172
196
|
```
|
|
173
|
-
.btn
|
|
174
|
-
.btn-
|
|
175
|
-
.btn-
|
|
197
|
+
.btn .btn-primary .btn-secondary .btn-ghost
|
|
198
|
+
.btn-glow .btn-accent .btn-glow-accent .btn-glow-secondary
|
|
199
|
+
.btn-danger
|
|
200
|
+
.btn-sm .btn-lg .btn-icon .btn-lg-icon
|
|
201
|
+
.btn-loading .btn:disabled
|
|
176
202
|
```
|
|
177
203
|
|
|
178
204
|
### Texture classes
|
|
205
|
+
|
|
179
206
|
```
|
|
180
207
|
.scanline .scanline-fast
|
|
181
208
|
.halftone-sm .halftone-md .halftone-lg .halftone-accent
|
|
@@ -183,12 +210,13 @@ Reference `build/logo-7k.svg` (color, default), `build/logo-7k-light.svg` (light
|
|
|
183
210
|
.diagonal-stripes .diagonal-stripes-dense .diagonal-stripes-negative
|
|
184
211
|
.stripes-h .stripes-h-dense .stripes-v .stripes-v-dense
|
|
185
212
|
.crosshatch .crosshatch-dense
|
|
186
|
-
.checkerboard .checkerboard-
|
|
213
|
+
.checkerboard .checkerboard-contrast
|
|
187
214
|
.noise .noise-heavy .noise-animated
|
|
188
|
-
.vignette-
|
|
215
|
+
.vignette-ink .vignette-ink-sharp
|
|
189
216
|
```
|
|
190
217
|
|
|
191
218
|
### Animation classes
|
|
219
|
+
|
|
192
220
|
```
|
|
193
221
|
.glitch .glitch-complex .glitch-accent
|
|
194
222
|
.flicker .flicker-fast .blink .blink-fast
|
|
@@ -201,6 +229,7 @@ Reference `build/logo-7k.svg` (color, default), `build/logo-7k-light.svg` (light
|
|
|
201
229
|
```
|
|
202
230
|
|
|
203
231
|
### Key role tokens (always use these, never raw ramps)
|
|
232
|
+
|
|
204
233
|
```
|
|
205
234
|
--bg-void --bg-base --bg-elevated --bg-raised --bg-overlay --bg-pressed
|
|
206
235
|
--text-primary --text-secondary --text-tertiary --text-disabled --text-inverse
|
|
@@ -246,7 +275,7 @@ import '7k-design-system/css/animations';
|
|
|
246
275
|
import { Button, Input, Badge, ThemeToggle, ThemeProvider, useTheme } from '7k-design-system/react';
|
|
247
276
|
|
|
248
277
|
// Static assets
|
|
249
|
-
import logo from '7k-design-system/build/logo-7k.svg';
|
|
250
|
-
import logoLight from '7k-design-system/build/logo-7k-light.svg';
|
|
251
|
-
import icon from '7k-design-system/build/icon.svg';
|
|
278
|
+
import logo from '7k-design-system/build/logos/logo-7k.svg';
|
|
279
|
+
import logoLight from '7k-design-system/build/logos/logo-7k-light.svg';
|
|
280
|
+
import icon from '7k-design-system/build/icons/icon.svg';
|
|
252
281
|
```
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="208" height="207">
|
|
3
|
+
<path id="stroke-1" d="M0 0 C5.31124964 0.603148 10.48703511 1.43913427 15.70556641 2.60717773 C16.43345084 2.76700921 17.16133528 2.92684069 17.91127682 3.09151554 C20.30879661 3.61883334 22.7051582 4.15123171 25.1015625 4.68359375 C26.80517693 5.05913826 28.50886821 5.43433426 30.21263123 5.8092041 C34.7498531 6.80842764 39.28611201 7.81195236 43.82210159 8.81675339 C51.28033334 10.46849791 58.73958849 12.11562021 66.19889259 13.76251411 C68.04881424 14.17100274 69.89869699 14.57966759 71.74854088 14.98850822 C83.02899365 17.48103879 94.31557491 19.93611433 105.62109375 22.3125 C107.79802212 22.77283097 109.97494311 23.23319683 112.15185547 23.69360352 C116.00363238 24.50743675 119.85834657 25.30477983 123.71533203 26.09350586 C125.3845784 26.44579716 127.05369683 26.79869553 128.72265625 27.15234375 C129.83367958 27.37150452 129.83367958 27.37150452 130.96714783 27.59509277 C132.96508789 28.02709961 132.96508789 28.02709961 136 29 C136.33 29.99 136.66 30.98 137 32 C129.29851279 34.38264441 121.53802394 36.48456869 113.73828125 38.51953125 C112.44506913 38.85815768 111.15188757 39.19690088 109.85873413 39.53575134 C106.39552234 40.44257301 102.93164295 41.3468178 99.467556 42.25028992 C97.30259146 42.81508493 95.13780023 43.38053979 92.97305298 43.94616699 C65.30194833 51.17500901 37.60064857 58.2829979 9.86859131 65.2746582 C6.95503557 66.01136955 4.04311103 66.75428619 1.13134766 67.49804688 C-0.69756438 67.96234502 -2.52650191 68.42654277 -4.35546875 68.890625 C-5.18959793 69.1051532 -6.02372711 69.3196814 -6.88313293 69.54071045 C-9.99400234 70.32656685 -12.77765467 71 -16 71 C-12.92929924 54.77377074 -9.40553704 38.66561099 -5.75 22.5625 C-5.52395081 21.56295288 -5.29790161 20.56340576 -5.06500244 19.53356934 C-4.41628654 16.66878444 -3.7636237 13.80493209 -3.109375 10.94140625 C-2.91163483 10.06849442 -2.71389465 9.19558258 -2.51016235 8.29621887 C-1.115605 2.23121 -1.115605 2.23121 0 0 Z " fill="#FF35EB" transform="translate(26,51)"/>
|
|
4
|
+
<path id="stroke-2" d="M0 0 C-1.67248293 10.01430524 -4.81990605 19.54309491 -7.84765625 29.2109375 C-8.4257994 31.07021702 -9.00346387 32.92964545 -9.58067322 34.78921509 C-11.09330629 39.65840935 -12.61175033 44.52577089 -14.13165283 49.3927002 C-16.27778373 56.26859344 -18.41607032 63.14693086 -20.55503845 70.02505493 C-21.69252479 73.68276675 -22.8322997 77.33975309 -23.97389221 80.9961853 C-24.49310597 82.66200356 -25.01230729 84.3278257 -25.53149414 85.99365234 C-25.76787598 86.74902283 -26.00425781 87.50439331 -26.24780273 88.28265381 C-27.25246686 91.50973417 -28.17985248 94.71940994 -29 98 C-49.13 98 -69.26 98 -90 98 C-89.08735353 94.34941413 -88.08326569 92.14101086 -86.21875 88.94140625 C-85.33932739 87.4243811 -85.33932739 87.4243811 -84.44213867 85.87670898 C-83.48078003 84.23617554 -83.48078003 84.23617554 -82.5 82.5625 C-81.83653564 81.42176025 -81.17307129 80.28102051 -80.48950195 79.10571289 C-78.70177289 76.03315466 -76.90744295 72.96450671 -75.11090088 69.89709473 C-74.00188698 68.00322241 -72.89407958 66.10864941 -71.78662109 64.21386719 C-64.64885447 52.00358705 -57.4869888 39.80737281 -50.30541992 27.62280273 C-49.79458862 26.75570679 -49.79458862 26.75570679 -49.2734375 25.87109375 C-48.90790771 25.28473145 -48.54237793 24.69836914 -48.16577148 24.09423828 C-46.89109403 21.91410493 -46.89109403 21.91410493 -45.85180664 19.07373047 C-43.51839101 13.84292684 -41.33140906 10.25401282 -35.90917969 8.10131836 C-30.9167507 6.46669422 -25.81795263 5.35419438 -20.6875 4.25 C-18.90454999 3.82731719 -17.122629 3.40026875 -15.34179688 2.96875 C-2.90837515 0 -2.90837515 0 0 0 Z " fill="#FF11F8" transform="translate(158,96)"/>
|
|
5
|
+
<path id="blob-1" d="M0 0 C-1.43234259 3.83404835 -3.20394594 7.29062018 -5.23828125 10.83984375 C-6.211604 12.5417688 -6.211604 12.5417688 -7.20458984 14.27807617 C-7.90704252 15.49799011 -8.60968357 16.7177956 -9.3125 17.9375 C-10.03607495 19.19826337 -10.75954386 20.45908761 -11.48291016 21.7199707 C-17.41002821 32.0360915 -23.44411364 42.28753807 -29.52587891 52.51318359 C-30.98773375 54.97930706 -32.43927165 57.45117766 -33.88671875 59.92578125 C-34.33998535 60.70026611 -34.79325195 61.47475098 -35.26025391 62.27270508 C-36.09331585 63.69753149 -36.92514175 65.12308176 -37.75537109 66.54956055 C-40.04520076 70.46097972 -42.44977773 74.25273462 -45 78 C-50.07599137 74.46218783 -53.33453539 69.89206823 -57 65 C-58.53804041 62.97640538 -60.07999024 60.95577855 -61.625 58.9375 C-62.04023926 58.39496582 -62.45547852 57.85243164 -62.88330078 57.29345703 C-66.36160697 52.7738662 -69.95070177 48.35075295 -73.5625 43.9375 C-77.55147174 39.0540138 -81.50205965 34.14957782 -85.3125 29.125 C-86.03050781 28.17882812 -86.74851562 27.23265625 -87.48828125 26.2578125 C-89 24 -89 24 -89 22 C-85.42579333 21.07287008 -81.8515694 20.14580673 -78.27734375 19.21875 C-77.16125229 18.92924469 -76.04516083 18.63973938 -74.89524841 18.34146118 C-68.75872985 16.74984654 -62.62199379 15.1590777 -56.48486328 13.56982422 C-41.73019206 9.75106531 -41.73019206 9.75106531 -26.98371887 5.90081787 C-24.09145469 5.1418846 -21.19838391 4.38605777 -18.3052063 3.63061523 C-16.41473273 3.13540794 -14.52558699 2.63514046 -12.63647461 2.13476562 C-10.97177124 1.70067383 -10.97177124 1.70067383 -9.2734375 1.2578125 C-8.33935059 1.0117627 -7.40526367 0.76571289 -6.44287109 0.51220703 C-4 0 -4 0 0 0 Z " fill="#000000" transform="translate(102,111)"/>
|
|
6
|
+
<path id="blob-2" d="M0 0 C6.0218352 1.73771685 11.46488166 4.56608463 17.05859375 7.33984375 C18.12110855 7.86260391 19.18362335 8.38536407 20.27833557 8.92396545 C23.66650824 10.59155047 27.05214804 12.26419708 30.4375 13.9375 C33.81962136 15.60652692 37.20228435 17.2744345 40.58595276 18.94032288 C42.68828272 19.9756357 44.7896776 21.01285013 46.88999939 22.05223083 C51.87620309 24.51034073 56.86222845 26.87564724 62 29 C61.43189471 34.79859195 60.26320265 39.97686594 58.4375 45.5 C58.08655273 46.59054688 58.08655273 46.59054688 57.72851562 47.703125 C57.15867219 49.47080261 56.58024596 51.23570969 56 53 C46.3204691 51.52601868 36.80148214 49.49993648 27.25 47.375 C25.76308304 47.0465932 24.27610421 46.71846643 22.7890625 46.390625 C19.19199117 45.59696823 15.59576525 44.79955605 12 44 C10.44527314 38.86073216 8.89724042 33.71951208 7.35522461 28.57641602 C6.83034259 26.82912627 6.30367432 25.08237204 5.77514648 23.33618164 C5.01329429 20.81797651 4.2580068 18.2978795 3.50390625 15.77734375 C3.26845596 15.00414291 3.03300568 14.23094208 2.79042053 13.43431091 C1.45836043 8.95540698 0.54040163 4.64315228 0 0 Z " fill="#000000" transform="translate(111,17)"/>
|
|
7
|
+
<path id="blob-3" d="M0 0 C1.71425579 5.6400991 3.42311068 11.28179516 5.12695312 16.92504883 C5.70749658 18.84509566 6.28952054 20.76469549 6.87304688 22.68383789 C7.71091932 25.44040974 8.54347661 28.19853855 9.375 30.95703125 C9.63748535 31.81649857 9.8999707 32.67596588 10.17041016 33.56147766 C10.53078369 34.76238289 10.53078369 34.76238289 10.8984375 35.98754883 C11.21820557 37.04344963 11.21820557 37.04344963 11.54443359 38.12068176 C12 40 12 40 12 43 C4.19873204 42.31050991 -3.31933205 40.78209336 -10.96875 39.12890625 C-12.29867465 38.84351716 -13.62863128 38.55827702 -14.95861816 38.2731781 C-17.72603652 37.67869802 -20.49264423 37.08060107 -23.25878906 36.48022461 C-26.80899611 35.71025821 -30.36166632 34.9523694 -33.91509247 34.19741917 C-36.65289273 33.6138849 -39.38898738 33.02265354 -42.12464905 32.42918205 C-44.07186153 32.0086336 -46.02072887 31.59577132 -47.96960449 31.18299866 C-49.14172485 30.92610764 -50.31384521 30.66921661 -51.52148438 30.40454102 C-52.55801147 30.18105484 -53.59453857 29.95756866 -54.66247559 29.72731018 C-55.43385864 29.48729782 -56.2052417 29.24728546 -57 29 C-57.33 28.34 -57.66 27.68 -58 27 C-57.08057617 26.56300781 -57.08057617 26.56300781 -56.14257812 26.1171875 C-41.32711212 19.0810423 -41.32711212 19.0810423 -26.625 11.8125 C-20.99064284 8.97258449 -15.32501509 6.20591616 -9.625 3.5 C-8.8923291 3.1491333 -8.1596582 2.7982666 -7.40478516 2.43676758 C-2.2362567 0 -2.2362567 0 0 0 Z " fill="#000000" transform="translate(98,14)"/>
|
|
8
|
+
<path id="blob-4" d="M0 0 C2.24002181 2.24002181 2.45082686 3.1646128 3.11328125 6.18334961 C3.30688232 7.04862778 3.5004834 7.91390594 3.69995117 8.80540466 C3.90209229 9.74489456 4.1042334 10.68438446 4.3125 11.65234375 C4.52688721 12.62224747 4.74127441 13.59215118 4.9621582 14.59144592 C5.41604476 16.65110903 5.86638389 18.71155655 6.31347656 20.77270508 C6.99078773 23.89503247 7.67792925 27.01505623 8.3671875 30.13476562 C8.80787659 32.14049657 9.24799807 34.14635233 9.6875 36.15234375 C9.88964111 37.07361557 10.09178223 37.99488739 10.30004883 38.94407654 C11.67118136 45.27311846 12.87807116 51.6222017 14 58 C2.81113703 61.65634825 -8.53429664 64.3657014 -20 67 C-19.3294196 59.88425139 -17.09664011 53.25199721 -15 46.4453125 C-14.59989789 45.13502886 -14.20016419 43.82463267 -13.80078125 42.51412964 C-12.96679201 39.78152421 -12.12928768 37.05003021 -11.2890625 34.31933594 C-10.2105854 30.81377395 -9.13961319 27.30597387 -8.07104492 23.79738045 C-7.24825293 21.09783944 -6.42226487 18.39928521 -5.59521484 15.70104599 C-5.19886693 14.40706524 -4.80335699 13.11282752 -4.40869141 11.81833267 C-3.8589483 10.01740832 -3.30459218 8.21789404 -2.75 6.41845703 C-2.43546875 5.39366241 -2.1209375 4.3688678 -1.796875 3.3130188 C-1 1 -1 1 0 0 Z " fill="#000000" transform="translate(179,68)"/>
|
|
9
|
+
<path id="blob-5" d="M0 0 C0 4.13451443 -2.1839165 6.12255584 -4.6875 9.1875 C-5.17790771 9.79972412 -5.66831543 10.41194824 -6.17358398 11.04272461 C-7.77390181 13.03551151 -9.38541085 15.01876258 -11 17 C-11.53979492 17.66354492 -12.07958984 18.32708984 -12.63574219 19.01074219 C-14.82765052 21.7045544 -17.02015927 24.39786833 -19.21582031 27.08862305 C-26.00991117 35.43318627 -32.61724571 43.92838421 -38.84375 52.70703125 C-39.41609375 53.34705078 -39.41609375 53.34705078 -40 54 C-40.66 54 -41.32 54 -42 54 C-41.36203146 48.57570043 -40.13437376 43.55378766 -38.56640625 38.328125 C-38.32840805 37.52389099 -38.09040985 36.71965698 -37.84519958 35.89105225 C-37.34414963 34.20284521 -36.84061571 32.51537359 -36.3347168 30.82861328 C-35.56130014 28.2459934 -34.79872799 25.66033926 -34.03710938 23.07421875 C-33.54752064 21.42949517 -33.05730802 19.78495715 -32.56640625 18.140625 C-32.3392543 17.3687384 -32.11210236 16.59685181 -31.87806702 15.80157471 C-30.87795999 12.49041113 -29.9327526 9.8991289 -28 7 C-25.20263672 6.0168457 -25.20263672 6.0168457 -21.6796875 5.17578125 C-19.79443359 4.71655273 -19.79443359 4.71655273 -17.87109375 4.24804688 C-16.53912224 3.93594285 -15.20709016 3.6240972 -13.875 3.3125 C-12.53489546 2.99001409 -11.19504774 2.66645895 -9.85546875 2.34179688 C-6.57269188 1.55062403 -3.28767054 0.7705379 0 0 Z " fill="#000000" transform="translate(183,140)"/>
|
|
10
|
+
</svg>
|