diff --git a/app/globals.css b/app/globals.css index 4083149..0283648 100644 --- a/app/globals.css +++ b/app/globals.css @@ -4,50 +4,50 @@ @custom-variant dark (&:is(.dark *)); :root { - /* Light mode - warm paper tones */ - --background: oklch(0.98 0.005 90); - --foreground: oklch(0.18 0.01 270); - --card: oklch(0.96 0.005 90); - --card-foreground: oklch(0.18 0.01 270); - --popover: oklch(0.98 0.005 90); - --popover-foreground: oklch(0.18 0.01 270); - --primary: oklch(0.18 0.01 270); - --primary-foreground: oklch(0.98 0.005 90); - --secondary: oklch(0.94 0.005 90); - --secondary-foreground: oklch(0.25 0.01 270); - --muted: oklch(0.92 0.005 90); - --muted-foreground: oklch(0.45 0.01 270); - --accent: oklch(0.65 0.15 145); - --accent-foreground: oklch(0.15 0.02 145); - --destructive: oklch(0.577 0.245 27.325); - --destructive-foreground: oklch(0.577 0.245 27.325); - --border: oklch(0.88 0.005 90); - --input: oklch(0.92 0.005 90); - --ring: oklch(0.65 0.15 145); + /* Fly.io-inspired: Deep navy with vibrant accents */ + --background: oklch(0.08 0.02 260); + --foreground: oklch(0.95 0.01 100); + --card: oklch(0.12 0.02 260); + --card-foreground: oklch(0.95 0.01 100); + --popover: oklch(0.12 0.02 260); + --popover-foreground: oklch(0.95 0.01 100); + --primary: oklch(0.95 0.01 100); + --primary-foreground: oklch(0.08 0.02 260); + --secondary: oklch(0.18 0.02 260); + --secondary-foreground: oklch(0.90 0.01 100); + --muted: oklch(0.15 0.02 260); + --muted-foreground: oklch(0.65 0.01 100); + --accent: oklch(0.70 0.18 320); + --accent-foreground: oklch(0.98 0.01 100); + --destructive: oklch(0.396 0.141 25.723); + --destructive-foreground: oklch(0.95 0.01 100); + --border: oklch(0.25 0.02 260); + --input: oklch(0.18 0.02 260); + --ring: oklch(0.70 0.18 320); --radius: 0.5rem; } .dark { - /* Dark mode - deep charcoal with warmth */ - --background: oklch(0.13 0.01 270); - --foreground: oklch(0.92 0.01 90); - --card: oklch(0.16 0.01 270); - --card-foreground: oklch(0.92 0.01 90); - --popover: oklch(0.16 0.01 270); - --popover-foreground: oklch(0.92 0.01 90); - --primary: oklch(0.92 0.01 90); - --primary-foreground: oklch(0.13 0.01 270); - --secondary: oklch(0.22 0.01 270); - --secondary-foreground: oklch(0.85 0.01 90); - --muted: oklch(0.20 0.01 270); - --muted-foreground: oklch(0.60 0.01 90); - --accent: oklch(0.72 0.14 140); - --accent-foreground: oklch(0.13 0.01 270); + /* Fly.io-inspired: Deep navy with vibrant accents */ + --background: oklch(0.08 0.02 260); + --foreground: oklch(0.95 0.01 100); + --card: oklch(0.12 0.02 260); + --card-foreground: oklch(0.95 0.01 100); + --popover: oklch(0.12 0.02 260); + --popover-foreground: oklch(0.95 0.01 100); + --primary: oklch(0.95 0.01 100); + --primary-foreground: oklch(0.08 0.02 260); + --secondary: oklch(0.18 0.02 260); + --secondary-foreground: oklch(0.90 0.01 100); + --muted: oklch(0.15 0.02 260); + --muted-foreground: oklch(0.65 0.01 100); + --accent: oklch(0.70 0.18 320); + --accent-foreground: oklch(0.98 0.01 100); --destructive: oklch(0.396 0.141 25.723); - --destructive-foreground: oklch(0.637 0.237 25.331); - --border: oklch(0.25 0.01 270); - --input: oklch(0.22 0.01 270); - --ring: oklch(0.72 0.14 140); + --destructive-foreground: oklch(0.95 0.01 100); + --border: oklch(0.25 0.02 260); + --input: oklch(0.18 0.02 260); + --ring: oklch(0.70 0.18 320); } @theme inline { @@ -104,11 +104,29 @@ } } +/* Fly.io-style gradient backgrounds */ +.bg-gradient-mesh { + background: + radial-gradient(at 0% 0%, oklch(0.4 0.2 320 / 0.15) 0px, transparent 50%), + radial-gradient(at 100% 0%, oklch(0.5 0.2 260 / 0.15) 0px, transparent 50%), + radial-gradient(at 100% 100%, oklch(0.4 0.15 180 / 0.15) 0px, transparent 50%), + radial-gradient(at 0% 100%, oklch(0.5 0.2 320 / 0.15) 0px, transparent 50%); +} + +/* Subtle glow effects */ +.glow-accent { + box-shadow: 0 0 40px oklch(0.70 0.18 320 / 0.3); +} + +.glow-cyan { + box-shadow: 0 0 40px oklch(0.70 0.15 200 / 0.3); +} + /* Selection colors */ ::selection { - background: oklch(0.72 0.14 140 / 0.3); + background: oklch(0.70 0.18 320 / 0.4); } .dark ::selection { - background: oklch(0.72 0.14 140 / 0.4); + background: oklch(0.70 0.18 320 / 0.5); } diff --git a/components/hero.tsx b/components/hero.tsx index 2e168bc..e3fa6ce 100644 --- a/components/hero.tsx +++ b/components/hero.tsx @@ -9,10 +9,13 @@ import { ProgrammerGraphic } from './programmer-graphic' export function Hero() { return (
- {/* Subtle grid background */} + {/* Fly.io-style gradient mesh background */} +
+ + {/* Subtle grid overlay */}
svg]:px-3',