/* Mosquet — color system
   Tinta (ink), Hueso (bone), Óxido (rust). Sober, two-tone with a single rust accent. */
:root {
  /* ---- Brand primitives ---- */
  --ink:            #16181D;  /* tinta — dark text / dark surfaces */
  --bone:           #FBF9F4;  /* hueso — light text / light surfaces */
  --rust:           #B8432B;  /* óxido base — accent on light bg */
  --rust-light:     #C9573F;  /* óxido claro — accent on dark bg */

  /* Ink ramp (cool near-blacks, derived from tinta) */
  --ink-900:        #16181D;
  --ink-800:        #1E2129;
  --ink-700:        #2A2E38;
  --ink-600:        #3A3F4B;
  --ink-500:        #565C6B;
  --ink-400:        #767D8C;
  --ink-300:        #9DA3AF;

  /* Bone ramp (warm off-whites, derived from hueso) */
  --bone-50:        #FFFFFF;
  --bone-100:       #FBF9F4;
  --bone-200:       #F3F0E8;
  --bone-300:       #E7E2D6;
  --bone-400:       #D6CFBE;
  --bone-500:       #B8B1A0;

  /* Rust ramp */
  --rust-700:       #8F3320;
  --rust-600:       #B8432B;
  --rust-500:       #C9573F;
  --rust-300:       #E39A88;
  --rust-100:       #F4E0DA;

  /* Semantic (kept minimal & sober; rust does most of the work) */
  --signal-ok:      #4C7A5B;
  --signal-warn:    #B8843A;
  --signal-err:     #B8432B;

  /* ---- Semantic aliases: light context (default) ---- */
  --surface-page:     var(--bone-100);
  --surface-card:     var(--bone-50);
  --surface-sunken:   var(--bone-200);
  --surface-inverse:  var(--ink-900);

  --text-strong:      var(--ink-900);
  --text-body:        var(--ink-800);
  --text-muted:       var(--ink-500);
  --text-faint:       var(--ink-400);
  --text-inverse:     var(--bone-100);

  --accent:           var(--rust-600);
  --accent-hover:     var(--rust-700);
  --accent-contrast:  var(--bone-100);

  --border-hairline:  var(--ink-900);   /* used at low opacity via border tokens */
  --border-subtle:    rgba(22, 24, 29, 0.12);
  --border-strong:    rgba(22, 24, 29, 0.28);
  --border-accent:    var(--rust-600);

  --focus-ring:       var(--rust-600);
  --selection-bg:     rgba(184, 67, 43, 0.18);
}

/* ---- Dark context: apply on any container ---- */
.on-ink,
[data-theme="ink"] {
  --surface-page:     var(--ink-900);
  --surface-card:     var(--ink-800);
  --surface-sunken:   var(--ink-700);
  --surface-inverse:  var(--bone-100);

  --text-strong:      var(--bone-100);
  --text-body:        var(--bone-200);
  --text-muted:       var(--ink-300);
  --text-faint:       var(--ink-400);
  --text-inverse:     var(--ink-900);

  --accent:           var(--rust-500);
  --accent-hover:     var(--rust-300);
  --accent-contrast:  var(--bone-100);

  --border-subtle:    rgba(251, 249, 244, 0.14);
  --border-strong:    rgba(251, 249, 244, 0.30);
  --border-accent:    var(--rust-500);

  --focus-ring:       var(--rust-500);
  --selection-bg:     rgba(201, 87, 63, 0.28);
}
