# GoingsOn Style Guide ## Design Language: Neobrute GoingsOn uses **Neobrute**, a clean neobrutalism design system inspired by [neobrutalism.dev](https://www.neobrutalism.dev/). ### Core Philosophy - **Bold and high-contrast**: Black borders, black text, crisp offset shadows with zero blur - **Blue-dominant palette**: Primary actions use bright blue, yellow reserved for warnings/status - **Cards have presence**: 4px offset shadows on all cards and containers, hover lift on clickable cards - **Sans-serif headings**: System sans-serif at weight 700 for all headings --- ## Color System ### Background Colors | Variable | Hex | Usage | |----------|-----|-------| | `--bg-primary` | `#E0E4FA` | Page background (lavender-blue) | | `--bg-secondary` | `#CDD3F0` | Secondary surfaces, hover states | | `--bg-tertiary` | `#BAC2E6` | Tertiary surfaces | | `--bg-card` | `#FFFFFF` | Cards, modals, inputs | ### Text Colors | Variable | Hex | Usage | |----------|-----|-------| | `--text-primary` | `#000000` | Headings, primary text | | `--text-secondary` | `#2D2D2D` | Body text, descriptions | | `--text-muted` | `#6B6B6B` | Captions, hints, disabled | ### Accent Colors | Variable | Hex | Usage | |----------|-----|-------| | `--accent-blue` | `#6196FF` | **Primary actions**, active states, focus, buttons | | `--accent-yellow` | `#F7D154` | Warnings, snooze, medium priority, "on hold" status | | `--accent-green` | `#5CB85C` | Success, active status, tasks | | `--accent-purple` | `#7B68EE` | Recurrence, essays, special | | `--accent-red` | `#DC3545` | Errors, high priority, danger | | `--accent-cyan` | `#17A2B8` | Info, side projects, completed | --- ## Logo ### Full Logo The GoingsOn wordmark uses **Reglo Bold** with the following specifications: - **Font**: Reglo Bold - **Color**: `--text-primary` (#000000) on light backgrounds - **Alternate**: White on dark backgrounds - **Letter-spacing**: -0.02em (slightly tightened) ### Small Logo (Icon) The compact logo displays **"GO"** in Reglo Bold, centered within a neobrutalist container: ``` +-----------------+ | | | GO | | | +-----------------+ ``` **Specifications:** - **Background**: `--accent-blue` (#6196FF) - **Text**: `--text-on-accent` (#FFFFFF) - **Border**: 2px solid `--border-color` (#000000) - **Border Radius**: `--radius-sm` (5px) - **Shadow**: 2px 2px 0 `--border-color` (neobrutalist offset) **Files:** - `media/logo-go.svg` - Small "GO" icon logo - `media/logo-goingson.svg` - Full wordmark (future) ### Usage Guidelines | Context | Logo | Min Size | |---------|------|----------| | App icon / Favicon | GO icon | 16x16px | | Sidebar / Header | GO icon | 32x32px | | Splash / Marketing | Full wordmark | 120px wide | | Documentation | Either | Context-dependent | --- ## Typography ### Font Families ```css --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --font-serif: Georgia, 'Times New Roman', serif; --font-mono: 'SF Mono', 'Consolas', 'Liberation Mono', monospace; --font-display: 'Reglo', var(--font-serif); ``` ### Display Font: Reglo The **Reglo** font is used for the logo and prominent H1-style headings. Reglo is an open-source display font with a bold, geometric character that complements the neobrutalist aesthetic. - **Source**: [Reglo by Sebastien Sanfilippo](https://github.com/nicokant/reglo) (OFL license) - **Usage**: Logo wordmark "GoingsOn", hero headings, splash screens - **Weights**: Bold only (display use) ```css @font-face { font-family: 'Reglo'; src: url('fonts/Reglo-Bold.woff2') format('woff2'); font-weight: 700; font-display: swap; } ``` ### Semantic Aliases - `--font-display`: Uses `Reglo` for logo and hero headings - `--font-heading`: Uses `--font-sans` for titles and headings - `--font-body`: Uses `--font-sans` for body text ### Type Scale | Element | Size | Weight | Font | |---------|------|--------|------| | Page Title | 1.75rem | 700 | Sans | | Card Title | 1.1rem | 700 | Sans | | Modal Title | 1.25rem | 700 | Sans | | Body | 1rem | 400 | Sans | | Small | 0.875rem | 400 | Sans | | Caption | 0.75rem | 600 | Sans | --- ## Spacing The spacing system uses a consistent rem-based scale: | Name | Value | Usage | |------|-------|-------| | xs | 0.25rem | Badge padding, tight gaps | | sm | 0.5rem | Small gaps, icon spacing | | md | 0.75rem | Standard padding | | lg | 1rem | Section padding | | xl | 1.25rem | Card padding | | 2xl | 1.5rem | Page margins | --- ## Border & Shadow System ### Border Widths | Element | Width | |---------|-------| | Cards, Buttons, Modals | 2px (`--border-width`) | | Inputs, Badges, Tags | 2px | | Dividers | 2px | ### Border Radius | Variable | Value | Usage | |----------|-------|-------| | `--radius-xs` | 3px | Scrollbars, tiny elements | | `--radius-sm` | 5px | Buttons, badges, inputs | | `--radius-md` | 5px | Cards, filter bars (uniform with buttons) | | `--radius-lg` | 10px | Modals | | `--radius-xl` | 20px | Pills | ### Shadow System All shadows use **zero blur** for crisp neobrutalist edges: ```css /* Shadow utilities */ .shadow-sm { box-shadow: 2px 2px 0 var(--border-color); } .shadow-md { box-shadow: 4px 4px 0 var(--border-color); } /* Default */ .shadow-lg { box-shadow: 6px 6px 0 var(--border-color); } .shadow-xl { box-shadow: 8px 8px 0 var(--border-color); } /* Modals */ .shadow-none { box-shadow: none; } ``` ### Offset Shadow Values | Element | Shadow Offset | Hover Lift | |---------|---------------|------------| | Cards (project) | 4px | Yes (-2px translate) | | Dashboard items | 4px | Yes | | Kanban cards | 4px | Yes | | Saved views | 4px | Yes | | Tables (task, event, data) | 4px | No | | Email list | 4px | No | | Filter bar | 4px | No | | Stat cards | 4px | No | | Review sections/cards | 4px | No | | Milestone cards | 4px | No | | Buttons (default) | none | No | | Buttons (primary/danger) | 4px | Yes | | Modals | 8px | No | | Dropdowns/Context menus | 3-6px | No | | Inputs | none | No | --- ## Components ### Buttons ```html ``` **States (default `.btn`):** - **Default**: Flat (border only, no shadow) - **Hover**: Background changes to `--bg-secondary` - **Active**: Background changes to `--bg-tertiary` **States (`.btn-primary`, `.btn-danger`):** - **Default**: 4px offset shadow - **Hover**: Lifts up (-2px, -2px), shadow increases - **Active**: Pushes down (1px, 1px), shadow shrinks ### Cards ```html
Description text
| Column |
|---|
| Data |
No items found