/* Design tokens, defined once for the whole site.
 *
 * These used to be copy-pasted into a :root block in each of 14 page
 * templates, which is how the styling drifted apart. base.html links this
 * first, so pages inherit the palette and only declare a token when they
 * genuinely differ from it.
 *
 * Page-level :root blocks still win, because a page's own <style> is parsed
 * after this file. Two pages rely on that today:
 *   journal_post      --main-text: #e8e8e8   (slightly brighter body copy)
 *   admin_seo_analysis --card: #1e1e1e       (darker cards)
 *
 * Deliberately NOT defined here: --text-secondary. Six pages reference it
 * without defining it, so their text currently inherits the body colour
 * instead of going muted. Defining it here would silently restyle 35
 * elements, which is a design decision rather than a consolidation, so it is
 * being handled separately.
 *
 * The short names (--text, --card, --border, --muted) are the vocabulary the
 * admin templates use; the long ones are what the public pages use. They are
 * kept as-is here rather than renamed, since renaming would mean touching
 * every rule that references them.
 */

/* Every page already applied this -- 14 templates declared it inline and the
   other 5 inherit it from styles.css or admin.css -- so hoisting it here
   changes nothing and removes 14 copies. */
* {
    box-sizing: border-box;
}

:root {
    /* Core palette */
    --main-dark: #121212;
    --main-text: #e0e0e0;
    --accent-teal: #5bc8d7;
    --accent-dark-teal: #3a9ba9;
    --accent-warm: #ff9a76;
    --card-bg: #232323;
    --header-bg: #2c2c2c;
    --border-color: #3a3a3a;

    /* Short aliases, used by the admin templates */
    --bg: #1a1a1a;
    --text: #e0e0e0;
    --card: #232323;
    --border: #3a3a3a;
    --muted: #999;

    /* Text roles.
       These were referenced across the site but defined nowhere, so every
       `color: var(--text-secondary)` silently fell back to the inherited body
       colour and the text never went muted. --text-primary and --text-color
       resolve to the same value the text was already inheriting, so only
       --text-secondary changes anything on screen. */
    --text-primary: #e0e0e0;
    --text-color: #e0e0e0;
    --text-secondary: #999;

    /* Status colours */
    --good: #7ed957;
    --bad: #e57373;
    --danger: #e57373;
    --error: #ef4444;
}
