body {
      font-family: Inter, sans-serif;
    }

    .tool-card {
      background: #fff;
      border: 1px solid #e5e7eb;
      border-radius: 0.75rem;
      padding: 1.5rem;
      box-shadow: 0 3px 12px rgba(0, 0, 0, .04);
    }

    /* Rich text editor styles */
    #richTextEditor {
      min-height: 300px;
      max-height: 600px;
      overflow-y: auto;
      padding: 1rem;
      border: 1px solid #d1d5db;
      border-radius: 0.5rem;
      background: #fff;
      line-height: 1.6;
      font-size: 14px;
    }

    #richTextEditor:focus {
      outline: 2px solid #10b981;
      outline-offset: 2px;
    }

    #richTextEditor h1 {
      font-size: 2em;
      font-weight: bold;
      margin-top: 0.67em;
      margin-bottom: 0.67em;
    }

    #richTextEditor h2 {
      font-size: 1.5em;
      font-weight: bold;
      margin-top: 0.83em;
      margin-bottom: 0.83em;
    }

    #richTextEditor h3 {
      font-size: 1.17em;
      font-weight: bold;
      margin-top: 1em;
      margin-bottom: 1em;
    }

    #richTextEditor ul, #richTextEditor ol {
      margin-left: 2em;
      margin-top: 0.5em;
      margin-bottom: 0.5em;
    }

    #richTextEditor li {
      margin-bottom: 0.25em;
    }

    #richTextEditor p {
      margin-top: 0.5em;
      margin-bottom: 0.5em;
    }

    #richTextEditor strong {
      font-weight: bold;
    }

    #richTextEditor em {
      font-style: italic;
    }

    #richTextEditor u {
      text-decoration: underline;
    }

    #richTextEditor code {
      background-color: #f3f4f6;
      padding: 0.125rem 0.25rem;
      border-radius: 0.25rem;
      font-family: monospace;
      font-size: 0.9em;
    }

    #richTextEditor pre {
      background-color: #f3f4f6;
      padding: 1rem;
      border-radius: 0.5rem;
      overflow-x: auto;
      margin: 0.5em 0;
    }

    #richTextEditor blockquote {
      border-left: 4px solid #d1d5db;
      padding-left: 1rem;
      margin-left: 0;
      margin-right: 0;
      color: #6b7280;
    }

    .toolbar-btn {
      padding: 0.5rem 0.75rem;
      border: 1px solid #d1d5db;
      background: #fff;
      border-radius: 0.375rem;
      cursor: pointer;
      font-size: 0.875rem;
      transition: all 0.15s;
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
    }

    .toolbar-btn:hover {
      background: #f9fafb;
      border-color: #10b981;
    }

    .toolbar-btn.active {
      background: #10b981;
      color: white;
      border-color: #10b981;
    }

    .format-example {
      background: #f9fafb;
      border: 1px solid #e5e7eb;
      border-radius: 0.5rem;
      padding: 0.75rem;
      font-size: 0.875rem;
      margin-top: 0.5rem;
    }

    .spinner {
      border: 2px solid #f3f4f6;
      border-top: 2px solid #10b981;
      border-radius: 50%;
      width: 20px;
      height: 20px;
      animation: spin 1s linear infinite;
      display: inline-block;
    }

    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }
