# Dark Green Palette Overlay (Oscar default)

**Date:** 2026-06-29
**Status:** Constitutional (per FVW v8 §01 + §16 — overlays are mandatory customisation layer)
**Per FVW v8 v0.10.0:** Overlays let a workspace expose per-project colour, typography, and brand variants.

---

## Oscar Default Overlay

This is Oscar's default overlay. It defines the brand palette, typography, and visual language.

## Palette

```ts
// from app/src/branding/palette.ts
export const palette = Object.freeze({
  primary:   '#1a3d2e',  // forest green
  primaryHi: '#2a5d4e',  // forest green highlight
  bg:        '#fafaf7',  // off-white
  bgAlt:     '#f4f4f0',  // code-block bg
  text:      '#1a1a1a',  // near-black
  textDim:   '#666666',  // meta text
  border:    '#dddddd',  // subtle borders
  accent:    '#1a3d2e',  // same as primary
  success:   '#2d8659',
  error:     '#cc3333'
});
```

## Typography

- **Display font:** Cormorant Garamond (operatic, serif)
- **Body font:** system-ui, sans-serif fallback
- **Monospace:** ui-monospace, SFMono-Regular fallback

## Component Tokens

- **Card corner radius:** 8px
- **Button corner radius:** 6px
- **Sheet corner radius:** 16px
- **Spacing scale:** 4px, 8px, 12px, 16px, 24px, 32px, 64px

## Layout Tokens

- **Max content width:** 760px (editor), 1200px (table)
- **Dock height:** 64px
- **Top bar height:** 56px
- **Sheet (full) height:** 60vh slide-up

## Dark Mode

The same palette with inversion:
- `primary` becomes `#8fc8a8`
- `bg` becomes `#1a1a1a`
- `text` becomes `#e0e0e0`
- Background-tinted tokens shift +20% brightness

## Toggle

The user (operator) can override any of these tokens per project when §37 Project Spine is implemented (Phase C1). Until then, the overlay is workspace-wide.

## Other Overlays (planned)

- `light-mode.overlay.md` — a lighter, less saturated palette for daytime use
- `high-contrast.overlay.md` — accessibility-first palette

---

*Oscar default overlay. The constitutional baseline. Other overlays build on this.*
