/* Lunexa Pharma — shared design tokens for every route. */
:root {
  color-scheme: dark;

  /* Brand and typography */
  --lx-brand-acid: #adff00;
  --lx-brand-acid-hover: #bdff35;
  --lx-brand-acid-active: #97df00;
  --lx-mineral-black: #0b0b0d;
  --lx-warm-white: #f2efe6;
  --lx-font-heading: "Sora", sans-serif;
  --lx-font-body: "Montserrat", sans-serif;
  --lx-font-data: "JetBrains Mono", monospace;
  --lx-font-data-weight: 500;
  --lx-type-display: clamp(2.25rem, 6vw, 4.5rem);
  --lx-type-h1: clamp(2rem, 5vw, 3.5rem);
  --lx-type-h2: clamp(1.875rem, 4vw, 2.75rem);
  --lx-type-h3: clamp(1.25rem, 2.5vw, 1.75rem);
  --lx-type-body-lg: clamp(1rem, 1.4vw, 1.125rem);
  --lx-type-body: 0.9375rem;
  --lx-type-body-sm: 0.8125rem;
  --lx-type-label: 0.75rem;
  --lx-type-caption: 0.6875rem;
  --lx-type-micro: 0.625rem;
  --lx-leading-display: 1.06;
  --lx-leading-heading: 1.18;
  --lx-leading-body: 1.65;
  --lx-tracking-tight: -0.04em;
  --lx-tracking-label: 0.11em;

  /* 4px spacing scale */
  --lx-space-1: 0.25rem;
  --lx-space-2: 0.5rem;
  --lx-space-3: 0.75rem;
  --lx-space-4: 1rem;
  --lx-space-5: 1.25rem;
  --lx-space-6: 1.5rem;
  --lx-space-7: 2rem;
  --lx-space-8: 2.5rem;
  --lx-space-9: 3rem;
  --lx-space-10: 4rem;
  --lx-space-11: 5rem;
  --lx-space-12: 6rem;
  --lx-space-13: 8rem;

  /* Shape, controls and layout */
  --lx-radius-xs: 8px;
  --lx-radius-sm: 12px;
  --lx-radius-md: 16px;
  --lx-radius-compact: 18px;
  --lx-radius-lg: 22px;
  --lx-radius-xl: 28px;
  --lx-radius-2xl: 36px;
  --lx-radius-section: clamp(28px, 5vw, 56px);
  --lx-radius-pill: 999px;
  --lx-touch-min: 44px;
  --lx-control-height: 48px;
  --lx-control-emphasis: 52px;
  --lx-icon-md: 21px;
  --lx-content-max: 1280px;
  --lx-gutter: 20px;
  --lx-section-space: clamp(72px, 8vw, 104px);
  --lx-safe-top: env(safe-area-inset-top, 0px);
  --lx-safe-right: env(safe-area-inset-right, 0px);
  --lx-safe-bottom: env(safe-area-inset-bottom, 0px);
  --lx-safe-left: env(safe-area-inset-left, 0px);
  --lx-page-gutter-right: max(var(--lx-gutter), var(--lx-safe-right));
  --lx-page-gutter-left: max(var(--lx-gutter), var(--lx-safe-left));
  --lx-header-height: 64px;
  --lx-header-offset: calc(var(--lx-header-height) + var(--lx-safe-top));

  /* Motion */
  --lx-motion-fast: 120ms;
  --lx-motion-base: 180ms;
  --lx-motion-panel: 240ms;
  --lx-motion-reveal: 360ms;
  --lx-duration-fast: var(--lx-motion-fast);
  --lx-duration-normal: var(--lx-motion-base);
  --lx-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --lx-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --lx-ease-in: cubic-bezier(0.4, 0, 1, 1);

  /* Global layer scale; local decorative layers stay in the 1–4 range. */
  --lx-z-sticky: 24;
  --lx-z-header: 80;
  --lx-z-nav-overlay: 95;
  --lx-z-nav: 100;
  --lx-z-cart-overlay: 105;
  --lx-z-cart: 110;
  --lx-z-skip: 200;

  /* Dark theme */
  --lx-canvas: #0b0b0d;
  --lx-canvas-subtle: #101214;
  --lx-surface-1: #15181a;
  --lx-surface-2: #1b1f21;
  --lx-surface-elevated: #22272a;
  --lx-surface-glass: rgba(17, 20, 22, 0.86);
  --lx-surface-interactive: rgba(255, 255, 255, 0.038);
  --lx-surface-selected: rgba(173, 255, 0, 0.075);
  --lx-surface-media: #f2efe6;
  --lx-text-primary: #f2efe6;
  --lx-text-secondary: #d7d9d4;
  --lx-text-muted: #9aa0a8;
  --lx-text-on-accent: #0b0b0d;
  --lx-text-on-success: #04140a;
  --lx-accent-solid: var(--lx-brand-acid);
  --lx-accent-hover: var(--lx-brand-acid-hover);
  --lx-accent-active: var(--lx-brand-acid-active);
  --lx-accent-ink: var(--lx-brand-acid);
  --lx-accent-soft: rgba(173, 255, 0, 0.08);
  --lx-accent-aura: rgba(173, 255, 0, 0.1);
  --lx-border-subtle: rgba(242, 239, 230, 0.065);
  --lx-border-default: rgba(242, 239, 230, 0.1);
  --lx-border-strong: rgba(242, 239, 230, 0.2);
  --lx-control-border: #7d828a;
  --lx-shadow-soft: 0 14px 40px rgba(0, 0, 0, 0.15);
  --lx-shadow-raised: 0 26px 80px rgba(0, 0, 0, 0.27);
  --lx-shadow-drawer: -24px 0 64px rgba(0, 0, 0, 0.34);
  --lx-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.2), 0 16px 42px rgba(0, 0, 0, 0.16);
  --lx-highlight: rgba(255, 255, 255, 0.055);
  --lx-highlight-inset: inset 0 1px 0 rgba(255, 255, 255, 0.045);
  --lx-overlay: rgba(5, 6, 7, 0.72);
  --lx-focus-color: #bdff35;
  --lx-focus-halo: rgba(173, 255, 0, 0.2);
  --lx-success: #86cfa0;
  --lx-warning: #e3c17a;
  --lx-danger: #ff9a8f;
  --lx-inverse-canvas: #0b0b0d;
  --lx-inverse-surface: rgba(11, 11, 13, 0.94);
  --lx-inverse-surface-1: #111315;
  --lx-inverse-surface-2: #1a1c1f;
  --lx-inverse-text: #f2efe6;
  --lx-inverse-secondary: #b7bcc6;
  --lx-inverse-muted: #8a8f98;
  --lx-inverse-border: rgba(242, 239, 230, 0.09);
  --lx-inverse-border-strong: rgba(242, 239, 230, 0.17);
  --lx-inverse-accent: var(--lx-brand-acid);
  --lx-inverse-accent-soft: rgba(173, 255, 0, 0.1);
  --lx-inverse-focus: var(--lx-brand-acid-hover);
}

