/* ============================================================
   THE IVY REVIEW®: App design tokens
   These :root tokens are copied VERBATIM from the marketing
   site (styles.css) so the app matches the brand exactly:
   Oxford Navy scale, Paper, Brass single accent, Cormorant Garamond ×
   Inter, the same radius/motion vars. App-only tokens
   (nav height, z-scale for product chrome) are appended in a
   clearly marked block at the end.
   Two deliberate exceptions to "verbatim", both WCAG 2.2 AA
   fixes scoped to the app only (see inline comments below):
   --line is darkened from the marketing #DCE1E9, and --focus-ring
   is a new app-only token. Neither touches --brass/--navy-*, so
   the brand identity colors stay identical to the marketing site.
   ============================================================ */

:root{
  /* Color */
  --navy-950:#091A33;
  --navy-900:#0E2240;
  --navy-800:#12284B;
  --navy-700:#16335F;
  --navy-100:#E8EEF7;
  --navy-050:#F3F6FB;
  --paper:#FBFAF7;
  --white:#FFFFFF;
  --ink:#152238;
  --ink-soft:#41506B;
  --on-navy:#C9D5E7;          /* body text on navy: 9.2:1 on navy-900 */
  --on-navy-dim:#93A6C4;      /* captions on navy: 5.3:1 */
  --brass:#A5915F;
  --brass-deep:#75663F;       /* text-safe on paper: 5.0:1 */
  --brass-bright:#CDBE96;     /* text-safe on navy: 6.6:1 */
  --line:#84878C;             /* WCAG 1.4.11 fix: darkened from #DCE1E9 (was 1.2-1.3:1,
                                   failed as a component boundary). Now >=3:1 on every
                                   surface it borders: white 3.60:1, navy-050 3.33:1,
                                   paper 3.45:1. */
  --line-navy:rgba(201,213,231,.18);
  --focus-ring:#8D7C4F;       /* WCAG 2.4.7/1.4.11 focus-indicator fix: plain --brass is
                                   only 2.84:1 on navy-050 and 2.95:1 on paper (fails 3:1),
                                   the two surfaces most focusable controls sit on. This
                                   shade (between --brass and --brass-deep) clears 3:1 on
                                   every surface used app-wide: white 4.09, navy-050 3.78,
                                   paper 3.92, navy-900 3.88, navy-800 3.58, navy-100 3.51.
                                   Used only for focus rings so --brass stays untouched as
                                   the single accent everywhere else (pills, badges, icons). */
  --error:#B3341E;
  --success:#1E6B44;

  /* Type */
  --font-display:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-body:'Inter', -apple-system, 'Segoe UI', sans-serif;

  /* Rhythm */
  --radius:2px;
  --container:1160px;
  --section-y:clamp(4.5rem, 9vw, 8rem);

  /* Motion */
  --ease-out:cubic-bezier(.19,1,.22,1);       /* expo-out */
  --ease-swift:cubic-bezier(.22,1,.36,1);     /* quint-out */
  --dur-1:.18s; --dur-2:.45s; --dur-3:.9s;

  /* z-scale (marketing site) */
  --z-nav:100; --z-drawer:110;

  /* ---- App-only tokens (product chrome, not on the marketing site) ---- */
  --topbar-h:56px;          /* fixed top bar height */
  --nav-h:64px;             /* bottom tab bar height (phones) */
  --sidebar-w:248px;        /* left sidebar width (>720px) */
  --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);

  /* app radii: product surfaces are calmer than marketing, still not pill-round */
  --radius-card:8px;
  --radius-input:6px;

  /* app elevation (soft, low-contrast; never glassy) */
  --shadow-1:0 1px 2px rgba(9,26,51,.06), 0 1px 1px rgba(9,26,51,.04);
  --shadow-2:0 4px 16px rgba(9,26,51,.10);
  --shadow-pop:0 8px 28px rgba(9,26,51,.16);

  /* app z-scale for overlays */
  --z-topbar:200;
  --z-appnav:200;
  --z-dropdown:400;
  --z-modal:600;
  --z-toast:800;
}
