/* Font configurations for AIKolab */

/* Import premium fonts from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Inter:wght@300;400;500;600&family=Roboto+Mono:wght@400;500&display=swap');

/* Import Copernicus font - using Playfair Display as a similar serif alternative */
/* Note: If you have a specific Copernicus font file, replace this with the actual font import */

/* System Font Stack Definitions */
:root {
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  --font-serif: 'Playfair Display', Georgia, Cambria, 'Times New Roman', Times, serif;
  --font-mono: 'Roboto Mono', SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  --font-copernicus: 'Playfair Display', Georgia, 'Times New Roman', serif; /* Using Playfair Display as Copernicus alternative */
  
  /* Font weight variables */
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* Font size variables */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  
  /* Line height variables */
  --line-height-tight: 1.2;
  --line-height-snug: 1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  --line-height-loose: 2;
  
  /* Color variables for text */
  --text-200: #e5e7eb; /* Gray-200 for text-text-200 class */
}

/* Base font classes */
.font-sans {
  font-family: var(--font-sans);
}

.font-serif {
  font-family: var(--font-serif);
}

.font-mono {
  font-family: var(--font-mono);
}

/* Utility font weight classes */
.font-light {
  font-weight: var(--font-weight-light);
}

.font-normal {
  font-weight: var(--font-weight-regular);
}

.font-medium {
  font-weight: var(--font-weight-medium);
}

.font-semibold {
  font-weight: var(--font-weight-semibold);
}

.font-bold {
  font-weight: var(--font-weight-bold);
}

/* Text size utility classes */
.text-xs {
  font-size: var(--font-size-xs);
}

.text-sm {
  font-size: var(--font-size-sm);
}

.text-base {
  font-size: var(--font-size-base);
}

.text-lg {
  font-size: var(--font-size-lg);
}

.text-xl {
  font-size: var(--font-size-xl);
}

.text-2xl {
  font-size: var(--font-size-2xl);
}

.text-3xl {
  font-size: var(--font-size-3xl);
}

.text-4xl {
  font-size: var(--font-size-4xl);
}

/* Line height utility classes */
.leading-tight {
  line-height: var(--line-height-tight);
}

.leading-snug {
  line-height: var(--line-height-snug);
}

.leading-normal {
  line-height: var(--line-height-normal);
}

.leading-relaxed {
  line-height: var(--line-height-relaxed);
}

.leading-loose {
  line-height: var(--line-height-loose);
}

/* Special typography for DeepResearch component */
.deep-research-heading {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.01em;
}

.deep-research-content {
  font-family: var(--font-sans);
  line-height: var(--line-height-relaxed);
}

.deep-research-meta {
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  color: #6B7280;
}

/* Font smoothing for better rendering */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Copernicus font class */
.font-copernicus {
  font-family: var(--font-copernicus);
}

/* Text color utilities */
.text-text-200 {
  color: var(--text-200);
}

/* Width utilities */
.w-full {
  width: 100%;
}

/* Flexbox utilities */
.flex-col {
  flex-direction: column;
}

.items-center {
  align-items: center;
}

.text-center {
  text-align: center;
}

/* Tracking (letter-spacing) utilities */
.tracking-tight {
  letter-spacing: -0.025em;
}

/* Responsive text size utilities with clamp */
.text-3xl {
  font-size: clamp(1.875rem, 1.2rem + 2vw, 2.5rem);
  line-height: 1.5;
}

@media (min-width: 640px) {
  .sm\:text-4xl {
    font-size: 2.25rem;
  }
  
  .sm\:leading-snug {
    line-height: 1.375;
  }
  
  .sm\:-ml-0\.5 {
    margin-left: -0.125rem;
  }
  
  .sm\:block {
    display: block;
  }
}

@media (min-width: 768px) {
  .md\:text-\[2\.5rem\] {
    font-size: 2.5rem;
  }
}

@media (max-width: 768px) {
  .max-md\:flex {
    display: flex;
  }
}

/* Transition utilities */
.transition-opacity {
  transition-property: opacity;
}

.duration-300 {
  transition-duration: 300ms;
}

.ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
} 
