@media (max-width: 1024px) {
  .post-layout {
    flex-direction: column;
    gap: var(--spacing-xl);
  }

  .toc-sidebar {
    width: 100%;
    order: -1;
  }

  .toc-nav {
    position: static;
  }

  .post-content {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .page-content {
    width: 100%;
  }

  :root {
    --spacing-lg: 1rem;
    --spacing-xl: 1.5rem;
    --spacing-2xl: 2rem;
  }

  html {
    font-size: 15px;
  }

  :root {
    --text-body: 1rem;
  }

  .post .post-title {
    font-size: 1.75rem;
  }

  .post-card .post-title {
    font-size: 1.25rem;
  }

  .post .post-description {
    max-width: 100%;
  }

  .prose h1 {
    font-size: 1.75rem;
  }
  .prose h2 {
    font-size: 1.375rem;
  }
  .prose h3 {
    font-size: 1.125rem;
  }

  .prose pre {
    margin-left: calc(-1 * var(--spacing-lg));
    margin-right: calc(-1 * var(--spacing-lg));
    border-radius: 0;
    padding: var(--spacing-md);
  }

  .highlight {
    margin-left: calc(-1 * var(--spacing-lg));
    margin-right: calc(-1 * var(--spacing-lg));
    border-radius: 0;
    padding: var(--spacing-md);
  }

  .toc-drawer-toggle {
    bottom: var(--spacing-lg);
    left: var(--spacing-lg);
  }

  .tag-filters {
    gap: var(--spacing-xs);
  }

  .post-tags {
    gap: var(--spacing-xs);
  }

  .toc-sidebar {
    display: none;
  }

  .toc-drawer-wrapper {
    display: block;
  }
}
