/* DiveScene theme tokens, mirrored from DiveScene/dive-tools PR #41 (packages/web/src/app/globals.css),
   which is the current contract for the --ds-* names and values. This repo is to become the source of truth
   (docs/BRAND-DISTRIBUTION.md); until dive-tools consumes this file, re-sync both ways.
   Themes are family-appearance: pelagic (default), slate, panel, lume, sonar, each -light and -dark.
   Colours are R G B triples so rgb(var(--ds-x) / .5) works. */
:root:not([data-theme]), [data-theme="pelagic-light"] {
  /* Pelagic · Light: the default and the brand face. */
  color-scheme: light;
  --ds-bg: 246 251 253; --ds-bg-image: linear-gradient(180deg, #e3f3fb 0%, #f6fbfd 50%, #ffffff 100%);
  --ds-surface: 255 255 255; --ds-field: 234 243 248; --ds-nav: 255 255 255;
  --ds-line: 207 227 236; --ds-line-w: 1px;
  --ds-ink: 16 50 63; --ds-ink-muted: 78 110 124; --ds-ink-faint: 128 154 166;
  --ds-action: 11 123 188; --ds-action-ink: 255 255 255; /* mockup #0B7FC2 darkened a touch: white on it is 4.6:1, mockup was 4.35:1 */
  --ds-ok: 18 167 122; --ds-ok-ink: 255 255 255;
  --ds-caution: 229 160 0; --ds-caution-ink: 30 20 0;
  --ds-crit: 224 36 59; --ds-crit-ink: 255 255 255; --ds-crit-text: 154 16 34;
  --ds-r-card: 18px; --ds-r-field: 12px; --ds-r-chip: 999px;
  --ds-shadow-card: 0 8px 24px rgba(16, 50, 63, 0.08);
  --ds-glow: 0 6px 16px rgba(11, 123, 188, 0.3); --ds-glow-lg: 0 -8px 30px rgba(16, 50, 63, 0.14); --ds-glow-crit: none;
  --ds-font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --ds-font-body: "Nunito Sans", ui-sans-serif, system-ui, sans-serif;
  --ds-num-weight: 800; --ds-blur: 0px; --ds-headline: var(--ds-action);
  --ds-nav-ink: var(--ds-ink); --ds-nav-ink-muted: var(--ds-ink-muted); --ds-nav-current: var(--ds-action);
}

[data-theme="pelagic-dark"] {
  color-scheme: dark;
  --ds-bg: 6 26 38; --ds-bg-image: linear-gradient(180deg, #0b2a3c 0%, #061a26 55%, #041420 100%);
  --ds-surface: 15 44 60; --ds-field: 8 32 46; --ds-nav: 6 26 38;
  --ds-line: 36 78 100; --ds-line-w: 1px;
  --ds-ink: 230 243 248; --ds-ink-muted: 150 184 198; --ds-ink-faint: 100 132 148;
  --ds-action: 57 182 240; --ds-action-ink: 3 24 36;
  --ds-ok: 47 211 155; --ds-ok-ink: 3 32 26;
  --ds-caution: 245 183 51; --ds-caution-ink: 30 20 0;
  --ds-crit: 255 90 110; --ds-crit-ink: 255 255 255; --ds-crit-text: 255 184 194;
  --ds-r-card: 18px; --ds-r-field: 12px; --ds-r-chip: 999px;
  --ds-shadow-card: 0 8px 24px rgba(0, 0, 0, 0.3);
  --ds-glow: 0 6px 16px rgba(57, 182, 240, 0.3); --ds-glow-lg: 0 -8px 30px rgba(0, 0, 0, 0.4); --ds-glow-crit: 0 0 24px rgba(255, 90, 110, 0.35);
  --ds-font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --ds-font-body: "Nunito Sans", ui-sans-serif, system-ui, sans-serif;
  --ds-num-weight: 800; --ds-blur: 0px; --ds-headline: var(--ds-action);
  --ds-nav-ink: var(--ds-ink); --ds-nav-ink-muted: var(--ds-ink-muted); --ds-nav-current: var(--ds-action);
}

/* Follow device before JavaScript runs: no stored choice and a dark device gets Pelagic Dark. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --ds-bg: 6 26 38; --ds-bg-image: linear-gradient(180deg, #0b2a3c 0%, #061a26 55%, #041420 100%);
    --ds-surface: 15 44 60; --ds-field: 8 32 46; --ds-nav: 6 26 38;
    --ds-line: 36 78 100;
    --ds-ink: 230 243 248; --ds-ink-muted: 150 184 198; --ds-ink-faint: 100 132 148;
    --ds-action: 57 182 240; --ds-action-ink: 3 24 36;
    --ds-ok: 47 211 155; --ds-ok-ink: 3 32 26;
    --ds-caution: 245 183 51; --ds-caution-ink: 30 20 0;
    --ds-crit: 255 90 110; --ds-crit-ink: 255 255 255; --ds-crit-text: 255 184 194;
    --ds-shadow-card: 0 8px 24px rgba(0, 0, 0, 0.3);
    --ds-glow: 0 6px 16px rgba(57, 182, 240, 0.3); --ds-glow-lg: 0 -8px 30px rgba(0, 0, 0, 0.4); --ds-glow-crit: 0 0 24px rgba(255, 90, 110, 0.35);
  }
}

[data-theme="slate-light"] {
  color-scheme: light;
  --ds-bg: 241 242 238; --ds-bg-image: none;
  --ds-surface: 255 255 255; --ds-field: 247 248 245; --ds-nav: 241 242 238;
  --ds-line: 201 208 204; --ds-line-w: 1.5px;
  --ds-ink: 26 34 40; --ds-ink-muted: 91 104 113; --ds-ink-faint: 128 140 148;
  --ds-action: 14 90 122; --ds-action-ink: 255 255 255;
  --ds-ok: 30 138 92; --ds-ok-ink: 255 255 255;
  --ds-caution: 199 119 0; --ds-caution-ink: 255 255 255;
  --ds-crit: 200 16 46; --ds-crit-ink: 255 255 255; --ds-crit-text: 138 15 31;
  --ds-r-card: 12px; --ds-r-field: 10px; --ds-r-chip: 999px;
  --ds-shadow-card: 0 1px 0 rgba(26, 34, 40, 0.06);
  --ds-glow: none; --ds-glow-lg: 0 -8px 30px rgba(26, 34, 40, 0.12); --ds-glow-crit: none;
  --ds-font-display: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;
  --ds-font-body: "Lexend", ui-sans-serif, system-ui, sans-serif;
  --ds-num-weight: 800; --ds-blur: 0px; --ds-headline: var(--ds-ink);
  --ds-nav-ink: var(--ds-ink); --ds-nav-ink-muted: var(--ds-ink-muted); --ds-nav-current: var(--ds-action);
}

[data-theme="slate-dark"] {
  color-scheme: dark;
  --ds-bg: 28 32 36; --ds-bg-image: none;
  --ds-surface: 38 43 48; --ds-field: 22 26 30; --ds-nav: 28 32 36;
  --ds-line: 70 78 86; --ds-line-w: 1.5px;
  --ds-ink: 236 238 234; --ds-ink-muted: 160 170 176; --ds-ink-faint: 110 120 128;
  --ds-action: 91 179 214; --ds-action-ink: 10 20 28;
  --ds-ok: 72 196 140; --ds-ok-ink: 3 32 26;
  --ds-caution: 240 170 60; --ds-caution-ink: 30 20 0;
  --ds-crit: 255 96 112; --ds-crit-ink: 255 255 255; --ds-crit-text: 255 180 188;
  --ds-r-card: 12px; --ds-r-field: 10px; --ds-r-chip: 999px;
  --ds-shadow-card: none;
  --ds-glow: none; --ds-glow-lg: 0 -8px 30px rgba(0, 0, 0, 0.4); --ds-glow-crit: 0 0 24px rgba(255, 96, 112, 0.35);
  --ds-font-display: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;
  --ds-font-body: "Lexend", ui-sans-serif, system-ui, sans-serif;
  --ds-num-weight: 800; --ds-blur: 0px; --ds-headline: var(--ds-ink);
  --ds-nav-ink: var(--ds-ink); --ds-nav-ink-muted: var(--ds-ink-muted); --ds-nav-current: var(--ds-action);
}

[data-theme="panel-light"] {
  color-scheme: light;
  --ds-bg: 221 228 235; --ds-bg-image: none;
  --ds-surface: 255 255 255; --ds-field: 242 245 248; --ds-nav: 15 39 66;
  --ds-line: 181 194 207; --ds-line-w: 1.5px;
  --ds-ink: 11 23 38; --ds-ink-muted: 74 91 110; --ds-ink-faint: 120 136 152;
  --ds-action: 15 39 66; --ds-action-ink: 255 255 255;
  --ds-ok: 21 122 79; --ds-ok-ink: 255 255 255;
  --ds-caution: 217 151 0; --ds-caution-ink: 30 20 0;
  --ds-crit: 196 18 43; --ds-crit-ink: 255 255 255; --ds-crit-text: 142 12 32;
  --ds-r-card: 4px; --ds-r-field: 4px; --ds-r-chip: 4px;
  --ds-shadow-card: 0 1px 2px rgba(11, 23, 38, 0.12);
  --ds-glow: none; --ds-glow-lg: 0 -8px 30px rgba(11, 23, 38, 0.18); --ds-glow-crit: none;
  --ds-font-display: "Archivo", ui-sans-serif, system-ui, sans-serif;
  --ds-font-body: "Public Sans", ui-sans-serif, system-ui, sans-serif;
  --ds-num-weight: 700; --ds-blur: 0px; --ds-headline: var(--ds-ink);
  /* Panel's top bar is navy with white text and a signal-orange current item. */
  --ds-nav-ink: 255 255 255; --ds-nav-ink-muted: 255 255 255; --ds-nav-current: 255 122 26; --ds-nav-rule: 255 122 26;
}

[data-theme="panel-dark"] {
  color-scheme: dark;
  --ds-bg: 11 23 38; --ds-bg-image: none;
  --ds-surface: 19 36 58; --ds-field: 8 18 30; --ds-nav: 5 14 26;
  --ds-line: 44 70 100; --ds-line-w: 1.5px;
  --ds-ink: 230 236 244; --ds-ink-muted: 150 170 192; --ds-ink-faint: 100 120 140;
  --ds-action: 120 180 230; --ds-action-ink: 5 14 26;
  --ds-ok: 60 190 130; --ds-ok-ink: 3 32 26;
  --ds-caution: 230 170 50; --ds-caution-ink: 30 20 0;
  --ds-crit: 255 90 100; --ds-crit-ink: 255 255 255; --ds-crit-text: 255 178 184;
  --ds-r-card: 4px; --ds-r-field: 4px; --ds-r-chip: 4px;
  --ds-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.4);
  --ds-glow: none; --ds-glow-lg: 0 -8px 30px rgba(0, 0, 0, 0.5); --ds-glow-crit: 0 0 24px rgba(255, 90, 100, 0.35);
  --ds-font-display: "Archivo", ui-sans-serif, system-ui, sans-serif;
  --ds-font-body: "Public Sans", ui-sans-serif, system-ui, sans-serif;
  --ds-num-weight: 700; --ds-blur: 0px; --ds-headline: var(--ds-ink);
  --ds-nav-ink: 255 255 255; --ds-nav-ink-muted: 255 255 255; --ds-nav-current: 255 122 26; --ds-nav-rule: 255 122 26;
}

