/* Base Styles - Reset + Typography */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  transition: background-color var(--transition-slow), color var(--transition-slow),
    border-color var(--transition-slow);
}

body {
  font-family: "Eudoxus Sans", system-ui, sans-serif;
  background: var(--color-bg-light);
  margin: 0;
  padding: 0;
  min-height: 100vh;
}

body.dark {
  background: var(--color-bg-dark);
}

/* Typography */
h1 {
  font-weight: 700;
  font-size: 32px;
  color: var(--color-text-primary-light);
  margin: 0 0 var(--spacing-xs);
}

body:not(.dark) h1 {
  font-weight: 600;
  font-size: 28px;
  margin: 0 0 var(--spacing-lg);
}

body.dark h1 {
  color: var(--color-text-primary-dark);
  font-weight: 600;
  font-size: 28px;
  margin: 0 0 var(--spacing-lg);
}

.subtitle-light {
  font-size: var(--spacing-md);
  color: var(--color-text-tertiary-light);
  margin-bottom: var(--spacing-xl);
  line-height: 1.6;
  font-weight: 400;
}

body.dark .subtitle-light {
  color: var(--color-text-tertiary-dark);
}

.subtext {
  font-weight: 400;
  font-size: var(--spacing-md);
  color: var(--color-text-secondary-light);
  margin-bottom: var(--spacing-xl);
  line-height: 1.6;
}

body.dark .subtext {
  color: var(--color-text-secondary-dark);
}

.subtext a {
  color: var(--color-primary);
  text-decoration: none;
}

body:not(.dark) .subtext a {
  color: var(--color-primary-light);
}

.magic-title {
  font-weight: 700;
  font-size: var(--spacing-lg);
  color: var(--color-text-primary-light);
  margin-bottom: var(--spacing-md);
}

body:not(.dark) .magic-title {
  font-weight: 600;
  font-size: var(--spacing-lg);
  margin-bottom: var(--spacing-xs);
}

body.dark .magic-title {
  color: var(--color-text-primary-dark);
}

.helper-text {
  font-size: 14px;
  color: var(--color-text-tertiary-light);
  margin-bottom: var(--spacing-xl);
  line-height: 1.5;
}

body.dark .helper-text {
  color: var(--color-text-tertiary-dark);
}

