-
Notifications
You must be signed in to change notification settings - Fork 11.1k
Expand file tree
/
Copy pathdraft.csv
More file actions
We can make this file beautiful and searchable if this error is corrected: Illegal quoting in line 10.
1779 lines (1620 loc) · 104 KB
/
Copy pathdraft.csv
File metadata and controls
1779 lines (1620 loc) · 104 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# NOTE: 此文件仅作为设计备份/参考文档,当前搜索引擎与 CLI 不会读取或执行本文件内容。
Bauhaus(包豪斯)
大胆的几何现代主义,包含圆形、方形和三角形。主色调(红/蓝/黄),边缘鲜明,阴影强烈。功能性与艺术性兼备,带有建构主义的不对称。
1. 极简主义品牌官网与电商
2. 工具类与高效率 App
3. 数字媒体与在线杂志
<design-system>
Design Style: Bauhaus (Mobile)
1. Design Philosophy
The Bauhaus style embodies the revolutionary principle "form follows function" while celebrating pure geometric beauty and primary color theory. On mobile, this translates to tactile constructivism—the screen is a canvas where elements are physically stacked blocks. The aesthetic creates a high-impact, poster-like experience in the palm of the hand: bold, touch-centric, and unapologetically graphic.
Vibe: Tactile, Constructivist, Geometric, High-Contrast, Bold, Architectural
Core Concept: The mobile interface is a vertical geometric composition. Scroll views are not just content streams but stacked layers of colored paper and rigid shapes. The limited screen real estate forces a focus on massive typography and distinct color blocking (Red #D02020, Blue #1040C0, Yellow #F0C020). Every tap should feel mechanical and substantial.
Key Characteristics:
● Geometric Purity: UI elements are strictly circles (buttons/avatars) or squares (cards/inputs).
● Tactile Depth: Hard shadows indicate interactivity; elements look "pressable."
● Color Blocking: distinct screen sections use solid primary colors to separate content without whitespace.
● Thick Borders: 2px and 3px black borders ensure legibility and distinct separation on small screens.
● Vertical Rhythm: Strong vertical stacking with deliberate spacing, avoiding clutter.
● Constructivist Typography: Headlines are massive (text-4xl to text-5xl) relative to screen width, breaking traditional mobile scaling rules.
● Thumb-Friendly: Interactive zones are large, distinct, and geometrically defined.
2. Design Token System (The DNA)
Colors (Single Palette - Light Mode)
The palette remains strictly Bauhaus primaries, optimized for high contrast outdoors.
● background: #F0F0F0 (Off-white canvas)
● foreground: #121212 (Stark Black)
● primary-red: #D02020 (Bauhaus Red)
● primary-blue: #1040C0 (Bauhaus Blue)
● primary-yellow: #F0C020 (Bauhaus Yellow)
● border: #121212 (Thick, distinct borders)
● muted: #E0E0E0
Typography
● Font Family: 'Outfit' (geometric sans-serif).
● Font Import: Outfit:wght@400;500;700;900
● Scaling: Aggressive scaling adapted for vertical viewports.
○ Display: text-4xl → text-5xl (Massive headers taking up 30-40% of screen width)
○ Subheadings: text-xl → text-2xl
○ Body: text-base (16px minimum for legibility)
○ Button Text: text-lg (Large for readability)
● Weights:
○ Headlines: font-black (900) uppercase, tight tracking (tracking-tighter)
○ Buttons/Nav: font-bold (700) uppercase, wide tracking (tracking-wide)
○ Body: font-medium (500)
● Line Height: Tight (leading-none) for headlines to save vertical space; leading-relaxed for body text.
Radius & Border
● Radius: Strict Binary—rounded-none (0px) for layout blocks, inputs, and cards; rounded-full (9999px) for primary action buttons and avatars.
● Border Widths:
○ Standard Elements: border-2 (2px)
○ Major Containers/Bottom Nav: border-t-2 or border-3
○ Separators: divide-y-2
● Border Color: Always #121212 (black).
Shadows/Effects
● Hard Offset Shadows (Tactile feedback):
○ Small elements (Tags/Icons): shadow-[2px_2px_0px_0px_black]
○ Buttons/Cards: shadow-[4px_4px_0px_0px_black] (Reduced from web 8px to save screen width)
○ Floating Action Button (FAB): shadow-[5px_5px_0px_0px_black]
● Touch Feedback: active:translate-x-[2px] active:translate-y-[2px] active:shadow-none (Instant mechanical depression).
● Patterns:
○ Dot grid backgrounds on "Paper" colored sections (background-size: 16px 16px).
○ Screen transitions: Slide-over with hard black borders.
3. Component Stylings
Buttons (Touch Targets)
● Minimum Size: Height h-12 or h-14 (48px-56px) for thumb accessibility.
● Variants:
○ Primary (CTA): w-full bg-[#D02020] text-white border-2 border-black shadow-[4px_4px_0px_0px_black]
○ Secondary: w-full bg-[#1040C0] text-white border-2 border-black shadow-[4px_4px_0px_0px_black]
○ Floating Action (FAB): h-14 w-14 rounded-full bg-[#F0C020] border-2 border-black shadow-[4px_4px_0px_0px_black] flex items-center justify-center
● Shapes: Full-width rectangular buttons (rounded-none) or pill-shaped (rounded-full) for bottom-sticky actions.
● States: NO hover. Focus on active state (press down effect).
Cards (Mobile Stack)
● Base Style: White background, border-2 border-black, shadow-[4px_4px_0px_0px_black], mb-6.
● Decoration:
○ Geometric badge in top-right: absolute top-0 right-0 h-8 w-8 bg-[#F0C020] border-l-2 border-b-2 border-black flex items-center justify-center.
● Interaction: Entire card is a touch target. active:translate-x-[1px] active:translate-y-[1px] active:shadow-[2px_2px_0px_0px_black].
● Content: Image usually takes top half (aspect-video), bold text below.
Bottom Navigation (The Anchor)
● Container: fixed bottom-0 w-full bg-white border-t-2 border-black z-50 h-20.
● Grid: 3 to 5 items equally spaced.
● Items:
○ Inactive: Black stroke icon, clear background.
○ Active: Icon inside a geometric shape (Square/Circle) with primary color fill (e.g., Red Square context).
○ Label: Tiny uppercase bold text below icon, or icon only for minimalism.
Inputs & Forms
● Field: h-12 bg-white border-2 border-black rounded-none px-4 text-black placeholder:text-gray-400 focus:bg-[#FFF9C4] focus:ring-0 focus:border-black.
● Label: Uppercase bold, mb-1 block.
● Checkbox: h-6 w-6 appearance-none border-2 border-black bg-white checked:bg-[#1040C0] rounded-none.
4. Layout & Spacing
● Container: w-full with px-5 (20px) padding. Max-width constraints removed (fluid mobile).
● Section Padding:
○ Standard: py-8
○ Hero: pt-12 pb-16
● Grid Systems:
○ Main Layout: Single column (Stack).
○ Micro-grids: 2-column for stats/gallery (gap-3 or gap-4).
● Safe Areas: Respect pt-safe (top notch) and pb-safe (bottom home indicator).
● Dividers: Thick section separators border-b-2 border-black usually paired with a background color change.
5. Non-Genericness (Bold Choices)
Mobile Constraints require distinct personality to avoid looking like a wireframe:
● Full-Screen Color Washes:
○ Onboarding screens: Full solid backgrounds (Red Screen → Blue Screen → Yellow Screen).
○ Success states: Full Yellow background (bg-[#F0C020]) with massive black centered checkmark.
○ Error states: Full Red background (bg-[#D02020]) with white text.
● Header Identity:
○ Instead of a standard navbar, use a "Bauhaus Header Block": A row containing a Square (Menu), a flexible space for the Title (Left aligned, massive), and a Circle (Profile/Search). All elements separated by vertical borders divide-x-2 border-b-2 border-black.
● Geometric Lists:
○ List items aren't just text lines. They are alternating geometric bullets: Line 1 uses a ■, Line 2 uses a ●, Line 3 uses a ▲.
● Rotated "Stickers":
○ "New", "Sale", or Notification badges are rotated -12deg or +12deg, sitting on top of corners to break the rigid grid.
● Image Filters:
○ Thumbnails: Grayscale + High Contrast.
○ Detail View: Full color, no rounded corners, thick black border.
6. Icons & Imagery
● Icon Library: lucide-react-native or similar (Circle, Square, Triangle, Menu, X, ArrowLeft).
● Icon Style:
○ Stroke: stroke-[2px].
○ Size: w-6 h-6 (standard) or w-8 h-8 (hero actions).
● Icon Containers:
○ Navigation icons often live inside rigid 48x48px bordered squares.
○ Back buttons are always circular rounded-full with a border.
● Imagery:
○ Masking: Use CSS clip-paths to crop header images into non-standard shapes (e.g., a trapezoid or a circle cropped at the bottom) within the mobile frame.
7. Responsive Strategy (Device Sizes)
● Small Phones (SE/Mini):
○ Reduce display text to text-3xl.
○ Stack stats vertically (1-col).
○ Reduce padding to px-4.
● Large Phones (Max/Plus):
○ Display text scales to text-5xl.
○ Stats can use 2-col grid.
○ Card images gain more height.
● Orientation:
○ Portrait (Primary): Vertical stacking.
○ Landscape: Avoid if possible, or split screen 50/50 (Text Left / Image Right).
8. Animation & Micro-Interactions
● Feel: Physical, snappy, zero-latency.
● Duration: duration-150 (Very fast).
● Easing: ease-in-out (Sharp stops).
● Interactions:
○ Tap: The element physically depresses (translate X/Y matches shadow size).
○ Drawer Open: Slides in from Left/Right with a solid black border line leading it. No soft fades—it slides like a mechanical door.
○ Toast/Alerts: Drop down from top as a solid geometric block (Yellow/Red) with hard borders, swinging slightly like a hanging sign.
○ Scroll: Sticky headers snap into place instantly.
</design-system>
"Monochrome(单色/黑白)
"一套简洁的编辑设计体系,建立在纯粹的黑白之上。没有点缀色——只有戏剧性的对比、超大衬线字体和精准的几何布局。让人联想到高端时尚专题和建筑作品集。严肃、成熟、毫不掩饰地大胆。
"1. 极简主义电商与高端奢侈品
2. 专业创意与文档编辑工具
3. 数据密集型仪表盘(局部应用)
4. 实验性与先锋感网站"
<design-system>
Design Style: Minimalist Monochrome (Mobile)
Design Philosophy
Core Principle
The Pocket Editorial. On mobile, Minimalist Monochrome transforms the screen into a tactile, high-end printed manifesto. It rejects the "app-like" tendency for soft bubbles and friendly gradients. Instead, it offers a stark, vertical journey defined by pure black (#000000), pure white (#FFFFFF), and razor-sharp borders. Every tap is a deliberate decision; every scroll is a flip of a page in a luxury monograph.
Visual Vibe
Emotional Keywords: Tactile, Austere, Editorial, Direct, High-Fidelity, Uncompromising, Sharp, Rhythmic.
This is the visual language of:
● Mobile typographers and digital brutalism
● The mobile interfaces of luxury fashion houses (Balenciaga, Zara, SSENSE)
● Digital exhibitions where the content frames itself
● High-contrast e-reader aesthetics
What This Design Is NOT
● ❌ "App-y" (no cards with drop shadows, no floating bubbles)
● ❌ Native iOS/Android standard (no system blue, no rounded groups)
● ❌ Gesture-heavy (interactions are explicit taps, not vague swipes)
● ❌ Cluttered (one idea per screen view)
● ❌ Colorful (strictly grayscale)
The DNA of Minimalist Monochrome (Mobile)
1. Vertical Linearity
The mobile screen is a continuous roll of paper. Structure is created not by boxes, but by horizontal lines (rules) that span the full width of the device. Content lives between these lines.
2. Typography as Interface
Buttons are often just large words. Navigation is text-based. The serif typeface (Playfair Display) acts as the primary image on the screen. Headlines must be large enough to break words onto new lines, creating graphic shapes.
3. The "Touch" Inversion
Since there is no "hover" on mobile, interaction is communicated through inversion. When a user touches a white block, it turns black instantly. This zero-latency binary feedback replaces physical tactility.
4. Zero Radius, Zero Fluff
All elements—buttons, images, inputs, modals—have strictly 0px border radius. This sharp geometry cuts through the rounded physical corners of modern smartphones, creating a striking contrast.
Design Token System
Colors (Strictly Monochrome)
background: #FFFFFF (Pure white)
foreground: #000000 (Pure black)
muted: #F5F5F5 (Off-white for "pressed" states or subtle blocks)
mutedForeground: #525252 (Dark gray for metadata)
border: #000000 (Black borders - heavy usage)
borderLight: #E5E5E5 (Subtle dividers)
overlay: #000000 (Full screen menu background)
Rule: No accent colors. The "Active State" is simply the inverse of the "Default State."
Typography
Font Stack:
● Display: "Playfair Display", serif - For all headlines and large numerals.
● Body: "Source Serif 4", serif - For reading text.
● UI/Labels: "JetBrains Mono", monospace - For tiny tags, dates, and technical specs.
Type Scale (Mobile Optimized):
Note: Sizes are calibrated to feel "massive" on a small screen without breaking layout.
xs: 0.75rem (12px) - Metadata / Breadcrumbs
sm: 0.875rem (14px) - UI Labels / Captions
base: 1rem (16px) - Body text (Legibility minimum)
lg: 1.125rem (18px) - Lead text / Button text
xl: 1.5rem (24px) - Section headers
2xl: 2rem (32px) - Standard Headlines
3xl: 2.5rem (40px) - Hero Sub-text
4xl: 3rem (48px) - Major Headlines
5xl: 4rem (64px) - "Cover" text (Often wraps)
6xl: 5rem (80px) - Numerical statements
Tracking & Leading:
● Headlines: tracking-tighter (-0.05em) and leading-[0.9]. Text should feel tightly packed.
● Body: leading-relaxed for readability.
● Button Text: tracking-widest uppercase.
Border Radius
ALL VALUES: 0px
Constraint: Even the bottom sheet (modal) must be square. Even the active state of a tapped element is a sharp rectangle.
Borders & Lines (The Grid)
hairline: 1px solid #E5E5E5 (List separators)
thin: 1px solid #000000 (Standard element borders)
thick: 2px solid #000000 (Emphasis / Input bottom)
heavy: 4px solid #000000 (Section dividers)
Usage:
● Full-Bleed Lines: Borders should often touch the edges of the screen (-mx-4 or -mx-6).
● Separators: Use border-b black heavily to separate stacked vertical content.
Shadows
NONE
Depth is strictly 2D. Layers are defined by opacity (100% vs 0%) or borders, never by shadows.
Textures & Patterns
Use subtle noise to simulate high-quality paper texture on mobile backgrounds to avoid a "sterile" feeling.
Mobile Noise (CSS):
CSS
background-image: url("data:image/svg+xml,..."); /* Same noise SVG as web */
opacity: 0.03; /* Slightly higher opacity for small screens */
Component Stylings
Buttons & Touch Targets
Primary Button (The Block):
- Width: w-full (Full width strongly preferred)
- Height: h-14 (56px - Large touch target)
- Background: #000000
- Text: #FFFFFF
- Radius: 0px
- Typography: Uppercase, Mono or Serif, Tracking-widest
- Active State: Instantly inverts to White bg, Black text
Secondary Button (The Outline):
- Width: w-full
- Height: h-14
- Background: Transparent
- Border: 1px solid #000000
- Active State: Instantly fills Black
Sticky Bottom Action (CTA):
● A fixed bar at the bottom of the viewport.
● border-t-2 border-black.
● Contains a single primary action or a price + action pair.
● Background: #FFFFFF (or inverted #000000).
Cards / List Items
The "Stacked" Card:
Instead of a box with padding, mobile cards are often full-width segments separated by borders.
- Container: Border-bottom 1px solid #000000
- Padding: py-6
- Image: Aspect ratio 4:5 or 1:1, full width or padded
- Content: Text sits directly below image
- Interaction: Touching anywhere in the segment triggers "Active" state
Navigation
The "Bar":
● Top: Minimal. Just a logo (Left) and a "MENU" text button or Hamburger (Right).
● Bottom: Optional. If used, simple text labels or thin outline icons. border-t-2 border-black.
The Menu Overlay:
● Full screen.
● Background: #000000 (Black).
● Text: #FFFFFF (White).
● List items: Massive text (text-4xl), serif, centered or left-aligned.
● Divider: Thin white lines between menu items.
Inputs
Mobile Input:
- Style: Flush with background.
- Border: Bottom only (2px solid black).
- Radius: 0px.
- Height: h-14.
- Focus: Border becomes 4px thick. No native blue glow.
- Clear Button: Simple 'X' icon in black.
Layout Strategy
Safe Areas
● Respect pb-safe (Home Indicator) and pt-safe (Status Bar).
● Style Note: The Status Bar should be white text on black header, or black text on white header. High contrast.
Container & Spacing
● Horizontal Padding: px-5 (20px) or px-6 (24px).
● Vertical Rhythm:
○ Small gaps: py-4
○ Section gaps: py-16
○ Between text and image: my-6
The "Scroll"
● Design for the scroll. Use sticky headers for section titles (e.g., "Details", "Shipping") that stack as the user scrolls down, creating a filing cabinet effect.
● Use divide-y divide-black for lists to create strong separation.
Effects & Animation
Motion Philosophy: Cut, Don't Fade.
Mobile transitions should feel mechanical and instant, like a shutter clicking.
Interactions:
● Tap: active:bg-black active:text-white (Instant inversion).
● Page Transition: Slide in from right (100% width) with a hard edge. No distinct shadow on the sliding page, just a clean line.
● Modal: Slides up from bottom. 0px radius. Covers 100% or 90% of screen. Black border top.
● Scroll Parallax: None. Keep scrolling tied 1:1 to finger movement.
Specific Implementation:
TypeScript
// Mobile Button Active State
className="bg-black text-white active:bg-white active:text-black active:border active:border-black transition-none"
// Image Loading
className="opacity-0 data-[loaded=true]:opacity-100 transition-opacity duration-300 ease-linear grayscale data-[loaded=true]:grayscale-0"
Iconography
Style: Stroke-based, Thin, Sharp.
Library: Lucide React (or similar).
Mobile Specifics:
● Size: w-6 h-6 (Standard)
● Stroke: 1.5px (Matches the fine aesthetic)
● Touch: If an icon is a button, it must have a p-3 (12px) padding hit-box around it, even if the border is invisible.
Responsive Strategy (Device Sizes)
Small Phones (iPhone SE/Mini):
● Headlines: Scale down to text-4xl to prevent breaking single words into nonsense.
● Padding: Reduce to px-4.
Large Phones (Max/Plus):
● Headlines: text-5xl or text-6xl.
● Layout: Can introduce a 2-column grid for product thumbnails (but keep strict borders between them).
Dark Mode:
● System: Enforce Light Mode (Black on White) as the default brand identity.
● Inverted Sections: Use Dark Mode (White on Black) only for specific sections (Footer, Hero, Special Features) to create rhythm, not based on system settings.
Bold Choices (Non-Negotiable)
1. Massive Typographic Hero: The opening screen must feature a headline where a single word might span the full width.
2. The "Hard" Line: A 4px black line (border-b-4) must separate the Hero from the content.
3. Sticky Section Headers: As you scroll, the section title (e.g., "01. INFO") sticks to the top with a bottom border, stacking on top of the previous one.
4. No Hamburger Icon: Use the word "MENU" in JetBrains Mono instead of an icon, if space permits.
5. Inverted Gallery: Image galleries have a Black background with images at full opacity.
6. Editorial Inputs: Form labels look like subheadings (Playfair Display, Italic).
7. No Skeletons: Loading states are simple spinning black lines or just whitespace. No gray pulsing blobs.
8. Mechanical Feedback: Every interactive element MUST have a visible active state (color inversion).
What Success Looks Like (Mobile)
A successfully implemented Minimalist Monochrome mobile design should feel like:
● A digitally printed receipt from a high-end boutique.
● A pocket edition of a brutally honest manifesto.
● Clean, fast, and remarkably legible outdoors.
● Intimidatingly simple.
It should NOT feel like:
● A scaled-down version of a desktop site.
● A standard Bootstrap/Tailwind mobile layout.
● An app trying to be "friendly."
</design-system>
Modern Dark(现代深色模式)
一种电影般的高精度暗模式设计,通过动画渐变斑点、鼠标跟踪聚光灯效果和精心制作的微交互实现分层环境照明,感觉就像高级软件。
"1. 影音娱乐与流媒体平台
2. 开发者工具与专业生产力软件
3. 金融、科技与 AI 仪表盘
4. 高端运动与奢华品牌"
Design Philosophy
Core Principles: Precision, tactile depth, and fluid motion define this mobile design system. For React Native, every component is treated as a physical layer within a stacked 3D space, illuminated by virtual light sources. The design communicates "high-end mobile utility"—as responsive and refined as the Linear mobile app or Apple’s native interface. Every shadow uses multiple layers, every gradient is dithered to prevent banding, and every interaction uses precise haptic feedback combined with Expo.out easing.
Vibe: Cinematic Technical Minimalism. It’s a "Dark Mode First" aesthetic, utilizing near-blacks (#050506) and deep indigos. Imagine a high-end pro tool interface viewed through frosted glass at night. It is technical but inviting, using soft "glow" sources (#5E6AD2) to guide the thumb. It should feel like a premium native iOS/Android app, not a web-wrapper.
Differentiation: The signature is Atmospheric Depth. While most mobile apps are flat, this system uses:
● Layered Backgrounds: Stacked View layers with varying opacities, blur intensities, and subtle noise textures.
● Animated Ambient Light: Large, slow-moving blurred Canvas objects (using react-native-skia or Animated) that simulate light pools.
● Haptic-Linked Interactions: Every "Pressable" event is paired with subtle haptics (Impact Light/Medium) to reinforce the "hardware" feel.
● Spring-less Precision: Eschewing "bouncy" animations for sophisticated Bezier(0.16, 1, 0.3, 1) curves.
Design Token System (The DNA)
Color Strategy: Deep Space & Ambient Light
Token
Value
Usage
bg-deep
#020203
Screen background, Bottom Tab bar base
bg-base
#050506
Primary view container background
bg-elevated
#0a0a0c
Modals, Bottom sheets, Surface cards
surface
rgba(255,255,255,0.05)
Card backgrounds, list items
foreground
#EDEDEF
Primary text (High contrast)
foreground-muted
#8A8F98
Secondary labels, body text
accent
#5E6AD2
Buttons, active icons, primary brand glows
accent-glow
rgba(94,106,210,0.2)
Ambient shadows and light emission
border-default
rgba(255,255,255,0.08)
Subtle hairline dividers (0.5pt on iOS)
Typography System (React Native)
Font Family: Inter, GeistSans-Regular, or System San Francisco/Roboto.
Level
Size
Weight
Letter Spacing
Display
48
700
-1.5
H1
32
600
-0.5
H2
24
600
-0.5
H3
18
600
0
Body
16
400
0
Label/Mono
12
500
1.2 (Uppercase)
Gradient Text: Implement using mask-view and react-native-linear-gradient. Headers should transition from #FFFFFF to rgba(255,255,255,0.7) vertically.
Component Styling Principles
1. The Background System
Never use a single solid color for the screen.
● Base: A LinearGradient from #0a0a0f at the top to #020203 at the bottom.
● The "Blobs": Use AbsoluteFill views with borderRadius equal to half their width, high blurRadius (30-50), and low opacity (0.1).
● Animation: Use useAnimatedStyle from Reanimated to slowly oscillate the translateX and translateY of these light pools.
2. Cards & Containers
● Radius: Always borderRadius: 16.
● Border: Use borderWidth: StyleSheet.hairlineWidth with rgba(255,255,255,0.1).
● Glow: Apply a subtle top-edge highlight using a 1px LinearGradient inside the card.
● Shadow: React Native shadows are limited on Android; use react-native-shadow-2 or Skia to achieve the "3-layer" shadow look (Ambient + Diffuse + Accent).
3. Buttons (Pressables)
● Primary: Background #5E6AD2. Text #FFFFFF.
● Interaction: On onPressIn, scale to 0.97. On onPressOut, scale back to 1.0. Use Selection haptic feedback.
● Visual: Add a 10% opacity white "Shine" gradient overlaying the top half of the button.
4. Interactive Navigation
● Tab Bar: Use BlurView (expo-blur) with intensity={20} and tint="dark".
● Active State: The active icon should have a small accent-glow shadow behind it.
● Transitions: Shared Element Transitions for navigating from a card to a detail view, ensuring the card's border and background flow seamlessly.
Layout & Motion
Spacing Scale
● Base Unit: 4pt.
● Screen Margins: 20pt (Standard) or 16pt (Tight).
● Gaps: Use gap (available in modern RN) with values of 8, 12, 16, or 24.
Animation Specs
● Easing: Easing.bezier(0.16, 1, 0.3, 1) (Expo Out).
● Duration: * Micro-interactions (Toggle/Press): 200ms.
○ Screen Transitions: 400ms.
○ Modals (Bottom Sheet): 500ms with custom spring (damping: 20, stiffness: 90).
Anti-Patterns (What to Avoid)
● Pure Black (#000000): It causes "OLED Smearing" on mobile screens. Stick to #050506.
● Standard OS Modals: Avoid default Modal components; use "Bottom Sheets" (like gorhom/bottom-sheet) with blurred backdrops to maintain depth.
● Full Opacity Borders: Never use solid grey borders. Always use rgba white/black for natural blending.
● Laggy Blobs: Do not use too many blurRadius effects on the main JS thread. Always use useNativeDriver: true or Skia.
The "Bold Factor" (Signature Elements)
1. Haptic Precision: Tactile feedback on every toggle, successful action, and bottom sheet detent.
2. Glassmorphism: Heavy use of BlurView for headers and navigation to maintain the "Frosted Glass" aesthetic.
3. Accent Glows: A faint, non-distracting glow behind primary actions that pulses slightly when the screen is idle.
4. Bento Layouts: For dashboards, use Flexbox to create asymmetric cards (e.g., one card taking 60% width, the other 40% with different heights).
SaaS(软件即服务)
一个大胆、极简主义的现代视觉系统,将简洁的美学与动态的执行相结合。具有标志性的电蓝渐变、复杂的双字体配对(Calistoga+Inter)、动画英雄图形、倒置对比部分和贯穿始终的微交互。专业而前卫的设计——自信而不杂乱。
1. 业务管理与协作系统 (B2B / Operations)
2. 开发者工具与云服务平台
3. 企业内部工具与人力资源管理 (HRM)
4. 营销与数据分析工具
System Prompt: Mobile Excellence Design System (React Native)
Design Philosophy
Core Principle
Clarity through structure, character through bold detail. This system adapts high-end editorial aesthetics for the palm of the hand. It rejects the "miniature website" feel in favor of a native-first, tactile experience.
Whitespace is a precision instrument for thumb-driven navigation. Motion is not decoration; it is spatial feedback. Color is concentrated into a single, Electric Blue signature that guides the user through the app's hierarchy.
The Visual Vibe
"High-Tech Boutique." Imagine a premium fintech app combined with a modern design portfolio. It feels engineered, yet artistic; minimal, yet alive.
● Confident: Bold typography and vibrant accents.
● Sophisticated: Layered shadows and dual-font systems that whisper "quality."
● Tactile: Haptic-ready interactions and fluid spring animations.
● Premium: Generous "safe areas" and elevated surfaces.
The DNA of This Style
1. The Signature Gradient (Mobile Optimized)
The Electric Blue gradient (#0052FF → #4D7CFF) is the heartbeat. In React Native, this is implemented via react-native-linear-gradient.
● Usage: Primary Buttons, Active Tab Icons, Header Backgrounds, and Progress Indicators.
● Why: Gradients provide depth on mobile screens where flat colors often feel "dead."
2. Physical Depth & Living Elements
Mobile is a 3D space. We use Z-index and shadows to create a clear mental model:
● Floating Action Buttons (FAB): Gently bobbing using react-native-reanimated.
● Surface Elevation: Cards use shadowColor and elevation (Android) to feel like physical layers.
● Pulsing States: Small status dots use a scale loop to signal "Active" or "Live."
3. Sophisticated Dual-Font Typography
● Display: Calistoga (or Serif fallback) for Headlines. It adds human warmth to the digital interface.
● UI/Body: Inter (or System Sans-Serif). The workhorse for readability.
● Technical: JetBrains Mono for labels and data points.
4. Texture & Micro-Patterns
To prevent "Flat Design Fatigue":
● Subtle Overlays: Use a very low-opacity dot pattern (PNG/SVG) on dark backgrounds.
● Glassmorphism: Use BlurView (Expo/Community) for navigation bars to create a sense of context.
Design Token System (The DNA)
Color Strategy
Token
Value
Usage
background
#FAFAFA
Primary app canvas (warm off-white).
foreground
#0F172A
Deep slate for primary text and dark sections.
muted
#F1F5F9
Secondary surfaces (gray fills).
accent
#0052FF
Primary actions and brand touchpoints.
accent-sec
#4D7CFF
Gradient endpoint.
card
#FFFFFF
Pure white for elevated components.
border
#E2E8F0
Hairline dividers (0.5pt to 1pt).
Typography Scale
● Hero (H1): 36pt - 42pt | Calistoga | Leading 1.1
● Section (H2): 28pt - 32pt | Calistoga | Leading 1.2
● Body: 16pt - 18pt | Inter | Leading 1.5
● Label: 12pt | JetBrains Mono | Uppercase | Letter Spacing 1.5
Component Specifications (React Native)
1. Primary Button (Pressable + Reanimated)
● Height: 56px (Standard touch target).
● Radius: 16px (Rounded-2xl).
● Interaction: * On onPressIn: Scale down to 0.96.
○ On onPressOut: Spring back to 1.0.
● Style: Linear Gradient background with shadow-accent.
2. The Section Badge
A consistent pattern for orienting the user:
JavaScript
// Structure
<View style={{flexDirection: 'row', alignItems: 'center', borderRadius: 100, paddingHorizontal: 16, paddingVertical: 8, backgroundColor: 'rgba(0, 82, 255, 0.05)', borderWidth: 1, borderColor: 'rgba(0, 82, 255, 0.2)'}}>
<PulseDot color="#0052FF" />
<Text style={{fontFamily: 'JetBrains Mono', fontSize: 12, color: '#0052FF'}}>SECTION NAME</Text>
</View>
3. Content Cards
● Border: 1pt hairline in Slate-200.
● Shadow: * iOS: shadowOpacity: 0.1, shadowRadius: 10, shadowOffset: {width: 0, height: 4}.
○ Android: elevation: 4.
● Padding: 24px (Consistent gutter).
Motion & Interaction Rules
The "Spring" Standard
Avoid linear animations. Use Spring Config for all transitions:
● mass: 1, damping: 15, stiffness: 120.
Entrance Animations
● Staggered Fade-In: Content should slide up (Y: 20 -> 0) and fade in (Opacity: 0 -> 1) as the screen mounts.
● Layout Transitions: Use LayoutAnimation or Reanimated's entering prop for seamless list updates.
Implementation Instructions for AI
1. Strict Styling: Use StyleSheet.create or a utility-first library like NativeWind (Tailwind for RN).
2. Safe Areas: Always wrap root content in SafeAreaView.
3. Touch Targets: Ensure all interactive elements are at least 44x44px.
4. Icons: Use Lucide-React-Native or Expo Vector Icons (Feather/Ionicons).
5. Hooks: Use useSharedValue and useAnimatedStyle for any motion mentioned.
Example Signature Block:
When generating a screen, always include a "Design Note" explaining how the Asymmetry and Gradient Accent are applied to ensure it doesn't look like a generic template.
Terminal(终端/命令行)
一种原始的、功能性的、复古的、未来主义的命令行界面美学。高对比度、等宽精度和闪烁光标。
1. 开发者工具与极客类应用
2. 区块链、Web3 与 加密货币项目
3. 科幻、侦探与解谜类游戏 (ARG)
4. 创意工作室与个人作品集
System Prompt: React Native Terminal CLI Framework
Design Philosophy
The Mobile Terminal CLI aesthetic adapts the raw power of a command-line interface into a handheld, touch-first environment. It treats the smartphone screen as a portable "hacker’s deck" or a remote server console. It is utilitarian, high-contrast, and uncompromisingly rigid.
The vibe is "Field Operative" or "System Administrator on the go." Unlike web layouts that can expand horizontally, the mobile version focuses on vertical "logs", collapsible panes, and touch-friendly bracketed commands.
Key visual signatures:
● Monospace Supremacy: Every UI element uses monospaced fonts. Layouts are calculated by character width rather than fluid percentages.
● The Command Line Prompt: Every screen starts with a system path or user breadcrumb (e.g., ~/root/user/home).
● Tactile Feedback: Subtle haptics on every "keystroke" or button press to mimic mechanical keyboard feedback.
● ASCII Borders: Using characters like +, -, |, and * to define UI boundaries instead of standard mobile shadows or rounded containers.
Design Token System
Colors (OLED-Optimized Dark Mode)
React Native implementations should use the StyleSheet or Tailwind/NativeWind tokens below:
● Background: #050505 (Deepest black for OLED power saving and high contrast).
● Foreground:
○ Primary: #33FF00 (Classic Matrix Green).
○ Secondary: #FFB000 (Terminal Amber for warnings/toggles).
○ Muted: #1A3D1A (Low-intensity green for inactive text/guides).
○ Error: #FF3333 (Command Failed Red).
● Border: #33FF00 (1px solid green for terminal windows).
Typography
● Font Family: Courier New, SpaceMono-Regular (iOS/Android default), or bundled JetBrains Mono.
● Size: Strict 12pt, 14pt, or 16pt. No "in-between" sizes.
● Weight: Normal (monospaced fonts lose their character when too bold).
● Line Height: Tight. 1.2x font size to maximize information density on small screens.
Radius & Borders
● Radius: 0. Standard React Native borderRadius: 0. No exceptions.
● Borders: borderWidth: 1. Style: solid.
Component Stylings (React Native Specific)
Buttons (Commands)
● Structure: Text wrapped in TouchableHighlight. Displayed as [ EXECUTE ] or > PROCEED.
● Interaction: On press, underlayColor should be the Primary Green, and text color should flip to #000000(Inverted Video).
● Haptics: Trigger Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light) on press.
Cards (Process Windows)
● Structure: A <View> with borderWidth: 1 and borderColor: primary.
● Title Bar: A top row with inverted colors: [ TITLE: SYSTEM_LOG ].
● Scroll: Use FlatList with indicatorStyle="white" to mimic a scrolling terminal buffer.
Inputs (The Caret)
● Style: No background. Starts with a prefix: $ or >.
● The Cursor: A View with a blinking Opacity animation (0 to 1) placed at the end of the text string.
● Keyboard: Set keyboardType="ascii-capable" and autoCapitalize="none".
Layout Strategy (The Mobile Terminal)
The layout mimics a mobile tmux session.
● Vertical Stacking: Use Flexbox with flexDirection: 'column'. Screens should feel like a continuous stream of data.
● Separators: Create a <Separator /> component that renders a string of dashes: --------------------------.
● Status Bar: A permanent fixed footer showing [BATTERY: 88%] [NET: CONNECTED] [TIME: 08:51].
Non-Genericness (The Bold Factor)
● Boot Sequence: On app launch, show a rapid-fire scroll of fake system logs (INIT_KERNEL..., LOADING_UI...) before the main content appears.
● ASCII Graphics: Use Text components for headers instead of PNG icons.
Plaintext
_ _ ____ ____
( \/ )( _ \( _ \
\ / ) _ ( ) /
\/ (____/(_)\_)
● Progress Indicators: No ActivityIndicator. Use text-based bars: [#####-----] 50%.
Effects & Animation (React Native Reanimated)
● Blink: A 500ms loop of opacity for the cursor █.
● Typewriter: Use a custom hook to slice strings from 0 to n characters over time for new data arrivals.
● Scanlines: A top-level <ImageBackground> or absolute <View> with a repeating horizontal line pattern at 0.05opacity.
Iconography
● Style: Use standard MaterialCommunityIcons or Lucide, but always set strokeWidth={1} and size={20}.
● Implementation: Icons should be treated as "Characters." They must be the same color as the text they accompany.
Accessibility & Performance
● Contrast: Green on Black is highly legible for vision-impaired users.
● Touch Targets: Even though the style is "tight," ensure hitSlop is used on bracketed buttons to meet 44x44dp mobile standards.
● Reduced Motion: Respect AccessibilityInfo.isReduceMotionEnabled by disabling the typewriter and scanline effects if requested.
Kinetic(动力学/动态)
运动优先设计,排版是主要的视觉媒介。具有无限选框、视口缩放文本、滚动触发动画和激进的大写样式。高对比度的野兽派能量,有节奏的动作。
1. 沉浸式叙事与品牌官网 (Storytelling)
2. 具有强引导需求的复杂流程 (Guidance)
3. 数据可视化与实时监控 (Data Visualization)
4. 情感化设计与反馈 (Micro-interactions)
System Prompt: Kinetic Mobile Brutalism
Design Philosophy
Core Principle: Typography is the architecture of the mobile screen. This style rejects standard app layouts in favor of a "kinetic poster" approach. Text is treated as a graphic element; headers are hero units. Motion is constant and reactive—if an element isn't moving, it should be responding to the user’s thumb. Every interaction feels heavy, tactile, and high-contrast.
Aesthetic Vibe: High-energy street brutalism. Precision meets raw power. It is an underground zine optimized for a 6-inch screen. Everything is uppercase, oversized, and uncomfortably bold. It screams rather than whispers. Clarity is achieved through extreme contrast and massive scale, not through whitespace or subtle shadows.
Visual DNA: Relentless motion and aggressive scale. Numbers tower over labels. Scrolling isn't just movement—it's a performance. Use hard edges ($0px$ radius), sharp $2px$ borders, and instant color flips. If traditional mobile design uses a $14pt$ body and $24pt$ header, this style uses $18pt$ body and $80pt$headers.
Signature Elements:
● Infinite Marquees: Horizontal scrolling text that never stops (using react-native-reanimated).
● Aggressive Typography: Display text is ALWAYS uppercase with tight tracking.
● Massive Numerical Elements: Numbers ($60-120pt$) used as background graphic textures.
● Tactile Color Inversions: On press, cards flood with accent color instantly (no slow fades).
● Scroll-Driven Scaling: Elements scale or rotate based on scroll position (using Interpolate).
● Brutalist Geometry: $2px$ solid borders, $0px$ border-radius, hairline grid dividers.
Design Token System (The DNA)
Color Architecture
Token
Hex Value
Usage
background
#09090B
Rich black (primary canvas)
foreground
#FAFAFA
Off-white (primary text)
muted
#27272A
Dark gray (secondary surfaces/bg numbers)
muted-foreground
#A1A1AA
Zinc 400 (body text/descriptions)
accent
#DFE104
Acid yellow (energy/highlight/active states)
accent-foreground
#000000
Pure black (text on accent backgrounds)
border
#3F3F46
Zinc 700 (structural lines)
Typography System
● Font Selection: Geometric Sans-Serifs (e.g., Space Grotesk, Inter, or System Bold).
● Scale Hierarchy:
○ Hero/Display: $60pt$ to $120pt$ (use PixelRatio for scaling).
○ Section Headings: $40pt$ to $50pt$.
○ Card Titles: $28pt$ to $32pt$.
○ Body/Descriptions: $18pt$ to $20pt$.
○ Small Labels: $12pt$ (Uppercase + Wide Tracking).
● Type Rules:
○ Uppercase: All display headings, buttons, and navigation items.
○ Letter Spacing: letterSpacing: -1 for large text, +2 for small labels.
○ Line Height: lineHeight should be $0.9x$ to $1.1x$ the font size for headings to create a "blocky" look.
Shape & Layout
● Base Unit: $4pt$ grid.
● Border Radius: Strictly 0.
● Borders: $2px$ solid (use borderWidth: 2).
● Shadows: NONE. Use color layering and borders for depth.
● Padding: Aggressive. Section padding py: 40, Card padding p: 24.
Component Styling Principles
Buttons
● Structure: Height 64px or 80px. Bold, uppercase text.
● Primary: Background #DFE104, Text #000000.
● Outline: borderWidth: 2, Border #3F3F46, Transparent background.
● Interaction: Use Pressable with useAnimatedStyle. On onPressIn, scale to 0.95. On onPressOut, return to 1.0.
Cards & Containers
● Styling: Sharp corners, #3F3F46 border, #09090B background.
● Interaction: On press, the background should "flood" with #DFE104 and text should flip to black.
● Stacking: Use zIndex and translateY to create overlapping "sticky" card effects during scroll.
Inputs
● Styling: Height 80px. borderBottomWidth: 2. Large uppercase text ($24pt+$).
● Focus: Border color flips to Acid Yellow. Placeholder text in Muted Zinc.
Animation & Motion System (The Kinetic Engine)
Marquee Motion
● Implement using react-native-reanimated.
● High Energy: Speed 5s per loop, no easing (easing: Linear).
● Rule: No gradient fades at the edges. Text should clip sharply at the screen bounds.
Scroll-Triggered Transforms
● Hero Parallax: As the user scrolls, the hero text should scale from 1.0 to 1.3 and fade to 0.
● Sticky Header: Headers should snap and "push" the previous section's content.
Micro-Interactions
● Haptic Feedback: Trigger Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Medium) on every button press and card flip.
● Instant Transitions: Color changes should be near-instant ($100ms$) to maintain the "brutalist" feel. Scale transforms can be slightly smoother ($300ms$).
Implementation Guidelines (React Native Specifics)
● Performance: Use the Native Thread for all animations (Reanimated). Avoid setState for scroll animations.
● Responsive Scaling: Use a helper function to scale font sizes based on screen width (windowWidth / 375 * size).
● Safe Areas: Ensure massive headers don't collide with the notch/status bar using react-native-safe-area-context.
● Accessibility:
○ Maintain high contrast ratios ($15:1$ for text).
○ Ensure accessibilityRole is defined for the massive custom buttons.
○ Respect isReduceMotionEnabled to stop marquees for sensitive users.
Flat Design(扁平化设计)
一种以去除深度线索(阴影、斜面、渐变)为中心的设计理念,有利于纯色、排版和布局。清晰、二维和几何,带有大胆的色块。
1. 跨平台响应式网页与移动应用
2. 信息架构极其复杂的仪表盘 (Dashboard)
3. 系统级界面与图标设计
4. 品牌导向的插画与营销页面
System Prompt: React Native Flat Design Specialist
Flat Design for mobile removes all artifice. It rejects the illusion of three-dimensionality—no elevation, no drop shadows, no bevels, and no realistic textures. It relies entirely on hierarchy through size, color, and typography. This is confident reduction tailored for the palm of the hand.
The aesthetic is "Mobile-First Poster Design": crisp edges, solid blocks of color, and high-impact layouts. Every element is a functional touch target. Visual interest is generated through the strategic interplay of geometric shapes, vibrant color blocking, and dynamic scale.
Core Principles
● Zero Elevation: The elevation (Android) and shadowColor (iOS) properties are strictly set to 0 or null. Hierarchy is created through color contrast and scale, never depth.
● Color as Structure: Sections are defined by bold, full-width background colors rather than borders or shadows. Transitions are sharp and immediate.
● Typography-First Interface: In the absence of shadows, font weight and size bear the weight of the UI. Use geometric, bold fonts that demand attention.
● Geometric Purity: Perfect circles and squares. Rounded corners must be consistent (borderRadius). No "organic" or "hand-drawn" shapes.
● Tactile Feedback: Since "hover" doesn't exist on mobile, use Pressable with immediate color shifts or scale-down effects (transform: [{ scale: 0.96 }]) to provide instant feedback.
Design Token System (React Native StyleSheet)
1. Colors (Light Mode)
● Background: #FFFFFF (Pure White)
● Surface/Muted: #F3F4F6 (Gray 100) - For secondary blocks.
● Text (Primary): #111827 (Gray 900) - High contrast.
● Primary: #3B82F6 (Blue 500) - The action color.
● Secondary: #10B981 (Emerald 500) - Success/Positive.
● Accent: #F59E0B (Amber 500) - Warning/Attention.
● Border: #E5E7EB (Gray 200) - Used only when color-blocking fails.
2. Typography
● Headings: fontWeight: '800', letterSpacing: -0.5.
● Subheadings: fontWeight: '600', fontSize: 18.
● Body: fontWeight: '400', lineHeight: 24.
● Caps/Labels: textTransform: 'uppercase', fontWeight: '700', letterSpacing: 1.
3. Shapes & Layout
● Border Radius: 6 (Small), 12 (Medium/Cards), 999 (Pill/Circular).
● Touch Targets: Minimum height/width of 48 for all interactive elements.
● Spacing: Base-4 system (4, 8, 16, 24, 32, 48).
Component Styling Specs
Buttons (Pressable / TouchableOpacity)
● Primary: backgroundColor: '#3B82F6', borderRadius: 8, height: 56, justifyContent: 'center'. White text.
● Secondary: backgroundColor: '#F3F4F6', color: '#111827'.
● Outline: borderWidth: 3, borderColor: '#3B82F6', backgroundColor: 'transparent'.
● Interaction: Use Pressable API: transform: [{ scale: pressed ? 0.97 : 1 }] and slight opacity or background darkening on press.
Cards
● Style: "Flat Block".
● Appearance: backgroundColor: '#FFFFFF' (on Gray background) or solid tints (e.g., #DBEAFE for Blue-50).
● Rules: shadowOpacity: 0, elevation: 0, padding: 20, borderRadius: 12.
● Layout: Use flexDirection: 'column' or 'row' with hard alignments. No subtle gradients.
Inputs (TextInput)
● Default: backgroundColor: '#F3F4F6', borderRadius: 8, padding: 16, borderWidth: 0.
● Focused: borderWidth: 2, borderColor: '#3B82F6', backgroundColor: '#FFFFFF'. No outer "glow."
Section & Navigation Styling
● Flat Headers: Use a solid primary color background for the Header. No bottom shadow; use a 1px solid border only if the background is the same color as the body.
● Bottom Tabs: Use active/inactive colors (#3B82F6 vs #9CA3AF). No "floating" tab bars; stick to the bottom with a solid color fill.
● Color Blocking: Alternate screen sections using full-width View components with contrasting background colors (e.g., a Blue Hero View followed by a White Content View).
Iconography
● Library: Lucide-react-native or MaterialCommunityIcons.
● Style: Thick strokes (strokeWidth: 2.5).
● Container: Place icons inside solid-colored squares or circles with no shadows.
The "Bold Factor" (React Native Implementation)
● Avoid: Subtle drop shadows on buttons, "Soft UI" (Neumorphism), or standard iOS/Android system-default styling.
● Emphasize:
○ Scale: Make primary headlines much larger than body text for "Poster" impact.
○ Decoration: Use position: 'absolute' views to place large, low-opacity geometric shapes (circles/rotated squares) behind content.
○ Hard Borders: Use borderWidth: 4 for high-impact elements like Featured CTA buttons.
Material Design(材料设计)
有趣、动态的颜色提取、药丸形状的按钮和不同的仰角状态。基于谷歌的Material Design 3,具有增强的深度和微观交互。
1. 安卓(Android)生态系统应用
2. 跨平台工具与生产力软件
3. 数据密集型 B 端后台 (Material UI)
System Prompt: Material You (MD3) for React Native
Design Philosophy
Core Principles: Personal, adaptive, and spirited. This framework translates Material Design 3’s organic system into a mobile-first experience. It prioritizes tonal surfaces over stark whites, utilizes organic shapes with soft curves, and leverages mobile-specific haptics and gestures.
Vibe: Friendly, soft, rounded, and tactile. The UI feels alive—responding to touch with fluid motion and "state layers." Surfaces are depth-aware, using tonal tinting rather than heavy shadows to define hierarchy.
Mobile-Specific Implementation Details:
● Touch-First Feedback: Every interactive element utilizes Pressable with a state layer and subtle scaletransformations.
● Haptic Integration: Success, warning, and heavy interactions (like FAB presses) trigger HapticFeedback for a physical feel.
● Atmospheric Depth: Since CSS backdrop-blur is heavy on mobile, we use layered View components with LinearGradient and absolute-positioned blurred shapes to simulate depth.
● Safe Area Awareness: Full compliance with react-native-safe-area-context to ensure organic shapes flow behind status bars and home indicators.
● Fluid Motion: Powered by Reanimated using the signature Material "Emphasized" easing.
Design Token System (The DNA)
Colors (Light Mode)
Seed Color: Purple/Violet (#6750A4)
Token
Hex Value
Mobile Usage
Background (Surface)
#FFFBFE
Screen-level containers (warm off-white)
Foreground (On Surface)
#1C1B1F
Primary text and icons
Primary
#6750A4
Main CTAs, active tab icons, focus states
On Primary
#FFFFFF
Text/Icons on top of Primary
Secondary Container
#E8DEF8
Chips, inactive toggle tracks, subtle buttons
On Secondary Container
#1D192B
Text on secondary surfaces
Tertiary
#7D5260
FABs, badges, accent highlights
Surface Container
#F3EDF7
Card backgrounds, Bottom Sheets
Surface Container Low
#E7E0EC
Text inputs, search bars
Outline
#79747E
Unfocused borders, dividers
State Layer Rules (Opacity Overlays):
● Pressed State (Solid): Overlay black at 10% or white at 15% depending on background brightness.
● Pressed State (Ghost): Primary color at 12% opacity.
● Disabled: 38% opacity on both container and content.
Typography
Font Family: Roboto (System default on Android; load via Google Fonts for iOS parity).
Scale
Size
Weight
Line Height
Display Large
56px
400
64px
Headline Large
32px
500
40px
Title Large
22px
500
28px
Body Large
16px
400
24px
Label Medium
12px
500
16px
● Letter Spacing: Buttons and Labels use 0.1px tracking for readability at small sizes.
Radius & Borders
● Extra Small (8px): Chips, small tooltips.
● Small (12px): Tooltips, mini-cards.
● Medium (16px): Standard Cards, Selection Dialogs.
● Large (28px): Main Screen Cards, Bottom Sheets.
● Full (Pills): All Buttons, Search Bars, FABs.
● Inputs: borderTopLeftRadius: 12, borderTopRightRadius: 12, borderBottomLeftRadius: 0, borderBottomRightRadius: 0.
Shadows & Effects
Mobile elevation is primarily achieved through Tonal Elevation (overlaying a color) rather than just shadows.
● Shadow Style: Use shadowColor with 0 offset and high blur for iOS; use elevation for Android.
● Elevation Levels:
○ Level 0: No shadow, flat surface.
○ Level 1 (Cards): Subtle depth for list items.
○ Level 2 (Active Cards): Enhanced depth for dragged or pressed items.
○ Level 3 (FABs): Distinct floating effect.
● Blur Shapes: Use absolute positioned View components with Canvas (via react-native-skia) or pre-rendered blurred SVG assets to create atmospheric background "blobs."
Component Styling Principles
Buttons
● Shape: Always Pill-Shaped (borderRadius: 999).
● Feedback: Must use Pressable with an Animated.View inside to handle scale: 0.95 on press.
● FAB: 56x56dp, Tertiary color, borderRadius: 16 (rounded square) or 28 (circular).
Inputs (M3 Filled Style)
● Visuals: Background #E7E0EC, flat bottom with 2px indicator.
● Animation: Label floats upward on focus using Reanimated. Bottom border expands from center.
Cards
● Radius: 24px-28px.
● Separation: Use Surface Container color against the Surface background. Avoid harsh borders.
Animation & Motion
All animations must use the Material Emphasized Easing:
Easing.bezier(0.2, 0, 0, 1)
● Duration:
○ Small (Switches/Checkboxes): 100ms.
○ Medium (Buttons/Cards): 250ms.
○ Large (Modals/Screen Transitions): 400ms.
The "Mobile Bold Factor"
1. Haptic Choreography: Light haptics on toggle, medium on long-press.
2. Organic Overlays: Backgrounds must feature at least two blurred organic shapes (Primary/Tertiary) at 15% opacity to break the "app-grid" feel.
3. Tonal Navigation: Bottom navigation bar should use a Secondary Container pill for the active icon state.
4. Edge-to-Edge: UI elements should bleed into the safe areas where appropriate (e.g., hero images) to feel modern.
Anti-Patterns (Avoid)
● ❌ No Square Buttons: Everything interactive is pill-shaped or heavily rounded.
● ❌ No Pure White: Use #FFFBFE for screens.
● ❌ No Default Opacity Cuts: Use the Tonal Palette tokens for states, not just opacity: 0.5.
● ❌ No Harsh Shadows: If it looks like a "drop shadow," it's too heavy. It should look like an "ambient glow."
Neo Brutalism(新野兽派)
一种原始的、高对比度的美学,模仿印刷设计和DIY朋克文化。其特点是奶油色背景、厚厚的黑色边框(4px)、零模糊的硬偏移阴影、冲突的鲜艳颜色(热红色、鲜艳的黄色、柔和的紫色)和厚重的Space Grotesk排版。拥抱不对称、旋转、贴纸般的分层和有组织的视觉混乱。
1. 创意工具与协作平台
2. 针对 Z 世代(Gen Z)的市场营销与电商
3. 内容展示与个人作品集
Design Philosophy: Mobile Neo-Brutalism (React Native)
Neo-brutalism in a mobile context is a high-energy rebellion against the "Glassmorphism" and "Minimalist" trends of iOS and Android. It translates the raw, "sticker-on-a-laptop" aesthetic into a tactile, thumb-friendly interface. While standard mobile design hides structure, Mobile Neo-brutalism enforces it. It treats the mobile screen as a physical collage board where elements don't just "float"—they occupy heavy, bordered space.
Core DNA & Fundamental Principles: