/* GENERATED from brand/tokens. Run npm run brand:sync; do not edit. */
@font-face{font-family:"Geist";font-style:normal;font-display:swap;font-weight:100 900;src:url("/fonts/geist-latin-wght-normal.woff2") format("woff2-variations")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:400;src:url("/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:500;src:url("/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:600;src:url("/fonts/ibm-plex-mono-latin-600-normal.woff2") format("woff2")}

/* source: brand/tokens/colors.css */
/* Lazu canonical color tokens — Kumo Native / Warm Utility.
   LOCKED 2026-07-11. Default theme = LIGHT.
   Warm orange is the brand action color; semantic chroma remains state-only. */
:root {
  color-scheme: light;

  --lazu-page: #f8f8f6;
  --lazu-surface: #ffffff;
  --lazu-surface-muted: #f5f5f3;
  --lazu-surface-raised: #f0f0ee;
  --lazu-sidebar: #ffffff;
  --lazu-border: #e1e0dc;
  --lazu-border-strong: #cccac5;

  --lazu-ink: #20201d;
  --lazu-text-muted: #6f6e68;
  --lazu-text-faint: #9a9993;

  --lazu-action: #f27828;
  --lazu-action-hover: #d9631f;
  --lazu-action-soft: #fff0e5;
  --lazu-on-action: #ffffff;
  --lazu-on-success: #ffffff;
  --lazu-on-danger: #ffffff;
  --lazu-overlay-scrim: rgba(23, 23, 21, 0.54);
  --lazu-control-knob: #ffffff;
  --lazu-code-bg: #1a1a18;
  --lazu-code-text: #f3f2ed;
  --lazu-code-muted: #aaa89f;

  --lazu-chart-1: #f27828;
  --lazu-chart-2: #4c78a0;
  --lazu-chart-3: #8b8a84;

  --lazu-success: #29845f;
  --lazu-success-soft: #e5f3ec;
  --lazu-warning: #ba7625;
  --lazu-warning-soft: #f8eedc;
  --lazu-danger: #c2534b;
  --lazu-danger-soft: #f8e7e5;

  --ui-bg: var(--lazu-page);
  --ui-surface: var(--lazu-surface);
  --ui-surface-muted: var(--lazu-surface-muted);
  --ui-border: var(--lazu-border);
  --ui-text: var(--lazu-ink);
  --ui-text-muted: var(--lazu-text-muted);
  --ui-accent: var(--lazu-action);
  --ui-success: var(--lazu-success);
  --ui-warning: var(--lazu-warning);
  --ui-danger: var(--lazu-danger);
}

[data-theme="dark"],
html.dark,
body[theme-mode="dark"] {
  color-scheme: dark;

  --lazu-page: #171715;
  --lazu-surface: #1e1e1b;
  --lazu-surface-muted: #252522;
  --lazu-surface-raised: #2b2b27;
  --lazu-sidebar: #141412;
  --lazu-border: #34342f;
  --lazu-border-strong: #4a4942;

  --lazu-ink: #f3f2ed;
  --lazu-text-muted: #b4b2aa;
  --lazu-text-faint: #77756f;

  --lazu-action: #ff8a45;
  --lazu-action-hover: #ff9a5f;
  --lazu-action-soft: #3b251a;
  --lazu-on-action: #1b120d;
  --lazu-on-success: #101a14;
  --lazu-on-danger: #21100f;
  --lazu-overlay-scrim: rgba(0, 0, 0, 0.54);
  --lazu-control-knob: #f3f2ed;
  --lazu-code-bg: #1a1a18;
  --lazu-code-text: #f3f2ed;
  --lazu-code-muted: #aaa89f;

  --lazu-chart-1: #ff8a45;
  --lazu-chart-2: #7ea0be;
  --lazu-chart-3: #908e86;

  --lazu-success: #62c495;
  --lazu-success-soft: #173327;
  --lazu-warning: #e7ad5e;
  --lazu-warning-soft: #3a2b16;
  --lazu-danger: #eb817b;
  --lazu-danger-soft: #3a2020;
}


/* source: brand/tokens/data-viz.css */
/* Kumo Native data grammar.
   Orange = current primary evidence; blue = secondary evidence.
   Categories identify models/providers and never communicate health. */
:root {
  --lazu-data-orange: #F27828;
  --lazu-data-blue: #4C78A0;
  --lazu-data-teal: #4F807B;
  --lazu-data-plum: #795F91;
  --lazu-data-clay: #A46852;
  --lazu-data-olive: #777A58;
  --lazu-data-steel: #717B83;
  --lazu-data-grid: #E4E3DF;
  --lazu-data-area: rgba(242, 120, 40, .12);
}

[data-theme="dark"],
body[theme-mode="dark"] {
  --lazu-data-orange: #FF8A45;
  --lazu-data-blue: #7EA0BE;
  --lazu-data-teal: #75A69F;
  --lazu-data-plum: #A88EB8;
  --lazu-data-clay: #C08D77;
  --lazu-data-olive: #9DA274;
  --lazu-data-steel: #A0A4A7;
  --lazu-data-grid: #302F2B;
  --lazu-data-area: rgba(255, 138, 69, .14);
}


/* source: brand/tokens/ui.css */
/* Lazu product UI tokens — Kumo Native / Warm Utility. LOCKED 2026-07-11. */
:root {
  --lazu-font-sans: "Geist", -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Noto Sans SC", sans-serif; /* @kind font */
  --lazu-font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", "Cascadia Code", Menlo, Consolas, monospace; /* @kind font */

  --lazu-radius-control: 7px;
  --lazu-radius-surface: 7px;
  --lazu-radius-overlay: 11px;
  --lazu-radius-badge: 5px;
  --lazu-radius-pill: 999px;

  --lazu-space-1: 4px;
  --lazu-space-2: 8px;
  --lazu-space-3: 12px;
  --lazu-space-4: 16px;
  --lazu-space-5: 20px;
  --lazu-space-6: 24px;
  --lazu-space-7: 28px;
  --lazu-space-8: 32px;

  --lazu-control-height-sm: 30px;
  --lazu-control-height: 34px;
  --lazu-control-height-lg: 38px;
  --lazu-row-height: 40px;
  --lazu-sidebar-width: 244px;

  --lazu-icon-stroke: 1.5; /* @kind other */
  --lazu-hairline: 1px;
  --lazu-shadow-overlay: 0 18px 42px rgba(46, 43, 36, .12);
  --lazu-shadow-action: 0 6px 14px rgba(180, 83, 42, .16);

  --lazu-motion-fast: 120ms; /* @kind other */
  --lazu-motion-base: 180ms; /* @kind other */
  --lazu-motion-slow: 240ms; /* @kind other */
  --lazu-ease-direct: cubic-bezier(.2, .8, .2, 1); /* @kind other */
  --lazu-ease-mechanical: var(--lazu-ease-direct); /* @kind other */ /* compatibility alias */
}


/* source: brand/tokens/public-web.css */
/* Lazu public web tokens — Kumo Native / Mono Utility. LOCKED 2026-07-11. */
:root {
  /* 01–03 · typography */
  --lazu-web-font-display: var(--lazu-font-mono); /* @kind font */
  --lazu-web-font-reading: var(--lazu-font-sans); /* @kind font */
  --lazu-web-landing-font-headline: 'Inter Tight', var(--lazu-font-sans); /* @kind font */
  --lazu-web-landing-font-reading: 'Inter', var(--lazu-font-sans); /* @kind font */
  --lazu-web-landing-font-mono: 'JetBrains Mono', var(--lazu-font-mono); /* @kind font */
  --lazu-web-display-size: clamp(42px, 5.2vw, 72px);
  --lazu-web-display-line-height: 1.02; /* @kind other */
  --lazu-web-display-tracking: -0.055em;
  --lazu-web-h1-size: clamp(36px, 4vw, 56px);
  --lazu-web-h2-size: clamp(30px, 3vw, 42px);
  --lazu-web-h3-size: clamp(22px, 2vw, 28px);
  --lazu-web-body-size: 17px;
  --lazu-web-body-line-height: 1.75; /* @kind other */
  --lazu-web-reading-width: 720px;

  /* 04–06 · layout */
  --lazu-web-container: 1280px;
  --lazu-web-columns: 12; /* @kind other */
  --lazu-web-gutter: 24px;
  --lazu-web-page-padding: clamp(20px, 4vw, 48px);
  --lazu-web-section-gap: clamp(72px, 9vw, 120px);
  --lazu-web-section-gap-compact: clamp(48px, 6vw, 80px);

  /* 07–15 · public chrome */
  --lazu-web-header-height: 58px;
  --lazu-web-announcement-height: 32px;
  --lazu-web-footer-columns: 4; /* @kind other */
  --lazu-web-mobile-sheet-radius: 16px;
  --lazu-web-mobile-sheet-max-height: 82dvh; /* @kind other */

  /* 26–40 · public components */
  --lazu-web-field-height: 44px;
  --lazu-web-button-height: 40px;
  --lazu-web-badge-radius: var(--lazu-radius-badge);
  --lazu-web-table-row-height: 48px;
  --lazu-web-side-sheet-width: min(520px, 92vw);
  --lazu-web-toast-center-width: min(440px, calc(100vw - 32px));

  /* Established lazu.ai homepage surface.
     These semantic tokens preserve the public landing composition without
     letting production page CSS redefine Brand color or elevation values. */
  --lazu-web-landing-bg: #efe6d8;
  --lazu-web-landing-paper: #f7f0e3;
  --lazu-web-landing-ink: #1a130e;
  --lazu-web-landing-ink-secondary: #3a2c20;
  --lazu-web-landing-muted: #8a7c6a;
  --lazu-web-landing-muted-faint: #b8aa95;
  --lazu-web-landing-line: rgba(26, 19, 14, 0.1);
  --lazu-web-landing-line-strong: rgba(26, 19, 14, 0.18);
  --lazu-web-landing-grid: rgba(26, 19, 14, 0.05);
  --lazu-web-landing-action: #d97757;
  --lazu-web-landing-action-hover: #b95a3c;
  --lazu-web-landing-on-action: #000000;
  --lazu-web-landing-action-soft: rgba(217, 119, 87, 0.14);
  --lazu-web-landing-action-glow: rgba(217, 119, 87, 0.45);
  --lazu-web-landing-success: oklch(64% 0.1 145);
  --lazu-web-landing-card: #ffffff;
  --lazu-web-landing-card-edge: rgba(26, 19, 14, 0.08);
  --lazu-web-landing-shadow-subtle:
    0 1px 0 rgba(26, 19, 14, 0.04), 0 1px 2px rgba(26, 19, 14, 0.04);
  --lazu-web-landing-shadow-raised:
    0 1px 0 rgba(26, 19, 14, 0.05), 0 8px 28px -10px rgba(26, 19, 14, 0.18);
  --lazu-web-landing-spotlight-strong: rgba(217, 119, 87, 0.28);
  --lazu-web-landing-spotlight-soft: rgba(217, 119, 87, 0.1);
  --lazu-web-landing-vignette: rgba(0, 0, 0, 0.03);
  --lazu-web-landing-noise-opacity: 0.3;
}

[data-theme="dark"],
html.dark,
body[theme-mode="dark"] {
  --lazu-web-landing-bg: #0a0705;
  --lazu-web-landing-paper: #110d09;
  --lazu-web-landing-ink: #f3ebde;
  --lazu-web-landing-ink-secondary: #d4c8b3;
  --lazu-web-landing-muted: #8a7c6a;
  --lazu-web-landing-muted-faint: #5a4c3e;
  --lazu-web-landing-line: rgba(243, 235, 222, 0.09);
  --lazu-web-landing-line-strong: rgba(243, 235, 222, 0.18);
  --lazu-web-landing-grid: rgba(243, 235, 222, 0.05);
  --lazu-web-landing-action: #e58866;
  --lazu-web-landing-action-hover: #d97757;
  --lazu-web-landing-on-action: #000000;
  --lazu-web-landing-action-soft: rgba(229, 136, 102, 0.14);
  --lazu-web-landing-action-glow: rgba(229, 136, 102, 0.55);
  --lazu-web-landing-success: oklch(72% 0.12 150);
  --lazu-web-landing-card: #1a1410;
  --lazu-web-landing-card-edge: rgba(243, 235, 222, 0.1);
  --lazu-web-landing-shadow-subtle:
    0 1px 0 rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4);
  --lazu-web-landing-shadow-raised:
    0 2px 0 rgba(0, 0, 0, 0.4), 0 16px 40px -12px rgba(0, 0, 0, 0.6);
  --lazu-web-landing-spotlight-strong: rgba(229, 136, 102, 0.32);
  --lazu-web-landing-spotlight-soft: rgba(229, 136, 102, 0.1);
  --lazu-web-landing-vignette: rgba(0, 0, 0, 0.45);
  --lazu-web-landing-noise-opacity: 0.16;
}