:root[data-theme="light"] {
  color-scheme: light;
  --lx-canvas: #f2efe6;
  --lx-canvas-subtle: #ebeae3;
  --lx-surface-1: #f8f6ef;
  --lx-surface-2: #efeee7;
  --lx-surface-elevated: #fffef8;
  --lx-surface-glass: rgba(248, 246, 239, 0.9);
  --lx-surface-interactive: rgba(11, 11, 13, 0.035);
  --lx-surface-selected: #e8f5c7;
  --lx-surface-media: #fffef8;
  --lx-text-primary: #0b0b0d;
  --lx-text-secondary: #34373c;
  --lx-text-muted: #5f646d;
  --lx-text-on-success: #ffffff;
  --lx-accent-hover: #9eea00;
  --lx-accent-active: #8bd000;
  --lx-accent-ink: #446500;
  --lx-accent-soft: rgba(68, 101, 0, 0.09);
  --lx-accent-aura: rgba(68, 101, 0, 0.085);
  --lx-border-subtle: rgba(11, 11, 13, 0.075);
  --lx-border-default: rgba(11, 11, 13, 0.12);
  --lx-border-strong: rgba(11, 11, 13, 0.19);
  --lx-control-border: #797d83;
  --lx-shadow-soft: 0 14px 42px rgba(43, 45, 49, 0.075);
  --lx-shadow-raised: 0 26px 78px rgba(43, 45, 49, 0.12);
  --lx-shadow-drawer: -24px 0 64px rgba(43, 45, 49, 0.15);
  --lx-shadow-1: 0 1px 2px rgba(20, 24, 26, 0.04), 0 16px 42px rgba(20, 24, 26, 0.075);
  --lx-highlight: rgba(255, 255, 255, 0.7);
  --lx-highlight-inset: inset 0 1px 0 rgba(255, 255, 255, 0.76);
  --lx-overlay: rgba(11, 11, 13, 0.54);
  --lx-focus-color: #4b7000;
  --lx-focus-halo: rgba(75, 112, 0, 0.22);
  --lx-success: #28613c;
  --lx-warning: #6e4d00;
  --lx-danger: #922f29;
}
