/* AAI Labs design system tokens: colors, fonts, type scale, spacing, shadows. */

/* Fonts are subset to Latin + Latin Extended-A (incl. Lithuanian) and served as woff2. */
@font-face {
  font-family: "DM Sans";
  src: url("../fonts/DMSans-Variable.woff2") format("woff2");
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url("../fonts/IBMPlexSans-Variable.woff2") format("woff2");
  font-weight: 100 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("../fonts/IBMPlexMono-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("../fonts/IBMPlexMono-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("../fonts/IBMPlexMono-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Brand blue */
  --blue-50:  #f0f0ff;
  --blue-100: #e5e5ff;
  --blue-200: #c6c7f8;
  --blue-400: #3d3df5;
  --blue-500: #1414f2;
  --blue-600: #0000f0;
  --blue-700: #0a0dc2;
  --blue-800: #0a0a8f;

  /* Ink & neutrals */
  --ink:      #0a0a0a;
  --ink-2:    #1a1a1c;
  --grey-700: #45464b;
  --grey-600: #6b6c70;
  --grey-500: #929397;
  --grey-400: #b4b5b8;
  --grey-300: #d5d6d9;
  --grey-200: #e6e7ea;
  --grey-100: #f1f2f4;
  --grey-50:  #f8f9fa;
  --white:    #ffffff;

  --success: #0f9d58;
  --warning: #d98a00;
  --danger:  #d43535;

  /* Semantic aliases */
  --color-accent:       var(--blue-600);
  --color-accent-hover: var(--blue-700);
  --color-on-accent:    var(--white);

  --text-strong:  var(--ink);
  --text-body:    var(--grey-700);
  --text-muted:   var(--grey-600);
  --text-warning: #9a5c00;
  --text-accent:  var(--blue-600);

  --surface-page:   var(--white);
  --surface-subtle: var(--grey-50);
  --surface-card:   var(--white);
  --surface-tint:   var(--blue-50);
  --surface-ink:    var(--ink);

  --border-subtle: var(--grey-200);
  --border-strong: var(--ink);
  --border-accent: var(--blue-600);

  /* Typography */
  --font-sans: "IBM Plex Sans", system-ui, -apple-system, Helvetica, Arial, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --font-display: "DM Sans", var(--font-sans);
  --font-body: var(--font-sans);
  --font-label: var(--font-mono);

  --text-xs:   12px;
  --text-sm:   14px;
  --text-base: 16px;
  --text-md:   18px;
  --text-lg:   21px;

  --tracking-display: -0.02em;
  --tracking-tight:   -0.01em;
  --tracking-label:   0.14em;
  --tracking-wide:    0.06em;

  /* Radius */
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   14px;
  --radius-xl:   20px;
  --radius-pill: 999px;

  /* Shadows */
  --shadow-xs: 0 1px 2px rgba(10,10,10,0.05);
  --shadow-md: 0 4px 16px rgba(10,10,10,0.06), 0 1px 3px rgba(10,10,10,0.05);
  --shadow-lg: 0 18px 48px rgba(10,10,10,0.10), 0 4px 12px rgba(10,10,10,0.06);
  --shadow-focus: 0 0 0 3px rgba(0,0,240,0.18);

  /* Layout & motion */
  --container-max: 1200px;
  --container-pad: 32px;
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --ease: cubic-bezier(0.2, 0, 0, 1);
}
