/* ── SARI design tokens ──────────────────────────────────────────────────
   Warm paper, deep forest green, and one colour per balance bucket.
   Every component reads these; nothing else hard-codes a colour.
   See docs/DESIGN_SYSTEM.md. */

@font-face {
  font-family: 'Jakarta';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url('/fonts/jakarta/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2-variations');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Jakarta';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url('/fonts/jakarta/plus-jakarta-sans-latin-ext-wght-normal.woff2') format('woff2-variations');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bricolage';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url('/fonts/bricolage/bricolage-grotesque-latin-wght-normal.woff2') format('woff2-variations');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  color-scheme: light;
  --bg:            #f6f2ec;
  --bg-deep:       #efe8de;
  --surface:       #ffffff;
  --surface-2:     #f3eee7;
  --surface-3:     #e9e1d6;
  --ink:           #1f1b17;
  --ink-2:         #5b5249;
  --ink-3:         #8a8075;
  --line:          #e5ddd2;
  --line-strong:   #d4c9bb;

  --primary:       #1f4d3f;
  --primary-hover: #173d32;
  --primary-ink:   #ffffff;
  --primary-soft:  #dde9e2;
  --accent:        #e8894a;
  --accent-soft:   #fbe6d6;

  --physical:      #d9712f;
  --physical-soft: #fbe4d3;
  --mental:        #6f5ee8;
  --mental-soft:   #e8e4fd;
  --training:      #2a7a57;
  --training-soft: #d9ede3;
  --calm:          #3f84a0;
  --calm-soft:     #dbeaf1;

  --success:       #2a7a57;
  --warning:       #a86a12;
  --warning-soft:  #fbefd9;
  --danger:        #b83a2e;
  --danger-soft:   #f8e1dd;

  --shadow-sm: 0 1px 2px rgba(49, 36, 22, 0.06), 0 1px 1px rgba(49, 36, 22, 0.04);
  --shadow:    0 1px 2px rgba(49, 36, 22, 0.05), 0 8px 24px -8px rgba(49, 36, 22, 0.14);
  --shadow-lg: 0 24px 48px -16px rgba(49, 36, 22, 0.28);

  --font-ui: 'Jakarta', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-display: 'Bricolage', 'Jakarta', ui-sans-serif, system-ui, sans-serif;
  --font-num: 'Bricolage', 'Jakarta', ui-sans-serif, system-ui, sans-serif;

  --radius-xs: 8px;
  --radius-sm: 12px;
  --radius:    18px;
  --radius-lg: 26px;
  --radius-pill: 999px;

  --tap: 48px;
  --gutter: 16px;
  --nav-h: 68px;
  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --bg:            #15120f;
    --bg-deep:       #110e0c;
    --surface:       #1e1a16;
    --surface-2:     #26211c;
    --surface-3:     #312a23;
    --ink:           #f4eee7;
    --ink-2:         #c2b8ac;
    --ink-3:         #908578;
    --line:          #342d26;
    --line-strong:   #463d34;
    --primary:       #86c9aa;
    --primary-hover: #9dd6bb;
    --primary-ink:   #0f211a;
    --primary-soft:  #1f3a30;
    --accent:        #f0a06a;
    --accent-soft:   #3a2718;
    --physical:      #f0955a;
    --physical-soft: #3b2616;
    --mental:        #a497ff;
    --mental-soft:   #2a2548;
    --training:      #6cc497;
    --training-soft: #1b3428;
    --calm:          #74b6d1;
    --calm-soft:     #183039;
    --success:       #6cc497;
    --warning:       #e0a64a;
    --warning-soft:  #3a2c14;
    --danger:        #f08a7e;
    --danger-soft:   #3d1f1b;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow:    0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 24px -8px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 24px 48px -16px rgba(0, 0, 0, 0.6);
  }
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg:            #15120f;
  --bg-deep:       #110e0c;
  --surface:       #1e1a16;
  --surface-2:     #26211c;
  --surface-3:     #312a23;
  --ink:           #f4eee7;
  --ink-2:         #c2b8ac;
  --ink-3:         #908578;
  --line:          #342d26;
  --line-strong:   #463d34;
  --primary:       #86c9aa;
  --primary-hover: #9dd6bb;
  --primary-ink:   #0f211a;
  --primary-soft:  #1f3a30;
  --accent:        #f0a06a;
  --accent-soft:   #3a2718;
  --physical:      #f0955a;
  --physical-soft: #3b2616;
  --mental:        #a497ff;
  --mental-soft:   #2a2548;
  --training:      #6cc497;
  --training-soft: #1b3428;
  --calm:          #74b6d1;
  --calm-soft:     #183039;
  --success:       #6cc497;
  --warning:       #e0a64a;
  --warning-soft:  #3a2c14;
  --danger:        #f08a7e;
  --danger-soft:   #3d1f1b;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow:    0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 24px -8px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 24px 48px -16px rgba(0, 0, 0, 0.6);
}
