/* BluntAI design tokens — 2026-04-13 redesign, refactored 2026-04-13 (aesthetic split).
   Consumed by chrome + components. Do not put chrome rules here.
   Palette axis (data-theme): colors only — bg, text, border, muted, scanline tint, neon set.
   Aesthetic axis (data-aesthetic): typography + chrome effects — lives in bluntai-terminal.css / bluntai-modern.css. */

:root {
    /* Neon palette — dark mode */
    --n-fire:    #FF4500;
    --n-abyss:   #6366F1;
    --n-flash:   #FFD60A;
    --n-orange:  #fb923c;
    --n-purple:  #a855f7;

    /* Neon palette — light mode (darker for AA contrast on cream) */
    --nl-fire:   #CC3700;
    --nl-abyss:  #4F46E5;
    --nl-flash:  #C9A800;
    --nl-orange:  #c2410c;
    --nl-purple:  #7e22ce;

    /* Category accent — defaults to cyan (Hot Take). Per-article overrides via body class. */
    --cat-accent: var(--n-fire);
    --sec-accent: var(--cat-accent);

    /* Motion timing */
    --t-fast: 150ms;
    --t-base: 300ms;
    --t-slow: 400ms;
}

/* ---------- palette: DARK ---------- */
[data-theme="dark"] {
    --bg:     #040404;
    --bg2:    #0a0a0a;
    --bg3:    #141414;
    --text:   #f0f0f0;
    --text-strong: #ffffff;
    --text-soft: #c8c8c8;
    --muted:  #7a7a7a;
    --muted-2: #444;
    --muted-3: #666;
    --border: #141414;
    --border-2: #1a1a1a;
    --border-soft: #111;
    --surface-hi: rgba(255,255,255,0.05);
    --surface-lo: rgba(255,255,255,0.02);
    --card-bg: #080808;
    --chrome-bg: #000;
    --nav-muted: #666;
    --nav-bracket: #444;
    --scanline-color: rgba(255,255,255,0.02);
    --scanline-subtle: rgba(255,255,255,0.035);
    /* palette-mapped accent set — aesthetic layer references these via var(--acc-*) so rules work in both palettes */
    --acc-fire:    var(--n-fire);
    --acc-abyss:    var(--n-abyss);
    --acc-flash: var(--n-flash);
    --acc-orange:  var(--n-orange);
    --acc-purple:  var(--n-purple);
    --acc-fire-rgb:    34,211,238;
    --acc-abyss-rgb:    163,230,53;
    --acc-flash-rgb: 236,72,153;
    --acc-orange-rgb:  251,146,60;
    --acc-purple-rgb:  168,85,247;
}

/* ---------- palette: LIGHT ---------- */
[data-theme="light"] {
    --bg:     #ebe8e3;
    --bg2:    #f5f3ee;
    --bg3:    #dcd9d3;
    --text:   #0a0a0a;
    --text-strong: #0a0a0a;
    --text-soft: #1a1a1a;
    --muted:  #6a6354;
    --muted-2: #888;
    --muted-3: #3a3325;
    --border: #c8c5be;
    --border-2: #0a0a0a;
    --border-soft: #c8c5be;
    --surface-hi: rgba(0,0,0,0.04);
    --surface-lo: rgba(0,0,0,0.02);
    --card-bg: #ffffff;
    --chrome-bg: #ffffff;
    --nav-muted: #6a6354;
    --nav-bracket: #b5afa0;
    --scanline-color: rgba(40,30,10,0.014);
    --scanline-subtle: rgba(0,0,0,0.025);
    --acc-fire:    var(--nl-fire);
    --acc-abyss:    var(--nl-abyss);
    --acc-flash: var(--nl-flash);
    --acc-orange:  var(--nl-orange);
    --acc-purple:  var(--nl-purple);
    --acc-fire-rgb:    8,145,178;
    --acc-abyss-rgb:    101,163,13;
    --acc-flash-rgb: 219,39,119;
    --acc-orange-rgb:  194,65,12;
    --acc-purple-rgb:  126,34,206;
}

/* ---------- palette-bound body surface (the baseline surface). Aesthetic layer adds chrome/overlays. ---------- */
[data-theme="dark"] body  { background: var(--bg); color: var(--text); }
[data-theme="light"] body { background: var(--bg); color: var(--text); }

/* ---------- Category-bound accents (palette layer; --cat-accent picks dark vs light neon) ---------- */
[data-theme="dark"] body.category-hot-takes    { --cat-accent: var(--n-fire); }
[data-theme="dark"] body.category-deep-reviews { --cat-accent: var(--n-abyss); }
[data-theme="dark"] body.category-quick-takes  { --cat-accent: var(--n-flash); }
[data-theme="dark"] body.category-graveyard    { --cat-accent: var(--n-orange); }
[data-theme="dark"] body.category-best-alternatives { --cat-accent: var(--n-purple); }

[data-theme="light"] body.category-hot-takes    { --cat-accent: var(--nl-fire); }
[data-theme="light"] body.category-deep-reviews { --cat-accent: var(--nl-abyss); }
[data-theme="light"] body.category-quick-takes  { --cat-accent: var(--nl-flash); }
[data-theme="light"] body.category-graveyard    { --cat-accent: var(--nl-orange); }
[data-theme="light"] body.category-best-alternatives { --cat-accent: var(--nl-purple); }

