/* Mangrove Atlas · design tokens (Mangrove forest palette). Every colour, size and font the site uses is named here once. */

@font-face{font-family:'Newsreader';src:url('assets/fonts-v2/newsreader-latin-opsz-normal.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Newsreader';src:url('assets/fonts-v2/newsreader-latin-opsz-italic.woff2') format('woff2');font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('assets/fonts-v2/source-sans-3-latin-wght-normal.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('assets/fonts-v2/source-sans-3-latin-wght-italic.woff2') format('woff2');font-weight:200 900;font-style:italic;font-display:swap}

:root{
  /* surfaces */
  --bg-canvas:#F4F0E6;      /* salt paper */
  --bg-surface:#FFFFFF;
  --bg-mist:#E8EFE4;        /* evidence bands */
  --bg-dark:#12382B;        /* maps, heroes, closings */
  --bg-dark-raised:#1B4736;
  /* ink (contrast on canvas: strong 12.9, body 8.7, muted 5.6) */
  --ink-strong:#122D22;
  --ink-body:#2F463B;
  --ink-muted:#556859;
  --ink-inverse:#F7F3E8;
  --ink-inverse-muted:#CBD9CC;
  /* accents */
  --accent-tide:#276E44;    /* actions, links, current state */
  --accent-coral:#8C5F14;   /* editorial emphasis */
  --accent-coral-soft:#E3BE6E;
  --border-soft:#D3DCCF;
  --border-strong:#97AA98;
  --focus:#F2B705;
  /* charts: categorical slots in fixed order (validated for colour-blind separation) */
  --chart-1:#2E8B57;--chart-2:#9B4C91;--chart-3:#9B7200;--chart-4:#4B5FBF;--chart-5:#C4512E;--chart-6:#00909A;
  /* change classes in charts (validated set) */
  --change-stable:#C9A032;--change-gain:#1F9A8A;--change-loss:#D24A33;
  /* change classes on maps (atlas legend, bright on satellite imagery) */
  --map-stable:#FFD84D;--map-gain:#5CFF3A;--map-loss:#FF4A3D;--map-extent:#35D07F;--map-planting:#FF8FD0;
  /* status */
  --status-warning:#8A6500;--status-warning-bg:#FFF0C2;
  --status-error:#B63A3A;--status-error-bg:#FBE2E0;
  --status-info:#2E6B9E;--status-info-bg:#E1EDF7;

  /* type */
  --font-display:'Newsreader',Georgia,'Times New Roman',serif;
  --font-body:'Source Sans 3','Segoe UI',Arial,sans-serif;
  --font-arabic:'IBM Plex Sans Arabic',Tahoma,sans-serif;
  --fs-hero:clamp(3.25rem,1.6rem + 6vw,6rem);
  --fs-h1:clamp(2.75rem,1.7rem + 3.6vw,4.5rem);
  --fs-h2:clamp(2.125rem,1.6rem + 1.9vw,3.25rem);
  --fs-h3:clamp(1.5625rem,1.25rem + 1vw,2.125rem);
  --fs-lead:clamp(1.25rem,1.1rem + .5vw,1.5rem);
  --fs-body-l:clamp(1.125rem,1.1rem + .1vw,1.1875rem);
  --fs-body:1rem;
  --fs-caption:clamp(.8125rem,.8rem + .1vw,.875rem);
  --fs-figure:clamp(2.75rem,2rem + 2.6vw,4rem);

  /* space & layout */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;
  --shell-wide:1440px;--shell-content:1280px;--shell-reading:760px;--shell-narrow:620px;
  --gutter:clamp(20px,4vw,72px);
  --section-y:clamp(72px,8vw,112px);
  --bar-h:64px;
  --radius:12px;--radius-l:18px;
  --shadow-1:0 1px 2px #102F3114,0 12px 32px #102F3112;
  --shadow-2:0 2px 4px #102F311a,0 28px 70px #102F3124;
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (max-width:767px){:root{--bar-h:56px}}

/* Arabic: Noto Naskh Arabic for headings, IBM Plex Sans Arabic for reading; Latin text (scientific names, numbers) keeps the English faces */
@font-face{font-family:'Noto Naskh Arabic';src:url('assets/fonts-v2/noto-naskh-arabic-arabic-wght-normal.woff2') format('woff2');font-weight:400 700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E,U+2010-2011,U+204F,U+2E41}
@font-face{font-family:'IBM Plex Sans Arabic';src:url('assets/fonts-v2/ibm-plex-sans-arabic-arabic-400-normal.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E}
@font-face{font-family:'IBM Plex Sans Arabic';src:url('assets/fonts-v2/ibm-plex-sans-arabic-arabic-600-normal.woff2') format('woff2');font-weight:500 600;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E}
@font-face{font-family:'IBM Plex Sans Arabic';src:url('assets/fonts-v2/ibm-plex-sans-arabic-arabic-700-normal.woff2') format('woff2');font-weight:650 800;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E}
:root.lang-ar{--font-display:'Noto Naskh Arabic','Newsreader',Georgia,serif;--font-body:'IBM Plex Sans Arabic','Source Sans 3','Segoe UI',Tahoma,sans-serif;--font-arabic:'IBM Plex Sans Arabic',Tahoma,sans-serif}
