/* LIFE Q design tokens v1.0.0. Values derive from the previously reviewed LifeQ CSS.
 * New lqds namespace only. No product data or global resets.
 * This file is review-locked; change its approved digest only after visual review. */
:root {
  --lqds-color-ink: #14335c;
  --lqds-color-muted: #637691;
  --lqds-color-border: #dce5f1;
  --lqds-color-surface: #fff;
  --lqds-color-canvas: #f8fbff;
  --lqds-color-brand: #1769e0;
  --lqds-color-brand-soft: #edf4ff;
  --lqds-color-pink: #ec276e;
  --lqds-color-pink-start: #fa3a82;
  --lqds-color-pink-end: #e81c63;
  --lqds-color-pink-soft: #fff4f8;
  --lqds-color-pink-border: #f5ccdf;
  --lqds-color-internet: #c7461d;
  --lqds-color-internet-soft: #fff4ee;
  --lqds-color-success: #176b65;
  --lqds-color-danger: #a92245;
  --lqds-color-warning: #925f19;
  --lqds-color-disabled: #edf1f7;
  --lqds-color-monthly-start: #123967;
  --lqds-color-monthly-end: #12305a;
  --lqds-color-monthly-note: #d5e2f3;
  --lqds-font-sans: "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  --lqds-font-body: 16px;
  --lqds-font-label: 14px;
  --lqds-font-caption: 12px;
  --lqds-font-card-title: 18px;
  --lqds-font-section: 24px;
  --lqds-font-page: 32px;
  --lqds-font-amount: 30px;
  --lqds-weight-regular: 400;
  --lqds-weight-medium: 550;
  --lqds-weight-semibold: 650;
  --lqds-weight-bold: 750;
  --lqds-weight-heavy: 800;
  --lqds-leading-body: 1.7;
  --lqds-leading-label: 1.5;
  --lqds-leading-title: 1.35;
  --lqds-tracking-title: -.035em;
  --lqds-space-0: 0;
  --lqds-space-1: 4px;
  --lqds-space-2: 8px;
  --lqds-space-3: 12px;
  --lqds-space-4: 16px;
  --lqds-space-5: 20px;
  --lqds-space-6: 24px;
  --lqds-space-8: 32px;
  --lqds-space-10: 40px;
  --lqds-radius-small: 8px;
  --lqds-radius-control: 10px;
  --lqds-radius-card: 12px;
  --lqds-radius-panel: 16px;
  --lqds-radius-pill: 999px;
  --lqds-border-width: 1px;
  --lqds-focus-width: 3px;
  --lqds-focus-offset: 3px;
  --lqds-control-height: 44px;
  --lqds-control-compact: 40px;
  --lqds-control-large: 48px;
  --lqds-icon-size: 20px;
  --lqds-media-height: 148px;
  --lqds-content-width: 1280px;
  --lqds-opacity-disabled: .48;
  --lqds-motion-fast: 160ms;
  --lqds-ease: ease;
  --lqds-shadow-soft: 0 4px 10px #f1287114;
  --lqds-shadow-dialog: 0 24px 70px #14335c26;
  --lqds-accent: var(--lqds-color-brand);
  --lqds-accent-soft: var(--lqds-color-brand-soft);
  --lqds-accent-border: var(--lqds-color-border);
  --lqds-action-background: var(--lqds-color-brand);
  --lqds-action-foreground: var(--lqds-color-surface);
}

/* Service identity changes; component geometry does not. */
:where([data-lqds-theme="bundle"]) {
  --lqds-accent: var(--lqds-color-pink);
  --lqds-accent-soft: var(--lqds-color-pink-soft);
  --lqds-accent-border: var(--lqds-color-pink-border);
  --lqds-action-background: linear-gradient(110deg, var(--lqds-color-pink-start), var(--lqds-color-pink-end));
}
:where([data-lqds-theme="internet"]) {
  --lqds-accent: var(--lqds-color-internet);
  --lqds-accent-soft: var(--lqds-color-internet-soft);
  --lqds-action-background: var(--lqds-color-internet);
}
/* Compatibility values preserve existing page-specific tokens during a later migration. */
:root {
  --lqds-legacy-cf-ink: #14335c;
  --lqds-legacy-cf-muted: #637691;
  --lqds-legacy-cf-pink: #ec276e;
  --lqds-legacy-cf-line: #dce5f1;
  --lqds-legacy-cf-pale: #fff4f8;
  --lqds-legacy-cf-blue: #edf4ff;
}

/* Existing service contexts bind to the same approved palette. */
body.lqds-service-bundle { --lqds-accent:var(--lqds-color-pink); --lqds-accent-soft:var(--lqds-color-pink-soft); --lqds-action-background:linear-gradient(110deg,var(--lqds-color-pink-start),var(--lqds-color-pink-end)); }
body.lqds-service-internet { --lqds-accent:var(--lqds-color-internet); --lqds-accent-soft:var(--lqds-color-internet-soft); --lqds-action-background:var(--lqds-color-internet); }
