Start with surfaces, not accents
The foundation of any dark mode palette is the surface hierarchy: the 3-4 near-black values used for background, card, modal, and tooltip levels. A common mistake is starting with accent colors — trying to make your blue button look right on dark — before establishing the neutral foundation. Get the surface hierarchy right first. Most good dark mode systems use a base background around #0f0f0f to #1a1a1a, with each elevation step adding approximately 4-6 points of lightness in HSL. Pure #000000 should be reserved for true-black elements (deep shadows, text on light surfaces), not used as the default background — it creates too harsh a contrast against surface-level elements.
