/* Generated by tools/brand_assets.py. Do not edit by hand.
 *
 * The gold ramp is measured from the canonical artwork in brand/: 500 is the
 * median of every opaque gold pixel in the glyph, 300 its specular highlight and
 * 700 its shaded edge. The charcoal and bone scales are chosen neutrals -- the
 * artwork is transparent and carries no surface colour. Contrast ratios are
 * computed, not estimated, and asserted in tests/test_brand.py.
 */
:root {
  /* Brand gold, from the logo. 500 is the measured median. */
  --sz-gold-200: #FAE8AC;
  --sz-gold-300: #F5D569;   /* measured specular highlight */
  --sz-gold-400: #EAC257;
  --sz-gold-500: #DFAE45;   /* THE brand gold */
  --sz-gold-600: #C89234;
  --sz-gold-700: #B17522;   /* measured shaded edge */
  --sz-gold-800: #9B661E;

  /* Charcoal. */
  --sz-ink-900: #141414;
  --sz-ink-800: #1D1D1D;
  --sz-ink-700: #262626;
  --sz-ink-600: #333333;
  --sz-ink-500: #4A4A4A;

  --sz-bone-50:  #FFFFFF;
  --sz-bone-100: #FAF9F7;
  --sz-bone-200: #F0EDE8;
  --sz-bone-300: #DDD8D0;

  /* Semantic, light theme (default). */
  --sz-surface:         var(--sz-bone-100);
  --sz-surface-raised:  var(--sz-bone-50);
  --sz-surface-sunken:  var(--sz-bone-200);
  --sz-border:          var(--sz-bone-300);
  --sz-text:            var(--sz-ink-800);   /* 16.02:1 on surface */
  --sz-text-muted:      #57534E;             /*  7.25:1 on surface */
  --sz-accent:          var(--sz-gold-500);  /* fills and borders ONLY */
  --sz-accent-text:     var(--sz-gold-800);  /*  4.63:1 on surface */
  --sz-on-accent:       var(--sz-ink-900);   /*  9.02:1 on gold-500 */
  --sz-focus:           var(--sz-gold-700);  /*  3.67:1 on surface */
  /* A value the machine wrote at render time, not a translator. Aliased to
     --sz-accent-text so it inherits that pairing's asserted contrast rather
     than introducing a second gold nobody measured. */
  --sz-value-live:      var(--sz-accent-text);
}

:root[data-theme="dark"] {
  --sz-surface:         var(--sz-ink-900);
  --sz-surface-raised:  var(--sz-ink-800);
  --sz-surface-sunken:  #0D0D0D;
  --sz-border:          var(--sz-ink-600);
  --sz-text:            #F5F3EF;             /* 16.62:1 on surface */
  --sz-text-muted:      #A8A29A;             /*  7.28:1 on surface */
  --sz-accent:          var(--sz-gold-500);  /*  9.02:1 on surface */
  --sz-accent-text:     var(--sz-gold-400);  /* 10.84:1 on surface */
  --sz-on-accent:       var(--sz-ink-900);
  --sz-focus:           var(--sz-gold-300);
  --sz-value-live:      var(--sz-accent-text);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --sz-surface:         var(--sz-ink-900);
    --sz-surface-raised:  var(--sz-ink-800);
    --sz-surface-sunken:  #0D0D0D;
    --sz-border:          var(--sz-ink-600);
    --sz-text:            #F5F3EF;
    --sz-text-muted:      #A8A29A;
    --sz-accent:          var(--sz-gold-500);
    --sz-accent-text:     var(--sz-gold-400);
    --sz-on-accent:       var(--sz-ink-900);
    --sz-focus:           var(--sz-gold-300);
    --sz-value-live:      var(--sz-accent-text);
  }
}