[data-theme="lume-light"] {
  color-scheme: light;
  --ds-bg: 244 246 242; --ds-bg-image: none;
  --ds-surface: 255 255 255; --ds-field: 238 241 236; --ds-nav: 244 246 242;
  --ds-line: 190 200 190; --ds-line-w: 1px;
  --ds-ink: 20 26 24; --ds-ink-muted: 90 104 98; --ds-ink-faint: 130 142 136;
  --ds-action: 74 110 0; --ds-action-ink: 255 255 255;
  --ds-ok: 24 140 90; --ds-ok-ink: 255 255 255;
  --ds-caution: 190 120 0; --ds-caution-ink: 255 255 255;
  --ds-crit: 200 30 40; --ds-crit-ink: 255 255 255; --ds-crit-text: 140 16 28;
  --ds-r-card: 10px; --ds-r-field: 8px; --ds-r-chip: 999px;
  --ds-shadow-card: 0 1px 0 rgba(0, 0, 0, 0.06), inset 0 1px 0 #fff;
  --ds-glow: none; --ds-glow-lg: 0 -8px 30px rgba(20, 26, 24, 0.12); --ds-glow-crit: none;
  --ds-font-display: "Saira Condensed", ui-sans-serif, system-ui, sans-serif;
  --ds-font-body: "Source Sans 3", ui-sans-serif, system-ui, sans-serif;
  --ds-num-weight: 800; --ds-blur: 0px; --ds-headline: var(--ds-ink);
  --ds-nav-ink: var(--ds-ink); --ds-nav-ink-muted: var(--ds-ink-muted); --ds-nav-current: var(--ds-action);
}

