/* ── NickMate colour tokens ──────────────────────────────────────────────
   Warm-minimal palette. Terracotta accent, near-black ink with a slight cool
   undertone. :root = light theme; [data-theme="dark"] / .nm-dark = dark theme.
   Both sets are mirror-symmetric by role, so components only read var(--nm-*).
   Sphere-of-life colours are "dosed": a tiny dot per sphere, never a fill. */

:root {
  /* surfaces */
  --nm-bg:          #FFFFFF;
  --nm-bg-raised:   #F7F7F8;
  --nm-surface:     #FFFFFF;
  --nm-surface-2:   #F2F2F4;
  --nm-page:        #EDEAE4;   /* desk / behind-app backdrop */

  /* ink (text) */
  --nm-ink:         #11131A;
  --nm-ink-2:       #3A3D47;
  --nm-ink-3:       #7B7F8A;
  --nm-ink-4:       #B5B8C2;

  /* hairlines + hover wash */
  --nm-hairline:    rgba(17,19,26,0.08);
  --nm-hairline-2:  rgba(17,19,26,0.04);
  --nm-hover:       rgba(17,19,26,0.04);

  /* accent — terracotta */
  --nm-accent:        #C97B4A;
  --nm-accent-soft:   #F2DCC9;
  --nm-accent-ink:    #7A3F1E;
  --nm-accent-border: rgba(201,123,74,0.34);
  --nm-accent-hover:  #BC6E3F;   /* primary button :hover */
  --nm-accent-active: #A8602F;   /* primary button :active */
  --nm-accent-ring:   rgba(201,123,74,0.14);   /* focus ring */
  --nm-accent-2:      #D97757;   /* warm orange, secondary accent */
  --nm-accent-2-soft: #FAE8DD;

  /* user chat bubble */
  --nm-user-bubble:   #FBE6D5;

  /* semantic */
  --nm-success:        #6F8C5D;
  --nm-success-soft:   rgba(111,140,93,0.10);
  --nm-success-border: rgba(111,140,93,0.42);
  --nm-warm:           #B5996B;   /* amber muted */
  --nm-warm-soft:      rgba(181,153,107,0.08);
  --nm-warm-border:    rgba(181,153,107,0.42);
  --nm-cool:           #7B8F94;   /* muted slate */
  --nm-danger:         #C75D5D;
  --nm-danger-soft:    rgba(199,93,93,0.08);
  --nm-danger-border:  rgba(199,93,93,0.33);

  /* neutral chip */
  --nm-neutral-soft:   rgba(17,19,26,0.03);

  /* elevation */
  --nm-shadow-card:   0 1px 2px rgba(20,25,40,0.04), 0 8px 24px rgba(20,25,40,0.04);
  --nm-shadow-widget: 0 1px 2px rgba(20,25,40,0.03), 0 6px 18px rgba(20,25,40,0.04);
  --nm-shadow-pop:    0 16px 44px rgba(40,30,20,0.18);
  --nm-shadow-float:  0 10px 34px rgba(40,30,20,0.12);

  /* spheres of life — dot / uppercase tag bg / tag fg */
  --nm-sphere-work-dot:    oklch(0.58 0.07 28);
  --nm-sphere-work-bg:     oklch(0.88 0.10 28);
  --nm-sphere-work-fg:     oklch(0.38 0.16 28);
  --nm-sphere-self-dot:    oklch(0.58 0.07 200);
  --nm-sphere-self-bg:     oklch(0.88 0.10 200);
  --nm-sphere-self-fg:     oklch(0.38 0.16 200);
  --nm-sphere-family-dot:  oklch(0.58 0.07 350);
  --nm-sphere-family-bg:   oklch(0.88 0.10 350);
  --nm-sphere-family-fg:   oklch(0.38 0.16 350);
  --nm-sphere-health-dot:  oklch(0.58 0.07 140);
  --nm-sphere-health-bg:   oklch(0.88 0.10 140);
  --nm-sphere-health-fg:   oklch(0.38 0.16 140);
  --nm-sphere-money-dot:   oklch(0.58 0.07 80);
  --nm-sphere-money-bg:    oklch(0.88 0.10 80);
  --nm-sphere-money-fg:    oklch(0.38 0.16 80);
  --nm-sphere-home-dot:    oklch(0.58 0.07 250);
  --nm-sphere-home-bg:     oklch(0.88 0.10 250);
  --nm-sphere-home-fg:     oklch(0.38 0.16 250);
  --nm-sphere-rest-dot:    oklch(0.58 0.07 50);
  --nm-sphere-rest-bg:     oklch(0.88 0.10 50);
  --nm-sphere-rest-fg:     oklch(0.38 0.16 50);
}

