Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ reflect what ships.
| Layer | Choice | Notes |
|---|---|---|
| Frontend | Next.js 16 App Router (TypeScript) | `src/` directory; read `node_modules/next/dist/docs/` for API changes |
| Styling | Tailwind CSS v4 | Theme tokens in `src/app/globals.css` (TDS § 3) |
| Styling | Tailwind CSS v4 | Theme tokens in `src/app/globals.css` (TDS § 3); appearance follows OS via `prefers-color-scheme` |
| API | GraphQL via Apollo Server 5 | `src/app/api/graphql/route.ts` — **queries only** |
| Data fetching | `gqlFetch` + tagged queries | `src/lib/gql/fetch.ts`, `src/lib/gql/queries.ts` |
| ORM | Prisma 7 + `@prisma/adapter-pg` | Models: `Page`, `Section`, `PageSection` |
Expand Down Expand Up @@ -244,8 +244,9 @@ Technical_Design_Spec.md

## Brand & Design Tokens (from TDS § 3)

- **Mode:** Dark-mode first
- **Palette:** `background: #111111`, `surface: #1A1A1A`, `border: #2D2D2D`, `primary: #F5F5F5`, `secondary: #A3A3A3`, `accent: #BE9541`, `accent-hover: #D1A758`
- **Mode:** System-driven via `prefers-color-scheme` — no site-level toggle. Dark palette is the default; light palette applies when the OS/browser prefers light. Source of truth: `src/app/globals.css` (`@theme` — not `inline`, so utilities reference CSS variables + `@media (prefers-color-scheme: light)` overrides on `:root`).
- **Dark palette (default):** `background: #111111`, `surface: #1A1A1A`, `border: #2D2D2D`, `primary: #F5F5F5`, `secondary: #A3A3A3`, `accent: #BE9541`, `accent-hover: #D1A758`
- **Light palette:** `background: #F5F5F5`, `surface: #FFFFFF`, `border: #E5E5E5`, `primary: #111111`, `secondary: #6B6B6B`, `accent: #BE9541`, `accent-hover: #D1A758`
- **Font:** Geist Sans (primary), Geist Mono (mono) — via `next/font/google`
- **Motion:** Subtle micro-interactions only. No parallax, no hero carousels, no full-page transitions.
- **Dog imagery:** None anywhere on the site except potentially one photo on `/about`.
Expand Down
24 changes: 21 additions & 3 deletions src/app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
* Fast Dog Coding — Design System Tokens
* Source: Technical Design Spec § 3
*
* Dark-mode-first. There is no light mode.
* Dark-mode-first defaults; light palette applied via prefers-color-scheme.
* All token names map 1:1 to Tailwind utility classes:
* bg-background, text-primary, border-border, shadow-lift, etc.
*/

@theme inline {
@theme {
/* ── Colors ── */
--color-background: #111111; /* Primary dark background */
--color-surface: #1A1A1A; /* Card and panel backgrounds */
Expand Down Expand Up @@ -56,13 +56,31 @@
--shadow-accent-glow: 0 0 12px rgba(190, 149, 65, 0.4);
}

html {
color-scheme: light dark;
}

@media (prefers-color-scheme: light) {
:root {
--color-background: #F5F5F5;
--color-surface: #FFFFFF;
--color-border: #E5E5E5;
--color-primary: #111111;
--color-secondary: #6B6B6B;
--color-accent: #BE9541;
--color-accent-hover: #D1A758;
--shadow-lift: 0 4px 12px rgba(0, 0, 0, 0.08);
--shadow-accent-glow: 0 0 12px rgba(190, 149, 65, 0.4);
}
}

body {
background-color: var(--color-background);
color: var(--color-primary);
font-family: var(--font-sans);
}

/* ── Prose styles for dark-mode Markdown rendering ── */
/* ── Prose styles for Markdown rendering ── */
.prose-fdc {
line-height: 1.75;
}
Expand Down
2 changes: 1 addition & 1 deletion src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ export default function RootLayout({
return (
<html
lang="en"
className={`${geistSans.variable} ${geistMono.variable} dark h-full antialiased`}
className={`${geistSans.variable} ${geistMono.variable} h-full antialiased`}
>
<body className="min-h-full flex flex-col bg-background text-primary font-sans">
<SiteHeader />
Expand Down
Loading