[data-theme="lume-dark"] {
  color-scheme: dark;
  --ds-bg: 6 9 9; --ds-bg-image: linear-gradient(180deg, #0b1012 0%, #060909 100%);
  --ds-surface: 18 24 26; --ds-field: 7 10 11; --ds-nav: 6 9 9;
  --ds-line: 58 68 64; --ds-line-w: 1px;
  --ds-ink: 238 244 240; --ds-ink-muted: 142 158 150; --ds-ink-faint: 96 110 104;
  --ds-action: 201 245 106; --ds-action-ink: 11 18 0;
  --ds-ok: 110 227 176; --ds-ok-ink: 3 32 26;
  --ds-caution: 255 179 71; --ds-caution-ink: 42 29 0;
  --ds-crit: 255 74 61; --ds-crit-ink: 255 255 255; --ds-crit-text: 255 177 169;
  --ds-r-card: 10px; --ds-r-field: 8px; --ds-r-chip: 999px;
  --ds-shadow-card: 0 0 0 1px rgba(255, 255, 255, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --ds-glow: 0 0 14px rgba(201, 245, 106, 0.35); --ds-glow-lg: 0 0 24px rgba(201, 245, 106, 0.3); --ds-glow-crit: 0 0 24px rgba(255, 74, 61, 0.35);
  --ds-font-display: "Saira Condensed", ui-sans-serif, system-ui, sans-serif;
  --ds-font-body: "Source Sans 3", ui-sans-serif, system-ui, sans-serif;
  --ds-num-weight: 800; --ds-blur: 0px; --ds-headline: var(--ds-action);
  --ds-nav-ink: var(--ds-ink); --ds-nav-ink-muted: var(--ds-ink-muted); --ds-nav-current: var(--ds-action);
}

[data-theme="sonar-light"] {
  color-scheme: light;
  --ds-bg: 236 246 242; --ds-bg-image: linear-gradient(rgba(0, 122, 80, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 122, 80, 0.06) 1px, transparent 1px);
  --ds-bg-size: 24px 24px;
  --ds-surface: 255 255 255; --ds-field: 228 240 235; --ds-nav: 236 246 242;
  --ds-line: 170 200 188; --ds-line-w: 1px;
  --ds-ink: 10 40 32; --ds-ink-muted: 70 110 96; --ds-ink-faint: 110 140 128;
  --ds-action: 0 122 80; --ds-action-ink: 255 255 255;
  --ds-ok: 20 150 100; --ds-ok-ink: 255 255 255;
  --ds-caution: 190 125 0; --ds-caution-ink: 255 255 255;
  --ds-crit: 200 40 50; --ds-crit-ink: 255 255 255; --ds-crit-text: 140 20 30;
  --ds-r-card: 6px; --ds-r-field: 4px; --ds-r-chip: 4px;
  --ds-shadow-card: none;
  --ds-glow: none; --ds-glow-lg: 0 -8px 30px rgba(10, 40, 32, 0.12); --ds-glow-crit: none;
  --ds-font-display: "Martian Mono", ui-monospace, monospace;
  --ds-font-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  --ds-num-weight: 700; --ds-blur: 0px; --ds-headline: var(--ds-ink);
  --ds-nav-ink: var(--ds-ink); --ds-nav-ink-muted: var(--ds-ink-muted); --ds-nav-current: var(--ds-action);
}

[data-theme="sonar-dark"] {
  color-scheme: dark;
  --ds-bg: 3 17 15; --ds-bg-image: linear-gradient(rgba(39, 245, 154, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(39, 245, 154, 0.05) 1px, transparent 1px);
  --ds-bg-size: 24px 24px;
  --ds-surface: 6 32 28; --ds-field: 2 12 10; --ds-nav: 3 17 15;
  --ds-line: 24 90 70; --ds-line-w: 1px;
  --ds-ink: 221 247 238; --ds-ink-muted: 120 174 157; --ds-ink-faint: 80 120 108;
  --ds-action: 39 245 154; --ds-action-ink: 2 21 14;
  --ds-ok: 140 239 200; --ds-ok-ink: 3 32 26;
  --ds-caution: 255 193 77; --ds-caution-ink: 42 29 0;
  --ds-crit: 255 90 90; --ds-crit-ink: 255 255 255; --ds-crit-text: 255 192 192;
  --ds-r-card: 6px; --ds-r-field: 4px; --ds-r-chip: 4px;
  --ds-shadow-card: none;
  --ds-glow: 0 0 12px rgba(39, 245, 154, 0.35); --ds-glow-lg: 0 0 24px rgba(39, 245, 154, 0.3); --ds-glow-crit: 0 0 24px rgba(255, 90, 90, 0.35);
  --ds-font-display: "Martian Mono", ui-monospace, monospace;
  --ds-font-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  --ds-num-weight: 700; --ds-blur: 6px; --ds-headline: var(--ds-action);
  --ds-nav-ink: var(--ds-ink); --ds-nav-ink-muted: var(--ds-ink-muted); --ds-nav-current: var(--ds-action);
}
