/* AdLinkt design tokens. Generated by design-system/scripts/build-tokens.mjs from design-system/tokens/tokens.source.json. Do not edit. */

@font-face {
  font-family: "Geist";
  src: url("../fonts/Geist-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: "Geist Mono";
  src: url("../fonts/GeistMono-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
}

/* Theme: Night (dark) */
:root,
[data-theme="dark"] {
  color-scheme: dark;

  /* surface */
  --ground: #141414;
  --group: #1E1E1E;
  --raised: #282828;
  --raised-2: #333333;
  --control: #303030;
  --control-raised: #373737;
  --call-fill: #2A2A2A;
  --tile-ground: #222222;
  --tile-card: #2B2B2B;
  --line: #2D2D2D;
  --line-raised: #404040;
  --control-hover: #383838;
  --control-hover-raised: #3D3D3D;
  --call-fill-hover: #333333;
  --group-hover: #242424;
  --icon-tile: var(--tile-ground);
  --sk: var(--raised);
  --knockout: var(--ground);
  --monogram-more: #343434;
  --row-fresh: #2C3020;
  --seg-track: var(--group);
  --seg-thumb: #474747;
  --seg-thumb-sheet: #505050;
  --switch-off: #404040;
  --toast-plate: #F5F5F5;

  /* text */
  --text: #F5F5F5;
  --text-2: #A9A9A9;
  --text-2-raised: #C6C6C6;
  --text-3: #969696;
  --unlit: #7F7F7F;
  --toast-text: #141414;

  /* signal */
  --accent: #C5F73B;
  --accent-press: #B0E000;
  --accent-hover: #BAEB27;
  --on-accent: #141414;
  --accent-tint: rgba(197, 247, 59, 0.10);
  --warning: #F59E0B;
  --danger: #EF4444;
  --danger-ink: #F98585;
  --focus: var(--accent);

  /* chart */
  --lc-bar: #737373;
  --lc-zero: #383838;
  --lc-grid: #333333;
  --bench-track: #2B2B2B;
  --bench-band: #4E4E4E;
  --lc-sel: var(--text);
  --lc-lit: var(--accent);
  --lc-cursor: var(--text-3);
  --lc-missing: var(--text-3);
  --g-track: var(--line-raised);
  --g-fill: var(--text);
  --bench-median: var(--text-3);
  --bench-you: var(--text);

  /* material-edge */
  --raised-edge: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  --btn2-ring: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  --press: rgba(255, 255, 255, 0.05);
  --press-raised: rgba(255, 255, 255, 0.08);
  --monogram: linear-gradient(180deg, #424242, #2B2B2B);
  --monogram-raised: linear-gradient(180deg, #4B4B4B, #343434);
  --monogram-edge: inset 0 0 0 1px rgba(255, 255, 255, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.09);
  --scrim: rgba(0, 0, 0, 0.6);
  --shadow-float: 0 16px 32px -16px rgba(0, 0, 0, 0.7);
  --shadow-modal: 0 -12px 40px -16px rgba(0, 0, 0, 0.6);
  --toast-action: #4D6300;
  --segment-ring: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  --seg-thumb-edge: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 2px rgba(0, 0, 0, 0.5);
  --shadow-alert: 0 24px 48px -16px rgba(0, 0, 0, 0.6);
  --shadow-jump: 0 4px 16px rgba(0, 0, 0, 0.45);
  --shadow-switch: 0 2px 4px rgba(0, 0, 0, 0.3);
  --field-focus-ring: 0 0 0 2px var(--ground), 0 0 0 4px var(--focus);

  /* website */
  --web-field-lime: var(--accent);
  --web-on-lime: var(--on-accent);
  --web-field-grey: #7A7A7A;
}

/* Theme "light" is not designed. It has no values and no rule. */

/* Values that do not change with the theme */
:root {
  /* type */
  --font: "Geist", ui-sans-serif, -apple-system, "SF Pro Text", system-ui, sans-serif;
  --mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --font-sans: var(--font);
  --font-mono: var(--mono);

  /* shape */
  --r-surface: 20px;
  --r-sheet: 32px;
  --r-control: 12px;
  --r-tile: 10px;
  --r-mark: 2px;
  --r-circle: 50%;

  /* space */
  --gutter: 24px;
  --section: 32px;
  --group-gap: 24px;
  --pad: 24px;
  --row-y: 12px;
  --row-x: 16px;
  --head-gap: 12px;
  --separator-inset: 72px;
  --inset: 40px;
  --inset-narrow: 32px;
  --target: 44px;

  /* layout */
  --icon-size: 20px;
  --sidebar-w: 232px;
  --sidebar-w-narrow: 208px;
  --sidebar-w-rail: 72px;
  --topbar-h: 64px;
  --content-max: 1136px;
  --list-pane-w: 464px;
  --list-pane-w-narrow: 400px;
  --list-pane-w-rail: 352px;
  --thread-max: 720px;
  --scroll-fade: 16px;

  /* motion */
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --dur-press: 140ms;
  --dur-tint: 100ms;
  --dur-toast-in: 200ms;
  --dur-toast-out: 150ms;
  --dur-toast-dwell: 5000ms;
  --dur-toast-dwell-undo: 8000ms;
  --dur-dialog-in: 200ms;
  --dur-dialog-out: 150ms;
  --dur-sheet-open: 440ms;
  --dur-sheet-close: 260ms;
  --dur-swap-out: 120ms;
  --dur-swap-in: 160ms;
  --dur-segment: 200ms;
  --dur-switch: 200ms;
  --dur-float-in: 200ms;
  --dur-float-out: 150ms;
  --dur-chart-bar: 240ms;
  --dur-chart-stagger: 2ms;
  --dur-chart-today: 60ms;
  --dur-health-sweep: 900ms;
  --dur-done-frame: 300ms;
  --dur-done-tick: 420ms;
  --dur-done-delay: 120ms;
  --dur-booked-line: 280ms;
  --dur-booked-stagger: 90ms;
  --dur-arrive: 200ms;
  --dur-word-run: 170ms;
  --dur-travel: 320ms;
  --dur-pulse: 1000ms;
  --dur-fresh-row: 1200ms;
  --dur-reduced-sheet: 200ms;
  --dur-reduced-fade: 150ms;

  /* layer */
  --z-bar: 40;
  --z-float: 41;
  --z-toast: 55;
  --z-sheet: 60;
  --z-chrome: 90;
  --z-dialog: 65;
  --z-toast-top: 75;

  /* state */
  --opacity-disabled: 0.45;
  --opacity-stale-bar: 0.5;
  --opacity-stale-ring: 0.55;
  --scale-press-primary: 0.98;
  --scale-press: 0.97;
  --scale-press-avatar: 0.96;
  --scale-press-circle: 0.95;

  /* website */
  --web-max: 1200px;
  --web-inset-min: 16px;
  --web-inset-max: 80px;
  --web-lead-measure: 42em;
  --web-measure: 680px;
  --web-cut: 24px;
  --web-bp-tablet: 720px;
  --web-bp-desktop: 1024px;
  --web-bp-wide: 1440px;
  --web-section: 72px;
  --web-gap: 24px;
  --web-gap-wide: 48px;
}

/* Increased contrast. Declared before the surface scopes so a scope still wins on an element that carries both. */
@media (prefers-contrast: more) {
  :root,
  [data-theme="dark"] {
    --line: #4A4A4A;
    --line-raised: #5C5C5C;
    --text-2: #D4D4D4;
    --text-2-raised: #D4D4D4;
    --text-3: #BDBDBD;
  }
}

/* Reduced motion: gentler, not none. Fades stay and movement is dropped. These durations change here,
   so a component's timing follows with no second rule; the component still drops its own movement
   (a slide, a rise, a scale, a draw) and keeps the fade. 0ms means at once. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-press: 0ms;
    --dur-segment: 0ms;
    --dur-switch: 0ms;
    --dur-sheet-open: var(--dur-reduced-sheet);
    --dur-sheet-close: var(--dur-reduced-sheet);
    --dur-chart-bar: 0ms;
    --dur-chart-stagger: 0ms;
    --dur-chart-today: 0ms;
    --dur-health-sweep: 0ms;
    --dur-done-frame: var(--dur-reduced-fade);
    --dur-done-tick: var(--dur-reduced-fade);
    --dur-done-delay: 0ms;
    --dur-arrive: var(--dur-reduced-fade);
  }
}

/* Surface scopes. The element that paints a surface carries data-surface; everything inside reads the
   same token names. No component takes a surface prop.
   raised, sheet, raised-2: each declares its whole set, less anything its own comment lists as not bound,
   so the nearest of them wins however they nest.
   group, toast: each declares only what steps there. Neither puts the ground's values back, so a
   Carbon list inside a raised surface keeps that surface's values. No source nests them. */
/* group: A Carbon grouped list or the disconnected alert row, on the ground. Secondary text, hairlines, controls and the light's centre dot keep their ground values here. It declares only the icon tile, so inside a raised surface it does not put the ground values back. */
[data-surface="group"] {
  --icon-tile: var(--tile-card);
}

/* raised: A raised card (the briefing, the booked card, the lead hero, the restore card), the centred alert, and the open lead's row plate. */
[data-surface="raised"] {
  --text-2: var(--text-2-raised);
  --line: var(--line-raised);
  --control: var(--control-raised);
  --control-hover: var(--control-hover-raised);
  --call-fill: var(--control-raised);
  --icon-tile: var(--tile-card);
  --sk: var(--raised-2);
  --monogram: var(--monogram-raised);
  --press: var(--press-raised);
  --knockout: var(--raised);
}

/* sheet: A sheet. It is a raised surface, and the preview steps five more tokens inside it. */
[data-surface="sheet"] {
  --text-2: var(--text-2-raised);
  --line: var(--line-raised);
  --control: var(--control-raised);
  --control-hover: var(--control-hover-raised);
  --call-fill: var(--raised-2);
  --icon-tile: var(--control-raised);
  --sk: var(--raised-2);
  --monogram: var(--monogram-raised);
  --press: var(--press-raised);
  --knockout: var(--raised);
  --g-track: var(--control-raised);
  --seg-track: var(--raised-2);
  --seg-thumb: var(--seg-thumb-sheet);
}

/* raised-2: A card inside a sheet: a group of form rows. Secondary text, hairlines, the secondary control, the icon tile and the monogram take the sheet's values. A skeleton and a round icon button are not defined here. Not bound here: sk, call-fill. */
[data-surface="raised-2"] {
  --text-2: var(--text-2-raised);
  --line: var(--line-raised);
  --control: var(--control-raised);
  --control-hover: var(--control-hover-raised);
  --icon-tile: var(--control-raised);
  --monogram: var(--monogram-raised);
  --press: var(--press-raised);
  --knockout: var(--raised-2);
  --g-track: var(--control-raised);
  --seg-track: var(--raised-2);
  --seg-thumb: var(--seg-thumb-sheet);
}

/* toast: The toast's light plate. */
[data-surface="toast"] {
  --focus: var(--ground);
  --field-focus-ring: 0 0 0 2px var(--ground), 0 0 0 4px var(--focus);
}

/* Type roles. One class sets family, size, line-height, weight and tracking together. */
.type-result {
  font-family: var(--font);
  font-size: 44px;
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.035em;
  font-variant-numeric: tabular-nums;
}

.type-large-title {
  font-family: var(--font);
  font-size: 34px;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.type-statement {
  font-family: var(--font);
  font-size: 34px;
  line-height: 1.12;
  font-weight: 400;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.type-figure {
  font-family: var(--font);
  font-size: 24px;
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.type-section-head {
  font-family: var(--font);
  font-size: 20px;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.type-name {
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: 0;
}

.type-button {
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0;
}

.type-button-primary {
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.type-body {
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}

.type-secondary {
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}

.type-secondary-strong {
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0;
}

.type-status {
  font-family: var(--font);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

.type-label {
  font-family: var(--font);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}

.type-sheet-title {
  font-family: var(--font);
  font-size: 24px;
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: -0.025em;
}

.type-state-title {
  font-family: var(--font);
  font-size: 20px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0;
}

.type-top-bar-name {
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.type-badge {
  font-family: var(--font);
  font-size: 12px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0;
}

.type-initials-56 {
  font-family: var(--font);
  font-size: 20px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0;
}

.type-initials-44 {
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0;
}

.type-initials-32 {
  font-family: var(--font);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0;
}

.type-chart-axis {
  font-family: var(--mono);
  font-size: 11px;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

.type-web-hero {
  font-family: var(--font);
  font-size: clamp(44px, calc(4.8148vw + 26.667px), 96px);
  line-height: 1.02;
  font-weight: 400;
  letter-spacing: -0.035em;
}

.type-web-section-head {
  font-family: var(--font);
  font-size: clamp(34px, calc(3.5185vw + 21.333px), 72px);
  line-height: 1.04;
  font-weight: 400;
  letter-spacing: -0.03em;
}

.type-web-beat-head {
  font-family: var(--font);
  font-size: clamp(26px, calc(1.1111vw + 22px), 38px);
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: -0.03em;
}

.type-web-lead {
  font-family: var(--font);
  font-size: clamp(19px, calc(0.2778vw + 18px), 22px);
  line-height: 1.42;
  font-weight: 400;
  letter-spacing: 0;
}

.type-web-body {
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.45;
  font-weight: 400;
  letter-spacing: 0;
}

.type-web-label {
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}

.type-article-title, .web-prose h1 {
  font-family: var(--font);
  font-size: clamp(32px, calc(1.8519vw + 25.333px), 52px);
  line-height: 1.06;
  font-weight: 400;
  letter-spacing: -0.03em;
}

.type-article-h2, .web-prose h2 {
  font-family: var(--font);
  font-size: clamp(24px, calc(0.5556vw + 22px), 30px);
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.015em;
}

.type-article-h3, .web-prose h3 {
  font-family: var(--font);
  font-size: clamp(20px, calc(0.1852vw + 19.333px), 22px);
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.type-article-body, .web-prose p, .web-prose li, .web-prose blockquote {
  font-family: var(--font);
  font-size: clamp(17px, calc(0.0926vw + 16.667px), 18px);
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0;
}

.type-article-caption, .web-prose figcaption, .web-prose caption {
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.45;
  font-weight: 400;
  letter-spacing: 0;
}

.type-chart-readout {
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
