# Design System Specification

## 1. Overview & Creative North Star: "The Monolith Editorial"
The creative direction for this design system is **The Monolith Editorial**. We are moving away from the "busy" aesthetics of modern SaaS and toward a disciplined, high-end editorial experience. The goal is to create a sense of permanent, quiet authority. By stripping away all accent colors and relying on a monochromatic slate palette, we force the user to focus on content, structure, and intent.

The "Template" look is avoided through **Intentional Negative Space** and **Tonal Depth**. We do not use lines to separate ideas; we use the weight of the typography and the shift of the background. It is a system that feels carved rather than assembled.

---

## 2. Colors & Tonal Architecture
The palette is strictly monochromatic, utilizing a "Slate" foundation to provide a cooling, sophisticated atmosphere. 

### Core Palette
- **Background**: `#f7f9fb` (Light) / `#020617` (Dark)
- **Primary (Action)**: `#000000` (Light) / `#ffffff` (Dark) — *Note: Primary actions invert the surface.*
- **Destructive**: `#ba1a1a` (The only color allowed to break the monochrome seal).

### The "No-Line" Rule
**Explicit Instruction:** Designers are prohibited from using 1px solid borders to section off major UI areas. To define boundaries, you must use background shifts. 
- Use `surface-container-low` for secondary content areas.
- Use `surface-container-highest` for high-priority nested components.
- Sectioning is achieved via a 32px–48px vertical gap or a subtle change in the background hex, never a line.

### Surface Hierarchy & Nesting
Treat the UI as stacked sheets of gallery-grade paper. 
1. **Base Layer:** `surface` (The foundation).
2. **Raised Layer:** `surface-container-low` (For subtle grouping).
3. **Focus Layer:** `surface-container-lowest` (For cards and interactive modules to "pop" via tonal contrast).

---

## 3. Typography: The Inter Hierarchy
We use **Inter** exclusively. To achieve an editorial feel, we rely on extreme contrast between `headline-lg` and `label-sm`.

| Level | Size | Weight | Case | Spacing |
| :--- | :--- | :--- | :--- | :--- |
| **Display-LG** | 3.5rem | 600 | Default | -0.02em |
| **Title-LG** | 20px | 600 | Default | -0.01em |
| **Header (Label-MD)** | 13px | 600 | Uppercase | +0.05em |
| **Body-LG** | 16px | 400 | Default | Normal |
| **Meta (Label-SM)** | 13px | 400 | Default | Normal |

**Editorial Note:** Always pair an Uppercase Label-MD header directly above a Title-LG to create a "Masthead" effect for sections.

---

## 4. Elevation & Depth: Tonal Layering
Traditional drop shadows are largely forbidden. Hierarchy must be achieved through **Tonal Layering**.

- **The Layering Principle:** Instead of a shadow, place a `surface-container-lowest` card on a `surface-container-low` background. The slight shift in slate value creates a "natural" lift.
- **Ambient Shadows:** For floating elements like Sheets or Dialogs, use a "Ghost Shadow": `0px 20px 40px rgba(15, 23, 42, 0.06)`. It should feel like a soft glow, not a dark stain.
- **Glassmorphism:** For the "Sticky Bottom Input," use a backdrop-blur of `12px` and a semi-transparent `surface` color (80% opacity). This ensures the content "flows" under the interface, maintaining a sense of depth.

---

## 5. Components
All components follow a 4px base grid and a `rounded-md` (0.375rem) corner radius.

### Buttons (Inversion Logic)
- **Primary:** `bg-slate-900 text-slate-50` (Light Mode). This "Inversion" is the signature interactive state.
- **Destructive:** `bg-red-500 text-white`. Reserved only for irreversible actions.
- **Ghost:** No background, `text-slate-500`. On hover, shift to `surface-raised`.

### Input Fields & Sticky Input
- **The Monolith Input:** A sticky bottom container with `backdrop-blur`. No border; only a subtle `surface-raised` background.
- **Chips:** `rounded-full`, `bg-slate-200`. When active, they invert to `bg-slate-900 text-white`.

### Lists & Swipe Actions
- **Forbid Dividers:** Do not use lines between list items. Use 12px of vertical padding (`py-3`) to create separation through whitespace.
- **Swipe-to-Delete:** The "Red Zone" emerges from behind the item. As the user swipes, the background transitions into `red-500` with a white Lucide `trash-2` icon.

### Shopping Mode Components
- **Large Tap Targets:** Increase minimum hit area to 56px.
- **Presence Avatars:** 24px circles with a 2px `surface` border, overlapped horizontally to show collaboration.

---

## 6. Do's and Don'ts

### Do
- **Do** use uppercase labels with letter-spacing for all category headers.
- **Do** use `slate-500` for meta-text to create a visual "recession" of less important data.
- **Do** maximize the use of the `2xl` max-width container on desktop to ensure the "Editorial" line lengths remain readable.
- **Do** use Lucide icons at 1.5 stroke width to match the weight of Inter's medium-weight characters.

### Don't
- **Don't** use a 1px border to separate the sidebar from the main content. Use a background color shift.
- **Don't** use any colors outside of the Slate and Red-500 palette. No "Success Green" or "Warning Orange." Use icons and text to convey state.
- **Don't** use standard "drop shadows" on cards. If it doesn't pop via tonal shift, the layout needs more whitespace, not more shadow.
- **Don't** use "Slate-900" for body text. Use "Slate-900" only for titles; use "Slate-800" or "Slate-700" for long-form reading to reduce eye strain.

---

## 7. Layout Philosophy
- **Desktop (lg+):** The left sidebar is a fixed Monolith. It stays `surface-raised` while the main content area remains `surface`.
- **Mobile:** The bottom tab bar utilizes Glassmorphism. Navigation icons should be `slate-400`, switching to `slate-900` when active. No text labels on mobile tabs; the icons must be clear enough to stand alone.