/* Web Awesome alias bridge — widget-internal infrastructure. */
.sl-theme-light > .loki {
  /* Surface tokens */
  --wa-color-surface-default:  var(--basic-50, var(--basic-100));
  --wa-color-surface-raised:   var(--basic-100);
  --wa-color-surface-lowered:  var(--basic-0, #ffffff);
  --wa-color-surface-border:   var(--basic-300);

  /* Text tokens */
  --wa-color-text-normal: var(--basic-900);
  --wa-color-text-quiet:  var(--basic-600);
  --wa-color-text-muted:   var(--basic-500);

  /* Brand semantic */
  --wa-color-brand-fill-quiet:    var(--primary-50, var(--primary-100));
  --wa-color-brand-fill-normal:   var(--primary-100);
  --wa-color-brand-fill-loud:     var(--primary-500);
  --wa-color-brand-border-quiet:  var(--primary-100);
  --wa-color-brand-border-normal: var(--primary-200);
  --wa-color-brand-border-loud:   var(--primary-400);
  --wa-color-brand-on-quiet:      var(--primary-600);
  --wa-color-brand-on-normal:     var(--primary-700);
  --wa-color-brand-on-loud:       var(--basic-0, #ffffff);

  /* Success semantic */
  --wa-color-success-fill-quiet:    var(--success-50, var(--success-100));
  --wa-color-success-fill-normal:   var(--success-100);
  --wa-color-success-fill-loud:     var(--success-500);
  --wa-color-success-border-quiet:  var(--success-100);
  --wa-color-success-border-normal: var(--success-200);
  --wa-color-success-border-loud:   var(--success-400);
  --wa-color-success-on-quiet:      var(--success-600);
  --wa-color-success-on-normal:     var(--success-700);
  --wa-color-success-on-loud:       var(--basic-0, #ffffff);

  /* Warning semantic */
  --wa-color-warning-fill-quiet:    var(--accent-50, var(--accent-100));
  --wa-color-warning-fill-normal:   var(--accent-100);
  --wa-color-warning-fill-loud:     var(--accent-500);
  --wa-color-warning-border-quiet:  var(--accent-100);
  --wa-color-warning-border-normal: var(--accent-200);
  --wa-color-warning-border-loud:   var(--accent-400);
  --wa-color-warning-on-quiet:      var(--accent-600);
  --wa-color-warning-on-normal:     var(--accent-700);
  --wa-color-warning-on-loud:       var(--basic-0, #ffffff);

  /* Danger semantic */
  --wa-color-danger-fill-quiet:    var(--danger-50, var(--danger-100));
  --wa-color-danger-fill-normal:   var(--danger-100);
  --wa-color-danger-fill-loud:     var(--danger-500);
  --wa-color-danger-border-quiet:  var(--danger-100);
  --wa-color-danger-border-normal: var(--danger-200);
  --wa-color-danger-border-loud:   var(--danger-400);
  --wa-color-danger-on-quiet:      var(--danger-600);
  --wa-color-danger-on-normal:     var(--danger-700);
  --wa-color-danger-on-loud:       var(--basic-0, #ffffff);
}

/* ─── Dark mode semantic overrides ───────────────────────────────────────── */
.sl-theme-dark > .loki {
  /* Surface tokens */
  --wa-color-surface-default:  var(--basic-950, var(--basic-900));
  --wa-color-surface-raised:   var(--basic-800);
  --wa-color-surface-lowered:  var(--basic-1000, #000000);
  --wa-color-surface-border:   var(--basic-700);

  /* Text tokens */
  --wa-color-text-normal: var(--basic-100);
  --wa-color-text-quiet:  var(--basic-400);
  --wa-color-text-muted:   var(--basic-500);

  /* Brand semantic */
  --wa-color-brand-fill-quiet:    var(--primary-900);
  --wa-color-brand-fill-normal:   var(--primary-800);
  --wa-color-brand-fill-loud:     var(--primary-500);
  --wa-color-brand-border-quiet:  var(--primary-800);
  --wa-color-brand-border-normal: var(--primary-700);
  --wa-color-brand-border-loud:   var(--primary-600);
  --wa-color-brand-on-quiet:      var(--primary-400);
  --wa-color-brand-on-normal:     var(--primary-300);
  --wa-color-brand-on-loud:       var(--primary-950, var(--primary-900));

  /* Success semantic */
  --wa-color-success-fill-quiet:    var(--success-900);
  --wa-color-success-fill-normal:   var(--success-800);
  --wa-color-success-fill-loud:     var(--success-500);
  --wa-color-success-border-quiet:  var(--success-800);
  --wa-color-success-border-normal: var(--success-700);
  --wa-color-success-border-loud:   var(--success-600);
  --wa-color-success-on-quiet:      var(--success-400);
  --wa-color-success-on-normal:     var(--success-300);
  --wa-color-success-on-loud:       var(--success-950, var(--success-900));

  /* Warning semantic */
  --wa-color-warning-fill-quiet:    var(--accent-900);
  --wa-color-warning-fill-normal:   var(--accent-800);
  --wa-color-warning-fill-loud:     var(--accent-500);
  --wa-color-warning-border-quiet:  var(--accent-800);
  --wa-color-warning-border-normal: var(--accent-700);
  --wa-color-warning-border-loud:   var(--accent-600);
  --wa-color-warning-on-quiet:      var(--accent-400);
  --wa-color-warning-on-normal:     var(--accent-300);
  --wa-color-warning-on-loud:       var(--accent-950, var(--accent-900));

  /* Danger semantic */
  --wa-color-danger-fill-quiet:    var(--danger-900);
  --wa-color-danger-fill-normal:   var(--danger-800);
  --wa-color-danger-fill-loud:     var(--danger-500);
  --wa-color-danger-border-quiet:  var(--danger-800);
  --wa-color-danger-border-normal: var(--danger-700);
  --wa-color-danger-border-loud:   var(--danger-600);
  --wa-color-danger-on-quiet:      var(--danger-400);
  --wa-color-danger-on-normal:     var(--danger-300);
  --wa-color-danger-on-loud:       var(--danger-950, var(--danger-900));

  /* Secondary semantic */
  --wa-color-secondary-fill-quiet:  var(--secondary-900);
  --wa-color-secondary-fill-normal: var(--secondary-800);
  --wa-color-secondary-fill-loud:   var(--secondary-500);
  --wa-color-secondary-border-quiet:  var(--secondary-800);
  --wa-color-secondary-border-normal: var(--secondary-700);
  --wa-color-secondary-border-loud:   var(--secondary-600);
  --wa-color-secondary-on-quiet:    var(--secondary-400);
  --wa-color-secondary-on-normal:   var(--secondary-300);
  --wa-color-secondary-on-loud:     var(--secondary-950, var(--secondary-900));
}