:root {
  color-scheme: light;

  /* Typography */
  --lh-font-sans: "Manrope", "Avenir Next", "Segoe UI", sans-serif;
  --lh-font-mono: "JetBrains Mono", "SFMono-Regular", "SF Mono", monospace;

  --lh-text-hero: 2rem;
  --lh-text-display: 2.5rem;
  --lh-text-title: 1.375rem;
  --lh-text-heading: 1.125rem;
  --lh-text-row-title: 0.95rem;
  --lh-text-body: 0.9375rem;
  --lh-text-small: 0.8125rem;
  --lh-text-micro: 0.75rem;

  --lh-leading-tight: 1.15;
  --lh-leading-snug: 1.3;
  --lh-leading-body: 1.55;

  --lh-weight-regular: 450;
  --lh-weight-medium: 560;
  --lh-weight-semibold: 640;
  --lh-weight-bold: 720;

  --lh-tracking-tight: -0.02em;
  --lh-tracking-normal: 0;
  --lh-tracking-wide: 0.04em;

  /* Base palette */
  --lh-ink-strong: #172033;
  --lh-ink-default: #23304a;
  --lh-ink-muted: #5f6e88;
  --lh-ink-subtle: #7d8aa1;
  --lh-ink-inverse: #f5f7fb;

  --lh-paper: #f6f8fc;
  --lh-canvas: #eef2f8;
  --lh-canvas-top: #f8fafd;
  --lh-canvas-bottom: #e9eef6;
  --lh-canvas-wash: rgb(108 147 255 / 0.08);
  --lh-surface: #ffffff;
  --lh-surface-elevated: #fbfcfe;
  --lh-surface-muted: #f2f5fa;
  --lh-surface-strong: #dfe7f3;
  --lh-surface-hero: #f9fbff;
  --lh-surface-tint: #f3f7ff;
  --lh-surface-glass: rgb(255 255 255 / 0.72);
  --lh-surface-inset: #edf2f9;

  --lh-border-soft: #dbe3ee;
  --lh-border-default: #c8d3e2;
  --lh-border-strong: #aab8cb;
  --lh-border-faint: rgb(170 184 203 / 0.28);
  --lh-border-hero: rgb(59 111 242 / 0.16);
  --lh-border-on-dark: rgb(255 255 255 / 0.10);

  --lh-accent-soft: #e6eefc;
  --lh-accent-default: #3b6ff2;
  --lh-accent-strong: #2454cf;
  --lh-accent-ink: #17357e;
  --lh-accent-glow: rgb(59 111 242 / 0.14);
  --lh-brand-harbor: #102b57;
  --lh-brand-beacon: #1f78b6;
  --lh-brand-mist: #edf3fb;
  --lh-brand-signal: #efad39;
  --lh-brand-sea: #78acd1;
  --lh-brand-beacon-glow-md: rgb(31 120 182 / 0.22);
  --lh-brand-beacon-glow-sm: rgb(31 120 182 / 0.10);
  --lh-brand-sea-glow-xs: rgb(120 172 209 / 0.06);

  --lh-positive-soft: #e7f6ee;
  --lh-positive-default: #268a57;
  --lh-positive-strong: #176640;

  --lh-warning-soft: #fff2db;
  --lh-warning-default: #b36a18;
  --lh-warning-strong: #8f5010;

  --lh-critical-soft: #fde8e8;
  --lh-critical-default: #c65252;
  --lh-critical-strong: #943535;

  --lh-info-soft: #e7f0ff;
  --lh-info-default: #4970c9;
  --lh-info-strong: #2f52a3;

  /* Semantic surfaces */
  --lh-bg-app: var(--lh-paper);
  --lh-bg-canvas: var(--lh-canvas);
  --lh-bg-canvas-top: var(--lh-canvas-top);
  --lh-bg-canvas-bottom: var(--lh-canvas-bottom);
  --lh-bg-canvas-wash: var(--lh-canvas-wash);
  --lh-bg-panel: var(--lh-surface);
  --lh-bg-panel-muted: var(--lh-surface-muted);
  --lh-bg-panel-elevated: var(--lh-surface-elevated);
  --lh-bg-panel-hero: var(--lh-surface-hero);
  --lh-bg-panel-tint: var(--lh-surface-tint);
  --lh-bg-panel-glass: var(--lh-surface-glass);
  --lh-bg-panel-inset: var(--lh-surface-inset);
  --lh-bg-accent: var(--lh-accent-soft);
  --lh-bg-accent-glow: var(--lh-accent-glow);
  --lh-bg-nav: #f3f6fb;
  --lh-bg-nav-hover: #eef3fb;
  --lh-bg-nav-active: #eaf0fb;
  --lh-bg-summary-band: #f7f9fd;
  --lh-bg-selection: #edf3ff;
  --lh-bg-selection-muted: #f4f7fc;

  --lh-text-default: var(--lh-ink-default);
  --lh-text-heading-color: var(--lh-ink-strong);
  --lh-text-muted: var(--lh-ink-muted);
  --lh-text-subtle: var(--lh-ink-subtle);
  --lh-text-on-accent: var(--lh-ink-inverse);
  --lh-text-nav: #33425e;
  --lh-text-nav-active: #1b2b47;
  --lh-text-label-strong: #2a3852;

  --lh-border-panel: var(--lh-border-soft);
  --lh-border-input: var(--lh-border-default);
  --lh-border-interactive: var(--lh-accent-default);
  --lh-border-nav: rgb(170 184 203 / 0.22);
  --lh-border-summary-band: rgb(170 184 203 / 0.2);

  /* Status aliases */
  --lh-status-healthy-bg: var(--lh-positive-soft);
  --lh-status-healthy-fg: var(--lh-positive-strong);
  --lh-status-watch-bg: var(--lh-warning-soft);
  --lh-status-watch-fg: var(--lh-warning-strong);
  --lh-status-risk-bg: var(--lh-critical-soft);
  --lh-status-risk-fg: var(--lh-critical-strong);
  --lh-status-info-bg: var(--lh-info-soft);
  --lh-status-info-fg: var(--lh-info-strong);

  /* Spacing */
  --lh-space-0: 0;
  --lh-space-1: 0.25rem;
  --lh-space-2: 0.5rem;
  --lh-space-3: 0.75rem;
  --lh-space-4: 1rem;
  --lh-space-5: 1.25rem;
  --lh-space-6: 1.5rem;
  --lh-space-8: 2rem;
  --lh-space-10: 2.5rem;
  --lh-space-12: 3rem;
  --lh-space-16: 4rem;

  /* Radius */
  --lh-radius-xs: 0.375rem;
  --lh-radius-sm: 0.5rem;
  --lh-radius-md: 0.75rem;
  --lh-radius-lg: 1rem;
  --lh-radius-xl: 1.25rem;
  --lh-radius-pill: 999px;

  /* Shadows */
  --lh-shadow-soft: 0 6px 18px rgb(26 39 70 / 0.06);
  --lh-shadow-panel: 0 16px 36px rgb(24 39 75 / 0.08);
  --lh-shadow-ambient: 0 24px 60px rgb(20 32 58 / 0.08);
  --lh-shadow-floating: 0 18px 40px rgb(24 39 75 / 0.12);
  --lh-shadow-inset-soft: inset 0 1px 0 rgb(255 255 255 / 0.72);
  --lh-shadow-focus: 0 0 0 3px rgb(59 111 242 / 0.22);

  /* Motion */
  --lh-duration-fast: 120ms;
  --lh-duration-base: 180ms;
  --lh-duration-slow: 260ms;
  --lh-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);

  /* Layout */
  --lh-shell-max-width: 90rem;
  --lh-shell-gutter: 1.5rem;
  --lh-nav-width: 16rem;
  --lh-detail-width: 24rem;
  --lh-toolbar-height: 3.25rem;
  --lh-row-height: 3.5rem;

  /* Component tokens */
  --lh-card-padding: var(--lh-space-5);
  --lh-panel-padding: var(--lh-space-6);
  --lh-hero-padding: var(--lh-space-8);
  --lh-nav-item-padding-x: 0.75rem;
  --lh-nav-item-padding-y: 0.625rem;
  --lh-input-height: 2.75rem;
  --lh-button-height: 2.5rem;
  --lh-chip-height: 2rem;
  --lh-table-header-bg: #f8fafe;
  --lh-table-row-hover: #f4f7fc;
  --lh-table-row-active: #edf3ff;
  --lh-table-row-emphasis: #f9fbff;
  --lh-table-row-selected: #e9f0ff;
  --lh-table-divider: var(--lh-border-soft);
  --lh-header-band-bg: var(--lh-bg-panel-hero);
  --lh-header-band-border: var(--lh-border-hero);
  --lh-summary-band-bg: var(--lh-bg-summary-band);
  --lh-summary-band-border: var(--lh-border-summary-band);
  --lh-focal-panel-bg: var(--lh-bg-panel);
  --lh-focal-panel-shadow: var(--lh-shadow-floating);
  --lh-nav-item-radius: var(--lh-radius-md);
  --lh-control-radius: var(--lh-radius-pill);

  /* Interaction */
  --lh-focus-ring: var(--lh-shadow-focus);
  --lh-hover-tint: rgb(59 111 242 / 0.06);
  --lh-active-tint: rgb(59 111 242 / 0.1);
  --lh-selected-tint: rgb(59 111 242 / 0.12);
  --lh-disabled-opacity: 0.46;
}

