/* ==========================================================================
   NEF V6 tokens. Raw ramp values live here and nowhere else; everything
   below references a semantic token, so a palette change is a one-file edit.
   Themes follow the OS by default and can be pinned from the top bar.
   ========================================================================== */
:root{
  --blue-1:#F3F8FD; --blue-2:#E4F2FF; --blue-3:#B5DAF4; --blue-4:#81C2E7;
  --blue-5:#4BABD4; --blue-6:#0092BC; --blue-7:#02759B; --blue-8:#02587D;
  --blue-9:#003D61; --blue-10:#002447; --blue-11:#08062A;

  --n-1:#F7FAFE; --n-2:#F0F4F9; --n-3:#E1E7EE; --n-4:#CDD4DC; --n-5:#9DA4AD;
  --n-6:#6F757E; --n-7:#53575F; --n-8:#3D4146; --n-9:#2B2F33; --n-10:#1C1F22;
  --n-11:#131619; --white:#FFFFFF; --black:#000000;

  --up-tint:#AAFCC2; --up:#00EB80; --up-ink:#006937; --up-deep:#072311;
  --down-tint:#FBE5E2; --down:#FF3F4A; --down-ink:#B80025; --down-deep:#3E0A07;
  --alert-tint:#FBE6D7; --alert:#F68D2C; --alert-ink:#8D4800; --alert-deep:#2C1908;

  /* legacy aliases: older rules in this file still say var(--dark)/(--blue) */
  --dark:var(--blue-11); --blue:var(--blue-6); --light:var(--blue-2);
}

/* ---- light ---- */
:root,[data-theme="light"]{
  --surface:var(--white);
  --surface-sunken:var(--blue-1);
  --surface-raised:var(--white);
  --chrome:var(--blue-11);
  --chrome-fg:var(--white);
  --chrome-muted:var(--blue-4);
  --chrome-border:var(--blue-9);

  --text:var(--n-10);
  --text-muted:var(--n-7);
  --border:var(--n-3);
  --border-strong:var(--n-4);

  --link:var(--blue-7);
  --link-hover:var(--blue-8);
  --accent:var(--blue-6);
  --accent-quiet:var(--blue-2);

  --field:var(--white);
  --field-border:var(--n-4);
  --field-disabled:var(--n-2);
  --field-disabled-fg:var(--n-6);

  --ok-fg:var(--up-ink); --ok-bg:var(--up-tint);
  --warn-fg:var(--alert-ink); --warn-bg:var(--alert-tint);
  --err-fg:var(--down-ink); --err-bg:var(--down-tint);

  --code-bg:#000000;             /* the code surface stays dark in both themes */
  --code-fg:var(--blue-2);
  --code-gutter:#000000;
  --code-rule:#222a52;

  --elev:0 1px 2px rgba(8,6,42,.06), 0 10px 26px -18px rgba(8,6,42,.34);
  --elev-hi:0 2px 6px rgba(8,6,42,.10), 0 20px 44px -20px rgba(8,6,42,.44);
  --scrim:rgba(8,6,42,.55);
}

/* ---- dark ---- */
[data-theme="dark"]{
  --surface:var(--n-11);
  --surface-sunken:var(--n-11);   /* the page behind the cards */
  --surface-raised:var(--n-10);   /* cards must read as lifted, not flush */
  --chrome:var(--n-10);
  --chrome-fg:var(--n-2);
  --chrome-muted:var(--n-5);
  --chrome-border:var(--n-8);

  --text:var(--n-2);
  --text-muted:var(--n-5);
  --border:var(--n-8);
  --border-strong:var(--n-7);

  --link:var(--blue-5);
  --link-hover:var(--blue-4);
  --accent:var(--blue-6);
  --accent-quiet:var(--n-9);

  --field:var(--n-9);
  --field-border:var(--n-7);
  --field-disabled:var(--n-10);
  --field-disabled-fg:var(--n-5);

  --ok-fg:var(--up); --ok-bg:var(--up-deep);
  --warn-fg:var(--alert); --warn-bg:var(--alert-deep);
  --err-fg:var(--down); --err-bg:var(--down-deep);

  --elev:0 1px 2px rgba(0,0,0,.5), 0 10px 26px -18px rgba(0,0,0,.72);
  --elev-hi:0 2px 6px rgba(0,0,0,.55), 0 20px 44px -20px rgba(0,0,0,.8);
  --scrim:rgba(0,0,0,.62);
}
