/* =========================================================
   THEME TOKENS
   data-mode is set to one of: dark | light | colorblind
   "auto" (the default on <html>) gets resolved to dark/light
   by JS on load, based on the visitor's local time.
   ========================================================= */
:root{
  /* ---- EDITABLE TYPOGRAPHY PARAMETERS ----
     Change these to adjust fonts/sizes across the whole site. */
  --font-heading:'Inter', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
  --fs-h1: 2.7rem;      /* hero headline */
  --fs-h2: 1.05rem;     /* panel/section headings */
  --fs-h3: .95rem;      /* card titles */
  --fs-body: 1rem;      /* hero subtext */
  --fs-small: .82rem;   /* body copy in cards */
  --fs-xsmall: .72rem;  /* labels, meta text, eyebrows */
}

/* ---- DARK (default) ---- */
:root, [data-mode="dark"]{
  --bg:#0A0E17; --card:#121826; --card2:#161D2E; --line:rgba(255,255,255,0.08);
  --ink:#F5F6F8; --muted:#8B93A7;
  --accent:#5B8DEF; --accent2:#8B5CF6; --grad:linear-gradient(90deg,var(--accent),var(--accent2));
  --logo-bg:#0A66C2; --scheme:dark;
}
/* ---- LIGHT - new neutral palette, not just an inverted dark ---- */
[data-mode="light"]{
  --bg:#F6F7F9; --card:#FFFFFF; --card2:#EEF0F4; --line:rgba(15,18,25,0.09);
  --ink:#14171F; --muted:#5A6272;
  --accent:#2F5FD1; --accent2:#7C4FE0; --grad:linear-gradient(90deg,var(--accent),var(--accent2));
  --logo-bg:#0A66C2; --scheme:light;
}
/* ---- COLORBLIND-SAFE - blue/orange instead of blue/purple ---- */
[data-mode="colorblind"]{
  --bg:#0A0E17; --card:#121826; --card2:#161D2E; --line:rgba(255,255,255,0.08);
  --ink:#F5F6F8; --muted:#8B93A7;
  --accent:#4C93FF; --accent2:#F5A524; --grad:linear-gradient(90deg,var(--accent),var(--accent2));
  --logo-bg:#0A66C2; --scheme:dark;
}

*{box-sizing:border-box;}
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-body); transition:background .2s ease, color .2s ease; }
h1,h2,h3,h4{ margin:0; font-family:var(--font-heading); }
p{ margin:0; line-height:1.6; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

.shell{ display:flex; }
