    .copy-icon {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin: 6px 8px;
      padding: 6px 4px 6px 11px;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
      font-size: 18px;
      line-height: 1.2;
      white-space: nowrap;
      user-select: none;
      cursor: pointer;
      background-color: #ffffff;
      border: 1px solid #cbd5e1;
      border-radius: 6px;
      transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    }

    .copy-icon:hover {
      background-color: #e8f5ff;
      border-color: #007bff;
    }

    .copy-icon::after {
      content: "";
      display: inline-block;
      width: 11px;
      height: 11px;
      background-color: currentColor;
      opacity: 0.2;
      transition: opacity 0.2s ease, transform 0.2s ease;
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") no-repeat center / contain;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") no-repeat center / contain;
    }

    .copy-icon:hover::after {
      opacity: 0.5;
    }

    .copy-icon.copied {
      color: #059669;
      background-color: #ecfdf5;
      border-color: #10b981;
    }

    .copy-icon.copied::after {
      opacity: 1;
      transform: scale(1.1);
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    }