:root {
  color-scheme: dark;

  --ts-bg-main: #07131f;
  --ts-bg-elevated: #091725;
  --ts-bg-panel: #0c1b28;
  --ts-bg-panel-strong: #102230;
  --ts-bg-hover: #142c3c;
  --ts-bg-overlay: rgba(7, 19, 31, 0.82);

  --ts-border: rgba(112, 151, 174, 0.24);
  --ts-border-strong: rgba(112, 151, 174, 0.42);

  --ts-text-main: #edf5f8;
  --ts-text-secondary: #9fb2bf;
  --ts-text-muted: #738b99;
  --ts-text-inverse: #06121d;

  --ts-success: #28c997;
  --ts-info: #28a8f5;
  --ts-warning: #f2b93b;
  --ts-alert: #f28a3b;
  --ts-danger: #ef5d6c;
  --ts-disabled: #596c77;

  --ts-accent: #28c997;
  --ts-accent-soft: rgba(40, 201, 151, 0.14);
  --ts-accent-border: rgba(40, 201, 151, 0.34);

  --ts-font-ui: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  --ts-font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;

  --ts-radius-sm: 5px;
  --ts-radius-md: 8px;
  --ts-radius-lg: 12px;

  --ts-shadow-panel: 0 10px 30px rgba(0, 0, 0, 0.28);
  --ts-shadow-float: 0 16px 44px rgba(0, 0, 0, 0.34);

  --ts-header-height: 72px;
  --ts-panel-left: 316px;
  --ts-panel-right: 360px;
  --ts-bottom-bar-height: 56px;
  --ts-gap: 12px;
  --ts-map-footer-height: 28px;
}

[data-ts-accent="forest"] {
  --ts-accent: #28c997;
  --ts-accent-soft: rgba(40, 201, 151, 0.14);
  --ts-accent-border: rgba(40, 201, 151, 0.34);
}

[data-ts-accent="air"] {
  --ts-accent: #28c7f5;
  --ts-accent-soft: rgba(40, 199, 245, 0.14);
  --ts-accent-border: rgba(40, 199, 245, 0.34);
}

[data-ts-accent="water"] {
  --ts-accent: #2f8df5;
  --ts-accent-soft: rgba(47, 141, 245, 0.14);
  --ts-accent-border: rgba(47, 141, 245, 0.34);
}

[data-ts-accent="industrial"] {
  --ts-accent: #f2b93b;
  --ts-accent-soft: rgba(242, 185, 59, 0.15);
  --ts-accent-border: rgba(242, 185, 59, 0.38);
}

[data-ts-accent="restoration"] {
  --ts-accent: #65d66e;
  --ts-accent-soft: rgba(101, 214, 110, 0.14);
  --ts-accent-border: rgba(101, 214, 110, 0.34);
}

[data-ts-accent="conservation"] {
  --ts-accent: #35b87a;
  --ts-accent-soft: rgba(53, 184, 122, 0.14);
  --ts-accent-border: rgba(53, 184, 122, 0.34);
}
