/* Terminal skin — imqueue.org (open source). Green/cyan, JetBrains Mono display.
   Token contract shared with the Flux skin; values are edition-specific.
   Default = dark. System mode follows prefers-color-scheme; explicit modes use
   [data-theme] set by the theme switcher. */

:root {
  --font-display: 'JetBrains Mono', ui-monospace, monospace;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  /* dark (default) */
  --bg: #0a0e0d;
  --navbg: rgba(10,14,13,.86);
  --surface: #111917;
  --surface2: #0c1210;
  --ink: #e8f0ec;
  --muted: #7f8f89;
  --accent: #3ddc84;
  --accent2: #35d0e0;
  --line: rgba(255,255,255,.12);
  --code: #c4cfc9;
  --on-accent: #06120c;
  /* .btn-gradient hardcoded color:#fff, which over this palette's green->cyan is
     1.78:1 — illegible. The gradient now takes its text colour from here. */
  --on-grad: #06120c;
  --shadow: rgba(0,0,0,.45);
  --eyebrow: #63e6a0;

  /* --inv-*: the OPPOSITE theme's values, for a surface that has to read as inverted.
     The cookie-consent bar is the only one — see base.css (.cc), which maps these onto
     the ordinary tokens inside its own subtree. Pairs are lifted wholesale from the
     other block below rather than mixed, so the contrast each was measured for holds. */
  --inv-scheme: light;
  --inv-bg: #eef2ef;
  --inv-ink: #0d1512;
  --inv-muted: #5a6b63;
  --inv-accent: #0c7e42;
  --inv-on-accent: #ffffff;
  --inv-eyebrow: #0b7a40;
  --inv-line: rgba(13,21,18,.13);
}

/* light values, reused for system-light and explicit light */
:root[data-theme="light"] {
  --bg: #eef2ef;
  --navbg: rgba(238,242,239,.86);
  --surface: #ffffff;
  --surface2: #f5f8f6;
  --ink: #0d1512;
  --muted: #5a6b63;
  --accent: #0c7e42;   /* was #0f9d52: 3.12:1 as text on --bg, under WCAG 1.4.3's 4.5. Now 4.56, and white on it as a fill is 5.15 */
  --accent2: #0a8290;  /* was #0b8a99: white on it in .btn-gradient was 4.11. Now 4.56 */
  --line: rgba(13,21,18,.13);
  --code: #2b3a33;
  --on-accent: #ffffff;
  --shadow: rgba(13,21,18,.10);
  --eyebrow: #0b7a40;

  /* light page, so the consent bar is dark — the :root block's own values */
  --inv-scheme: dark;
  --inv-bg: #0a0e0d;
  --inv-ink: #e8f0ec;
  --inv-muted: #7f8f89;
  --inv-accent: #3ddc84;
  --inv-on-accent: #06120c;
  --inv-eyebrow: #63e6a0;
  --inv-line: rgba(255,255,255,.12);
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    --bg: #eef2ef;
    --navbg: rgba(238,242,239,.86);
    --surface: #ffffff;
    --surface2: #f5f8f6;
    --ink: #0d1512;
    --muted: #5a6b63;
    --accent: #0c7e42;   /* see the [data-theme="light"] block above */
    --accent2: #0a8290;
    --line: rgba(13,21,18,.13);
    --code: #2b3a33;
    --on-accent: #ffffff;
    --shadow: rgba(13,21,18,.10);
    --eyebrow: #0b7a40;

    --inv-scheme: dark;   /* see the [data-theme="light"] block above */
    --inv-bg: #0a0e0d;
    --inv-ink: #e8f0ec;
    --inv-muted: #7f8f89;
    --inv-accent: #3ddc84;
    --inv-on-accent: #06120c;
    --inv-eyebrow: #63e6a0;
    --inv-line: rgba(255,255,255,.12);
  }
}
