diff --git a/app/globals.css b/app/globals.css index ac023ee2..60126086 100644 --- a/app/globals.css +++ b/app/globals.css @@ -125,130 +125,137 @@ } /* ── Light palette — "Tulasī Garden" ── - A fresh, distinctly GREEN palette — noticeably green background - (not just a green-tinted white), with deep forest text and primary. */ + Peacock-green serenity. The lesson from Aged Parchment: keep the + SURFACES nearly neutral (paper with only a whisper of celadon) and + let the hue live in the primary — a deep peacock teal-green — so + long reading sessions stay calm instead of drenched in color. */ :root:not(.dark)[data-light-palette="tulasi-garden"] { - --background: oklch(0.92 0.07 152); - --foreground: oklch(0.22 0.09 155); - --card: oklch(0.95 0.055 150); - --card-foreground: oklch(0.22 0.09 155); - --popover: oklch(0.95 0.055 150); - --popover-foreground: oklch(0.22 0.09 155); - --primary: oklch(0.45 0.19 150); - --primary-foreground: oklch(0.97 0.04 150); - --secondary: oklch(0.85 0.1 152); - --secondary-foreground: oklch(0.22 0.09 155); - --muted: oklch(0.87 0.09 152); - --muted-foreground: oklch(0.42 0.11 150); - --accent: oklch(0.87 0.09 152); - --accent-foreground: oklch(0.22 0.09 155); - --border: oklch(0.76 0.12 150); - --input: oklch(0.76 0.12 150); - --ring: oklch(0.56 0.17 150); - --chart-1: oklch(0.45 0.19 150); - --chart-2: oklch(0.42 0.11 150); - --chart-3: oklch(0.56 0.17 150); - --chart-4: oklch(0.34 0.12 145); - --chart-5: oklch(0.22 0.09 155); - --sidebar: oklch(0.95 0.055 150); - --sidebar-foreground: oklch(0.22 0.09 155); - --sidebar-primary: oklch(0.45 0.19 150); - --sidebar-primary-foreground: oklch(0.97 0.04 150); - --sidebar-accent: oklch(0.87 0.09 152); - --sidebar-accent-foreground: oklch(0.22 0.09 155); - --sidebar-border: oklch(0.76 0.12 150); - --sidebar-ring: oklch(0.56 0.17 150); + --background: oklch(0.96 0.012 175); + --foreground: oklch(0.26 0.045 195); + --card: oklch(0.98 0.008 172); + --card-foreground: oklch(0.26 0.045 195); + --popover: oklch(0.98 0.008 172); + --popover-foreground: oklch(0.26 0.045 195); + --primary: oklch(0.46 0.085 190); + --primary-foreground: oklch(0.98 0.012 175); + --secondary: oklch(0.92 0.02 172); + --secondary-foreground: oklch(0.26 0.045 195); + --muted: oklch(0.925 0.018 172); + --muted-foreground: oklch(0.46 0.05 195); + --accent: oklch(0.92 0.02 172); + --accent-foreground: oklch(0.26 0.045 195); + --border: oklch(0.875 0.025 178); + --input: oklch(0.875 0.025 178); + --ring: oklch(0.55 0.08 190); + --chart-1: oklch(0.46 0.085 190); + --chart-2: oklch(0.58 0.09 165); + --chart-3: oklch(0.68 0.1 90); + --chart-4: oklch(0.4 0.07 220); + --chart-5: oklch(0.26 0.045 195); + --sidebar: oklch(0.945 0.012 172); + --sidebar-foreground: oklch(0.26 0.045 195); + --sidebar-primary: oklch(0.46 0.085 190); + --sidebar-primary-foreground: oklch(0.98 0.012 175); + --sidebar-accent: oklch(0.9 0.02 172); + --sidebar-accent-foreground: oklch(0.26 0.045 195); + --sidebar-border: oklch(0.865 0.025 178); + --sidebar-ring: oklch(0.55 0.08 190); --quote-card-bg: #ffffff; - /* Quote-card gradients — Tulasī Garden (forest depths + amber edge). */ - --quote-gradient-1: linear-gradient(135deg, #102818 0%, #1f4d2f 45%, #b88a3c 100%); - --quote-gradient-2: linear-gradient(135deg, #1a2e1f 0%, #2d5a3a 50%, #9a8a4c 100%); - --quote-gradient-3: linear-gradient(135deg, #0c2e22 0%, #1d5f3e 60%, #d9c08a 100%); - --quote-gradient-4: linear-gradient(135deg, #0a1f15 0%, #1f3d2a 50%, #c8a880 100%); + /* Quote-card gradients — Tulasī Garden (peacock depths + temple gold). */ + --quote-gradient-1: linear-gradient(135deg, #062b26 0%, #0f5347 45%, #c9a227 100%); + --quote-gradient-2: linear-gradient(135deg, #07332c 0%, #156355 50%, #93b8a6 100%); + --quote-gradient-3: linear-gradient(135deg, #052420 0%, #11574a 60%, #d9c98a 100%); + --quote-gradient-4: linear-gradient(135deg, #04201d 0%, #0d4a40 50%, #b87f3c 100%); } /* ── Light palette — "Yamunā Mist" ── - A distinctly BLUE palette inspired by the sacred Yamunā river — - noticeably blue background (not just a blue-tinted white). */ + Morning mist over the river — porcelain surfaces with the faintest + cool cast (no more wall-to-wall blue), anchored by a deep navy + indigo primary. Elegant, quiet, built for long reading. */ :root:not(.dark)[data-light-palette="yamuna-mist"] { - --background: oklch(0.92 0.05 230); - --foreground: oklch(0.24 0.09 240); - --card: oklch(0.95 0.04 230); - --card-foreground: oklch(0.24 0.09 240); - --popover: oklch(0.95 0.04 230); - --popover-foreground: oklch(0.24 0.09 240); - --primary: oklch(0.52 0.2 240); - --primary-foreground: oklch(0.97 0.03 230); - --secondary: oklch(0.85 0.08 232); - --secondary-foreground: oklch(0.24 0.09 240); - --muted: oklch(0.87 0.07 232); - --muted-foreground: oklch(0.44 0.11 235); - --accent: oklch(0.87 0.07 232); - --accent-foreground: oklch(0.24 0.09 240); - --border: oklch(0.76 0.1 232); - --input: oklch(0.76 0.1 232); - --ring: oklch(0.62 0.15 235); - --chart-1: oklch(0.52 0.2 240); - --chart-2: oklch(0.44 0.11 235); - --chart-3: oklch(0.62 0.15 235); - --chart-4: oklch(0.38 0.13 240); - --chart-5: oklch(0.24 0.09 240); - --sidebar: oklch(0.95 0.04 230); - --sidebar-foreground: oklch(0.24 0.09 240); - --sidebar-primary: oklch(0.52 0.2 240); - --sidebar-primary-foreground: oklch(0.97 0.03 230); - --sidebar-accent: oklch(0.87 0.07 232); - --sidebar-accent-foreground: oklch(0.24 0.09 240); - --sidebar-border: oklch(0.76 0.1 232); - --sidebar-ring: oklch(0.62 0.15 235); + --background: oklch(0.96 0.008 245); + --foreground: oklch(0.26 0.045 262); + --card: oklch(0.982 0.005 245); + --card-foreground: oklch(0.26 0.045 262); + --popover: oklch(0.982 0.005 245); + --popover-foreground: oklch(0.26 0.045 262); + --primary: oklch(0.42 0.1 260); + --primary-foreground: oklch(0.97 0.008 245); + --secondary: oklch(0.925 0.014 245); + --secondary-foreground: oklch(0.26 0.045 262); + --muted: oklch(0.925 0.014 245); + --muted-foreground: oklch(0.47 0.04 257); + --accent: oklch(0.925 0.014 245); + --accent-foreground: oklch(0.26 0.045 262); + --border: oklch(0.875 0.02 247); + --input: oklch(0.875 0.02 247); + --ring: oklch(0.56 0.08 257); + --chart-1: oklch(0.42 0.1 260); + --chart-2: oklch(0.58 0.08 230); + --chart-3: oklch(0.68 0.09 75); + --chart-4: oklch(0.38 0.08 285); + --chart-5: oklch(0.26 0.045 262); + --sidebar: oklch(0.945 0.009 245); + --sidebar-foreground: oklch(0.26 0.045 262); + --sidebar-primary: oklch(0.42 0.1 260); + --sidebar-primary-foreground: oklch(0.97 0.008 245); + --sidebar-accent: oklch(0.905 0.014 245); + --sidebar-accent-foreground: oklch(0.26 0.045 262); + --sidebar-border: oklch(0.865 0.02 247); + --sidebar-ring: oklch(0.56 0.08 257); --quote-card-bg: #ffffff; - /* Quote-card gradients — Yamunā Mist (river depths + dusk ochre). */ - --quote-gradient-1: linear-gradient(135deg, #0a1e3c 0%, #1a3d6e 45%, #c89058 100%); - --quote-gradient-2: linear-gradient(135deg, #14213d 0%, #2a4d7a 50%, #c8bcb0 100%); - --quote-gradient-3: linear-gradient(135deg, #1a2a40 0%, #3a5878 50%, #c4805a 100%); - --quote-gradient-4: linear-gradient(135deg, #0e1f3c 0%, #28447a 60%, #d4c4b0 100%); + /* Quote-card gradients — Yamunā Mist (river dusk navy + sandbank). */ + --quote-gradient-1: linear-gradient(135deg, #0a1630 0%, #1d3a66 45%, #c9a05c 100%); + --quote-gradient-2: linear-gradient(135deg, #0c1a36 0%, #27486f 50%, #b9c4d6 100%); + --quote-gradient-3: linear-gradient(135deg, #081226 0%, #1a3258 60%, #d7c8a8 100%); + --quote-gradient-4: linear-gradient(135deg, #0a142c 0%, #223e62 50%, #5d82b0 100%); } -/* ── Dark mode — "Ancient Manuscript" ── */ +/* ── Dark mode — "Ancient Manuscript" ── + Warm ink and candlelight. Surfaces are a near-black warm charcoal + (the old olive cast is gone — chroma stays under 0.012 so nothing + reads "muddy brown"), text is soft cream, and the single voice of + color is a burnished temple gold. */ .dark { - --background: oklch(0.197 0.013 55.5); - --foreground: oklch(0.899 0.03 80.7); - --card: oklch(0.246 0.021 86.3); - --card-foreground: oklch(0.899 0.03 80.7); - --popover: oklch(0.246 0.021 86.3); - --popover-foreground: oklch(0.899 0.03 80.7); - --primary: oklch(0.753 0.127 84.9); - --primary-foreground: oklch(0.251 0.032 69.4); - --secondary: oklch(0.288 0.021 82.6); - --secondary-foreground: oklch(0.899 0.03 80.7); - --muted: oklch(0.288 0.021 82.6); - --muted-foreground: oklch(0.646 0.047 78.2); - --accent: oklch(0.288 0.021 82.6); - --accent-foreground: oklch(0.899 0.03 80.7); + --background: oklch(0.185 0.009 70); + --foreground: oklch(0.9 0.018 85); + --card: oklch(0.225 0.011 76); + --card-foreground: oklch(0.9 0.018 85); + --popover: oklch(0.225 0.011 76); + --popover-foreground: oklch(0.9 0.018 85); + --primary: oklch(0.78 0.11 85); + --primary-foreground: oklch(0.22 0.04 75); + --secondary: oklch(0.27 0.012 76); + --secondary-foreground: oklch(0.9 0.018 85); + --muted: oklch(0.27 0.012 76); + --muted-foreground: oklch(0.66 0.03 80); + --accent: oklch(0.27 0.012 76); + --accent-foreground: oklch(0.9 0.018 85); --destructive: oklch(0.704 0.191 22.216); - --border: oklch(0.777 0.059 84.4 / 15%); - --input: oklch(0.777 0.059 84.4 / 18%); - --ring: oklch(0.636 0.08 86.9); - --chart-1: oklch(0.753 0.127 84.9); - --chart-2: oklch(0.646 0.047 78.2); - --chart-3: oklch(0.636 0.08 86.9); - --chart-4: oklch(0.45 0.04 75); - --chart-5: oklch(0.288 0.021 82.6); - --sidebar: oklch(0.246 0.021 86.3); - --sidebar-foreground: oklch(0.899 0.03 80.7); - --sidebar-primary: oklch(0.753 0.127 84.9); - --sidebar-primary-foreground: oklch(0.899 0.03 80.7); - --sidebar-accent: oklch(0.288 0.021 82.6); - --sidebar-accent-foreground: oklch(0.899 0.03 80.7); - --sidebar-border: oklch(0.777 0.059 84.4 / 15%); - --sidebar-ring: oklch(0.636 0.08 86.9); + --border: oklch(0.85 0.04 85 / 14%); + --input: oklch(0.85 0.04 85 / 18%); + --ring: oklch(0.62 0.06 85); + --chart-1: oklch(0.78 0.11 85); + --chart-2: oklch(0.66 0.03 80); + --chart-3: oklch(0.62 0.06 85); + --chart-4: oklch(0.5 0.07 50); + --chart-5: oklch(0.32 0.015 76); + --sidebar: oklch(0.215 0.011 76); + --sidebar-foreground: oklch(0.9 0.018 85); + --sidebar-primary: oklch(0.78 0.11 85); + --sidebar-primary-foreground: oklch(0.22 0.04 75); + --sidebar-accent: oklch(0.27 0.012 76); + --sidebar-accent-foreground: oklch(0.9 0.018 85); + --sidebar-border: oklch(0.85 0.04 85 / 14%); + --sidebar-ring: oklch(0.62 0.06 85); /* Post-card flat bg — darker than --card so it reads as a distinct surface even on the homepage where cards stack onto background. */ - --quote-card-bg: oklch(0.13 0.018 86); + --quote-card-bg: oklch(0.13 0.01 76); /* Quote-card gradients — Ancient Manuscript (midnight leather + saffron). */ --quote-gradient-1: linear-gradient(135deg, #0a0805 0%, #4a2f0e 45%, #d4a235 100%); @@ -258,47 +265,48 @@ } /* ── Dark palette — "Nīlamaṇi" ── - "Blue jewel" — Kṛṣṇa's sapphire complexion. Deep navy with - bright sky-blue accents — cool and distinctly BLUE. */ + "Blue jewel" — midnight navy ink with a peacock-feather teal + primary (the sheen of Kṛṣṇa's mukuṭa feather). Surfaces stay deep + and restrained; the teal carries all the character. */ .dark[data-dark-palette="nilamani"] { - --background: oklch(0.16 0.05 255); - --foreground: oklch(0.92 0.04 220); - --card: oklch(0.21 0.06 252); - --card-foreground: oklch(0.92 0.04 220); - --popover: oklch(0.21 0.06 252); - --popover-foreground: oklch(0.92 0.04 220); - --primary: oklch(0.72 0.18 235); - --primary-foreground: oklch(0.16 0.05 255); - --secondary: oklch(0.28 0.06 248); - --secondary-foreground: oklch(0.92 0.04 220); - --muted: oklch(0.28 0.06 248); - --muted-foreground: oklch(0.7 0.07 230); - --accent: oklch(0.28 0.06 248); - --accent-foreground: oklch(0.92 0.04 220); - --border: oklch(0.7 0.12 235 / 22%); - --input: oklch(0.7 0.12 235 / 26%); - --ring: oklch(0.66 0.14 235); - --chart-1: oklch(0.72 0.18 235); - --chart-2: oklch(0.7 0.07 230); - --chart-3: oklch(0.66 0.14 235); - --chart-4: oklch(0.46 0.1 240); - --chart-5: oklch(0.28 0.06 248); - --sidebar: oklch(0.21 0.06 252); - --sidebar-foreground: oklch(0.92 0.04 220); - --sidebar-primary: oklch(0.72 0.18 235); - --sidebar-primary-foreground: oklch(0.16 0.05 255); - --sidebar-accent: oklch(0.28 0.06 248); - --sidebar-accent-foreground: oklch(0.92 0.04 220); - --sidebar-border: oklch(0.7 0.12 235 / 22%); - --sidebar-ring: oklch(0.66 0.14 235); + --background: oklch(0.17 0.028 258); + --foreground: oklch(0.91 0.013 220); + --card: oklch(0.21 0.032 256); + --card-foreground: oklch(0.91 0.013 220); + --popover: oklch(0.21 0.032 256); + --popover-foreground: oklch(0.91 0.013 220); + --primary: oklch(0.75 0.105 195); + --primary-foreground: oklch(0.17 0.04 250); + --secondary: oklch(0.26 0.034 252); + --secondary-foreground: oklch(0.91 0.013 220); + --muted: oklch(0.26 0.034 252); + --muted-foreground: oklch(0.68 0.038 230); + --accent: oklch(0.26 0.034 252); + --accent-foreground: oklch(0.91 0.013 220); + --border: oklch(0.75 0.08 220 / 18%); + --input: oklch(0.75 0.08 220 / 22%); + --ring: oklch(0.65 0.1 200); + --chart-1: oklch(0.75 0.105 195); + --chart-2: oklch(0.68 0.038 230); + --chart-3: oklch(0.62 0.11 250); + --chart-4: oklch(0.72 0.09 85); + --chart-5: oklch(0.3 0.035 255); + --sidebar: oklch(0.2 0.032 256); + --sidebar-foreground: oklch(0.91 0.013 220); + --sidebar-primary: oklch(0.75 0.105 195); + --sidebar-primary-foreground: oklch(0.17 0.04 250); + --sidebar-accent: oklch(0.26 0.034 252); + --sidebar-accent-foreground: oklch(0.91 0.013 220); + --sidebar-border: oklch(0.75 0.08 220 / 18%); + --sidebar-ring: oklch(0.65 0.1 200); - --quote-card-bg: oklch(0.1 0.05 252); + --quote-card-bg: oklch(0.115 0.03 256); - /* Quote-card gradients — Nīlamaṇi (Kṛṣṇa's sapphire hour). */ - --quote-gradient-1: linear-gradient(135deg, #050a1c 0%, #14254a 45%, #5a8acc 100%); - --quote-gradient-2: linear-gradient(135deg, #0a1228 0%, #1e3458 50%, #b8c8dc 100%); - --quote-gradient-3: linear-gradient(135deg, #060c1e 0%, #1a2c4e 60%, #a8b8cc 100%); - --quote-gradient-4: linear-gradient(135deg, #080e22 0%, #1c3458 50%, #c8d4e8 100%); + /* Quote-card gradients — Nīlamaṇi (peacock night over still water). */ + --quote-gradient-1: linear-gradient(135deg, #041220 0%, #0b2f42 45%, #2fa08c 100%); + --quote-gradient-2: linear-gradient(135deg, #06182b 0%, #10405a 50%, #9fc6c0 100%); + --quote-gradient-3: linear-gradient(135deg, #03101c 0%, #0d3a50 60%, #58b0a0 100%); + --quote-gradient-4: linear-gradient(135deg, #051426 0%, #123a55 50%, #c8d8d4 100%); } /* ── Dark palette — "Vraja Twilight" ── diff --git a/components/reading-settings.tsx b/components/reading-settings.tsx index 41070422..56d33bb9 100644 --- a/components/reading-settings.tsx +++ b/components/reading-settings.tsx @@ -54,19 +54,19 @@ const LIGHT_PALETTES: { bg: "#f5ecd7", primary: "#b88940", }, - // Sage green background + deep emerald — distinctly GREEN + // Pale celadon paper + deep peacock teal { id: "tulasi-garden", name: "Tulasī Garden", - bg: "#c4dcc1", - primary: "#207537", + bg: "#eaf5f1", + primary: "#006762", }, - // Soft blue background + cerulean — distinctly BLUE + // Misty porcelain + navy indigo { id: "yamuna-mist", name: "Yamunā Mist", - bg: "#c2d7ec", - primary: "#1f6fd6", + bg: "#edf2f7", + primary: "#2b4c83", }, ]; @@ -76,19 +76,19 @@ const DARK_PALETTES: { bg: string; primary: string; }[] = [ - // Warm brown + saffron — the original + // Warm ink + burnished gold — the original, de-muddied { id: "ancient-manuscript", name: "Ancient Manuscript", - bg: "#2a2519", - primary: "#d0a04e", + bg: "#15120e", + primary: "#d8b260", }, - // Deep navy + sky-blue — distinctly BLUE + // Midnight navy ink + peacock-feather teal { id: "nilamani", name: "Nīlamaṇi", - bg: "#101a36", - primary: "#4a9fff", + bg: "#08101c", + primary: "#4cc3c2", }, // Deep wine + rose-red — distinctly RED/WARM { diff --git a/components/social/post-card-shared.tsx b/components/social/post-card-shared.tsx index 07897a6f..7a3d33ab 100644 --- a/components/social/post-card-shared.tsx +++ b/components/social/post-card-shared.tsx @@ -26,10 +26,10 @@ export function postSourceHref(post: Post): string { // gradient set so the cards swap colour with the active theme: // // • Aged Parchment → mahogany binding + temple gold -// • Tulasī Garden → forest depths + amber edge -// • Yamunā Mist → river depths + dusk ochre +// • Tulasī Garden → peacock depths + temple gold +// • Yamunā Mist → river dusk navy + sandbank // • Ancient Manuscript → midnight leather + saffron -// • Nīlamaṇi → Kṛṣṇa's sapphire hour (deep blues) +// • Nīlamaṇi → peacock night over still water // • Vraja Twilight → deep wine + rose dusk // // All variants are dark-leaning so `text-white` reads cleanly. The card