/* ==========================================================
   neur0doku-theme.css

   neur0doku's own color tokens — shared by every page under
   /neur0doku/. Deliberately NOT built on character-roles.css /
   theme-engine.css: the game's palette should look the same no
   matter which character theme is selected site-wide (that
   selection is cosmetic branding for neur0loom.xyz, not
   something a puzzle's color-matching mechanic should ever be
   at the mercy of).

   ONE FIXED PALETTE — no site light/dark coupling.
   There is intentionally no [data-theme="dark"] block in this
   file. The game has no light/dark mode of its own right now;
   it always renders this one tan/cream palette regardless of
   what the site-wide accessibility toggle (in /settings/) is
   set to. That toggle sets data-theme on <html> (the real
   :root), which is a different, higher-scoped element than any
   per-page <body data-theme="..."> attribute — so a
   :root[data-theme="dark"] rule here would (and previously did)
   get overridden by the site toggle even though every neur0doku
   page's <body> itself still said data-theme="light". Removing
   the dark block is what actually decouples the two; hardcoding
   the body attribute alone was not enough.

   In-game theming is a FUTURE, separate, shop-unlockable system
   (see project notes) — when that exists, it should key off its
   own attribute (e.g. [data-nd-theme="..."] ), layered on top of
   this file's defaults, the same way character-roles.css layers
   on top of theme-engine.css's fallback. Don't reuse
   [data-theme] for that either — it's the site's toggle name,
   and reusing it is exactly what caused this bug.

   LOAD ORDER: first among the neur0doku-*.css files, on every
   page. Everything else in this system (components, modals,
   pages, play) reads var(--nd-*) from here — nothing downstream
   should ever hardcode a color.
   ========================================================== */

:root {
  --nd-bg: #d8eeff;
  --nd-surface: #ffffff;
  --nd-surface-soft: rgba(255, 255, 255, 0.7);

  --nd-text: #2c2f36;
  --nd-text-soft: #5b6470;

  --nd-border: rgba(0, 0, 0, 0.08);
  --nd-shadow: rgba(0, 0, 0, 0.1);

  --nd-accent: #2b6cad;
  --nd-focus: #2b6cad;

  /* The cream/gold button family — Play, Extras, and any other
     primary action button in the game. */
  --nd-button-bg: #f6e3c2;
  --nd-button-bg-hover: #f9ecd6;
  --nd-button-border: #d8b782;
  --nd-button-ink: #6b4a1e;

  /* Puzzle grid cell background before a region color is applied */
  --nd-cell-bg: #f2f2f2;

  /* Shared by every neur0doku modal (Settings, Profile, future ones).
     Overlay + on/off status colors are the only genuinely new tokens a
     modal needs — everything else about a modal (panel, border, ink,
     accent, focus ring) reuses the tokens above. */
  --nd-overlay: rgba(20, 24, 32, 0.45);
  --nd-on: #3fa34d;
  --nd-on-2: #2e8b3f;
  --nd-off: rgba(0, 0, 0, 0.14);

  /* Destructive/danger red — restart level, delete, "mistake" flags.
     Previously hardcoded as #e0645a / #d55550 independently in
     neur0doku-play.css (restart button + confirm overlay) and
     neur0doku-quests.css (claimable-quest dot). Same red in all three
     spots, so it's a real token now instead of three copies that could
     silently drift apart. */
  --nd-danger: #e0645a;
  --nd-danger-hover: #d55550;
}