/* Each bot's colours, shared by every surface that shows a bot: the play
 * pages (play.css), and the review page's Play it from here (play-here.css),
 * where the opponent wears the same hue it has on its card. One copy, so a
 * bot can't be one colour on its tile and another in a game.
 *
 * A test (tests/test_ladder_calibration.py) fails when a roster slug has no
 * rule here. */

/* ── Mineral accent palette ───────────────────────────────────
 * Each card gets a small palette: --bot-accent (mid),
 * --bot-accent-soft (lighter for radar gradient start),
 * --bot-accent-deep (deeper for hover ring + button),
 * --bot-accent-ink (text on mid).
 * Pure tokens — no images.  Keep contrast against the warm-paper
 * background; AAA isn't required for decorative elements. */
.bot-accent-onyx       { --bot-accent:#3a3530; --bot-accent-soft:#776c5e; --bot-accent-deep:#1a1814; --bot-accent-ink:#fffdf8; }
.bot-accent-slate      { --bot-accent:#5b6975; --bot-accent-soft:#9caab5; --bot-accent-deep:#34404a; --bot-accent-ink:#fffdf8; }
.bot-accent-hematite   { --bot-accent:#8b443a; --bot-accent-soft:#c47e6e; --bot-accent-deep:#5b261f; --bot-accent-ink:#fffdf8; }
.bot-accent-obsidian   { --bot-accent:#1f1c2c; --bot-accent-soft:#5a566f; --bot-accent-deep:#0e0d18; --bot-accent-ink:#fffdf8; }
.bot-accent-sodalite   { --bot-accent:#2d4878; --bot-accent-soft:#6f8aba; --bot-accent-deep:#1a2b50; --bot-accent-ink:#fffdf8; }
.bot-accent-lapis      { --bot-accent:#1f4ba1; --bot-accent-soft:#5e8bd4; --bot-accent-deep:#103067; --bot-accent-ink:#fffdf8; }
.bot-accent-larimar    { --bot-accent:#5fa8c4; --bot-accent-soft:#a3d7e6; --bot-accent-deep:#3d7c92; --bot-accent-ink:#1a2b50; }
.bot-accent-quartz     { --bot-accent:#9c948a; --bot-accent-soft:#c8c0b6; --bot-accent-deep:#6c655a; --bot-accent-ink:#3E2723; }
.bot-accent-moonstone  { --bot-accent:#aabac4; --bot-accent-soft:#dde5ec; --bot-accent-deep:#7f8c97; --bot-accent-ink:#3E2723; }
.bot-accent-pearl      { --bot-accent:#ddd5c0; --bot-accent-soft:#f0ead7; --bot-accent-deep:#a89c7f; --bot-accent-ink:#3E2723; }
.bot-accent-amber      { --bot-accent:#c08334; --bot-accent-soft:#e9b572; --bot-accent-deep:#7e5217; --bot-accent-ink:#fffdf8; }
.bot-accent-topaz      { --bot-accent:#d29c2a; --bot-accent-soft:#f0c66a; --bot-accent-deep:#8a6210; --bot-accent-ink:#fffdf8; }
.bot-accent-sunstone   { --bot-accent:#cd5e2c; --bot-accent-soft:#ec9268; --bot-accent-deep:#8c3712; --bot-accent-ink:#fffdf8; }
.bot-accent-carnelian  { --bot-accent:#a83d2a; --bot-accent-soft:#d97862; --bot-accent-deep:#6f2114; --bot-accent-ink:#fffdf8; }
.bot-accent-cinnabar   { --bot-accent:#c93826; --bot-accent-soft:#ee7866; --bot-accent-deep:#7b1a0f; --bot-accent-ink:#fffdf8; }
.bot-accent-garnet     { --bot-accent:#7d2237; --bot-accent-soft:#b35069; --bot-accent-deep:#4d1020; --bot-accent-ink:#fffdf8; }
.bot-accent-pyrite     { --bot-accent:#c0a14a; --bot-accent-soft:#e0c785; --bot-accent-deep:#806424; --bot-accent-ink:#3E2723; }
.bot-accent-jade       { --bot-accent:#4a8a5d; --bot-accent-soft:#82bb94; --bot-accent-deep:#2a5a36; --bot-accent-ink:#fffdf8; }
.bot-accent-malachite  { --bot-accent:#2c8755; --bot-accent-soft:#62b58a; --bot-accent-deep:#155236; --bot-accent-ink:#fffdf8; }
.bot-accent-celestite  { --bot-accent:#92bedd; --bot-accent-soft:#c5dfee; --bot-accent-deep:#5d8cab; --bot-accent-ink:#1a2b50; }
.bot-accent-tourmaline { --bot-accent:#a14b75; --bot-accent-soft:#cf86a4; --bot-accent-deep:#67264e; --bot-accent-ink:#fffdf8; }
.bot-accent-aventurine { --bot-accent:#5b9c70; --bot-accent-soft:#94c5a4; --bot-accent-deep:#346445; --bot-accent-ink:#fffdf8; }
.bot-accent-azurite    { --bot-accent:#284e94; --bot-accent-soft:#6788c5; --bot-accent-deep:#142e60; --bot-accent-ink:#fffdf8; }
.bot-accent-rhodonite  { --bot-accent:#b87794; --bot-accent-soft:#dfaec0; --bot-accent-deep:#7d465c; --bot-accent-ink:#fffdf8; }
.bot-accent-fluorite   { --bot-accent:#7349a9; --bot-accent-soft:#aa86d0; --bot-accent-deep:#46266d; --bot-accent-ink:#fffdf8; }
.bot-accent-beryl      { --bot-accent:#5fa28c; --bot-accent-soft:#9bcdbd; --bot-accent-deep:#2f6b5a; --bot-accent-ink:#fffdf8; }
.bot-accent-opal       { --bot-accent:#c5b1bd; --bot-accent-soft:#e6d4dc; --bot-accent-deep:#9078a0; --bot-accent-ink:#3E2723; }
.bot-accent-agate      { --bot-accent:#7c5942; --bot-accent-soft:#a8866b; --bot-accent-deep:#48311e; --bot-accent-ink:#fffdf8; }
.bot-accent-galena     { --bot-accent:#7c8385; --bot-accent-soft:#b3b8b9; --bot-accent-deep:#4a4f51; --bot-accent-ink:#fffdf8; }
.bot-accent-tigereye   { --bot-accent:#a9712a; --bot-accent-soft:#cea35d; --bot-accent-deep:#6f470f; --bot-accent-ink:#fffdf8; }
.bot-accent-spinel     { --bot-accent:#b9314a; --bot-accent-soft:#df7186; --bot-accent-deep:#7a132a; --bot-accent-ink:#fffdf8; }
.bot-accent-charoite   { --bot-accent:#9a7ab8; --bot-accent-soft:#c5aedd; --bot-accent-deep:#674580; --bot-accent-ink:#fffdf8; }
.bot-accent-sugilite   { --bot-accent:#643f8a; --bot-accent-soft:#9776b9; --bot-accent-deep:#3a204e; --bot-accent-ink:#fffdf8; }
.bot-accent-bloodstone { --bot-accent:#3a5b46; --bot-accent-soft:#7a9282; --bot-accent-deep:#1f3527; --bot-accent-ink:#fffdf8; }
.bot-accent-aquamarine { --bot-accent:#4eaeb6; --bot-accent-soft:#90d4d9; --bot-accent-deep:#296b71; --bot-accent-ink:#fffdf8; }
.bot-accent-selenite   { --bot-accent:#c9c4ba; --bot-accent-soft:#e7e2d7; --bot-accent-deep:#92897a; --bot-accent-ink:#3E2723; }
/* Three bots reached prod without a palette (backlog #61). Each
 * falls back to var(--color-wood) for accent + var(--color-wood-ink)
 * for ink — in dark mode both flip to the SAME amber tone, so the
 * rank pill renders amber-on-amber (invisible). Add explicit palettes
 * keyed to the gemstone's real color so contrast holds in both
 * themes. Naming convention matches the rest of the file (gemstone
 * slug + four sibling vars). */
.bot-accent-howlite    { --bot-accent:#cfc9bc; --bot-accent-soft:#e8e4d8; --bot-accent-deep:#8d8678; --bot-accent-ink:#3E2723; }
.bot-accent-citrine    { --bot-accent:#d4a72c; --bot-accent-soft:#f1cf66; --bot-accent-deep:#8c6c10; --bot-accent-ink:#3E2723; }
.bot-accent-iolite     { --bot-accent:#4a5fa3; --bot-accent-soft:#8395c8; --bot-accent-deep:#2c3f74; --bot-accent-ink:#fffdf8; }

/* Second time round (backlog #61 was the first). Six more bots plus the
 * unranked band shipped without a palette, so their rank pill fell all
 * the way back to var(--color-wood) on var(--color-wood-ink) — the same
 * amber twice in dark mode, orange text on an orange pill. The 7d pair
 * were the visible ones; the accent also dresses the board page, the
 * salvage page and Your record, so the unranked band needs one too even
 * though the picker never lists it.
 *
 * A test now fails when a roster slug has no rule here, which is the
 * only reason this is the last time. */
.bot-accent-kyanite    { --bot-accent:#1d6f8f; --bot-accent-soft:#6aa9c2; --bot-accent-deep:#0f4256; --bot-accent-ink:#fffdf8; }
.bot-accent-zircon     { --bot-accent:#6e7029; --bot-accent-soft:#a1a45c; --bot-accent-deep:#42440f; --bot-accent-ink:#fffdf8; }
.bot-accent-tanzanite  { --bot-accent:#4b3f9e; --bot-accent-soft:#8a80cf; --bot-accent-deep:#2c2470; --bot-accent-ink:#fffdf8; }
.bot-accent-alexandrite{ --bot-accent:#2f7a6a; --bot-accent-soft:#74b3a4; --bot-accent-deep:#17493e; --bot-accent-ink:#fffdf8; }
.bot-accent-labradorite{ --bot-accent:#465a63; --bot-accent-soft:#8ba3ab; --bot-accent-deep:#26363d; --bot-accent-ink:#fffdf8; }

/* The unranked band. Both take the hue their own page gives them, so a
 * game against one looks like the panel you started it from. Tipsybara
 * is one character on a dial, not nine bots, so every step wears the
 * same colour. */
.bot-accent-capybara   { --bot-accent:#2f5d52; --bot-accent-soft:#74a89b; --bot-accent-deep:#1a3831; --bot-accent-ink:#fffdf8; }
.bot-accent-tipsybara-0,
.bot-accent-tipsybara-1,
.bot-accent-tipsybara-2,
.bot-accent-tipsybara-3,
.bot-accent-tipsybara-4,
.bot-accent-tipsybara-5,
.bot-accent-tipsybara-6,
.bot-accent-tipsybara-7,
.bot-accent-tipsybara-8 { --bot-accent:#9c5024; --bot-accent-soft:#cf8d5c; --bot-accent-deep:#5f2d10; --bot-accent-ink:#fffdf8; }

/* The smaller-boards tiles share one neutral. They have no character
 * to colour — that is the point of them — but they still land on
 * /play/history, where a slug with no rule falls back to wood accent
 * on wood ink and renders amber on amber in dark mode. One stone-grey
 * for the whole ladder, the way the Tipsybara steps share theirs. */
.bot-accent-plain-20k,
.bot-accent-plain-19k,
.bot-accent-plain-18k,
.bot-accent-plain-17k,
.bot-accent-plain-16k,
.bot-accent-plain-15k,
.bot-accent-plain-14k,
.bot-accent-plain-13k,
.bot-accent-plain-12k,
.bot-accent-plain-11k,
.bot-accent-plain-10k,
.bot-accent-plain-9k,
.bot-accent-plain-8k,
.bot-accent-plain-7k,
.bot-accent-plain-6k,
.bot-accent-plain-5k,
.bot-accent-plain-4k,
.bot-accent-plain-3k,
.bot-accent-plain-2k,
.bot-accent-plain-1k,
.bot-accent-plain-1d,
.bot-accent-plain-2d,
.bot-accent-plain-3d { --bot-accent:#aca395; --bot-accent-soft:#d5cec2; --bot-accent-deep:#6b6459; --bot-accent-ink:#3E2723; }
