# GT Agent Company - UI/UX Design System **Project Type**: Mobile-First SaaS Application (UniApp Vue3) **Tech Stack**: Vue 3 + UnoCSS + uView Plus **Platforms**: H5 / WeChat Mini Program / Native App **Last Updated**: 2026-03-18 --- ## ๐จ Design Philosophy **Style Direction**: Modern Professional SaaS with Xiaomi-Inspired Branding **Primary Pattern**: Glassmorphism + Flat Design + Vibrant & Block-based **Target Audience**: B2B/B2C professionals seeking agent management solutions ### Core Design Principles 1. **Mobile-First**: Design for 375px viewport first, enhance for larger screens 2. **Performance-Focused**: Minimize animations, optimize images, lazy load 3. **Accessibility-Driven**: WCAG 2.1 AA minimum, touch-friendly targets 4. **Consistent Branding**: Xiaomi-inspired orange (#ff6700) as primary identity 5. **Cross-Platform**: Unified experience across H5, WeChat, and native apps --- ## ๐ฏ Product Type Recommendations Based on analysis: **SaaS (General) + B2B Service** **Recommended Landing Pattern**: Hero + Features + CTA **Dashboard Style**: Data-Dense + Real-Time Monitoring **Key Considerations**: - Balance modern feel with clarity - Focus on strong CTAs (Call-to-Actions) - Credibility essential - show clear ROI messaging - Social proof and trust elements mandatory --- ## ๐ Color Palette ### Brand Colors (Blue Theme) ```scss // Primary Brand Colors --brand-primary: #1677ff; // Primary CTA, hover states --brand-primary-light: #4096ff; // Lighter variant --brand-primary-dark: #0958d9; // Pressed states --brand-secondary: #1e293b; // Dark Gray (headings) --brand-accent: #ffffff; // White (emphasis) ``` ### Semantic Colors (Light Mode) ```scss // Primary Theme Colors --theme-primary: #1677ff; // Blue (Trust + Energy) --theme-secondary: #1e293b; // Dark Gray --theme-accent: #ffffff; // White // Status Colors --theme-success: #52c41a; // Green (Success states) --theme-warning: #faad14; // Amber (Warnings) --theme-error: #ff4d4f; // Red (Errors) --theme-info: #1677ff; // Info (same as primary) // Text Hierarchy --theme-main-color: #212121; // Primary text --theme-content-color: #666666; // Body text --theme-tips-color: #999999; // Secondary text --theme-light-color: #cccccc; // Muted text --theme-disabled-color: #f5f5f5; // Disabled states // Backgrounds --theme-bg-color: #fafafa; // Main background --theme-bg-color-secondary: #ffffff; // Card backgrounds --theme-bg-gradient-start: #1677ff; --theme-bg-gradient-end: #4096ff; // Borders --theme-border-color: #e8e8e8; // Borders, dividers ``` ### Dark Mode Colors ```scss .theme-dark { --brand-primary: #4b9cff; // Blue (lighter for dark mode) --brand-primary-light: #69b1ff; --brand-primary-dark: #1668dc; --theme-success: #73d13d; --theme-warning: #ffc53d; --theme-error: #f56c6c; // Text (High Contrast Required) --theme-main-color: #ffffff; --theme-content-color: #b0b8c1; --theme-tips-color: #8a8f95; --theme-light-color: #6c757d; --theme-disabled-color: #495057; // Backgrounds --theme-bg-color: #1a1a1a; --theme-bg-color-secondary: #2d2d2d; } ``` ### UnoCSS Theme Integration ```typescript // uno.config.ts already configured: theme: { colors: { 'primary': 'var(--theme-primary)', 'success': 'var(--theme-success)', 'warning': 'var(--theme-warning)', 'error': 'var(--theme-error)', 'text-main': 'var(--theme-main-color)', 'text-content': 'var(--theme-content-color)', 'text-tips': 'var(--theme-tips-color)', } } // Usage in templates:
Body text
``` ### Color Contrast Requirements **CRITICAL**: Maintain minimum 4.5:1 contrast ratio for normal text โ **Good Combinations**: - `#4c484f` (text-main) on `#ffffff` โ 7.2:1 - `#ffffff` on `#ff6700` (primary) โ 4.1:1 - `#333333` on `#ffffff` โ 12.6:1 โ **Bad Combinations**: - `#bd9e84` (light) on `#ffffff` โ 2.4:1 (TOO LOW) - Use `text-light` only for decorative text, not critical content --- ## ๐ Typography ### Font Pairing: Modern Professional **Stack**: Plus Jakarta Sans (Sans + Sans) **Character**: Friendly, modern, SaaS, clean, approachable, professional ```css /* Import Google Fonts */ @import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap'); /* Fallback for platforms without custom fonts */ font-family: 'Plus Jakarta Sans', 'PingFang SC', 'Microsoft YaHei', sans-serif; ``` ### Font Scale (Mobile-First) ```scss // Base: 16px (rem baseline) // Headings --font-h1: 32px; // Hero headings --font-h2: 28px; // Section titles --font-h3: 24px; // Card headers --font-h4: 20px; // Subsection titles --font-h5: 18px; // Small headings --font-h6: 16px; // Labels // Body --font-body: 16px; // MINIMUM for mobile readability --font-body-small: 14px; --font-caption: 12px; // Fine print only // Line Heights --line-height-tight: 1.2; // Headings --line-height-normal: 1.5; // Body text (MANDATORY) --line-height-relaxed: 1.75; // Long-form content ``` ### Typography Hierarchy ```htmlBody text content. Minimum 16px on mobile.
Secondary information Fine print only - not for critical content ``` ### Font Weight Usage - **300 Light**: Decorative text only - **400 Regular**: Body text, descriptions - **500 Medium**: Emphasized body text - **600 SemiBold**: Headings, buttons - **700 Bold**: Hero titles, important CTAs **โ ๏ธ RULE**: Never use font weight < 400 for critical content --- ## ๐ Layout & Spacing ### Container Widths ```scss // Mobile-first breakpoints (UnoCSS) --container-xs: 100%; // < 640px --container-sm: 640px; // sm: --container-md: 768px; // md: --container-lg: 1024px; // lg: --container-xl: 1280px; // xl: // Recommended max-width for content --max-width-content: 1200px; ``` ### Spacing Scale (UnoCSS rem-based) ```scss // Base: 1rem = 16px (4px increments) --space-1: 0.25rem; // 4px --space-2: 0.5rem; // 8px (Minimum touch spacing) --space-3: 0.75rem; // 12px --space-4: 1rem; // 16px (Base unit) --space-6: 1.5rem; // 24px (Section spacing) --space-8: 2rem; // 32px (Component gaps) --space-12: 3rem; // 48px (Large sections) --space-16: 4rem; // 64px (Hero sections) // UnoCSS Usage:High-contrast content block
```
### Animation Performance
```html