/* Katso — Color tokens
   Warm neutral "paper & stone" palette + one electric-blue accent.
   Base values first, semantic aliases below. */

:root {
  /* ---- Base neutrals (warm) ---- */
  --paper: #F4F1E9;      /* app background — warm off-white */
  --paper-raised: #FBF9F3;/* raised surface, slightly brighter */
  --stone-50:  #EFEBE1;
  --stone-100: #E4DFD2;
  --stone-200: #D6CFBE;
  --stone-300: #BFB7A3;
  --stone-400: #9E9581;
  --stone-500: #7C7566;
  --stone-600: #605A4E;
  --stone-700: #47433A;
  --stone-800: #302D27;
  --stone-900: #1C1A16;  /* warm near-black ink */

  --white: #FFFFFF;

  /* ---- Accent (electric blue) ---- */
  --blue-100: #E3ECFF;
  --blue-300: #8FB4FF;
  --blue-500: #1F6BFF;  /* primary accent — electric blue */
  --blue-600: #1454D6;
  --blue-700: #0E3EA0;

  /* ---- Signal (freshness lifecycle) ---- */
  --signal-fresh:    #4E8A4B;  /* fresh / good      (green) */
  --signal-soon:     #B4863C;  /* use soon          (ochre) */
  --signal-expired:  #A6512C;  /* past date         (rust)  */
  --signal-fresh-bg:   #E3EDDD;
  --signal-soon-bg:    #F0E4CC;
  --signal-expired-bg: #F0DDD1;

  /* ---- Semantic aliases ---- */
  --bg-app:        var(--paper);
  --bg-surface:    var(--paper-raised);
  --bg-sunken:     var(--stone-50);
  --bg-inverse:    var(--stone-900);

  --text-primary:   var(--stone-900);
  --text-secondary: var(--stone-600);
  --text-muted:     var(--stone-400);
  --text-inverse:   var(--paper);
  --text-accent:    var(--blue-600);

  --border-hairline: var(--stone-200);
  --border-strong:   var(--stone-300);
  --border-focus:    var(--blue-500);

  --accent:        var(--blue-500);
  --accent-hover:  var(--blue-600);
  --accent-press:  var(--blue-700);
  --accent-weak:   var(--blue-100);

  --field-bg:      var(--white);
  --field-border:  var(--stone-300);
  --overlay:       rgba(28, 26, 22, 0.45);
}
