@layer base {
  :root {
    color-scheme: light;
  }

  html,
  body {
    overflow-x: hidden;
    width: 100%;
  }

  body {
    background: var(--color-bg-black);
    color: var(--color-fg);
    font-size: var(--text-base);
    font-family: var(--font-base);
    line-height: var(--leading-normal);
  }

  a {
    color: var(--accent);
    transition: color var(--transition-fast);

    &:hover {
      color: var(--accent-2);
    }

    &:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 2px;
      border-radius: var(--radius-sm);
    }
  }

  /* 見出しベース */
  h1, h2, h3, h4, h5, h6 {
    font-weight: var(--font-bold);
  }

  h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); }
  h2 { font-size: clamp(1.5rem, 3.5vw, 2rem); }
  h3 { font-size: clamp(1.25rem, 3vw, 1.75rem); }
  h4 { font-size: 1.25rem; }
  h5 { font-size: 1.125rem; }
  h6 { font-size: 1rem; }

  /* WordPressコアクラス */
  .alignleft {
    float: left;
    margin-right: var(--space-4);
    margin-bottom: var(--space-4);
  }

  .alignright {
    float: right;
    margin-left: var(--space-4);
    margin-bottom: var(--space-4);
  }

  .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  .wp-caption {
    max-width: 100%;
  }

  .wp-caption-text {
    font-size: 0.875rem;
    margin-top: var(--space-2);
    text-align: center;
  }
}