/* ==========================================================================
   WEB ACADEMY — DESIGN TOKENS
   The single source of truth for every colour, radius, shadow, easing and
   layout constant used by the landing page, the blog and every dashboard.

   These values were previously declared twice — once in site.css and once in
   enterprise.css. They agreed, but nothing kept them agreeing. This file is
   what makes "the dashboards look exactly like the landing page" a structural
   fact rather than a coincidence that survives until the next edit.

   RULE: no literal colour, radius, shadow or easing anywhere else. If you need
   a value that is not here, add it here first.
   ========================================================================== */
:root{
  /* ---- palette (unchanged from the landing page) ---- */
  --paper:#fbfcfe;
  --paper-2:#f3f6fb;
  --ink:#0e1c36;
  --ink-2:#12294f;
  --soft:#47597b;
  --faint:#8093ae;
  --line:#e3eaf5;
  --line-2:#cdd9ec;
  --steel:#2c64ad;
  --steel-deep:#1d426f;
  --sky:#dceafb;
  --sky-2:#eaf2fc;
  --brass:#c09547;
  --brass-soft:#f2e3c3;
  --green:#4e9168;

  /* ---- semantic ----
     Lifted verbatim from the .pill.* rules that already existed, so the
     hardcoded #c0392b / #e67e22 / #2f7a4f scattered across four files now
     resolve to one definition each. */
  --success:#4e9168;      --success-bg:#e7f6ec;  --success-line:#cfe5d8;  --success-ink:#2f7a4f;
  --danger:#c0392b;       --danger-bg:#fdeeec;   --danger-line:#f5cbc4;
  --warn:#c07a1a;         --warn-bg:#fef3e0;     --warn-line:#f5dba0;
  --info:#1d426f;         --info-bg:#eaf2fc;     --info-line:#dceafb;
  --accent:#c09547;       --accent-bg:#f7efdd;   --accent-line:#ead9b0;   --accent-ink:#9c7530;
  --alert:#e25c4a;        /* notification badges */

  /* ---- radius ---- */
  --r-sm:8px;
  --r:14px;
  --r-lg:16px;
  --r-pill:100px;

  /* ---- elevation ---- */
  --card-sh:0 12px 34px -20px rgba(14,28,54,.25);
  --card-sh-lg:0 30px 70px -34px rgba(14,28,54,.35);
  --sh-glass:0 14px 40px -20px rgba(14,28,54,.28);

  /* ---- spacing ---- */
  --s-1:4px;  --s-2:8px;  --s-3:12px; --s-4:16px;
  --s-5:20px; --s-6:24px; --s-7:32px; --s-8:48px;

  /* ---- motion ---- */
  --ease:cubic-bezier(.16,1,.3,1);
  --dur-fast:150ms;
  --dur:250ms;
  --dur-slow:350ms;

  /* ---- layout ---- */
  --max:1200px;
  --nav-h:54px;
  --bottomnav-h:58px;

  /* ---- safe areas ----
     Fixed elements must subtract the device's inset or they sit under the
     iPhone home indicator. viewport-fit=cover is set, so these resolve to real
     values on notched devices and to 0 everywhere else. */
  --safe-t:env(safe-area-inset-top, 0px);
  --safe-b:env(safe-area-inset-bottom, 0px);
  --safe-l:env(safe-area-inset-left, 0px);
  --safe-r:env(safe-area-inset-right, 0px);

  /* ---- z-index scale ---- */
  --z-nav:100;
  --z-overlay:200;
  --z-sheet:210;
  --z-toast:300;

  /* ---- derived / gradient stops ----
     These are used inside gradients and textures where a flat semantic token
     would not carry the same meaning. Defined here so they are still one
     source of truth rather than repeated literals. */
  --steel-grad-1:#1d3a66;
  --steel-grad-2:#5a86c4;
  --brass-grad:#e8c55a;
  --green-deep:#1a5a35;
  --warn-strong:#e67e22;
  --canvas-dot:#d5dff0;

  /* ---- typography ----
     16px is the minimum for any focusable input: below it, iOS Safari zooms the
     page on focus and the user has to pinch back out. */
  --t-input-min:16px;
}
