/* CloviTek AI tokens.css - the ONE token file every page links. Generated; do not hand-edit. */
/* CloviTek AI color system - generated by color_system.py, do not hand-edit */
:root {
  --primary-50: #EBF3FC;
  --primary-100: #D7E7F9;
  --primary-200: #AFCEF3;
  --primary-300: #82B2EC;
  --primary-400: #438CE2;
  --primary-500: #0466D8;
  --primary-600: #0559BC;
  --primary-700: #064C9F;
  --primary-800: #073F82;
  --primary-900: #083266;
  --accent-50: #FFF9EC;
  --accent-100: #FEF4D8;
  --accent-200: #FEE9B1;
  --accent-300: #FDDC86;
  --accent-400: #FCCA49;
  --accent-500: #FBB90C;
  --accent-600: #D7A00E;
  --accent-700: #B38610;
  --accent-800: #8F6C12;
  --accent-900: #6A5314;
  --navy-50: #EBEEF2;
  --navy-100: #D7DDE6;
  --navy-200: #AFBBCC;
  --navy-300: #8296B0;
  --navy-400: #436188;
  --navy-500: #042C60;
  --navy-600: #052856;
  --navy-700: #06234B;
  --navy-800: #071F40;
  --navy-900: #081B36;
  --sky-50: #EFF7FB;
  --sky-100: #DFEFF7;
  --sky-200: #BFDFF0;
  --sky-300: #9CCEE8;
  --sky-400: #6AB5DC;
  --sky-500: #389CD0;
  --sky-600: #3187B5;
  --sky-700: #2A7299;
  --sky-800: #235D7E;
  --sky-900: #1C4763;
  --neutral-50: #F4F5F6;
  --neutral-100: #EAEBED;
  --neutral-200: #D4D7DA;
  --neutral-300: #BCC0C6;
  --neutral-400: #9AA0A9;
  --neutral-500: #79818C;
  --neutral-600: #68707B;
  --neutral-700: #585F6A;
  --neutral-800: #474E59;
  --neutral-900: #363D48;
  --color-bg: #FFFFFF;
  --color-surface: #F4F5F6;
  --color-border: #D4D7DA;
  --color-text: #0B1A2E;
  --color-text-muted: #68707B;
  --color-brand: #0466D8;
  --color-brand-text: #0466D8;
  --color-on-brand: #FFFFFF;
  --color-accent: #FBB90C;
  --color-accent-text: #976F07;
  --color-on-accent: #0B1A2E;
  --color-success: #12863D;
  --color-warning: #B26205;
  --color-danger: #DC2626;
  --color-info: #2D7DA6;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --color-bg: #0D1930;
  --color-surface: #1C273C;
  --color-border: #343E51;
  --color-text: #F2F6FB;
  --color-text-muted: #BCC0C6;
  --color-brand: #3685E0;
  --color-brand-text: #3685E0;
  --color-accent: #FBB90C;
  --color-accent-text: #FBB90C;
  --color-on-brand: #0B1A2E;
  --color-on-accent: #0B1A2E;
  --color-success: #16A34A;
  --color-warning: #D97706;
  --color-danger: #E24D4D;
  --color-info: #389CD0;
  color-scheme: dark; } }
:root[data-theme="dark"], [data-theme="dark"] {
  --color-bg: #0D1930;
  --color-surface: #1C273C;
  --color-border: #343E51;
  --color-text: #F2F6FB;
  --color-text-muted: #BCC0C6;
  --color-brand: #3685E0;
  --color-brand-text: #3685E0;
  --color-accent: #FBB90C;
  --color-accent-text: #FBB90C;
  --color-on-brand: #0B1A2E;
  --color-on-accent: #0B1A2E;
  --color-success: #16A34A;
  --color-warning: #D97706;
  --color-danger: #E24D4D;
  --color-info: #389CD0;
  color-scheme: dark; }
[data-theme="light"] {
  --color-bg: #FFFFFF;
  --color-surface: #F4F5F6;
  --color-border: #D4D7DA;
  --color-text: #0B1A2E;
  --color-text-muted: #68707B;
  --color-brand: #0466D8;
  --color-brand-text: #0466D8;
  --color-on-brand: #FFFFFF;
  --color-accent: #FBB90C;
  --color-accent-text: #976F07;
  --color-on-accent: #0B1A2E;
  --color-success: #12863D;
  --color-warning: #B26205;
  --color-danger: #DC2626;
  --color-info: #2D7DA6;
  color-scheme: light; }

/* CloviTek AI type system - generated by type_system.py, do not hand-edit */
@font-face{font-family:'Manrope';src:url('fonts/manrope/Manrope[wght].woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/ibmplexmono/IBMPlexMono-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/ibmplexmono/IBMPlexMono-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/ibmplexmono/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/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/IBMPlexMono-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root {
  --font-display: 'Manrope', system-ui, sans-serif;
  --font-body: 'Manrope', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, monospace;
  --text-caption: 0.875rem;  --leading-caption: 1.5;
  --text-body: 1.000rem;  --leading-body: 1.5;
  --text-lead: clamp(1.200rem, calc(1.200rem + 0.087vw - 0.020rem), 1.250rem);  --leading-lead: 1.5;
  --text-h4: clamp(1.438rem, calc(1.438rem + 0.217vw - 0.049rem), 1.562rem);  --leading-h4: 1.3;
  --text-h3: clamp(1.725rem, calc(1.725rem + 0.391vw - 0.088rem), 1.950rem);  --leading-h3: 1.3;
  --text-h2: clamp(2.075rem, calc(2.075rem + 0.641vw - 0.144rem), 2.444rem);  --leading-h2: 1.12;
  --text-h1: clamp(2.487rem, calc(2.487rem + 0.978vw - 0.220rem), 3.050rem);  --leading-h1: 1.12;
  --text-display: clamp(2.987rem, calc(2.987rem + 1.435vw - 0.323rem), 3.812rem);  --leading-display: 1.12;
}
.t-caption{font-family:var(--font-body);font-size:var(--text-caption);line-height:var(--leading-caption);font-weight:400}
.t-body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);font-weight:400}
.t-lead{font-family:var(--font-body);font-size:var(--text-lead);line-height:var(--leading-lead);font-weight:400}
.t-h4{font-family:var(--font-display);font-size:var(--text-h4);line-height:var(--leading-h4);font-weight:700}
.t-h3{font-family:var(--font-display);font-size:var(--text-h3);line-height:var(--leading-h3);font-weight:700}
.t-h2{font-family:var(--font-display);font-size:var(--text-h2);line-height:var(--leading-h2);font-weight:800}
.t-h1{font-family:var(--font-display);font-size:var(--text-h1);line-height:var(--leading-h1);font-weight:800}
.t-display{font-family:var(--font-display);font-size:var(--text-display);line-height:var(--leading-display);font-weight:800}
.t-mono{font-family:var(--font-mono);font-size:.875em;letter-spacing:.02em}
body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body)}

:root {
  --space-0: 0px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(11,26,46,.06), 0 1px 3px rgba(11,26,46,.08);
  --shadow-md: 0 4px 12px rgba(11,26,46,.08);
  --shadow-lg: 0 12px 32px rgba(11,26,46,.12);
  --motion-fast: 120ms;
  --motion-base: 200ms;
  --motion-slow: 320ms;
  --motion-ease: cubic-bezier(.2,.7,.2,1);
}
