/* LoveMatch UX4.1 Design System
   Shared visual tokens and reusable primitives for all modern UX pages. */
:root {
  color-scheme: dark;
  --lme-color-bg: #09071a;
  --lme-color-bg-soft: #11102a;
  --lme-color-surface: rgba(24,20,54,.78);
  --lme-color-surface-strong: #171333;
  --lme-color-text: #f8f6ff;
  --lme-color-muted: #aaa6c1;
  --lme-color-border: rgba(255,255,255,.11);
  --lme-color-primary: #ff267d;
  --lme-color-primary-soft: #ff5cab;
  --lme-color-secondary: #8b5cff;
  --lme-color-accent: #6ce8ff;
  --lme-color-success: #51e5a8;
  --lme-color-warning: #ffc857;
  --lme-color-danger: #ff647c;
  --lme-gradient-brand: linear-gradient(135deg,var(--lme-color-primary),#f21069 52%,var(--lme-color-secondary));
  --lme-gradient-surface: linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018));
  --lme-shadow-sm: 0 10px 30px rgba(3,2,16,.24);
  --lme-shadow-md: 0 20px 60px rgba(3,2,16,.34);
  --lme-shadow-lg: 0 28px 90px rgba(3,2,16,.46);
  --lme-radius-sm: 12px;
  --lme-radius-md: 18px;
  --lme-radius-lg: 28px;
  --lme-radius-pill: 999px;
  --lme-space-1: .25rem;
  --lme-space-2: .5rem;
  --lme-space-3: .75rem;
  --lme-space-4: 1rem;
  --lme-space-5: 1.5rem;
  --lme-space-6: 2rem;
  --lme-space-7: 3rem;
  --lme-container: 1180px;
  --lme-font-sans: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --lme-transition-fast: 160ms ease;
  --lme-transition: 240ms ease;
}

html[data-theme="light"] {
  color-scheme: light;
  --lme-color-bg: #fff8fc;
  --lme-color-bg-soft: #fff;
  --lme-color-surface: rgba(255,255,255,.82);
  --lme-color-surface-strong: #fff;
  --lme-color-text: #21172e;
  --lme-color-muted: #70647b;
  --lme-color-border: rgba(69,34,83,.13);
  --lme-shadow-sm: 0 10px 30px rgba(85,34,71,.08);
  --lme-shadow-md: 0 20px 60px rgba(85,34,71,.11);
  --lme-shadow-lg: 0 28px 90px rgba(85,34,71,.14);
}

/* Compatibility aliases for existing UX pages. */
:root {
  --bg: var(--lme-color-bg);
  --bg-soft: var(--lme-color-bg-soft);
  --panel: var(--lme-color-surface);
  --panel-strong: var(--lme-color-surface-strong);
  --text: var(--lme-color-text);
  --muted: var(--lme-color-muted);
  --line: var(--lme-color-border);
  --pink: var(--lme-color-primary);
  --pink-2: var(--lme-color-primary-soft);
  --violet: var(--lme-color-secondary);
  --cyan: var(--lme-color-accent);
  --shadow: var(--lme-shadow-lg);
}

/* Shared focus language. */
:where(a,button,input,select,textarea):focus-visible {
  outline: 3px solid color-mix(in srgb,var(--lme-color-primary-soft) 70%,white);
  outline-offset: 3px;
}

/* Reusable brand shell. */
.lme-container { width:min(var(--lme-container),calc(100% - 40px)); margin-inline:auto; }
.lme-surface {
  border:1px solid var(--lme-color-border);
  border-radius:var(--lme-radius-lg);
  background:var(--lme-gradient-surface);
  box-shadow:var(--lme-shadow-md);
  backdrop-filter:blur(18px);
}
.lme-eyebrow {
  color:var(--lme-color-primary-soft);
  font-size:.74rem;
  font-weight:850;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.lme-muted { color:var(--lme-color-muted); }

/* Shared button primitives. */
.lme-button,
.primary-action,
.secondary-action,
.button,
.cards a {
  min-height:46px;
  border-radius:var(--lme-radius-md);
  transition:transform var(--lme-transition),box-shadow var(--lme-transition),border-color var(--lme-transition),filter var(--lme-transition);
}
.lme-button:hover,
.primary-action:hover,
.secondary-action:hover,
.button:hover,
.cards a:hover { transform:translateY(-2px); }
.lme-button--primary,
.primary-action,
.button-primary,
.cards a {
  background:var(--lme-gradient-brand);
  color:#fff;
  box-shadow:0 12px 34px rgba(255,38,125,.25);
}
.lme-button--secondary,
.secondary-action,
.button-ghost {
  border:1px solid var(--lme-color-border);
  background:color-mix(in srgb,var(--lme-color-surface) 86%,transparent);
  color:var(--lme-color-text);
}

/* Shared card behavior. */
:where(.process-card,.price-card,.person-card,.perspective-card,.report-card,.cards article) {
  transition:transform var(--lme-transition),border-color var(--lme-transition),box-shadow var(--lme-transition);
}
:where(.process-card,.price-card,.person-card,.perspective-card,.report-card,.cards article):hover {
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--lme-color-primary-soft) 34%,var(--lme-color-border));
  box-shadow:var(--lme-shadow-md);
}

/* Shared status chips. */
.lme-chip,.price-badge,.premium-badge,.data-basis {
  border-radius:var(--lme-radius-pill);
  font-weight:800;
  letter-spacing:.04em;
}

/* Consistent logo rendering. */
.brand-logo,.brand img,.topbar .brand img,header>a>img,.cover-logo {
  display:block;
  max-width:100%;
  height:auto;
}

/* Accessibility and motion policy. */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
