/* Article/Markdown typography styles - Mobile First */

/* Article Page Layout */
.article-container {
  max-width: 800px;
  margin: 0 auto;
}

.article-header {
  margin-bottom: var(--spacing-lg);
  padding-bottom: var(--spacing-md);
  border-bottom: 2px solid var(--border-color);
}

.article-header-title {
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: var(--spacing-sm);
}

@media (min-width: 768px) {
  .article-header-title {
    font-size: 2.25rem;
  }
}

/* Markdown Content Styles */
.markdown h1 {
  font-size: 1.5rem;
  font-weight: 600;
  margin: var(--spacing-lg) 0 var(--spacing-sm) 0;
  line-height: 1.3;
}

@media (min-width: 768px) {
  .markdown h1 {
    font-size: 2rem;
  }
}

.markdown h2 {
  font-size: 1.25rem;
  font-weight: 600;
  margin: var(--spacing-md) 0 var(--spacing-sm) 0;
  line-height: 1.3;
}

@media (min-width: 768px) {
  .markdown h2 {
    font-size: 1.5rem;
  }
}

.markdown h3 {
  font-size: 1.125rem;
  font-weight: 600;
  margin: var(--spacing-sm) 0 var(--spacing-xs) 0;
  line-height: 1.3;
}

@media (min-width: 768px) {
  .markdown h3 {
    font-size: 1.25rem;
  }
}

.markdown p {
  margin-bottom: var(--spacing-sm);
  line-height: 1.7;
  text-align: justify;
  hyphens: auto;
}

.markdown ul,
.markdown ol {
  margin: var(--spacing-sm) 0 var(--spacing-md) var(--spacing-md);
  line-height: 1.7;
}

@media (min-width: 768px) {
  .markdown ul,
  .markdown ol {
    margin-left: var(--spacing-lg);
  }
}

.markdown li {
  margin-bottom: var(--spacing-xs);
}

.markdown strong {
  font-weight: 600;
}

.markdown em {
  font-style: italic;
}

/* Code blocks */
pre.code-block {
  background: #f5f5f5;
  padding: var(--spacing-sm);
  border-radius: 4px;
  overflow: auto;
  margin: var(--spacing-sm) 0;
  font-size: 0.875rem;
  line-height: 1.5;
}

@media (min-width: 768px) {
  pre.code-block {
    padding: var(--spacing-md);
    font-size: 0.9375rem;
  }
}

/* Article Footer */
.article-footer {
  margin-top: var(--spacing-xl);
  padding-top: var(--spacing-lg);
  border-top: 1px solid var(--border-color);
  text-align: center;
}

.article-footer a {
  color: var(--text-secondary);
}

.article-footer a:hover {
  color: var(--link-color);
}

/* Dark Mode */
@media (prefers-color-scheme: dark) {
  pre.code-block {
    background: #2a2a2a;
    color: #e0e0e0;
  }
}