[data-theme="dark"] {
  color-scheme: dark;

  --lh-ink-strong: #f4f7ff;
  --lh-ink-default: #dce4f3;
  --lh-ink-muted: #a5b1c5;
  --lh-ink-subtle: #7d8ca7;
  --lh-ink-inverse: #0d1422;

  --lh-paper: #0e1420;
  --lh-canvas: #121b2b;
  --lh-canvas-top: #11192a;
  --lh-canvas-bottom: #0d1523;
  --lh-canvas-wash: rgb(118 160 255 / 0.12);
  --lh-surface: #172132;
  --lh-surface-elevated: #1d283b;
  --lh-surface-muted: #141d2d;
  --lh-surface-strong: #253249;
  --lh-surface-hero: #1b2740;
  --lh-surface-tint: #1a2540;
  --lh-surface-glass: rgb(23 33 50 / 0.76);
  --lh-surface-inset: #111a2b;

  --lh-border-soft: #24314a;
  --lh-border-default: #30415f;
  --lh-border-strong: #456082;
  --lh-border-faint: rgb(69 96 130 / 0.26);
  --lh-border-hero: rgb(118 160 255 / 0.24);
  --lh-border-on-dark: rgb(255 255 255 / 0.14);

  --lh-accent-soft: #1a2a52;
  --lh-accent-default: #6c93ff;
  --lh-accent-strong: #8dabff;
  --lh-accent-ink: #d9e5ff;
  --lh-accent-glow: rgb(118 160 255 / 0.16);
  --lh-brand-harbor: #dce7f6;
  --lh-brand-beacon: #6eb2de;
  --lh-brand-mist: #18233a;
  --lh-brand-signal: #f2bf6a;
  --lh-brand-sea: #94c0de;
  --lh-brand-beacon-glow-md: rgb(110 178 222 / 0.28);
  --lh-brand-beacon-glow-sm: rgb(110 178 222 / 0.14);
  --lh-brand-sea-glow-xs: rgb(148 192 222 / 0.10);

  --lh-positive-soft: #12261d;
  --lh-positive-default: #47bb7c;
  --lh-positive-strong: #82d3a7;

  --lh-warning-soft: #2b2112;
  --lh-warning-default: #dd9340;
  --lh-warning-strong: #f1bc7d;

  --lh-critical-soft: #2d1b1c;
  --lh-critical-default: #e27979;
  --lh-critical-strong: #f0a9a9;

  --lh-info-soft: #18253f;
  --lh-info-default: #76a0ff;
  --lh-info-strong: #a9c3ff;

  --lh-bg-nav: #141d2d;
  --lh-bg-nav-hover: #182338;
  --lh-bg-nav-active: #1a2740;
  --lh-bg-summary-band: #162133;
  --lh-bg-selection: #1d2b45;
  --lh-bg-selection-muted: #18263c;

  --lh-text-nav: #c8d3e6;
  --lh-text-nav-active: #eef4ff;
  --lh-text-label-strong: #dde6f6;

  --lh-border-nav: rgb(69 96 130 / 0.22);
  --lh-border-summary-band: rgb(69 96 130 / 0.2);

  --lh-table-header-bg: #182235;
  --lh-table-row-hover: #1a263a;
  --lh-table-row-active: #1d2b45;
  --lh-table-row-emphasis: #17263d;
  --lh-table-row-selected: #20304d;
  --lh-shadow-ambient: 0 30px 80px rgb(2 6 13 / 0.34);
  --lh-shadow-floating: 0 22px 54px rgb(2 6 13 / 0.4);
  --lh-shadow-inset-soft: inset 0 1px 0 rgb(255 255 255 / 0.05);
  --lh-selected-tint: rgb(118 160 255 / 0.16);
}
