--- description: Tailwind CSS utility-first styling conventions for AIUI, ported from Archy globs: "**/*.vue,**/*.css,**/*.ts" alwaysApply: false --- # Tailwind CSS Styling ## Source of Truth All glass morphism, container, and button patterns originate from the Archy project (`/Projects/Archy/neode-ui/src/style.css`). When in doubt, match Archy exactly. ## Utility-First Use Tailwind utilities directly in templates. Extract to component classes only when a pattern repeats 3+ times. ## 4px Spacing Grid ``` 1 = 4px, 2 = 8px, 3 = 12px, 4 = 16px, 5 = 20px, 6 = 24px, 7 = 28px, 8 = 32px ``` ## Typography Scale ``` text-xs = 12px (metadata, timestamps) text-sm = 14px (body text, buttons) text-base = 16px (default body, inputs) text-lg = 18px (subtitles) text-xl = 20px (card titles) text-2xl = 24px (section headings) text-3xl = 30px (page headings) text-4xl = 36px (hero headings) ``` Font weights: `font-normal` (body), `font-medium` (emphasis), `font-semibold` (headings/buttons), `font-bold` (strong emphasis). ## Glass Morphism (from Archy) ### Containers (exact Archy values) - `.glass` — base: `bg: rgba(0,0,0,0.35)`, `blur(18px)`, `border: 1px solid rgba(255,255,255,0.18)`, `shadow: 0 8px 24px rgba(0,0,0,0.45)` - `.glass-strong` — stronger blur: same bg but `blur(24px)` - `.glass-card` — primary card: `bg: rgba(0,0,0,0.65)`, `blur(18px)`, `border-radius: 1rem`, same border/shadow - `.gradient-card` — gradient: `linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(0,0,0,0.8) 100%)` - `.gradient-card-dark` — dark gradient: `linear-gradient(180deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.9) 100%)` - `.gradient-border-container` — gradient border with inner glass, `border-radius: 1.5rem` - `.toast-glass` — `border-radius: 0.75rem`, same glass as `.glass-card` ### Buttons (exact Archy values) - `.glass-button` — 48px height, `bg: rgba(0,0,0,0.6)`, `blur(18px)`, border `rgba(255,255,255,0.18)`, `color: rgba(255,255,255,0.9)` - `.glass-button-sm` — compact variant (auto height, `py-1.5 px-3`) ### Icon / Ghost buttons (Archy pattern) ```html