Horizon redesign: space theme, visual dashboard, chart reskin
Replaces the citron/green glass theme with the Horizon direction (mockup at /design-horizon): space-void background, starfield, dim Mars horizon, rim-cyan accent, rose for negative. Palette validated for CVD separation and contrast on the dark surface. - tailwind.config: gray -> cool space neutrals, blue/emerald -> cyan scale, red -> rose; display font Space Grotesk - globals.css: Horizon tokens, atmosphere, denser glass, cyan buttons/inputs, price-rail / R-bar / radar chart CSS - Dashboard rebuilt: verdict hero, top-pick card with spatial price rail, KPI tiles, open positions as diverging R-bars with expandable detail + trade chart (OHLCV since entry, entry/stop/target levels), radar list with per-setup disqualify reason, watchlist chips - OpenTradesPanel: table replaced by R-bar rows; all fields kept in the drill-down (shares, P&L, alpha, trailing stop, sell) - qualification: disqualifyReason() mirrors qualifiesSetup rule order - CandlestickChart: canvas colors moved to Horizon palette; S/R now cyan/neutral so rose stays reserved for the stop level - ScoreCard: radar score fingerprint with hover values - Design mockup pages included (routed in App.tsx) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+55
-26
@@ -7,45 +7,74 @@ export default {
|
||||
extend: {
|
||||
fontFamily: {
|
||||
sans: ['"Instrument Sans"', 'system-ui', 'sans-serif'],
|
||||
display: ['"Bricolage Grotesque"', 'system-ui', 'sans-serif'],
|
||||
display: ['"Space Grotesk"', 'system-ui', 'sans-serif'],
|
||||
mono: ['"IBM Plex Mono"', 'ui-monospace', 'monospace'],
|
||||
},
|
||||
colors: {
|
||||
// Warm ash neutrals (green-tinted) — replaces Tailwind's cool gray
|
||||
// Horizon theme: cool space neutrals — replaces Tailwind's gray
|
||||
// throughout the app, since components reference gray-* directly.
|
||||
gray: {
|
||||
50: '#f7f8f4',
|
||||
100: '#eef0e9',
|
||||
200: '#dde1d4',
|
||||
300: '#bfc5b2',
|
||||
400: '#959d87',
|
||||
500: '#6e7562',
|
||||
600: '#4d5344',
|
||||
700: '#373c30',
|
||||
800: '#22261d',
|
||||
900: '#151911',
|
||||
950: '#0e120f',
|
||||
50: '#f4f5f8',
|
||||
100: '#edeef3',
|
||||
200: '#dde0e8',
|
||||
300: '#bcc1cd',
|
||||
400: '#9aa0b0',
|
||||
500: '#6e7484',
|
||||
600: '#4d5363',
|
||||
700: '#373c49',
|
||||
800: '#232733',
|
||||
900: '#14161f',
|
||||
950: '#0a0b11',
|
||||
},
|
||||
// Citron signal accent — replaces blue so every accent reference
|
||||
// Atmosphere-rim cyan accent — every accent reference
|
||||
// (text-blue-*, bg-blue-*, ring-blue-*) lights up in the brand color.
|
||||
// Validated against the dark surface (dataviz six checks).
|
||||
blue: {
|
||||
50: '#fafee8',
|
||||
100: '#f2fcc6',
|
||||
200: '#e6f996',
|
||||
300: '#d6f25c',
|
||||
400: '#c3e82e',
|
||||
500: '#a4cd14',
|
||||
600: '#82a40b',
|
||||
700: '#627c0e',
|
||||
800: '#4e6212',
|
||||
900: '#425314',
|
||||
950: '#222e05',
|
||||
50: '#ecfbfe',
|
||||
100: '#d4f4fa',
|
||||
200: '#ade8f2',
|
||||
300: '#6ec9db',
|
||||
400: '#4ab3c8',
|
||||
500: '#2f9db2',
|
||||
600: '#23808f',
|
||||
700: '#1d6675',
|
||||
800: '#1a525e',
|
||||
900: '#17434e',
|
||||
950: '#0a2b33',
|
||||
},
|
||||
// Positive/up shares the cyan family (mockup: one "up" color, no green).
|
||||
emerald: {
|
||||
50: '#ecfbfe',
|
||||
100: '#d4f4fa',
|
||||
200: '#ade8f2',
|
||||
300: '#6ec9db',
|
||||
400: '#4ab3c8',
|
||||
500: '#2f9db2',
|
||||
600: '#23808f',
|
||||
700: '#1d6675',
|
||||
800: '#1a525e',
|
||||
900: '#17434e',
|
||||
950: '#0a2b33',
|
||||
},
|
||||
// Negative/down: muted rose (Mars ember stays reserved for atmosphere).
|
||||
red: {
|
||||
50: '#fdf1ef',
|
||||
100: '#fbe0dc',
|
||||
200: '#f6c2ba',
|
||||
300: '#f0a094',
|
||||
400: '#ea8271',
|
||||
500: '#e36a58',
|
||||
600: '#c95441',
|
||||
700: '#a84334',
|
||||
800: '#86382c',
|
||||
900: '#6e3128',
|
||||
950: '#3b1712',
|
||||
},
|
||||
surface: {
|
||||
DEFAULT: 'rgba(255, 255, 255, 0.04)',
|
||||
hover: 'rgba(255, 255, 255, 0.07)',
|
||||
active: 'rgba(255, 255, 255, 0.1)',
|
||||
border: 'rgba(223, 242, 178, 0.09)',
|
||||
border: 'rgba(226, 231, 245, 0.09)',
|
||||
},
|
||||
},
|
||||
backdropBlur: {
|
||||
|
||||
Reference in New Issue
Block a user