`, ``, etc.)
+- ❌ **Cannot use CSS classes** - Must use style objects
+
+### **Web**
+
+- 🤔 **Primitives are RECOMMENDED** but not required
+- ✅ **Can still use raw HTML** when it makes sense
+- ✅ **Mix primitives with existing HTML/CSS** during migration
+
+### **Shared Components**
+
+- ✅ **Use primitives ONLY** if component must work on both web AND mobile
+- 🎯 **Otherwise, choose based on practicality** (see [When to Use Primitives](./03-when-to-use-primitives.md))
+
+## 🎯 **Core Philosophy**
+
+### **Mobile-First Cross-Platform Development**
+
+Every component is designed to work on both desktop and mobile from day one. This isn't "responsive web design" – it's true cross-platform development with React Native.
+
+### **Consistency Through Abstraction**
+
+Rather than learning different APIs for web vs mobile, you learn one API that works everywhere. Platform differences are handled internally.
+
+### **Progressive Enhancement**
+
+Start with basic functionality that works everywhere, then add platform-specific features (haptic feedback, keyboard types, etc.) where beneficial.
+
+---
+
+## 🏗️ **Architecture Overview**
+
+### **File Structure Pattern**
+
+```
+src/components/primitives/Button/
+├── index.ts # Exports the appropriate version
+├── Button.web.tsx # Web-specific implementation
+├── Button.native.tsx # React Native implementation
+├── Button.scss # Web styles
+└── types.ts # Shared type definitions
+```
+
+### **Import Resolution**
+
+```tsx
+// This automatically imports the right version
+import { Button } from '../components/primitives/Button';
+
+// Metro (React Native) picks Button.native.tsx
+// Webpack (Web) picks Button.web.tsx
+```
+
+### **Shared Type System**
+
+```tsx
+// types.ts - shared across platforms
+export interface BaseButtonProps {
+ type?:
+ | 'primary'
+ | 'secondary'
+ | 'light'
+ | 'light-outline'
+ | 'subtle'
+ | 'danger'
+ | 'unstyled';
+ size?: 'small' | 'normal' | 'large';
+ disabled?: boolean;
+ fullWidth?: boolean;
+ iconName?: IconName;
+ iconOnly?: boolean;
+ onClick: () => void;
+ children?: React.ReactNode;
+}
+
+// Platform-specific props are conditionally added
+export interface NativeButtonProps extends BaseButtonProps {
+ hapticFeedback?: boolean; // Only on native
+ accessibilityLabel?: string;
+ fullWidthWithMargin?: boolean;
+}
+```
+
+---
+
+## 🎨 **Design System Integration**
+
+### **Semantic Color Variables**
+
+Instead of hardcoded colors, use semantic variables that automatically adapt to light/dark themes:
+
+```tsx
+// ❌ Hardcoded colors
+
+
+// ✅ Semantic colors (Quilibrium system)
+
+
+// ✅ Or with theme variables
+
+```
+
+### **Consistent Spacing System**
+
+```tsx
+// Standardized gap values used across Quilibrium
+gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'
+
+// Maps to consistent pixel values
+// xs: 4px, sm: 8px, md: 16px, lg: 24px, xl: 32px
+
+// Real usage in UserProfile component:
+
+
+ User Profile
+
+```
+
+### **Typography Hierarchy**
+
+```tsx
+// Semantic typography components in Quilibrium
+Main page title
+Section title
+Body content
+Helper text
+Error message
+
+// Real usage from SwitchTestScreen:
+
+ Basic Switch ({basicSwitch ? 'ON' : 'OFF'})
+
+```
+
+---
+
+## 🚀 **Key Benefits**
+
+### **1. Development Speed**
+
+- Write once, works everywhere
+- No need to learn platform-specific APIs
+- Consistent behavior reduces debugging
+
+### **2. Design Consistency**
+
+- Unified color system and spacing
+- Consistent interactive states (hover, focus, disabled)
+- Automatic theme switching (light/dark)
+
+### **3. Maintainability**
+
+- Bug fixes apply to all platforms
+- API changes happen in one place
+- Predictable component behavior
+
+### **4. Accessibility**
+
+- Built-in screen reader support
+- Proper touch targets on mobile
+- Keyboard navigation on web
+
+### **5. Future-Proof**
+
+- Easy to add new platforms (e.g., desktop apps)
+- Component evolution without breaking changes
+- A/B testing and analytics integration points
+
+---
+
+## 🎯 **Container + Layout Architecture**
+
+### **Core Pattern: Separation of Concerns**
+
+Our architecture separates **styling** from **layout** for maximum flexibility and consistency:
+
+```tsx
+// ✅ REAL EXAMPLE: From UserProfile component
+ e.stopPropagation()}
+>
+
+
+ {user.name}
+
+
+
+
+ Address:
+
+
+
+ {user.address.slice(0, 8)}...
+
+
+
+
+```
+
+### **Component Responsibilities**
+
+#### **Container (Styling Container)**
+
+- Visual styling: colors, borders, shadows, border radius
+- Click/press handlers that work cross-platform
+- Background colors and themed styling
+- CSS classes and inline styles
+
+#### **Flex Primitive (Layout)**
+
+- Content organization and spacing (gap: 'xs' | 'sm' | 'md' | 'lg' | 'xl')
+- Direction: direction="row" (default) | "column"
+- Alignment: align="center" | "start" | "end" | "stretch"
+- Justification: justify="start" | "center" | "between" | "around"
+- Responsive behavior and wrapping
+
+#### **Text Components (Content)**
+
+- Typography and text rendering
+- Built-in spacing props for better mobile experience
+- Semantic variants (strong, subtle, error, etc.)
+
+### **Why This Pattern Works**
+
+1. **Predictable Spacing**: Gap system eliminates margin calculation issues
+2. **Platform Consistency**: Flex primitives handle platform differences automatically
+3. **Maintainable**: Clear separation between styling and layout concerns
+4. **Flexible**: Mix and match containers with different layout patterns
+
+---
+
+## 📱 **Mobile-First Enhancements**
+
+### **Enhanced Text Component**
+
+React Native text handling is different from web. Our Text primitive solves common issues:
+
+```tsx
+// ✅ Real example: Enhanced Text from Quilibrium codebase
+
+ Switch Component Demo
+
+
+ Cross-platform toggle switch with multiple sizes and variants
+
+
+// ❌ Web approach (doesn't work well on mobile)
+
+
Text without proper mobile optimizations
+
+```
+
+**Enhancements:**
+
+- **Automatic line height** (1.4x font size) for better readability
+- **Built-in spacing props** to reduce View wrapper verbosity
+- **Better Android alignment** with `includeFontPadding: false`
+- **Semantic components** (Paragraph, Label, etc.) for common patterns
+
+### **Touch-Optimized Interactions**
+
+```tsx
+// Real example from UserProfile component
+
+
+// With mobile-specific props
+
+```
+
+### **Platform-Specific Input Types**
+
+```tsx
+// Real examples from Quilibrium forms
+
+
+
+```
+
+---
+
+## 🔄 **Migration Strategy**
+
+### **From Web to Cross-Platform**
+
+1. **Identify Platform-Specific Code**
+ - HTML elements (``, `