/* JYFV Precision Industrial System — color source of truth */
:root:not([data-jy-theme]),
:root[data-jy-theme="precision"]{
  color-scheme:light;
  --jy-surface-page:#f6f5f3;
  --jy-surface-card:#ffffff;
  --jy-surface-soft:#eef1f3;
  --jy-surface-elevated:rgb(255 255 255 / 96%);
  --jy-surface-dark:#0f1b26;
  --jy-surface-dark-deep:#08131c;
  --jy-surface-dark-raised:#172838;
  --jy-text-primary:#101820;
  --jy-text-secondary:#4f5b66;
  --jy-text-tertiary:#5f6974;
  --jy-text-muted:#77828c;
  --jy-text-inverse:#ffffff;
  --jy-text-inverse-muted:#aeb8c1;
  --jy-text-link:#11579f;
  --jy-action-primary:#d71920;
  --jy-action-primary-hover:#b9141b;
  --jy-action-primary-active:#970f15;
  --jy-action-soft:#fce8ea;
  --jy-action-on-primary:#ffffff;
  --jy-technical-primary:#11579f;
  --jy-technical-hover:#0c447d;
  --jy-technical-soft:#eaf3fa;
  --jy-technical-data:#3978ae;
  --jy-engineering-primary:#e56a54;
  --jy-engineering-soft:#fce2da;
  --jy-engineering-blueprint:#8ea5b7;
  --jy-engineering-steel:#aeb8c1;
  --jy-border-default:#d9dee3;
  --jy-border-strong:#aeb8c1;
  --jy-border-dark:#243a4c;
  --jy-border-inverse:rgb(255 255 255 / 45%);
  --jy-border-inverse-soft:rgb(255 255 255 / 12%);
  --jy-overlay-nav:rgb(8 19 28 / 28%);
  --jy-overlay-glass:rgb(8 19 28 / 48%);
  --jy-overlay-media-neutral:#000000;
  --jy-overlay-hero:linear-gradient(90deg,rgb(8 19 28 / 96%) 0%,rgb(8 19 28 / 86%) 38%,rgb(8 19 28 / 34%) 72%,rgb(8 19 28 / 58%) 100%);
  --jy-gradient-cta:radial-gradient(circle at 88% 100%,#fce2da 0%,#f6f5f3 42%,#ffffff 78%);
  --jy-gradient-footer:linear-gradient(135deg,#0b1620 0%,#0f1b26 55%,#10283a 100%);
  --jy-gradient-footer-mobile:linear-gradient(180deg,#ffffff 18%,#d71920 35%,#0f1b26 82%);
  --jy-focus-ring:#11579f;
  --jy-status-success:#177a55;
  --jy-status-warning:#a86400;
  --jy-status-error:#c72a32;
  --jy-status-info:#11579f;
  --jy-shadow-soft:0 12px 38px rgb(15 27 38 / 10%);
  --jy-shadow-float:0 18px 45px rgb(15 27 38 / 14%);
  --jy-shadow-glass:0 18px 46px rgb(8 19 28 / 18%);

  /* Compatibility aliases. Components migrate to semantic roles incrementally. */
  --jy-color-orange-500:var(--jy-action-primary);
  --jy-color-orange-600:var(--jy-action-primary-hover);
  --jy-color-orange-100:var(--jy-action-soft);
  --jy-color-orange-300:var(--jy-engineering-primary);
  --jy-color-orange-a10:rgb(215 25 32 / 10%);
  --jy-color-orange-a22:rgb(215 25 32 / 22%);
  --jy-color-cream-50:var(--jy-engineering-soft);
  --jy-color-ink-950:var(--jy-text-primary);
  --jy-color-ink-700:var(--jy-text-secondary);
  --jy-color-ink-500:var(--jy-text-muted);
  --jy-color-paper-50:var(--jy-surface-page);
  --jy-color-paper-100:var(--jy-surface-soft);
  --jy-color-paper-a0:rgb(238 241 243 / 0%);
  --jy-color-white:var(--jy-surface-card);
  --jy-color-white-a96:rgb(255 255 255 / 96%);
  --jy-color-white-a82:rgb(255 255 255 / 82%);
  --jy-color-white-a70:rgb(255 255 255 / 70%);
  --jy-color-white-a20:rgb(255 255 255 / 20%);
  --jy-color-white-a12:rgb(255 255 255 / 12%);
  --jy-color-ink-a04:rgb(16 24 32 / 4%);
  --jy-color-ink-a10:rgb(16 24 32 / 10%);
  --jy-color-ink-a14:rgb(16 24 32 / 14%);
  --jy-color-ink-a18:rgb(16 24 32 / 18%);
  --jy-color-ink-a36:rgb(16 24 32 / 36%);
  --jy-color-ink-a48:rgb(16 24 32 / 48%);
  --jy-color-ink-a60:rgb(8 19 28 / 60%);
  --jy-color-ink-a68:rgb(16 24 32 / 68%);
  --jy-color-brand-blue-500:var(--jy-technical-primary);
  --jy-color-brand-blue-600:var(--jy-technical-hover);
  --jy-color-brand-blue-100:var(--jy-technical-soft);
  --jy-color-coral-500:var(--jy-engineering-primary);
  --jy-color-coral-100:var(--jy-engineering-soft);
  --jy-color-coral-a10:rgb(229 106 84 / 10%);
  --jy-color-coral-a22:rgb(229 106 84 / 22%);
  --jy-color-navy-950:var(--jy-surface-dark-deep);
  --jy-color-navy-900:var(--jy-surface-dark);
  --jy-color-navy-800:var(--jy-surface-dark-raised);
  --jy-color-navy-600:#385064;

  /* Playbook aliases consume the same contract; they are not a third theme. */
  --jyp-brand-blue:var(--jy-technical-primary);
  --jyp-brand-blue-dark:var(--jy-technical-hover);
  --jyp-brand-blue-light:var(--jy-technical-soft);
  --jyp-brand-red:var(--jy-action-primary);
  --jyp-brand-red-hover:var(--jy-action-primary-hover);
  --jyp-brand-red-active:var(--jy-action-primary-active);
  --jyp-brand-red-light:var(--jy-action-soft);
  --jyp-technical-coral:var(--jy-engineering-primary);
  --jyp-technical-coral-light:var(--jy-engineering-soft);
  --jyp-blueprint-blue:var(--jy-engineering-blueprint);
  --jyp-steel-gray:var(--jy-engineering-steel);
  --jyp-data-blue:var(--jy-technical-data);
  --jyp-navy-950:var(--jy-surface-dark-deep);
  --jyp-navy-900:var(--jy-surface-dark);
  --jyp-navy-800:var(--jy-surface-dark-raised);
  --jyp-navy-700:var(--jy-border-dark);
  --jyp-navy-600:#385064;
  --jyp-neutral-000:var(--jy-surface-card);
  --jyp-neutral-050:var(--jy-surface-page);
  --jyp-neutral-100:var(--jy-surface-soft);
  --jyp-neutral-200:var(--jy-border-default);
  --jyp-neutral-300:var(--jy-border-strong);
  --jyp-neutral-500:var(--jy-text-muted);
  --jyp-neutral-600:var(--jy-text-tertiary);
  --jyp-neutral-700:var(--jy-text-secondary);
  --jyp-neutral-900:var(--jy-text-primary);
  --jyp-success:var(--jy-status-success);
  --jyp-warning:var(--jy-status-warning);
  --jyp-error:var(--jy-status-error);
  --jyp-shadow:var(--jy-shadow-soft);
}
