/* Remora — design tokens (Megalodon palette). Dark theme by default; light with [data-theme="light"]. */

@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/archivo-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/hanken-grotesk-latin.woff2") format("woff2");
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("fonts/jetbrains-mono-latin.woff2") format("woff2");
}

:root {
  /* Base palette */
  --c-abyss: #050f1c;
  --c-abyss-2: #0a1f35;
  --c-ocean: #0a2540;
  --c-ink: #0a2540;
  --c-ocean-700: #123a5e;
  --c-ocean-600: #1d4e78;
  --c-teal: #235a8c;
  --c-teal-700: #194367;
  --c-accent: #7fc0ff;
  --c-mist: #a9bfd4;
  --c-mist-2: #7fa8cc;
  --c-ok: #15a06b;
  --c-line: #e3e9ef;
  --c-line-2: #eef2f6;
  --c-bg: #ffffff;
  --c-bg-2: #f6f8fa;
  --c-body: #3a4854;
  --c-muted: #586673;
  /* Harmonized additions */
  --c-warn: #e0a32e;
  --c-warn-700: #9a6510;
  --c-danger: #e5484d;
  --c-danger-700: #b9282e;

  /* Typography */
  --font-display: "Archivo", "Hanken Grotesk", system-ui, sans-serif;
  --font-body: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --fs-xs: 11px;
  --fs-sm: 12px;
  --fs-md: 13px;
  --fs-lg: 15px;
  --fs-xl: 18px;
  --fs-2xl: 22px;
  --fs-3xl: 28px;

  /* Spacing, radii, sizes */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --radius: 6px;
  --radius-sm: 4px;
  --control-h: 30px;
  --row-h: 34px;
  --header-h: 56px;
  --sidebar-w: 240px;
  --sidebar-w-collapsed: 56px;
  --ease: cubic-bezier(.2, .7, .2, 1);

  /* Semantic — dark theme (default) */
  color-scheme: dark;
  --bg: var(--c-abyss);
  --surface: var(--c-abyss-2);
  --surface-2: #0d2843;
  --surface-sunken: #071628;
  --hover: rgba(127, 192, 255, .07);
  --active: var(--c-ocean-700);
  --border: #173452;
  --border-2: #112b46;
  --border-strong: var(--c-ocean-600);
  --text-strong: #f2f7fc;
  --text: #dbe6f1;
  --text-2: var(--c-mist);
  --text-3: var(--c-mist-2);
  --primary: var(--c-teal);
  --primary-hover: #2a6aa3;
  --primary-text: #ffffff;
  --link: var(--c-accent);
  --focus: var(--c-accent);
  --data-1: var(--c-accent);
  --data-2: #3fd0a0;
  --data-3: #f2b95c;
  --data-4: #c49bff;
  --ok: #2ec486;
  --ok-bg: rgba(21, 160, 107, .16);
  --warn: #f0b544;
  --warn-bg: rgba(224, 163, 46, .16);
  --danger: #ff6b70;
  --danger-bg: rgba(229, 72, 77, .16);
  --danger-solid: #c9363b;
  --info: var(--c-accent);
  --info-bg: rgba(127, 192, 255, .13);
  --neutral-bg: rgba(169, 191, 212, .12);
  --header-bg: var(--c-ocean);
  --header-border: #143556;
  --header-text: #e6eef6;
  --header-text-2: var(--c-mist);
  --sidebar-bg: var(--c-abyss-2);
  --overlay: rgba(2, 8, 16, .62);
  --shadow-1: 0 1px 2px rgba(0, 0, 0, .35);
  --shadow-2: 0 8px 28px rgba(0, 0, 0, .45), 0 1px 3px rgba(0, 0, 0, .35);
  --logo-filter: brightness(0) invert(1);
  --mono-text: #cfe3f7;
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: var(--c-bg-2);
  --surface: var(--c-bg);
  --surface-2: var(--c-bg-2);
  --surface-sunken: #eff3f7;
  --hover: rgba(10, 37, 64, .045);
  --active: #e4eef8;
  --border: var(--c-line);
  --border-2: var(--c-line-2);
  --border-strong: var(--c-ocean-600);
  --text-strong: var(--c-ink);
  --text: var(--c-body);
  --text-2: var(--c-muted);
  --text-3: #6b7f92;
  --primary: var(--c-teal);
  --primary-hover: var(--c-teal-700);
  --primary-text: #ffffff;
  --link: var(--c-teal);
  --focus: var(--c-teal);
  --data-1: var(--c-teal);
  --data-2: #0f8a5c;
  --data-3: #c27d0e;
  --data-4: #7a4fd1;
  --ok: #0d7f54;
  --ok-bg: rgba(21, 160, 107, .12);
  --warn: var(--c-warn-700);
  --warn-bg: rgba(224, 163, 46, .16);
  --danger: var(--c-danger-700);
  --danger-bg: rgba(229, 72, 77, .1);
  --danger-solid: #c9363b;
  --info: var(--c-teal);
  --info-bg: rgba(35, 90, 140, .09);
  --neutral-bg: rgba(10, 37, 64, .06);
  --header-bg: var(--c-ocean);
  --header-border: var(--c-ocean);
  --header-text: #ffffff;
  --header-text-2: var(--c-mist);
  --sidebar-bg: var(--c-bg);
  --overlay: rgba(10, 37, 64, .38);
  --shadow-1: 0 1px 2px rgba(10, 37, 64, .06);
  --shadow-2: 0 10px 30px rgba(10, 37, 64, .14), 0 1px 3px rgba(10, 37, 64, .08);
  --logo-filter: brightness(0) invert(1);
  --mono-text: var(--c-ink);
}
