/* ============================================
   Quiz Break - Fonts
   qb-fonts.css
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=Sora:wght@400;500;600;700&display=swap');

/* Fallback stacks */
:root {
  --qb-font-display: 'Outfit', 'Segoe UI', system-ui, sans-serif;
  --qb-font-body: 'Sora', 'Segoe UI', system-ui, sans-serif;
  --qb-font-mono: 'JetBrains Mono', 'Fira Code', monospace;
}

/* Display type scale */
.qb-display-xl {
  font-family: var(--qb-font-display);
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 900;
  line-height: 1.0;
  letter-spacing: -0.03em;
}

.qb-display-lg {
  font-family: var(--qb-font-display);
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.qb-display-md {
  font-family: var(--qb-font-display);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

/* Body type scale */
.qb-body-lg { font-size: 1.15rem; line-height: 1.8; }
.qb-body-md { font-size: 1rem; line-height: 1.75; }
.qb-body-sm { font-size: 0.88rem; line-height: 1.65; }
.qb-body-xs { font-size: 0.78rem; line-height: 1.6; }

/* Weight utilities */
.qb-fw-400 { font-weight: 400; }
.qb-fw-500 { font-weight: 500; }
.qb-fw-600 { font-weight: 600; }
.qb-fw-700 { font-weight: 700; }
.qb-fw-800 { font-weight: 800; }
.qb-fw-900 { font-weight: 900; }

/* Gradient text */
.qb-gradient-text {
  background: var(--qb-gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.qb-gradient-text-warm {
  background: var(--qb-gradient-warm);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.qb-gradient-text-teal {
  background: var(--qb-gradient-teal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Tracking */
.qb-tracking-wide { letter-spacing: 0.05em; }
.qb-tracking-wider { letter-spacing: 0.1em; }
.qb-tracking-widest { letter-spacing: 0.15em; }
