/* Tideline tokens — copied from design-system/design-system/tokens.css by `make tokens`. Do not edit here. */
@font-face { font-family: "Onest"; src: url("../fonts/Onest-VF.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Geist Mono"; src: url("../fonts/GeistMono-VF.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }

:root, [data-theme="day"] {
  --surface-page: #f5f4ef;
  --surface-card: #ffffff;
  --surface-sunken: #eeede7;
  --surface-inverse: #1c1c1a;
  --surface-overlay: #ffffff;
  --overlay-scrim: rgba(28, 28, 26, 0.48);
  --field-bg: #fbfaf7;
  --row-selected: var(--tide-100);
  --row-hover: #f5f4ef;
  --skeleton-bg: #ecebe5;
  --skeleton-shine: #f7f6f2;
  --backdrop-haze: #ddd4f2;
  --ink: #1c1c1a;
  --ink-muted: #65645e;
  --ink-subtle: #6e6d66;
  --text-disabled: #a8a7a0;
  --text-placeholder: var(--ink-muted);
  --ink-inverse: #f5f4ef;
  --ink-inverse-muted: #b5b4ad;
  --border-hairline: #e7e5dd;
  --border-control: #85837b;
  --border-disabled: #dcdbd4;
  --border-strong: var(--ink);
  --tide-500: #6a58e6;
  --on-tide: #ffffff;
  --tide-100: #e8e1fc;
  --tide-700: #4f38c4;
  --sky-100: #dce7fc;
  --sky-700: #244aa8;
  --coral-100: #fbdff2;
  --coral-500: #c01b96;
  --coral-700: #a3137f;
  --sand-100: #faf6c6;
  --sand-700: #655b0c;
  --kelp-400: #d6f26b;
  --on-kelp: #1c1c1a;
  --kelp-100: #eef7cc;
  --kelp-700: #465e0c;
  --neutral-100: #ecebe5;
  --neutral-700: #4c4b46;
  --signal-on-inverse: #d6f26b;
  --logo-line: #1c1c1a;
  --logo-accent: #6a58e6;
  --focus-ring: #6a58e6;
  --focus-ring-inverse: #d6f26b;
  --link-primary: var(--tide-500);
  --link-hover: var(--tide-700);
  --support-error: var(--coral-500);
  --support-warning: #8a6d00;
  --support-success: var(--kelp-700);
  --support-info: var(--sky-700);
  --support-error-bg: var(--coral-100);
  --support-warning-bg: var(--sand-100);
  --support-success-bg: var(--kelp-100);
  --support-info-bg: var(--sky-100);
  --chart-1: var(--tide-500);
  --chart-2: var(--coral-500);
  --chart-3: #76901a;
  --chart-4: #3a6ad6;
  --chart-5: #9a7812;
  --chart-grid: #ecebe5;
  --shadow-card: 0 1px 2px rgba(28, 28, 26, 0.04);
  --shadow-float: 0 8px 24px rgba(28, 28, 26, 0.10), 0 1px 3px rgba(28, 28, 26, 0.06);
  --shadow-shell: 0 40px 80px rgba(60, 40, 110, 0.18);
}
[data-theme="night"] {
  --surface-page: #121211;
  --surface-card: #1b1b19;
  --surface-sunken: #242421;
  --surface-inverse: #f1f0ea;
  --surface-overlay: #262623;
  --overlay-scrim: rgba(0, 0, 0, 0.64);
  --field-bg: #161615;
  --row-selected: var(--tide-100);
  --row-hover: #242421;
  --skeleton-bg: #262623;
  --skeleton-shine: #30302c;
  --backdrop-haze: #1a1726;
  --ink: #f1f0ea;
  --ink-muted: #aeada5;
  --ink-subtle: #9a9991;
  --text-disabled: #5c5b55;
  --text-placeholder: var(--ink-muted);
  --ink-inverse: #1c1c1a;
  --ink-inverse-muted: #55544e;
  --border-hairline: #2c2c29;
  --border-control: #76756d;
  --border-disabled: #33332f;
  --border-strong: var(--ink);
  --tide-500: #a497ff;
  --on-tide: #16122b;
  --tide-100: #2a2447;
  --tide-700: #cbc2ff;
  --sky-100: #1c2b47;
  --sky-700: #b0c8fa;
  --coral-100: #3d1934;
  --coral-500: #f06ccd;
  --coral-700: #f7b0e2;
  --sand-100: #37331a;
  --sand-700: #ece28a;
  --kelp-400: #d6f26b;
  --on-kelp: #1c1c1a;
  --kelp-100: #28331a;
  --kelp-700: #cde98a;
  --neutral-100: #2a2a27;
  --neutral-700: #c9c8c0;
  --signal-on-inverse: #5b45d8;
  --logo-line: #a497ff;
  --logo-accent: #f1f0ea;
  --focus-ring: #a497ff;
  --focus-ring-inverse: #6a58e6;
  --link-primary: var(--tide-500);
  --link-hover: var(--tide-700);
  --support-error: var(--coral-500);
  --support-warning: #e8c547;
  --support-success: var(--kelp-700);
  --support-info: var(--sky-700);
  --support-error-bg: var(--coral-100);
  --support-warning-bg: var(--sand-100);
  --support-success-bg: var(--kelp-100);
  --support-info-bg: var(--sky-100);
  --chart-1: var(--tide-500);
  --chart-2: var(--coral-500);
  --chart-3: #b9d84a;
  --chart-4: #7aa2f7;
  --chart-5: #e0b84a;
  --chart-grid: #2c2c29;
  --shadow-card: 0 0 0 1px rgba(255, 255, 255, 0.03);
  --shadow-float: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-shell: 0 40px 80px rgba(0, 0, 0, 0.6);
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
  --surface-page: #121211;
  --surface-card: #1b1b19;
  --surface-sunken: #242421;
  --surface-inverse: #f1f0ea;
  --surface-overlay: #262623;
  --overlay-scrim: rgba(0, 0, 0, 0.64);
  --field-bg: #161615;
  --row-selected: var(--tide-100);
  --row-hover: #242421;
  --skeleton-bg: #262623;
  --skeleton-shine: #30302c;
  --backdrop-haze: #1a1726;
  --ink: #f1f0ea;
  --ink-muted: #aeada5;
  --ink-subtle: #9a9991;
  --text-disabled: #5c5b55;
  --text-placeholder: var(--ink-muted);
  --ink-inverse: #1c1c1a;
  --ink-inverse-muted: #55544e;
  --border-hairline: #2c2c29;
  --border-control: #76756d;
  --border-disabled: #33332f;
  --border-strong: var(--ink);
  --tide-500: #a497ff;
  --on-tide: #16122b;
  --tide-100: #2a2447;
  --tide-700: #cbc2ff;
  --sky-100: #1c2b47;
  --sky-700: #b0c8fa;
  --coral-100: #3d1934;
  --coral-500: #f06ccd;
  --coral-700: #f7b0e2;
  --sand-100: #37331a;
  --sand-700: #ece28a;
  --kelp-400: #d6f26b;
  --on-kelp: #1c1c1a;
  --kelp-100: #28331a;
  --kelp-700: #cde98a;
  --neutral-100: #2a2a27;
  --neutral-700: #c9c8c0;
  --signal-on-inverse: #5b45d8;
  --logo-line: #a497ff;
  --logo-accent: #f1f0ea;
  --focus-ring: #a497ff;
  --focus-ring-inverse: #6a58e6;
  --link-primary: var(--tide-500);
  --link-hover: var(--tide-700);
  --support-error: var(--coral-500);
  --support-warning: #e8c547;
  --support-success: var(--kelp-700);
  --support-info: var(--sky-700);
  --support-error-bg: var(--coral-100);
  --support-warning-bg: var(--sand-100);
  --support-success-bg: var(--kelp-100);
  --support-info-bg: var(--sky-100);
  --chart-1: var(--tide-500);
  --chart-2: var(--coral-500);
  --chart-3: #b9d84a;
  --chart-4: #7aa2f7;
  --chart-5: #e0b84a;
  --chart-grid: #2c2c29;
  --shadow-card: 0 0 0 1px rgba(255, 255, 255, 0.03);
  --shadow-float: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-shell: 0 40px 80px rgba(0, 0, 0, 0.6);
    color-scheme: dark;
  }
}
:root {
  --space-0-5: 2px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 24px;
  --radius-xl: 40px;
  --radius-pill: 999px;
  --size-control-sm: 32px;
  --size-control-md: 44px;
  --size-control-lg: 52px;
  --size-nav: 48px;
  --size-icon: 20px;
  --duration-fast-01: 70ms;
  --duration-fast-02: 110ms;
  --duration-moderate-01: 150ms;
  --duration-moderate-02: 240ms;
  --duration-slow-01: 400ms;
  --duration-slow-02: 700ms;
  --ease-standard: cubic-bezier(0.2, 0, 0.38, 0.9);
  --ease-entrance: cubic-bezier(0, 0, 0.38, 0.9);
  --ease-exit: cubic-bezier(0.2, 0, 1, 0.9);
  --ease-standard-expressive: cubic-bezier(0.4, 0.14, 0.3, 1);
  --ease-entrance-expressive: cubic-bezier(0, 0, 0.3, 1);
  --ease-exit-expressive: cubic-bezier(0.4, 0.14, 1, 1);
  --z-sticky: 100;
  --z-dropdown: 200;
  --z-panel: 700;
  --z-modal: 800;
  --z-toast: 900;
  --z-tooltip: 1000;
  --bp-sm: 320px;
  --bp-md: 672px;
  --bp-lg: 1056px;
  --bp-xl: 1312px;
  --bp-max: 1584px;
  --opacity-disabled: 0.45;
  --font-sans: "Onest", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
}
.display-xl { font-family: var(--font-sans); font-size: 48px; line-height: 52px; font-weight: 550; letter-spacing: -0.03em; }
.display { font-family: var(--font-sans); font-size: 34px; line-height: 40px; font-weight: 500; letter-spacing: -0.025em; }
.title { font-family: var(--font-sans); font-size: 24px; line-height: 30px; font-weight: 500; letter-spacing: -0.02em; }
.metric { font-family: var(--font-sans); font-size: 20px; line-height: 26px; font-weight: 500; letter-spacing: -0.01em; }
.metric-sm { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 400; }
.body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 26px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 15px; line-height: 22px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 500; }
.caption { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 400; }
.micro { font-family: var(--font-sans); font-size: 11px; line-height: 14px; font-weight: 500; letter-spacing: 0.01em; }
.mono { font-family: var(--font-mono); font-size: 13px; line-height: 20px; font-weight: 450; }
.mono-sm { font-family: var(--font-mono); font-size: 11px; line-height: 16px; font-weight: 500; letter-spacing: 0.02em; }
