slice 4: accent palette refinement — blue → teal

Replace the four accent-family hex codes site-wide with the teal palette
(keeps the dark theme; only swaps the accent family, not the dark base):

  #3b82f6 (accent primary CTA)   → #5B7C8D  (teal)        [839×]
  #2563eb (accent-dark / hover)  → #4A6473  (darker teal) [44×]
  #60a5fa (info link, lighter)   → #8FB0C3  (mid teal)    [68×]
  #1e3a5f (accent-muted bg)      → #2F4F5F  (navy)        [44×]

tailwind.config.js tokens updated to match (accent/accent-dark/accent-muted).
Sweep also covers tailwind.css. 108 files touched. The dark base (#0d0d0d,
#111, #161616, #1a1a1a etc.) is intentionally untouched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-15 23:33:04 +00:00
parent f6fa7570c4
commit 52fe7bceb6
109 changed files with 937 additions and 937 deletions

View File

@@ -49,7 +49,7 @@ export default function FeaturedCarousel({ slides }: { slides: Slide[] }) {
<h2 className="font-mono text-xs uppercase tracking-wider text-[#6b7280]">
Featured · staff editorial
</h2>
<span className="inline-flex items-center gap-1.5 text-[10px] font-mono uppercase tracking-wider text-[var(--color-text-info,#60a5fa)]">
<span className="inline-flex items-center gap-1.5 text-[10px] font-mono uppercase tracking-wider text-[var(--color-text-info,#8FB0C3)]">
<span className="bb-pulse-dot" /> auto · 4s
</span>
</div>
@@ -64,7 +64,7 @@ export default function FeaturedCarousel({ slides }: { slides: Slide[] }) {
</div>
)}
<div className="absolute top-2 right-2 flex gap-1 text-[10px] font-mono">
<span className="bg-black/60 text-[var(--color-text-info,#60a5fa)] px-1.5 py-0.5 rounded">
<span className="bg-black/60 text-[var(--color-text-info,#8FB0C3)] px-1.5 py-0.5 rounded">
[ID {s.id.slice(0, 4).toUpperCase()}]
</span>
<span className="bg-black/60 text-white px-1.5 py-0.5 rounded uppercase">
@@ -83,7 +83,7 @@ export default function FeaturedCarousel({ slides }: { slides: Slide[] }) {
</div>
<Link href={`/news/${s.slug}`} className="block group">
<h3 className="font-serif text-2xl leading-snug text-[#e5e7eb] group-hover:text-[var(--color-text-info,#60a5fa)]">
<h3 className="font-serif text-2xl leading-snug text-[#e5e7eb] group-hover:text-[var(--color-text-info,#8FB0C3)]">
{s.title}
</h3>
</Link>
@@ -93,10 +93,10 @@ export default function FeaturedCarousel({ slides }: { slides: Slide[] }) {
{s.neural_summary && Array.isArray(s.neural_summary.bullets) && s.neural_summary.bullets.length > 0 && (
<div className="relative mt-4 p-3 border border-[#252525] rounded">
<span aria-hidden className="absolute top-1 left-1 w-2.5 h-2.5 border-t border-l border-[var(--color-text-info,#60a5fa)]" />
<span aria-hidden className="absolute bottom-1 right-1 w-2.5 h-2.5 border-b border-r border-[var(--color-text-info,#60a5fa)]" />
<span aria-hidden className="absolute top-1 left-1 w-2.5 h-2.5 border-t border-l border-[var(--color-text-info,#8FB0C3)]" />
<span aria-hidden className="absolute bottom-1 right-1 w-2.5 h-2.5 border-b border-r border-[var(--color-text-info,#8FB0C3)]" />
<div className="flex items-center justify-between mb-2">
<span className="text-[10px] font-mono uppercase tracking-wider text-[var(--color-text-info,#60a5fa)]">
<span className="text-[10px] font-mono uppercase tracking-wider text-[var(--color-text-info,#8FB0C3)]">
Neural summary
</span>
{typeof s.neural_summary.confidence === "number" && (
@@ -108,7 +108,7 @@ export default function FeaturedCarousel({ slides }: { slides: Slide[] }) {
<ul className="space-y-1 text-xs text-[#d1d5db]">
{s.neural_summary.bullets.slice(0, 3).map((b, idx) => (
<li key={idx} className="flex gap-2">
<span className="text-[var(--color-text-info,#60a5fa)]">·</span>
<span className="text-[var(--color-text-info,#8FB0C3)]">·</span>
<span>{b}</span>
</li>
))}
@@ -116,7 +116,7 @@ export default function FeaturedCarousel({ slides }: { slides: Slide[] }) {
{s.neural_summary.entities && s.neural_summary.entities.length > 0 && (
<div className="mt-2 flex flex-wrap gap-1">
{s.neural_summary.entities.slice(0, 5).map((e) => (
<span key={e} className="text-[10px] font-mono px-1.5 py-0.5 rounded bg-[#1a1f2e] text-[var(--color-text-info,#60a5fa)]">
<span key={e} className="text-[10px] font-mono px-1.5 py-0.5 rounded bg-[#1a1f2e] text-[var(--color-text-info,#8FB0C3)]">
{e}
</span>
))}
@@ -126,7 +126,7 @@ export default function FeaturedCarousel({ slides }: { slides: Slide[] }) {
)}
<div className="mt-4 pt-3 border-t border-[#252525] flex items-center gap-2">
<span className="inline-flex items-center justify-center w-8 h-8 rounded-full bg-[#1a1f2e] text-[var(--color-text-info,#60a5fa)] text-xs font-semibold">
<span className="inline-flex items-center justify-center w-8 h-8 rounded-full bg-[#1a1f2e] text-[var(--color-text-info,#8FB0C3)] text-xs font-semibold">
{s.author_initials}
</span>
<div>
@@ -145,7 +145,7 @@ export default function FeaturedCarousel({ slides }: { slides: Slide[] }) {
onClick={() => setI(n)}
aria-label={`Slide ${n + 1}`}
className={`w-2 h-2 rounded-full transition-colors ${
n === i ? "bg-[var(--color-text-info,#60a5fa)]" : "bg-[#374151]"
n === i ? "bg-[var(--color-text-info,#8FB0C3)]" : "bg-[#374151]"
}`}
/>
))}
@@ -154,7 +154,7 @@ export default function FeaturedCarousel({ slides }: { slides: Slide[] }) {
<button
onClick={() => setI((v) => (v - 1 + slides.length) % slides.length)}
aria-label="Previous"
className="hover:text-[var(--color-text-info,#60a5fa)]"
className="hover:text-[var(--color-text-info,#8FB0C3)]"
>
</button>
@@ -162,7 +162,7 @@ export default function FeaturedCarousel({ slides }: { slides: Slide[] }) {
<button
onClick={() => setI((v) => (v + 1) % slides.length)}
aria-label="Next"
className="hover:text-[var(--color-text-info,#60a5fa)]"
className="hover:text-[var(--color-text-info,#8FB0C3)]"
>
</button>