Curator signature accent (#A87338, aged amber) is baked into fabled-tokens.js. Vuetify theme consumes the same tokens module the rest of the SPA does, so updating design system tokens propagates throughout. Vite dev server proxies /api and /ws to the Quart backend. App.vue references AppShell (lands in Task 9) and main.js references router.js (lands in Task 9) — these are intentionally split so Task 8 is the framework scaffold and Task 9 is the navigation/shell content. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
// FabledDesignSystem tokens — mirrored from FabledDesignSystem-new/design-system.md.
|
|
// Do not hand-edit hexes; update the source-of-truth doc and re-mirror here.
|
|
|
|
export const surfaces = {
|
|
obsidian: '#14171A', // page background
|
|
iron: '#1E2228', // cards
|
|
slate: '#2C313A', // hovered surfaces
|
|
pewter: '#3F4651' // borders, ghost outlines
|
|
}
|
|
|
|
export const text = {
|
|
parchment: '#E8E4D8', // primary on dark
|
|
vellum: '#C2BFB4', // secondary
|
|
ash: '#9C9A92' // tertiary
|
|
}
|
|
|
|
export const action = {
|
|
moss: '#4A5D3F', // primary action
|
|
bronze: '#8B7355', // secondary action
|
|
pewter: '#3F4651', // tertiary/ghost
|
|
destructive: '#6B2118' // delete/irreversible
|
|
}
|
|
|
|
export const semantic = {
|
|
success: '#4A5D3F',
|
|
warning: '#8B6F1E',
|
|
error: '#C04A1F',
|
|
info: '#3D5A6E'
|
|
}
|
|
|
|
// Per-app signature accent. Curator's accent was added to FabledDesignSystem
|
|
// during FC-1 (2026-05-14). Aged amber — manuscript ink, curated archive.
|
|
export const accent = {
|
|
curator: '#A87338'
|
|
}
|
|
|
|
export const typography = {
|
|
display: 'Fraunces, Georgia, serif',
|
|
body: 'Inter, system-ui, sans-serif',
|
|
mono: '"JetBrains Mono", monospace'
|
|
}
|