


    body {
      font-family: var(--font-sans);
      background-color: var(--bg);
      color: var(--text);
      transition: background-color 0.2s ease, color 0.2s ease;
      -webkit-font-smoothing: antialiased;
    }

    .font-serif {
      font-family: var(--font-serif);
    }

    /* Screen transition simulation */
    .screen-fade-slide {
      animation: quietEnter 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }

    @keyframes quietEnter {
      from {
        opacity: 0;
        transform: translateY(6px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *, ::before, ::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
      }
      .screen-fade-slide {
        animation: simpleFade 0.15s ease forwards;
      }
      @keyframes simpleFade {
        from { opacity: 0; }
        to { opacity: 1; }
      }
    }

    .focus-ring-styled:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 2px;
      box-shadow: 0 0 0 3px var(--focus-ring);
    }

    /* Custom scrollbar */
    ::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    ::-webkit-scrollbar-track {
      background: transparent;
    }
    ::-webkit-scrollbar-thumb {
      background: var(--border);
      border-radius: 4px;
    }
  