/* Per-card accent — palette layer sets --accent + --cat-accent to the palette-appropriate neon. */
[data-theme="dark"] .hero-section.cat-hot-takes,
[data-theme="dark"] .article-card.cat-hot-takes,
[data-theme="dark"] .related-card.cat-hot-takes    { --accent: var(--n-fire); --bg-tint: rgba(255,69,0,0.08); --cat-accent: var(--n-fire); }
[data-theme="dark"] .hero-section.cat-deep-reviews,
[data-theme="dark"] .article-card.cat-deep-reviews,
[data-theme="dark"] .related-card.cat-deep-reviews { --accent: var(--n-abyss); --bg-tint: rgba(99,102,241,0.08); --cat-accent: var(--n-abyss); }
[data-theme="dark"] .hero-section.cat-quick-takes,
[data-theme="dark"] .article-card.cat-quick-takes,
[data-theme="dark"] .related-card.cat-quick-takes  { --accent: var(--n-flash); --bg-tint: rgba(255,214,10,0.08); --cat-accent: var(--n-flash); }
[data-theme="dark"] .hero-section.cat-graveyard,
[data-theme="dark"] .article-card.cat-graveyard,
[data-theme="dark"] .related-card.cat-graveyard    { --accent: var(--n-orange); --bg-tint: rgba(251,146,60,0.08); --cat-accent: var(--n-orange); }
[data-theme="dark"] .hero-section.cat-best-alternatives,
[data-theme="dark"] .article-card.cat-best-alternatives,
[data-theme="dark"] .related-card.cat-best-alternatives { --accent: var(--n-purple); --bg-tint: rgba(168,85,247,0.08); --cat-accent: var(--n-purple); }

[data-theme="light"] .hero-section.cat-hot-takes,
[data-theme="light"] .article-card.cat-hot-takes,
[data-theme="light"] .related-card.cat-hot-takes    { --accent: var(--nl-fire); --bg-tint: rgba(204,55,0,0.18); --cat-accent: var(--nl-fire); }
[data-theme="light"] .hero-section.cat-deep-reviews,
[data-theme="light"] .article-card.cat-deep-reviews,
[data-theme="light"] .related-card.cat-deep-reviews { --accent: var(--nl-abyss); --bg-tint: rgba(79,70,229,0.18); --cat-accent: var(--nl-abyss); }
[data-theme="light"] .hero-section.cat-quick-takes,
[data-theme="light"] .article-card.cat-quick-takes,
[data-theme="light"] .related-card.cat-quick-takes  { --accent: var(--nl-flash); --bg-tint: rgba(201,168,0,0.18); --cat-accent: var(--nl-flash); }
[data-theme="light"] .hero-section.cat-graveyard,
[data-theme="light"] .article-card.cat-graveyard,
[data-theme="light"] .related-card.cat-graveyard    { --accent: var(--nl-orange); --bg-tint: rgba(194,65,12,0.18); --cat-accent: var(--nl-orange); }
[data-theme="light"] .hero-section.cat-best-alternatives,
[data-theme="light"] .article-card.cat-best-alternatives,
[data-theme="light"] .related-card.cat-best-alternatives { --accent: var(--nl-purple); --bg-tint: rgba(126,34,206,0.18); --cat-accent: var(--nl-purple); }

/* body.category-* shortcut (for body-scoped variants) */
[data-theme="dark"] body.category-hot-takes    .article-card,
[data-theme="dark"] body.category-hot-takes    .hero-section { --accent: var(--n-fire);    --bg-tint: rgba(255,69,0,0.06); }
[data-theme="dark"] body.category-deep-reviews .article-card,
[data-theme="dark"] body.category-deep-reviews .hero-section { --accent: var(--n-abyss);    --bg-tint: rgba(99,102,241,0.06); }
[data-theme="dark"] body.category-quick-takes  .article-card,
[data-theme="dark"] body.category-quick-takes  .hero-section { --accent: var(--n-flash); --bg-tint: rgba(255,214,10,0.06); }
[data-theme="dark"] body.category-graveyard    .article-card,
[data-theme="dark"] body.category-graveyard    .hero-section { --accent: var(--n-orange);  --bg-tint: rgba(251,146,60,0.06); }
[data-theme="dark"] body.category-best-alt     .article-card,
[data-theme="dark"] body.category-best-alt     .hero-section { --accent: var(--n-purple);  --bg-tint: rgba(168,85,247,0.06); }

[data-theme="light"] body.category-hot-takes    .article-card,
[data-theme="light"] body.category-hot-takes    .hero-section { --accent: var(--nl-fire);    --bg-tint: rgba(204,55,0,0.18); }
[data-theme="light"] body.category-deep-reviews .article-card,
[data-theme="light"] body.category-deep-reviews .hero-section { --accent: var(--nl-abyss);    --bg-tint: rgba(79,70,229,0.18); }
[data-theme="light"] body.category-quick-takes  .article-card,
[data-theme="light"] body.category-quick-takes  .hero-section { --accent: var(--nl-flash); --bg-tint: rgba(201,168,0,0.18); }
[data-theme="light"] body.category-graveyard    .article-card,
[data-theme="light"] body.category-graveyard    .hero-section { --accent: var(--nl-orange);  --bg-tint: rgba(194,65,12,0.18); }
[data-theme="light"] body.category-best-alt     .article-card,
[data-theme="light"] body.category-best-alt     .hero-section { --accent: var(--nl-purple);  --bg-tint: rgba(126,34,206,0.18); }
