/* Avelune canonical brand and UI tokens — v1.0.0 */
:root{
  color-scheme:light;

  /* Locked brand palette. Do not introduce near-match replacements. */
  --avelune-blue:#081A2F;
  --avelune-gold:#CBA255;
  --avelune-ivory:#F3EBDD;
  --avelune-sage:#7F907A;
  --avelune-cream:#E8D8BE;
  --avelune-dark-navy:#273037;
  --avelune-blue-rgb:8 26 47;
  --avelune-gold-rgb:203 162 85;
  --avelune-ivory-rgb:243 235 221;

  /* Semantic surfaces. */
  --avelune-surface-primary:var(--avelune-ivory);
  --avelune-surface-secondary:var(--avelune-cream);
  --avelune-surface-card:#FBF7EF;
  --avelune-surface-elevated:#FFFCF7;
  --avelune-surface-dark:var(--avelune-blue);
  --avelune-surface-overlay:rgb(var(--avelune-blue-rgb)/.68);
  --avelune-surface-modal:var(--avelune-surface-elevated);
  --avelune-surface-menu:var(--avelune-ivory);

  /* Semantic text. Gold is not body text on light surfaces. */
  --avelune-text-primary:var(--avelune-blue);
  --avelune-text-secondary:var(--avelune-dark-navy);
  --avelune-text-muted:#626B6D;
  --avelune-text-inverse:var(--avelune-ivory);
  --avelune-text-accent:#76551F;
  --avelune-text-disabled:#777D7B;

  /* Borders and focus. */
  --avelune-border-standard:rgb(var(--avelune-blue-rgb)/.18);
  --avelune-border-subtle:rgb(var(--avelune-blue-rgb)/.10);
  --avelune-border-strong:rgb(var(--avelune-blue-rgb)/.34);
  --avelune-border-accent:var(--avelune-gold);
  --avelune-border-focus:var(--avelune-gold);

  /* Interaction roles. */
  --avelune-action-primary-bg:var(--avelune-blue);
  --avelune-action-primary-text:var(--avelune-ivory);
  --avelune-action-secondary-bg:var(--avelune-ivory);
  --avelune-action-secondary-text:var(--avelune-blue);
  --avelune-action-hover-bg:var(--avelune-dark-navy);
  --avelune-action-pressed-bg:var(--avelune-dark-navy);
  --avelune-action-selected-bg:var(--avelune-blue);
  --avelune-action-selected-text:var(--avelune-ivory);
  --avelune-action-focus:var(--avelune-gold);
  --avelune-action-disabled-bg:var(--avelune-cream);
  --avelune-action-disabled-text:var(--avelune-text-disabled);
  --avelune-action-loading-bg:var(--avelune-blue);

  /* Semantic status colors remain distinct from the brand palette. */
  --avelune-status-success:#3F6C5B;
  --avelune-status-warning:#7A5815;
  --avelune-status-error:#8B392B;
  --avelune-status-destructive:#8B392B;
  --avelune-status-info:#315C73;
  --avelune-status-success-surface:#E8F0EB;
  --avelune-status-warning-surface:#F8E9C7;
  --avelune-status-error-surface:#F6E3DE;
  --avelune-status-info-surface:#E4EDF2;

  /* Typography preserves the approved system/local font treatment. */
  --avelune-font-display:Georgia,"Times New Roman",serif;
  --avelune-font-ui:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --avelune-type-display-family:var(--avelune-font-display);
  --avelune-type-heading-family:var(--avelune-font-display);
  --avelune-type-subheading-family:var(--avelune-font-ui);
  --avelune-type-body-family:var(--avelune-font-ui);
  --avelune-type-label-family:var(--avelune-font-ui);
  --avelune-type-button-family:var(--avelune-font-ui);
  --avelune-type-caption-family:var(--avelune-font-ui);
  --avelune-type-metadata-family:var(--avelune-font-ui);
  --avelune-weight-regular:400;
  --avelune-weight-medium:500;
  --avelune-weight-semibold:600;
  --avelune-weight-bold:700;
  --avelune-weight-heavy:800;

  /* Shape, spacing, elevation, motion and stacking. */
  --avelune-space-1:4px;
  --avelune-space-2:8px;
  --avelune-space-3:12px;
  --avelune-space-4:16px;
  --avelune-space-5:20px;
  --avelune-space-6:24px;
  --avelune-space-8:32px;
  --avelune-space-10:40px;
  --avelune-space-12:48px;
  --avelune-radius-sm:11px;
  --avelune-radius-control:12px;
  --avelune-radius-md:18px;
  --avelune-radius-card:18px;
  --avelune-radius-feature:22px;
  --avelune-radius-lg:26px;
  --avelune-radius-modal:24px;
  --avelune-radius-pill:999px;
  --avelune-shadow-soft:0 10px 28px rgb(var(--avelune-blue-rgb)/.08);
  --avelune-shadow-card:0 20px 52px rgb(var(--avelune-blue-rgb)/.14);
  --avelune-shadow-modal:0 34px 90px rgb(var(--avelune-blue-rgb)/.28);
  --avelune-shadow-float:0 18px 44px rgb(var(--avelune-blue-rgb)/.11);
  --avelune-motion-fast:140ms;
  --avelune-motion:220ms;
  --avelune-motion-slow:320ms;
  --avelune-ease:cubic-bezier(.2,.7,.2,1);
  --avelune-z-sticky:20;
  --avelune-z-menu:40;
  --avelune-z-overlay:60;
  --avelune-z-modal:80;
  --avelune-z-toast:100;

  /* Compatibility aliases. New UI must use the semantic tokens above. */
  --avelune-midnight:var(--avelune-blue);
  --avelune-navy:var(--avelune-blue);
  --avelune-navy-soft:var(--avelune-dark-navy);
  --avelune-navy-raised:var(--avelune-dark-navy);
  --avelune-gold-deep:var(--avelune-text-accent);
  --avelune-gold-light:var(--avelune-cream);
  --avelune-ivory-raised:var(--avelune-surface-elevated);
  --avelune-text:var(--avelune-text-primary);
  --avelune-muted:var(--avelune-text-muted);
  --avelune-line:var(--avelune-border-standard);
  --avelune-line-warm:rgb(var(--avelune-gold-rgb)/.28);
  --avelune-serif:var(--avelune-font-display);
  --avelune-sans:var(--avelune-font-ui);
}