[data-theme="dark"], .nm-dark {
  --nm-bg:          #16140F;
  --nm-bg-raised:   #1E1B16;
  --nm-surface:     #23201A;
  --nm-surface-2:   #2C2922;
  --nm-page:        #16140F;

  --nm-ink:         #EDE6DA;
  --nm-ink-2:       #C4BCAE;
  --nm-ink-3:       #8A8278;
  --nm-ink-4:       #5A5448;

  --nm-hairline:    rgba(237,230,218,0.08);
  --nm-hairline-2:  rgba(237,230,218,0.04);
  --nm-hover:       rgba(255,255,255,0.05);

  --nm-accent:        #D88959;
  --nm-accent-soft:   #3F2A1C;
  --nm-accent-ink:    #F2C7A6;
  --nm-accent-border: rgba(208,135,90,0.40);
  --nm-accent-hover:  #E0966A;
  --nm-accent-active: #C97B4A;
  --nm-accent-ring:   rgba(216,137,89,0.18);
  --nm-accent-2:      #E89372;
  --nm-accent-2-soft: #3A271E;

  --nm-user-bubble:   #3F2A1C;

  --nm-success:        #9DB689;
  --nm-success-soft:   rgba(157,182,137,0.14);
  --nm-success-border: rgba(157,182,137,0.42);
  --nm-warm:           #C4A87A;
  --nm-warm-soft:      rgba(196,168,122,0.12);
  --nm-warm-border:    rgba(196,168,122,0.42);
  --nm-cool:           #9AB0B5;
  --nm-danger:         #C75D5D;
  --nm-danger-soft:    rgba(199,93,93,0.14);
  --nm-danger-border:  rgba(199,93,93,0.33);

  --nm-neutral-soft:   rgba(255,255,255,0.04);

  --nm-shadow-card:   0 1px 2px rgba(0,0,0,0.2);
  --nm-shadow-widget: 0 1px 2px rgba(0,0,0,0.22);
  --nm-shadow-pop:    0 16px 44px rgba(0,0,0,0.55);
  --nm-shadow-float:  0 10px 34px rgba(0,0,0,0.4);

  --nm-sphere-work-dot:    oklch(0.62 0.07 28);
  --nm-sphere-work-bg:     oklch(0.32 0.09 28);
  --nm-sphere-work-fg:     oklch(0.88 0.12 28);
  --nm-sphere-self-dot:    oklch(0.62 0.07 200);
  --nm-sphere-self-bg:     oklch(0.32 0.09 200);
  --nm-sphere-self-fg:     oklch(0.88 0.12 200);
  --nm-sphere-family-dot:  oklch(0.62 0.07 350);
  --nm-sphere-family-bg:   oklch(0.32 0.09 350);
  --nm-sphere-family-fg:   oklch(0.88 0.12 350);
  --nm-sphere-health-dot:  oklch(0.62 0.07 140);
  --nm-sphere-health-bg:   oklch(0.32 0.09 140);
  --nm-sphere-health-fg:   oklch(0.88 0.12 140);
  --nm-sphere-money-dot:   oklch(0.62 0.07 80);
  --nm-sphere-money-bg:    oklch(0.32 0.09 80);
  --nm-sphere-money-fg:    oklch(0.88 0.12 80);
  --nm-sphere-home-dot:    oklch(0.62 0.07 250);
  --nm-sphere-home-bg:     oklch(0.32 0.09 250);
  --nm-sphere-home-fg:     oklch(0.88 0.12 250);
  --nm-sphere-rest-dot:    oklch(0.62 0.07 50);
  --nm-sphere-rest-bg:     oklch(0.32 0.09 50);
  --nm-sphere-rest-fg:     oklch(0.88 0.12 50);
}
