/* GENERATED by scripts/gen-tokens.mjs from brand/tokens.json — do not edit by hand.
   Every ratio in brand/tokens.json's contrast contract is recomputed at generation time. */

:root {
  --canvas: #F6F7F9;
  --canvas-rgb: 246 247 249;
  --canvas-alt: #EDEFF3;
  --canvas-alt-rgb: 237 239 243;
  --card: #FFFFFF;
  --card-rgb: 255 255 255;
  --ink: #14161B;
  --ink-rgb: 20 22 27;
  --label: rgba(20,22,27,1);
  --label-n: rgba(20,22,27,0.88);
  --label-a: rgba(20,22,27,0.61);
  --label-as: rgba(20,22,27,0.28);
  --line: rgba(20,22,27,0.16);
  --line-strong: rgba(20,22,27,0.52);
  --signal: #4A6CF7;
  --signal-rgb: 74 108 247;
  --signal-fg: #3450C4;
  --signal-fg-rgb: 52 80 196;
  --cta: #3F5CE6;
  --cta-rgb: 63 92 230;
  --cta-hover: #3A5CE0;
  --cta-hover-rgb: 58 92 224;
  --live: #17C3A8;
  --live-rgb: 23 195 168;
  --live-fg: #097060;
  --live-fg-rgb: 9 112 96;
  --warning: #E3A53B;
  --warning-rgb: 227 165 59;
  --warning-fg: #8A5A0E;
  --warning-fg-rgb: 138 90 14;
  --error: #C0353E;
  --error-rgb: 192 53 62;
  --error-fg: #C0353E;
  --error-fg-rgb: 192 53 62;
  --error-fill: #C0353E;
  --error-fill-rgb: 192 53 62;
  --positive-fg: #17703F;
  --positive-fg-rgb: 23 112 63;
  --tint-info: #E9EDFD;
  --tint-info-rgb: 233 237 253;
  --tint-positive: #E9F6EF;
  --tint-positive-rgb: 233 246 239;
  --tint-warning: #FCF4E4;
  --tint-warning-rgb: 252 244 228;
  --tint-negative: #FBEAEB;
  --tint-negative-rgb: 251 234 235;
  --tint-live: #E5F8F3;
  --tint-live-rgb: 229 248 243;
  --static-white: #FFFFFF;
  --static-white-rgb: 255 255 255;
  --static-ink: #14161B;
  --static-ink-rgb: 20 22 27;
  --r-chip: 8px;
  --r-control: 12px;
  --r-card: 14px;
  --r-feature: 20px;
  --r-sheet: 34px;
  --r-pill: 9999px;
  --s-xs: 4px;
  --s-sm: 8px;
  --s-md: 12px;
  --s-lg: 16px;
  --s-gutter: 20px;
  --s-xl: 24px;
  --s-xxl: 32px;
  --t-instant: 120ms;
  --t-quick: 180ms;
  --t-standard: 240ms;
  --t-gentle: 320ms;
  --t-draw: 420ms;
  --ease-out: cubic-bezier(0.2,0.7,0.2,1);
  --ease-in-out: cubic-bezier(0.4,0,0.2,1);
}

/* The marketing site opts into dark deliberately (brand/foundation.md §3.3): the product is
   about quiet, private capture. Product surfaces follow the reader's system preference. */
:root[data-theme="dark"] {
  --canvas: #0E0F13;
  --canvas-rgb: 14 15 19;
  --canvas-alt: #16181D;
  --canvas-alt-rgb: 22 24 29;
  --card: #1B1E24;
  --card-rgb: 27 30 36;
  --ink: #F5F6F8;
  --ink-rgb: 245 246 248;
  --label: rgba(245,246,248,1);
  --label-n: rgba(245,246,248,0.88);
  --label-a: rgba(245,246,248,0.61);
  --label-as: rgba(245,246,248,0.28);
  --line: rgba(245,246,248,0.12);
  --line-strong: rgba(245,246,248,0.36);
  --signal: #5E7DF8;
  --signal-rgb: 94 125 248;
  --signal-fg: #A9BCFF;
  --signal-fg-rgb: 169 188 255;
  --cta: #3F5CE6;
  --cta-rgb: 63 92 230;
  --cta-hover: #3A5CE0;
  --cta-hover-rgb: 58 92 224;
  --live: #3FD9C0;
  --live-rgb: 63 217 192;
  --live-fg: #3FD9C0;
  --live-fg-rgb: 63 217 192;
  --warning: #E6B457;
  --warning-rgb: 230 180 87;
  --warning-fg: #E6B457;
  --warning-fg-rgb: 230 180 87;
  --error: #F08A8F;
  --error-rgb: 240 138 143;
  --error-fg: #F08A8F;
  --error-fg-rgb: 240 138 143;
  --error-fill: #C0353E;
  --error-fill-rgb: 192 53 62;
  --positive-fg: #4FD08A;
  --positive-fg-rgb: 79 208 138;
  --tint-info: #1C2340;
  --tint-info-rgb: 28 35 64;
  --tint-positive: #15291C;
  --tint-positive-rgb: 21 41 28;
  --tint-warning: #2C2413;
  --tint-warning-rgb: 44 36 19;
  --tint-negative: #2E1719;
  --tint-negative-rgb: 46 23 25;
  --tint-live: #0F2622;
  --tint-live-rgb: 15 38 34;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --canvas: #0E0F13;
    --canvas-rgb: 14 15 19;
    --canvas-alt: #16181D;
    --canvas-alt-rgb: 22 24 29;
    --card: #1B1E24;
    --card-rgb: 27 30 36;
    --ink: #F5F6F8;
    --ink-rgb: 245 246 248;
    --label: rgba(245,246,248,1);
    --label-n: rgba(245,246,248,0.88);
    --label-a: rgba(245,246,248,0.61);
    --label-as: rgba(245,246,248,0.28);
    --line: rgba(245,246,248,0.12);
    --line-strong: rgba(245,246,248,0.36);
    --signal: #5E7DF8;
    --signal-rgb: 94 125 248;
    --signal-fg: #A9BCFF;
    --signal-fg-rgb: 169 188 255;
    --cta: #3F5CE6;
    --cta-rgb: 63 92 230;
    --cta-hover: #3A5CE0;
    --cta-hover-rgb: 58 92 224;
    --live: #3FD9C0;
    --live-rgb: 63 217 192;
    --live-fg: #3FD9C0;
    --live-fg-rgb: 63 217 192;
    --warning: #E6B457;
    --warning-rgb: 230 180 87;
    --warning-fg: #E6B457;
    --warning-fg-rgb: 230 180 87;
    --error: #F08A8F;
    --error-rgb: 240 138 143;
    --error-fg: #F08A8F;
    --error-fg-rgb: 240 138 143;
    --error-fill: #C0353E;
    --error-fill-rgb: 192 53 62;
    --positive-fg: #4FD08A;
    --positive-fg-rgb: 79 208 138;
    --tint-info: #1C2340;
    --tint-info-rgb: 28 35 64;
    --tint-positive: #15291C;
    --tint-positive-rgb: 21 41 28;
    --tint-warning: #2C2413;
    --tint-warning-rgb: 44 36 19;
    --tint-negative: #2E1719;
    --tint-negative-rgb: 46 23 25;
    --tint-live: #0F2622;
    --tint-live-rgb: 15 38 34;
  }
}
